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 . Claims 1-20 are currently pending.
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-4, 7-14, and 16-19 is/are rejected under 35 U.S.C. 102(a) (1) as being anticipated by Tang et al. (US 20190342157 A1).
Regarding claim 1, Tang et al. disclose a method comprising: establishing a socket tunnel between a client proxy running on a computing device in a first subnet and a server proxy running on a server on a second subnet (paragraph [0020] and fig. 1; master node may be included in a subnet and communicates with some nodes in different subnets (fig. 1) that include a proxy data router that can receive and then transmits messages/commands from the master node) (paragraph [0028]; communication across the nodes/devices via interconnected paths, direct data connection (tunnel)); receiving a discovery request from the server proxy, the discovery request directed to first subnet computing devices on the first subnet and/or services provided by the first subnet computing devices, the discovery request transmitted over the socket tunnel (paragraph [0022]; proxy data router on first node, which receives discovery request from master node, may forward the discover request to other nodes in different subsets); and transmitting a discovery reply to the server proxy, the discovery reply comprising discovery information responsive to a discovery request received from the server proxy, the discovery information regarding the first subnet computing devices (paragraph [0022]; Upon receiving the discovery requests, nodes may respond with the requested information. The information requested may include one or more of the nodes IP address, capabilities, current assigned task, specifications).
Regarding claim 2, Tang et al. further suggest in response to receiving the discovery request, reading discovery cache accessible to the client proxy to identify the discovery information regarding the first subnet computing devices, wherein transmitting the discovery reply to the server proxy is in response to identifying that the discovery information is present in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, node information is stored and sent in response to request).
Regarding claim 3, Tang et al. further suggest in response to the discovery information not being present on the discovery cache: transmitting the discovery request to the first subnet computing devices; receiving discovery information from at least a portion of the first subnet computing devices; and storing the received discovery information in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, changed/updated node information was not present before the update).
Regarding claim 4, Tang et al. further suggest wherein the discovery request complies with a multicast discovery request protocol and/or wherein the client proxy transmits the discovery request via a multicast port (paragraph [0033]; discovery requests/commands may be broadcasted) (paragraph [0028]; communication can be done via hypertext transfer protocol (HTTP)) (paragraph [0037]; discovery request is broadcast via agent interface (port)).
Regarding claim 7, Tang et al. further suggest wherein the first subnet computing devices comprise the computing device with the client proxy (figs. 1-2; nodes in respective subnets comprise task executors with proxy data router/forwarding controller).
Regarding claim 8, Tang et al. further suggest wherein the server is a management server and wherein one or more of the first subnet computing devices comprise a management controller in communication with the management server (fig. 1 and fig. 2; server is a master node and nodes with management agents (with forwarding controllers) in communication with the master node).
Regarding claim 9, Tang et al. further suggest wherein the client proxy executes on the management controller of the computing device with the client proxy (fig. 2; proxy data router/forwarding controller with management agent).
Regarding claim 10, Tang et al. further suggest wherein code for execution of the client proxy is installed on two or more of the first subnet computing devices and the code for the client proxy is executed on a managing computing device of the first subnet computing devices selected to manage discovery requests (fig. 1).
Regarding claim 11, Tang et al. further suggest wherein the discovery request and the discovery reply are formulated using a multicast discovery protocol comprising one of simple service discovery protocol (“SSDP”) and service location protocol (“SLP”) and wherein the socket tunnel uses a WebSocket, a transmission control protocol (“TCP”) socket, hypertext transfer protocol (“HTTP”) socket, hypertext transfer protocol secure (“HTTPS”) socket, a user datagram protocol (“UDP”) socket, and/or a Quick UDP Internet Connections (“QUIC”) socket (paragraph [0033]; discovery requests/commands may be broadcasted) (paragraph [0028]; communication can be done via hypertext transfer protocol (HTTP)).
Regarding claim 12, Tang et al. disclose an apparatus comprising: a processor; and non-transitory computer readable storage media storing code, the code being executable by the processor to perform operations comprising: establishing a socket tunnel between a client proxy running on a computing device in a first subnet and a server proxy running on a server on a second subnet (paragraph [0020] and fig. 1; master node may be included in a subnet and communicates with some nodes in different subnets (fig. 1) that include a proxy data router that can receive and then transmits messages/commands from the master node) (paragraph [0028]; communication across the nodes/devices via interconnected paths, direct data connection (tunnel)); receiving a discovery request from the server proxy, the discovery request directed to first subnet computing devices on the first subnet and/or services provided by the first subnet computing devices, the discovery request transmitted over the socket tunnel (paragraph [0022]; proxy data router on first node, which receives discovery request from master node, may forward the discover request to other nodes in different subsets); and transmitting a discovery reply to the server proxy, the discovery reply comprising discovery information responsive to a discovery request received from the server proxy, the discovery information regarding the first subnet computing devices (paragraph [0022]; Upon receiving the discovery requests, nodes may respond with the requested information. The information requested may include one or more of the nodes IP address, capabilities, current assigned task, specifications).
Regarding claim 13, Tang et al. further suggest in response to receiving the discovery request, reading discovery cache accessible to the client proxy to identify the discovery information regarding the first subnet computing devices, wherein transmitting the discovery reply to the server proxy is in response to identifying that the discovery information is present in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, node information is stored and sent in response to request).
Regarding claim 14, Tang et al. further suggest in response to the discovery information not being present on the discovery cache: transmitting the discovery request to the first subnet computing devices; receiving discovery information from at least a portion of the first subnet computing devices; and storing the received discovery information in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, changed/updated node information was not present before the update).
Regarding claim 16, Tang et al. further suggest wherein the server is a management server and wherein one or more of the first subnet computing devices comprise a management controller in communication with the management server (fig. 1 and fig. 2; server is a master node and nodes with management agents (with forwarding controllers) in communication with the master node) and wherein the client proxy executes on the management controller of the computing device with the client proxy (fig. 2; proxy data router/forwarding controller with management agent).
Regarding claim 17, Tang et al. further suggest wherein: the discovery request and the discovery reply are formulated using a multicast discovery protocol comprising one of simple service discovery protocol (“SSDP”) and service location protocol (“SLP”); and/or the socket tunnel uses a WebSocket, a transmission control protocol (“TCP”) socket, hypertext transfer protocol (“HTTP”) socket, hypertext transfer protocol secure (“HTTPS”) socket, a user datagram protocol (“UDP”) socket, and/or a Quick UDP Internet Connections (“QUIC”) socket.
Regarding claim 18, Tang et al. disclose a program product comprising a non-transitory computer readable storage medium storing code, the code being configured to be executable by a processor to perform operations comprising: establishing a socket tunnel between a client proxy running on a computing device in a first subnet and a server proxy running on a server on a second subnet (paragraph [0020] and fig. 1; master node may be included in a subnet and communicates with some nodes in different subnets (fig. 1) that include a proxy data router that can receive and then transmits messages/commands from the master node) (paragraph [0028]; communication across the nodes/devices via interconnected paths, direct data connection (tunnel)); receiving a discovery request from the server proxy, the discovery request directed to first subnet computing devices on the first subnet and/or services provided by the first subnet computing devices, the discovery request transmitted over the socket tunnel (paragraph [0022]; proxy data router on first node, which receives discovery request from master node, may forward the discover request to other nodes in different subsets); and transmitting a discovery reply to the server proxy, the discovery reply comprising discovery information responsive to a discovery request received from the server proxy, the discovery information regarding the first subnet computing devices (paragraph [0022]; Upon receiving the discovery requests, nodes may respond with the requested information. The information requested may include one or more of the nodes IP address, capabilities, current assigned task, specifications).
Regarding claim 19, Tang et al. further suggest in response to receiving the discovery request, reading discovery cache accessible to the client proxy to identify the discovery information regarding the first subnet computing devices, wherein transmitting the discovery reply to the server proxy is in response to identifying that the discovery information is present in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, node information is stored and sent in response to request).
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.
The factual inquiries 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.
Claim(s) 5, 6, 15, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tang et al. (US 20190342157 A1) in view of Prabhakaran et al. (US 20190208009 A1).
Regarding claim 5, Tang et al. disclose all the subject matter of the claimed invention as recited in claim 1 above without explicitly suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy. However, Prabhakaran et al. from the same or similar field of endeavor suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy (claims 16, 18; response to acceptance of the workload request/service discover request to select computing resource. Workload request/service discover request based on identifier of an application that issued the request, header information in a packet that provided the request, an accepted token provided with the request). 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 in Tang et al.’s method/system where a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy as suggested by Prabhakaran et al. The motivation would have been to provide compute resource to accelerate the decisions about which implementation, which set of domains/partitions may be considered by a resource assignment scheme responsive to the workload request (paragraph [0032]).
Regarding claim 6, Prabhakaran et al. further suggest adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag (claims 16, 18; response to acceptance of the workload request/service discover request to select computing resource. Workload request/service discover request based on identifier (tag) of an application that issued the request, header information in a packet that provided the request, an accepted token provided with the request).
Regarding claim 15, Tang et al. disclose all the subject matter of the claimed invention as recited in claim 1 above without explicitly suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag. However, Prabhakaran et al. from the same or similar field of endeavor suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag (claims 16, 18; response to acceptance of the workload request/service discover request to select computing resource. Workload request/service discover request based on identifier (tag) of an application that issued the request, header information in a packet that provided the request, an accepted token provided with the request). 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 in Tang et al.’s method/system where a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag as suggested by Prabhakaran et al. The motivation would have been to provide compute resource to accelerate the decisions about which implementation, which set of domains/partitions may be considered by a resource assignment scheme responsive to the workload request (paragraph [0032]).
Regarding claim 20, Tang et al. further suggest in response to the discovery information not being present on the discovery cache: transmitting the discovery request to the first subnet computing devices; receiving discovery information from at least a portion of the first subnet computing devices; and storing the received discovery information in the discovery cache (paragraph [0046]; the ad-master can communicate with the nodes in the first subnet through the first router to send requests and commands and to receive information in response. The ad-master can broadcast a discovery request to nodes connected to the first router. If any nodes have been connected or changed status since the last such discovery request, the ad-master may receive data from the node and update the node information stored on the ad-master to reflect the changes. So, changed/updated node information was not present before the update). However, Tang et al. may not explicitly suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag. Prabhakaran et al. from the same or similar field of endeavor suggest wherein a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag (claims 16, 18; response to acceptance of the workload request/service discover request to select computing resource. Workload request/service discover request based on identifier (tag) of an application that issued the request, header information in a packet that provided the request, an accepted token provided with the request). 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 in Tang et al.’s method/system where a header of the discovery request comprises an application tag, the application tag corresponding to an application initiating the discovery request and transmitting the discovery request to the server proxy and adding the application tag to the discovery reply prior to transmission of the discovery reply, wherein the server proxy transmits the discovery reply to the application based on the application tag as suggested by Prabhakaran et al. The motivation would have been to provide compute resource to accelerate the decisions about which implementation, which set of domains/partitions may be considered by a resource assignment scheme responsive to the workload request (paragraph [0032]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HOANG-CHUONG Q VU whose telephone number is (571)270-3945. The examiner can normally be reached Monday-Friday (9:30-5:30 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, AYAZ SHEIKH can be reached at 571-272-3795. 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.
HOANG-CHUONG Q. VU
Primary Examiner
Art Unit 2476
/HOANG-CHUONG Q VU/Primary Examiner, Art Unit 2476