Response to Amendment
This Office Action is in response to a communication received on July 15, 2025.
Claim 16 has been currently amended.
Claims 21-23 have been newly added.
Claims 1-5, 7-16, 19-23 are pending in this application.
This application has been reassigned to a new examiner. Their contact information can be found at the end of the office action.
Response to Arguments
Applicant’s arguments regarding the 35 USC §103 rejection are persuasive and the rejection is hereby withdrawn. However, a new grounds of rejection is being presented below.
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.
Claim(s) 1-5, 7-12, 14, 22, and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Lu et al (US 2012/0147888, hereinafter “Lu”) in view of Filsfils et al (US 2011/0228785, hereinafter “Filsfils”).
Regarding claim 1, Lu teaches a network device comprising: one or more storage devices that store a routing information base (RIB) (see ¶28, mapped to the global RIB); and
one or more processors configured to execute a first protocol agent that implements a first routing protocol, a second protocol agent that implements a second routing protocol, and a RIB agent that manages entries in the RIB (see fig 1, which shows any number of route control modules (mapped to the first and second protocol agents, see ¶25, wherein the modules can include different protocols (IBP or IGP), ¶28, wherein the modules are working with a plurality of protocols),
wherein the RIB agent, when executing on the one or more processors, is configured to:
obtain a first route to a destination, the first route being a route output by the first protocol agent (¶¶26-28, wherein the RIB receives routers from both protocols output from the various route control modules);
obtain a second route to the destination, the second route being a route output by the second protocol agent, wherein the second route, as output by the second protocol agent (¶¶26-28, wherein the RIB receives routers from both protocols output from the various route control modules), is preferred, for route selection to the destination, over the first route, as output by the first protocol agent (¶6, wherein the RIB process selects the route based upon criteria, i.e. a preference).
However Lu does not explicitly indicate:
apply a routing policy to the first route and the second route, wherein the RIB agent is configured to modify one of the first route or the second route to obtain a corresponding modified route as part of the routing policy being applied to the first route and the second route; and
select, as part of a route selection operation for the destination, the first route based on a preference for the modified one of the first route or the second route relative to a preference for the other one of the first route or the second route.
Filsfils teaches a process for managing routes received from BGP protocols and interior routing protocols (¶39), wherein an RIB process:
apply a routing policy to the first route and the second route, wherein the RIB agent is configured to modify one of the first route or the second route to obtain a corresponding modified route as part of the routing policy being applied to the first route and the second route (¶¶43-44 and ¶47, wherein the border router applies policies to test out the routes received, modify the BGP routes using a policy, ¶54-56, wherein the border router additionally applies policies and modifications to IGP routes); and
select, as part of a route selection operation for the destination, the first route based on a preference for the modified one of the first route or the second route relative to a preference for the other one of the first route or the second route (¶43, wherein the optimal path/route is selected based upon the paths in the routing table which are the routes which had modifications and policies applied to them).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to use Filsfils suggestion of policy implementation and path and route modifications to improve the RIB process in Lu. The combination would bring in the policy implementation from Filsfils to Lu and the result would be the RIB process would update the routes as there are received and stored in the RIB and use the policies to help identify the optimal/best route to store in the RIB and FIB. One of ordinary skill would be motivated to improve Lu to ensure the RIB has better route information stored with it after the application of policies to ensure more effective route selection.
Regarding claim 2, Lu, as improved by Filsfils teaches the network device defined in claim 1, wherein the RIB agent is separate from the first protocol agent and is separate from the second protocol agent (see Fig 1, wherein the RIB module is separate from the route control modules), wherein the one of the first route or the second route being modified is the first route (see Filsfils, ¶55, wherein any route can be modified or updated), and wherein the RIB agent is configured to modify the first route after the first route is output by the first protocol agent (see Filsfils, ¶55, wherein any route can be modified after received at the RIB).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 3, Lu teaches the network device defined in claim 1, wherein the second routing protocol is a Border Gateway Protocol (BGP) and wherein the first routing protocol is a non-BGP protocol (see ¶¶25-28, wherein the protocols can be BGP and a separate protocol like IGP).
Regarding claim 4, Lu teaches the network device defined in claim 1, wherein the first route is stored in the RIB and wherein the RIB agent is configured to obtain the first route by receiving the first route from the RIB (¶¶35-36 wherein the router’s process can obtain routes stored in the global RIB).
Regarding claim 5, Lu, as improved by Filsfils teaches the network device defined in claim 1, wherein the first route is a candidate route output from the first protocol agent in accordance with the first routing protocol and wherein the second route is a candidate route output from the second protocol agent in accordance with the second routing protocol (see Filsfils, ¶43, wherein routes from both protocols are compared).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 7, Lu teaches the network device defined in claim 1, wherein the one or more storage devices store a forwarding information base (FIB) that is accessed to process a network traffic data unit received at the network device, wherein the first route is stored in the FIB, and wherein the RIB agent is configured to obtain the first route by receiving the first route from the FIB (see ¶30, wherein the FIB obtains the routes and the router processes uses the FIB to help route traffic).
Regarding claim 8, Lu teaches the network device defined in claim 1, wherein the RIB agent, when executing on the one or more processors, is configured to install the selected first route in the RIB (¶35, wherein the global RIB downloads selected routes).
Regarding claim 9, Lu, as improved by Filsfils teaches the network device defined in claim 1, wherein the preference for the modified one of the first route or the second route is indicated by a first administrative distance and wherein the preference for the other one of the first route or the second route is indicated by a second administrative distance (see Filsfils, ¶43, wherein the modified path can be compared to determine the best path, ¶¶53-55, wherein the paths are modified to have assigned “importance tags”, and ¶60 wherein shortest path (i.e. distance is a computation factor).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 10, Lu, as improved by Filsfils, teaches the network device defined in claim 1, wherein the first route is selected, as part of the route selection operation for the destination, based on comparing the modified one of the first route or the second route with the other one of the first route or the second route (see Filsfils, ¶43, wherein the modified path can be compared to determine the best path, ¶¶53-55, wherein the paths are modified to have assigned “importance tags”) and wherein the RIB agent is configured to install the selected first route in the RIB (see Lu, ¶35).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 11, Lu, as improved by Filsfils, teaches the network device defined in claim 10, wherein the one of the first route or the second route being modified is the first route, wherein the other one of the first route or the second route is the second route, and wherein the modified first route is preferred, for route selection to the destination, over the second route, as output by the second protocol agent (see Filsfils, ¶43, wherein the modified path can be compared to determine the best path, ¶¶53-55, wherein the paths are modified to have assigned “importance tags”).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 12, Lu teaches the network device defined in claim 10, wherein the one or more storage devices store a forwarding information base (FIB), wherein the RIB agent, when executing on the one or more processors, is configured to install the selected first route in the FIB, and wherein the FIB is accessed to process a network traffic data unit received at the network device (¶¶30 and 56, wherein the FIB pulls the routes from the global RIB to process traffic data).
Regarding claim 22, Lu, as improved by Filsfils, teaches the network device defined in The network device defined in wherein the RIB agent is configured to obtain the first route by receiving the first route from the first protocol agent and is configured to obtain the second route by receiving the second route from the second protocol agent and wherein the routing policy is applied by the RIB agent to the received first route and the received second route (See Lu, ¶¶26-28, wherein the RIB receives routers from both protocols output from the various route control modules, see Filsfils, ¶¶43-44 and 51-53, wherein the router can implantation validation and tagging on routes received in both BGP and IGP).
The teaching of Filsfils is combined with Lu under the same rationale as claim 1.
Regarding claim 14, Lu teaches a network device comprising:
one or more storage devices that store a routing information base (RIB) (see ¶28, mapped to the global RIB);
and one or more processors configured to execute a protocol agent that implements a routing protocol and a RIB agent that manages entries in the RIB, wherein the RIB agent, when executing on the one or more processors (see fig. 1, elements 110 and 130, is configured to:
receive, from the protocol agent executing on the one or more processors, a route to a destination, the route being output from the protocol agent based on implementing the routing protocol (¶¶26-28, wherein the RIB receives routers from both protocols output from the various route control modules); and
install the modified version of the received route in the RIB based on the routing policy.
Lu does not explicitly indicate the RIB agent is configured to:
obtain a routing policy that includes a match criterion and a corresponding action for the match criterion;
apply the routing policy on the received route to modify the received route and obtain a modified version of the received route, wherein the RIB agent is configured to modify the received route by comparing the received route to the match criterion and by modifying an attribute of the received route, as specified by the action, in response to the received route matching the match criterion.
Filsfils teaches a process for managing routes received from BGP protocols and interior routing protocols (¶39), wherein an RIB process:
obtain a routing policy that includes a match criterion and a corresponding action for the match criterion (¶¶52-55, wherein the router process can perform processing to identify routers and apply administrative tags on the routes);
apply the routing policy on the received route to modify the received route and obtain a modified version of the received route, wherein the RIB agent is configured to modify the received route by comparing the received route to the match criterion and by modifying an attribute of the received route, as specified by the action, in response to the received route matching the match criterion (¶¶52-55, wherein the router process can perform processing to identify routers and apply administrative tags on the routes, ¶43, wherein only the best match is installed into the RIB after the modifications)).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to use Filsfils suggestion of policy implementation and path and route modifications to improve the RIB process in Lu. The combination would bring in the policy implementation from Filsfils to Lu and the result would be the RIB process would update the routes as there are received and stored in the RIB and use the policies to help identify the optimal/best route to store in the RIB and FIB. One of ordinary skill would be motivated to improve Lu to ensure the RIB has better route information stored with it after the application of policies to ensure more effective route selection.
Regarding claim 23, Lu, as improved by Filsfils, teaches the network device defined in claim 14, wherein the routing protocol is a Border Gateway Protocol (BGP), wherein the route is a BGP route, and wherein the RIB agent is configured to apply the routing policy on the BGP route after being output by the protocol agent that implements the BGP (see Lu, ¶35, wherein the global RIB can apply rules/policies onto routes downloaded from the route control modules).
Claims 13 and 19-21 are rejected under 35 U.S.C. 103 as being unpatentable over Lu in view of Filsfils, and further in view of Ball et al (US 2005/0135256 hereinafter “Ball”).
Regarding claim 13, Lu, as modified by Filsfils teaches the network device defined in claim 1.
Lu, as modified by Filsfils, teaches performing policy modifications on received routes (see Filsfils, ¶43). However the combination does not explicitly indicate wherein the RIB agent is configured to apply the routing policy to the first route and the second route by evaluating the first route and the second route using a route map containing a plurality of statements and wherein the one of the first route or the second route is modified in accordance with an action specified in a given one of the plurality of statements.
Ball teaches route selection performed in a router, wherein the router performs policy modification upon received routes (¶¶78-80), wherein the process is configured to apply the routing policy to the first route and the second route by evaluating the first route and the second route using a route map containing a plurality of statements and wherein the one of the first route or the second route is modified in accordance with an action specified in a given one of the plurality of statements (¶¶47-48, ¶78, and ¶80).
It would have been obvious to one of ordinary skill in the art at the effective filing date to use Ball’s teaching to improve the routing policy updates taught in Filsfils and Lu to ensure that the policy can include policy matching statements that have associated actions, including modification actions (see Ball ¶48). The combination would allow present rules which allows modification of the routes and can impact the routing selection optimization. This would allow the modification of the routes before known route selection processes can occur so that the preferred routes will be selected through the route selection process because those routes are modified before they get compares with the other routes.
Regarding claim 19, Lu teaches a network device comprising:
one or more storage devices that store a routing information base (RIB) (see ¶28, mapped to the global RIB) and a forwarding information base (FIB) (see ¶30, wherein the FIB obtains the routes and the router processes uses the FIB to help route traffic); and
one or more processors configured to execute a protocol agent that implements a routing protocol, a RIB agent that manages entries in the RIB (see fig 1, which shows any number of route control modules (mapped to the first and second protocol agents, see ¶25, wherein the modules can include different protocols (IBP or IGP), ¶28, wherein the modules are working with a plurality of protocols), wherein the RIB agent, when executing on the one or more processors, is configured to:
receive, from a source external to the RIB agent, a route to a destination, the source being the protocol agent, the static route agent, the RIB, or the FIB (¶¶26-28, wherein the RIB receives routers from both protocols output from the various route control modules).
Lu does not explicitly indicate
a static route agent that manages one or more static routes
obtain a routing policy defined by a route map containing a plurality of statements; or
apply the routing policy to the route by evaluating the route using each statement in the plurality of statements, wherein the RIB agent is configured to modify the route by performing an action specified in a given statement of the plurality of statements used to evaluate the route.
Filsfils teaches a process for managing routes received from BGP protocols and interior routing protocols (¶39), wherein an RIB process:
apply a routing policy to the route (¶¶43-44 and ¶47, wherein the border router applies policies to test out the routes received, modify the BGP routes using a policy, ¶54-56, wherein the border router additionally applies policies and modifications to IGP routes);
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to use Filsfils suggestion of policy implementation and path and route modifications to improve the RIB process in Lu. The combination would bring in the policy implementation from Filsfils to Lu and the result would be the RIB process would update the routes as there are received and stored in the RIB and use the policies to help identify the optimal/best route to store in the RIB and FIB. One of ordinary skill would be motivated to improve Lu to ensure the RIB has better route information stored with it after the application of policies to ensure more effective route selection.
Lu, as improved by Filsfils, does not explicitly indicate that the network device contains
a static route agent that manages one or more static routes
a routing policy defined by a route map containing a plurality of statements, or
apply the routing policy to the route by evaluating the route using each statement in the plurality of statements, wherein the RIB agent is configured to modify the route by performing an action specified in a given statement of the plurality of statements used to evaluate the route.
Ball teaches route selection performed in a router, wherein the router performs policy modification upon received routes (¶¶78-80), wherein the process is configured to a static route agent that manages one or more static routes (¶78)
a routing policy defined by a route map containing a plurality of statements (¶48),
apply the routing policy to the route by evaluating the route using each statement in the plurality of statements, wherein the RIB agent is configured to modify the route by performing an action specified in a given statement of the plurality of statements used to evaluate the route. (¶¶47-48, ¶78, and ¶80).
It would have been obvious to one of ordinary skill in the art at the effective filing date to use Ball’s teaching to improve the routing policy updates taught in Filsfils and Lu to ensure that the policy can include policy matching statements that have associated actions, including modification actions (see Ball ¶48). The combination would allow present rules which allows modification of the routes and can impact the routing selection optimization. This would allow the modification of the routes before known route selection processes can occur so that the preferred routes will be selected through the route selection process because those routes are modified before they get compares with the other routes.
Regarding claim 20, Lu, as improved by Filsfils and Ball, teaches the network device defined in claim 19.
Ball teaches wherein the RIB agent is configured to perform the action based on an attribute of the route matching a criterion associated with the given statement (see ¶48).
The teaching of Ball is combined with Lu under the same rationale as claim 19.
Regarding claim 21, Lu, as improved by Filsfils and Ball, teaches the network device defined in claim 19.
Filsfils further teaches wherein the routing policy is applied by the RIB agent to the route after the route is received by the RIB agent from the source external to the RIB agent (¶¶43-44 and ¶47, wherein the border router applies policies to test out the routes received, modify the BGP routes using a policy, ¶54-56, wherein the border router additionally applies policies and modifications to IGP routes.
The teaching of Filsfils is combined with Lu under the same rationale as claim 19.
Claim(s) 15 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Lu in view of Filsfils, and further in view of Dalal et al (US 2007/0047446 hereinafter “Dalal”).
Regarding claim 15, Lu, as improved by Filsfils, teaches the network device defined in claim 14,
However the combination does not explicitly indicate wherein the modified attribute of the received route comprises a modified next-hop that is different from a next-hop of the route output from the protocol agent.
Dalal teaches a routing system with BGP speakers and suggests that the routing logic of the router can include rules that modify the next-hop of a route received through routing protocol (see ¶10).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to use Dalal’s suggestion of uses of routing policy including modifying destinations and next hops of routes before inputting them into a routing table, to improve Lu’s system of route selection and building the RIB, the combination would ensure that routing policy can be set to adjust next hop in certain circumstances when the default route is not preferred.
Regarding claim 16, Lu, as improved by Filsfils and Dalal, teaches the network device defined in claim 15, wherein the modified next-hop directs network traffic to the destination, a security analysis device, or a firewall (see Dalal, ¶10).
The teaching of Dalal is combined with Lu under the same rationale as claim 15.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KEVIN T BATES whose telephone number is (571)272-3980. The examiner can normally be reached Mon-Fri 9 am - 5:30 pm.
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.
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.
/KEVIN T BATES/Supervisory Patent Examiner, Art Unit 2472