Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
This office action is in response to communication filed 5/1/2024. Claims 1-20 are currently pending and claims 1, 17, and 20 are the independent claims.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 14 and 16 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
As per claim 14, it recites “The computer-readable medium of claim 9, wherein the visual representation includes a release tag, the release tag indicating whether the release is outdated.” The examiner would like to point out that claim 14 depends on claim 9 which depends on claims 8 and 1, and while claim 14 previously recites “a release tag” none of claims 14, 9, 8, and 1 previously recite “a release”, and as such there is insufficient antecedent basis for this limitation in the claims. For the purpose of examination, the examiner will consider these limitations to be “…the release tag indicating whether a release is outdated.”
As per claim 16, it recites “The computer-readable medium of claim 8, wherein the script includes instructions for sorting software parts of the table by dependency.” Examiner would like to point out that claim 16 depends on claim 8, which depends on claim 1, however neither claim 8 or claim 1 previously recites “a table” and as such there is insufficient antecedent basis for these limitations in the claim. Examiner would further like to point out that “a table” is previously recited in claim 12, and therefore, for the purpose of examination, the examiner will consider these limitations to be “The computer-readable medium of claim 12, wherein the script includes instructions for sorting software parts of the table by dependency.”
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.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
As per claim 1, it recites “a non-transitory computer-readable medium having instructions recorded thereon that, in response to execution by one or more processors, cause performance of operations comprising: reading a configuration file of a plurality of software parts in response to building the plurality of software parts, the plurality of software parts including a first software part and a second software part, the second software part depending upon the first software part; and generating a record of the plurality of software parts, the record including dependency between the first software part and the second software part, a build status of the plurality of software parts, and an integration status between the first software part and the second software part.”
The limitation “generating a record of the plurality of software parts, the record including dependency between the first software part and the second software part, a build status of the plurality of software parts, and an integration status between the first software part and the second software part”, as drafted, recites a function that, under its broadest reasonable interpretation, covers a function that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components, and as such the limitation, as drafted, is a function that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitation encompasses 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 human may mentally/with pen and paper judge/observe/evaluate/decide/etc. dependency, build status, and integration status of software parts and may mentally/with pen and paper remember/write a list of/generate a record/etc. including the dependency, build status, and integration status. Therefore, with broadest reasonable interpretation, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the following additional elements “a non-transitory computer-readable medium having instructions recorded thereon that, in response to execution by one or more processors, cause performance of operations comprising”, and “reading a configuration file of a plurality of software parts in response to building the plurality of software parts, the plurality of software parts including a first software part and a second software part, the second software part depending upon the first software part” The additional element/limitation “a non-transitory computer-readable medium having instructions recorded thereon that, in response to execution by one or more processors, cause performance of operations comprising” recite that high-level/generality computer components/non-transitory computer readable medium and processor/etc. are used to implement/perform the abstract idea/mental process/judicial exception and as such amounts to no more than mere instructions to apply the exception using generic computer and/or mere computer components. The additional element/limitation “reading a configuration file of a plurality of software parts in response to building the plurality of software parts, the plurality of software parts including a first software part and a second software part, the second software part depending upon the first software part” does nothing more than add insignificant extra solution activity to the judicial exception of merely gathering/accessing/reading/etc. data/information/configuration file of software parts/etc., and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity (see MPEP 2106.05(d)). Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f), 2106.05(g), etc..
The claim does not include additional elements 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 mere instructions to apply/implement/perform the abstract idea/mental process/judicial exception using high level/generic computer/computer components, which does not provide an inventive concept, and a mere insignificant extra solution activity to the judicial exception of merely gathering/accessing/reading data/information/configuration file of software parts/etc., and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). Accordingly, the claim is not patent eligible under 35 USC 101.
As per claim 2, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the integration status includes one of success status and failure status” which, conceptually, with broadest reasonable interpretation, provides further clarification as to performance of the abstract/idea/mental process, and as such does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, claim 2 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 3, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the integration status includes one of success status, failure status, and not running status” which, conceptually, with broadest reasonable interpretation, provides further clarification as to performance of the abstract/idea/mental process, and as such does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, claim 3 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 3, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the operations further comprise building the plurality of software parts; wherein the build status indicates a newest release tag in response to successfully building the plurality of software parts; and wherein the build status indicates a previous release tag in response to not successfully building the plurality of software parts.” The additional element/limitation “wherein the operations further comprise building the plurality of software parts” further recites an insignificant extra solution activity of building/updating and storing/etc. data/information which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). Further, the additional elements/limitations “wherein the build status indicates a newest release tag in response to successfully building the plurality of software parts; and wherein the build status indicates a previous release tag in response to not successfully building the plurality of software parts” conceptually, with broadest reasonable interpretation, provides further clarification as to performance of the abstract/idea/mental process, and as such does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, the additional elements/limitations of claim 4 fail to correct the deficiencies of claim 1, and therefore claim 4 is rejected for similar reasoning as claim 1, above.
As per claim 5, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the operations further comprise receiving an instruction to build the plurality of software parts; determining a test indicated in the configuration file; and performing the test in response to building the software part to produce a test result, the test result indicating the integration status.” The additional element/limitation “wherein the operations further comprise receiving an instruction to build the plurality of software parts” further recites an insignificant extra solution activity of gathering/receiving/etc. data/information/instructions which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). The additional element/limitation “determining a test indicated in the configuration file” provides further clarification as to performance of the abstract/idea/mental process, and as such does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. And the additional element/limitation “performing the test in response to building the software part to produce a test result, the test result indicating the integration status” recites the performance of an action decided on by performing/output resulting from/etc. the abstract idea/mental process and as such is at best the equivalent of merely adding the words “apply it” to the judicial exception, which does not integrate the abstract idea into a practical application and is not significantly more than the abstract idea/mental process as mere instructions to apply an exception cannot provide an inventive concept. As such, the additional elements/limitations of claim 5 fail to correct the deficiencies of claim 1, and therefore claim 5 is rejected for similar reasoning as claim 1, above.
As per claim 6, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the operations further comprise building the plurality of software parts; wherein the configuration file indicates a version of each input software part used during the building” which, conceptually, with broadest reasonable interpretation, recites an insignificant extra solution activity of building/updating and storing/etc. data/information which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)); and provides further clarification as to data/information/configuration file gathered/accessed/read/obtained/etc. during performance of the insignificant extra solution activity of gathering/reading/accessing data/information, and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). Accordingly, the additional elements/limitations of claim 6 do not integrate the abstract idea/mental process into a practical application and are not significantly more than the abstract idea/mental process. As such claim 6 fails to correct the deficiencies of claim 1, and therefore claim 6 is rejected for similar reasoning as claim 1, above.
As per claim 7, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the record further indicates a time of building the plurality of software parts” which, conceptually, with broadest reasonable interpretation, provides further clarification as to performance of the abstract/idea/mental process, and as such does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, claim 7 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 8, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the operations further comprise providing, to a client device, a script including instructions for displaying a visual representation of interdependency among the plurality of software parts” which, conceptually, with broadest reasonable interpretation, recites further insignificant extra solution activities of transmitting/providing/etc. data/information/script/instructions and displaying data/information/interdependencies/etc., which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 8 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 9, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the visual representation includes a connector joining the software part and the second software part” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 9 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 10, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the connector visually indicates the integration status” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 10 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 11, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the visual representation includes the build status of the second software part” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 11 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 12, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the visual representation includes each software part in a row or column of a table having fields corresponding to the dependency, build status, and integration status” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 12 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 13, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the operations further comprise transmitting the record to a database; and transmitting, in response to a request from a client device, the record from the database” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of transmitting/storing data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 13 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 14, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the visual representation includes a release tag, the release tag indicating whether the release is outdated” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 14 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 15, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the script includes instructions for switching a visual representation in response to interaction with the first software part” which, conceptually, with broadest reasonable interpretation, recites further clarification as to insignificant extra solution activity of displaying data/information, which does not integrate the abstract idea/mental process into a practical application and the courts have identified functions such as gathering, displaying, updating, transmitting, and storing data as well-understood, routine, conventional activity, and thus do not amount to significantly more than the judicial exception (see MPEP 2106.05(d)). As such, claim 15 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 15, it incorporates the deficiencies of claim 1, upon which it depends, and further recites “…wherein the script includes instructions for sorting software parts of the table by dependency” which, conceptually, with broadest reasonable interpretation, recites further clarification as to performance of the abstract idea/mental process/judging/evaluating/sorting/etc. which does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, claim 16 fails to correct the deficiencies of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claim 17, it recites a method having similar limitations as the operations performed by the processors executing instructions recorded on the non-transitory computer readable medium of claim 1, and as such claim 17 recites a similar abstract idea/mental process and has similar deficiencies as claim 1, and is therefore rejected for similar reasoning as claim 1, above.
As per claims 18 and 19, they recite methods having similar limitations as the non-transitory computer readable mediums of claims 2 and 3, respectively, and are therefore rejected for similar reasoning as claims 2 and 3, respectively, above.
As per claim 20, it recites a device having similar limitations as the non-transitory computer readable medium of claim 1, and as such claim 20 recites a similar abstract idea/mental process and has similar deficiencies as claim 1. Claim 20 recites the further additional elements/limitations “A device comprising: a controller including circuitry configured to perform operations including” which, with broadest reasonable interpretation, recites that high level/generic computer/computer components/device comprising circuitry/etc. are used to implement/perform/etc. the abstract idea/mental process, and as such amounts to mere instructions to apply the judicial exception/abstract idea/mental process using high level/generic computer/computer components, which does not integrate the abstract idea/mental process into a practical application and is not significantly more than the abstract idea/mental process. As such, the additional elements/limitations of claim 20 fail to correct the deficiencies of claim 1, and therefore claim 20 is rejected for similar reasoning as claim 1, above.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 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-4 and 6-20 are rejected under 35 U.S.C. 103 as being unpatentable over Jain et al. (herein called Jain) (US PG Pub. 2015/0046903 A1) and Bendert et al. (herein called Bendert) (US PG Pub. 2024/0338184 A1).
As per claim 1, Jain teaches: a non-transitory computer-readable medium having instructions recorded thereon that, in response to execution by one or more processors, cause performance of operations comprising:
reading a configuration file of a plurality of software parts in response to building the plurality of software parts, the plurality of software parts including a first software part and a second software part, the second software part depending upon the first software part (pars. [0006], [0025], [0027], [0033]-[0036], [0038], software project includes multiple/several/plural/etc. (first and second) components/targets/etc. (software parts) and when build is initiated (in response to building plurality of software parts) build logic makefiles for components/targets and their metadata/bill of materials/etc. are retrieved via configuration management system and which include dependencies of components and are used to build software/components/targets/etc. (read configuration file/makefile/bill of materials/etc.), dependencies of the multiple/plural/different/etc. targets/components/software parts/etc. are determined/components depending on other targets are determined/targets T3 and T4 are determined to depend on target T2/etc. (plurality of software parts including a first software part/ex: T3/etc. and a second software part/ex: T2/etc., the second software part/T3 depending upon the first software part/T2).); and
generating a record of the plurality of software parts, the record including dependency between the first software part and the second software part, a build status of the plurality of software parts (pars. [0036], [0038]-[0040], target dependency list is populated in comprising targets/components/first and second software parts/etc. which records dependencies of/between targets/components/parts/etc. (record including dependency between first software part and second software part), and each target/component/part/first and second part/etc. are polled to determine their build status (a build status of the plurality of software parts) and list/record is updated with build status of targets/components/parts (record including build status of plurality of software parts).)
Jain does not explicitly state, however Bendert teaches
generating a record of the plurality of software parts, the record including an integration status between the first software part and the second software part (pars. [0016]-[0017], [0032], [0039], [0042], dependency tracking provides dependency health/score/status indicators indicating if components/software components (first and second software parts) are up-to-date or not/components are current version/new versions available/etc. which is displayed in GUI, and status/score of a component is determined based on all health/status/etc. of components the component had dependency with/rolling up health of dependency components into the component/etc. (record of plurality of software parts/components includes integration status/health status/up-to-date status/indication of whether most recent version of component has been integrated/etc. between first software part and second software part/dependent software components/etc.).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add generating a record of the plurality of software parts, the record including an integration status between the first software part and the second software part, as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data about the software parts/ components/etc. to be tracked and recorded, thereby making the record more useful to users and increasing its desirability to users.
As per claim 2, Jain does not explicitly state, however Bendert teaches:
wherein the integration status includes one of success status and failure status (pars. [0016], [0032], status indicates whether component is up-to-data/healthy/good/etc. (success status) or is not up-to-date/new version exists/bad/etc. (failure status).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the integration status includes one of success status and failure status, as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data indicating whether the software part is up-to-date/has a recent version installed/has a recent version integrated/is healthy/etc. to be determined/tracked, which is desirable as it allows for it to be know when a software part/component needs to be updated, thereby helping to keep the software up to date so that it operates correctly/as desired.
As per claim 3, Jain does not explicitly state, however Bendert teaches:
wherein the integration status includes one of success status, failure status, and not running status (pars. [0016], [0032], status indicates whether component is up-to-data/healthy/good/etc. (success status) or is not up-to-date/new version exists/bad/etc. (failure status).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the integration status includes one of success status, failure status, and not running status, as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data indicating whether the software part is up-to-date/has a recent version installed/has a recent version integrated/is healthy/etc. to be determined/tracked, which is desirable as it allows for it to be know when a software part/component needs to be updated, thereby helping to keep the software up to date so that it operates correctly/as desired.
As per claim 4, Jain further teaches: wherein the operations further comprise building the plurality of software parts (pars. [0022], [0029], [0033], [0041], software project is built including building components/targets/plurality of software parts.);
successfully building the plurality of software parts (pars. [0022], [0029], [0033], [0038]-[0041], software project is built including building components/targets/plurality of software parts and status of target/component/part/plurality of software parts may be “built” (successfully building plurality of software parts.); and
not successfully building the plurality of software parts (pars. [0022], [0029], [0033], [0038]-[0041], software project is built including building components/targets/plurality of software parts and status of target/component/part/plurality of software parts may be “another target is ready to build”/“build is not required”/etc. (not building/not successfully building/etc. plurality of software parts.).
Jain does not explicitly state, however teaches:
wherein the build status indicates a newest release tag in response to successfully building the plurality of software parts (pars. [0011]-[0017], [0022], [0032], component/software part/dependencies/etc. have status/health indicator indicating whether they are up-to-date/not up-to-date/most recent version/that new version exists/etc.. As components/dependencies/parts (plurality of software parts) have indication/tag indicating that they are up-to-date/most recent version/etc., they have a newest release tag when they are successfully built.); and
wherein the build status indicates a previous release tag in response to not successfully building the plurality of software parts (pars. [0011]-[0017], [0022], [0032], component/software part/dependencies/etc. have status/health indicator indicating whether they are up-to-date/not up-to-date/most recent version/that new version exists/etc.. As components/dependencies/parts (plurality of software parts) have indication/tag indicating that they are not up-to-date/newer version exists/not the more recent version/etc., they have a previous release tag when they are not the up-to-date version/the newest version has not been built/they are not successfully built/etc..).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the build status indicates a newest release tag in response to successfully building the plurality of software parts; and wherein the build status indicates a previous release tag in response to not successfully building the plurality of software parts., as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data indicating whether the software part is up-to-date/is newest release/is recent version installed/is not newest version/has a more recent version/is healthy/etc. to be determined/tracked, which is desirable as it allows for it to be know when a software part/component needs to be updated/needs to be built/etc., thereby helping to keep the software up to date so that it operates correctly/as desired.
As per claim 6, Jain further teaches: wherein the operations further comprise building the plurality of software parts (pars. [0022], [0029], [0033], [0041], software project is built including building components/targets/plurality of software parts.);
wherein the configuration file indicates a version of each input software part used during the building (pars. [0034], [0036], version control activities for software projects occurs and includes maintaining metadata/timestamps/etc. in makefile/configuration file/etc. for components indicating when they were modified/last modification time/etc. (configuration file indicates a version of each software part used during building/indicates time when version of component was made/when component was last modified/etc.).).
As per claim 7, Jain further teaches: wherein the record further indicates a time of building the plurality of software parts (pars. [0022], [0034], [0036], targets/dependencies/components/etc. (plurality of software parts have timestamp indicating time when they are built.).
As per claim 8, Jain does not explicitly state, however Bendert teaches:
wherein the operations further comprise providing, to a client device, a script including instructions for displaying a visual representation of interdependency among the plurality of software parts (pars. [0031], [0038]-[0041], [0046], graphical user interface/GUI is provided descriptor/file such as script files/JavaScript files/etc. (provide a script to a client device) that it interprets to render to GUI display on developer/client computing device (client device) that includes dependency tree/status table/etc. showing dependencies of software components/software components a component had dependencies with/etc. (displaying a visual representation of interdependency among the plurality of software parts).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the operations further comprise providing, to a client device, a script including instructions for displaying a visual representation of interdependency among the plurality of software parts, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the dependencies/information about the components/etc. to be provided to/presented to a user/developer/etc. in a manner the user can understand, which is desirable as it increases the usability of the data/information by allowing for a developer to effectively access the information.
As per claim 9, Jain does not explicitly state, however Bendert teaches:
wherein the visual representation includes a connector joining the software part and the second software part (pars. [0038], [0043], [0046], GUI includes dependency tree (visual representation) comprising plurality of nodes representing software components (first and second software parts) and edges (connector) representing dependency between nodes/components/parts (connector/edge joining the software part/component and the second software part/component).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the visual representation includes a connector joining the software part and the second software part, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the dependencies/information about the components/etc. to be provided to/presented to a user/developer/etc. in a manner the user can understand, which is desirable as it increases the usability of the data/information by allowing for a developer to effectively access the information.
As per claim 10, Jain does not explicitly state, however Bendert teaches:
wherein the connector visually indicates the integration status (pars. [0038]-[0040], [0043], GUI displays dependency status of components which may have a color/be colored red, green, etc. according to its health/status/up-to-date/dependency score with other components/etc. (indicating its status/health/score/integration status), and dependency tree has edges (connector) representing dependencies between components/nodes/etc. As the dependency tree has edges/connector representing dependencies, and dependency status is indicated in GUI via color, it is obvious the edge/connector may have a color/may visually indicate status/integration status/up-to-date status/dependency score with other components/etc..).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the connector visually indicates the integration status, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the dependencies/information about the components/etc. to be provided to/presented to a user/developer/etc. in a manner the user can understand, which is desirable as it increases the usability of the data/information by allowing for a developer to effectively access the information.
As per claim 11, Jain further teaches: wherein the visual representation includes the build status of the second software part (pars. [0038]-[0046], list (visual representation) is updated with build status of targets/components/software parts including second software part (includes build status of second software part).).
As per claim 12, Jain further teaches: wherein the visual representation includes each software part in a row or column of a table having fields corresponding to the dependency, build status, (pars. [0038]-[0046], dependency list (table) is populated with targets/components/software parts and shows dependencies of targets/components/etc. (having fields corresponding to dependency), and lists are updated with build status of targets/components/software parts/etc.. As lists are populated with software components/targets/parts it is obvious that the list may be a table with the targets/components/parts in a row/column/etc. of the list/table, and as the lists show dependencies between components/parts/targets and are updated with build status of components/parts/targets it is obvious the table/list has fields corresponding to the dependency, build status, etc. of the parts/targets/components.).
Jain does not explicitly state, however Bendert teaches:
wherein the visual representation includes each software part in a row or column of a table having fields corresponding to integration status (pars. [0016]-[0017], [0033], [0039]-[0042], GUI provides status table (table) of software component dependencies which includes dependencies/components/etc. (includes software part/component/dependency/etc. in row or column of table/status table) and includes health indicator/status score/etc. of each software component based on its dependencies with other components and health/up-to-date/integration/etc. status of the components (fields corresponding to integration status).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the visual representation includes each software part in a row or column of a table having fields corresponding to integration status, as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data about the software parts/ components/etc. to be included and presented to the user in an effective manner the user can understand, thereby providing a user with more information making the information more useful to users and increasing its desirability to users.
As per claim 13, Jain does not explicitly state, however Bendert teaches:
wherein the operations further comprise transmitting the record to a database (pars. [0022]-[0023], [0034], dependency management service where developers/users manage software components and may have database/storage/etc. storing dependency information, status information, etc. (transmitting the record to a database/store record in database/etc.).); and
transmitting, in response to a request from a client device, the record from the database (pars. [0022]-[0023], [0034], [0038], [0046], dependency management service/database/storage/etc. stores dependency information/status information/etc. (database storing record), developers/users manage software components/dependencies/defects/etc., and dependency management system provides GUI to developer/client that provides the information on dependencies/status/etc. (transmit/provide the record from the database to the client). As developers/users manage software components and record/status/dependencies/etc. of components are provided to user/client device from database/management system/etc., it is obvious the record/dependencies/status are provided/transmitted/etc. in response to request/management of components/etc. from developer/client device/etc..).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the operations further comprise transmitting the record to a database; and transmitting, in response to a request from a client device, the record from the database, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the records to be stored/saved and retrieved for use when desired by users/developers/etc., thereby increasing the usability of the records/information to users while saving time and resources that would be spent having to re-gather/recreate/etc. the information every time a user/developer wanted it.
As per claim 14, Jain does not explicitly state, however Bendert teaches:
wherein the visual representation includes a release tag, the release tag indicating whether the release is outdated (pars. [0016]-[0017], [0038]-[0039], dependencies have an indication of their health/not of-date/up-to-date/etc., and GUI includes information about software components indicating whether it is a current version/up-to-date/etc., a new version is available/not up-to-data/etc., etc. (visual representation/GUI/etc. includes release tag/information/etc. indicating whether the release/software component version/etc. is outdated/not up-to-date/etc.).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the visual representation includes a release tag, the release tag indicating whether the release is outdated, as conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data indicating whether the software part is up-to-date/is outdated/is healthy/is a current version/etc. to be determined/tracked and presented to a user, which is desirable as it allows for a user to know when a software part/component needs to be updated, thereby helping to keep the software up to date so that it operates correctly/as desired.
As per claim 15, Jain does not explicitly state, however Bendert teaches:
wherein the script includes instructions for switching a visual representation in response to interaction with the first software part (pars. [0031], [0038]-[0039], [0046], scripts are used to generate/render/etc. graphical user interface which is presented to user/client/etc. and shows dependencies of software components over time/status table showing dependencies/etc. (visual representation) and a dependency, and when user selects component/dependency/etc. in GUI information about the dependency is displayed (switch display/visual representation in response to interaction with first software part/selection of dependency/component/etc.).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the script includes instructions for switching a visual representation in response to interaction with the first software part as, conceptually taught by Bendert, into that of Jain, because these modifications allow for more/additional information/data about the components/dependencies/etc. to be presented to a user in an effective manner, which is desirable as it increases the usability of the information allowing for the user to use it as desired.
As per claim 16, Jain does not expliclty state, however Bendert teaches:
wherein the script includes instructions for sorting software parts of the table by dependency (pars. [0018], [0031], [0038]-[0039], scripts are used to generate graphical user interface that includes status table containing components/dependencies/software parts, and dependencies/components are assigned/sorted/etc. into tier/level based on importance of the dependency (sort software parts of table by dependency).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add wherein the script includes instructions for sorting software parts of the table by dependency, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the information/software parts/dependencies/etc. to be presented to user in an effective and manner, which is desirable as it increases the usability of the information allowing for the user to use it as desired.
As per claims 17-19, they recite methods having similar limitations as the non-transitory computer readable mediums of claims 1-3, respectively, and are therefore rejected for similar reasoning as claims 1-3, respectively, above.
As per claim 20, it recites a device having similar limitations as the non-transitory computer readable medium of claim 1, and is therefore rejected for similar reasoning as claim 1, above.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Jain et al. (herein called Jain) (US PG Pub. 2015/0046903 A1) and Bendert et al. (herein called Bendert) (US PG Pub. 2024/0338184 A1) in further view of Jorapur (US Patent 7,299,382 B2).
As per claim 5, Jain further teaches: wherein the operations further comprise receiving an instruction to build the plurality of software parts (pars. [0022], [0029], [0033], [0041], software project is built including building components/targets/plurality of software parts.).
Jain does not explicitly state, however Bendert teaches:
performing the test in response to building the software part to produce a test result, the test result indicating the integration status (pars. [0016]-[0017], [0032], [0036], software components/dependencies/software parts are modified/updated/etc. (build software part), and software components/dependencies/current version of dependencies/etc. are tested (perform test in response to building software part) and health/status/score/vulnerabilities/up-to-date/newest version/etc. are determined (test result indicating integration status).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add performing the test in response to building the software part to produce a test result, the test result indicating the integration status, as conceptually taught by Bendert, into that of Jain, because these modifications allow for the components/parts to be tested to ensure that the are correct/operate as desired/have been successfully build/etc., which is desirable as it helps ensure that the software/components/etc. operate correctly/as desired/etc..
While Jain teaches that the software components have configuration file/makefile/etc. (ex: par. [0036]) it does not explicitly disclose that tests are indicated in the file, and as such does not explicitly state, however Jorapur teaches:
determining a test indicated in the configuration file (col. 2 lines 47-50, col. 5 lines 12-23, col. 8 lines 4-10, test generator receives/input/etc. configuration files and generates test (determining a test) for software/application/modules/components/etc. using configuration files/setting/parameters of configuration file (indicated in the configuration file).).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add determining a test indicated in the configuration file, as conceptually taught by Jorapur, into that of Jain and Bendert, because these modifications allow for an effective method of determining tests for software/component/parts/etc. so they may be tested to ensure they operate correctly/as desired, thereby helping to ensure the software operates correctly/as desired/is successfully built/etc..
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Stevens et al. US PG Pub. 2016/0292066 A1 teaches building code modules/artifacts that have dependencies and testing built code modules for compliance/errors/etc..
Parthasarathy et al. US PG Pub. 2016/0117161 A1 teaches that software components may have dependencies/interdependencies with each other, building code/software components that have changes/updates, and validating the state of code/software components.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DOUGLAS M SLACHTA whose telephone number is (571)270-0653. The examiner can normally be reached Monday-Friday 6:30am-4pm.
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, Chat Do can be reached at 571-272-3721. 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.
/DOUGLAS M SLACHTA/ Examiner, Art Unit 2193