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
Arguments and amendments filed 9/19/2025 have been examined.
Clams 1-3, 5-6, 8-11, 13-14 and 16 are amended.
Claims 4 and 12 are cancelled.
In this Office Action, claims 1-3, 5-11 and 13-16 are currently pending.
This Office Action is Final.
Response to Arguments
Applicant’s arguments with respect to claim(s) and the previous prior art rejection have been 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.
Applicant’s arguments, with respect to rejections under 35 USC 112 and the amended claims (i.e. removing “and/or” language etc.) have been fully considered and are persuasive. The rejection under 35 USC 112 has been withdrawn.
Applicant's arguments filed regarding rejections under 35 USC 101 have been fully considered but they are not persuasive.
As to the argument: “Claims 1-16 have been rejected under 35 U.S.C. 101 as being directed to an abstract idea without significantly more. In the Interview Summary, with respect to this rejection, the Examiner asked for clarification concerning how the packing step is performed. The Applicant has amended claim 1 to further provide that packing serves to compress and archive the at least one data as a share, as supported by paragraph [0026] addressing the Examiner's question concerning what packing actually does.
Further, towards the goal of showing a practical technical application, the Applicant has added to the preamble that the method is for media and entertainment production pipeline workloads, and also amended the body of the claim to recite the decentralized content production pipeline network. This latter limitation was only recited previously in the preamble and may not have been given weight previously for that reason.”
The Examiner respectfully disagrees.
Applicant asserts that the inventions direction/amendments towards “Applicant has added to the preamble that the method is for media and entertainment production pipeline workloads, and also amended the body of the claim to recite the decentralized content production pipeline network” and “packing serves to compress and archive the at least one data as a share” implies that the claims nonabstract; however, the test is not whether the claim is confined to a particular field of use or technological environment, see Intellectual Ventures ILLC v. Capital One Bank (USA), 792 F.3d 1363, 1366 (Fed. Cir. 2015) (“[a]n abstract idea does not become nonabstract by limiting the invention to a particular field of use or technological environment”). The relevant question, even at the first step of the Mayo/Alice analysis, is “whether the claims are directed to an improvement in computer functionality versus being directed to an abstract idea.” Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1335 (Fed. Cir. 2016).
Here, the invention uses computer technology, but the Specification describes the claimed
solution as a scheme in collecting, storing and managing electronic records over time (see for
example specification para. [0007] “data sharing service (vrepod) that is configured to serve
data in a corresponding repository, wherein the data includes metadata segments
corresponding to data segments in a log-structured manner; execute, by a second
participant node of the participant nodes, a client polling service (vsyncd) that polls the
data sharing service to gather new records from a last fetched log location of the
repository of the first participant node and identify and send a request for a specific data
segment that is stored in the repository of the first participant node”).
And collecting, storing, and organizing information describes the abstract idea to which Appellants’ claims are directed, not an improvement in computer technology. Erie Indemnity Co., 850 F.3d at 1328 (“the heart of the claimed invention lies in creating and using an index to search for and retrieve data ... an abstract concept”).
Thus, as the test for patent eligibility is not whether the claim is confined to a particular field of
use or technological environment (“the method is for media and entertainment production pipeline workloads” as asserted above), (see, again Intellectual Ventures ILLC v. Capital One Bank (USA)), the Examiner is unconvinced the claims are directed to eligible subject matter and thus this argument is moot.
As to the argument: “Further, with respect to the step of transferring the archived format, the Applicant has amended the claim to further require that it is done by only transferring bits required to construct a dependent element at the second participant node. Support can be found, for example, in paragraph [0033]. In view of these amendments, the Applicant requests that the Examiner withdraw the rejections of claims 1-3, 5-11, and 13-16 under 35 U.S.C. 101.”;
The Examiner respectfully disagrees.
Applicant asserts that the inventions direction/amendments towards “Applicant has amended the claim to further require that it is done by only transferring bits required to construct a dependent element at the second participant node” implies that the claims nonabstract; however, the test is not whether the claim is confined to a particular field of use or technological environment, see Intellectual Ventures ILLC v. Capital One Bank (USA), 792 F.3d 1363, 1366 (Fed. Cir. 2015) (“[a]n abstract idea does not become nonabstract by limiting the invention to a particular field of use or technological environment”). The relevant question, even at the first step of the Mayo/Alice analysis, is “whether the claims are directed to an improvement in computer functionality versus being directed to an abstract idea.” Enfish, LLC v. Microsoft Corp., 822 F.3d 1327, 1335 (Fed. Cir. 2016).
Here, the invention uses computer technology, but the Specification describes the claimed
solution as a scheme in collecting, storing and managing electronic records over time (see for
example specification para. [0007] “data sharing service (vrepod) that is configured to serve
data in a corresponding repository, wherein the data includes metadata segments
corresponding to data segments in a log-structured manner; execute, by a second
participant node of the participant nodes, a client polling service (vsyncd) that polls the
data sharing service to gather new records from a last fetched log location of the
repository of the first participant node and identify and send a request for a specific data
segment that is stored in the repository of the first participant node”).
And collecting, storing, and organizing information describes the abstract idea to which Appellants’ claims are directed, not an improvement in computer technology. Erie Indemnity Co., 850 F.3d at 1328 (“the heart of the claimed invention lies in creating and using an index to search for and retrieve data ... an abstract concept”).
Thus, as the test for patent eligibility is not whether the claim is confined to a particular field of
use or technological environment (“Applicant has amended the claim to further require that it is done by only transferring bits required to construct a dependent element at the second participant node” as asserted above), (see, again Intellectual Ventures ILLC v. Capital One Bank (USA)), the Examiner is unconvinced the claims are directed to eligible subject matter and thus this argument is moot.
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-3, 5-11 and 13-16 are rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more.
Claim 1 recites: (Step 2a, Prong One)
transferring data from a first participant node to a second participant node.
The limitation of transferring data from a first participant node to a second participant node, as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting a generic “participant nodes”, nothing in the claim element precludes the step from
practically being performed in the mind. For example, but for the “participant nodes” language,
“transferring” in the context of this claim encompasses the user manually moving
generic “data” between nodes using generic “transferring” steps. Similarly, the limitation(s) of executing; executing and packing, as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. For example, but for the “participant nodes”, executing; executing and packing in the context of this claim encompasses the user manually receiving generic data and “metadata” and transformations” and performing generic “executing” to send/request generic “data” steps. If a claim limitation, under its
broadest reasonable interpretation, covers performance of the limitation in the mind but for the
recitation of generic computer components, then it falls within the “Mental Processes” grouping
of abstract ideas (concepts performed in the human mind (including an observation, evaluation,
judgment, opinion)).
Further, these concepts also recite “Certain Methods of Organizing Human Activity”; (such as
commercial or legal interactions (including agreements in the form of contracts; legal
obligations; advertising, marketing or sales activities or behaviors; business relations) where
performing generic transferring/executing steps of generic data using generic participant nodes is a method of human activity in commercial or legal interactions.
Accordingly, the claim recites an abstract idea.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites one additional element – using a participant node with a method to perform both the executing; executing and packing; and transferring steps. The participant node with a method in both steps is recited at a high level of generality (i.e., as a generic processor (see spec. para. [0022] “However, there could be any number of sites and corresponding computing systems
(nodes).”) performing a generic computer function of “transferring”) such that it amounts no more than mere instructions to apply the exception using a generic computer component.
Accordingly, this additional element does not integrate the abstract idea into a practical
application because it does not impose any meaningful limits on practicing the abstract idea.
The claim is directed to an abstract idea. The claim does not include additional elements that
are sufficient to amount to significantly more than the judicial exception.
(Step 2b)
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 element of a participant node with a method to perform both the executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claim(s) is/are not patent eligible.
Referring to claim 2, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “recording a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “recording a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “recording a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 3, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the data are at least one of a production content data
and an organizational data”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the data are at least one of a production
content data and an organizational data” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the data are at least one of a production content data and an organizational data” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 5, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the production structures are at least one of a sequence, a shot, and/or a content element for a media production”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the production structures are at least one of a
sequence, a shot, and/or a content element for a media production” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the production structures are at least one of a sequence, a shot, and/or a content element for a media production” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 6, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein each repository asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata stored in repositories of other nodes”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein each repository asynchronously replicate DataStore
records to other repositories to thereby cause each node to store a shard and a copy of
metadata stored in repositories of other nodes” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein each repository asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata stored in repositories of other nodes” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 7, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein each repository is an append-only sparse three dimensional
persistent hash map”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein each repository is an append-only sparse three dimensional persistent hash map” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein each repository is an append-only sparse three dimensional persistent hash map” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 8, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “syncing all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “syncing all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “syncing all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Claim 9 recites: (Step 2a, Prong One)
transferring data from a first participant node to a second participant node.
The limitation of transferring data from a first participant node to a second participant node, as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, other than reciting a generic processor/memory, nothing in the claim element precludes the step from
practically being performed in the mind. For example, but for the processor/memory language,
“transferring” in the context of this claim encompasses the user manually moving
generic “data” between nodes using generic “transferring” steps. Similarly, the limitation(s) of executing; executing and packing, as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. For example, but for the processor/memory, executing; executing and packing in the context of this claim encompasses the user manually receiving generic data and “metadata” and transformations” and performing generic “executing” to send/request generic “data” steps. If a claim limitation, under its
broadest reasonable interpretation, covers performance of the limitation in the mind but for the
recitation of generic computer components, then it falls within the “Mental Processes” grouping
of abstract ideas (concepts performed in the human mind (including an observation, evaluation,
judgment, opinion)).
Further, these concepts also recite “Certain Methods of Organizing Human Activity”; (such as
commercial or legal interactions (including agreements in the form of contracts; legal
obligations; advertising, marketing or sales activities or behaviors; business relations) where
performing generic transferring/executing steps of generic data using a generic processor/memory is a method of human activity in commercial or legal interactions.
Accordingly, the claim recites an abstract idea.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites one additional element – using a processor with a memory to perform both the executing; executing and packing; and transferring steps. The processor with a memory in both steps is recited at a high level of generality (i.e., as a generic processor (see spec. para. [0022] “However, there could be any number of sites and corresponding computing systems
(nodes).”) performing a generic computer function of “transferring”) such that it amounts no more than mere instructions to apply the exception using a generic computer component.
Accordingly, this additional element does not integrate the abstract idea into a practical
application because it does not impose any meaningful limits on practicing the abstract idea.
The claim is directed to an abstract idea. The claim does not include additional elements that
are sufficient to amount to significantly more than the judicial exception.
(Step 2b)
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 element of a processor with a memory to perform both the executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claim(s) is/are not patent eligible.
Referring to claim 10, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the instructions further cause the at least one processor to record a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the instructions further cause the at least one processor to record a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the instructions further cause the at least one processor to record a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 11, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the data are at least one of a production content data and an organizational data”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the data are at least one of a
production content data and an organizational data” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the data are at least one of a production content data and an organizational data” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 13, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the production structures are at least one of a sequence, a shot, and/or a content element for a media production”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the production structures are at least one of a sequence, a shot, and/or a content element for a media production” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the production structures are at least one of a sequence, a shot, and/or a content element for a media production” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 14, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein each repository asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata stored in repositories of other nodes”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein each repository asynchronously replicate
DataStore records to other repositories to thereby cause each node to store a shard
and a copy of metadata stored in repositories of other nodes” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein each repository asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata stored in repositories of other nodes” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 15, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein each repository is an append-only sparse three-dimensional persistent hash map”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein each repository is an append-only sparse three-dimensional persistent hash map” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein each repository is an append-only sparse three-dimensional persistent hash map” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
Referring to claim 16, (Step 2a, Prong One) this further merely performs an additional abstract
mental step of “wherein the instructions further cause the at least one processor to further sync all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph”.
(Step 2a, Prong Two)
This judicial exception is not integrated into a practical application. In particular, the claim only
recites the additional elements of “wherein the instructions further cause the at least one processor to further sync all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
(Step 2b)
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 element of using “wherein the instructions further cause the at least one processor to further sync all required upstream dependencies of the data
packing the required upstream dependencies into an archived format based on a similarity index computed across the dependency graph” steps to perform both the aforementioned executing; executing and packing; and transferring steps amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept.
The claim(s) is/are not patent eligible.
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.
Claim(s) 1-3, 5-6, 8-11, 13-14 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Mullins et al. US Pub. No. 2018/0129697 A1, in view of Vienneau et al., US Pub. No.: 2007/0185881 A1, in view of Borochoff et al. US Pub. No. 2019/0324989 A1, in view of Lehouillier et al., US Pub. No.: 2015/0269215 A1, in view of Grunwald et al., US Pub. No. 2021/0081432 A1.
As to claim 1 (and substantially similar claim 9), Mullins discloses:
the method comprising:
executing, by a first participant node of the plurality of participant nodes,
in the decentralized content production pipeline network,
(Mullins [0032] As presented, system 100 comprises client devices 102A-C, distributed network 104, and a distributed server environment comprising one or more servers, such as server
devices 106A-C.)
a data sharing service that is configured to serve data in a corresponding repository,
wherein the data includes metadata
(Mullins teaches sharing/serving various types of metadata portions/segments see Figs. 1-2; para [0033] The interface component may enable the creation, modification and navigation of various data sets and graphical representations. In examples, the various datasets may comprise (or be otherwise associated with), for example, resource identifiers, resource metadata, relationship information, asserted. relationships, graphical mapping information, query data, rulesets, such as, for example, inference rules, authorization information, authentication information, etc., as discussed in further detail below. Generally, the datasets are stored on one or more server devices 106A-C and are accessible by the client devices 102A-C ... The underlying resources represented in the various datasets' may be stored locally or in a data store, such as a cloud storage application, accessible to client devices 102A-C.";
See also [0030] As an example, rather than transmitting all the data in the isolated collection, only a portion of that data may be transmitted. For instance, the asserted data, but not the inferred data, may be transmitted along with the ruleset for the isolated collection.);
corresponding to data in a log structured manner;
(Mullins teaches long term and versioned storage, i.e. a log see [0082] In further examples, method 775 and method 785 depicted in FIGS. 7D-7E may be used for transfer of at least
a portion of the isolated collection between long term storage (such as disk storage) and memory (such as random access memory (RAM)).; see also [0051] As such, the data that has been inferred may be identified and then filtered based on the version number of the ruleset, and queries are able to return results that correspond to the particular API or application version, despite other versions of rulesets having been created.)
executing, by a second participant node of the participant nodes, a client polling service that polls the data sharing service to gather new records from a last fetched log location of the repository of the first participant node and identify and send a request for a specific data that is stored in the repository of the first participant node;
(Mullins teaches updating the collection/interrogating data stores, i.e. polling nodes for data segments see [0068] At operation 762, the first subset of rules is executed at update time to generate inferred data including one or more inferred relationship. Update time occurs when a change or update is made to the isolated collection, including a first time accessing an isolated collection where none of the rules in the ruleset have been executed against the isolated collection. The inferred data generated at operation 762 is stored in the isolated collection.;
See also Fig. 1, para [0034] [0034] Client devices 102A-C may be further configured to interrogate data stores comprising the resources corresponding to the resource identifiers in the various data sets.);
Mullins does not disclose:
a method for synchronizing data between a plurality of participant nodes in a decentralized content production pipeline network, for media and entertainment production pipeline workloads,
where the dependency graph includes a cross-node dependency for the data between the first participant node and the second participant node;
packing, by the first participant node, the at least one data into an archived format
and
transferring the archived format from the first participant node to the second participant node
however, Vienneau discloses:
a method for synchronizing data between a plurality of participant nodes in a decentralized content production pipeline network, for media and entertainment production pipeline workloads,
(Vienneau teaches a distributed rendering pipeline for media for editing/applying media and synchronization, i.e. “synchronizing data between a plurality of participant nodes in a decentralized content production pipeline network, for media and entertainment production pipeline workloads” see [0038] Further, the database may be distributed database system wherein information is stored in multiple storage units may or may not be geographically diverse and managed by a centralized DBMS 212 via network 214.; see also [0026] A relational database management system (RDBMS) is integrated directly with post-production compositing software. Each element that contributes to the rendering pipeline is tracked independently by the RDBMS, which is located on a centralized server. With this integration, the post-production software can report on the state of any particular element of the rendering pipeline. The system maintains a history (i.e., keeps track) of which clips are in process, finished, open and how long each has been worked on.;
see also [0011] As the end-user manipulates media by editing, applying tools, etc., the creative application constructs a dependency graph reflecting the structure of the composition.;
see also Collaboration Details [0089] To implement/manage the database lock and to
manage synchronization, one or more embodiments of the invention utilize a permit server ( e.g., within computer 200).)
where the dependency graph includes a cross-node dependency for the data between the first participant node and the second participant node;
(Vienneau teaches tracking rendering tasks across node dependencies/dependency graphs, i.e. “dependency graph includes a cross-node dependency for the data between the first participant node and the second participant node” see [0046] Each element that is used by a node 102-106 in a dependency graph 100 is tracked independently by the RDBMS 212 that is cited on a centralized server. With the integration, the post-production software 208 can report on the state of any particular element of the dependency graph 100/rendering pipeline; see also [0056-0057] In this regard, a virtual folder structure may be presented to the user with a root and various folders/subfolders. Within the folders are various setups or dependency graphs (i.e., image processing trees). Accordingly, each setup has various nodes including media nodes (i.e., that refer to image data), image modifier tools ( e.g., that perform some sort of image modification such as degraining, compositing, blurring, etc.), and output nodes (that identifies where the result is written to). The folders may also include project information that identifies project-related information such as the director's name, client name, title of project, location, etc.). [0057] All of the metadata presented via the API or UI is stored in the database (e.g., in various tables). The metadata stored in the tables may also be used to recreate a dependency graph if necessary. Accordingly, the metadata provides attribute information relating to the various nodes within a dependency graph.;
See also [0100] In view of the above, it may be understood that both media content (i.e., image data) and metadata relating to a composition may be stored in a centralized database.; and [0123] At step 602, metadata for each element of the dependency graph is stored in a database (i.e., a centralized database), wherein the database is accessible across a network
to multiple users. Such metadata may include data relating to a node of the dependency graph, or data relating to a connection between two or more nodes of the dependency graph. By storing such metadata, the different modifications to the image data performed by multiple users may be tracked in an easy and efficient manner)
packing, by the first participant node, the at least one data into an archived format segment
(Vienneau teaches storing metadata for node dependencies/dependency graphs, i.e. “packing, by the first participant node, the at least one data into an archived format”
See [0056-0057] In this regard, a virtual folder structure may be presented to the user with a root and various folders/subfolders. Within the folders are various setups or dependency graphs (i.e., image processing trees). Accordingly, each setup has various nodes including media nodes (i.e., that refer to image data), image modifier tools ( e.g., that perform some sort of image modification such as degraining, compositing, blurring, etc.), and output nodes (that identifies where the result is written to). The folders may also include project information that identifies project-related information such as the director's name, client name, title of project, location, etc.). [0057] All of the metadata presented via the API or UI is stored in the database (e.g., in various tables). The metadata stored in the tables may also be used to recreate a dependency graph if necessary. Accordingly, the metadata provides attribute information relating to the various nodes within a dependency graph.;
See also [0100] In view of the above, it may be understood that both media content (i.e., image data) and metadata relating to a composition may be stored in a centralized database.; and [0123] At step 602, metadata for each element of the dependency graph is stored in a database (i.e., a centralized database), wherein the database is accessible across a network
to multiple users. Such metadata may include data relating to a node of the dependency graph, or data relating to a connection between two or more nodes of the dependency graph. By storing such metadata, the different modifications to the image data performed by multiple users may be tracked in an easy and efficient manner)
and
transferring the archived format from the first participant node to the second participant node
(Vienneau teaches for export/rendering final results with dependency metadata for archiving i.e. “transferring the archived format from the first participant node to the second participant node”
See [0103-0106] File Import/Output [0103] File importation is an operation by which the user
can associate a piece of external media (e.g., image data or media content) with some data kept in the database. In this regard, a file import preview allows the user to apply a tool
pipeline ( e.g., the various tools in a dependency graph) on an import stream (e.g., operations such as LUT, crop, resize, etc.). The import results in a media node in the composition. [0104] As described above, intermediate results may be generated in the local cache and not written back to the centralized database 210. Accordingly, users on another machine may not have access to and cannot use such intermediate results. [0105] File export occurs when the user renders a composition by creating either a rendered result or a final result. With either a rendered result or a final result, the export results in a sequence of file(s) written outside of the media cache (e.g., in the centralized database 210). [0106] Compositions/dependency graphs within application 208 may need to be exported for archiving. In this regard, the composition may be stored in the file system in a structured manner along with the media files/image content.;
see also [0109] a library browser's contextual menu may be used to export the composition ( e.g., to a name and path defined by a project setting);
see also [0100] In view of the above, it may be understood that both media content (i.e., image data) and metadata relating to a composition may be stored in a centralized database; and [0123] At step 602, metadata for each element of the dependency graph is stored in a database (i.e., a centralized database), wherein the database is accessible across a network
to multiple users. Such metadata may include data relating to a node of the dependency graph, or data relating to a connection between two or more nodes of the dependency graph. By storing such metadata, the different modifications to the image data performed by multiple users may be tracked in an easy and efficient manner.)
It would have been obvious to one having ordinary skill in the art at the time the time of the effective filing date to apply a distributed rendering pipeline with dependency metadata as taught by Vienneau to the system of Mullins since it was known in the art that content pipeline systems provide a method for tracking the processing of image data via a dependency graph is obtained where such a dependency graph is representative of a composition, e.g. the image processing performed on media content to generate an output or output clip where such image
processing may also be referred to as image rendering and where metadata for each element of the dependency graph is stored in a database (i.e., a centralized database), wherein the database is accessible across a network to multiple users where such metadata may include data relating to a node of the dependency graph, or data relating to a connection between two or more nodes of the dependency graph and whereby storing such metadata, the different modifications to the image data performed by multiple users may be tracked in an easy and efficient manner (Vienneau [0122-0123]).
Mullins / Vienneau do not disclose:
in response to the request for the specific data,
based on an index computed across a dependency graph,
however, Borochoff discloses:
in response to the request for the specific data,
(Borochoff teaches selecting resources, i.e. “request for the specific data” see [0056] For example, a user, through a user device viewing the resource dependency user interface 100, can select a series of nested folders so that they navigate to the folder path 108;
see also [0059-0060] the other resources) can be used to signify the selection. For example, while not illustrated, once a resource in the graph is selected, the graph can update to shown children and/or parent resources of the selected resource and remove any other less related, or unrelated, resource from the graph. In some embodiments, not all resource dependencies in the system may be displayed on the graph. For example, when an item is selected, the system may want to re-determine the dependency relationships of the selected item and update the graph based on the re-determination. If another item is selected in the graph, the graph can then update with new dependencies, if any exist, along with any zooming, panning, highlighting, or the like, to change the focus of the graph. [0060] In some embodiments, as a selection is made in the dependency graph user interface 104, the hierarchical resource repository 102 can update to display the folder,)
based on an index computed across a dependency graph,
(Borochoff teaches using relatedness/similarity scores based on graph dependencies to retrieve/store content, i.e. “based on an index computed across a dependency graph” see [0057] It should also be appreciated that currently viewed folders in the hierarchical resource repository 102 can affect what is displayed in the dependency graph user interface 104, and vice-versa. For example, the "Dataset 1" 109 and the "Dataset 3" 110 appear in both user interfaces and correspond to the same respective data sets. Data sets or resources depending on or depending from the "Dataset 1" 109 and/or the "Dataset 3" 110 may also be displayed in whole or in part in the dependency graph user interface 104, as described in more detail above. In some embodiments, related data sets (e.g., the "Dataset 2" 111) can also be displayed, where relatedness can be determined based at least partly on preconfigured criteria. Preconfigured criteria can based on a preset threshold or limit based on the number of similar dependency relationships (i.e., parents, children, etc.) and/or a comparison of the data within the data sets resulting in a similarity score. In some embodiments, the "Dataset 1" 109, "Dataset 2" 111, and "Dataset 3" 110 can be referred to as brothers or sisters with respect to their dependency on each other and/or other resources. In some embodiments, the brother or sister classification can also be preprogramed so that they resources appear together in the dependency graph user interface 104.;
see also [0065-0066] For example, in some embodiments, processing can include traversal of every resource node in the graph to analyze and determine the web of dependencies associated with each resource node. Additionally or alternatively, each resource can be stored in an index, such as a hash data structure, which contains information about what graph( s) the resource is in. [0066] Then at block 308, the resource dependency system 402 causes presentation of an updated graph for display on the dependency graph user interface based at least partly on the selected resource.).
It would have been obvious to one having ordinary skill in the art at the time the time of the effective filing date to apply similarity scores based on dependency graphs as taught by Borochoff to the system of Mullins/ Vienneau since it was known in the art that database management systems/pipeline systems provide a resource dependency system receives the selected resource or the indication of what resource is selected and processes the information where processing the information can include looking up the resource in a data structure, such as a graph, searching additional databases for data or metadata pertaining to the selection, or any other method desirable user or that would otherwise improve the efficiency of the system. where processing can include traversal of every resource node in the graph to analyze and determine the web of dependencies associated with each resource node; where also each resource can be stored in an index, such as a hash data structure, which contains information about what graph( s) the resource where retrieving resources based on resource and or data dependencies can provide noticeable benefits for retrieval of digital data where in the context of a data pipeline system where data and/or resources are dependent on one another or based on one another, there may be efficiency gains in enabling a user to track dependencies instead of ( or in addition to) providing particular resource location(s). (Borochoff [0038, 0065]).
Mullins / Vienneau / Borochoff do not disclose:
by only transferring bits required to construct a dependent element at the second participant node;
However, Lehouillier discloses:
by only transferring bits required to construct a dependent element at the second participant node;
(Lehouillier teaches replicating change records showing the difference between an existing record and the new record i.e. “only transferring bits required to construct a dependent element at the second participant node;”
See [0028] Replication data 106 contains change records that describe operations and/or transactions performed on the source database by source database server 102. A change
record may include data showing the difference between an existing record and the new record. For example, the change records may be logical change records (LCRs) that contain information about changes to a database. In one embodiment, the LCRs are flattened or otherwise formatted to facilitate storage and/or transmission.)
It would have been obvious to one having ordinary skill in the art at the time the time of the effective filing date to apply replicating change records as taught by Lehouillier to the system of Mullins/ Vienneau/ Borochoff since it was known in the art that database management systems provide a replication client is configured to read change records contained in replication data and apply the corresponding changes to the target database via target database server where the change records may be read from a file containing database operations, a network location, or over a data stream. In one embodiment, the change records include all transactions performed on the source database in committed order where a replication client may read replication data from a network location and where alternatively and/or in addition, replication client may receive change records from a replication data stream containing replication data
Where the replication client does not create an intermediate object or otherwise format the change record before transmitting the change record to the target database server (Lehouillier [0031]).
Mullins / Vienneau / Borochoff / Lehouillier do not disclose:
to compress and archive the at least one data as a share,
However, Grunwald discloses
to compress and archive the at least one data as a share,
(Grunwald teaches compressing data before sharing to cloud instances and archiving, i.e. “compress and archive the at least one data as a share” see [0131] In such an example, the first cloud computing instance 320 that is executing the storage controller application 324 may perform various tasks such as, for example, deduplicating the data contained in the request, compressing the data contained in the request, determining where to the write the data contained in the request, and so on, before ultimately sending a request to write a deduplicated,
encrypted, or otherwise possibly updated version of the data to one or more of the cloud computing instances;
see also [0105] The cloud services provider 302 depicted in FIG. 3A may be embodied, for example, as a system and computing environment that provides services to users of the
cloud services provider 302 through the sharing of computing resources via the data communications link 304.;
see also [0152] Readers will appreciate that the storage system 306 depicted in FIG. 3B may be useful for supporting various types of software applications. For example, the storage
system 306 may be useful in supporting …media production applications, media serving applications, picture archiving and communication systems ('PACS') applications;
see also [0068] Data is laid out or distributed across multiple storage nodes in data fragments or stripes that support data recovery in some embodiments.).
It would have been obvious to one having ordinary skill in the art at the time the time of the effective filing date to apply compressed cloud storage as taught by Grunwald to the system of Mullins/ Vienneau/ Borochoff / Lehouillier since it was known in the art that database management systems provide software resources which may also include software
that is useful in facilitating and optimizing I/O operations that are directed to the storage resources in the storage system where for example, the software resources may include software modules that perform carry out various data reduction techniques such as, for example, data compression, data deduplication, and others where the software resources may include software modules that intelligently group together I/O operations to facilitate better
usage of the underlying storage resource, software modules that perform data migration operations to migrate from within a storage system, as well as software modules that perform other functions. (Grunwald [0121]).
As to claim 2, Vienneau discloses the method of claim 1, further comprising recording a cross-node dependency for the data between the first participant node and the second participant node in the dependency graph.
(Vienneau teaches tracking dependencies/ dependency graphs between elements and nodes in a database, i.e. “recording a cross-node dependency for the data” [0046] In embodiments of the invention, such a software application 208 is directly integrated with a relational database management system 212. Each element that is used by a node 102-106 in a dependency graph 100 is tracked independently by the RDBMS 212 that is cited on a centralized server. With the integration, the post-production software 208 can report on the state of any particular
element of the dependency graph 100/rendering pipeline.;
see also [0056-0057] In this regard, a virtual folder structure may be presented to the user with a root and various folders/subfolders. Within the folders are various setups or dependency graphs (i.e., image processing trees). Accordingly, each setup has various nodes including
media nodes (i.e., that refer to image data), image modifier tools ( e.g., that perform some sort of image modification such as degraining, compositing, blurring, etc.), and output nodes (that identifies where the result is written to). The folders may also include project information that identifiesproject-related information such as the director's name, client name, title of project, location, etc.). [0057] All of the metadata presented via the API or UI is stored in the database (e.g., in various tables). The metadata stored in the tables may also be used to recreate a dependency graph if necessary. Accordingly, the metadata provides attribute information relating to the various nodes within a dependency graph.).
As to claim 3, Vienneau as modified discloses the method of claim 1, wherein the data are at least one of a production content data
(Vienneau teaches managing/processing various clips/a rendering pipeline for media clips, i.e. “data are at least one of a production content data” see [0009] FIG. 1 illustrates a process tree in a schematic view. A schematic view 100 uses node(s) 102-104 to represent all of the operators in a workspace performed on one or more clips 106-110, and line(s) (edges) 112-118 between nodes clips 106-110 and nodes 102-104 to indicate the flow of image data between the operators. The output of one node 102 is the source for the next node 104. As a result clip 104 or other branch ( e.g., paint or color correction projects 102) is created, the process tree indicating the flow of data through the nodes 102-104 is built automatically. As illustrated in FIG. 1, various source nodes in the form of clips 106-110 are utilized. As illustrated, front clip 106, back clip 108, and matte clip 110 may be utilized by color correction node 102. The color correction node 102 performs an operation (i.e., a color correction to the clips 106-110) on the clips 106-110 to produce a result/output 104.)
and an organizational data
(Vienneau teaches using metadata to store organizational data/dependency graphs, i.e. “an organizational data” see [0067] Thus, as illustrated in FIG. 4, various tables may be used to coordinate, organize, and store the various features and attributes of a dependency graph. These tables may be directly accessed via SQL queries. Alternatively, as described above, an API may be used to present the information in a more understandable and user friendly manner; see also [0056] The user interface presents the metadata to the user in a familiar form. In this regard, a virtual folder structure may be presented to the user with a
root and various folders/subfolders. Within the folders are various setups or dependency graphs (i.e., image processing trees). Accordingly, each setup has various nodes including
media nodes (i.e., that refer to image data), image modifier tools ( e.g., that perform some sort of image modification such as degraining, compositing, blurring, etc.), and output nodes (that identifies where the result is written to). The folders may also include project information that identifies project-related information such as the director's name, client name, title of project, location, etc.).
As to claim 5, Vienneau as modified discloses the method of claim 1, wherein the production structures are at least one of a sequence,
(Vienneau [0026] If multiple variations of a clip have been created, the post-processing software provides an interface for quickly selecting a variation, and previewing the entire rendering
sequence using it.; see also [0048] Further, if multiple variations of a clip have been
created, the post-processing software 208 provides an interface for quickly selecting a variation, and previewing the entire rendering sequence using the selected variation.)
a shot, or a content element for a media production
(Vienneau [0048] In view of the above, the RDBMS 212 (through database 210) maintains knowledge of which clips are in-process, finished, open, and how long each has been
worked on.).
As to claim 6, Grunwald as modified discloses the method of claim 1, wherein each repository asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata stored in repositories of other nodes
(Grunwald teaches asynchronous replication of shards/metadata/snapshots between nodes i.e. “asynchronously replicate DataStore records to other repositories to thereby cause each node to store a shard and a copy of metadata”
See [0293] In some implementations, a replication relationship is formed as a set of storage systems 602, 624 that replicate some dataset 612 between independent stores, where each
storage system 602, 624 may have its own copy and its own separate internal management of relevant data structures for defining storage objects, for mapping objects to physical
storage, for deduplication, for defining the mapping of content to snapshots, and so on. In this way, a replication system may use a common management model that is a same, or similar, management model, and use a same, or similar, implementation model and persistent data structures for both synchronous replication and asynchronous replication.
See also [0078-0080] [0078] The host CPU 156 of the storage node 150, on which the non-volatile solid state storage 152 and corresponding authority 168 reside, then breaks up or
shards the data and transmits the data out to various nonvolatile solid state storage 152. The transmitted data is written as a data stripe in accordance with an erasure coding scheme…[0080] Each data segment is protected, e.g., from memory and other failures, by breaking the segment into a number of data and parity shards, where applicable. The data and parity shards are distributed, i.e., striped, across non-volatile solid state storage 152 coupled
to the host CPUs;
see also [0079] Each authority has an authority owner, which is a storage node that has the exclusive right to update the entities in the authority. In other words, a storage node contains the authority, and that the authority, in tum, contains entities.).
As to claim 8, Borochoff as modified discloses the method of claim 1, further comprising syncing all required upstream dependencies of the data packing the required upstream dependencies into an archived format based on the index computed across the dependency graph
(Borochoff teaches updating resources/resource nodes using relatedness/similarity scores based on graph dependencies to update/retrieve/store content, i.e. “syncing all required upstream dependencies” “based on a similarity index computed across a dependency graph”
See [0039] For example, a selection of a particular resource in the dependency graph user interface can cause the system to update the dependency graph user interface to indicate the selection and/or to update the hierarchical resource repository to navigate to the appropriate
folder corresponding to the stored location of the selected resource. In another example, a selection of a particular resource in the hierarchical resource repository can cause the system to update the hierarchical resource repository to indicate the selection and/or to update the
dependency graph user interface to display an updated graph, indicate the selection and, in some embodiments, focus on the selected resource by zooming into a portion of
the graph.
See also [0057] It should also be appreciated that currently viewed folders in the hierarchical resource repository 102 can affect what is displayed in the dependency graph user interface 104, and vice-versa. For example, the "Dataset 1" 109 and the "Dataset 3" 110 appear in both user interfaces and correspond to the same respective data sets. Data sets or resources depending on or depending from the "Dataset 1" 109 and/or the "Dataset 3" 110 may also be displayed in whole or in part in the dependency graph user interface 104, as described in more detail above. In some embodiments, related data sets (e.g., the "Dataset 2" 111) can also be displayed, where relatedness can be determined based at least partly on preconfigured criteria. Preconfigured criteria can based on a preset threshold or limit based on the number of similar dependency relationships (i.e., parents, children, etc.) and/or a comparison of the data within the data sets resulting in a similarity score. In some embodiments, the "Dataset 1" 109, "Dataset 2" 111, and "Dataset 3" 110 can be referred to as brothers or sisters with respect to their dependency on each other and/or other resources. In some embodiments, the brother or sister classification can also be preprogramed so that they resources appear together in the dependency graph user interface 104.;
see also [0065-0066] For example, in some embodiments, processing can include traversal of every resource node in the graph to analyze and determine the web of dependencies associated with each resource node. Additionally or alternatively, each resource can be stored in an index, such as a hash data structure, which contains information about what graph( s) the resource is in. [0066] Then at block 308, the resource dependency system 402 causes presentation of an updated graph for display on the dependency graph user interface based at least partly on the selected resource.).
Referring to claim 10, this dependent claim recites similar limitations as claim 2;
therefore, the arguments above regarding claim 2 are also applicable to claim 10.
Referring to claim 11, this dependent claim recites similar limitations as claim 3;
therefore, the arguments above regarding claim 3 are also applicable to claim 11.
Referring to claim 13, this dependent claim recites similar limitations as claim 5;
therefore, the arguments above regarding claim 5 are also applicable to claim 13.
Referring to claim 14, this dependent claim recites similar limitations as claim 6;
therefore, the arguments above regarding claim 6 are also applicable to claim 14.
Referring to claim 16, this dependent claim recites similar limitations as claim 8;
therefore, the arguments above regarding claim 8 are also applicable to claim 16.
Claim(s) 7 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Mullins et al. US Pub. No. 2018/0129697 A1, in view of Vienneau et al., US Pub. No.: 2007/0185881 A1, in view of Borochoff et al. US Pub. No. 2019/0324989 A1, in view of Lehouillier et al., US Pub. No.: 2015/0269215 A1, in view of Grunwald et al., US Pub. No. 2021/0081432 A1, in view of Sharma et al. WO 2020104841 A1.
As to claim 7, Mullins / Vienneau / Borochoff / Lehouillier / Grunwald do not disclose:
wherein each repository is an append-only sparse three dimensional persistent hash map;
However, Sharma discloses
the method of claim 6, wherein each repository is an append-only sparse three dimensional persistent hash map
(Sharma p. 1: Since the database system is append-only modifications are naturally idempotent and commutative. Write buffer we provide is an append-only sparse n+1 dimensional persistent hash map where n is the number of object attributes or columns part of the structured data format of the table of the database and we have one row key or primary key for each entry in the above hash map. Corresponding to one row key key in the hash map there can be a linked list of n dimensional data objects ordered by their respective versions. Version number is assigned to each n dimensional data object in hash map and is atomically incremented by one each time a new n dimensional data object is added corresponding to the same row key in the hash map.).
It would have been obvious to one having ordinary skill in the art at the time the time of the effective filing date to apply a append-only sparse n+1 dimensional persistent hash map as taught by Sharma to the system of Mullins / Vienneau / Borochoff / Lehouillier / Grunwald since it was known in the art that database management systems provide for a database system with append only modifications are naturally idempotent and commutative where a write buffer is provided which is an append-only sparse n+ 1 dimensional persistent hash map where n is the number of object attributes or columns part of the structured data format of the table of the database and we have one row key or primary key for each entry in the above hash map and corresponding to one row key in the hash map there can be a linked list of n dimensional data objects ordered by their respective versions where a version number is assigned to each n dimensional data object in hash map and is atomically incremented by one each time a new n dimensional data object is added corresponding to the same row key in the hash map where each n dimensional data object in the hash map is immutable, once written and cannot be overwritten or deleted and periodically or when a database read query is triggered, we push all entries of the hash map or the write buffer to the database system with just the latest version data object for each row key or all versions of data object for each row key depending upon the database user requirements where also for the above solution is applicable for database shards with dedicated write buffer for each database shard. (Sharma p.1]).
Referring to claim 15, this dependent claim recites similar limitations as claim 7;
therefore, the arguments above regarding claim 7 are also applicable to claim 15.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
CONTACT INFORMATION
Any inquiry concerning this communication or earlier communications from the examiner should be directed to EVAN S ASPINWALL whose telephone number is (571)270-7723. The examiner can normally be reached Monday-Friday 8am-5pm.
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, Neveen Abel-Jalil can be reached on 571-270-0474. 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.
/Evan Aspinwall/Primary Examiner, Art Unit 2152 12/15/2025