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 .
DETAILED ACTION
This action is in response to communication filed on 8/6/2026.
Claims 18-38 are pending.
Claims 19-34 and 38 have been amended.
Response to Arguments.
Claim rejections under 35 USC § 101 is withdrawn.
Applicant’s argument(s) filed on 8/6/2026with respect to claim(s) 18-38 have been considered but are moot in view of the new ground(s) of rejection.
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 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.
1. Claim(s) 19, 20,23, 25, 27, 31, 34, 35, and 37-38 are rejected under 35 U.S.C. 103 as being unpatentable over Kommula (US 20100082787 A1) in view of Johnson (US 7886023 B1).
With respect to independent claims:
Regarding claim(s) 19, Kommula teaches a non-transitory computer readable medium containing instructions that when executed by at least one processor cause the at least one processor to perform network connection operations comprising:(Kommula, FIG.1 shows servers and switches. [0023] For example, such software to perform portions of the algorithm may be present at the GSLB switch 12 in one embodiment and executed by the switch controller 401. [examiner notes: a processor (CPU) and memory (RAM/flash) are inherent, built-in physical components of both hardware servers and network switches.]) accessing a cloud service via a client device, the cloud service containing real-time network information including a real-time server load for a plurality of network servers, (Kommula, [0017] FIG. 1 also shows client program 28 connected to Internet 14, and communicates with local DNS server 30. When a browser on client 28 requests a web page, for example, using a Universal Resource Locator (URL), such as http://www.foundrynet.com/index.htm, a query is sent to local DNS server 30 to resolve the symbolic host name www.foundrynet.com to an IP address of a host server. The client program receives from DNS server 30 a list of IP addresses corresponding to the resolved host name. This list of IP addresses is either retrieved from local DNS server 30's cache, if the TTL of the responsive IP addresses in the cache has not expired, or obtained from GSLB switch 12, as a result of a recursive query. Unlike the prior art, however, this list of IP addresses is ordered by GSLB switch 12 based on performance metrics described in further detail below.)
receiving from the cloud service, identities of a plurality of candidate servers from among the plurality of network servers, (Kommula, [0026] FIG.2A; after act 105, if the top entries on the list of IP addresses do not have equal RTTs, the list of IP addresses of the site switches is returned to client program 28 at act 108.) wherein, based on the real time network information, the plurality of candidate servers meet criteria for potential establishment of a network connection with the client device; (Kommula, [0022]-[0029] FIG.2A; after act 105, if the top entries on the list of IP addresses do not have equal RTTs, the list of IP addresses of the site switches is returned to client program 28 at act 108. After act 107, if multiple sites are of equal rank for the best site, the IP addresses can then be reordered based upon site connection load (act 114). The connection-load metric feature allows comparison of sites based on the connection-load on their respective agent (e.g., at the metric agent 407 of the site ServerIron switch 18A in FIG. 3, for instance). The connection-load is a measure of new connections-per-second on the agent 407 in one embodiment. An administrator can set a threshold limit for the connection-load to pass a given site;)
selecting a server based on the determined communication characteristics; (Kommula, [0050] Upon receipt of the IP address list, the client program 28 uses the best IP address selected (i.e., the top of the list) to establish a TCP connection with a host server.)
and establishing a network connection between the client device and the selected server. (Kommula, [0050] Upon receipt of the IP address list, the client program 28 uses the best IP address selected (i.e., the top of the list) to establish a TCP connection with a host server.)
Kommula does not teach transmitting probe packets from the client device to at least some of the plurality of candidate servers; receiving responses to the probe packets; determining from the responses, communication characteristics for at least some of the transmitted probe packets;
Johnson however in the same field of computer networking teaches transmitting probe packets from the client device to at least some of the plurality of candidate servers; (Johnson, col.5, lines 25-53; FIG.1; in Step 2, the central server 120 a returns N servers to the client 140 a in at least one communication packet comprising a subset or the entire candidate server selection list 240. After receiving the candidate server selection list in Step 2, the client 140 a parses the candidate server selection list 240 to access the addresses corresponding to the candidate servers 130. In Steps 3 through 6, the client interrogates a subset of the candidate servers in the candidate server selection list 240 by issuing probes to the candidate servers. In the example shown, the probes are issued to server 3, server_5, server_6, and server_7. For simplicity, the probes simply indicate round-trip time from the client 140 a to the servers 130 and back to the client 140 a. A probe may be in the foini of a “ping” or a “traceroute” when measuring round-trip time. Other forms of probes may access the servers for congestion or load metrics, or have the servers perform some processing in order to determine the load, processing delay, or other forms of information that may be used to determine best network connectivity, least loading, or other congestion effects.)
receiving responses to the probe packets; (Johnson, col.5, lines 25-53; FIG.1; in Step 2, the central server 120 a returns N servers to the client 140 a in at least one communication packet comprising a subset or the entire candidate server selection list 240. After receiving the candidate server selection list in Step 2, the client 140 a parses the candidate server selection list 240 to access the addresses corresponding to the candidate servers 130. In Steps 3 through 6, the client interrogates a subset of the candidate servers in the candidate server selection list 240 by issuing probes to the candidate servers. In the example shown, the probes are issued to server 3, server_5, server_6, and server_7. For simplicity, the probes simply indicate round-trip time from the client 140 a to the servers 130 and back to the client 140 a. A probe may be in the foini of a “ping” or a “traceroute” when measuring round-trip time. Other forms of probes may access the servers for congestion or load metrics, or have the servers perform some processing in order to determine the load, processing delay, or other forms of information that may be used to determine best network connectivity, least loading, or other congestion effects.)
determining from the responses, communication characteristics for at least some of the transmitted probe packets; (Johnson, col.2, lines 41-60; the DNS proxy further selects the server as being a best-fit server as determined by the results of probing each candidate server. In this DNS case, the first candidate server to respond to the probe is selected by the DNS server as the best-fit server and that candidate server's address is returned to the client.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of Johnson. The motivation/suggestion would have been because there is a need to provide an optimum technique for server selection in an automated manner (Johnson, col.1).
Claim(s) 34 and 38 is/are substantially similar to claim 19, and is thus rejected under substantially the same rationale.
With respect to dependent claims:
Regarding claim(s) 20, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on geographical proximity to the client device. (Kim, [0009] Examples of suitable performance metrics include availability metrics (e.g., a server's or an application's health), load metrics (e.g., a site switch's session capacity or a corresponding preset threshold), and proximity metrics (e.g., a round-trip time between the site switch and a requesting DNS server, the geographic location of the host server, the topological distance between the host server and the client program). (A topological distance is the number of hops between the server and the client). Another proximity metrics is the site switch's “flashback” speed (i.e., how quickly a switch receives a health check result). Yet another metric is a connection-load metric that is based on a measure of new connections-per-second at a site. The ordered list can also be governed by other policies, such as the least selected host server.
Regarding claim(s) 22, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on network load. (Kommula, [0022]-[0029] FIG.2A; after act 105, if the top entries on the list of IP addresses do not have equal RTTs, the list of IP addresses of the site switches is returned to client program 28 at act 108. After act 107, if multiple sites are of equal rank for the best site, the IP addresses can then be reordered based upon site connection load (act 114). The connection-load metric feature allows comparison of sites based on the connection-load on their respective agent (e.g., at the metric agent 407 of the site ServerIron switch 18A in FIG. 3, for instance). The connection-load is a measure of new connections-per-second on the agent 407 in one embodiment. An administrator can set a threshold limit for the connection-load to pass a given site;)
Regarding claim(s) 23, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on communication latency. (Kommula, [0026] After act 102, if the IP address list has multiple IP addresses (act 103), the remaining IP addresses on the list can then be reordered in act 104 based upon a round-trip time (RTT) between the site switch for the IP address (e.g., site switch 18B) and the client (e.g., client 28).)
Regarding claim(s) 25, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on server load. (Kommula, [0022]-[0029] FIG.2A; after act 105, if the top entries on the list of IP addresses do not have equal RTTs, the list of IP addresses of the site switches is returned to client program 28 at act 108. After act 107, if multiple sites are of equal rank for the best site, the IP addresses can then be reordered based upon site connection load (act 114). The connection-load metric feature allows comparison of sites based on the connection-load on their respective agent (e.g., at the metric agent 407 of the site ServerIron switch 18A in FIG. 3, for instance). The connection-load is a measure of new connections-per-second on the agent 407 in one embodiment. An administrator can set a threshold limit for the connection-load to pass a given site;)
Regarding claim(s) 27, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on a history of connectivity with the client device. (Johnson, col.5, line 66; col.6, lines 1-7; clients may also maintain some historical information about which candidate servers have tended to provide the best service in order to bias the selection of candidate servers to be probed.)
The same motivation to combine as the independent claim 1 applies here.
Regarding claim(s) 31, the non-transitory computer readable medium of claim 30,
Kommula-Johnson-Nakayama teach wherein the threshold level of network performance is associated with communication latency. (Kommula, [0026] After act 102, if the IP address list has multiple IP addresses (act 103), the remaining IP addresses on the list can then be reordered in act 104 based upon a round-trip time (RTT) between the site switch for the IP address (e.g., site switch 18B) and the client (e.g., client 28). The RTT is computed for the interval between the time when a client machine requests a TCP connection to a proxy server configured on a site switch, sending the proxy server a TCP SYN packet, and the time a site switch receives from the client program a TCP ACK packet. (In response to the TCP SYN packet, a host server sends a TCP SYN ACK packet, to indicate acceptance of a TCP connection; the client machine returns a TCP ACK packet to complete the setting up of the TCP connection.) The GSLB switch (e.g., GSLB switch 12) maintains a database of RTT, which it creates and updates from data received periodically from the site switches (e.g., site switches 18A, 18B, 22A and 22B). Each site collects and stores RTT data for each TCP connection established with a client machine. In one embodiment, the GSLB switch favors one host server over another only if the difference in their RTTs with a client machine is greater than a specified percentage, the default specified percentage value being 10%, for example. To prevent bias, the GSLB switch ignores, by default, RTT values for 5% of client queries from each responding network, for example. After act 105, if the top entries on the list of IP addresses do not have equal RTTs, the list of IP addresses is returned to client program 28 at act 108.)
Claim(s) 35 is/are substantially similar to claim 20, and is thus rejected under substantially the same rationale.
Claim(s) 37 is/are substantially similar to claim 22, and is thus rejected under substantially the same rationale.
2. Claim(s) 21, 28, 29 and 36 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kommula in view of Johnson further in view of Kim (US 20120166394 A1).
Regarding claim(s) 21, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on user preferences. (Kim, [0040] The priorities may be determined based on a client preference of the selected target zone groups.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of Kim. The motivation/suggestion would have been because there is a need to overcome such disadvantages of a typical distributed storage system (Kim, [0023]).
Regarding claim(s) 28, the non-transitory computer readable medium of claim 19,
Kommula-Johnson teach wherein the determined communication characteristics for selecting the server include user preferences. (Kim, [0040] The priorities may be determined based on a client preference of the selected target zone groups. Furthermore, the priorities may be determined based on the locations of the client and the zone groups and the data nodes, but the present invention is not limited thereto. Such priorities may denote a ranking of each data node or each zone group. The priorities may indicate a suitability level of a data node for storing a target object, as compared to other data node or other zone group. [0041] The priorities may include a zone group priority and a data node priority. The zone group priority may denote a suitability level of a respective zone group for storing a target object, as compared to other zone group. The data node priority may denote a suitability level of a respective data node for storing a target object, as compared to other data node. Such priorities may be determined based on a client preference of a data node zone or a data node for a target object. Furthermore, the priorities may be determined automatically by the proxy server or the location-aware server. The priorities will be described in more detail later.)
The same motivation to combine as the dependent claim 21 applies here.
Regarding claim(s) 29, the non-transitory computer readable medium of claim 28,
Kommula-Johnson teach wherein the user preferences include a location associated with a geolocation IP service. (Kim, [0040] The priorities may be determined based on a client preference of the selected target zone groups. [0051] In order to select the target data nodes, proxy server 250 may consider available storage capacity and object storage history of data nodes belonging to the same zone group. That is, proxy server 250 may assign priorities to the data nodes included in the same zone group in consideration of the available storage capacity and the object storage history of the data nodes. Thereafter, proxy server 250 may determine a data node having the highest priority as a target data node. [0055] Location-aware server 620 may be used to select target zone groups that may be close to the location of the client. Location-aware server 620 may be an independent device from proxy server 650 or 250 (see FIG. 2 and FIG. 6). Embodiments, however, are not limited thereto. For example, location-aware server 620 may be integrated with proxy server 650, in accordance with embodiments. In case of using location-aware server 620, location-aware server 620 may select target zone groups based on locations of the zone groups and the client, for example distances between zone groups and a respective client. Location-aware server 620 may determine priorities of the selected target zone groups, based on distances between the selected target zone groups and the client. Proxy server 250 or 650 may select one target data node from each one of the selected target group zones selected by location-aware server 620. Proxy server 250 or 650 may update metadata database 280 or 680 using the data node list of the selected target data nodes and the selected target zone group. When proxy server 250 or 650 transmits the data node list and the priorities of the target zone groups to the client, the client may store a target object in one of the target data nodes and perform a replication process to store replicas of the target object in other target data nodes. [0075] Location-aware server 620 may determine the physical location of the client based on an IP address of the client, but embodiments are not limited thereto. Beside the physical location of the client, various factors may be considered to select the zone group.)
The same motivation to combine as the dependent claim 21 applies here.
Claim(s) 36 is/are substantially similar to claim 21, and is thus rejected under substantially the same rationale.
3. Claim(s) 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kommula in view of Johnson further in view of Lu (US 20230083907 A1).
Regarding claim(s) 24, the non-transitory computer readable medium of claim 19,
Kommula-Johnson do not teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on a local language.
Lu however in the same field of computer networking teaches wherein the plurality of candidate servers are selected from among the plurality of network servers based on a local language. (Lu, [0020] Preferably, more than one of the plurality of regional servers has the designated region that matches the region information, and the method further comprises the step of selecting the regional server based on latency or workload or language considerations.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of Lu. The motivation/suggestion would have been because there is a need to solve the aforementioned problems by reducing latency of players while being scaled efficiently (Lu, [0005]).
4. Claim(s) 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kommula in view of Johnson further in view of Sussman (US 20200311769 A1).
Regarding claim(s) 26, the non-transitory computer readable medium of claim 19,
Kommula-Johnson do not teach wherein the plurality of candidate servers are selected from among the plurality of network servers based on network traffic predictions.
Sussman however in the same field of computer networking teaches wherein the plurality of candidate servers are selected from among the plurality of network servers based on network traffic predictions. (Sussman, [0127] For example, servers 308a and 308b may be selectively activated/deactivated based on predicted traffic for the website.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of Sussman. The motivation/suggestion would have been because there is a need to enhance the consumer experience while browsing the website (Sussman, [0]).
5. Claim(s) 30 and 32 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kommula in view of Johnson further in view of Nakayama (US 20110276982 A1).
Regarding claim(s) 30, the non-transitory computer readable medium of claim 19,
Kommula-Johnson do not teach wherein the determined communication characteristics for selecting the server include a prediction for meeting a threshold level of network performance.
Nakayama however in the same field of computer networking teaches wherein the determined communication characteristics for selecting the server include a prediction for meeting a threshold level of network performance. (Nakayama, [0046] In the memory 12, a packet loss rate predicting module 16 monitors a packet loss taking place between the load balancer 1 and each AP server, to predict a packet loss rate. [0047] Based on resources available for each virtual server and the predicted value of the packet loss, a server selecting module 17 determines a virtual server to which a request is to be transferred. [0085] If the packet loss rate occurring in the virtual switch exceeds a threshold (yes in step 1501), any virtual server connected to the virtual switch in which the packet loss rate exceeds the threshold is excluded from the candidates of the request transfer destination (step 1502).)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of Nakayama. The motivation/suggestion would have been because there is a need to improve the overall system processing performance (Nakayama, [0004]).
Regarding claim(s) 32, the non-transitory computer readable medium of claim 30,
Kommula-Johnson-Nakayama wherein the threshold level of network performance is associated with packet loss. (Nakayama, [0046] In the memory 12, a packet loss rate predicting module 16 monitors a packet loss taking place between the load balancer 1 and each AP server, to predict a packet loss rate. [0047] Based on resources available for each virtual server and the predicted value of the packet loss, a server selecting module 17 determines a virtual server to which a request is to be transferred. [0085] If the packet loss rate occurring in the virtual switch exceeds a threshold (yes in step 1501), any virtual server connected to the virtual switch in which the packet loss rate exceeds the threshold is excluded from the candidates of the request transfer destination (step 1502).)
The same motivation to combine as the dependent claim 30 applies here.
6. Claim(s) 33 is/are rejected under 35 U.S.C. 103 as being unpatentable over Kommula in view of Johnson in view of Nakayama further in view of GARCIA DURAN (US 20190132422 A1).
Regarding claim(s) 33, the non-transitory computer readable medium of claim 30,
Kommula-Johnson-Nakayama do not teach wherein the threshold level of network performance is associated with jitter.
GARCIA DURAN however in the same field of computer networking teaches wherein the threshold level of network performance is associated with jitter. (GARCIA DURAN, [0030] In a step S7, the network metric selected in step S5 is predicted for each of the candidate servers using the network performance model of the selected network metric from step S3. Then, in a step S8, the server having the best predicted performance for the selected metric is assigned to deliver the requested resource. [0034] Once the model of the network has been obtained, it can be used to predict the metrics expected among every pair of client and server in the network. The model can output the expected jitter for every potential connection between client and server. Customizable rules can be used to aid in the selection of the most appropriate server. Each time a client needs to start a connection, the system will calculate the expected metrics for the client, returning the best set of servers given the specific rules for the requested service (e.g., the servers with least jitter and bandwidth over a given threshold.). In the case of a client with no prior measurements done in the system, the legacy assignment system can be used (e.g., geographically close server or random).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to modify Kommula by incorporating the teachings of GARCIA DURAN. The motivation/suggestion would have been because there is a need to provide better service for the clients and the resources can be provided with fewer problems because the selection is based on a specified metric for the service requested (GARCIA DURAN, [0016]).
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 extension fee 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 date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WUJI CHEN whose telephone number is (571)270-0365. The examiner can normally be reached on 9am-6pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, VIVEK SRIVASTAVA can be reached on (571) 272-7304. 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.
/WUJI CHEN/
Examiner, Art Unit 2449
/VIVEK SRIVASTAVA/Supervisory Patent Examiner, Art Unit 2449