DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
It is unclear what is meant by “suspending execution of all of the transfer operations in the data file” (i.e. the claims describe a validation process occurring prior to executing the transfer operations. Therefore, it is unclear how the execution of the operations are suspended if they are not executing)
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
The examiner encourages Applicant to submit an authorization to communicate with the examiner via the Internet by making the following statement (from MPEP 502.03):
“Recognizing that Internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.”
Please note that the above statement can only be submitted via Central Fax, Regular postal mail, or EFS Web (PTO/SB/439).
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-6, 8-13, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Aygar et al. (US 20240118800 A1) in view of Gilderman et al. (US 10509696 B1).
As per claim 1, Aygar teaches the invention substantially as claimed including a system comprising:
a processor ([0009], examples summarized above can each be incorporated into a non-transitory, computer-readable medium having instructions that, when executed by a processor associated with a computing device, cause the processor to perform the stages described); and
a memory including instructions that are executable by the processor ([0009], the example methods summarized above can each be implemented in a system including, for example, a memory storage and a computing device having a processor that executes instructions to carry out the stages described) for causing the processor to perform operations comprising:
receiving a data file that specifies transfer operations to be executed, the data file specifying one or more groups of transfer operations to be executed ([0021], the GUI can receive a selection of a workload node; and [0027], the application can send instructions to the management plane for migrating the workload. The management plane can then schedule the workload to be deployed at the target edge device (the edge device corresponding to the edge node that the workload node was dragged to). Scheduling a workload to be deployed can include sending all the necessary files and instructions for installing the workload; Examiner Note: Aygar’s workload nodes represents a workload (i.e. set of tasks): [0017], Workload nodes can represent workloads, which can be any process or service that utilizes underlying computing resources to accomplish a task or set of tasks);
prior to executing the transfer operations, determining that a subset of the transfer operations has one or more values that are invalid by comparing the one or more values and one or more expected values ([0022], the GUI can compare the computing needs of the corresponding workload to the computing availability of edge devices in the network; [0048], the management plane can calculate an outcome of the intended action. This is an optional step that can allow the user to view how the indicated migration will affect the associated edge devices. For example, the management plane can determine the usage rates of CPU, memory, disk space, and network traffic that the workload uses; and [0049], Each graph can display the anticipated usage rates after the migration occurs. In one example, the graphs can display the current and anticipated usage rates, which can allow the user to more easily view how the migration will affect each computing resource), the subset of the transfer operations including at least one transfer operation from each group of transfer operations specified in the data file ([0006], GUI can allow a user to migrate a workload. This can include migrating a workload from one edge device to another, [or] copying a workload from one edge device to another; and [0017], Workload nodes can represent workloads, which can be any process or service that utilizes underlying computing resources to accomplish a task or set of tasks);
providing a user interface for display to an entity, wherein the user interface indicates the suspended operations ([0050], The user can then be given the option to either confirm or reject the intended migration. For example, if migrating the workload to the target edge device raises a computing resource usage rate above a desired level, then the user can choose not to carry out the migration), and wherein the user interface is configured to allow the entity to approve the execution of the suspended operations, the user interface including an interface element selectable to simultaneously approve the execution of a plurality of the suspended operations ([0051], when the user chooses a target edge device, at stage 230, the application can receive a confirmation input from the user. For example, after the user drags a workload node to an edge node, the GUI can display the computing resource data and a message asking the user to confirm or reject the migration. The message can include a selection mechanism, such as a button, that the user can select to confirm the intended migration);
detecting a selection of the interface element in the user interface by the entity for simultaneously approving the execution of the plurality of the suspended operations ([0052], the application can notify the management plane of the confirmation input); and
subsequent to removing the suspended status from the suspended operations, processing the data file to execute all of the transfer operations specified in the data file ([0052], the management plane can deploy the workload at the target edge device. This can include the management plane scheduling the deployment. This can include sending all the necessary files and instructions for installing the workload).
Aygar fails to specifically teach, in response to determining that the subset of the transfer operations have the one or more values that are invalid: suspending execution of all of the transfer operations in the data file; and flagging the groups of transfer operations as suspended operations by assigning a suspended status to the groups of transfer operations; and in response to detecting the selection of the interface element, removing the suspended status from the plurality of the suspended operations.
However, Gilderman teaches, in response to determining that the subset of the transfer operations have the one or more values that are invalid:
suspending execution of all of the transfer operations in the data file (Column 9, Lines 56-64, Migration task status 510 may display various migration tasks that have been created in data migration service 220. For example, migration task status may display various details such as a task identifier, (e.g., “A” “B” “C” “D”)... current task status (e.g., ... “error” ... or others not shown, such as “paused”)); and
flagging the groups of transfer operations as suspended operations by assigning a suspended status to the groups of transfer operations (Column 8, Lines 29-32, Responsive actions may include pausing the migration, notifying a user of the error, requesting from a user permission to perform further responsive actions (e.g., analyses or corrective actions); and Column 9, Lines 56-64, Migration task status 510 may display various migration tasks that have been created in data migration service 220. For example, migration task status may display various details such as a task identifier, (e.g., “A” “B” “C” “D”)... current task status (e.g., ... “error” ... or others not shown, such as “paused”)); and
in response to detecting the selection of the interface element, removing the suspended status from the plurality of the suspended operations (Column 7, Lines 38-39, Migration management may track the status of migration tasks, [and] restart or resume migration tasks; Column 8, Lines 29-41, Responsive actions may include pausing the migration, notifying a user of the error, requesting from a user permission to perform further responsive actions (e.g., analyses or corrective actions)...restarting migration at a prior point in time prior to the detection of the error, at the beginning of the migration task, or at a point at which migration was paused; and Column 9, Lines 18-22, Migration task management 320 may determine the overall task status of the migration task and provide the task status 448 to interface 310 (which may display or notify a client 450 of the task status (... in progress).
Aygar and Gilderman are analogous because they are each related to managing migration tasks using user interfaces. Aygar teaches a method of managing migration tasks using a user interface that allows a user to validate the selection of a migration target based on a migration impact. (Abstract, The GUI can display the locations of edge devices in the system and workloads running on the edge devices. A user can drag a workload from one edge device to another in the GUI, and in response the system can schedule the workload to be migrated accordingly. Before the migration is performed, the GUI can calculate a change in computing resource usage at both edge devices. The GUI can display the usage data and prompt the user to confirm the migration. If the user confirms, the workload can be deployed at the target edge device and removed from the source edge device). Gilderman teaches a method of managing migration tasks that include suspending an invalid migration task and resuming said migration task after remediation. (Abstract, Errors may be detected and mitigated during the migration of data. Migration of data from a source data store to a target data store may be monitored for errors. When an error is detected, one or more responsive actions may be identified to modify performance of the migration. In some embodiments, responsive actions may include further analyses to validate the migration. In some embodiments, the responsive actions may be corrective actions to correct the detected error. Once identified, the responsive actions may be performed to modify performance of the migration; and Column 3, Lines 445-48, responsive actions may be provided as options or recommendations to a user, which a user may accept or reject (as discussed below with regard to FIGS. 5A-5C)). It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, migration management user interface taught by Aygar would be modified with migration status management mechanism taught by Gilderman resulting in a system that manages migration tasks including suspending and resuming said tasks. Therefore, it would have been obvious to combine the teachings of Aygar and Gilderman.
As per claim 2, Aygar teaches, wherein the operations further comprise, subsequent to detecting the selection of the interface element in the user interface by the entity:
updating the user interface to include an input element configured to receive updated values associated with the subset of the transfer operations ([0050], The user can then be given the option to either confirm or reject the intended migration. For example, if migrating the workload to the target edge device raises a computing resource usage rate above a desired level, then the user can choose not to carry out the migration. The user can drag the workload node to various edge nodes in the GUI to view how such a migration will affect each edge device), wherein the input element allows the entity to provide the updated values to validate the subset of the transfer operations ([0050, The user can drag the workload node to various edge nodes in the GUI to view how such a migration will affect each edge device); and
in response to receiving the updated values, determining that the subset of the transfer operations is valid by comparing the updated values and the one or more expected values ([0050, The user can drag the workload node to various edge nodes in the GUI to view how such a migration will affect each edge device; and [0052], the application can notify the management plane of the confirmation input).
Aygar fails to specifically teach, based on the subset of the transfer operations being valid, removing the suspended status from the plurality of the suspended operations to process the data file.
However, Gilderman teaches, based on the subset of the transfer operations being valid, removing the suspended status from the plurality of the suspended operations to process the data file (Column 7, Lines 38-39, Migration management may track the status of migration tasks, [and] restart or resume migration tasks; Column 8, Lines 29-41, Responsive actions may include pausing the migration, notifying a user of the error, requesting from a user permission to perform further responsive actions (e.g., analyses or corrective actions)...restarting migration at a prior point in time prior to the detection of the error, at the beginning of the migration task, or at a point at which migration was paused; and Column 9, Lines 18-22, Migration task management 320 may determine the overall task status of the migration task and provide the task status 448 to interface 310 (which may display or notify a client 450 of the task status (... in progress).
The same motivation used in the rejection of claim 1 is applicable to the instant claim.
As per claim 3, Gilderman teaches, wherein the user interface comprises a navigation element corresponding to an attribute shared by at least two suspended operations of the plurality of the suspended operations (Column 9, Lines 56-64, Migration task status 510 may display various migration tasks that have been created in data migration service 220. For example, migration task status may display various details such as a task identifier, (e.g., “A” “B” “C” “D”), source database or other storage service identifiers (e.g., “s445”, “s2789”, “s309”, “s78”), target database or other storage service identifiers (e.g., “t251”, “t3251”, “t136”, “t931”), current task status (e.g., “complete” “error” “in progress” or others not shown, such as “paused”) ; Examiner Note: Examiner has mapped the shared attribute to the each migration action being associated with errors: Column 3, Lines 28-31, Errors may be detected with respect to the desired migration, such as unsupported data types specified for target data store or unsupported storage formats, in some embodiments), and wherein the navigation element is selectable by the entity to display the at least two suspended operations that share the attribute associated with the navigation element (Column 9, Lines 47-54, Migration task user interface 500 may implement various graphical user interface elements, such as buttons, dials, text entry, drop down lists, popup windows, or other display/interface elements to perform various migration task operations (e.g., including the creation, modification, or deletion of migration tasks, not illustrated). In some embodiments, migration task user interface 500 may implement migration task status element 510, as illustrated in FIG. 5A; and Column 9, Lines 56-64, Migration task status 510 may display various migration tasks that have been created in data migration service 220. For example, migration task status may display various details such as a task identifier, (e.g., “A” “B” “C” “D”), source database or other storage service identifiers (e.g., “s445”, “s2789”, “s309”, “s78”), target database or other storage service identifiers (e.g., “t251”, “t3251”, “t136”, “t931”), current task status (e.g., “complete” “error” “in progress” or others not shown, such as “paused”)).
As per claim 4, Gilderman teaches, wherein the operations further comprise, subsequent to flagging the groups of transfer operations as the suspended operations:
assigning the plurality of the suspended operations to be resolved by the entity (Column 3, Lines 445-48, responsive actions may be provided as options or recommendations to a user, which a user may accept or reject (as discussed below with regard to FIGS. 5A-5C) ; and Column 8, Lines 29-35, Responsive actions may include pausing the migration, notifying a user of the error, requesting from a user permission to perform further responsive actions (e.g., analyses or corrective actions), automatically performing responsive actions (e.g., analyses or corrective actions), providing manual migration task corrections or other modifications to a user) based on an attribute shared by the plurality of the suspended operations (Column 3, Lines 32-34, Migration monitoring 140 may also implement migration modification 144 which may select and perform responsive actions to detected errors; Examiner Note: Examiner has mapped the shared attribute to the each migration action being associated with errors: Column 3, Lines 28-31, Errors may be detected with respect to the desired migration, such as unsupported data types specified for target data store or unsupported storage formats, in some embodiments), wherein the entity is allowed to resolve the suspended status corresponding to the plurality of the suspended operations based on the entity having privileges associated with the attribute (Column 3, Lines 45-47, responsive actions may be provided as options or recommendations to a user, which a user may accept or reject; Column 8, Lines 30-32, requesting from a user permission to perform further responsive actions (e.g., analyses or corrective actions)).
As per claim 5, Aygar teaches, wherein determining that the subset of the transfer operations have the one or more values that are invalid further comprises:
comparing a respective resource consumption of each transfer operation associated with the data file with a resource allocation, wherein the resource allocation is an expected value used to validate the data file ([0048], the management plane can calculate an outcome of the intended action. This is an optional step that can allow the user to view how the indicated migration will affect the associated edge devices. For example, the management plane can determine the usage rates of CPU, memory, disk space, and network traffic that the workload uses; and [0049], Each graph can display the anticipated usage rates after the migration occurs. In one example, the graphs can display the current and anticipated usage rates, which can allow the user to more easily view how the migration will affect each computing resource)); and
determining, based on each resource consumption corresponding to the subset of the transfer operations being above the resource allocation, that the subset of the transfer operations have the one or more values that are invalid ([0050], if migrating the workload to the target edge device raises a computing resource usage rate above a desired level, then the user can choose not to carry out the migration. The user can drag the workload node to various edge nodes in the GUI to view how such a migration will affect each edge device).
As per claim 6, Aygar teaches, wherein the resource allocation corresponds to an allocation of unowned resources ([0045], the management plane can provide the GUI engine with the available target edge devices. As an example, the management plane can create a list with the IDs and/or names of the available target edge devices. In one example, the management plane can send the list using an API call. In another example, the management plane can create a log file that the GUI engine can access; and [0046], the application can highlight the available target edges in the GUI).
As per claim 8, this is the “method claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim.
As per claim 9, this claim is similar to claim 2 and is rejected for the same reasons.
As per claim 10, this claim is similar to claim 3 and is rejected for the same reasons.
As per claim 11, this claim is similar to claim 4 and is rejected for the same reasons.
As per claim 12, this claim is similar to claim 5 and is rejected for the same reasons.
As per claim 13, this claim is similar to claim 6 and is rejected for the same reasons.
As per claim 15, this is the “non-transitory computer-readable medium claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim.
As per claim 16, this claim is similar to claim 2 and is rejected for the same reasons.
As per claim 17, this claim is similar to claim 3 and is rejected for the same reasons.
As per claim 18, this claim is similar to claim 4 and is rejected for the same reasons.
As per claim 19, this claim is similar to claim 5 and is rejected for the same reasons.
Claims 7, 14, and 20 rejected under 35 U.S.C. 103 as being unpatentable over the combination of Aygar-Gilderman as applied to independent claims 1, 8, and 15 and in further view of Padmanabhan et al. (US 20120265726 A1).
As per claim 7, the combination of Aygar-Gilderman fails to specifically teach, wherein determining that the subset of the transfer operations have the one or more values that are invalid further comprises: determining whether a respective originator identifier of each transfer operation associated with the data file corresponds to an expected originator, wherein the expected originator is an expected value used to validate the data file; and determining, based on each respective originator identifier being different from the expected originator, that the subset of the transfer operations have the one or more values that are invalid.
However, Padmanabhan teaches, teaches, wherein determining that the subset of the transfer operations have the one or more values that are invalid further comprises:
determining whether a respective originator identifier of each transfer operation associated with the data file corresponds to an expected originator, wherein the expected originator is an expected value used to validate the data file ([0107], The range criteria specify parameters for performing migration data validation, and can include name of source or target database); and
determining, based on each respective originator identifier being different from the expected originator, that the subset of the transfer operations have the one or more values that are invalid ([0130], an output file is created for each validated table with a column having a different output than expected. At process block 743, the validation results are summarized and output using, for example, a "pass" or "fail" indicator, or other suitable metric).
The combination of Aygar-Gilderman and Padmanabhan are analogous because they are each related to managing migration tasks using user interfaces. Aygar teaches a method of managing migration tasks using a user interface that allows a user to validate the selection of a migration target based on a migration impact. Gilderman teaches a method of managing migration tasks that include suspending an invalid migration task and resuming said migration task after remediation. Padmanabhan teaches a method of managing migration tasks including a verification process that validates files associated with the migration tasks. Padmanabhan also teaches a user interface for tracking migration status. ([0081], notifying users of the migration status and validation results; [0121], execution of the migration scripts is monitored to determine whether migration issues occurred, and, if such a determination is made, re-running of a portion or all of the data migration can be initiated; and [0130], an output file is created for each validated table with a column having a different output than expected. At process block 743, the validation results are summarized and output using, for example, a "pass" or "fail" indicator, or other suitable metric... Validation results can also be reported using other suitable techniques, for example, by updating a web page or displaying results in a window of a computer application). It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, migration management user interface taught by the combination of Aygar-Gilderman would be modified with migration validation mechanism taught by Padmanabhan resulting in a system that manages migration tasks including validating migration tasks. Therefore, it would have been obvious to combine the teachings of the combination of Aygar-Gilderman and Padmanabhan.
As per claim 14, this claim is similar to claim 7 and is rejected for the same reasons. The same motivation used in the rejection of claim 7 is applicable to the instant claim.
As per claim 20, this claim is similar to claim 7 and is rejected for the same reasons. The same motivation used in the rejection of claim 7 is applicable to the instant claim.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure and is as follows:
Inventor
Application No.
Teaches
Duong et al.
US11169835B1
Migration tracking:
Messages relating to migration such as progression, successful completion, errors, failures, and the like can be provided via the user interface. In some embodiments, the progress is interactive and displayed in response to a user request.
Nemoto et al.
US8898570B2
Validates user permissions to execute job:
Column 10, Lines 9-13, interface part 112 checks the validity of the session ID and the user type (general user or administrator), and requests acquisition of the print job with respect to the control part 113 if no problem exists as a result of the check (step S142).
Column 11, Lines 53-59, when the "own job" is requested, the control part 113 extracts only the jobs of the user who made the print job list acquisition request (hereinafter referred to as "current user") from all of the jobs in the database 115 of the information administration part 114, and outputs a print job list that is formed by the extracted jobs to the interface part 112 (step S206)
Pai et al.
US20180367622A1
Job tracking and user interface for performing remediation:
instance monitoring service. Instances are associated with alarm conditions indicating a deviation in the operational health of the instance. Upon an alarm condition being satisfied, a remedy operation may be applied to restore the operational health of the instance. A notification system may let customers know of satisfied alarms, and confirm or cancel remedy operations
Powers et al.
US20090049443A1
Job validation, tracking, and suspension:
[0064], User interface 300 includes several status indicators to provide users with information on the progress of a pending job... Status indicators 320, 325, 330, 335, and 340 use status information retrieved by user interface 300 from the control server. In an embodiment, status information on one or more jobs can be retrieved using a Web services interface; and
[0201], interface gives the user the ability to pause a running job (which indicates to the server that it should temporarily not allow any more tasks to be claimed by agents), to resume a paused job (allow the agents to begin claiming tasks again), to abort a job (permanently stop executing tasks on that job), and to resubmit a job
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MELISSA A HEADLY whose telephone number is (571)272-1972. The examiner can normally be reached Monday- Friday 9-5:30pm.
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, Bradley Teets can be reached at 571-272-3338. 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.
/MELISSA A HEADLY/Examiner, Art Unit 2197