DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is responsive to the application filed October 12, 2023.
Claims 1-21 are pending and are presenting for examination.
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.
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 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.
Claim 8, as is presented, “programmable code” is not claimed as a appositive element of the claimed system. Applicant is advised to amend the claim by replacing “a memory for holding programmable code” in line 3 with --a memory for holding programmable code--.
Claim Objections
Claims 3-5, 10-12, and 17-19 are objected to because of the following informalities:
As to claim 3 (lines 4-5), claim 10 (line 5) and claim 17 (line 5), recite to include the limitation “the same node” appears lacking antecedent basis for this limitation in the claims. Appropriate correction is required.
As to claim 4, recites to include the limitation “The method of claim 1, wherein draining is performed” should be changed to, for example -- The method of claim 1, further comprising draining is performed – instead.
As to claim 11 and claim 18, recite to include the limitation “the draining” appears lacking antecedent basis for this limitation in the claims. Appropriate correction is required.
Claims 5, 12, and 19 are also objected for being depended upon the objection of base claims 4, 22, and 18, respectively.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 15-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
As to claim 15, recites to include, “A computer program product embodied on a computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes…”,
The United States Patent and Trademark Office (USPTO) is obliged to give claims their broadest reasonable interpretation consistent with the specification during proceedings before the USPTO. See In re Zletz, 893 F.2d 319 (Fed. Cir. 1989) (during patent examination the pending claims must be interpreted as broadly as their terms reasonably allow).
Since there is silent mention of "computer-readable medium" in applicant specification, especially paragraphs 0068-0070 of application specification mentioned “non-transitory computer readable medium” or “non-transitory computer usable medium” instead; accordingly, with the broadest reasonable interpretation of a claim drawn to a computer- readable medium (also called machine readable medium and other such variations) typically covers forms of non-transitory tangible media and transitory propagating signals per se in view of the ordinary and customary meaning of computer readable media, particularly when the specification is silent. See MPEP 2111.01.
Accordingly, claim 15 above is non-statutory under 35 USC 101 as software per se (computer program product) encoded on a transitory medium.
Dependent claims 16-21 recite the limitations that do not cure the deficiency of the base claim 15, which regarding to the rejection of non-statutory under 35 USC 101. Therefore, they are also rejected for the same reason as noted above.
Claims 1, 2, 6-9, 13-16, 20, and 21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Independent Claims 1, 8, and 15 recite:
A method, comprising:
[a] identifying a single node that needs an upgrade;
[b] preparing the single node for a single-node rolling upgrade; and
[c] performing the single-node rolling upgrade on the single node.
Step 2A – prong 1:
The claims 1, 8, and 15 recite the limitation of:
[a] identifying a single node that needs an upgrade; and
[b] preparing the single node for a single-node rolling upgrade.
These limitations of steps [a] and [b] as draft, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Step 2A – Prong 2:
Under Prong 2, this judicial exception is not integrated into a practical application. The claims recite the following additional elements: “A system, comprising: a processor; a memory for holding programmable code; and wherein the programmable code includes instructions executable by the processor”, “A computer program product embodied on a computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor”, and step [c] “performing the single-node rolling upgrade on the single node”.
The additional elements “A system, comprising: a processor; a memory for holding programmable code; and wherein the programmable code includes instructions executable by the processor” and “A computer program product embodied on a computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor” merely recite instructions to implement an abstract idea on a generic computer, or merely use a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2. See MPEP 2106.05(f).
Furthermore, the additional element of step [c] “performing the single-node rolling upgrade on the single node” fails to meaningfully limit the claim because it does not require any particular application of the recited “performing,” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(f).
Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claims are therefore directed to the judicial exception.
Step 2B:
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “A system, comprising: a processor; a memory for holding programmable code; and wherein the programmable code includes instructions executable by the processor” and “A computer program product embodied on a computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor” are amount to no more than mere instructions, or generic computer/computer components as a tool to carry out the exception, and for the limitation of step [c] “performing the single-node rolling upgrade on the single node” fails to meaningfully limit the claim because it does not require any particular application of the recited “performing” and is at best the equivalent of merely adding the words “apply it” to the judicial exception. The recitation of generic computer instruction and computer components to apply the judicial exception and merely applying the judicial exception or abstract idea do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
Regarding to claims 2, 9, and 16, the limitation “wherein the upgrade is analyzed to determine whether the single node is eligible to undergo the single-node rolling upgrade” recites further mental process. The claims do not include any additional element, thus, no limitation that needs to be analyzed under prong 2 for practical application, or under step 2B for significantly more.
Regarding to claims 6, 13, and 20, the limitation “wherein the single node comprises a clustered database system, and a service (SVC) and a pluggable database (PDB) are both associated with an old instance and a new instance on the single node during the single-node rolling upgrade” merely defines the single node being received, thus amounts to gathering data which is insignificant extra solution activity.
Regarding to claims 7, 14, and 21, the limitation “wherein the single-node rolling upgrade is performed across multiple nodes” does not recite any mental process, however, the additional elements recited in these claims merely describes “performing” on generic terms “multiple nodes”, which fails to meaningfully limit the claim because it does not require any particular application of the recited “performing,” and is at best the equivalent of merely adding the words “apply it” to the judicial exception, thus, is considered to merely apply the abstract idea which is neither a practical application under prong 1, or amount to significantly more under step 2B.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 2, 7-9, 14-16, and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Ranger et al. (US 11579864 B1, hereinafter Ranger) in view of Borissov et al. (US 9229707 B2, hereinafter Borissov).
As per claims 1, 8, and 15, Ranger discloses a method, comprising:
identifying a single node that needs an upgrade – (E.g., at 204, a first node of the distributed system, e.g., a computing node 10 selected – identify --by the version check component 310 - and/or the accelerated upgrade component 130 at 202, can be upgraded to the target system version… from version V1 to version V2 – see at least col. 5: 66- col. 6: 8, col. 6: 40-53, Figs. 2-4, and associated text); and
performing the single-node rolling upgrade on the single node --(E.g. By way of an example shown by system 400 in FIG. 4, the upgrade initialization component 110 can facilitate an upgrade of computing node 10A from version V1 to version V2. In an implementation, since no computing nodes 10 are yet running high-side version V2 at 204, the upgrade performed by the upgrade initialization component 110 at 204 can occur based on upgrade techniques as known in the art, e.g., method 200 can proceed from 204 to 206 to wait for the first computing node to reboot into the upgraded version prior to proceeding – see at least col. 6: 44-54, Fig. 1, Fig. 2, Fig. 4, and associated text).
It is to note that while Ranger discloses selecting node not having version 2 to be ready for the rolling update-- see at least col. 6: 17-30, but does not explicitly disclose; however, Borissov, in an analogous art, discloses preparing the single node for a single-node rolling upgrade – (e.g., before applying patch to identified software components of the first cluster instance, performing backup to the original software components , ensuring that original installation version of software component is running, and also redirect execution services with the first cluster instance as such
FIG. 2 is flow chart 200 of a first part of a process for software upgrade of a distributed computer system with zero downtime. The distributed system that is upgraded during this process may have architecture similar to the architecture of system 100, according to one embodiment of the invention. At block 205, a software patch that has to be installed on the distributed system is analyzed. This is done in order to identify those software components among the software components installed on the distributed system that will be upgraded with the patch. The software patch may upgrade software components on all levels, e.g., system interfaces, libraries and services, and software application components.
At block 210, an original installation of the identified software components is ensured. In this document the term original installation means an installation of the version of the software components that is running before the upgrade. The original installation is required in a case the upgrade is unsuccessful and the software components have to be rolled-back to their version before upgrade. At block 220, an additional precaution measure is taken by making a backup of a cluster instance before the upgrade. The backup may be performed by a separate patch tool, connected to the distributed system at block 215.
Once all precaution measures are taken, at block 225, the implementation of patch upgrade starts with redirecting the incoming service requests from one of the instances to another cluster instance for execution. The distributed system, or the cluster, could have an unlimited number of instances.
At block 240, a patch tool applies the software patch to the application server of the first instance of the cluster. — see Borissov, at least col. 5: 12-45 and 61-62, Fig 1, steps 205-240 of Fig. 2, and associated text).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate Borissov’s teaching into a Ranger’s teaching for further optimizing rolling upgrades on demand within nodes in a distribution system; accordingly promoting minimizing downtime periods as seen in Borissov (e.g., col. 1; 30-54).
Further regarding to claim 8, Ranger discloses a system (e.g., computer 1202, Fig. 12), comprising: a processor (e.g., processing unit 1204, Fig. 12); a memory (memory 1206, Fig. 12) for holding programmable code; and wherein the programmable code includes instructions executable by the processor – see at least col. 10: 49-59, Fig. 12, and associated text, for implementing method steps as of claim 1 above.
Further regarding to claim 15, Ranger discloses a computer program product embodied on a computer readable medium – (e.g., external storage devices 1216 (e.g., a magnetic floppy disk drive (FDD), a memory stick or flash drive reader, a memory card reader, etc., -- see at least col. 11: 6-11, Fig. 12, and associated text) the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes implementing method steps as of claim 1 above.
As per claims 2, 9, and 16, modified Ranger with Borissov discloses wherein the upgrade is analyzed to determine whether the single node is eligible to undergo the single-node rolling upgrade --(E.g., at 204, a first node of the distributed system, e.g., a computing node 10 selected by the version check component 310 - and/or the accelerated upgrade component 130 at 202, can be upgraded to the target system version… from version V1 to version V2 – see Ranger, at least col. 5: 66- col. 6: 8, col. 6: 40-53, Figs. 2-4, and associated text).
As per claims 7, 14, and 21, modified Ranger with Borissov discloses wherein the single-node rolling upgrade is performed across multiple nodes – (e.g., upgrade checks can be run on all computing nodes designated for upgrades in the distributed system – see Ranger, at least col. 5: 63-67).
Claims 3-5, 10-12, and 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Ranger in view of Borissov as applied to claims 1, 8, and 15 above, and in further view of SELVARAJ et al. (US 20140376362 A1, hereinafter SELVARAJ).
As per claims 3, 10, and 17, it is to note that while modified Ranger with Borissov discloses selecting node to be ready for the rolling update-- see Ranger, at least col. 6: 17-30, but the modified does not explicitly disclose; however, SELVARAJ, in an analogous art, discloses wherein the single-node rolling upgrade is performed by identifying an old instance on the single node – (e.g., To apply a patch to a node in a cluster, the node is promoted through a series of sequential phases known as a patching cycle. The shown online patching cycle 502 is given as: PREPARE to patch via copying the production of application code—old instance—of the node – see at least 0072-0073, step 506, Fig. 5, and associated text), applying a patch or upgrade to the single node – (e.g., applying one or more patches to the coping of the production of application code– see at least 0072-0074, step 508, Fig. 5, and associated text), starting a new instance on the single node --(e.g., restarting patched application – new instance—of the node – via Execute boot-up routines and startup software applications and application services --see at least 0080, step 512 of Fig. 5, and associated text) , and then shutting down the old instance on the single node – (e.g., Disconnect the database connection and shutdown software applications as well as removing old version objections of the production – see at least 0078, 0082, steps 514 of Fig. 5, and associated text) where both the old instance and the new instance are co-located on the same node – (E.g., patched production application -new instance— and copied production application – old instance—are within the node – see at least 0072-0082, Fig. 5, and associated text).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate SELVARAJ’s teaching into modified teaching of Ranger with Borissov for further optimizing rolling upgrades on demand within nodes in a distribution system; accordingly promoting minimizing downtime/brown periods as seen in SELVARAJ (e.g.,0007-0008).
As per claims 4, 11, and 18, it is to note that while modified Ranger with Borissov discloses selecting node to be ready for the rolling update-- see Ranger, at least col. 6: 17-30, but the modified does not explicitly disclose; however, SELVARAJ, in an analogous art, discloses wherein draining is performed to remove work from an old instance on the single node – (e.g., Disconnect the database connection and shutdown software applications as well as removing old version objections of the production – see at least 0078, 0082, steps 514 of Fig. 5, and associated text).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate SELVARAJ’s teaching into modified teaching of Ranger with Borissov for further optimizing rolling upgrades on demand within nodes in a distribution system; accordingly promoting minimizing downtime/brown periods as seen in SELVARAJ (e.g.,0007-0008).
As per claims 5, 12, and 19, it is to note that while modified Ranger with Borissov discloses selecting node to be ready for the rolling update-- see Ranger, at least col. 6: 17-30, but the modified does not explicitly disclose; however, SELVARAJ, in an analogous art, discloses wherein the draining is performed to move the work from the old instance to a new instance on the same node--(e.g., Execute boot-up routines and startup software applications and application services --see at least 0080, step 512 of Fig. 5, and associated text).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate SELVARAJ’s teaching into modified teaching of Ranger with Borissov for further optimizing rolling upgrades on demand within nodes in a distribution system; accordingly promoting minimizing downtime/brown periods as seen in SELVARAJ (e.g.,0007-0008).
Claims 6, 13, 17 are rejected under 35 U.S.C. 103 as being unpatentable over Ranger in view of Borissov as applied to claims 1, 8, and 15 above, and in further view of SELVARAJ and Hung at al. (US 20190102384 A1, hereinafter Hung).
As per claims 6, 13, and 20, it is to note that while modified Ranger with Borissov discloses selecting node to be ready for the rolling update-- see Ranger, at least col. 6: 17-30, but the modified does not explicitly disclose; however, SELVARAJ, in an analogous art, discloses wherein the single node comprises a clustered database system, and a service (SVC) and a database (DB) --(e.g., a rolling patch installation in a database cluster such as node 101 within database and service – see at least 0023-0032, Fig. 1A, 1B, and associated text) are both associated with an old instance and a new instance on the single node during the single-node rolling upgrade – (E.g., patched production application -new instance— and copied production application – old instance—are within the node in a rolling patch installation in a database cluster – see at least 0072-0082, Fig. 5, and associated text).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate SELVARAJ’s teaching into modified teaching of Ranger with Borissov for further optimizing rolling upgrades on demand within nodes in a distribution system; accordingly promoting minimizing downtime/brown periods as seen in SELVARAJ (e.g.,0007-0008).
Further, it is to note that while modified Ranger with Borissov and SELVARAJ discloses as stated above except for database being a pluggable database. However, Hung discloses rolling upgrade of pluggable database (see Thus, cloud 400's template automation may include applying a rolling upgrade of a multi-instance pluggable database, during which latency may temporarily increase while any one of the database instances is reconfigured, but always at least some instances of the pluggable database remain in service. see at least 0099).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have incorporate Hung’s teaching into modified teaching of Ranger with Borissov and SELVARAJ for further optimizing rolling upgrades on demand while at least some instances of the pluggable database remain in service as seen in Hung (e.g.,0099).
Conclusion
The prior art made of record and not relied upon (cited on 892 form) is considered pertinent to application disclosure.
Lin et al. (US-20230229477-A1) discloses upgrade nodes in a telco node cluster running cloud-native network functions.
Huang et al. (US-20180373521-A1) disclose rolling out of updates in a network-accessible server infrastructure which operates a plurality of instances of a supporting service.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARINA LEE whose telephone number is (571)270-1648. The examiner can normally be reached Monday to Friday (8 am to 4: 30 pm ET).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached on (571)-272-6799. 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.
/MARINA LEE/Primary Examiner, Art Unit 2192