DETAILED ACTION
This Office Actions is in response to communication (Amendment) filed on 09/05/2025.
Claims 1 – 18, 20 and 22 are pending. Claims 1, 17, 18, 20, and 22 are in independent form. Claims 19 and 21 are cancelled. Claims 1, 2, 6, 17, 20, and 22 are amended. This action is Final.
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
The applicant’s remarks and/or arguments, filed on 09/05/2025 have been fully considered with the following result(s).
The examiner is entitled to give claim limitations their broadest reasonable interpretation in light of the specification. See MPEP 2111 [R-1] Interpretation of Claims-Broadest Reasonable Interpretation. The applicant always has the opportunity to amend the claims during prosecution, and broad interpretation by the examiner reduces the possibility that the claim, once issued, will be interpreted more broadly than is justified. In re Prater, 162 USPQ 541,550-51 (CCPA 1969).
Response to 35 U.S.C. § 101 Remarks
Applicant’s argument filed on 09/05/2025 regarding 35 U.S.C. § 101 rejections have been fully considered but they are not persuasive.
Regarding the remark that “independent claims 1 and 20 recite "a representational state transfer, REST, server of a REST based distributed IoT network" ........ and independent claims 17 and 22 recite "a representational state transfer, REST, server of a REST based distributed IoT network," ....... These features of the independent claims are not an abstract idea.” The examiner fully considers and agree that these features are not an abstract idea, as these features are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception
Regarding the remark that “independent claims 1 and 20 recite " and "associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data," ........ and independent claims 17 and 22 recite " ........ and "wherein associating the first output data comprises associating the first resource type value with a resource identifier for retrieving the first output data." These features of the independent claims are not an abstract idea.” The examiner fully considers, but respectfully disagrees, and would like to point out that the limitations “associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data” is considered as an abstract idea. For example, a person can perform the associating/assigning output data with resource type, or assigning an identifier to an output data, in their mind, including with the aid of pen and paper, but for the recitation of generic computer components. (See above 101 rejections for more details).
Regarding the remark that the claims recite specific features that provide a technical solution in the field of machine learning operations. The specification identifies a technical problem that "a computational graph can be too resource consuming for a single device (e.g., an Internet-of- Things (IoT) device) to execute (i.e., perform all of the operations defined by the computational graph)." The examiner fully considers, but respectfully disagrees that the claims recite specific features that provide a technical solution in the field of machine learning operations. The current claims are not claiming the “technical solution in the field of machine learning operations”. The current claim language, under BRI, merely recites a device/method that take an input and perform the operations using the input to generate an output and assigns an identifier to the output for retrieving the output. There is no limitation that would reflect the “technical solution” or an improvement that describe in the paragraph [0004]: “the set of operations defined by the computational graph are processed in a distributed manner (especially in a constrained environment) such that a group of devices (e.g., resource constrained devices) cooperate to perform the set of operations.”
Moreover, the examiner would like to point out that the limitation “performing the first subset of operations......” fall within the “Mental Processes” grouping of abstract ideas because in the paragraph [0048] from the specs discloses “computing the first output data160 comprises performing the first subset of operations using the received input data150, thereby producing the first output data160. For example, the first output data160 may be equal to a function of the input data150 (i.e., y = f(x) where y corresponds to the first output data160, x corresponds to the input data150, and f corresponds to the first subset of operations). The computed first output data160 may be stored in first device102.” Since the output data is a result of performing the function y = f(x), with x corresponds to the input, the limitation “performing the first subset of operations......” could reasonably be performed in the mind, including with the aid of pen and paper, because the claims do not indicate the complexity the “operations” or “function”. A simple “operations” or “function” would be very reasonable performed in the mind, including with the aid of pen and paper.
Thus, based on all of the above explanation, the examiner finds these arguments
unpersuasive and maintains that the rejection under 35 U.S.C. § 101 is proper.
Response to 35 U.S.C. § 103 Remarks
Applicant’s argument filed on 09/05/2025 regarding 35 U.S.C. § 103 rejections have been fully considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Specification
The abstract of the disclosure is objected to because the abstract is not written in the correct format. 37 CFR 1.72 requires that the abstract should be in narrative form and generally limited to a single paragraph on a separate sheet within the range of 50 to 150 words in length.
A patent abstract is a concise statement of the technical disclosure of the patent and should include that which is new in the art to which the invention pertains. The abstract should not refer to purported merits or speculative applications of the invention and should not compare the invention with the prior art.
If the patent is of a basic nature, the entire technical disclosure may be new in the art, and the abstract should be directed to the entire disclosure. If the patent is in the nature of an improvement in an old apparatus, process, product, or composition, the abstract should include the technical disclosure of the improvement. The abstract should also mention by way of example any preferred modifications or alternatives.
Where applicable, the abstract should include the following: (1) if a machine or apparatus, its organization and operation; (2) if an article, its method of making; (3) if a chemical compound, its identity and use; (4) if a mixture, its ingredients; (5) if a process, the steps.
See MPEP § 608.01(b) for guidelines for the preparation of patent abstracts.
Appropriate correction is required
Claim Objections
Claims 1, 17, 20, and 22 are objected to because of the following informalities: “distributed IoT network”. The examiner suggests to fully spell out the “IoT” as “Internet of Thing (IoT)”, as disclose at [0004] from the Specification.
Appropriate correction is required.
Claim 22 is objected to because of the following informalities: “A representational REST server transfer, REST, server of a REST based distributed IoT network, the apparatus comprising”. The examiner suggests to change the “A representational REST server transfer” to “A representational state transfer” and the “apparatus comprising” to “REST server comprising”.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 1 – 18, 20 and 22 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception.
With regard to claims 1, 17, 18, 20, and 22 these claims are within at least one of the four categories of patent eligible subject matter as it is directing to:
Step 1:
Claim 1 and 17 are directed to a method and fall within the statutory category of process;
Claim 18 is directed to a non-transitory computer readable storage medium and fall within the statutory category of manufacture.
Claim 20 and 22 are directed to a system and falls within the statutory category of machines;
Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes, under step 1.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
The limitations:
Claim 1 and claim 18: ...... performing the first subset of operations using the received input data, thereby producing first output data corresponding to the first subset of operations; associating the first output data with a first resource type value identifying a first resource type, and associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data.
Claim 17: selecting a first subset of one or more operations from the set of two or more operations; selecting a second subset of one or more operations from the set of two or more operations; assigning the first subset of operations to at least a first device; assigning the second subset of operations to at least a second device; ....... performing the first subset of operations .......; ........ associating the first output data with a first resource type value identifying a first resource type, wherein associating the first output data comprises associating the first resource type value with a resource identifier for retrieving the first output data; ........ performing the second subset of operations.
Claim 20: performing the first subset of operations using the received input data, thereby producing first output data corresponding to the first subset of operations; associating the first output data with a first resource type value identifying a first resource type; ......... associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data.
Claim 22: selecting a first subset of one or more operations from the set of two or more operations; selecting a second subset of one or more operations from the set of two or more operations; assigning the first subset of operations to at least a first device; assigning the second subset of operations to at least a second device; performing the first subset of operations; ......... associating the first output data with a first resource type value identifying a first resource type, wherein associating the first output data comprises associating the first resource type value with a resource identifier for retrieving the first output data.
as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. For example, a person can perform the subset of operations using the received input data, analyzing the information to generate the output data, or associating/assigning output data with resource type, or performing the selection of subset of one or more operations, or performing certain functions, in their mind, and/or including with the aid of pen and paper. (See MPEP § 2106.04(a)(2)(III)).
That is, the above limitations in the claims 1, 17, 18, 20 and 22, as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 Step 2A.
Step 2A Prong 2:
Under Prong 2 Step 2A, this judicial exception is not integrated into a practical application. The claims recite the following additional elements:
Claim 1: A method for generating output data based on a computational graph, the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network, the method comprising: a first device......
Claim 17: A method, the method performed by a representational state transfer, REST, server of a REST based distributed IoT network, the method comprising
Claim 18: A non-transitory computer readable storage medium storing a computer program comprising instructions which when executed by processing circuitry cause the processing circuitry to perform the method of claim 1.
Claim 20: A representational state transfer, REST, server of a REST based distributed IoT network for generating output data based on a computational graph, the REST server comprising: processing circuitry; and memory, the memory containing instructions executable by the processing circuitry for configuring the REST server to perform a method comprising......
Claim 22: A representational REST server transfer, REST, server of a REST based distributed IoT network, the apparatus comprising: processing circuitry; and memory, the memory containing instructions executable by the processing circuitry for configuring the REST server to perform a method comprising
are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception.
Further, the claims recite the following additional elements:
Claim 1 and claim 18: storing information related to the computational graph, the computational graph defining a set of operations, wherein the set of operations comprises a first subset of one or more operations and a second subset of one or more operations, and further wherein the information related to the computational graph comprises information representing the first subset of operations; ...... receiving input data;
Claim 17: obtaining a representation of a computational graph, the computational graph defining a set of two or more operations;
Claim 20: storing information related to the computational graph, the computational graph defining a set of operations, wherein the set of operations comprises a first subset of one or more operations and a second subset of one or more operations, and further wherein the information related to the computational graph comprises information representing the first subset of operations; ......... receiving input data;
Claim 22: obtaining a representation of a computational graph, the computational graph defining a set of two or more operations;
which is the limitation merely a recitation of limit the use of the abstract idea amounts to necessary data gathering and outputting - Insignificant Extra-Solution Activity - pre-solution and post-solution activity - mere data gathering. Extra-solution activity includes both pre-solution and post-solution activity. An example of pre-solution activity is a step of gathering data for use in a claimed process. As explained by the Supreme Court, the addition of insignificant extra-solution activity does not amount to an inventive concept, particularly when the activity is well-understood or conventional, which does not integrate a judicial exception into practical application. (See MPEP § 2106.05(g)).
Further, the claims recite the following additional elements:
Claim 1 and claim 18: exposing the first output data as a discoverable resource so that the first output data is discoverable by other devices, wherein exposing the first output data as the discoverable resource comprises......
Claim 17: configuring the first device to expose as a first discoverable resource first output data generated by the first device as a result of the first device......., wherein exposing the first output data as the first discoverable resource comprises......; configuring the second device to expose as a second discoverable resource second output data generated by the second device as a result of the second device
Claim 20: exposing the first output data as a discoverable resource so that the first output data is discoverable by other devices, wherein exposing the first output data as the discoverable resource comprises......
Claim 22: configuring the first device expose as a first discoverable resource first output data generated by the first device as a result of the first device......, wherein exposing the first output data as the first discoverable resource comprises......; configuring the second device to expose as a second discoverable resource second output data generated by the second device as a result of the second device.
which are merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. The above limitations invoke computers or other machinery merely as a tool to perform an existing process, or simply adding a general-purpose computer or computer components after the fact to an abstract idea (e.g., transmitting a task approval signal, or control signal.), which does not integrate a judicial exception into a practical application or provide significantly more (see MPEP § 2106.05(f)).
Therefore, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims are directed to an abstract idea.
After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that the claims 1, 17, 18, 20 and 22 do not only recites a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application.
Step 2B:
Under Step 2B, the claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components and invoking computers and other machinery merely as a tool to perform an existing process, which do not amount to significantly more than the abstract idea. The claims that amount to nothing more than an instruction to apply the abstract idea using a generic computer do not render an abstract idea eligible.
The claims recite the following additional elements:
Claim 1 and claim 18: storing information related to the computational graph, the computational graph defining a set of operations, wherein the set of operations comprises a first subset of one or more operations and a second subset of one or more operations, and further wherein the information related to the computational graph comprises information representing the first subset of operations; ...... receiving input data;
Claim 17: obtaining a representation of a computational graph, the computational graph defining a set of two or more operations;
Claim 20: storing information related to the computational graph, the computational graph defining a set of operations, wherein the set of operations comprises a first subset of one or more operations and a second subset of one or more operations, and further wherein the information related to the computational graph comprises information representing the first subset of operations; ......... receiving input data;
Claim 22: obtaining a representation of a computational graph, the computational graph defining a set of two or more operations;
which is the limitation merely a recitation of limit the use of the abstract idea amounts to necessary data gathering and outputting - Insignificant Extra-Solution Activity - pre-solution and post-solution activity - mere data gathering. Extra-solution activity includes both pre-solution and post-solution activity. The courts have recognized the “sending and receiving data” are insignificant extra-solution data gathering activity which do not amount to significantly more than the abstract idea, and are limitations computer functions as well-understood, routine, conventional (WURC) functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. (See TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 614, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016)) (Specification described additional elements as “either performing basic computer functions such as sending and receiving data, or performing functions ‘known’ in the art.”) and MPEP § 2106.05(d)).
Further, the claims recite the following additional elements:
Claim 1 and claim 18: exposing the first output data as a discoverable resource so that the first output data is discoverable by other devices, wherein exposing the first output data as the discoverable resource comprises......
Claim 17: configuring the first device to expose as a first discoverable resource first output data generated by the first device as a result of the first device......., wherein exposing the first output data as the first discoverable resource comprises......; configuring the second device to expose as a second discoverable resource second output data generated by the second device as a result of the second device
Claim 20: exposing the first output data as a discoverable resource so that the first output data is discoverable by other devices, wherein exposing the first output data as the discoverable resource comprises......
Claim 22: configuring the first device expose as a first discoverable resource first output data generated by the first device as a result of the first device......, wherein exposing the first output data as the first discoverable resource comprises......; configuring the second device to expose as a second discoverable resource second output data generated by the second device as a result of the second device.
which are merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer, which do not amount to significantly more than the abstract idea. The courts have found the additional elements to be mere instructions to apply an exception, because they do no more than merely invoke computers or machinery as a tool to perform an existing process include requiring the use of software to tailor information and provide it to the user on a generic computer. (See Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1370-71, 115 USPQ2d 1636, 1642 (Fed. Cir. 2015)) and MPEP § 2106.05(f)).
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception
Having concluded analysis within the provided framework, claims 1, 17, 18, 20 and 22 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Apply the same analysis to the dependent claims 2-16, according to the above analysis, are mental processes, groupings of abstract ideas. Thus claims 2-16 are ineligible.
With regard to claim 2, the claim has the limitation to further indicate the first device receiving a request message transmitted by a second device, wherein the request message requests the first output data; and the first device transmitting the first output data toward the second device in response to receiving the request message. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claims 3, the claim further includes “determining that the resource discovery message comprises the first resource type value”, that fall with the “Mental Processes” grouping of abstract ideas, which is analyzed under Prong 1 Step 2A. In addition, the limitation “exposing the first output data as a discoverable resource further comprises, in response to determining that the received resource discovery message comprises the first resource type value”, considered as additional element that analyzed under Prong 2 Step 2A, which merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. In addition, the limitation “wherein the receiving a resource discovery message (RDM) transmitted by a second device and, transmitting toward the second device a resource discovery response message comprising a resource identifier for retrieving the first output data” are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 4, the claim has the limitation to further indicate the “after transmitting the resource discovery response message, the first device receiving a request message transmitted by the second device, wherein the request message comprises the resource identifier and the first device transmitting the first output data toward the second device in response to determining that the request message comprises the resource identifier”. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 5, the claim has the limitation to further indicate “wherein receiving the resource discovery message comprises receiving an Internet Protocol (IP) packet comprising: i) a header comprising an IP destination address and ii) a payload comprising the resource discovery message, wherein the IP destination address is an IP multicast group address”. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 6, the claim has the limitation to further indicate the method further comprises: as a result of producing the first output data, the first device transmitting toward a resource directory a resource registration message for registering the first output data as a discoverable resource, the resource registration message comprising: i) the first resource type value and ii) a resource identifier for retrieving the first output data; after transmitting the resource registration message, the first device receiving a request message transmitted by a second device, wherein the request message comprises the resource identifier; and the first device transmitting the first output data toward the second device in response to receiving the request message. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 7, the claim has the limitation to further indicate the second device transmitting a resource discovery message towards the resource directory, the resource discovery message comprising the first resource type value; and the second device receiving a notification message transmitted by the resource directory, the notification message comprising the resource identifier and a device identifier allocated to the first device, wherein the second device transmits the request message after receiving the notification message. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 8, the claim has the limitation to further indicate the resource discovery message further comprises a request to observe the resource associated with the first resource type value. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 9, the claim has the limitation to further indicate the first device receiving a resource message that indicates that the first device should send the first output data to a second device; and after receiving the resource message, the first device transmitting the first output data toward the second device. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 10, the claim has the limitation to further indicate prior to receiving the resource message, the first device transmitting a resource discovery message comprising a particular resource type value. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 11, the claim has the limitation to further indicate the transmitting the resource discovery message comprises multicasting the resource discovery message, and the resource message is transmitted by the second device in response to the resource discovery message. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 12, the claim has the limitation to further indicate wherein transmitting the resource discovery message comprises transmitting the resource discovery message after producing the first output data corresponding to the first subset of operations. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 13, the claim has the limitation to further indicate wherein receiving the resource message comprises receiving an IP packet transmitted by the second device, wherein the IP packet comprises: i) a header comprising an IP destination address and ii) a payload comprising the resource message, wherein the IP destination address is an IP multicast group address. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 14, the claim has the limitation to further indicate the transmitting the resource discovery message comprises transmitting the resource discovery message toward a resource directory, and the resource message originated from the resource directory. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 15, the claim has the limitation to further indicate “the first device generates the first output data after receiving the resource message”, considered as additional element that analyzed under Prong 2 Step 2A, which merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. In addition, the limitation “the first device transmits the first output data toward the second device immediately after the first device generates the first output data”, are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
With regard to claim 16, the claim has the limitation to further indicate the resource message is transmitted from the resource directory after the resource directory receives (i) a resource registration message originated from the second device and (ii) the resource discovery message originated from the first device, and the resource registration message includes a resource identifier identifying the first output data and a device identifier identifying the second device. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Thus, they do not cite any additional elements that are sufficient to amount to significantly more than the judicial exception.
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.
Claims 1, 17, 18, 20, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker et al. US Pub. No. US 20170124452 A1 (hereafter Tucker), in further view of Thambidorai et al. US Pub. No. US 20190068504 A1 (hereafter Thambidorai), Li US Pub. No. US 20180109435 A1, and Ng et al. US Pub. No. US 20190114538 A1 (hereafter Ng)
Regarding claim 1, Tucker teaches the invention substantially as claimed: A method for generating output data based on a computational graph (FIG. 1 and [0024]: “FIG. 1 illustrates an example computational graph system 100 for distributing operations for neural networks represented as computational graphs.”) and [0030]: “The system 100 performs the operations to generate the particular output by partitioning the operations represented by the computational graph across multiple devices 116-122”) The citations disclose the system performs the operations represented by the computational graph to generate the output.
the method comprising: a first device storing information related to the computational graph ([0007]: “a device to which the one or more respective nodes are assigned” and [0031]: “Any devices performing neural network operations, e.g., devices 116-122, can include a memory, e.g., a random access memory (RAM), for storing instructions and data and a processor for executing stored instructions.”) The citation discloses at [0007] one or more nodes are assigned to a device, and at [0031] any of the devices 116-122 in the computational graph system 100 can store instruction and data/information.
the computational graph defining a set of operations ([0036]: “The session manager 104 also provides sets of operations to be performed in the computational graph to the executor 106.”)
wherein the set of operations comprises a first subset of one or more operations ([0049]: “The system can partition the computational graph into three subgraphs 318-322. To generate the subgraphs 318-322, the system can analyze the computational graph to identify chains of nodes. ….. a second chain of nodes 302, 306, 310” and [0006]: “wherein each node represents a respective operation”) The citation discloses the computational graph can partition into three subgraphs 318-322/subsets, and the first subgraph/second chain of nodes includes the nodes 302, 306, and 310. Each node represents a respective operation.
and a second subset of one or more operations, ([0049]: “a first chain of nodes 304, 316” and [0006]: “wherein each node represents a respective operation”) The citation discloses the second subgraph/first chain of nodes includes the nodes 304 and 316. Each node represents a respective operation.
and further wherein the information related to the computational graph comprises information representing the first subset of operations ([0039]: “Each node can contain information specifying an operation type, a name, and a list of incoming and outgoing edges to the node.” and [0051]: “The system can start by assigning a first subgraph 322 because it contains an initial node 302 and none of the nodes depend on outputs of other subgraphs.”) The citations disclose at [0039] each node contains the information that relate to the computational graph and at [0051] each subgraph contains nodes that stored the information.
the first device receiving input data ([0048]: “The set of inputs can be provided on a directed edge to the node 302.” and [0051]: “The system can start by assigning a first subgraph 322 because it contains an initial node 302 and none of the nodes depend on outputs of other subgraphs.”) The citations disclose the initial node 302/first device receive the set of inputs.
the first device performing the first subset of operations using the received input data ([0048]: “The set of inputs can be provided on a directed edge to the node 302.” And [0051]: “an output of the node 302, which will be calculated by the device assigned to the first subgraph 322.” and [0047]: “The system causes the devices to perform the operations of the nodes assigned to the devices”) The citation discloses the device, which is assigned to node 302, performs the operations using the provided input.
thereby producing first output data corresponding to the first subset of operations; ([0051]: “an output of the node 302, which will be calculated by the device assigned to the first subgraph 322.”) The citation discloses the output is generated after performing the operations at node 302 by the device assigned to the first subgraph 322.
and the first device exposing the first output data as a discoverable resource
so that the first output data is discoverable by other devices. ([0053]: “Similarly, the initial node 308 of the third subgraph 320 requires the output of the node 306. The system can wait to assign the third subgraph 320 until the device to which the first subgraph is assigned completes the operation represented by node 306. Once the operation represented by the node 306 completes, the system can analyze the output of the node 306 to assign the third subgraph 320 to a respective available device.” And [0050]: “That is, the device can access the same memory location that stores the output from the node 306 when performing operations for both node 310 and 308.”) The citation discloses the output of the node 306 is assigned to the third subgraph 320 after complete the operations at the node 306 by the assigned device. At [0500] discloses the device performs operations for both node 310 and 308 can access the same memory location that stores the output from node 306/making the output as discoverable resource for other devices.
Tucker teaches wherein exposing the first output data as the discoverable resource, but fails to teach comprises associating the first output data with a first resource type value identifying a first resource type.
However, Thambidorai teaches comprises associating the first output data with a first resource type value identifying a first resource type (FIG. 4, [0075]: “Following the example above, ZipConst may add type-related information such as +<label:int64>. In this example annotation, the “+” indicates that all fields in the input type should be added to the output type. The “< indicates that a 64 integer field named “label” should also be added to the output type. “<label:int64>” may be referred to as type specifier, which may more generally specify a sequence of field name, field type pairs. Type inferencing code of the programming model interprets these annotations and generates an output type.” and [0083]: “The type inference method determines type information for one or more output streams of an operator based on based on type information associated with one or more input streams and an output annotation associated with the operator. Type information may include constraints that restrict the tuples included in the stream with which the type information is associated. The type should correspond to a type defined in the attributes.” and [0085]: “the output type is associated with an output for the operation. For example, when the user is defining an output for the operation, the output type field may be automatically populated.”) The citations disclose at FIG. 4 and [0075] the example of output type annotations for existing operators, and at [0083] and [0085] discloses the outputs, as a result performing operation of a of inputs, is determined and associated with the type information associated with the input.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the wherein exposing the first output data as the discoverable resource comprises associating the first output data with a first resource type value identifying a first resource type, as taught in Thambidorai’s invention into Tucker’s invention because by associate the first output data with a resource type value when exposing it as a discoverable resource, it helps to improve the discoverability and usability of the data by enabling other devices or services quickly and effectively locate, identify, and utilize the data for further processing. This approach helps to enhance the performance and scalability in system that process computational graphs across multiple devices or components. It also helps to ensure the receiver node devices capable of performing the computational of the receiving output data.
Tucker fails to teach the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network ........ and associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data.
However, Li teaches the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network (e.g. [0043]: “REST (Representational State Transfer) is a hybrid client-server architectural style inspired by the Web. REST API (application program interface) may include distributed resources, and has become a popular API choice for distributed systems, including cloud computing, software-defined networking and Internet-of-Things.”) The citation discloses the REST system that implemented with the Internet-of-Things.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network, as taught in Li’s invention into Tucker’s invention because the integration of REST with IoT system would enable the system to improve in resource identifications, representations, interactions and connections relatively independently. (Li – [0043]).
However, Ng teaches associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data. (e.g. [0073]: “The value of the input identifier and output identifier can be used to signal to the KA interface 412 to transfer data between the host memory and the RAM 226 such as for providing the input data matrix for the first layer and retrieving the results data matrix from the last layer.”) The citation discloses the output identifier/resource identifier, used to retrieve the results data/output data.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data, as taught in Ng’s invention into Tucker’s invention because the additional features would help to improve the system performance and reduce the time consuming of accessing the correct input and output, as the system would be able to retrieve the correct output data using the identifier. (Ng – [0023])
Regarding claim 17, Tucker teaches the invention substantially as claimed: A method, the method comprising: obtaining a representation of a computational graph ([0039]: “The system obtains data representing the computational graph (step 204). In some cases, the data is sent with the request from the client. In other cases, the request identifies the computational graph and the system retrieves the data representing the identified graph from memory.”)
the computational graph defining a set of two or more operations ([0036]: “The session manager 104 also provides sets of operations to be performed in the computational graph to the executor 106.”)
selecting a first subset of one or more operations from the set of two or more operations; ([0049]: “The system can partition the computational graph into three subgraphs 318-322. To generate the subgraphs 318-322, the system can analyze the computational graph to identify chains of nodes. …… a second chain of nodes 302, 306, 310” and [0006]: “wherein each node represents a respective operation”) The citation discloses the computational graph can partition into three subgraphs 318-322/subsets, and the second chain of nodes/first subgraph includes the nodes 302, 306, 310.
selecting a second subset of one or more operations from the set of two or more operations; ([0049]: “a first chain of nodes 304, 316” and [0006]: “wherein each node represents a respective operation”) The citation discloses the first chain of nodes/second subgraph includes the nodes 304 and 316.
assigning the first subset of operations to at least a first device ([0007]: “a device to which the one or more respective nodes are assigned” and [0049]: “The system can partition the computational graph into three subgraphs 318-322. To generate the subgraphs 318-322, the system can analyze the computational graph to identify chains of nodes. For example, the system can identify a first chain of nodes 304, 316” and [0006]: “wherein each node represents a respective operation”) The citation discloses the computational graph can partition into three subgraphs 318-322/subsets, and the first subgraph/first subset includes the nodes 340 and 316. Each node represents a respective operation and each subgraph is assigned to the respective device.
assigning the second subset of operations to at least a second device ([0049]: “a second chain of nodes 302, 306, 310” and [0006]: “wherein each node represents a respective operation” and [0007]: “a device to which the one or more respective nodes are assigned”) The citation discloses the second subgraph/second subset includes the nodes 302, 306, and 310. Each node represents a respective operation and each subgraph is assigned to the respective device.
configuring the first device to expose as a first discoverable resource first output data generated by the first device as a result of the first device performing the first subset of operations ([0053]: “Similarly, the initial node 308 of the third subgraph 320 requires the output of the node 306. The system can wait to assign the third subgraph 320 until the device to which the first subgraph is assigned completes the operation represented by node 306. Once the operation represented by the node 306 completes, the system can analyze the output of the node 306 to assign the third subgraph 320 to a respective available device.” and [0050]: “That is, the device can access the same memory location that stores the output from the node 306 when performing operations for both node 310 and 308.”) The citation discloses the output of the node 306 is assigned to the third subgraph 320 after complete the operations at the node 306 by the assigned device. At [0500] discloses the device performs operations for both node 310 and 308 can access the same memory location that stores the output from node 306/making the output as discoverable resource for other devices.
and configuring the second device to expose as a second discoverable resource second output data generated by the second device as a result of the second device performing the second subset of operations. ([0054]: “after performing operations for node 308, the device assigned to the third subgraph 320 can perform operations for node 312. The device assigned to the third subgraph 320 then determines whether input from node 310 has been received. The device can wait to perform operations for node 312 until the device receives the input from node 310.” And [0043]: “The system can cluster such nodes receiving the same data in the same subgraph so that when the subgraph is assigned to a particular device, the device can reuse memory storing the same data for the multiple operations represented by the nodes.”) The citation discloses the device, after performing the operation at node 308 and 310, share the outputs to the device performs the operation at node 312 as the input for node 312, which similar to the claim invention.
Tucker teaches wherein exposing the first output data as the first discoverable resource, but fails to teach comprises associating the first output data with a first resource type value identifying a first resource type.
However, Thambidorai teaches comprises associating the first output data with a first resource type value identifying a first resource type (FIG. 4, [0075]: “Following the example above, ZipConst may add type-related information such as +<label:int64>. In this example annotation, the “+” indicates that all fields in the input type should be added to the output type. The “< indicates that a 64 integer field named “label” should also be added to the output type. “<label:int64>” may be referred to as type specifier, which may more generally specify a sequence of field name, field type pairs. Type inferencing code of the programming model interprets these annotations and generates an output type.” and [0083]: “The type inference method determines type information for one or more output streams of an operator based on based on type information associated with one or more input streams and an output annotation associated with the operator. Type information may include constraints that restrict the tuples included in the stream with which the type information is associated. The type should correspond to a type defined in the attributes.” and [0085]: “the output type is associated with an output for the operation. For example, when the user is defining an output for the operation, the output type field may be automatically populated.”) The citations disclose at FIG. 4 and [0075] the example of output type annotations for existing operators, and at [0083] and [0085] discloses the outputs, as a result performing operation of a of inputs, is determined and associated with the type information associated with the input.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the wherein exposing the first output data as the discoverable resource comprises associating the first output data with a first resource type value identifying a first resource type, as taught in Thambidorai’s invention into Tucker’s invention because by associate the first output data with a resource type value when exposing it as a discoverable resource, it helps to improve the discoverability and usability of the data by enabling other devices or services quickly and effectively locate, identify, and utilize the data for further processing. This approach helps to enhance the performance and scalability in system that process computational graphs across multiple devices or components. It also helps to ensure the receiver node devices capable of performing the computational of the receiving output data.
Tucker fails to teach the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network ........ and associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data.
However, Li teaches the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network (e.g. [0043]: “REST (Representational State Transfer) is a hybrid client-server architectural style inspired by the Web. REST API (application program interface) may include distributed resources, and has become a popular API choice for distributed systems, including cloud computing, software-defined networking and Internet-of-Things.”) The citation discloses the REST system that implemented with the Internet-of-Things.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the method being performed by a representational state transfer, REST, server of a REST based distributed IoT network, as taught in Li’s invention into Tucker’s invention because the integration of REST with IoT system would enable the system to improve in resource identifications, representations, interactions and connections relatively independently. (Li – [0043]).
However, Ng teaches associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data. (e.g. [0073]: “The value of the input identifier and output identifier can be used to signal to the KA interface 412 to transfer data between the host memory and the RAM 226 such as for providing the input data matrix for the first layer and retrieving the results data matrix from the last layer.”) The citation discloses the output identifier/resource identifier, used to retrieve the results data/output data.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the associating the first output data with the first resource type value identifying the first resource type comprises associating the first resource type value with a resource identifier for retrieving the first output data, as taught in Ng’s invention into Tucker’s invention because the additional features would help to improve the system performance and reduce the time consuming of accessing the correct input and output, as the system would be able to retrieve the correct output data using the identifier. (Ng – [0023]).
Regarding claim 18, the claim is a non-transitory computer readable storage medium claim that having similar limitations cited in claim 1. Thus, claim 18 is also rejected under the same rational as cited in the rejection of rejected claim 1.
Regarding claim 20, the claim is an apparatus claim that having similar limitations cited in claim 1. Thus, claim 10 is also rejected under the same rational as cited in the rejection of rejected claim 1.
Regarding claim 22, the claim is a method claim that having similar limitations cited in claim 17. Thus, claim 22 is also rejected under the same rational as cited in the rejection of rejected claim 17.
Claims 2 and 9 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, and Ng, in further view of Vasudevan et al. US Pub. No. US 20170124454 A1 (hereafter Vasudevan)
Regarding claim 2, Tucker, in view of Thambidorai, Li, and Ng, discloses the method of claim 1, but fails to teach the first device receiving a request message transmitted by a second device, wherein the request message comprises the resource identifier; and the first device transmitting the first output data toward the second device in response to receiving the request message.
However, Vasudevan teaches the first device receiving a request message transmitted by a second device, (FIG. 3 and [0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3. In this way, these messages can be seen as a request to receive data output by one or more upstream operations.”) The citation discloses the execution operations represented by node R.sub.3/second device sends a request message to node S.sub.3/first device
wherein the request message comprises the resource identifier; ([0068]: “these messages can be seen as a request to receive data output by one or more upstream operations. In the example of FIG. 3, the operations 340 represented by receive node R.sub.3 may receive input from send node S.sub.3 that includes the output of the operation represented by node 310.”) The teaching of Vasudevan only discloses the concept of the sending output, but fail to disclose the output as the resource identifier. Ng discloses the output identifier at [0073], so by replacing the output with the output identifier/resource identifier, one with the ordinary skills in the art would be able to come up with the claim invention.
and the first device transmitting the first output data toward the second device in response to receiving the request message. ([0069]: “At execution, the operations 330 represented by send node S.sub.3 may include a relaying of data in response to receipt of such messages. In some examples, the operations 330 represented by send node S.sub.3 may not act to relay the output of the operation represented by node 310 until such a message has been received (336). In this way, the flow of information between devices may be regulated so as to ensure that tensors are successfully exchanged …… the operations represented by receive node R.sub.3 may act to provide such output as input to the operation represented by downstream node 320 (348).”) The citation discloses after receiving the request message, the operation 310 relay the output data/transmit the first data to the downstream node 320.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the first device receiving a request message transmitted by a second device, wherein the request message comprises the resource identifier; and the first device transmitting the first output data toward the second device in response to receiving the request message, as taught in Vasudevan’s invention into Tucker, Thambidorai, Li, and Ng’s invention because it helps to prevent the slowdown or corruption of the whole computational graph system because the output from the first node is sent to the second node when the second node does not finish the operation and does not ready to receive the output.
Regarding claim 9, Tucker, in view of Thambidorai, Li, and Ng, discloses the method of claim 1, but fails to teach further comprising: the first device receiving a resource message that indicates that the first device should send the first output data to a second device; and after receiving the resource message, the first device transmitting the first output data toward the second device.
However, Vasudevan teaches further comprising: the first device receiving a resource message that indicates that the first device should send the first output data to a second device ([0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3.”) The citation discloses the S.sub.3 receive the message sent from R.sub.3 indicate that it ready to receive input/indicate that the first device should send the first output.
and after receiving the resource message, the first device transmitting the first output data toward the second device. ([0068]): “In the example of FIG. 3, the operations 340 represented by receive node R.sub.3 may receive input from send node S.sub.3 that includes the output of the operation represented by node 310.”) The citation discloses the node S.sub.3 send the output to the node R.sub.3
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the first device receiving a resource message that indicates that the first device should send the first output data to a second device; and after receiving the resource message, the first device transmitting the first output data toward the second device, as taught in Vasudevan’s invention into Tucker’s invention because it helps to prevent the slowdown or corruption of the whole computational graph system because the output from the first node is send to the second node when the second node does not finish the operation and does not ready to receive the output.
Claims 3 and 4 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, and Ng, in further view of Vasudevan et al. US Pub. No. US 20170124454 A1 (hereafter Vasudevan), and HONG et al. US Pub. No. US 20160218992 A1 (hereafter HONG)
Regarding claim 3, Tucker, in view of Thambidorai, Li, and Ng, discloses the method of claim 1, and Thambidorai teaches resource type value (Thambidorai - FIG. 4, [0075]: “Following the example above, ZipConst may add type-related information such as +<label:int64>. In this example annotation, the “+” indicates that all fields in the input type should be added to the output type. The “< indicates that a 64 integer field named “label” should also be added to the output type. “<label:int64>” may be referred to as type specifier, which may more generally specify a sequence of field name, field type pairs. Type inferencing code of the programming model interprets these annotations and generates an output type.”) The citations disclose at FIG. 4 and [0075] the example of output type annotations for existing operators.
Tucker, in view of Thambidorai, Li, and Ng, fails to teach wherein the method further comprises receiving a resource discovery message (RDM) transmitted by a second device, and determining that the resource discovery message comprises the first resource type value, and exposing the first output data as a discoverable resource further comprises, in response to determining that the received resource discovery message comprises the first resource type value, transmitting toward the second device a resource discovery response message comprising a resource identifier for retrieving the first output data;
However, Vasudevan further teaches: wherein the method further comprises receiving a resource discovery message (RDM) transmitted by a second device (Vasudevan - FIG. 3 and Vasudevan - [0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3. In this way, these messages can be seen as a request to receive data output by one or more upstream operations.”) The citation discloses the node S.sub.3/first device receive the message from the execution operations represented by node R.sub.3/second device that request to receive data output by one or more upstream operations/resource discovery message.
and determining that the resource discovery message comprises the first resource type value. (Vasudevan - [0067]: “The operations 330 represented by send node S.sub.3 may then act to determine whether output of an operation of upstream node 310 has been provided (310). Such output may include a tensor produced by way of execution of a subgraph that includes node 310 and send node S.sub.3 by an assigned device.” and [0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3.”) The citation discloses at [0068] that the R.sub.3 sends a message to request the output of S.sub.3 and at [0067] discloses the output includes the tensor. However, the teaching of Vasudevan does not clearly disclose the “resource type value”. The “resource type value” is taught by Thambidorai, as discuss above.
and exposing the first output data as a discoverable resource further comprises, in response to determining that the received resource discovery message comprises the first resource type value, transmitting toward the second device a resource discovery response message (Vasudevan - [0069]: “At execution, the operations 330 represented by send node S.sub.3 may include a relaying of data in response to receipt of such messages. In some examples, the operations 330 represented by send node S.sub.3 may not act to relay the output of the operation represented by node 310 until such a message has been received (336).”) The citation discloses when the S.sub.3 receive a message, its response to the message by transmitting the request data. The S.sub.3 will not do anything until it receives the request message.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the wherein the method further comprises receiving a resource discovery message (RDM) transmitted by a second device, and determining that the resource discovery message comprises the first resource type value, and exposing the first output data as a discoverable resource further comprises, in response to determining that the received resource discovery message comprises the first resource type value, transmitting toward the second device a resource discovery response message, as taught in Vasudevan’s invention into Tucker, Thambidorai, Li, and Ng’s invention because by having the first device respond only to the RDMs that include the matching resource type value, unnecessary communication is avoid since the this approach allows devices to selectively expose and discover only relevant computation results. Therefore, it helps the system to work smoothly across different devices, and response quickly when tasks are spread out over multiple devices.
Tucker, Thambidorai, Li, Ng, and Vasudevan fail to teach comprising a resource identifier for retrieving the first output data;
However, HONG teaches: comprising a resource identifier for retrieving the first output data (HONG - [0015]: “According to still another aspect of the present invention, there is provided a CoAP communication method including selecting a unit ID of at least one resource from a list, generating the unit ID and a token pair, and transmitting a GET request to the resource using an URI.”) The citation discloses the unit ID/resource identifier relates to the corresponding resources/data.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the resource identifier for retrieving the first output data, as taught in HONG’s invention into Tucker, Thambidorai, Li, Ng, and Vasudevan’s invention because by providing the identifier corresponding to the output data, it helps to ensure the correct output data is transferred toward the receiver node devices.
Regarding claim 4, Tucker in view of Thambidorai, Li, Ng, Vasudevan and HONG, discloses the method of claim 3, and HONG further teaches resource identifier (HONG - [0015]: “According to still another aspect of the present invention, there is provided a CoAP communication method including selecting a unit ID of at least one resource from a list, generating the unit ID and a token pair, and transmitting a GET request to the resource using an URI.”) The citation discloses the unit ID/resource identifier relates to the corresponding resources/data.
after transmitting the resource discovery response message, the first device receiving a request message transmitted by the second device, wherein the request message comprises the resource identifier; (HONG - e.g. [0089]: “For example, the CoAP client 100 may transmit a CoAP message, for example, with “UnitSize=1 and UnitID=LightSensor001,” to request data from the light sensor 330-1. The composite node 330 may return a response message, for example, an acknowledge (ACK) message, including a UnitID parameter.”) The citation discloses the composite node 330/second device, after receive the request from CoAP client 100/first device, send the response message that include the UnitID parameter/the resource identifier.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the resource identifier for retrieving the first output data; and after transmitting the resource discovery response message, the first device receiving a request message transmitted by the second device, wherein the request message comprises the resource identifier; as taught in HONG’s invention into Tucker, Thambidorai, Li, Ng, and Vasudevan’s invention because by providing the identifier corresponding to the output data, it helps to ensure the correct output data is transferred toward the receiver node devices.
Vasudevan further teaches and the first device transmitting the first output data toward the second device in response to determining that the request message comprises the resource identifier. (Vasudevan - [0067]: “Once provided, operations 330 represented by send node S.sub.3 may act to provide the output of the operation represented by node 310 as input to the operations 340 represented by receive node R.sub.3”) The citation discloses the send node S.sub.3 provide the output to the receive node R.sub.3/second device. However, Vasudevan fails to teach “the resource identifier”, and the limitation is taught by HONG, as discloses above.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the receiving a resource discovery message transmitted by a second device, wherein exposing the first output data as a discoverable resource comprises, in response to receiving the resource discovery message, transmitting toward the second device a resource discovery response message and the first device transmitting the first output data toward the second device in response to receiving the request message comprising the resource identifier, as taught in Vasudevan’s invention into Tucker, Thambidorai, Li, and Ng’s invention because it helps to prevent the slowdown or corruption of the whole computational graph system, as the output from the first node is send to the second node when the second node does not finish the operation and does not ready to receive the output.
Claims 5 is rejected under 35 U.S.C. 103 as being unpatentable over Tucker Thambidorai, Li, Ng, Vasudevan and HONG, in further view of Hsu Pub. No. US 20020141371 A1 (hereafter Hsu)
Regarding claim 5, Tucker, in view of Thambidorai, Li, Ng, Vasudevan and HONG, discloses the method of claim 3, but fails to teach wherein receiving the resource discovery message comprises receiving an Internet Protocol (IP) packet comprising: i) a header comprising an IP destination address and a payload comprising the resource discovery message, wherein the IP destination address is an IP multicast group address.
However, Hsu teaches: wherein receiving the resource discovery message comprises receiving an Internet Protocol (IP) packet comprising: i) a header comprising an IP destination address (Hsu - [0096]: “The GRE packet is appended with the 20-byte IP packet header having a source address field identifying the IP address of the PDSN 1024, and destination address field”) the citation discloses the IP packet header contains the destination address field.
and a payload comprising the resource discovery message (Hsu - [0014] In another aspect, a communication signal transmitted via a carrier wave, having a payload portion corresponding to at least a portion of an Internet Protocol (IP) packet of digital information” and [0032]: “Attached to each frame of data (and each packet or message) is a header containing processing information that allows the receiver to understand the information contained in the frame(s) …… The information content is referred to as the payload.”) The citation discloses at [0032] that the payload is the information content filed and at [0014] disclose an IP packet contains a payload.
wherein the IP destination address is an IP multicast group address. (Hsu - [0096]: “destination address field uses a class-D multicast IP address.”)
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the receiving the resource discovery message comprises receiving an Internet Protocol packet comprising: a header comprising an IP destination address, and a payload comprising the resource discovery message, wherein the IP destination address is an IP multicast group address, as taught in Hsu’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, and HONG’s invention because using multicast IP addresses is the efficient use of network resources, minimizing network congestion and reducing the amount of duplicated data, since multicast address are designed for one-to-many communication, a single data packet can be sent from a sender to multiple recipients simultaneously.
Claims 6 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, in further view of Vasudevan et al. US Pub. No. US 20170124454 A1 (hereafter Vasudevan), and Hong et al. US Pub. No. US 20160345283 A1 (hereafter Hong)
Regarding claim 6, Tucker, in view of Thambidorai, discloses the method of claim 1, but fails to teach wherein the method further comprises: as a result of producing the first output data, the first device transmitting toward a resource directory a resource registration message for registering the first output data as a discoverable resource, the resource registration message comprising: i) the first resource type value and ii) a resource identifier for retrieving the first output data; after transmitting the resource registration message, the first device receiving a request message transmitted by a second device, wherein the request message comprises the resource identifier; and the first device transmitting the first output data toward the second device in response to receiving the request message.
However, Hong teaches and the method further comprises: as a result of producing the first output data, the first device transmitting toward a resource directory a resource registration message for registering the first output data as a discoverable resource, the resource registration message comprising: i) the first resource type value ([0147]: “The AE sends a request message to the CSE1 for simplified registration, wherein a resource type parameter of the request message is set as an AE registration resource type”) The citation discloses the application entity(AE)/first device, send/transmit, the message to the CSE1/resource directory for registration/registration message that include the resource type.
and ii) a resource identifier for retrieving the first output data ([0147]: “and a registration object attribute of the AE registration resource is set as an AE simplified registration identifier.”) The citation discloses the AE identifier. The teaching of Hong does not clearly indicate that the AE identifier as the resource identifier for retrieving the output data. The resource identifier is taught by Ng at (e.g. [0073]). By combining the teaching of Ng about the output identifier (e.g. [0073]) as the resource identifier to retrieve the output data, one with the ordinary skills in the art would be able to come up with the claim invention.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the method further comprises: as a result of producing the first output data, the first device transmitting toward a resource directory a resource registration message for registering the first output data as a discoverable resource, the resource registration message comprising: i) the first resource type value and ii) a resource identifier for retrieving the first output data, as taught in Hong’s invention into Tucker, Thambidorai, Li, Ng’s invention because by providing registration message that contain the resource type value and the resource identifier corresponding to the output data, it helps to ensure the correct and appropriate output data is being registered and transferred toward the receiver node devices.
However, Vasudevan teaches after transmitting the resource registration message, the first device receiving a request message transmitted by a second device (Vasudevan – e.g. FIG. 3 and [0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3. In this way, these messages can be seen as a request to receive data output by one or more upstream operations.”) The citation discloses the execution operations represented by node R.sub.3/second device sends a request message to node S.sub.3/first device.
wherein the request message requests comprise the resource identifier; (Vasudevan – e.g. [0068]: “these messages can be seen as a request to receive data output by one or more upstream operations. In the example of FIG. 3, the operations 340 represented by receive node R.sub.3 may receive input from send node S.sub.3 that includes the output of the operation represented by node 310.”) The citation discloses the downstream operation send a message to the upstream operations to request output data. It would imply that the request message would include an identifier for the upstream operation to send over the output data to the downstream operation. In addition, by also combine the teaching of Ng about the output identifier (e.g. [0073]) as the resource identifier to retrieve the output data, one with the ordinary skills in the art would be able to come up with the claim invention.
and the first device transmitting the first output data toward the second device in response to receiving the request message (Vasudevan - [0069]: “At execution, the operations 330 represented by send node S.sub.3 may include a relaying of data in response to receipt of such messages. In some examples, the operations 330 represented by send node S.sub.3 may not act to relay the output of the operation represented by node 310 until such a message has been received (336). In this way, the flow of information between devices may be regulated so as to ensure that tensors are successfully exchanged …… the operations represented by receive node R.sub.3 may act to provide such output as input to the operation represented by downstream node 320 (348).”) The citation discloses after receiving the request message, the operation 310 relay the output data/transmit the first data to the downstream node 320.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the first device receiving a request message transmitted by a second device, wherein the request message requests the first output data; and the first device transmitting the first output data toward the second device in response to receiving the request message, as taught in Vasudevan’s invention into Tucker, Thambidorai, Li, and Ng’s invention because it helps to prevent the slowdown or corruption of the whole computational graph system because the output from the first node is send to the second node when the second node does not finish the operation and does not ready to receive the output.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, Vasudevan, and Hong, in further view of HONG et al. US Pub. No. US 20160218992 A1 (hereafter HONG)
Regarding claim 7, Tucker, in view of Thambidorai, Li, Ng, Vasudevan and Hong, discloses the method of claim 6, but does not explicitly teach further comprising: the second device transmitting a resource discovery message towards the resource directory, the resource discovery message comprising the first resource type value; and the second device receiving a notification message transmitted by the resource directory, the notification message comprising the resource identifier and a device identifier allocated to the first device, wherein the second device transmits the request message after receiving the notification message.
However, HONG teaches further comprising: the second device transmitting a resource discovery message towards the resource directory, the resource discovery message comprising the first resource type value (HONG – FIG. 9 and [0115]: “Referring to FIG. 9, the client transmits, to the resource directory, a GET request, for example, a GET request message, including a resource type that the client desires to look up in the resource directory.”) The citations disclose the client/second device sends to the resource directory a GET request message/a resource discovery message, which is including the resource type/resource type value.
and the second device receiving a notification message transmitted by the resource directory, the notification message comprising the resource identifier and a device identifier allocated to the first device ([0117]: “The resource directory generates a response message including a list of the IDs of the resources and node IP addresses.”) The citation discloses the resource directory generate a response message/a notification message, which includes the ID of the resources/resource identifier and node IP/device identifier allocated to the first device.
wherein the second device transmits the request message after receiving the notification message. ([0118]: “The client selects a resource from the list, and directly communicates with the selected resource using a CoAP.”) The citation discloses the client/second device directly communicates/transmit the request message after receive the response message/notification message.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the second device transmitting a resource discovery message towards the resource directory, the resource discovery message comprising the first resource type value; and the second device receiving a notification message transmitted by the resource directory, the notification message comprising the resource identifier and a device identifier allocated to the first device, wherein the second device transmits the request message after receiving the notification message, as taught in HONG’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, and Hong’s invention because by providing the resource directory as a middle man to validate the resource request from the client, it helps to ensure the correct resource or output data is transferred toward the requested node devices.
Claims 8 is rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, Vasudevan, Hong, and HONG, in further view of Novo et al. US Pub. No. US 20150350287 A1 (hereafter Novo)
Regarding claim 8 Tucker, in view of Thambidorai, Li, Ng, Vasudevan, HONG and Hong, discloses the method of claim 7, but fails to teach wherein the resource discovery message further comprises a request to observe the resource associated with the first resource type value.
However, Novo teaches wherein the resource discovery message further comprises a request to observe the resource associated with the first resource type value. (Novo - [0002]: “A client registers itself with a resource by performing a GET request that includes an Observe Option. When a server receives such a request, it services the request like a GET request and, if the resulting response indicates success, establishes an observation relationship between the client and the target resource.”) The citation discloses the GET request/resource discovery message includes the observe option.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the resource discovery message further comprises a request to observe the resource associated with the first resource type value, as taught in Novo’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, HONG, and Hong’s invention because it helps to ensure the client devices can receive the correct requested resource type by allowing the device to be able to observe or look at the resource before the resource is transferred to the requested device.
Claims 10 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, and Vasudevan, in further view of Pignataro et al. US Pub. No. US 20190394124 A1 (hereafter Pignataro)
Regarding claim 10, Tucker, in view of Thambidorai, Li, Ng, and Vasudevan, discloses the method of claim 9, and Vasudevan further teaches the invention substantially as claimed: resource discovery message comprising a particular resource type value. (Vasudevan - [0023]: “Generally, the input and outputs flowing along directed edges in the computational graph are tensors. A tensor is a multidimensional array of numeric or other values, e.g., strings, having a specific order that corresponds to the dimensionality of the array.” and Vasudevan - [0067]: “The operations 330 represented by send node S.sub.3 may then act to determine whether output of an operation of upstream node 310 has been provided (310). Such output may include a tensor produced by way of execution of a subgraph that includes node 310 and send node S.sub.3 by an assigned device.” and [0068]: “Execution of operations 340 represented by receive node R.sub.3 may involve sending one or more messages to that of corresponding send node S.sub.3 (344). Such messages may serve as indication that the subgraph to which the receive node R.sub.3 belongs is ready to receive input by way of execution of corresponding send node S.sub.3.”) The citation discloses at [0023] the outputs, as a result performing computational of an edge of the computational graph, are tensors, which is a multidimensional array of numeric or strings/resource type value. The citation discloses at [0068] that the R.sub.3 sends a message to request the output of S.sub.3 and at [0067] discloses the output includes the tensor that contains the resource type value.
Tucker, Thambidorai, and Vasudevan do not explicitly teach further comprising: prior to receiving the resource message, the first device transmitting a resource discovery message comprising a particular resource type value.
However, Pignataro teaches prior to receiving the resource message, the first device transmitting a resource discovery message comprising a particular resource type value. (Pignataro - [0044]: “Generally, a DAG discovery request (e.g., DIO) message is transmitted from the root device(s) of the DAG downward toward the leaves, informing each successive receiving device how to reach the root device (that is, from where the request is received is generally the direction of the root). The DAG discovery reply (e.g., DAO) may then be returned from the leaves to the root device(s) (unless unnecessary, such as for UP flows only), informing each successive receiving device in the other direction how to reach the io leaves for downward routes.”) The citation discloses the root device/first device transmits the DAG discovery request/resource discovery message to the leaves before receiving the reply message from the leaves to the roots.
However, Pignataro does not explicitly teach the message comprising a particular resource type value. Therefore, by combining the teaching of Vasudevan, which teaches the message comprising a particular resource type value, with the teaching of Pignataro, which is the transmitting a resource discovery message, one with the ordinary skills in the art would be able to come up with the claim invention.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add further comprising: prior to receiving the resource message, the first device transmitting a resource discovery message comprising a particular resource type value, as taught in Pignataro’s invention into Tucker, Thambidorai, Li, Ng, and Vasudevan’s invention because by sending the resource discovery message that contains the resource type value before receiving the resource message from the receiver device, the sender device can notify the receiver about the type value of the resource in order to avoid the situation when the receiver receives the resource, but cannot perform the computational on the received resource.
Regarding claim 12, Tucker, in view of Thambidorai, Li, Ng, Vasudevan, and Pignataro, discloses the method of claim 10, and Tucker further teaches wherein transmitting the resource discovery message comprises transmitting the resource discovery message after producing the first output data corresponding to the first subset of operations. (Tucker - [0064]: “After devices are assigned to respective subgraphs, the devices perform operations of the respective subgraphs. Upon completing the operations, the devices can notify the system that the operations are complete or outputs of the operations, if any. The request received by the system can, in some cases, specify a response to include one or more outputs of particular nodes in the computational graph.”) The citation discloses after completing the operation, the device notify/transmit the resource discovery message.
Claims 11 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, Vasudevan, and Pignataro, in further view of Hsu Pub. No. US 20020141371 A1 (hereafter Hsu)
Regarding claim 11, Tucker, in view of Thambidorai, Li, Ng, Vasudevan, and Pignataro, discloses the method of claim 10, and Pignataro further teaches wherein transmitting the resource discovery message (Pignataro - [0044]: “Generally, a DAG discovery request (e.g., DIO) message is transmitted from the root device(s) of the DAG downward toward the leaves, informing each successive receiving device how to reach the root device”) The citation discloses the root device/first device transmits the DAG discovery request/resource discovery message to the leaves.
the resource message is transmitted by the second device in response to the resource discovery message (Pignataro - [0044]: “The DAG discovery reply (e.g., DAO) may then be returned from the leaves to the root device(s) (unless unnecessary, such as for UP flows only), informing each successive receiving device in the other direction how to reach the io leaves for downward routes.)”) The citation discloses the leave device/second device send the reply message/resource message to the roots in response to the DAG discovery request/resource discovery message.
However, Tucker, in view of Thambidorai and Vasudevan and Pignataro, fails to teach comprises multicasting the resource discovery message.
Hsu teaches multicasting the resource discovery message. (Hsu - [0096]: “destination address field uses a class-D multicast IP address.”)
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the multicasting the resource discovery message, as taught in Hsu’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, and Pignataro’s invention because using multicast IP addresses is the efficient use of network resources, minimizing network congestion and reducing the amount of duplicated data, since multicast address are designed for one-to-many communication, a single data packet can be sent from a sender to multiple recipients simultaneously.
Regarding claim 13, Tucker, in view of Thambidorai, Li, Ng, Vasudevan and Pignataro, discloses the method of claim 10, but fails to teach wherein receiving the resource message comprises receiving an IP packet transmitted by the second device, wherein the IP packet comprises: i) a header comprising an IP destination address and ii) a payload comprising the resource message, wherein the IP destination address is an IP multicast group address.
However, Hsu teaches the invention substantially as claimed: wherein receiving the resource message comprises receiving an IP packet transmitted by the second device, wherein the IP packet comprises: i) a header comprising an IP destination address (Hsu - [0096]: “The GRE packet is appended with the 20-byte IP packet header having a source address field identifying the IP address of the PDSN 1024, and destination address field”) the citation discloses the IP packet header contains the destination address field.
and ii) a payload comprising the resource message (Hsu - [0014] In another aspect, a communication signal transmitted via a carrier wave, having a payload portion corresponding to at least a portion of an Internet Protocol (IP) packet of digital information” and [0032]: “Attached to each frame of data (and each packet or message) is a header containing processing information that allows the receiver to understand the information contained in the frame(s) …… The information content is referred to as the payload.”) The citation discloses at [0032] that the payload is the information content filed and at [0014] discloses an IP packet contains a payload.
wherein the IP destination address is an IP multicast group address. (Hsu - [0096]: “destination address field uses a class-D multicast IP address.”)
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the receiving the resource message comprises receiving an IP packet transmitted by the second device, wherein the IP packet comprises: i) a header comprising an IP destination address, and ii) a payload comprising the resource message wherein the IP destination address is an IP multicast group address, as taught in Hsu’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, and Pignataro’s invention because using multicast IP addresses is the efficient use of network resources, minimizing network congestion and reducing the amount of duplicated data, since multicast address are designed for one-to-many communication, a single data packet can be sent from a sender to multiple recipients simultaneously.
Claims 14, 15, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Tucker, Thambidorai, Li, Ng, Vasudevan, Pignataro, in further view of Hong et al. US Pub. No. US 20160345283 A1 (hereafter Hong), and HONG et al. US Pub. No. US 20160218992 A1 (hereafter HONG)
Regarding claim 14, Tucker, in view of Thambidorai, Vasudevan and Pignataro, disclose the method of claim 10, but do not explicitly teach wherein transmitting the resource discovery message comprises transmitting the resource discovery message toward a resource directory, and the resource message originated from the resource directory
However, Hong teaches: wherein transmitting the resource discovery message comprises transmitting the resource discovery message toward a resource directory (Hong - [0147]: “The AE sends a request message to the CSE1 for simplified registration, wherein a resource type parameter of the request message is set as an AE registration resource type”) The citation discloses the application entity(AE)/first device send/transmit the message to the CSE1/resource directory for registration/registration message that include the resource type.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the wherein transmitting the resource discovery message comprises transmitting the resource discovery message toward a resource directory, as taught in Hong’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, Pignataro’s invention because by providing registration message that contain the resource type value and the resource identifier corresponding to the output data, it helps to ensure the correct and appropriate output data is being registered and transferred toward the receiver node devices.
However, HONG teaches and the resource message originated from the resource directory (HONG - [0117]: “The resource directory generates a response message including a list of the IDs of the resources and node IP addresses.”) The citation discloses the resource directory generate a response message/the resource message.
It would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to add the resource message originated from the resource directory, as taught in HONG’s invention into Tucker, Thambidorai, Li, Ng, Vasudevan, Pignataro’s invention because by providing the resource directory as a middle man to validate the resource request from the client, it helps to ensure the correct resource or output data is transferred toward the requested node devices.
Regarding claim 15, Tucker, in view of Thambidorai, Li, Ng, Vasudevan, Pignataro, HONG, and Hong, discloses the method of claim 14, and Tucker further teaches wherein the first device generates the first output data after receiving the resource message, (Tucker - [0047]: “The system causes the devices to perform the operations of the nodes assigned to the devices (step 212). In some implementations, the system sends each device a request to start the operations. The device receives the request and in response, starts performing the operations of the nodes assigned to the device.”) The citations disclose the device stats performing the operations/generate the first output data after receive the request.
and the first device transmits the first output data toward the second device immediately after the first device generates the first output data. (Tucker - [0052]: “In some implementations, the system waits to assign the second subgraph 318 until receiving an indication that the operation represented by node 302 has completed. This allows the system to dynamically assign subgraphs based on current information, e.g., memory or device availability, which could improve efficiency. Upon receiving the indication, the system can assign the second subgraph 318 to a device capable of handling a size of the output of the node 302.”) The citation discloses when the operations at node 302/first device is completed, the output is transmitted to the second subgraph 318/second device for processing.
Regarding claim 16, Tucker, in view of Thambidorai, Li, Ng, Vasudevan, Pignataro, HONG, and Hong discloses the method of claim 14, and HONG further teaches: The method of claim 14, wherein the resource message is transmitted from the resource directory after the resource directory receives (HONG - [0117]: “The resource directory generates a response message including a list of the IDs of the resources and node IP addresses.”) The citation discloses the response message is generated and transmitted from the resource directory after.
(i) a resource registration message originated from the second device (HONG – FIG. 9 and [0115]: “Referring to FIG. 9, the client transmits, to the resource directory, a GET request, for example, a GET request message, including a resource type that the client desires to look up in the resource directory.”) The citations disclose the client/second device sends to the resource directory a GET request message/a resource discovery message, which is including the resource type/resource type value.
and the resource registration message includes a resource identifier identifying the first output data and a device identifier identifying the second device. (HONG – FIG. 9 and [0115]: “Referring to FIG. 9, the client transmits, to the resource directory, a GET request, for example, a GET request message, including a resource type that the client desires to look up in the resource directory.”) The citations disclose the client/second device sends to the resource directory a GET request message/a resource discovery message, which is including the resource type/resource type value.
and Hong further teaches and (ii) the resource discovery message originated from the first device, (Hong - [0147]: “The AE sends a request message to the CSE1 for simplified registration, wherein a resource type parameter of the request message is set as an AE registration resource type”) The citation discloses the application entity(AE)/first device send/transmit the message to the CSE1/resource directory for registration/registration message that include the resource type.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 20170124454 A1: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for modifying a computational graph to include send and receive nodes. Communication between unique devices performing operations of different subgraphs of the computational graph can be handled efficiently by inserting send and receive nodes into each subgraph. When executed, the operations that these send and receive nodes represent may enable pairs of unique devices to conduct communication with each other in a self-sufficient manner.
US 20170132513 A1: Systems and Methods for training a neural network represented as a computational graph are disclosed. An example method begins with obtaining data representing a computational graph. The computational graph is then augmented to generate a training computational graph for training the neural network using a machine learning training algorithm that includes computing a gradient of an objective function with respect to each of the parameters of the neural network. Augmenting the computational graph includes inserting a plurality of gradient nodes and training edges into the computational graph to generate a backward path through the computational graph that represents operations for computing the gradients of the objective function with respect to the parameters of the neural network
US 10956500 B2: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for efficiently processing dynamic length tensors of a machine learning model represented by a computational graph. A program is received that specifies a dynamic, iterative computation that can be performed on input data for processing by a machine learning model. A directed computational graph representing the machine learning model is generated that specifies the dynamic, iterative computation as one or more operations using a tensor array object. Input is received for processing by the machine learning model and the directed computational graph representation of the machine learning model is executed with the received input to obtain output.
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.
Examiner has cited particular columns/paragraphs/sections and line numbers in the references applied and not relied upon to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
When responding to the Office action, applicant is advised to clearly point out the patentable novelty the claims present in view of the state of the art disclosed by the reference(s) cited or the objections made. A showing of how the amendments avoid such references or objections must also be present. See 37 C.F.R. 1.111(c).
When responding to this Office action, applicant is advised to provide the line and page numbers in the application and/or reference(s) cited to assist in locating the appropriate paragraphs.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TUAN MINH NGUYEN whose telephone number is (703)756-1599. The examiner can normally be reached Monday-Friday: 9:30am - 5:30PM ET.
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, Pierre Vital can be reached at (571) 272-4215. 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.
/TUAN M NGUYEN/ Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198