DETAILED ACTION
Response to Amendment
Claims 1-20 are pending.
Response to Arguments
Applicant’s arguments filed 03/18/2026 have been fully considered.
Regarding the rejection of claim 1 under 35 U.S.C. 103 as being unpatentable over Duan et al. (CN115473846A) in view of Menon et al. (US20210409322A1), Applicant argues on pages 13-14 neither Duan nor Menon teaches or suggests a further memory configured to store a plurality of further records, each further record comprising next-hop enable data indicating whether a respective destination IP address range may be reached directly or via the respective next-hop IP address.
Applicant’s arguments are not persuasive:
First, Duan discloses the alternative limitation “next-hop enable data indicating whether a respective IP address range may be reached directly or via the respective next-hop IP address” by showing in [page 5 lines 53-55] to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if the matching prefix is matched, then the next-hop routing and forwarding information is read.
Next, Menon remedies the deficiencies in Menon by disclosing both alternatives:
“the destination IP address when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached directly”: para [0052] shows a destination IP address of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B; para [0127] further explains that router 110I is an egress router that is connected (directly) to receiver client devices 100, or
“the next-hop IP address of the read further record when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached via the respective next-hop IP address”: para [0009] shows a destination IP address of a next-hop peer router; Fig 1 and para [0116] show next-hop peer router 110F to forward frame 300A (indirectly) to client device 100B (via links 16F, 16G and egress router 110I).
Therefore, Duan and Menon combined discloses the features above of claim 1.
As to any argument not specifically addressed, they are the same as those discussed above.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-6, 8-11, 13-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Duan et al. (CN115473846A) in view of Menon et al. (US20210409322A1).
Regarding claim 1, Duan discloses a processing system comprising (Fig 1A and [page 4 line 65] show a network of next-hop routers):
a hardware network accelerator, comprising ([page 2 lines 56-57; page 7 line 12] shows discrete hardware components that supports IPv6 address retrieval):
a plurality of communication interfaces ([page 7 line 47] shows communication connection may be through some interfaces);
a plurality of memories ([page 7 line 4]), wherein each of the plurality of memories is configured to store a plurality of first records [IP addresses], each first record comprising ([Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match):
enable data indicating whether the respective first record contains valid data ([page 4 lines 5-6] shows when data packets are forwarded, IPv6 addresses need to be retrieved in the FIB to match the next-hop interface; [page 5 line 12] shows conflict occurs if different data are indexed to the same address); and
internet protocol (IP) data identifying IP address range ([page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64);
a further memory, configured to store a plurality of further records [next-hop routing and forwarding information], wherein each first record is associated univocally with a respective further record ([page 5 lines 12, 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if the matching prefix is matched, then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match; conflict occurs if different data are indexed to the same address), and
wherein each further record comprises ([page 5 line 63] shows records in the external FIB storage pool):
next-hop data indicating a next-hop ([page 5 lines 52-55] shows next-hop routing and forwarding information);
next-hop enable data indicating whether a respective IP address range may be reached directly or via the respective next-hop IP address ([page 5 lines 53-55] shows to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if the matching prefix is matched, then the next-hop routing and forwarding information is read); and
access in parallel the plurality of memories in order to sequentially read at least in part the first records stored to each of the plurality of memories ([page 5 lines 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match);
compare the IP address with the IP data of the read first records containing valid data in order to select a first record having the IP address range containing IP address ([page 5 lines 52-55] shows according to the longest prefix matching mechanism, a parallel retrieval operation is performed to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base, and then the next-hop routing and forwarding information is read; [page 4 lines 5-6] shows IPv6 addresses need to be retrieved in the FIB to match the next-hop interface);
read the further record associated with the selected first record from the further memory ([page 5 lines 52-55] shows the next-hop routing and forwarding information is read); and
select one of the communication interfaces based on the read further record ([page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface); and
a communication system connecting a microprocessor to the hardware network accelerator ([page 7 lines 4-7] shows each functional unit may be integrated into one processing unit and a hardware unit); and
the microprocessor, configured to program the first records in the plurality of memories and the further records in the further memory ([col 6 lines 68-70] shows when the processor 50 executes the computer program 52, the steps in the retrieval method for each router forwarding information mentioned above are implemented.)
Duan fails to show:
a plurality of Ethernet communication interfaces;
destination internet protocol (IP) data identifying a destination IP address;
next-hop data indicating a next-hop IP address;
network port data indicating one of the plurality of Ethernet communication interfaces;
wherein each Ethernet communication interface is configured to:
obtain an IP packet comprising a destination IP address;
select one of the Ethernet communication interfaces based on the network port data of the read further record;
wherein the selected Ethernet communication interface is configured to:
determine a target IP address by selecting:
a) the destination IP address when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached directly, or
b) the next-hop IP address of the read further record when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached via the respective next-hop IP address;
determine a target media access control (MAC) address for the target IP address;
generate an Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address, and
a source MAC address configured for the selected Ethernet communication interface; and
transmit the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface.
However, Menon discloses:
a plurality of Ethernet communication interfaces (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
destination internet protocol (IP) data identifying a destination IP address (Fig 1 and para [0086] show routing engine 204 receives a packet for a forward packet flow originating from client device 100A and destined for client device 100B; para [0100] shows a destination IP address of client device 100B);
next-hop data indicating a next-hop IP address (para [0009] shows IP address of a next-hop peer router);
network port data indicating one of the plurality of Ethernet communication interfaces (para [0009] shows a destination port of a next-hop peer router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
wherein each Ethernet communication interface is configured to (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet):
obtain an IP packet comprising a destination IP address (para [0052] shows a packet comprising an header. The header may specify a destination IP address and a destination port of client device 100B);
select one of the Ethernet communication interfaces based on the network port data of the read further record (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet); para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B);
wherein the selected Ethernet communication interface is configured to (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting (para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B):
the destination IP address when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached directly (para [0052] shows a destination IP address of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B; para [0127] further explains that router 110I is an egress router that is connected (directly) to receiver client devices 100), or
the next-hop IP address of the read further record when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached via the respective next-hop IP address (para [0009] shows a destination IP address of a next-hop peer router; Fig 1 and para [0116] show next-hop peer router 110F to forward frame 300A (indirectly) to client device 100B (via links 16F, 16G and egress router 110I));
determine a target media access control (MAC) address for the target IP address (para [0050] shows a destination MAC address of client device 100B);
generate an Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0052] shows the destination MAC address of client device 100B obtained from the L2 frame), and
a source MAC address configured for the selected Ethernet communication interface (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0052] shows the source MAC address of client device 100A obtained from the L2 frame); and
transmit the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Duan with the teachings of Menon in order to improve the reliability and redundancy of across the network (Menon; para [0008]).
Regarding claim 2, Duan-Menon as applied to claim 1 discloses each first record comprises (Duan; [Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match):
a first data section comprising a first destination IP address included in the respective destination IP address range (Duan; [Abstract] and [page 5 lines 63-65] show storing the IP address of the packet input vectors in the corresponding first records in the FIB; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64), and
a first control data section comprising the enable data and a field for storing a subnet or network mask for the respective destination IP address range (Duan; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64 (e.g., masks correspond to a prefix length range of 1 to 32 or prefix length range of 33 to 64)); and
wherein each further record comprises:
a second data section comprising the next-hop IP address, and a second control data section comprising the next-hop enable data and the network port data (Duan; [page 5 lines 53-55] shows to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if there is If the matching prefix is matched, the address in the FIB storage pool is obtained according to the output result of the index structure, and then the next-hop routing and forwarding information is read. Menon; para [0009] shows a destination IP address and a destination port of a next-hop peer router).
Regarding claim 3, Duan-Menon as applied to claim 2 discloses the hardware network accelerator comprises an address translation and dispatcher circuit configured to manage an address map (Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths to obtain a corresponding cumulative distribution function value; sequencing the cumulative distribution functions according to the prefix length of the corresponding IP addresses from long to short; determining a mapping position corresponding to the current cumulative distribution function value based on a mapping table),
wherein each memory location in the plurality of memories and each memory location in the further memory is associated with a respective memory address in the address map (Duan; [Abstract] shows judging whether the mapping position has a memory address offset),
wherein the address translation and dispatcher circuit is configured to: receive a memory write request comprising a memory address in the address map and respective data to be stored; select one of the plurality of memories and the further memory based on the received memory address; select a memory location of the selected memory based on the received memory address; and store the data to be stored to the selected memory location of the selected memory (Duan; [Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing (e.g., writing) the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 4, Duan-Menon as applied to claim 3 discloses the memory address comprises a first field [storage pool address offset] (Duan; [page 4 line 67]), a second field [memory address offset] ([Abstract]) and a third field [address index] ([Abstract]);
wherein the first field indicates whether the received data should be stored to the plurality of memories or the further memory [storage pool address offset] (Duan; [page 4 lines 66-67] shows the next-hop router forwarding information in the storage pool in the off-chip storage unit address offset);
wherein, when the first field [storage pool address offset] indicates that the received data should be stored to the plurality of memories, the second field [memory address offset] indicates one first record in the plurality of memories, and the third field [address index] indicates whether the received data should be stored to the first data section or the one first control data section of the first record indicated by the second field (Duan; [page 4 lines 66-67] shows the next-hop router forwarding information in the storage pool in the off-chip storage unit address offset; [Abstract] shows an address index model corresponding to the prefix length of the IP address; the mapping position has a memory address offset); and
wherein, when the first field indicates that the received data should be stored to the further memory, the second field indicates a further record in the further memory, and the third field indicates whether the received data should be stored to the second data section or the second control data section of the further record indicated by the second field (Duan; [page 4 lines 66-67] shows the next-hop router forwarding information in the storage pool in the off-chip storage unit address offset; [Abstract] shows an address index model corresponding to the prefix length of the IP address; the mapping position has a memory address offset).
Regarding claim 5, Duan-Menon as applied to claim 4 discloses at least one of the first data section, the first control data section, the second data section and the second control data section is stored to a plurality of memory slots in the respective memory, and wherein the memory address comprises a fourth field indicating a respective memory slot of the respective plurality of memory slots (Duan; [page 4 lines 53-54] shows the mapping position is obtained by multiplying the current cumulative distribution function value by the total number of slots in the mapping table.)
Regarding claim 6, Duan-Menon as applied to claim 5 discloses each memory location (Duan; [Abstract] shows memory address offset) of the plurality of memories and the further memory comprises a plurality of bytes (Duan; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32 (e.g., 1 to 4 bytes), the second group of address index models corresponds to a prefix length range of 33 to 64 (e.g., 4 to 8 bytes)), and
wherein the memory address comprises a fifth field indicating a sub-set of the bytes of the memory slot indicated by the first field, the second field, the third field, and optionally the fourth field (Duan; [page 4 lines 53-54] shows the mapping position is obtained by multiplying the current cumulative distribution function value by the total number of slots in the mapping table.)
Regarding claim 8, Duan-Menon as applied to claim 1 discloses each Ethernet communication interface comprises a search engine comprising a plurality of search circuits, wherein each search circuit is configured to:
access a respective memory of the plurality of memories in order to sequentially read at least in part the first records stored to the respective memory of the plurality of memories; and
compare the destination IP address with the destination IP data of the respective read first records containing valid data in order to determine whether the first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 lines 63-64] shows fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 9, Duan-Menon as applied to claim 8 discloses each search circuit is configured to sequentially read the first records stored to the respective memory of the plurality of memories until the enable data indicate that the respective first record does not contain valid data or at least one of the search circuits determines that one first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 line 12] shows conflict occurs if different data are indexed to the same address).
Regarding claim 10, Duan-Menon as applied to claim 1 discloses the hardware network accelerator comprises a memory controller configured to decide, which of the Ethernet communication interfaces may access the plurality of memories and the further memory (Duan; [page 2 lines 54-55] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface. Menon; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
Regarding claim 11, Duan-Menon as applied to claim 1 discloses the processing system is disposed on an integrated circuit (Duan; [page 7 lines 10-11] shows when an application specific integrated circuit (Application Specific Integrated Circuit, ASIC).
Regarding claim 13, Duan-Menon discloses a method of operating a processing system (Fig 1A and [page 4 line 65] show a network of next-hop routers),
the processing system comprising a microprocessor, a communication system connecting the microprocessor to a hardware network accelerator, and the hardware network accelerator comprising a plurality of communication interfaces, a plurality of memories, a further memory ([page 6 lines 67-68 and page 7 lines 12-47]),
the method comprising:
programming, by the microprocessor, a plurality of first records in the plurality of memories ([Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match),
each first record comprising enable data indicating whether the respective first record contains valid data ([page 4 lines 5-6] shows when data packets are forwarded, IPv6 addresses need to be retrieved in the FIB to match the next-hop interface; [page 5 line 12] shows conflict occurs if different data are indexed to the same address), and
internet protocol (IP) data identifying an IP address range ([page 4 lines 15-19] shows the first group of address index corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64);
programming, by the microprocessor, further records [next-hop routing and forwarding information in the further memory], each of the plurality of first records associated univocally with a respective further record ([page 5 lines 12, 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match), and
each further record comprising ([page 5 line 63] shows first records in the external FIB storage pool)
next-hop data indicating a next-hop ([page 5 lines 52-55] shows next-hop routing and forwarding information),
next-hop enable data indicating whether a respective IP address range may be reached ([page 5 lines 53-55] shows to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if the matching prefix is matched, then the next-hop routing and forwarding information is read);
obtaining, by one of the communication interfaces, an IP packet comprising an IP address ([Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths);
using, by the one of the communication interfaces, the plurality of first records in the plurality of memories and the respective further records in the further memory to select one of the communication interfaces ([page 4 lines 5-6] shows IPv6 addresses need to be retrieved in the FIB to match the next-hop interface; [page 5 lines 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match);
generating, by the selected communication interface, a frame [forwarding packet]; and transmitting, by the selected communication interface, the frame to an network connected to the selected communication interface ([page 4 lines 5-6] shows data packets are forwarded to the next-hop interface.)
Duan fails to shows:
a plurality of Ethernet communication interfaces;
destination internet protocol (IP) data identifying a destination IP address range;
each further record comprising next-hop data indicating a next-hop IP address;
next-hop enable data indicating whether a respective IP address range may be reached directly or via the respective next-hop IP address, and
network port data indicating one of the plurality of Ethernet communication interfaces;
obtaining, by one of the Ethernet communication interfaces, an IP packet comprising a destination IP address;
using, by the one of the Ethernet communication interfaces, the plurality of first records in the plurality of memories and the respective further records in the further memory to select one of the Ethernet communication interfaces;
generating, by the selected Ethernet communication interface, an Ethernet frame; and transmitting, by the selected Ethernet communication interface, the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface.
However, Menon discloses:
a plurality of Ethernet communication interfaces (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
destination internet protocol (IP) data identifying a destination IP address (Fig 1 and para [0086] show routing engine 204 receives a packet for a forward packet flow originating from client device 100A and destined for client device 100B; para [0100] shows a destination IP address of client device 100B);
next-hop enable data indicating whether a respective IP address range may be reached directly (para [0052] shows a destination IP address of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B; para [0127] further explains that router 110I is an egress router that is connected (directly) to receiver client devices 100)
or via the respective next-hop IP address (para [0009] shows a destination IP address of a next-hop peer router; (para [0052] shows a destination IP address of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B; para [0127] further explains that router 110I is an egress router that is connected (directly) to receiver client devices 100), and
network port data indicating one of the plurality of Ethernet communication interfaces (para [0009] shows a destination port of a next-hop peer router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
obtaining, by one of the Ethernet communication interfaces, an IP packet comprising a destination IP address (para [0052] shows an packet comprising an header. The header may specify a destination IP address and a destination port of client device 100B);
to select one of the Ethernet communication interfaces (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B);
generating, by the selected Ethernet communication interface, an Ethernet frame; and transmitting, by the selected Ethernet communication interface, the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface ([Abstract] shows the ingress router forwards the packet to the egress router. Each egress router generates, in response to receiving the packet, the frame and forwards, to the receiver devices, the frame; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Duan with the teachings of Menon in order to improve the reliability and redundancy of across the network (Menon; para [0008]).
Regarding claim 14, Duan-Menon as applied to claim 13 discloses the one of the Ethernet communication interfaces is further configured to (Menon; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet):
access in parallel the plurality of memories in order to sequentially read at least in part the first records stored to each of the plurality of memories (Duan; [page 5 lines 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match);
compare the destination IP address with the destination IP data of the read first records containing valid data in order to select a first record having the destination IP address range containing the destination IP address (Duan; [page 5 lines 52-55] shows according to the longest prefix matching mechanism, a parallel retrieval operation is performed to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base, and then the next-hop routing and forwarding information is read; [page 4 lines 5-6] shows IPv6 addresses need to be retrieved in the FIB to match the next-hop interface);
read the further record associated with the selected first record from the further memory (Duan; [page 5 lines 52-55] shows the next-hop routing and forwarding information is read); and
select one of the Ethernet communication interfaces based on the network port data of the read further record (Duan; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface. Menon; para [0009] shows a destination IP address and a destination port of a next-hop peer router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B).
Regarding claim 15, Duan-Menon as applied to claim 13 discloses the selected Ethernet communication interface is configured to (Menon; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting the destination IP address in response to the next-hop enable data of the read further record indicating that the respective destination IP address range is directly reachable (Menon; para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B);
determine a target media access control (MAC) address for the target IP address (Menon; para [0052] shows the destination MAC address of client device 100B); and
generate the Ethernet frame comprising an Ethernet header and as payload the IP packet, the Ethernet header comprising as destination MAC address the target MAC address, and a source MAC address configured for the selected Ethernet communication interface (Menon; para [0052] shows the destination MAC address of client device 100B; the source MAC address of client device 100A; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
Regarding claim 16, Duan-Menon as applied to claim 13 discloses the selected Ethernet communication interface is configured to (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting the next-hop IP address of the read further record in response to the next-hop enable data of the read further record indicating that the respective destination IP address range is reachable via the respective next-hop IP address; determine a target media access control (MAC) address for the target IP address; and generate the Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address, and a source MAC address configured for the selected Ethernet communication interface (Menon; para [0012] shows the session identifier identifying a session between the ingress router and the egress router; and a payload; and generating a frame destined for one or more receiver devices connected to the egress router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B; the destination MAC address of client device 100B; the source MAC address of client device 100A.)
Regarding claim 17, Duan-Menon as applied to claim 13 discloses the hardware network accelerator comprises an address translation and dispatcher circuit configured to manage an address map (Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths to obtain a corresponding cumulative distribution function value; sequencing the cumulative distribution functions according to the prefix length of the corresponding IP addresses from long to short; determining a mapping position corresponding to the current cumulative distribution function value based on a mapping table),
each memory location in the plurality of memories and each memory location in the further memory is associated with a respective memory address in the address map (Duan; [Abstract] shows judging whether the mapping position has a memory address offset),
the method further comprising:
receiving, by the address translation and dispatcher circuit, a memory write request comprising a memory address in the address map and respective data to be stored; selecting, by the address translation and dispatcher circuit, one of the plurality of memories and the further memory based on the received memory address; selecting, by the address translation and dispatcher circuit, a memory location of the selected memory based on the received memory address; and storing, by the address translation and dispatcher circuit, the data to be stored to the selected memory location of the selected memory (Duan; [Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 19, Duan-Menon as applied to claim 13 discloses the one of the Ethernet communication interfaces comprises a search engine comprising a plurality of search circuits, the method further comprising: accessing, by each search circuit, a respective memory of the plurality of memories in order to sequentially read at least in part the first records stored to the respective memory of the plurality of memories; and comparing, by each search circuit, the destination IP address with the destination IP data of the respective read first records containing valid data in order to determine whether the first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 lines 63-64] shows fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 20, Duan-Menon as applied to claim 19 discloses the method further comprises: sequentially reading, by each search circuit, the first records stored to the respective memory of the plurality of memories until the enable data indicate that the respective first record does not contain valid data or the search circuit determines that one first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 line 12] shows conflict occurs if different data are indexed to the same address).
Claims 7, 12 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Duan in view of Menon, further in view of Chakrabarti et al. (US20160164728A1).
Regarding claims 7 and 18, Duan-Menon as applied to claims 4 and 17 discloses the communication system comprises a slave communication interface [index address] associated with the hardware network accelerator (Duan; [Abstract] shows determining the index address of the forwarding information of the router corresponding to the data packet in the off-chip storage unit based on the memory address offset; [page 2 lines 56-57; page 7 line 12] shows discrete hardware components that supports IPv6 address retrieval and has a fast retrieval speed),
wherein the communication system has a physical address range having a physical address sub-range associated with the slave communication interface (Duan; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64),
wherein the slave communication interface is configured to (Duan; [Abstract] shows determining the index address of the forwarding information of the router):
receive a request from the microprocessor, the request comprising an address in the physical address sub-range and respective transmitted data (Menon; para [0051] shows a frame with a payload comprising an IP packet; the frame payload may comprise a request; para [0060] shows the session identifier comprising a destination IP address and port of the destination client device. Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths; determining a mapping position based on a mapping table; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64);
extract a memory address in the address map of the address translation and dispatcher circuit from the address in the physical address sub-range (Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths; determining a mapping position based on a mapping table; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64); and
provide a memory request to the address translation and dispatcher circuit, the memory request comprising the extracted memory address and the transmitted data (Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths; determining a mapping position based on a mapping table; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64).
Duan-Menon fails to show the request is a write request.
However, Chakrabarti discloses a write request (para [0035] shows the data store may receive requests to read and write data; para [0087] shows the control communication and configuration module(s) 532A-R) is typically responsible for participating in controlling how data (e.g., packets) is to be routed (e.g., the next hop for the data).)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Duan-Menon with the teachings of Chakrabarti in order to organize the data on the data store may be in a variety of data structures (e.g. a relational database, a directed graph structure, an association list) depending upon the requirements of the source that makes the read and write requests (Chakrabarti; para [0035]).
Regarding claim 12, Duan discloses a system comprising (Fig 1A and [page 4 line 65] show a network of next-hop routers):
a plurality of processing systems, each processing system comprising ([page 4 line 65] shows next-hop routers):
a hardware network accelerator, comprising ([page 7 line 12] shows processor 50 may be discrete hardware components):
a plurality of communication interfaces ([page 7 line 47] shows communication connection may be through some interfaces);
a plurality of memories ([page 7 line 4]), wherein each of the plurality of memories is configured to store a plurality of first records, each first record comprising ([Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding first records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match):
enable data indicating whether the respective first record contains valid data ([page 4 lines 5-6] shows when data packets are forwarded, IPv6 addresses need to be retrieved in the FIB to match the next-hop interface; [page 5 line 12] shows conflict occurs if different data are indexed to the same address); and
internet protocol (IP) data identifying IP address range ([page 4 lines 15-19] shows the first group of address index models corresponds to a prefix length range of 1 to 32, the second group of address index models corresponds to a prefix length range of 33 to 64);
a further memory, configured to store a plurality of further records [next-hop routing and forwarding information], wherein each first record is associated univocally with a respective further record ([page 5 lines 12, 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match; conflict occurs if different data are indexed to the same address), and
wherein each further record comprises ([page 5 line 63] shows first records in the external FIB storage pool):
next-hop data indicating a next-hop ([page 5 lines 52-55] shows next-hop routing and forwarding information);
next-hop enable data indicating whether a respective IP address range may be reached ([page 5 lines 53-55] shows to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; if the matching prefix is matched, then the next-hop routing and forwarding information is read); and
access in parallel the plurality of memories in order to sequentially read at least in part the first records stored to each of the plurality of memories ([page 5 lines 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; first records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match);
compare the IP address with the IP data of the read first records containing valid data in order to select a first record having the IP address range containing IP address ([page 5 lines 52-55] shows according to the longest prefix matching mechanism, a parallel retrieval operation is performed to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base, and then the next-hop routing and forwarding information is read; [page 4 lines 5-6] shows IPv6 addresses need to be retrieved in the FIB to match the next-hop interface; ([page 5 line 12] shows conflict occurs if different data are indexed to the same address);
read the further record associated with the selected first record from the further memory ([page 5 lines 52-55] shows the next-hop routing and forwarding information is read); and
select one of the communication interfaces based on the read further record ([page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface); and
a communication system connecting a microprocessor to the hardware network accelerator ([page 7 lines 4-7] shows each functional unit may be integrated into one processing unit and a hardware unit); and
the microprocessor, configured to program the first records in the plurality of memories and the further records in the further memory ([col 6 lines 68-70] shows when the processor 50 executes the computer program 52, the steps in the retrieval method for each router forwarding information mentioned above are implemented.)
Duan fails to show:
a plurality of Ethernet communication interfaces;
destination internet protocol (IP) data identifying a destination IP address;
next-hop data indicating a next-hop IP address;
next-hop enable data indicating whether a respective IP address range may be reached directly or via the respective next-hop IP;
network port data indicating one of the plurality of Ethernet communication interfaces;
wherein each Ethernet communication interface is configured to: obtain an IP packet comprising a destination IP address;
select one of the Ethernet communication interfaces based on the network port data of the read further record;
wherein the selected Ethernet communication interface is configured to:
determine a target IP address by selecting:
a) the destination IP address when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached directly, or
b) the next-hop IP address of the read further record when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached via the respective next-hop IP address;
determine a target media access control (MAC) address for the target IP address;
generate an Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address, and
a source MAC address configured for the selected Ethernet communication interface; and
transmit the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface.
However, Menon discloses:
a plurality of Ethernet communication interfaces (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
destination internet protocol (IP) data identifying a destination IP address (Fig 1 and para [0086] show routing engine 204 receives a packet for a forward packet flow originating from client device 100A and destined for client device 100B; para [0100] shows a destination IP address of client device 100B);
next-hop data indicating a next-hop IP address (para [0009] shows IP address of a next-hop peer router);
next-hop enable data indicating whether a respective IP address range may be reached directly (para [0052] shows a destination IP address of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B; para [0127] further explains that router 110I is an egress router that is connected (directly) to receiver client devices 100)
or via the respective next-hop IP (para [0009] shows a destination IP address of a next-hop peer router; Fig 1 and para [0116] show next-hop peer router 110F to forward frame 300A (indirectly) to client device 100B (via links 16F, 16G and egress router 110I));
network port data indicating one of the plurality of Ethernet communication interfaces (para [0009] shows a destination port of a next-hop peer router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet);
wherein each Ethernet communication interface is configured to (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet):
obtain an IP packet comprising a destination IP address (para [0052] shows an packet comprising an header. The header may specify a destination IP address and a destination port of client device 100B);
select one of the Ethernet communication interfaces based on the network port data of the read further record (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B);
wherein the selected Ethernet communication interface is configured to (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting (para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B):
a) the destination IP address when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached directly (para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B), or
b) the next-hop IP address of the read further record when the next-hop enable data of the read further record indicate that the respective destination IP address range may be reached via the respective next-hop IP address (para [0009] shows a destination IP address and a destination port of a next-hop peer router; Fig 1 and para [0116] show router 100F to forward frame 300A (indirectly) to client device 100B);
determine a target media access control (MAC) address for the target IP address (para [0050] shows a destination MAC address of client device 100B);
generate an Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0052] shows the destination MAC address of client device 100B obtained from the L2 frame), and
a source MAC address configured for the selected Ethernet communication interface (para [0052] shows the source MAC address of client device 100A obtained from the L2 frame); and
transmit the Ethernet frame to an Ethernet network connected to the selected Ethernet communication interface (para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Duan with the teachings of Menon in order to improve the reliability and redundancy of across the network (Menon; para [0008]).
Duan-Menon as combined fails to teach the system is a vehicle electronic system.
However, Chakrabarti discloses a vehicle electronic system (para [0038] shows devices include vehicles; para [0087] shows the control communication and configuration module(s) 532A-R) is typically responsible for participating in controlling how data (e.g., packets) is to be routed (e.g., the next hop for the data).)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to modify the system of Duan-Menon with the teachings of Chakrabarti in order to include a variety of low powered or constrained node devices in vehicles (Chakrabarti; para [0038]).
Regarding claim 14, Duan-Menon as applied to claim 13 discloses the one of the Ethernet communication interfaces is further configured to (Menon; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet):
access in parallel the plurality of memories in order to sequentially read at least in part the first records stored to each of the plurality of memories (Duan; [page 5 lines 52-55, 63-65] shows a parallel retrieval operation is performed in the index structure group to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base; then the next-hop routing and forwarding information is read; records in the FIB storage pool can support fast retrieval of IPv6 addresses with the longest prefix match);
compare the destination IP address with the destination IP data of the read first records containing valid data in order to select a first record having the destination IP address range containing the destination IP address (Duan; [page 5 lines 52-55] shows according to the longest prefix matching mechanism, a parallel retrieval operation is performed to determine whether the corresponding IPv6 address prefix of the data packet is in the forwarding information base, and then the next-hop routing and forwarding information is read; [page 4 lines 5-6] shows IPv6 addresses need to be retrieved in the FIB to match the next-hop interface);
read the further record associated with the selected first record from the further memory (Duan; [page 5 lines 52-55] shows the next-hop routing and forwarding information is read); and
select one of the Ethernet communication interfaces based on the network port data of the read further record (Duan; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface. Menon; para [0009] shows a destination IP address and a destination port of a next-hop peer router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B).
Regarding claim 15, Duan-Menon as applied to claim 13 discloses the selected Ethernet communication interface is configured to (Menon; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting the destination IP address in response to the next-hop enable data of the read further record indicating that the respective destination IP address range is directly reachable (Menon; para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B; Fig 1 and para [0116] show router 100I to forward frame 300A (directly) to client device 100B);
determine a target media access control (MAC) address for the target IP address (Menon; para [0052] shows the destination MAC address of client device 100B); and
generate the Ethernet frame comprising an Ethernet header and as payload the IP packet, the Ethernet header comprising as destination MAC address the target MAC address, and a source MAC address configured for the selected Ethernet communication interface (Menon; para [0052] shows the destination MAC address of client device 100B; the source MAC address of client device 100A; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet.)
Regarding claim 16, Duan-Menon as applied to claim 13 discloses the selected Ethernet communication interface is configured to (collectively, links “16”) may be Ethernet; para [0039] shows router 110B to specify a source port that is a port via which router 110B forwards the modified first packet toward client device 100B):
determine a target IP address by selecting the next-hop IP address of the read further record in response to the next-hop enable data of the read further record indicating that the respective destination IP address range is reachable via the respective next-hop IP address; determine a target media access control (MAC) address for the target IP address; and generate the Ethernet frame comprising an Ethernet header and as payload the IP packet, wherein the Ethernet header comprises as destination MAC address the target MAC address, and a source MAC address configured for the selected Ethernet communication interface (Menon; para [0012] shows the session identifier identifying a session between the ingress router and the egress router; and a payload; and generating a frame destined for one or more receiver devices connected to the egress router; para [0018] shows communication links 16A-16G (collectively, links “16”) may be Ethernet; para [0052] shows the packet comprising a header. The header may specify a destination IP address and a destination port of (target) client device 100B; the destination MAC address of client device 100B; the source MAC address of client device 100A.)
Regarding claim 17, Duan-Menon as applied to claim 13 discloses the hardware network accelerator comprises an address translation and dispatcher circuit configured to manage an address map (Duan; [Abstract] shows dividing the IP address of the data packet into input vectors with various prefix lengths to obtain a corresponding cumulative distribution function value; sequencing the cumulative distribution functions according to the prefix length of the corresponding IP addresses from long to short; determining a mapping position corresponding to the current cumulative distribution function value based on a mapping table),
each memory location in the plurality of memories and each memory location in the further memory is associated with a respective memory address in the address map (Duan; [Abstract] shows judging whether the mapping position has a memory address offset),
the method further comprising:
receiving, by the address translation and dispatcher circuit, a memory write request comprising a memory address in the address map and respective data to be stored; selecting, by the address translation and dispatcher circuit, one of the plurality of memories and the further memory based on the received memory address; selecting, by the address translation and dispatcher circuit, a memory location of the selected memory based on the received memory address; and storing, by the address translation and dispatcher circuit, the data to be stored to the selected memory location of the selected memory (Duan; [Abstract] and [page 5 lines 63-65] show dividing, sorting, indexing and storing the IP address of the packet input vectors from long to short according to the prefix length of the corresponding IP address in the corresponding records in the FIB (Forwarding Information Base) storage pool to support fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 19, Duan-Menon as applied to claim 13 discloses the one of the Ethernet communication interfaces comprises a search engine comprising a plurality of search circuits, the method further comprising: accessing, by each search circuit, a respective memory of the plurality of memories in order to sequentially read at least in part the first records stored to the respective memory of the plurality of memories; and comparing, by each search circuit, the destination IP address with the destination IP data of the respective read first records containing valid data in order to determine whether the first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 lines 63-64] shows fast retrieval of IPv6 addresses with the longest prefix match.)
Regarding claim 20, Duan-Menon as applied to claim 19 discloses the method further comprises: sequentially reading, by each search circuit, the first records stored to the respective memory of the plurality of memories until the enable data indicate that the respective record does not contain valid data or the search circuit determines that one first record has a destination IP address range containing the destination IP address (Duan; [Abstract] shows a method for searching forwarding information of a router and a related device, wherein the method comprises dividing the IP address of the data packet into input vectors with various prefix lengths; [page 2 lines 55-56] shows when data packets are forwarded, they need to be searched in the FIB (Forwarding Information base, forwarding information base) to match the next-hop interface; [page 4 line 63] shows the memory is searched in order of prefix length from long to short; [page 5 line 12] shows conflict occurs if different data are indexed to the same address).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TAN DOAN whose telephone number is (571)270-0162. The examiner can normally be reached Monday - Friday 8am - 5pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Oscar Louie, can be reached at (571) 270-1684. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/TAN DOAN/Primary Examiner, Art Unit 2445