Prosecution Insights
Last updated: October 25, 2026
Application No. 18/799,248

STORAGE DEVICE AND OPERATING METHOD THEREOF

Non-Final OA §101§102§103
Filed
Aug 09, 2024
Priority
Sep 14, 2023 — RE 10-2023-0122669
Examiner
GAWRYLOWICZ, DEBORAH LONG
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
Samsung Electronics Co., Ltd.
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
2 currently pending
Career history
1
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§101 §102 §103
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 Office Action is in response to claims filed 08/09/2024. Claims 1-20 are pending. Drawings The drawings are objected to as failing to comply with 37 CFR 1.84(p)(4) because of the following minor informalities: Figure 2: reference characters “1200" and "1300" have both been used to designate the same collection of components. Figure 4B: does not include S10 and S20 as mentioned in the description [0072]: . Figure 14: includes 3130 and 3140 that are not described in the description. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance. Specification The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. The disclosure is objected to because of the following informalities: [0177] Extra letters “FIGS” at the end of the paragraph. References in the description [0081][0119][0154] to Figure 4 that is not included in the drawings. 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 therefore, subject to the conditions and requirements of this title. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims do not further recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 1-7 are directed to a device and fall within the statutory category of machines; Claims 8-17 and 18-19 are directed to methods and fall within the statutory category of processes. Therefore, “Are the claims to a process, machine, manufacture, or composition of matter?” Yes. In order to evaluate the Step 2A inquiry, “is the claim directed to a law of nature, a natural phenomenon, or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon, or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application. Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception. Step 2B will evaluate whether the claims include additional elements that are sufficient to amount to significantly more than the judicial exception. Claims 1 and 8: Step 2A Prong 1: The limitations of “monitor performances of a plurality of virtual functions”, “generate status information of the plurality of virtual functions based on the monitored performances of the plurality of virtual functions”, and “allocate one or more resources to the plurality of virtual functions in real time based on the status information associated with the respective virtual function of the plurality of virtual functions”, as drafted, are processes that, but for the recitation of generic computer components, under the broadest reasonable interpretation, covers performance of limitation in the mind. For example, a person can think and observe virtual function performances, evaluate monitored performances to determine status, and mentally plan which resources should be allocated to the virtual functions. This is a simple evaluation, and the allocation need only be a plan for how the resources and virtual functions will be associated based upon the monitored performance. Therefore, Yes, claims 1 and 8 recite judicial exceptions. Step 2A Prong 2: The judicial exception is not integrated into a practical application. The claim recites the additional elements “wherein the processing circuitry is further configured to”, “at least one non-volatile memory device, and processing circuitry configured to control the non-volatile memory device and communicate with at least one external host device through at least one interface channel” which are merely generic computing components being used as a tool to apply the abstract idea (see MPEP §2106.05(f)) which does not integrate a judicial exception into practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application?” No, these additional elements do not integrate the abstract idea into a practical application, and they do not impose any meaningful limits on practicing the abstract idea. After having evaluated the inquiries set forth in Steps 2A Prong 1 and Prong 2, it has been concluded that claims 1 and 8 not only recites a judicial exception but that the claim is directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing elements, which do not amount to significantly more than the abstract idea. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, claims 1 and 8 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claims 2 and 9, both recite additional element recitations of “wherein the one or more resources comprise at least one of: a hardware resource, a queue resource, an entry of a command buffer, an interrupt vector, or any combinations thereof”. These additional elements are merely recitations of field of use/technological environment (see MPEP §2106.05(h)) without imposing meaningful limitation, which does not integrate the judicial exception into practical application and does not amount to significantly more than the judicial exception. Therefore, claims 2 and 9 also fails both Step 2A Prong 2 and Step 2B, and thus claims 2 and 9 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claim 3, it recites an additional abstract idea recitation of “wherein the processing circuitry is further configured to: periodically monitor a first current performance of a first virtual function of the plurality of virtual functions”, which as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe performance of virtual functions on a scheduled, periodic basis. For the same reasons above with regard to integration into a practical application and whether additional elements amount to significantly more, claim 3 also fails Step 2A prong 2 and Step 2B. Thus, claim 3 does not recite eligible subject matter under 35 U.S.C. § 101. With regard to claims 4 and 10, the claims recite additional abstract idea recitations of “compare the first current performance with a first target performance associated with the first virtual function”, “decrease a number of resources allocated to the first virtual function in response to the first current performance being greater than the first target performance”, and “increase the number of resources allocated to the first virtual function in response to the first current performance being less than the first target performance”, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, a person can contrast the current performance to the target performance to determine the difference and add or subtract resources based upon the resulting difference. These are simple comparisons and basic calculations that can be performed by mental evaluation. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claims 4 and 10 both fail Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and both fail Step 2B as not amounting to significantly more. Thus, claims 4 and 10 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claims 5 and 11, the claims recite additional abstract idea recitations of “adjust a number of credit associated with one or more of the plurality of virtual functions based on the status information” and “the number of credit represent a number of entries of a command buffer allocated to a respective virtual function of the plurality of virtual functions”, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, a person can mentally evaluate the status of virtual functions in order to adapt the credits that are allocated to the virtual functions. The claim recites the additional element of “the entries of the command buffer configured to store at least one command received from the at least one external host device”, which is merely insignificant extra-solution data storage and data transmission activity (see MPEP § 2106.05(g)). Further, this insignificant extra-solution data storage and data transmission activity is also Well-Understood, Routine and Conventional (see MPEP § 2106.05(d)(II)) “The courts have recognized the following computer functions as well-understood, routine, and conventional functions when they are claimed in a generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, … Storing and receiving information in memory” wherein in the instant application, the storage of a command received from the host is analogous to the receiving data over a network and storing information in memory, which the courts have identified as Well-Understood, Routine, and Conventional activity. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 5 and 11 both also fail Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and both also fail Step 2B as not amounting to significantly more. Thus, claims 5 and 11 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 6 and 12, it recites additional abstract idea recitations of “compare the first current performance with first target performance of the first virtual function”, “decrease the number of credits allocated to the first virtual function in response to the first current performance being greater than the first target performance; and increase the number of credits allocated to the first virtual function in response to the first current performance being less than the first target performance“, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, a person can contrast the current performance to the target performance to determine the difference and add or subtract credits based upon the resulting difference. These are simple comparisons and basic calculations that can be performed by mental evaluation. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claims 6 and 12 both also fail Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and also fail Step 2B as to not amounting to significantly more. Thus, claims 6 and 12 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 7 and 13, it recites additional abstract idea recitations of “adjust the number of credits allocated to the first virtual function in proportion to a difference between the first current performance and the first target performance“, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation by mental process. For example, a person can mentally compute a difference between performances and apportion credits for allocation to the virtual function. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 7 and 13 both also fail Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and both also fail Step 2B as to not amounting to significantly more. Thus, claims 7 and 13 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 14, it recites additional abstract idea recitations of “deactivating, using the processing circuitry, the monitoring operation in response to the command“ and “deactivating, using the processing circuitry, a resource dynamic allocation operation in response to the command”, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, given that a person can monitor functions and allocate resources using a mental process, the person can terminate these mental processes in response to a command as well. The claim recites the additional elements “receiving, using processing circuitry, a command to request deactivation of the resource allocation operation”, which are merely recitations of insignificant extra-solution data transmission activity (see MPEP § 2106.05(g)) Further, this identified insignificant extra-solution data transmission activity is also Well-Understood, Routine and Conventional (see MPEP § 2106.05(d)(II)) “The courts have recognized the following computer functions as well-understood, routine, and conventional functions when they are claimed in a generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network” wherein in the instant application, the receiving the deactivation request is analogous to the receiving data over a network which the courts have identified as Well-Understood, Routine, and Conventional activity. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 14 also fails Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 14 does not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 15, it recites the additional abstract idea recitation of “detecting input/output patterns of each of the plurality of virtual functions“, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe input/output performance data and identify input/output trends and patterns of a virtual function. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 15 also fails Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 15 does not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 16, it recites the additional abstract idea recitation of “monitoring an internal status of the storage device“, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think and observe process data in order to identify internal status of the device. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 16 also fails Step 2A prong 2, thus the claims is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 16 does not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 17, it recites the additional abstract idea recitation of “wherein the internal status of the storage device represents whether a maintenance and management operation of a non-volatile memory device included in the storage device is being performed”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. That is, claim 17 provides further details of the internal status that is monitored (as in claim 16). A person can think and observe process data in order to identify internal status of the device. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 16 also fails Step 2A prong 2, thus the claims is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 17 does not recite eligible subject matter under 35 U.S.C. § 101. Claim 18: Step 2A Prong 1: The limitations of “detecting input/output patterns of a plurality of virtual functions”, and “allocating one or more resources to one or more of the plurality of virtual functions based on the detected input/output patterns of the plurality of virtual functions”, as drafted, are processes that, but for the recitation of generic computer components, under the broadest reasonable interpretation, covers performance of limitation in the mind. For example, a person can observe and identify input/output patterns of virtual functions and mentally plan which resources should be allocated to the virtual functions based upon identified patterns. Therefore, Yes, claim 18 recites judicial exceptions. Step 2A Prong 2: The judicial exception is not integrated into a practical application. The claim recites the additional elements of “using processing circuitry” which are merely recitations of generic computing components being used as a tool to apply the abstract idea (see MPEP §2106.05(f)) which does not integrate a judicial exception into practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application?” No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. After having evaluated the inquiries set forth in Steps 2A Prong 1 and Prong 2, it has been concluded that claim 8 not only recites a judicial exception but that the claim is directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: The claim does not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing elements, which do not amount to significantly more than the abstract idea. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, claim 18 does not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claim 19, it recites additional abstract idea recitations of “adjusting a number of credits associated with each of the plurality of virtual functions dynamically based on the detected input/output patterns of the plurality of virtual functions, and the number of credits associated with each of the plurality of virtual functions corresponding to a number of entries of a command buffer associated with each of the plurality of virtual functions “, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, a person can mentally evaluate the input / output patterns of virtual functions in order to adapt the credits that are allocated to the virtual functions. The claim recites the additional element of “the entries of the command buffer configured to store at least one command received from the at least one external host device”, which is merely insignificant extra-solution data storage and data transmission activity (see MPEP § 2106.05(g)). Further, this insignificant extra-solution data storage and data transmission activity is also Well-Understood, Routine and Conventional (see MPEP § 2106.05(d)(II)) “The courts have recognized the following computer functions as well-understood, routine, and conventional functions when they are claimed in a generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network, … Storing and receiving information in memory” wherein in the instant application, the storage of a command received from the host is analogous to the receiving data over a network and storing information in memory, which the courts have identified as Well-Understood, Routine, and Conventional activity. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 19 also fails Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 19 does not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim 20, it recites additional abstract idea recitations of “determining whether a first input/output pattern of a first virtual function of the plurality of virtual functions has changed”, “in response to the first input/output pattern of the first virtual function being changed from a sequential input/output pattern to a random input/output pattern, increasing a number of credits associated with the first virtual function”, “in response to the first input/output pattern of the first virtual function being changed from a random write input/output pattern to a random read input/output pattern, increasing the number of credits associated with the first virtual function”, “in response to the first input/output pattern of the first virtual function being changed from the random input/output pattern to the sequential input/output pattern, decreasing the number of credits associated with the first virtual function” and “in response to the first input/output pattern of the first virtual function being changed from the random read input/output pattern to the random write input/output pattern, decreasing the number of credits associated with the first virtual function“, as drafted, are processes that, but for the recitation of generic computing components, under its broadest reasonable interpretation, cover performance of the limitation in the mind. For example, a person can think and observe input/output performance data of a virtual function and identify input/output trends and patterns including changes in those patterns. The person can then utilize the identified changes in patterns to determine whether to add or subtract credits based upon set rules relating to those patterns. These are simple rules and basic calculations that can be performed by mental evaluation. For the same reasons above with regard to practical application and whether additional elements amount to significantly more, claim 20 also fails Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as to not amounting to significantly more. Thus, claim 20 does not recite eligible subject matter under 35 U.S.C. § 101. Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 8-10 are rejected under 35 U.S.C. 102(a)(1)/(a)(2) as being anticipated by Skerry et al Pub. No. US 2016/0179582 (hereafter Skerry). With regard to claim 8, Skerry teaches the operating method comprising: monitoring, using processing circuitry, current performance of a plurality of virtual functions executing on the storage device (FIG. 3 shows the local service chain 142 in great detail including various performance monitors configured to monitor the performance of the virtual elements of the service chain and the data throughput of the service chain ¶[0022], Figure 3, if the virtual element is a propriety element (e.g. a proprietary virtual function…) ¶[0027]); and allocating, using the processing circuitry, one or more resources to one or more of the plurality of virtual functions dynamically based on the monitored current performance of the plurality of virtual functions (The SCO 150 can be configured to … allocate (or adjust an allocation of) a portion of the shared pool of configurable resources (e.g., the disaggregate physical elements 110) for any number of the virtual elements (e.g., the virtualized elements 130) that make up the service chains based on the received information ¶[0021], Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4, important to note, that the resource allocation can be done dynamically, during operation of the service chain. As such resource allocation for the service chain can be modified to account for changes in network traffic or computational demands ¶[0014]). With regard to claim 9, Skerry teaches wherein the one or more resources comprise at least one of: a hardware resource, a queue resource, an entry of a command buffer, an interrupt vector, or any combinations thereof (it is important to note that a variety of resources can be managed, such as, for example, processing components (CPU, GPU, etc.), memory, cache, accelerators, or the like ¶[0014]). With regard to claim 10, Skerry teaches wherein the allocating of the one or more resources comprises: comparing a first current performance of a first virtual function of the plurality of virtual functions with first target performance associated with the first virtual function (resource adjustment component 622-3 may use data path performance information 610-1 and/or application performance information 610-2 as well as policy information 612 to determine the resource allocation or adjustment to resource allocation to optimize the performance of the virtual element(s) of a service chain according to the policy indicated in the policy information 612 ¶[0040], policy information 612 may include indications of a policy or goal for the performance of the system to which the apparatus 600 is configured to manage be optimized ¶[0039], Figure 6); in response to the first current performance being greater than the first target performance, decreasing a number of resources allocated to the first virtual function (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]); and in response to the first current performance being less than the first target performance, increasing the number of resources allocated to the first virtual function (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]). 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-4, 15, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Skerry et al Pub. No. US 2016/0179582 (hereafter Skerry) in view of Tylik et al Pub. No. 2014/0156877 (hereafter Tylik). With regard to claim 1, Skerry teaches a storage device comprising (The storage medium 800 may comprise an article of manufacture ¶[0048], Figures 8 and 9): at least one non-volatile memory device (storage medium 800 may include a non-transitory computer readable medium or machine readable medium, such as an optical, magnetic or semiconductor storage ¶[0048], Figures 8 and 9); processing circuitry configured to (the apparatus 600 may be supported by circuitry ¶[0036], Figure 6): control the non-volatile memory device and (processing component 940 may execute processing operations or logic for apparatus 600 and/or storage medium 800 ¶[0050]); through at least one interface channel (communications interface 960 may include one or more communication interfaces that operate according to various communication protocols or standards to communicate over direct or network communication links ¶[0052], Figure 9); wherein the processing circuitry is further configured to, monitor performances of a plurality of virtual functions (FIG. 3 shows the local service chain 142 in great detail including various performance monitors configured to monitor the performance of the virtual elements of the service chain and the data throughput of the service chain ¶[0022], Figure 3, if the virtual element is a propriety element (e.g. a proprietary virtual function…) ¶[0027]); generate status information of the plurality of virtual functions based on the monitored performances of the plurality of virtual functions (In particular, the SCO 150 can be configured to receive performance information from the vMonitors 22-a and the pMonitors 224-a, the performance information to include indications of the performance of the various virtual elements forming the local service chain 142-1 ¶[0029]); and allocate one or more resources to the plurality of virtual functions in real time based on the status information associated with the respective virtual function of the plurality of virtual functions (The SCO 150 can be configured to … allocate (or adjust an allocation of) a portion of the shared pool of configurable resources (e.g., the disaggregate physical elements 110) for any number of the virtual elements (e.g., the virtualized elements 130) that make up the service chains based on the received information ¶[0021], Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4). Skerry teaches other platform components (other platform components 950 may include common computing elements ¶[0051], Figure 9). Skerry teaches dynamic resource allocation (It is important to note, that the resource allocation can be done dynamically, during operation of the service chain. As such, resource allocation for the service chain can be modified to account for changes in network traffic or computational demands ¶[0014]). Skerry does not explicitly teach communication with at least one external host or that the virtual function resource allocation is completed in real time based on status information. However, in analogous storage resource management art relating to input/output pattern recognition, Tylik teaches a system with processors configured to communicate with an external host device through at least one interface channel (The system 10 includes one or more data storage systems 12 connected to server or host systems 14a-14n through communication medium 18. The system 10 also includes a management system 16 connected to one or more data storage systems 12 through communication medium 2 -¶[0021], Figure 1). Tylik teaches real time resource management (real time (e.g., when monitoring I/O operations performed at the data storage system ¶0063]). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine both the external host device as well as the additional aspects of real time resource allocation of Tylik with the apparatus and methods of Skerry resulting in a system that communicates with external hosts through interface channels and achieves real time resource allocation. A person of ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, in order to support multi-function technology, where a plurality of hosts access a single storage medium, where each host may perform a variety of different of data processing tasks and operations using the data storage system (Tylik ¶[0005-0006]). Further, real time resource allocation frees resource administrators from complex operations, where they may not have the appropriate level of sophistication and knowledge needed (Tylik ¶[0007]) With regard to claim 2, Skerry teaches wherein the one or more resources comprise at least one of: a hardware resource, a queue resource, an entry of a command buffer, an interrupt vector, or any combinations thereof (it is important to note that a variety of resources can be managed, such as, for example, processing components (CPU, GPU, etc.), memory, cache, accelerators, or the like ¶[0014]). With regard to claim 3, Skerry teaches wherein the processing circuitry is further configured to: periodically monitor a first current performance of a first virtual function of the plurality of virtual functions (logic flow 700 at block 710 may receive performance information for a service chain being provided using a shared pool of configurable computing resources, the service chain including a number of virtual elements ¶[0045], logic flow 700 may be repeated (e.g., iteratively, periodically, or the like) ¶[0047], Figure 7). With regard to claim 4, Skerry teaches wherein the processing circuitry is further configured to: compare the first current performance with a first target performance associated with the first virtual function (resource adjustment component 622-3 may use data path performance information 610-1 and/or application performance information 610-2 as well as policy information 612 to determine the resource allocation or adjustment to resource allocation to optimize the performance of the virtual element(s) of a service chain according to the policy indicated in the policy information 612 ¶[0040], policy information 612 may include indications of a policy or goal for the performance of the system to which the appraratus 600 is configured to manage be optimized ¶[0039], Figure 6); decrease a number of resources allocated to the first virtual function in response to the first current performance being greater than the first target performance (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]); and increase the number of resources allocated to the first virtual function in response to the first current performance being less than the first target performance (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]). With regard to claim 15, Skerry teaches wherein the monitoring of the performance comprises: detecting input/output patterns of each of the plurality of virtual functions (FIG. 3 shows the local service chain 142 in great detail including various performance monitors configured to monitor the performance of the virtual elements of the service chain and the data throughput of the service chain ¶[0022], Figure 3). Skerry does not teach detecting input/out patterns. However, in analogous storage resource management art, Tylik teaches detecting input/out patterns (I/O patterns detected through observing or monitoring I/O activity ¶[0046], In step 606, the monitor may collect information regarding the observed I/Os directed to the provisitioned storage resources of the application. At step 608, the monitor may analyze the collected information and determine whether there is a match between collected or observed information and one or more criteria of identified cases ¶[0078], Figure 8 steps 606 and 608). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the virtual function monitoring of Skerry with the input/output pattern detection of Tylik, resulting in a system that can monitor and detect the input/output patterns of virtual functions. A person with ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, in order to collect information regarding how provisioned storage resources are actually utilized and how well implementation of the best practices actually works ¶[0038. With regard to claim 18, Skerry teaches an operating method of a storage device(The storage medium 800 may comprise an article of manufacture ¶[0048], Figures 8 and 9), the operating method comprising: detecting, using processing circuitry (the apparatus 600 may be supported by circuitry ¶[0036], Figure 6), input/output patterns of a plurality of virtual functions (In particular, the SCO 150 can be configured to receive performance information from the vMonitors 22-a and the pMonitors 224-a, the performance information to include indications of the performance of the various virtual elements forming the local service chain 142-1 ¶[0029], if the virtual element is a propriety element (e.g. a proprietary virtual function…) ¶[0027]). Skerry teaches allocating, using the processing circuitry, one or more resources to the plurality of virtual functions dynamically based on the detected input/output patterns of the plurality of virtual functions (The SCO 150 can be configured to … allocate (or adjust an allocation of) a portion of the shared pool of configurable resources (e.g., the disaggregate physical elements 110) for any number of the virtual elements (e.g., the virtualized elements 130) that make up the service chains based on the received information ¶[0021], Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4). Skerry does not teach using detecting input/output patterns. However, in analogous storage resource management art, Tylik teaches detecting input/out patterns (I/O patterns detected through observing or monitoring I/O activity ¶[0046], In step 606, the monitor may collect information regarding the observed I/Os directed to the provisitioned storage resources of the application. At step 608, the monitor may analyze the collected information and determine whether there is a match between collected or observed information and one or more criteria of identified cases ¶[0078], Figure 8 steps 606 and 608). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the storage device, processing circuitry, and virtual function monitoring of Skerry with the input/output pattern detection of Tylik, resulting in a system that can monitor and detect the input/output patterns of virtual functions. A person with ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, in order to collect information regarding how provisioned storage resources are actually utilized and how well implementation of the best practices actually works ¶[0038]. Claims 5-7, 11-13, 16-17 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Skerry et al Pub. No. US 2016/0179582 (hereafter Skerry) in view of Tylik et al Pub. No. 2014/0156877 (hereafter Tylik) as applied to claims 1-4, 15 and 18 above and in further of view of Yi et al Pub No. 2018/0150242 (hereafter Yi). With regard to claim 5, Skerry teaches the processing circuitry (the apparatus 600 may be supported by circuitry ¶[0036], Figure 6) is further configured to: adjust a number of credit associated with one or more of the plurality of virtual functions based on the status information (Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4). Skerry teaches adjustment of resources based on virtual function status information. Skerry and Tylik do not explicitly teach adjustment of credits associated with virtual function status information. However, in analogous art relating to storage resource allocation, Yi teaches adjustment of a number of credits based on the status information, and the number of credit represents a number of entries of a command buffer allocated to a respective virtual function of the plurality of virtual functions, the entries of the command buffer configured to store at least one command received from the at least one external host device (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the allocation of entries in a command buffer (credits) based upon status information of Yi with the circuitry and virtual function resource allocation of Skerry resulting in a storage system in which the virtual function resource management of Skerry also manages command buffer entries of Yi based upon status information. A person of ordinary skill in the art would have been motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]) based upon status information. With regard to claim 6, Skerry teaches wherein the processing circuitry is further configured to: compare the first current performance with a first target performance associated with the first virtual function (resource adjustment component 622-3 may use data path performance information 610-1 and/or application performance information 610-2 as well as policy information 612 to determine the resource allocation or adjustment to resource allocation to optimize the performance of the virtual element(s) of a service chain according to the policy indicated in the policy information 612 ¶[0040], policy information 612 may include indications of a policy or goal for the performance of the system to which the apparatus 600 is configured to manage be optimized ¶[0039], Figure 6); Skerry teaches decrease a number of credits allocated to the first virtual function in response to the first current performance being greater than the first target performance (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]); Skerry also teaches and increase the number of credits allocated to the first virtual function in response to the first current performance being less than the first target performance (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]). Skerry teaches increasing and decreasing resources in response to performance differences. Skerry and Tylik do not specifically teach increasing and decreasing credits instead of resources. However, in analogous art relating to storage resource allocation, Yi teaches credits or allocation of command buffers (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host ¶[0006]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the addition and subtraction of resources based upon differences in current versus target virtual function performance of Skerry with the adjustment of command buffer entries (credits) of Yi resulting in a system that increases or decreases entries of a command buffer (credits) based upon differences in current versus target performance of virtual functions. A person of ordinary skill in the art would have been motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]). With regard to claim 7, Skerry teaches wherein the processing circuitry is further configured to : adjust the number of credits allocated to the first virtual function in proportion to a difference between the first current performance and the first target performance (the SCO 150 can determine aa resource allocation (e.g. resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information. In general, the SCO 150 can determine an allocation or an adjustment to an allocation based on a particular policy or “goal” ¶[0030]). Skerry teaches adjustment of resources based upon information received about current status and a goal or target. Skerry and Tylik do not specifically teach adjustment of credits in proportion to a difference between current and target performance. However, in analogous art relating to storage resource allocation, Yi teaches adjustment of credits, or allocation of command buffers (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the virtual function resource allocations of Skerry with the command buffer entry (credit) allocations of Yi, resulting in a system that adjusts entries of a command buffer (credits) in proportion to differences in current versus target performance of virtual functions. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, as it would merely be the application of a simple mathematical construct to base the allocation in proportion to the differences between the current and target performances. A person of ordinary skill in the art would have been further motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]). With regard to claim 11, Skerry teaches wherein the allocating of the one or more resources comprises: adjusting a number of credits associated with each of the plurality of virtual functions dynamically based on the monitored current performance of the plurality of virtual functions (Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4). Skerry teaches adjustment of resources associated with virtual functions based on monitored performance. Skerry and Tylik do not explicitly teach adjustment of a number of credits based on monitored performance. However, in analogous art relating to storage resource allocation, Yi teaches adjusting a number of credits (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the adjustment of command buffer entries (credits) based upon status information from Yi with the adjustment of resources associated with virtual functions from Skerry resulting in a method in which the virtual function resource management of Skerry manages command buffer entries of Yi based upon status information. A person of ordinary skill in the art would have been motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]) based upon status information. With regard to claim 12, Skerry teaches wherein the allocating of the one or more resources comprises: comparing a first current performance of a first virtual function of the plurality of virtual functions with a first target performance associated with the first virtual function (resource adjustment component 622-3 may use data path performance information 610-1 and/or application performance information 610-2 as well as policy information 612 to determine the resource allocation or adjustment to resource allocation to optimize the performance of the virtual element(s) of a service chain according to the policy indicated in the policy information 612 ¶[0040], policy information 612 may include indications of a policy or goal for the performance of the system to which the apparatus 600 is configured to manage be optimized ¶[0039], Figure 6); In response to the first current performance being greater than the first target performance, decreasing the number of credits associated with the first virtual function (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]); and in response to the first current performance being less than the first target, increasing the number of credits allocated to the first virtual function (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]). Skerry teaches increasing and decreasing resources. Skerry and Tylik do not specifically teach increasing and decreasing credits. However, in analogous art relating to storage resource allocation, Yi teaches allocation of credits (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host ¶[0006]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the addition and subtraction of resources based upon differences in current versus target virtual function performance of Skerry with the adjustment of command buffer entries (credits) of Yi resulting in a method that increases or decreases entries of a command buffer (credits) based upon differences in current versus target performance of virtual functions. A person of ordinary skill in the art would have been motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]). With regard to claim 13, Skerry teaches adjusting, using the processing circuitry, the number of credits associated with the first virtual function in proportion to a difference between the first current performance and the first target performance (the SCO 150 can determine aa resource allocation (e.g. resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information. In general, the SCO 150 can determine an allocation or an adjustment to an allocation based on a particular policy or “goal” ¶[0030]). Skerry teaches adjustment of resources based upon information received about current status and a goal or target. Skerry and Tylik do not specifically teach adjustment of credits in proportion to a difference between current and target performance. However, in analogous art relating to storage resource allocation, Yi teaches allocation of credits, or command buffers (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the virtual function resource allocations of Skerry with the command buffer entry (credit) allocations of Yi, resulting in a system that allocates entries of a command buffer (credits) in proportion to differences in current versus target performance of virtual functions. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, as it would merely be the application of a simple mathematical construct to base the allocation in proportion to the differences between the current and target performances. A person of ordinary skill in the art would have been further motivated to combine these concepts in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]). With regard to claim 16, Skerry teaches the operating method monitoring of the performance comprises ((FIG. 3 shows the local service chain 142 in great detail including various performance monitors configured to monitor the performance of the virtual elements of the service chain and the data throughput of the service chain ¶[0022], Figure 3). Skerry and Tylik do not teach monitoring an internal status of the storage device. However, in analogous art relating to storage resource allocation, Yi teaches monitoring an internal status of the storage device (Various background operations such as garbage collection, bad block management, read reclaim, and read replacement may require different times, and the status information may be set to a value indicating any one of the multiple stages, based on the type of the background operation ¶[0039]). It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the performance monitoring of Skerry with the internal status monitoring of Yi, resulting in a method of performance monitoring that includes the internal status of the storage device. A person of ordinary skill in the art would have been motivated to include internal status monitoring with performance monitoring in order to determine the workload (i.e. the number of commands to be processed, operation time or duration, or stage ¶[0037-0039], which can then be leveraged to deallocate buffers when the process is complete ¶[0043], leading to more efficient buffer allocation [002]. Examiner notes that entries of a command buffers are a type of resource that may be allocated in the claimed invention. With regard to claim 17, Skerry teaches an operating method of a storage device that monitors performance (Receive performance information, Figure 7 block 710). Skerry does not teach monitoring the internal status of the storage device representing whether a maintenance and management operation is being performed. However, in analogous art relating to storage resource allocation, Yi teaches the operating method comprising: wherein the internal status of the storage device represents whether a maintenance and management operation of a non-volatile memory device included in the storage device is being performed (Various background operations such as garbage collection, bad block management, read reclaim, and read replacement may require different times, and the status information may be set to a value indicating any one of the multiple stages, based on the type of the background operation ¶[0039]). The listed operations of garbage collection, bad block management, read reclaim, and read replacement are maintenance and management operations. It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the performance monitoring of Skerry with the internal status monitoring of Yi, resulting in a method of performance monitoring that includes the internal status of the storage device as an indication of whether a maintenance and management operations is being performed. A person of ordinary skill in the art would have been motivated to include such internal status monitoring with performance monitoring in order to set status information for background operations that require different times and stages (Yi ¶[0038]). With regard to claim 19, Skerry teaches an operating method, wherein the allocating of one or more resources comprises: adjusting a number of credits associated with each of the plurality of virtual functions dynamically based on the detected input/output patterns of the plurality of virtual functions (Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4). Skerry teaches adjustment of resources associated with virtual functions based on monitored performance. Skerry does not explicitly teach adjustment of a number of credits based on detected input/out patterns. However, in analogous art relating to storage resource allocation, Tylik teaches detecting input/out patterns (I/O patterns detected through observing or monitoring I/O activity ¶[0046], In step 606, the monitor may collect information regarding the observed I/Os directed to the provisitioned storage resources of the application. At step 608, the monitor may analyze the collected information and determine whether there is a match between collected or observed information and one or more criteria of identified cases ¶[0078], Figure 8 steps 606 and 608). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the storage device, processing circuitry, and virtual function monitoring of Skerry with the input/output pattern detection of Tylik, resulting in a system that can monitor and detect the input/output patterns of virtual functions. A person with ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, in order to collect information regarding how provisioned storage resources are actually utilized and how well implementation of the best practices actually works ¶[0038]. Skerry and Tylik do not teach adjustment of credits. However, in analogous art relating to storage resource allocation, Yi teaches adjusting a number of credits (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the adjustment of command buffer entries (credits) based upon status information from Yi with the adjustment of resources associated with virtual functions from Skerry and the input/out pattern detection of Tylik resulting in a method in which the virtual function resource management of Skerry manages command buffer entries of Yi based upon the input/output pattern detection of Tylik. A person of ordinary skill in the art would have been motivated to combine these concepts in order to provide efficient buffer allocation (see at least Yi ¶[0002]), improve buffer utilization (see at least Yi ¶[0077]), and to determine any needed modification to improve performance (see at least Tylik ¶[0011]) based upon observed input/out patterns. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Skerry et al Pub. No. US 2016/0179582 (hereafter Skerry) in view of Tylik et al Pub. No. 2014/0156877 (hereafter Tylik) and further in view of Smith et al Pub. No. US 2004/0181476 (hereafter Smith). With regard to claim 14, Skerry teaches a method of a storage device with processing circuitry (Figure 7, the apparatus 600 may be supported by circuitry ¶[0036], Figure 6). Skerry does not teach receipt of a command to request a deactivation of the resource allocation operation. However, in analogous art relating to resource allocation, Smith teaches further comprising: receiving, using the processing circuitry, a command to request a deactivation of the resource allocation operation; deactivating, using the processing circuitry, the monitoring operation in response to the command; and deactivating, using the processing circuitry, a resource dynamic allocation operation in response to the command (At point 245, the system transitions from a configuration state to the brokering state and the resource broker begins the device and event monitoring process, step 250. As data is obtained and aggregated in device and event monitoring process 250, the policy enforcement function 260 acts on that data to provide the comparison of aggregated data with rule conditions. Policy enforcement step 260 thus provides triggering events to the resource broker. This triggering event is represented by step 265 wherein if a rule condition is met then a provisioning or de-provisioning action is triggered, represented by the “yes” branch and provisioning step 270. If there is no policy enforcement trigger, then the process loops to device and event monitor step 250. Likewise, at the conclusion of provisioning step 270 the process returns to monitoring step 250.¶[0078], The brokering state represented by steps 250-270 continues until the system is commanded out of the brokering state or until system failure ¶[0079], Figure 2, The configuration state is the condition of a resource or of a customer whose resources are being configured, as by the manual actions of provisioning or de-provisioning ¶[0030]). It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the storage device method and circuitry of Skerry with the ability to receive a command to deactivate the dynamic resource allocation command resulting in monitoring and allocating methods that can be deactivated on command. A person of ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, in order to provide a mechanism for returning to a configuration state (¶0030]), where policies can be set, value added discovery can be initiated to discover additional resources, and/or resources may be provisioned manually or automatically (Figure 2, steps 210, 220, 230 and 240); or to free the resources associated with the dynamic resource allocation itself in order to provide enhanced compliance with Service Level Agreements and/or Service Level Objectives (SLAs/SLOs) ¶[0014]. Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Skerry et al Pub. No. US 2016/0179582 (hereafter Skerry) in view of Tylik et al Pub. No. US 2014/0156877 (hereafter Tylik) and further in view of Yi et al (hereafter Yi) and further in view of Yuan et al Pub. No. CN 116627339 (hereafter Yuan), citations correspond to English Translation provided herewith. With regard to claim 20, Skerry teaches an operating method of a storage device (The storage medium 800 may comprise an article of manufacture ¶[0048], Figures 8 and 9), wherein the allocation of the resources comprises (Additionally, the SCO 150 can determine a resource allocation (e.g., resource allocations 210-a) or an adjustment to a resource allocation (refer to FIG. 4) based on the received information ¶[0030], Figure 4): in response to the first input/output pattern of the first virtual function being changed from a sequential input/output pattern to a random input/output pattern, increasing a number of credits associated with the first virtual function (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]); in response to the first input/output pattern of the first virtual function being changed from a random write input/output pattern to a random read input/output pattern, increasing the number of credits associated with the first virtual function (the performance information indicates that a given VNF 136-a is maximizing (e.g., based on monitoring the vSwitches 134-a, the N/W IO elements 118-a, or the like) its allocated network bandwidth, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to increase network bandwidth, thereby increasing overall throughput through the service chain ¶[0033]); in response to the first input/output pattern of the first virtual function being changed from the random input/output pattern to the sequential input/output pattern, decreasing the number of credits associated with the first virtual function (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]); and in response to the first input/output pattern of the first virtual function being changed from the random read input/output pattern to the random write input/output pattern, decreasing the number of credits associated with the first virtual function (the performance information indicates that the CPUs 112-a are underutilized (e.g., based on the pMonitor 224-a monitoring the C-states of the CPU's 112-a, or the like) in a given VNF 136-a, the SCO 150 can determine that the resource allocation for the given VNF 136-a be adjusted to comprise less computing power ¶[0032]);. Skerry teaches allocation of resources to virtual functions based on virtual function status information, including increasing resource allocations when a virtual function is maximizing its assigned resources, and decreasing resource allocations when a virtual function is underutilizing its assigned resources. Skerry does not teach allocation of credits, determining if an input/output pattern of a virtual function has changed, or specific patterns involving sequential, random, random read, and random write. In analogous storage resource management art, Tylik teaches determining whether a first input/output pattern of a first virtual function of the plurality of virtual functions has changed (determining, using the first information, a first execution profile for the first application characterizing I/O operations of the first application ¶[0008], an I/O pattern may also include an observed sequence of one or more I/O operations ¶[0046], an observed I/O pattern may be compared to a set of predetermined or known I/O patterns defining characteristic, expected I/O patterns for applications. A determination may be made as to whether the observed I/O pattern matches, or is similar, to an expected I/O pattern for an application¶[0047]). Tylik also teaches sequential input/out patterns and random input/output patterns (key characteristics of the I/O operations for a particular application may include, for example, read/write operations sizes, 11O mix (% or ratio of read and writes), I/O sizes observed (e.g., for reads and/or writes, sizes may be average, maximum, expected range), whether reads are primarily sequential (e.g., above a predetermined threshold), a percentage of what reads performed are sequential (as opposed to random reads), and the like ¶[0044]). It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the determination of changes in I/O patterns and the sequential and random I/O patterns of Tylik with the method of Skerry that allocates resources to virtual functions, including increasing resource allocations when a virtual function is maximizing it’s assigned resources and decreasing resource allocations when a virtual function is underutilizing its assigned resources. The resulting method allocates resources to virtual functions based upon changes in I/0 patterns, and increases resource allocations when a virtual function is changing from a random to sequential input/output pattern, and decreases resource allocations when a virtual function is changing from a random to sequential input/output pattern. A person of ordinary skill in the art would have been motivated to make this combination because when there is a match between observed I/O patterns and identified cases (such as the cases identified in the claimed invention), actions may need to be performed (i.e. resource allocations or configurations) in accordance with the detected patterns (see Tylik FIG. 8). The combination of Skerry and Tylik does not teach adjusting a number of credits. In analogous art relating to storage resource allocation, Yi teaches adjusting the number credits (a buffer including a plurality of storage spaces configured to be allocated for a plurality of commands fetched from a host… the allocation being based on the status information ¶[0007]). Examiner notes that credits are defined as entries of a command buffer and a command buffer is a type of resource in the claimed invention. It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the allocation of entries in a command buffer (credits) of Yi with the allocation of resources to virtual functions of Skerry based upon the I/O patterns of Tylik resulting in a method that allocates command buffers (credits) to virtual functions, including increasing buffer (credit) allocations when a virtual function is maximizing it’s assigned resources and decreasing buffer (credit) allocations when a virtual function is underutilizing its assigned resources. A person of ordinary skill in the art would have motivated to make this combination in order to provide efficient buffer allocation (Yi ¶[0002]) and improve buffer utilization (Yi ¶[0077]) based upon status information. The combination of Skerry, Yi, and Tylik does not specifically teach random read and random write patterns. In analogous art relating to virtual function scheduling, Yuan teaches random read and random write patterns (When the service type is random read service, add a preset RAB value to the current RAB value as the RAB value adjustment strategy corresponding to the target service [n0131], If the business type is random read, it indicates that the current business pressure is high… Therefore a preset RAB value needs to be added to the current RAB value [n0133]. Input/Output Operations Per Second (IOPS), also known as throughput, is the number of IO commands executed per unit time. Recommended Arbitration Burst commands (RAB) values ensure that they do not interfere with each other [n0082]. Yuan also teaches increasing the number of commands for random read and decreasing the number of commands for random write (where RAB value is a number of commands) (When a VF needs to run a high-pressure, high-IOPS random read service, while other VFs are running low-IOPS random write services … the RAB value of the VF corresponding to the random read service is increased, while the current RAB value of the other services needs to be reduced by the preset RAB value [n0134]. It would have been obvious to a person of ordinary skill in the art prior to the effective date of the claimed invention to combine the method of Skerry, Li, and Tylik that allocates credits to virtual functions based upon changes in I/0 patterns, and increases buffer (credit) allocations when a virtual function is changing from a random to sequential input/output pattern, and decreases buffer (credit) allocations when a virtual function is changing from a random to sequential input/output pattern, with the method of Yuan relating to increasing the number of commands for random read and decreasing the number of commands for random write IP patterns resulting in a method that identifies changes in I/O patterns, increases credits when a virtual function I/O pattern changes from sequential to random I/O or from random write to random read I/O, and decreases credits when a virtual function I/O pattern changes from random to sequential IO or from random read to random write I/O. A person of ordinary skill in the art would have been motivated to make this combination to avoid interference between multiple virtual functions and to ensure service quality [Yuan n0004]. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 20150009910 A1 teaches Switching from static to dynamic allocation of resources US 20200004445 A1 teaches Allocation of controller memory resources using controller memory buffer entries US 20230071976 A1 teaches Virtual function performance analysis, adjustment of resources US 10509753 teaches Command slots associated with virtual functions WO 2016115900 A1 teaches Scaling up and down virtual function resource on the basis of threshold policy and performance monitoring US 8239584 teaches Monitoring and detection of I/O patterns US 20150324135 A1 teaches Use of I/O profiles to determine configuration T. M. Madhyastha and D. A. Reed, "Learning to classify parallel input/output access patterns," in IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 8, pp. 802-813, Aug. 2002, doi: 10.1109/TPDS.2002.1028437. teaches Automatic classification of I/O patterns guiding adaptive file system policies Hui Lu, Brendan Saltaformaggio, Ramana Kompella, and Dongyan Xu. 2015. VFair: latency-aware fair storage scheduling via per-IO cost-based differentiation. In Proceedings of the Sixth ACM Symposium on Cloud Computing (SoCC '15). Association for Computing Machinery, New York, NY, USA, 125–138. https://doi.org/10.1145/2806777.2806943 teaches Modeling IO patterns of VM workloads to facilitate sharing IO resources Any inquiry concerning this communication or earlier communications from the examiner should be directed to DEBORAH L GAWRYLOWICZ whose telephone number is (571)272-0219. The examiner can normally be reached Monday - Friday, 8 a.m. 5 p.m. 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, 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. /DEBORAH L GAWRYLOWICZ/Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Aug 09, 2024
Application Filed
Oct 14, 2026
Non-Final Rejection mailed — §101, §102, §103 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month