Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
2. This action is in response to the amendment filed May 20, 2026.
3. Claims 1, 5-6, 9-10, 12, and 14-20 have been amended, claims 2 and 11 have been canceled, and new claims 21-22 have been added.
4. Claims 1, 3-10, and 12-22 have been examined and are pending with this action.
5. The Information Disclosure Statement filed May 8, 2026 has been considered.
Response to Arguments
6. Applicant's arguments filed May 20, 2026 with respect to the rejection of claims 1-5, 7-12, and 14-19, previously rejected under 35 U.S.C. 102(a)(1) and 102(a)(2) as being anticipated by Doshi et al. (US 2020/0134207 A1), have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Gamble et al. (US 2016/0378637 A1). Gamble has been cited to better teach the amended limitation of creating or generating a user usage record. Please see rejections set forth below.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 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.
7. Claims 1, 3-5, 7-10, and 12-21 are rejected under 35 U.S.C. 102(a)(1) and 102(a)(2) as being anticipated by Gamble et al. (US 2016/0378637 A1).
INDEPENDENT:
As per claim 1, Gamble teaches a non-transitory machine-readable storage medium comprising instructions that upon execution cause a system to:
as part of onboarding a tenant to a computing environment, generate a tenant identifier for the tenant (see Gamble, [0022]: “login information or other authentication information associated with the user of the client device 106, such as, for example, one or more unique identifiers associated with the user (e.g., a username or other user ID, a password, or the like), a unique identifier associated with the user's tenant, and the like. In response, the application platform 112 and/or the debug API 116 utilizes the authentication information to verify that the user is an authorized user within the system 100, and further, verify that the user is authorized to perform… In this regard, the permissions table 126 may identify or otherwise indicates which tenants of the plurality of tenants supported by the system 100 are allowed to create debugging sessions on the system 100, and additionally, which users associated with those tenants are allowed to initiate those debugging sessions.”; and [0039]: “Although multiple tenants may share access to the server 602 and the database 630, the particular data and services provided from the server 602 to each tenant can be securely isolated from those provided to other tenants (e.g., by restricting other tenants from accessing a particular tenant's data using that tenant's unique organization identifier as a filtering criterion). The multi-tenant architecture therefore allows different sets of users to share functionality and hardware resources without necessarily sharing any of the data 632 belonging to or otherwise associated with other tenants.”);
add the tenant identifier to metadata of a management service for the computing environment (see Gamble, [0041]: “In practice, the data 632 may be organized and formatted in any manner to support the application platform 610. In various embodiments, the data 632 is suitably organized into a relatively small number of large data tables to maintain a semi-amorphous “heap”-type format. The data 632 can then be organized as needed for a particular virtual application 628. In various embodiments, conventional data relationships are established using any number of pivot tables 634 that establish indexing, uniqueness, relationships between entities, and/or other aspects of conventional database organization as desired. Further data manipulation and report formatting is generally performed at run-time using a variety of metadata constructs. Metadata within a universal data directory (UDD) 636, for example, can be used to describe any number of forms, reports, workflows, user access privileges, business logic and other constructs that are common to multiple tenants. Tenant-specific formatting, functions and other constructs may be maintained as tenant-specific metadata 638 for each tenant, as desired.”);
track, with a metering service of the computing environment, plurality of metrics data relating to resource usage by the tenant in the computing environment (see Gamble, [0024]: “Additionally, the management process 200 verifies or otherwise determines that the current usage of the on-demand multi-tenant system resources allows for a new debugging session to be created (task 208). In this regard, the debug API 116 accesses a resource usage statistics table 128 in the database 104 that includes values for one or more resource usage metrics, which, in turn, are utilized by the debug API 116 to determine whether new debug sessions may be created.”);
create, by the metering service, a resource usage record comprising attributes, the attributes comprising metric identifiers to identify the plurality of metrics, metric attributes containing the plurality of metrics, and a tenant identifier attribute containing the tenant identifier that individually identifies the tenant, wherein the plurality of metrics are individually associated with the tenant, and different resource usage records are used for different tenants (see Gamble, [0024]: “the system 100 may track or otherwise monitor the relative allocation of application server resources to active debugging sessions and store or otherwise maintain a current debug resource usage metric in the resource usage statistics table 128.”; [0026]: “In this regard, the debug API 116 creates a new entry in the debug mapping table 130 in the database 104 for a debugging session corresponding to the received debug session request that maintains an association between the user of the client device 106, the tenant associated with the user, and the tenant's application code 122 to which the debug request pertains.”; [0033]: “In a similar manner as described above in the context of management process 200, the debug API 316 accesses the resource usage statistics table 128 to verify that the current value(s) for any debug resource usage metric(s) is less than its applicable maximum allowable threshold value for debugging within the system 100. Additionally, the debug API 316 may verify that the current value(s) for any overall system resource usage metric(s) is less than its applicable maximum allowable threshold value for debugging within the system 100, and/or that the current value(s) for any resource usage metric(s) for the user and/or tenant associated with the matching active debugging session is less than its applicable maximum allowable threshold value.”; and [0045]: “The runtime application generator 620 suitably interacts with the query generator 614 to efficiently obtain multi-tenant data 632 from the database 630 as needed in response to input queries initiated or otherwise provided by users of the client devices 640. In a typical embodiment, the query generator 614 considers the identity of the user requesting a particular function (along with the user's associated tenant), and then builds and executes queries to the database 630 using system-wide metadata 636, tenant specific metadata 638, pivot tables 634, and/or any other available resources. The query generator 614 in this example therefore maintains security of the common database 630 by ensuring that queries are consistent with access privileges granted to the user and/or tenant that initiated the request. In this manner, the query generator 614 suitably obtains requested subsets of data 632 accessible to a user and/or tenant from the database 630 as needed to populate the tables, reports or other features of the particular virtual application 628 for that user and/or tenant”);
correlate, by the management service, the tenant identifier in the metadata to the tenant identifier in the resource usage record (see Gamble, [0032]: “the debugging process 400 begins by identifying or otherwise determining a request received from a client device that is associated with or otherwise corresponds to a debug session currently active within the on-demand multi-tenant database system (task 402). In this regard, for each received client request, the debug API 316 compares the associated tenant identifier, the portion of tenant-specific application code 122 invoked by the client request, and the like to the currently active debugging sessions maintained in the debug mapping table 130 (e.g., by querying the debug mapping table 130 using the associated tenant identifier and the like) detect or otherwise identify a client request that matches or otherwise corresponds to an active debugging session.”; and [0045]: “In a typical embodiment, the query generator 614 considers the identity of the user requesting a particular function (along with the user's associated tenant), and then builds and executes queries to the database 630 using system-wide metadata 636, tenant specific metadata 638, pivot tables 634, and/or any other available resources.”); and
perform, with the management service, a management action for the tenant based on the resource usage record (see Gamble, [0022]: “Thus, the debug API 116 verifies that the requesting user's tenant is authorized to perform debugging sessions within the system 100, and also verifies the user is also authorized to create those debugging sessions.”; [0030]: “Additionally, in some embodiments, the debug API 316 may redact, filter, or otherwise remove portions of the tenant data 124 that should not be viewable to the debugging user based on the user's permissions or other criteria associated with those portions of the tenant data 124 (e.g., confidential data). The debug API 316 also prevents the debugger 114 from viewing or otherwise accessing data in the database 104 associated with other tenants, as well as viewing or otherwise accessing the platform application code 120 and/or other third-party code in the database 104.”; [0045]: “The runtime application generator 620 dynamically builds and executes the virtual applications 628 in response to specific requests received from the client devices 640. The virtual applications 628 are typically constructed in accordance with the tenant-specific metadata 638, which describes the particular tables, reports, interfaces and/or other features of the particular application 628. In various embodiments, each virtual application 628 generates dynamic web content that can be served to a browser or other client program 642 associated with its client device 640, as appropriate.”; and [0045]: “In a typical embodiment, the query generator 614 considers the identity of the user requesting a particular function (along with the user's associated tenant), and then builds and executes queries to the database 630 using system-wide metadata 636, tenant specific metadata 638, pivot tables 634, and/or any other available resources.”).
As per claim 12, Gamble teaches a system comprising:
a hardware processor (see Gamble, [0018]: “In this regard, the application server 102 includes a processing system 110, which may be implemented using any suitable processing system and/or device, such as, for example, one or more processors, central processing units (CPUs), controllers, microprocessors, microcontrollers, processing cores and/or other hardware computing resources configured to support the operation of the processing system 110 described herein.”); and
a non-transitory storage medium comprising instructions executable on the hardware processor (see Gamble, [0018]: “Depending on the embodiment, the memory 111 may be realized as a random access memory (RAM), read only memory (ROM), flash memory, magnetic or optical mass storage, or any other suitable non-transitory short or long term data storage or other computer-readable media, and/or any suitable combination thereof.”) to:
onboard a tenant to a computing environment (see Claim 1 rejection above);
generate a tenant identifier for the tenant as part of the onboarding (see Claim 1 rejection above);
add the tenant identifier to management metadata of a management service for the computing environment (see Claim 1 rejection above);
track a plurality of metrics relating to resource usage by the tenant in the computing environment (see Claim 1 rejection above);
create a resource usage record comprising attributes, the attributes comprising metric identifiers to identify the plurality of metrics, metric attributes containing the plurality of metrics, and a tenant identifier attribute containing the tenant identifier that individually identifies the tenant, wherein the plurality of metrics in the resource usage record are individually associated with the tenant, and different resource usage records are used for different tenants (see Claim 1 rejection above); and
provide the resource usage record to the management service for use by the management service in initiating a management action based on the tenant identifier added to the management metadata and the tenant identifier in the resource usage record (see Claim 1 rejection above).
As per claim 18, Gamble teaches a method comprising:
onboarding, by a tenant management controller of a computing environment, tenants to the computing environment (see Claim 1 rejection above);
assigning, by the tenant management controller, tenant identifiers to the tenants as part of the onboarding (see Claim 1 rejection above);
adding, by the tenant management controller, the tenant identifiers to management metadata of a management service (see Claim 1 rejection above);
tracking, by a resource usage metering controller, a plurality of metrics relating to resource usage by a first tenant of the tenants in the computing environment (see Claim 1 rejection above);
creating, by the resource usage metering controller, a resource usage record containing metric identifiers to identify the plurality of metrics, metric attributes containing the plurality of metrics, and a tenant identifier attribute including a tenant identifier individually identifying the first tenant, wherein the plurality of metrics in the resource usage record are individually associated with the first tenant, and different resource usage records used for different tenants include respective tenant identifiers that individually identify the different tenants (see Claim 1 rejection above); and
based on the tenant identifier of the first tenant in the management metadata, performing, by the management service, a tenant-specific management action for the first tenant based on the resource usage record containing the tenant identifier individually identifying the first tenant (see Claim 1 rejection above).
DEPENDENT:
As per claim 3, which depends on claim 1, Gamble further teaches wherein the management service is separate from the computing environment and does not interact directly with a tenant management controller of the computing environment (see Gamble, [0042]: “The processor 605 may be implemented using any suitable processing system, such as one or more processors, controllers, microprocessors, microcontrollers, processing cores and/or other computing resources spread across any number of distributed or integrated systems, including any number of “cloud-based” or other virtual systems.”).
As per claim 4, which depends on claim 3, Gamble further teaches wherein the management service is provided by a first vendor that is different from a second vendor providing a computing environment platform deploying the computing environment (see Gamble, [0042]: “The processor 605 may be implemented using any suitable processing system, such as one or more processors, controllers, microprocessors, microcontrollers, processing cores and/or other computing resources spread across any number of distributed or integrated systems, including any number of “cloud-based” or other virtual systems.”).
As per claim 5, which depends on claim 1, Gamble further teaches wherein the resource usage comprises usage of a virtual compute entity, and the resource usage record containing the tenant identifier that individually identifies the tenant further includes an identifier of the virtual compute entity (see Gamble, [0042]: “The server 602 is implemented using one or more actual and/or virtual computing systems that collectively provide the dynamic application platform 610 for generating the virtual applications 628.”; and Claim 1 rejection above).
As per claim 7, which depends on claim 1, Gamble further teaches wherein the instructions upon execution cause the system to: add the tenant identifier to the metadata of the management service after completion of a registration process to register the management service with a tenant management controller of the computing environment (see Gamble, [[0041]: “In practice, the data 632 may be organized and formatted in any manner to support the application platform 610. In various embodiments, the data 632 is suitably organized into a relatively small number of large data tables to maintain a semi-amorphous “heap”-type format. The data 632 can then be organized as needed for a particular virtual application 628. In various embodiments, conventional data relationships are established using any number of pivot tables 634 that establish indexing, uniqueness, relationships between entities, and/or other aspects of conventional database organization as desired. Further data manipulation and report formatting is generally performed at run-time using a variety of metadata constructs. Metadata within a universal data directory (UDD) 636, for example, can be used to describe any number of forms, reports, workflows, user access privileges, business logic and other constructs that are common to multiple tenants. Tenant-specific formatting, functions and other constructs may be maintained as tenant-specific metadata 638 for each tenant, as desired.”).
As per claim 8, which depends on claim 1, Gamble further teaches wherein the management action comprises one or more selected from among:
capacity planning that determines how much resource capacity of the computing environment is to be assigned to the tenant,
resource allocation to dynamically increase or decrease resources of the computing environment for the tenant (see Gamble, [0024]: “For example, the system 100 may track or otherwise monitor the relative allocation of application server resources to active debugging sessions and store or otherwise maintain a current debug resource usage metric in the resource usage statistics table 128.”; and [0025]: “Additionally, in various embodiments, the system 100 may track or otherwise monitor the relative allocation of application server resources to the requesting user or the requesting user's tenant, and the debug API 116 may deny the debug session request when the current resource usage by the requesting user or the requesting user's tenant exceeds a threshold value. In this manner, the debug API 116 may prevent a particular user or tenant from consuming a disproportionate percentage of the overall system resources.”),
sprawl reduction to reduce a sprawl of virtual compute entities for the tenant, or
workload migration to move workloads across different physical resources in the computing environment.
As per claim 9, which depends on claim 1, Gamble further teaches wherein the instructions upon execution cause the system to:
track, with the metering service of the computing environment, further metric data relating to resource usage by a further tenant in the computing environment (see Gamble, [0013]: “For example, the server may establish or otherwise instantiate a new debugging session corresponding to the request as being active within the system and allow insertion of breakpoints within application code that is stored by the database system and associated with the debugging user's associated tenant in accordance with the permissions associated with the user and/or the user's tenant.”; [0025]: “Additionally, in various embodiments, the system 100 may track or otherwise monitor the relative allocation of application server resources to the requesting user or the requesting user's tenant, and the debug API 116 may deny the debug session request when the current resource usage by the requesting user or the requesting user's tenant exceeds a threshold value”; and [0027]: “supporting real-time interactive debugging of an instance of an on-demand database application 304 that is generated at run-time and provided to a client device via a communications network 108”);
create, by the metering service, a further resource usage record comprising attributes, the attributes of the further resource usage record comprising an attribute containing the further metric data, and an attribute containing a tenant identifier of the further tenant (see Gamble, [0026]: “In some embodiments, the database 104 may include a breakpoint table maintaining information for managing breakpoints inserted tenant application code 122, with the breakpoint table being updated to include one or more entries associated with the debugging session that indicate or otherwise identify the location(s) of the breakpoint(s) within the debugging user's tenant's application code 122 in association with one or more identifiers associated with the debug request, the debugging user, and the like.”; and Claim 1 rejection above),
wherein the further resource usage record is separate from the resource usage record (see Gamble, [0013]: “For example, the server may establish or otherwise instantiate a new debugging session corresponding to the request as being active within the system and allow insertion of breakpoints within application code that is stored by the database system and associated with the debugging user's associated tenant in accordance with the permissions associated with the user and/or the user's tenant.”; [0026]: “After verifying the new debug session request does not violate any applicable debugging utilization criteria, the management process 200 continues by updating the debug mapping table in the database to instantiate or otherwise reflect a new active debugging session associated with the debug session request and thereafter allowing the debugger access to the tenant-specific application code in the database for inserting breakpoints into the code for purposes of the debugging session (tasks 210, 212).”; and [0027]: “supporting real-time interactive debugging of an instance of an on-demand database application 304 that is generated at run-time and provided to a client device via a communications network 108”).
As per claim 10, which depends on claim 1, Gamble further teaches wherein the resource usage record comprises time information identifying a time interval over which the plurality of metrics are collected (see Gamble, [0032]: “In exemplary embodiments, the debug mapping table 130 stores or otherwise maintains a time associated with most recent activity associated with an active debugging session, and the debug APIs 116, 316 automatically terminate, cancel, or otherwise disregard any debugging sessions with recent activity that is not within a threshold period of time in advance of the current time.”).
As per claim 13, which depends on claim 12, Gamble does not explicitly teach wherein the instructions are executable on the hardware processor to: provide an onboarding portal accessible by a user to request the onboarding of the tenant to the computing environment (see Gamble, FIG. 5).
As per claim 14, which depends on claim 12, Gamble further teaches wherein the instructions are executable on the hardware processor to:
receive, at a tenant management controller, a request to allocate a resource to the tenant (see Gamble, [0025]: “Additionally, in various embodiments, the system 100 may track or otherwise monitor the relative allocation of application server resources to the requesting user or the requesting user's tenant, and the debug API 116 may deny the debug session request when the current resource usage by the requesting user or the requesting user's tenant exceeds a threshold value. In this manner, the debug API 116 may prevent a particular user or tenant from consuming a disproportionate percentage of the overall system resources.);
as a response to the request, allocate, by the tenant management controller, the resource to the tenant, wherein the plurality of metrics in the resource usage record comprise metrics relating to usage of the resource (see Gamble, [0024]: “For example, the system 100 may track or otherwise monitor the relative allocation of application server resources to active debugging sessions and store or otherwise maintain a current debug resource usage metric in the resource usage statistics table 128.”); and
add an identifier of the resource allocated to the tenant to the resource usage record (see Claim 1 rejection above).
As per claim 15, which depends on claim 12, Gamble further teaches wherein the instructions are executable on the hardware processor to:
track the plurality of metrics relating to the resource usage by the tenant in the computing environment during a metered time duration (see Claim 1 & Claim 10 rejections above); and
add, to the resource usage record, time information indicating the metered time duration (see Claim 1 & Claim 10 rejections above).
As per claim 16, which depends on claim 14, Gamble further teaches wherein the instructions are executable on the hardware processor to: add, to the resource usage record, an attribute containing information indicating a type of the resource allocated to the tenant (see Gamble, [0026]: “After verifying the new debug session request does not violate any applicable debugging utilization criteria, the management process 200 continues by updating the debug mapping table in the database to instantiate or otherwise reflect a new active debugging session associated with the debug session request and thereafter allowing the debugger access to the tenant-specific application code in the database for inserting breakpoints into the code for purposes of the debugging session (tasks 210, 212).”; [0034]: “The debug API 316 updates the debug mapping table 130 to include an entry for the debugging session thread that identifies or otherwise associates the received client request with the active debugging session. In this regard, the debug API 316 associates the new debug session thread with the client device 306 and/or the client application 314 from which the client request originated, the application server 302 and/or the application platform 312 that received the client request, and an identifier associated with the active debugging session and/or the debugger 114 associated with the active debugging session.”; and [0047]: “For example, a virtual application 628 may include a number of objects 626 accessible to a tenant, wherein for each object 626 accessible to the tenant, information pertaining to its object type along with values for various fields associated with that respective object type are maintained as metadata 638 in the database 630. In this regard, the object type defines the structure (e.g., the formatting, functions and other constructs) of each respective object 626 and the various fields associated therewith.”).
As per claim 17, which depends on claim 16, Gamble further teaches wherein the information indicating the type of the resource allocated to the tenant added to the resource usage record comprises information identifying a virtual machine allocated to the tenant or information identifying a bare-metal server allocated to the tenant (see Gamble, [0033]: “Additionally, the debug API 316 may verify that the current value(s) for any overall system resource usage metric(s) is less than its applicable maximum allowable threshold value for debugging within the system 100, and/or that the current value(s) for any resource usage metric(s) for the user and/or tenant associated with the matching active debugging session is less than its applicable maximum allowable threshold value. Additionally, the debug API 316 may access the debug mapping table(s) 130 to verify or otherwise confirm that the number of currently active debugging sessions associated with the requesting user or the requesting user's tenant is less than a maximum allowable number of concurrent debugging sessions (or concurrent debugging session threads) for that user or tenant.”; and [0042]: “The server 602 is implemented using one or more actual and/or virtual computing systems that collectively provide the dynamic application platform 610 for generating the virtual applications 628.”).
As per claim 19, which depends on claim 18, Gamble further teaches wherein the adding of the tenant identifiers to the management metadata is after registration of the management service with the tenant management controller (see Claim 1 rejection above, Inherency).
As per claim 20, which depends on claim 18, Gamble teach further comprising:
receiving, at the tenant management controller, a request to allocate a resource to the first tenant (see Gamble, [0024]: “For example, the system 100 may track or otherwise monitor the relative allocation of application server resources to active debugging sessions and store or otherwise maintain a current debug resource usage metric in the resource usage statistics table 128.”);
as a response to the request, allocating, by the tenant management controller, the resource to the first tenant, wherein the plurality of metrics in the resource usage record comprise metrics relating to usage of the resource (see Gamble, [0024]: “For example, the system 100 may track or otherwise monitor the relative allocation of application server resources to active debugging sessions and store or otherwise maintain a current debug resource usage metric in the resource usage statistics table 128.”); and
adding, by the resource usage metering controller to the resource usage record, an identifier of the resource allocated to the first tenant (see Claim 1 rejection above).
As per claim 21, which depends on claim 7, Gamble further teaches wherein the instructions upon execution cause the system to:
receive, at the tenant management controller, a request to allocate a resource to the tenant (see Claim 20 rejection above);
as a response to the request, allocate, by the tenant management controller, the resource to the tenant, wherein the plurality of metrics in the resource usage record comprise metrics relating to usage of the resource (see Claim 20 rejection above); and
add, to the resource usage record, an identifier of the resource allocated to the tenant (see Claim 20 rejection above).
As per claim 22, which depends on claim 21, Gamble further teaches wherein the instructions upon execution cause the system to: add, to the resource usage record, information of a type of the resource allocated to the tenant (see Gamble, [0047]: “For example, a virtual application 628 may include a number of objects 626 accessible to a tenant, wherein for each object 626 accessible to the tenant, information pertaining to its object type along with values for various fields associated with that respective object type are maintained as metadata 638 in the database 630. In this regard, the object type defines the structure (e.g., the formatting, functions and other constructs) of each respective object 626 and the various fields associated therewith.”).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
8. Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Gamble et al. (US 2016/0378637 A1) in view of Anholt et al. (US 2018/0026911 A1).
As per claim 6, which depends on claim 1, Gamble does not explicitly teach wherein the resource usage comprises usage of a bare-metal server, and the resource usage record containing the tenant identifier that individually identifies the tenant further includes an identifier of the bare-metal server.
Anholt teaches resource usage comprises usage of a bare-metal server, and the resource usage record containing the tenant identifier that individually identifies the tenant further includes an identifier of the bare-metal server (see Anholt, [0035]: “Each container can report its usage. Other data fields could be used as well. FIG. 2 illustrates multiple VNFs 1-5 that can be hosted by a single or multiple bare-metal servers 204, 206 this mechanism can report host-based (as well as underlying network-based) resource usage for the respective VNFs as well as for the hosting bare-metal server (as a per container fraction of the total usage, etc.).”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the system of Gamble in view of Anholt so that the resource usage comprises usage of a bare-metal server, and the resource usage record containing the tenant identifier that individually identifies the tenant further includes an identifier of the bare-metal server. One would be motivated to do so because resources can comprise any devices, components, and/or applications, and because Gamble teaches in paragraph [0024], “the debug API 116 accesses a resource usage statistics table 128 in the database 104 that includes values for one or more resource usage metrics, which, in turn, are utilized by the debug API 116 to determine whether new debug sessions may be created.”.
Conclusion
9. For the reasons above, claims 1, 3-10, and 12-22 have been rejected and remain pending.
10. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
11. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL Y WON whose telephone number is (571)272-3993. The examiner can normally be reached on Wk.1: M-F: 8-5 PST & Wk.2: M-Th: 8-7 PST.
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, Nicholas R Taylor can be reached on 571-272-3889. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Michael Won/Primary Examiner, Art Unit 2443