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 .
Response to Arguments
According to applicant’s arguments filed on 10/09/2025; claims 2,17 and 22 have been amended; and new claim 23 have been added hereby acknowledged.
3.Applicant argues that the primary reference Nakazawa fails to disclose the new claimed limitation which recites: “receiving, at a recursive DNS server, a policy associated with a DNS parameter, wherein the policy is associated with a client, the policy applies to the DNS request”.
4. Examiner would like to point out that new secondary reference Linari (US Pub.No.2019/0097965) in para:0025 teaches the above claimed limitation (see, the rejection below).
Double Patenting
5. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed.Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Long 759 F.2d 887,
225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438,164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321 (c) or 1.321 (d) may be used to overcome an actual or provisional rejection based on a non-statutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with his application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement.
Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b).
6.Claims 2-21 of this instant application are rejected on the ground of non-statutory double patenting as being unpatentable over claims 2-5,7-17 and 19-23 of the US patent nos. 11,606,388; and over claims 1,4-7,9-16, 18-25 and 27 of the US patent nos. 10,735,461. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims of the current application encompass the same subject matter as of the patent application claims [such as method for assigning a time-to-live (“TTL”) value for a domain name system (“DNS”) record at a recursive DNS server. The method comprises obtaining, from a client, the TTL value for the DNS record; and storing, in a memory of the recursive DNS server, the TLL value, an identifier of the client, and the DNS record], but with obvious wording variations. Therefore, this is a non-statutory double patenting.
Claim Rejections - 35 USC § 103
7.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.
8. Claim(s) 2-22 are rejected under 35 U.S.C. 103 as being unpatentable over Nakazawa (US Pub.No.2004/0143579) in view of Linari (US Pub.No.2019/0097965)
9. Regarding claims 2,12 and 17 Nakazawa teaches a method, one or more non-transitory computer-readable storage media, a system , wherein the processor executes instructions to perform a method for assigning a value for a domain name system (“DNS”) record, the method comprising: receiving, at a recursive DNS server, a policy associated with a DNS parameter, wherein the policy specifies a condition of a first value for one or more DNS records that satisfy the DNS parameter, wherein the policy is accessible by a policy agent of the recursive DNS server; transmitting, to an authoritative name server, a first DNS request associated with a first domain name; receiving, from the authoritative name server, (i) a first DNS record associated with the first domain name and (ii) a second value corresponding to the first DNS record receiving, from the authoritative name server, (i) a first DNS record associated with the first domain name and (ii) a second value corresponding to the first DNS record; determining, by the policy agent at the recursive DNS server, that the policy applies to the first DNS request
(Figs.3-5 and abstract, para:0052 and Para:0063-0088 teaches upon reception of a query about the address of a server 107 in fig.4 from a client 106, a DNS server 109 (DNS on the client side) [recursive DNS server herein] sends a query about the address of that server 107 to an external DNS server 108 (DNS on the server side) [authoritative name server herein] .
The DNS server checks process [element.706 in fig.5 (does the address active/inactive status check, i.e., connection test)] based on the address obtained from the external DNS server 108, if, the connection to the server 107 can be established. If, the connection to the server 107 cannot be established, the DNS server 109 receives a query about the address of the server 107, the DNS server returns a response indicating that the address is not available. When the address is returned before the check process, the DNS sever sets an expiration time [R-TTL element.705 in fig. 5, which is the second value herein] shorter than that of the address of the server 107 obtained from the external DNS server 108 as the expiration time [C-TTL element.704 in fig.5, which is the first value herein] of the address of the server.
Fig.10, Para:0135- 0151 teaches the Web client 106 transmits a name-lookup query (query about "AAAA" to "www.server.net"), i.e., an AAAA Query 801, to the nearby DNS server 109.Upon reception of this name-lookup query 801 (401 in FIG. 6), the DNS server 109 searches its own cache data 306 (402). Since no corresponding data is found (No in 403 in FIG. 6), the DNS server 109 sends a name-lookup query (query about "AAAA" to "www.server.net"), i.e., an AAAA Query 802, to the DNS server 108 that manages the target FQDN (404 in FIG. 6, 501 and 502 in FIG. 7). That is, upon reception of the query about the address of the server 107 from the client 106, the DNS server 109 sends a query about the address of the server 107 to the DNS server 108.
In response to the query 802, the DNS server 108 transmits a response ("AAAA" of "www.server.net"="2001:340:0:1::1", "TTL=10000") to the query that contains an IPv6 address corresponding to the FQDN in the query, i.e., a Response AAAA 803, to the DNS server 109.
The DNS server 109 receives this response 803 (503, 504, 505, 510, and 511 in FIG. 7), and quickly transmits a response ("AAAA" of "www.server.net"="2001:340:0:1::1", "TTL=0") to the query, i.e., a Response AAAA 804, to the Web client 106 (Yes in 405, 407, 408, and 409 in FIG. 6). That is, the DNS server 109 notifies the client 106 of the address of the server 107 obtained from the DNS server 108. The DNS server 109 notifies the client 106 of the expiration time "R-TTL" 705 (its value is, e.g., "0") shorter than the expiration time "C-TTL" 704 of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 (see, 510 and 511 in FIG. 7).
Since the Web client that has received the response 804 acquires the IPv6 address "2001:340:0:1::1" of "www.server.net", it attempts to establish connection 805 to the target server 107 using the IPv6 communication protocol. However, the client cannot establish that connection since the network is disconnected halfway.
On the other hand, the DNS server 109 transmits an ICMP echo message 806 to the target address "2001:340:0:1::1" to check the active/inactive status of the IPv6 address at substantially the same timing as the IPv6 address message (Response AAAA) 804 (512 in FIG. 7, 601 and 602 in FIG. 8). Since the message 806 does not reach the Web server 107, neither (No in 612 in FIG. 9), an address active/inactive status check process 807 determines NG (the connection test has failed) (615). This IPv6 address connectivity test is conducted using the IPv6 communication protocol. The Web client waits for the end of a time-out time from connection 805 to a failure of communication establishment, and sends a name-lookup query (query about "A" to "www.server.net"), i.e., an A Query 808, to the nearby DNS server 109 so as to acquire the IPv4 address after the end of the time-out time. Upon reception of this name-lookup query 801 (401 in FIG. 6), the DNS server 109 searches its own cache data 306 (402). Since no corresponding data is found (No in 403 in FIG. 6), the DNS server 109 sends a name-lookup query (query about "A" to "www.server.net"), i.e., an A Query 809, to the DNS server 108 that manages the target FQDN (404 in FIG. 6, 501 and 502 in FIG. 7).
In response to the query 809, the DNS server 108 transmits a response ("A" of "www.server.net"="172.16.0.1", "TTL=10000") to the query that contains an IPv4 address corresponding to the FQDN in the query, i.e., a Response A 810., to the DNS server 109.
The DNS server 109 receives this response 810 (503, 504, 505, 510, and 511 in FIG. 7), and quickly transmits a response ("A" of "www.server.net"="172.16.0.1", "TTL=0") to the query, i.e., a Response A 811, to the Web client 106 (Yes in 405, 407, 408, and 411 in FIG. 6).
Since the Web client that has received the response 811 acquires the IPv4 address "172.16.0.1" of "www.server.net", it attempts to establish connection 812 to the target server 107 using the IPv4 communication protocol. Since this connection 812 is established, the Web client 106 receives data from the Web server 107.
On the other hand, the DNS server 109 transmits an ICMP echo message 813 to the target address "172.16.0.1" to check the active/inactive status of the IPv4 address at substantially the same timing as the IPv4 address message (Response A) 811 (512 in FIG. 7, 601 and 602 in FIG. 8). Since a response to the message 813 is transmitted from the Web server 107 as an ICMP Response 814 (Yes in 612 in FIG. 9), an address active/inactive status check process determines OK (the connection test has succeeded). Note that this IPv4 address connectivity test is conducted using the IPv4 communication protocol.
After that, when a new connection request to the Web server 107 is generated (for example, when the user selects a link on a Web page to acquire another data in the identical Web server), the Web client 106 transmits a name-lookup query (query about "AAAA" to "www.server.net"), i.e., an AAAA Query 815, to the nearby DNS server 109 again.
Upon reception of this name-lookup query 815 (401 in FIG. 6), the DNS server 109 searches its own cache data 306 (402). Since the server 109 detects based on the cache data that has undergone the address active/inactive status check process 807 in FIG. 10 that the IPv6 address check result is "NG" (Yes in 403, 407, No in 408 in FIG. 6), it transmits a no-address message ("AAAA" of "www.server.net" is not available), i.e., a Response (nothing) 816, as a response to the Web client 106 (410 in FIG. 6). That is, the DNS server 109 receives the IPv6 address of the server 107 from the DNS server 108 in response to the first query 801 about the IPv6 address of the server 107 conducts a connection test (806, 807) with the server 107 using the address of the server 107 and returns a message 816 corresponding to the connection test result (806, 807) (a message indicating that no address of the server 107 is available if that connection test has failed) in response to the second query 815 about the IPv6 address of the server 107. Upon reception of this response 816, the Web client 106 then transmits a name-lookup query about the IPv4 address, i.e., an A Query 817. The DNS server 109 similarly receives this name-lookup query (401 in FIG. 6), searches its own cache data 306 (402), and extracts the IPv4 address from the cache data that has undergone the address active/inactive status check process. After the DNS server 109 confirms that the check result is "OK" (Yes in 403, 407, and 408 in FIG. 6), it transmits a query response ("A" of "www.server.net"="172.16.0.1", "TTL=10000"), i.e., a Response A 818 (411).
Since the Web client 106 can successfully acquire the IPv4 address of the Web server 107 by the response 818, it establishes connection 819 using the IPv4 communication protocol, and acquires data from the Web server 107);
determining, by the policy agent at the recursive DNS server, that the policy applies to the first DNS request (Para:0063-0069 teaches how the domain name information is resolved 302 in fig.4 based on user preference, which includes polices and rules. Para: 0156-0158 teaches the cache is updated with recently obtained domain name information which contains TTL value);
determining, by the policy agent at the recursive DNS server, that the second value does not meet the condition of the first value specified by the policy (Figs. 5-7; and Para:0110-0111 teaches DNS Server 109 [recursive DNS server] set a R-TTL value [second value] for a requester after receiving a “cacheable duration” TTL value (C-TTL) [which is the first value herein] from an external DNS server 108 i.e., the “authoritative name server” and providing the requester the R-TTL value. Where the R-TTL value duration is shorter than the “cacheable duration” TTL value. Para:0139 and Para:0084 teaches the DNS server 109 notifies the client 106 of the expiration time "R-TTL" 705 (its value is, e.g., "0") shorter than the expiration time "C-TTL" 704 of the address of the server 107 obtained from the DNS server as the expiration time of the address of the server 107 (see, 510 and 511 in FIG. 7);
storing, in memory of the recursive DNS server, an association between the condition of the first value and the first DNS record based on the policy (Fig.10 and Para:0135- 0151 teaches storing, the association between the condition of the first value and the DNS record Para: 0156-0158 teaches updating local cache with domain name record which contains TTL value).
Nakazawa teaches all the above claimed limitations but fails to teach receiving, at a recursive DNS server, a policy associated with a DNS parameter, wherein the policy is associated with a client, the policy applies to the DNS request.
Linari teaches receiving, at a recursive DNS server, a policy associated with a DNS parameter, wherein the policy is associated with a client, the policy applies to the DNS request (Para:0004, Para:0025 teaches a customer 140 configures DNS records for its domain name(s) with the authoritative DNS resolver 110. These domain names may be associated with one or more customer assets 145a-145c (collectively, customer asset 145), such as content delivery networks (CDNs), each of which has a different IP address and can be resolved as the IP address corresponding to a given domain name. The customer 140 sets one or more dynamic steering policies for directing traffic to these IP addresses in response to domain name queries from users 121. For instance, a customer 140 may use a web-based interface to specify latency, availability, geolocation, and other criteria for determining which IP address to supply in response to a given DNS query from an end user 121. The network resources 199 may store the link data 180, subnet data 190, and/or asset data 195 corresponding to these criteria for use by the proxy server 130 in intelligent DNS forwarding. (Link data 180 and subnet data 190 can also be stored in memory data structures local to the proxy 130.) More generally, a dynamic steering policy includes criteria, data, and rules from the customer 140 and possibly from the end user 121 as well for supplying an IP address in response to a DNS query for one of the customer's domain names).
It would have been obvious to one of the ordinary skill in the art before the effective filing date of the invention was filed to modify Nakazawa to include receiving, at a recursive DNS server, a policy associated with a DNS parameter, wherein the policy is associated with a client, the policy applies to the DNS request as taught by Linari, such a setup can would improve DNS response performance.
10. Regarding claim 3 Nakazawa teaches the method wherein determining that the second value does not meet the condition of the first value specified by the policy comprises: determining that the second value is less than the first value (Figs. 5-7; and Para:0110-0111 teaches DNS Server set “a R-TTL value” for a requester after receiving a “cacheable duration” TTL value i.e., a “TTL value” from an external DNS server [“authoritative name server”] and providing the requester the R-TTL value. Where the R-TTL value duration is shorter than the “cacheable duration” TTL value (see, figs.7, elements.704,705).
Para:0139 and Para:0084 teaches the DNS server 109 notifies the client 106 of the expiration time "R-TTL" 705 (its value is, e.g., "0") shorter than the expiration time "C-TTL" 704 of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 (see, 510 and 511 in FIG. 7))..
11. Regarding claim 4 Nakazawa teaches the method, wherein the condition of the first value comprises a maximum time-to-live (“TTL”) value, wherein the second value comprises a TTL value for the first DNS record (Fig. 7; and Para:0110-0111 and Para 0139, Para:0084 teaches DNS Server [recursive DNS server] set a R-TTL value for a requester after receiving a “cacheable duration” TTL value i.e., a “TTL value” from an external DNS server i.e., a “authoritative name server” and providing the requester the R-TTL value. Where the R-TTL value duration is shorter than the “cacheable duration” TTL value).
12. Regarding claim 5 Nakazawa teaches the method further comprising: decrementing, at the recursive DNS server, the maximum TTL value stored in association with the first DNS record; and removing the first DNS record, from the memory of the recursive DNS server, in response to the maximum TTL value reaching a pre-determined value (Para:0130 teaches the DNS cache data is not allowed to be cached for the time beyond the TTL value. For this reason, the value of the cacheable duration C-TTL (cacheable duration notified from the external DNS server) 704 is decremented by 1 every second to check the C-TTL value 704, and the expired entry is deleted from the cache data 306 (to inactivate the address stored in the cache data 306 in accordance with its expiration time). The R-TTL (actual cacheable duration to the client) value 705 is decremented by 1 unless it is "0").
13. Regarding claim 6 Nakazawa teaches the method, further comprising: receiving, at the recursive DNS server from a first client device, a second DNS request for the first DNS record (Para:0052 and Fig.5, Para:0069-0083 teaches receiving at the DNS server the request);
generating, at the recursive DNS server, a third value by decreasing the maximum TTL value stored in the memory based on when the second DNS request was received; storing, in the memory of the recursive DNS server, an association between the third value and the first DNS record; and transmitting, from the recursive DNS server to the first client device, the first DNS record in response to the second DNS request (Nakazawa: Para:0130 teaches the DNS cache data is not allowed to be cached for the time beyond the TTL value. For this reason, the value of the cacheable duration C-TTL (cacheable duration notified from the external DNS server) 704 is decremented by 1 every second to check the C-TTL value 704, and the expired entry is deleted from the cache data 306 (to inactivate the address stored in the cache data 306 in accordance with its expiration time). The R-TTL (actual cacheable duration to the client) value 705 is decremented by 1 unless it is "0”).
14. Regarding claims 7,13, 18 Nakazawa teaches the method, the computer-readable storage media and the system further comprising: determining, by the policy agent at the recursive DNS server, that the policy applies to DNS requests received from a first client device, wherein the first DNS request is transmitted to the authoritative name server in response to receiving a second DNS request associated with the first domain name from the first client device (Para:0050-0052 and Para:0135- 0151 teaches the CPU 901 serves as generation means for generating a response message to the query about the address of the server 107 received from the client 106 . The CPU 901 makes a connection test with the server 107, using the address of the server 107, and generates a response message corresponding to the connection test result (a response message indicating that the address of the server 107 is not available if the connection test has failed). The CPU 901 also serves as notification means for notifying the client 106 of the address of the server 107 upon reception of the query about the address of the server 107 from the client 106. The CPU 901 sends a query about the address of the server 107 to the DNS server 108 in response to the query about the address of the server 107 from the client 106, and notifies the client 106 of the address of the server 107 and an expiration time shorter than that of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 in response to the query).
15. Regarding claims 8, 14, 19 Nakazawa teaches the method, the computer-readable storage media and the system further comprising: determining, by the policy agent at the recursive DNS server, that an address associated with a first client device is included in one or more addresses specified by the policy, wherein the first DNS request is transmitted to the authoritative name server in response to receiving a second DNS request associated with the first domain name from a first client device (Para:0050-0052 and Para:0135- 0151 teaches the CPU 901 serves as generation means for generating a response message to the query about the address of the server 107 received from the client 106 . The CPU 901 makes a connection test with the server 107, using the address of the server 107, and generates a response message corresponding to the connection test result (a response message indicating that the address of the server 107 is not available if the connection test has failed). The CPU 901 also serves as notification means for notifying the client 106 of the address of the server 107 upon reception of the query about the address of the server 107 from the client 106. The CPU 901 sends a query about the address of the server 107 to the DNS server 108 in response to the query about the address of the server 107 from the client 106, and notifies the client 106 of the address of the server 107 and an expiration time shorter than that of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 in response to the query).
16. Regarding claims 9, 15, 20 Nakazawa teaches the method, the computer-readable storage media, and the system further comprising determining, by the policy agent at the recursive DNS server, that the policy applies to DNS requests associated with the first domain name (Para:0050-0052 and Para:0135- 0151 teaches the CPU 901 serves as generation means for generating a response message to the query about the address of the server 107 received from the client 106 . The CPU 901 makes a connection test with the server 107, using the address of the server 107, and generates a response message corresponding to the connection test result (a response message indicating that the address of the server 107 is not available if the connection test has failed). The CPU 901 also serves as notification means for notifying the client 106 of the address of the server 107 upon reception of the query about the address of the server 107 from the client 106. The CPU 901 sends a query about the address of the server 107 to the DNS server 108 in response to the query about the address of the server 107 from the client 106, and notifies the client 106 of the address of the server 107 and an expiration time shorter than that of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 in response to the query).
17. Regarding claims 10,16, 21 Nakazawa teaches the method, the computer-readable storage media, and the system wherein the first DNS request is transmitted to the authoritative name server in response to receiving a second DNS request associated with the first domain name from a first client device, the method further comprising: transmitting, from the recursive DNS server, the first DNS record to the first client device (Para:0050-0052 and Para:0135- 0151 teaches the CPU 901 serves as generation means for generating a response message to the query about the address of the server 107 received from the client 106 . The CPU 901 makes a connection test with the server 107, using the address of the server 107, and generates a response message corresponding to the connection test result (a response message indicating that the address of the server 107 is not available if the connection test has failed). The CPU 901 also serves as notification means for notifying the client 106 of the address of the server 107 upon reception of the query about the address of the server 107 from the client 106. The CPU 901 sends a query about the address of the server 107 to the DNS server 108 in response to the query about the address of the server 107 from the client 106, and notifies the client 106 of the address of the server 107 and an expiration time shorter than that of the address of the server 107 obtained from the DNS server 108 as the expiration time of the address of the server 107 in response to the query).
18. Regarding claims 11 and 22 Nakazawa teaches the method wherein the DNS parameter comprises at least one of a domain name or an address associated with a device (Figs.1-2, Para:0063-0066 teaches the DNS parameter comprises the domain name).
19. Regarding claim 23 Nakazawa teaches the method receiving a second DNS request; and determining, by the policy agent, that the policy does not apply to the second DNS request (Figs.1-2, Para:0063-0066 teaches the DNS request).
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 DEREENA T CATTUNGAL whose telephone number is (571)270-0506. The examiner can normally be reached Mon-Fri: 7:30 AM-5 PM EST.
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, Lynn Feild can be reached on 571-272-2092. 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.
/DEREENA T CATTUNGAL/Primary Examiner, Art Unit 2431