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
Claims 1-20 are presented for examination.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement.
Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b).
Claims 1 and 3-5 are compared to claims 1 and 4-6 in US Patent 12131190 in the following table:
Instant Application
Patent number 12131190
Claim 1. An apparatus, comprising: a memory system; and a processing unit coupled to the memory device, wherein the processing unit is to:
write, to the memory device, a predetermined usage profile;
write instructions corresponding to an operational mode of the apparatus to the memory device, wherein the instructions corresponding to the operational mode of the apparatus are based, at least in part, on characteristics of workloads executed by the processing unit based on the predetermined usage profile;
monitor characteristics of workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the apparatus;
and
update at least one of the predetermined usage profile or the instructions corresponding to the operational mode of the apparatus, or both, based on the monitored characteristics of the workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the apparatus.
Claim 1. An apparatus, comprising: a memory system; and a processing unit coupled to the memory device, wherein the processing unit is to:
write, to the memory device, a predetermined usage profile;
determine a usage profile for the apparatus based, at least in part, on characteristics of workloads executed by the processing unit based on the predetermined usage profile;
compare the determined usage profile to an aggregated collection of usage profiles;
write instructions corresponding to an operational mode of the apparatus to the memory device, wherein the instructions corresponding to the operational mode of the apparatus are based, at least in part, on the characteristics of the workloads executed by the processing unit based on the predetermined usage profile and the comparison of the determined usage profile to the aggregated collection of usage profiles;
monitor characteristics of workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the apparatus; and
update at least one of the predetermined usage profile or the instructions corresponding to the operational mode of the apparatus, or both, based on the monitored characteristics of the workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the apparatus.
Claim 3. The apparatus of claim 1, wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the predetermined usage profile; and responsive to an update of the predetermined usage profile, allocate a second portion of the memory device in addition to the first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the updated usage profile.
Claim 4. The apparatus of claim 1, wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the predetermined usage profile; and responsive to an update of the predetermined usage profile, allocate a second portion of the memory device in addition to the first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the updated usage profile.
Claim 4. The apparatus of claim 1, wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus; receive an instruction to open a second portion of the memory device for use during operation of the apparatus; and allocate the second portion of the memory device for use during operation of the apparatus in response to execution of the received instruction.
Claim 5. The apparatus of claim 1, wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus; receive an instruction to open a second portion of the memory device for use during operation of the apparatus; and allocate the second portion of the memory device for use during operation of the apparatus in response to execution of the received instruction.
Claim 5. The apparatus of claim 1, wherein the processing unit is to update the predetermined usage profile to one of a selectable number of usage profiles stored in the memory device.
Claim 6. The apparatus of claim 1, wherein the processing unit is to update the predetermined usage profile to one of a selectable number of usage profiles stored in the memory device.
Claims 7 and 13 of the instant application are very similar to claim 1 and are rejected for the same reasons.
Claims 1-20 are provisionally rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claim 1-21 of US Patent 12131190.
Although the conflicting claims are not identical, they are not patentably distinct from each other because the limitations of claims 1-21 of the patent, anticipates or otherwise renders obvious the limitations of 1-20, respectively of this instant application.
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 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1,2,5,7,8,12,13 and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1)
As per claim 13, Morse teaches A system, comprising:
a distributed computing system comprising a pool of shared computing resources; a plurality of computing devices communicatively coupled to the distributed computing system wherein each computing device of the plurality of computing devices comprises a processing unit and a memory device, wherein the processing unit is to: (Morse [0014] FIG. 1 illustrates one embodiment of an environment in which the present invention may operate. However, not all of these components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention. [0015] As shown in the figure, a system 10 includes client devices 12-14, a network 15, and a server 16. Network 15 is in communication with and enables communication between each of client devices 12-14, and server 16.)
write, to the memory device, a predetermined usage profile; (Morse [0034] In addition, mass memory 74 stores a profiling module 86 and a prefetching module 88. Profiling module 86 may include computer executable instructions, which may be run under control of operating system 81 to enable collection and analysis of usage information and Fig 5 Block 130 (Establish mobile user profile from predefined profile associated with mobile terminal model) and Block 132 (Associate mobile user profile with general user profile)).
execute one or more workloads based on the predetermined usage profile;
(Morse Fig 5 Block 134 (Track mobile terminal uses and changes in mobile user profile))
Morse explicitly teaches updating the profile based on user interactions ([claim 1] determining, via the processor, changes to the mobile device based on said monitoring; and updating, via the processor, said mobile profile to include information related to said changes, said updated mobile profile comprising current characteristics and capabilities of the mobile device.
Morse does not teach write instructions corresponding to an optimized operational mode of the computing device to the memory device, wherein the instructions corresponding to the optimized operational mode of the computing device are based, at least in part, on characteristics of the executed workloads based on the predetermined usage profile and monitor characteristics of one or more workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device and determine changes to the predetermined usage profile using the characteristics of the executed workloads based on the predetermined usage profile or the characteristics of the workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device, or both; and update at least one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, based on the determined changes of the one or more workloads executed by the processing unit subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device.
However, Hari teaches write instructions corresponding to an optimized operational mode of the computing device to the memory device, wherein the instructions corresponding to the optimized operational mode of the computing device are based, at least in part, on characteristics of the executed workloads based on the predetermined usage profile; (Hari Fig 3B Step G1 (Listen to instructions to change one or more operating points of mobile device) [0094] For example, the diagnostic application 116 may further include a system optimisation component that uses, for each application 112a-112n, the retrieved performance-related data or an analysis of the retrieved performance-related data to adjust one or more operating points of hardware components (e.g. increasing/decreasing CPU clock speeds of the processor 102, increasing/decreasing power/battery consumption, increasing/decreasing memory usage or consumption of storage unit 104, etc.) of the mobile device 100 to efficiently or optimally execute each application 112a-112n according to a usage profile for each application(s) 112a-112n. The usage profile for an application 112a may include usage parameters such as usage time of the application 112a executing on the mobile device 100 and/or performance statistics for the application 112a that are determined from a performance analysis of retrieved performance-related data associated with the application 112a. 0263] In step I4, the diagnostic application 116 or 216 and/or performance monitoring component 118 or 218 may be configured to adjust the operating point(s) of the hardware and/or software of the mobile device 100 or 200. For example, the diagnostic application 116 or 216 may be configured to instruct the performance monitoring component 118 or 218 accordingly, or in a similar fashion as described with respect to FIGS. 3a and 3b. The performance monitoring component 118 or 218 may be configured to control the operating points of the mobile device 100 or 200 by operating the hardware of the mobile device 100 or 200 to conform to the selected operating profile and/or the operating point(s), (e.g. a power saving mode or a performance enhancing mode). For example, the performance monitoring component 118 or 218 may be configured to send control instructions to the OS 114 or 214 of the mobile device 100 or 200 for adjusting the operating points of the hardware underlying mobile device 100 or 200 to conform to the selected operating profile and/or the operating point(s), (e.g. a power saving mode or a performance enhancing mode). The OS 114 or 214 then operates to adjust the operating points of the hardware of the mobile device 100 or 200. For example, in the power saver mode, the performance monitoring component 118 or 218 may be configured to clock down the processors 102 or 202 to save power when the user interacts with the selected set of applications in the usage table. In a performance enhancing mode, the performance monitoring component 118 or 218 may be configured to enhance the performance by clocking up the processors 102 or 202 of the mobile device 100 or 200 for the selected set of applications. [0038] In operation, the monitor module 114 (which may form part of the runtime 101) monitors the execution progress of the PGO optimized application 215 and informs the PGO scheduler runtime module 101. With knowledge of upcoming or pending needs of the PGO optimized application 215, the PGO scheduler runtime module 101 may rely on the profile dataset 27 to anticipate optimum resource allocations and settings. [0063] FIG. 6 is a functional block diagram illustrating an exemplary method 600 for proactive resource allocation and configuration (“PRAC”) in a generic execution environment using profile data 27. It is envisioned that embodiments of a PRAC solution may be useful in any execution environment and, as such, are not limited to the particular execution environments described or suggested above. As illustrated in FIG. 6, a profile dataset 27 may be generated based on monitoring of an application 615 during execution of various workload datasets 620. As the profile dataset 27 is refined over time in view of subsequent executions of application 615 using the dataset 27, the efficiency at which resources are configured and workloads allocated may be improved.)
It would have been obvious to a person in the ordinary skill in the art before the effective filing date of the claimed invention to combine Hari with the system of Morse to use an optimized operational mode. One having ordinary skill in the art would have been motivated to use Hari into the system of Morse for the purpose of monitoring, analysing and/or optimising the performance of a mobile device. (Hari paragraph 01)
Morse and Hari do not teach monitor characteristics of one or more workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device and determine changes to the predetermined usage profile using the characteristics of the executed workloads based on the predetermined usage profile or the characteristics of the workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device, or both; and update at least one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, based on the determined changes of the one or more workloads executed by the processing unit subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device.
However, Esliner teaches monitor characteristics of one or more workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device; (Esliner [Abstract] The optimized application may be executed and monitored to generate a revised profile dataset useful for providing instructions to the target device for optimal workload allocation and resource configuration.)
determine changes to the predetermined usage profile using the characteristics of the executed workloads based on the predetermined usage profile or the characteristics of the workloads executed subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device, or both; and update at least one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, based on the determined changes of the one or more workloads executed by the processing unit subsequent to execution of the instructions corresponding to the optimized operational mode of the computing device. (Eslinger [0054] It is envisioned that in some PRAC embodiments the profile dataset 27B may be updated and revised over time (perhaps by monitor module 114) in order to achieve further optimizations such as for additional workloads. In addition to the reading of the profile dataset 27B, as the application 315B lives on the target over time, the behavior of the application (resulting from the particular target device 100 and/or how the application is being used by the user) may provide more information that can be written back to the profile dataset 27B and relied upon for optimization of future executions.)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Elsiger with the system of Morse Hari to update a usage profile. One having ordinary skill in the art would have been motivated to use Elsiger into the system of Morse and Hari for the purpose of scheduling and implementing a configuration solution that recognizes the future requirements of a running application( s) and schedules and configures resources in a proactive manner in order to optimize the tradeoff between power consumption and performance. (Esliger paragraph 04)
As per claim 2, Eslinger teaches wherein the processing unit is to perform operations to predict, based at least in part on the workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the apparatus, or a determined aggregate usage profile accessible to the apparatus, or both, whether a change is to be made to the predetermined usage profile. (Esliger [0054] It is envisioned that in some PRAC embodiments the profile dataset 27B may be updated and revised over time (perhaps by monitor module 114) in order to achieve further optimizations such as for additional workloads. In addition to the reading of the profile dataset 27B, as the application 315B lives on the target over time, the behavior of the application (resulting from the particular target device 100 and/or how the application is being used by the user) may provide more information that can be written back to the profile dataset 27B and relied upon for optimization of future executions.)
As per claim 8, Hari teaches further comprising selecting the updated usage profile from a plurality of predetermined usage profiles written to the memory device of the computing device. (Hari [0096] Examples of performance profiles of the mobile device 100 may be: a) a maximum performance profile that optimises the hardware settings of the mobile device 100 for maximum possible execution performance of the application 112a; b) maximum possible display rate for the application 112a; and/or c) a minimum power/battery consumption or economy performance profile. Such performance profiles may also be user defined. [0251] The usage profile(s) for each of the applications 112 or 212 on the mobile device 100 or 200 may be stored and maintained in a database, a table or other suitable data structure [0263] In step I4, the diagnostic application 116 or 216 and/or performance monitoring component 118 or 218 may be configured to adjust the operating point(s) of the hardware and/or software of the mobile device 100 or 200. For example, the diagnostic application 116 or 216 may be configured to instruct the performance monitoring component 118 or 218 accordingly, or in a similar fashion as described with respect to FIGS. 3a and 3b. The performance monitoring component 118 or 218 may be configured to control the operating points of the mobile device 100 or 200 by operating the hardware of the mobile device 100 or 200 to conform to the selected operating profile and/or the operating point(s), (e.g. a power saving mode or a performance enhancing mode). For example, the performance monitoring component 118 or 218 may be configured to send control instructions to the OS 114 or 214 of the mobile device 100 or 200 for adjusting the operating points of the hardware underlying mobile device 100 or 200 to conform to the selected operating profile and/or the operating point(s), (e.g. a power saving mode or a performance enhancing mode). The OS 114 or 214 then operates to adjust the operating points of the hardware of the mobile device 100 or 200. For example, in the power saver mode, the performance monitoring component 118 or 218 may be configured to clock down the processors 102 or 202 to save power when the user interacts with the selected set of applications in the usage table. In a performance enhancing mode, the performance monitoring component 118 or 218 may be configured to enhance the performance by clocking up the processors 102 or 202 of the mobile device 100 or 200 for the selected set of applications.)
As per claim 17, Hari teaches monitor user interaction with the computing device to determine user priorities associated with the computing device; and update at least the one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, based on the monitored user priorities associated with the computing device. (Hari [0096] For example, an optimal usage profile for the application 112a may be a set of parameters/statistics based on the application developer's minimum/maximum hardware configuration or settings of the mobile device 100 for providing the best user experience when the application 112a executes on the mobile device 100. As another example, the desired usage profile for the application 112a may be a set of parameters/statistics based on the user's desired or chosen hardware configuration and/or settings of the mobile device 100 when executing the application 112a on the mobile device 100. As a further example, the mobile device 100 may also have a set of performance profiles each associated with a set of parameters/statistics corresponding to various hardware configurations or settings. Examples of performance profiles of the mobile device 100 may be: a) a maximum performance profile that optimises the hardware settings of the mobile device 100 for maximum possible execution performance of the application 112a; b) maximum possible display rate for the application 112a; and/or c) a minimum power/battery consumption or economy performance profile. Such performance profiles may also be user defined.)
As per claim 18, Hari teaches receive input corresponding to user priorities associated with the computing device; and update at least the one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, based on the user priorities associated with the computing device. (Hari [0096] For example, an optimal usage profile for the application 112a may be a set of parameters/statistics based on the application developer's minimum/maximum hardware configuration or settings of the mobile device 100 for providing the best user experience when the application 112a executes on the mobile device 100. As another example, the desired usage profile for the application 112a may be a set of parameters/statistics based on the user's desired or chosen hardware configuration and/or settings of the mobile device 100 when executing the application 112a on the mobile device 100. As a further example, the mobile device 100 may also have a set of performance profiles each associated with a set of parameters/statistics corresponding to various hardware configurations or settings. Examples of performance profiles of the mobile device 100 may be: a) a maximum performance profile that optimises the hardware settings of the mobile device 100 for maximum possible execution performance of the application 112a; b) maximum possible display rate for the application 112a; and/or c) a minimum power/battery consumption or economy performance profile. Such performance profiles may also be user defined.)
As per claim 19, Hari teaches wherein the instructions corresponding to the optimized operational mode of the computing device include instructions corresponding to at least one of a battery life, a computing device reliability, a device life of the computing device, or a performance of the computing device, or any combination thereof. (Hari [0015] Preferably, optimising the performance of the mobile device includes adjusting one or more operating points of hardware components of the mobile device according to a usage profile comprising one or more usage parameters for the application determined from the analysis of performance-related data associated with the application. Preferably, adjusting one or more operating points of the mobile device further comprising: collecting and maintaining the one or more usage parameters in the usage profile of the application based on the performance-related data associated with execution of the application on the mobile device; determining adjustments to one or more operating points of the mobile device based on the one or more usage parameters and the current state of the mobile device; and adjusting one or more of the operating points of the mobile device)
As per claim 20, Morse teaches wherein the plurality of computing devices are mobile computing devices. (Morse [0016] Client devices 12-14 may include virtually any computing device capable of receiving and sending a message over a network, such as network 15, to and from another computing device, such as server 16, each other, and the like. The set of such devices described in an exemplary embodiment below generally includes mobile terminals that are usually considered more specialized devices with limited capabilities and typically connect using a wireless communications medium such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, CBs, integrated devices combining one or more of the preceding devices, or virtually any mobile device, and the like)
As to claims 1 and 7, they are rejected based on the same reason as claim 13.
As to claim 5, it is rejected based on the same reason as claim 8.
As to claim 12, it is rejected based on the same reason as claim 17.
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Akhtar (US 2012/0149417 A1).
As per claim 3, Morse and Hari and Esliger do not teach wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the predetermined usage profile; and responsive to an update of the predetermined usage profile, allocate a second portion of the memory device in addition to the first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the updated usage profile.
However, Akhtar teaches wherein the processing unit is to: allocate a first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the predetermined usage profile; and responsive to an update of the predetermined usage profile, allocate a second portion of the memory device in addition to the first portion of the memory device for use during operation of the apparatus when the apparatus is operating according to the updated usage profile. (Akhtar [claim1]. A system comprising: a recommender system operable to receive a resource profile from user equipment (UE) of an end user, wherein the resource profile indicates content providers that have assets for the UE to download in advance during a pre-fetch operation for local storage of the assets on the UE, and defines a percentage of UE resources allocated to each of the content providers for downloading the assets during the pre-fetch operation; the recommender system further operable to adjust the percentages of the UE resources in the resource profile to generate an updated resource profile, and to transmit the updated resource profile to the UE for use in at least one subsequent pre-fetch operation. [Claim 8]. The system of claim 1 wherein the percentage of UE resources allocated to each of the content providers comprises: the percentage of UE memory allocated to each of the content providers for downloading assets from the content providers during the pre-fetch operation)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Akhtar with the system of Morse and Hari and Esliger to use an increasing amount of memory. One having ordinary skill in the art would have been motivated to use Akhtar into the system of Morse and Hari and Esliger for the purpose of adjusting a resource profile of user equipment (UE) that is used in pre-fetch operations for downloading assets to the UE. (Akhtar paragraph 01)
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Cable (US 2010/0144318 A1).
As per claim 9, Morse and Hari and Esliger do not teach further comprising selecting the updated usage profile from a plurality of usage profiles determined for other computing devices communicatively coupled to a network accessible to the computing device.
However, Cable teaches further comprising selecting the updated usage profile from a plurality of usage profiles determined for other computing devices communicatively coupled to a network accessible to the computing device. (Cable [0044] Upon receipt of the background communication, device B retrieves an appropriate user profile for sharing with device A. For example, if the user of device A is known by the user of device B, then device B may select the user's full user profile to send to device A. If the user of device A is unknown to the user of device B, however, device B may select a limited user profile to send to device A. [0045] Device B embeds the selected user profile into a background communication that is sent to device A, as indicated generally at 14 in FIG. 1. Device A receives the background communication with the embedded user profile and synchronizes the user profile with a profile list stored on device A. If the profile list on device A already includes a user profile for the user of device B, the received user profile will be parsed such that only the updated information in the user profile is synchronized with the information in the profile list. If user A's profile list does not include a user profile for user B, a new entry is created and the user profile is added to user A's profile list. After synchronization, the profile list on device A includes the most current user profile for the user of device B. [0046] In addition to the user profile, the background communication received from device B may include a request or command for device A to send a user profile for the user of device A to device B. As described above with respect to device B, device A selects an appropriate user profile to send to device B. The selected user profile is then embedded into a background communication that is sent to device B, as shown generally at 16 in FIG. 1. Device B receives the background communication with the embedded user profile and synchronizes the user profile with a profile list stored on device B. After synchronization, the profile list on device B includes the most current user profile for the user of device A. [0056] In response to the background communication, device B selects a user profile to send to device A, as shown in block 32. As described above, device B may include multiple different user profiles, and each user profile stored on device B may include different information. For example, the device may include a business user profile, which may include a professional photograph of the user and the user's business contact information. The device B also may include a social user profile with a funny or casual photograph and the user's home address and phone number. Another user profile may be a limited user profile that includes only the first name of the user and the user's phone number, but no other information. [0058] The device B also may select a user profile at functional block 32 based upon whether the background communication is received from a known or from an unknown person. For example, the device may send the limited profile if the request is received from a device that is unknown to the user, but may send a full profile if the request is received from a contact that is already included in the user's profile list)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Cable with the system of Morse and Hari and Esliger to share profiles among devices. One having ordinary skill in the art would have been motivated to use Cable into the system of Morse and Hari and Esliger for the purpose of automatic user profile exchange device and method for exchanging a user profile (Cable paragraph 01)
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Pati (US 10,939,349 B2).
As per claim 10, Morse and Hari and Esliger do not teach further comprising executing, by the processing unit, one or more machine learning instructions written to the memory device as part of predicting changes to the predetermined usage profile using the characteristics of workloads executed by the processing unit based on the predetermined usage profile or the characteristics of workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the computing device, or both.
However, Pati teaches comprising executing, by the processing unit, one or more machine learning instructions written to the memory device as part of predicting changes to the predetermined usage profile using the characteristics of workloads executed by the processing unit based on the predetermined usage profile or the characteristics of workloads executed by the processing unit subsequent to execution of the instructions corresponding to the operational mode of the computing device, or both. (Pati [claim 1] A content streaming apparatus for steering a client device from a first wireless access point to a second wireless access point based on usage history of the client device, the apparatus comprising: a controller configured to establish a wireless streaming session between one or more access points and one or more client devices, an initial profile category being assigned by one or more access points to the client device based on one or more profile categories, the initial profile category including at least one of master, host, and friend; and a self-learning algorithm executable to: collect usage data of the client device based on the wireless streaming session, store the collected usage data, create a self-learning profile as a usage profile for the client device, and modify the initial profile category assigned to the client device based on the usage profile, wherein the controller provides steering instructions to steer the client device from the first wireless access point to the second wireless access point based on the usage profile and the modified initial profile category, the usage profile results in a newly created profile category based on a function of date and time, and at a later time when the client device establishes another wireless streaming session the self-learning algorithm executes to collect usage data of the client device and stores the usage data as a usage history profile, and compares the usage history profile to an initial profile to create a new usage history profile as a function of data and time)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Pati with the system of Morse and Hari and Esliger to use machine learning. One having ordinary skill in the art would have been motivated to use Pati into the system of Morse and Hari and Esliger for the purpose of configuring access points and steer a client to an access point based on the client's profile (Pati col 1, lines 7-9)
Claims 6 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Bang (US 11,252,149 B1).
As per claim 14, Morse and Hari and Esliger do not teach wherein the processing unit is to update the predetermined usage profile to one of a selectable number of usage profiles stored in the pool of computing resources of the distributed computing system.
However, Bang teaches wherein the processing unit is to update the predetermined usage profile to one of a selectable number of usage profiles stored in the pool of computing resources of the distributed computing system. (Bang [col 45, lines 19-27] In various embodiments, one or more storage and/or database services 2340 may also be utilized for dialog-driven applications. For example, data sets used for task fulfillment, profile information for end users of dialog-driven applications, checkpoints may be stored at storage resource pools 2344 of such services, and so on. In at least one embodiment, an executable representation of a dialog-driven application may comprise invocations of programmatic interfaces of the storage or database service)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Bang with the system of Morse and Hari and Esliger to use one of a selectable profiles. One having ordinary skill in the art would have been motivated to use Bang into the system of Morse and Hari and Esliger for the purpose of storing settings.
As to claim 6, it is rejected based on the same reason as claim 14.
Claims 4,11 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Kelly (US 2019/0325554 A1).
As per claim 15, Morse and Hari and Esliger do not teach allocate a first portion of the memory device for use during operation of the computing device; transfer a command to the distributed computing system to request allocation of a second portion of the memory device for use during operation of the computing device; receive an instruction to open the second portion of the memory device for use during operation of the computing device; and allocate the second portion of the memory device for use during operation of the computing device in response to execution of the received instruction.
However, Kelly teaches allocate a first portion of the memory device for use during operation of the computing device; transfer a command to the distributed computing system to request allocation of a second portion of the memory device for use during operation of the computing device; receive an instruction to open the second portion of the memory device for use during operation of the computing device; and allocate the second portion of the memory device for use during operation of the computing device in response to execution of the received instruction. (Kelly [0026] As such, one specific example of processing system profiles may include GPU profiles for respective first graphics workloads that allocate 1 GB of a particular 16 GB portion of the GPU memory system utilized by a particular GPU to each of those respective first graphics workloads, GPU profiles for respective second graphics workloads that allocate 1 GB of a different 16 GB portion of the GPU memory system utilized by a different GPU to each of those respective second graphics workloads, and so on. Similarly, another specific example of processing system profiles may include GPU profiles for respective third graphics workloads that allocate 512 MB of a particular 16 GB portion of the GPU memory system utilized by a particular GPU to each of those respective third graphics workloads, GPU profiles for respective fourth graphics workloads that allocate 512 MB of a particular 16 GB portion of the GPU memory system utilized by a particular GPU to each of those respective second graphics workloads, and so on. However, while specific examples are provided, one of skill in the art in possession of the present disclosure will recognize that GPU profiles may provide for the allocation of any memory capacity provided by any portion of a GPU memory system utilized by any GPU to any workload while remaining within the scope of the present disclosure as well. [0049] Thus, systems and methods have been described that provide for the simultaneous usage of processing system resources for different types of workloads, thus providing for more efficient usage of processing system resources. For example, computing devices may include a processing system with multiple processors and a memory system, with respective portions of that memory system utilized by each processor. A resource utilization monitoring and workload re-allocation system provided according to the teachings of the present disclosure may identify first workloads that are each allocated a respective memory capacity provided in a portion of the memory system utilized by one of the processors and, for each of those first workloads, determine a respective memory system utilization of the respective memory capacity allocated to that first workload. Based on the respective memory subsystem utilization determined for each of the first workloads, a re-allocation of at least some of the first workloads may be performed from a first portion of the memory system utilized by a first processor to at least one different portion of the memory system utilized by a different processor, and then cause memory capacity provided by the first portion of the memory system to be allocated to at least one second workload. Subsequently, some of processors may utilize their respective portions of the memory system to perform the first workloads, while at least one of the processors may utilize its respective portion of the memory system to perform the at least one second workload, allowing for simultaneous performance of the first and second workloads and more efficient utilization of the processors and memory system.)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Kelly with the system of Morse and Hari and Esliger to use different portions of memory. One having ordinary skill in the art would have been motivated to use Kelly into the system of Morse and Hari and Esliger for the purpose of re-allocating workloads provided by an information handling system based on the resource utilization of those workloads. (Kelly paragraph 01)
As to claims 4 and 11, they are rejected based on the same reason as claim 15.
Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Morse (US 2018/0315086 Al) in view of Hariharakrishnan (US 2016/0098334 A1) thereafter Hari in further view of Esliger (US 2017/0024191 A1) and Pesonen (US 2015/0280979 A1).
As per claim 16, Morse and Hari and Esliger do not teach wherein the processing unit is to, as part of updating at least the one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, update a set of firmware instructions written to the memory device of the computing device.
However, Pesonen teaches wherein the processing unit is to, as part of updating at least the one of the predetermined usage profile or the instructions corresponding to the optimized operational mode of the computing device, or both, update a set of firmware instructions written to the memory device of the computing device. (Pesonen Fig 5 and [0042] Examples of a method, a system and a computer program product are presented for optimizing settings for an application running on a user device. [0051] The device specification information may be retrieved always when the application is launched or running or at set time periods or when triggered by an internal or external source etc. It may be retrieved for example when the operating system or other software in the user device is updated or changed. It may also be investigated for example when a hardware component is updated, added, removed etc. or when the user updates settings manually. The device specification information may also include information about the current configuration data set used in the application. [0072] Let us consider an example, where the user device 11 is a mobile phone, the device application 20 is a game and the server 12 is a game server. The game is installed on the mobile phone by the user and launched. Launching the game launches also a process for retrieving specification information of the mobile phone, including make and model of the phone and information about the components used in the device.)
It would have been obvious to a person in the ordinary skill in the art before the filing date of the claimed invention to combine Pesonen with the system of Morse and Hari and Esliger to update firmware instructions. One having ordinary skill in the art would have been motivated to use Pesonen into the system of Morse and Hari and Esliger for the purpose of automatically configuring applications running in a device or a group of devices. (Pesonen paragraph 01)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 20220066829 A1 – discloses a method and an optimization unit for optimizing and/or improving efficiency of resource utilization in an embedded computing system executing Artificial Intelligence (AI) applications. The method includes: detecting, by an optimization unit comprising processing circuitry and/or executable program instructions configured in the embedded computing system, a launch of an AI application on the embedded computing system; retrieving a runtime profile corresponding to the AI application, the runtime profile indicating resource requirements for executing the AI application; and configuring a runtime environment of the embedded computing system for the AI application based on the runtime profile corresponding to the AI application.
US 20190334771 A1 – discloses methods for dynamically and programmatically controlling hardware and software to optimize bandwidth and latency across partitions in a computing system are discussed herein. In various embodiments, performance within a partitioned computing system may be monitored and used to automatically reconfigure the computing system to optimize aggregate bandwidth and latency. Reconfiguring the computing system may comprise reallocating hardware resources among partitions, programming firewalls to enable higher bandwidth for specific inter-partition traffic, switching programming models associated with individual partitions, starting additional instances of one or more applications running on the partitions, and/or one or more other operations to optimize the overall aggregate bandwidth and latency of the system.
US 9547666 B2 – discloses Location graph-based derivation of user attributes is disclosed. In various embodiments, location data associated with a user, such as a current and/or past location at which the user has been, is received. A user attribute data associated with the location data is determined and used to update a user profile associated with the user.
US20140141768 – discloses a mobile telecommunications device runs a plurality of applications installed on the device (for providing services to the device user). Monitoring means monitors the performance of the applications for generating performance data (for each application), and analysing means analyses the performance data (for each application) and to identify characteristics of the applications in dependence thereon. The mobile device may alert a user of the device of the problematic ones of the applications (for example via the GUI of the device). A mobile telecommunications device application performance analysing apparatus may be coupled to the mobile telecommunications network that provides mobile telecommunications services to a plurality of mobile telecommunications devices and may receive the performance data and which includes analysis means for conducting analysis of the performance data to identify characteristics of the applications in dependence thereon.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MEHRAN KAMRAN whose telephone number is (571)272-3401. The examiner can normally be reached on 9-5.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, April Blair can be reached on (571)270-1014. 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.
/MEHRAN KAMRAN/ Primary Examiner, Art Unit 2196