DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(B) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-8 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claim 1 recites the limitation "the control configuration modification" in line 9. There is insufficient antecedent basis for this limitation in the claim.
Claims 2-8 are rejected based on their dependency on claim 1.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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 of this title, 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.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-3, 5-12, and 14-19 are rejected under 35 U.S.C. 103 as being unpatentable over Folkes (U.S. Patent Application Publication # 2009/0052445 A1) in view of WANG et al. (hereinafter Wang) (U.S. Patent Application Publication # 2019/0124184 A1).
Regarding claim 1, Folkes teaches and disclose a networking device (network device, such as a router or switch, figure 1; [0015]) comprising: a set of interfaces (ports, figure 1; [0020]; [0023]) for sending and receiving packets ([0020]; [0023]; teaches a set of ports for sending and receiving packets);
a packet processor (network processor, figure 1) that processes packets received at the set of interfaces according to a set of entries of a forwarding table ([0019]; [0020]; [0021]; teaches a packet processor that processes packets received at the ports according to a set of entries in a forwarding table); and
a networking controller (control processor, figure 1) that configures operation of the packet processor and, after applying a modification to operation of the networking controller ([0018]; “…one or more updates to the status in network configuration and/or protocol information and/or any other suitable information…”; [0022]), is configured to:
identify a set of regenerated entries describing post-modification configuration of the forwarding table after the control configuration modification ([0025]; [0028]; teaches identifying a set of new, regenerated entries of the forwarding table after the changes); copy the set of entries of the forwarding table to a set of shadow entries of a shadow table (forwarding table internal copy; [0030]) describing operation of the forwarding table before the modification was applied ([0030]; [0031]; [0033]; teaches a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes).
However, Folkes may not explicitly disclose compare the set of regenerated entries to the set of shadow entries and, based on the comparison, selectively pause packet processing by the packet processor when at least one of the set of regenerated entries differs from the shadow entries (although Folkes does suggest disabling packet forwarding during synchronization of forwarding tables).
Nonetheless, in the same field of endeavor, Wang teaches and suggests compare the set of regenerated entries (match entry) to the set of shadow entries (wildcard entry of the flow table) and, based on the comparison, selectively pause packet processing by the packet processor when at least one of the set of regenerated entries differs from the shadow entries ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend or not suspend further data packet processing based on the comparison).
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend or not suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claim 2, Folkes, as modified by Wang, further teaches and suggests wherein comparing the set of regenerated entries to the set of shadow entries comprises determining a matching shadow entry for at least one regenerated entry based on a content hash of the shadow entry and the regenerated entry ([0030]; [0031]; [0032]; claim 4; “…compare the second forwarding information to the internal copy of the first forwarding information to incrementally update the first forwarding information in the active forwarding table with the second forwarding information…” teaches comparing entries in the forwarding table internal copy and the regenerated entries based on a content index of the entries).
Regarding claim 3, Folkes discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose pause processing immediately when any difference is identified between the set of regenerated entries and the set of shadow entries.
Nonetheless, in the same field of endeavor, Wang further teaches and suggests pause processing immediately when any difference is identified between the set of regenerated entries and the set of shadow entries ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison).
. Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claim 5, Folkes discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose selectively pause processing by the packet processor for a first entry of the forwarding table corresponding to a first shadow entry that has different contents relative to a first matching regenerated entry and continuing processing by the packet processor for a second entry of the forwarding table corresponding to a second shadow entry that has the same contents relative to a second matching regenerated entry.
Nonetheless, in the same field of endeavor, Wang further teaches and suggests selectively pause processing by the packet processor for a first entry of the forwarding table corresponding to a first shadow entry that has different contents relative to a first matching regenerated entry and continuing processing by the packet processor for a second entry of the forwarding table corresponding to a second shadow entry that has the same contents relative to a second matching regenerated entry ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison).
. Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claim 6, Folkes, as modified by Wang, further teaches and suggests wherein one or more feature agents construct a control table and the set of regenerated entries is generated based on the control table ([0018]; [0020]; [0022]; teaches the control plane builds a forwarding table and the regenerated entries are based on the forwarding table).
Regarding claims 7 and 15, Folkes, as modified by Wang, further teaches and suggests determine a set of unused entries in the shadow table that do not correspond to any of the regenerated entries; and prune entries in the forwarding table that correspond to the set of unused entries ([0032]; [0040]; teaches determining not in use entries and modifying and deleting the entries in the forwarding table).
Regarding claim 8, Folkes, as modified by Wang, further teaches and suggests wherein the modification to the networking controller is a modified software version ([0018]; [0020]; [0028]; teaches the network processor performs modification based on the software version).
Regarding claims 9 and 16, Folkes teaches and disclose a non-transitory computer-readable medium comprising instructions executable by a processor (claim 11; teaches logic encoded on a computer readable medium) and a method, performed by a networking device (network device, such as a router or switch, figure 1; [0015]) that processes packets according to a forwarding table (forwarding table, figure 1), for reducing packet processing interruption due to modification of a networking controller (control processor, figure 1) of the networking device ([0004]; [0005]; teaches reducing interruption and increasing efficiency in the network processor), comprising:
applying a modification to a networking controller (control processor, figure 1) of a networking device (network device, such as a router or switch, figure 1; [0015]) that includes a packet processor (network processor, figure 1) that processes packets according to a forwarding table during application of the modification to the networking controller ([0018]; “…one or more updates to the status in network configuration and/or protocol information and/or any other suitable information…”; [0019]; [0020]; [0021]; [0022]; teaches a packet processor that processes packets received at the ports according to a set of entries in a forwarding table and applying a modification to the control processor that processes data packets);
copying the forwarding table to a shadow table (forwarding table internal copy; [0030]) ([0030]; [0031]; [0033]; teaches a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes); and after the modification is applied to the networking controller: identifying one or more regenerated entries generated by the networking controller after the modification is applied, wherein the one or more regenerated entries specify post-modification entries of the forwarding table ([0025]; [0028]; teaches identifying a set of new, regenerated entries of the forwarding table after the changes); for each of the one or more regenerated entries, determining whether the shadow table includes a matching entry and whether the matching entry and the regenerated entry have the same contents; determining whether all of the one or more regenerated entries have a matching entry with the same contents ([0030]; [0031]; [0033]; teaches a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes and comparing entries in the forwarding table internal copy and the regenerated entries based on a content index of the entries).
However, Folkes may not explicitly disclose responsive to determining that all of the one or more regenerated entries have a respective matching entry with the same contents, continuing to process packets after the modification of the networking controller without pausing packet processing for application of the one or more regenerated entries (although Folkes does suggest disabling packet forwarding during synchronization of forwarding tables).
Nonetheless, in the same field of endeavor, Wang teaches and suggests responsive to determining that all of the one or more regenerated entries (match entry) have a respective matching entry with the same contents (wildcard entry of the flow table), continuing to process packets after the modification of the networking controller without pausing packet processing for application of the one or more regenerated entries ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend or not suspend further data packet processing based on the comparison).
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend or not suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claims 10 and 17, Folkes discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose selectively pausing the packet processor responsive to determining that any of the regenerated entries does not have a matching entry or the matching entry and the regenerated entry do not have the same contents.
Nonetheless, in the same field of endeavor, Wang further teaches and suggests selectively pausing the packet processor responsive to determining that any of the regenerated entries does not have a matching entry or the matching entry and the regenerated entry do not have the same contents ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison).
. Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claims 11 and 18, Folkes discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose continuing the packet processor while the modification is applied until the packet processor is selectively paused.
Nonetheless, in the same field of endeavor, Wang further teaches and suggests continuing the packet processor while the modification is applied until the packet processor is selectively paused ([0019]; [0075]; “…When the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry, the data packet is processed according to the action instruction corresponding to the exact match entry. Before the data packet is processed according to the action instruction corresponding to the exact match entry, it is determined that the update time of the wildcard entry corresponding to the exact match entry is before the creation time of the exact match entry. Therefore, the exact match entry used to process the data packet is valid, there is no need to suspend, in a flow table updating process, searching for a flow entry that matches the data packet to avoid using an exact match entry that is invalid because of updating of the wildcard entry…”; [0099]; teaches comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to not suspend further data packet processing based on the comparison).
. Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate comparing and determining a match between an exact match entry and a wildcard entry of the flow table and determining to suspend further data packet processing based on the comparison as taught by Wang with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Wang ([0006]).
Regarding claims 12 and 19, Folkes, as modified by Wang, further teaches and suggests wherein determining a matching entry in the shadow table is based on comparison of a content hash of the shadow table with the regenerated entry ([0030]; [0031]; [0032]; claim 4; “…compare the second forwarding information to the internal copy of the first forwarding information to incrementally update the first forwarding information in the active forwarding table with the second forwarding information…” teaches comparing entries in the forwarding table internal copy and the regenerated entries based on a content index of the entries).
Regarding claim 14, Folkes, as modified by Wang, further teaches and suggests adding an entry to the shadow table when a regenerated entry does not have a matching entry in the shadow table ([0025]; [0032]; [0040]; teaches adding entries to the forwarding table when entry is invalid).
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Folkes (U.S. Patent Application Publication # 2009/0052445 A1) in view of WANG et al. (hereinafter Wang) (U.S. Patent Application Publication # 2019/0124184 A1), and further in view of Previdi et al. (hereinafter Previdi) (U.S. Patent Application Publication # 2007/0058568 A1).
Regarding claim 4, Folkes, as modified by Wang, discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose consolidate differences between the regenerated entries and the shadow entries in the shadow table and apply the consolidated differences to the forwarding table after all of the set of regenerated entries are compared with the set of shadow entries.
Nonetheless, in the same field of endeavor, Previdi teaches and suggests consolidate differences between the regenerated entries and the shadow entries in the shadow table and apply the consolidated differences to the forwarding table after all of the set of regenerated entries are compared with the set of shadow entries ([0073]; [0075]; teaches merging entries of the shadow table entry based on the comparision).
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate merging entries of the shadow table entry based on the comparision as taught by Previdi with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Previdi.
Claims 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Folkes (U.S. Patent Application Publication # 2009/0052445 A1) in view of WANG et al. (hereinafter Wang) (U.S. Patent Application Publication # 2019/0124184 A1), and further in view of Osborne (U.S. Patent Application Publication # 2023/0015193 A1).
Regarding claims 13 and 20, Folkes, as modified by Wang, discloses identifying a set of new, regenerated entries of the forwarding table after the changes and a copy of the set of entries of the forwarding table is comprised within in a forwarding table internal copy which has the same information/entries prior to the changes, but may not explicitly disclose modifying the matching entry in the shadow table when its contents differ from the regenerated entry; and applying the modified entries in the shadow table to the forwarding table together as a group.
Nonetheless, in the same field of endeavor, Osborne teaches and suggests modifying the matching entry in the shadow table when its contents differ from the regenerated entry; and applying the modified entries in the shadow table to the forwarding table together as a group ([0016]; claim 4; teaches modifying entries in a routing table by grouping entries together as a group).
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate modifying entries in a routing table by grouping entries together as a group as taught by Osborne with the method and networking device for updating a forwarding table as disclosed by Folkes, as modified by Wang, for the purpose of improving data packet processing delay and network performance when updating a table, as suggested by Osborne.
Conclusion
The prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SUK JIN KANG whose telephone number is (571) 270-1771. The examiner can normally be reached on Monday-Friday 8am-5pm.
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, Chirag Shah can be reached on (571) 272-3144. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
Any inquiry of a general nature or relating to the status of this application or proceeding should be directed to the receptionist/customer service whose telephone number is (571) 272-2600.
/Suk Jin Kang/
Examiner, Art Unit 2477
January 23, 2026