Configuring electronic device using artificial intelligence

By using machine learning models on electronic devices to predict events and issue notifications, and automatically configure device components, the problems of poor user experience and cumbersome configuration in the prior art are solved, and more efficient and personalized device performance is achieved.

CN119987899APending Publication Date: 2025-05-13MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510130200.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-05-31
Filing Date
2019-04-19
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

The operating system default settings of existing electronic devices cannot meet users' unique usage needs and personal preferences, resulting in poor user experience, impaired device performance, and personalized configurations are cumbersome and time-consuming.

Method used

Automatic configuration is achieved by accessing telemetry data on an electronic device and inputting it into a machine learning model that matches the device metadata, events that will occur on the device are predicted, thereby issuing notifications to the device components.

Benefits of technology

It improves the user experience and performance of electronic devices, reduces unnecessary software burden on device components, improves real-time response capabilities, and reduces user-defined costs and time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119987899A_ABST
    Figure CN119987899A_ABST
Patent Text Reader

Abstract

Devices, systems, and methods described herein enable automatic configuration of an electronic device using artificial intelligence (AI). The devices, systems, and methods enable access to telemetry data representing device usage data, input the accessed telemetry data into a machine learning model that matches device metadata, and determine notifications to be published to components of the electronic device. The notification represents an event predicted to occur on the electronic device. The notification is published to a component of the electronic device such that the electronic device is configured in accordance with the published notification. The determined notification enables identification of an optimal setting for the electronic device based on a usage pattern of the device and enables components of the electronic device to preemptively take measures on events predicted to occur in the future.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with international application number PCT / US2019 / 028265, application date April 19, 2019, application number 201980029480.5, and invention name “Configuring electronic devices using artificial intelligence”. Background Art

[0002] Electronic devices such as personal computers, workstations, laptops, mobile phones, tablet computers, etc. include operating systems composed of various components that are configured to support various customer scenarios, functions, and personalized preferences. The operating settings of the operating system are often configured by an administrator or manufacturer using universal default settings that provide a "one-size-fits-all" experience for users. However, such universal default settings may provide a sub-par experience for a user or may impair the operational performance of the device, for example, due to the user's unique use of the device or the user's personal preferences. Moreover, personalizing the device to the user is performed via manual configuration of the various settings, which can be tedious and time consuming.

[0003] The electronic device also includes various components, such as application software, internal hardware, and external hardware (e.g., peripheral devices, etc.), which may initially be configured using general default software that supports the various functions of the component. However, some functions of the component may not be used by the user, and therefore the component may include unnecessary software, which may increase the pressure on the limited memory and / or processing power of the specific component. In addition, although the components of the electronic device may respond to real-time notifications from the operating system of various events (e.g., device shutdown, peripheral device unplugged, power failure, activation of application software, etc.), such real-time reactions may slow down the operation speed of the device. For example, it may take longer to shut down the hardware associated with the unplugged peripheral device, or it may take longer to load the requested application, other components of the subscribed application, or hardware associated with the requested application. Summary of the invention

[0004] This Summary is provided to introduce some concepts in a simplified form, which are further described in the Detailed Description below. This Summary is neither intended to identify key features or essential features of the claimed subject matter nor to be used as an aid in determining the scope of the claimed subject matter.

[0005] A computerized method includes: receiving a machine learning model that matches device metadata from a cloud service at an electronic device, accessing telemetry data representing device usage data, inputting the accessed telemetry data into the received machine learning model to determine a notification to be published to a component of the electronic device, publishing the determined notification to the component, the notification representing an event predicted to occur on the electronic device, and configuring the electronic device by the component based on the published notification. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The present description will be better understood from the following detailed description read in conjunction with the accompanying drawings, in which:

[0007] Figure 1 is an exemplary block diagram illustrating an electronic device including an artificial intelligence (AI) client service and an AI agent according to an embodiment.

[0008] Figure 2 is an exemplary flow chart illustrating a method of configuring an electronic device using artificial intelligence (AI) according to an embodiment.

[0009] Figure 3 is an exemplary flow chart illustrating a method of configuring one or more settings of an operating system (OS) of an electronic device using AI according to an embodiment.

[0010] Figure 4 is an exemplary flow chart illustrating a method of configuring applications and / or hardware of an electronic device using AI according to an embodiment.

[0011] Figure 5 The electronic device according to the embodiment is shown as a functional block diagram.

[0012] Corresponding reference numerals indicate corresponding parts throughout the drawings. DETAILED DESCRIPTION

[0013] With reference to the accompanying drawings, the devices, systems, and methods described herein enable automatic configuration of electronic devices using artificial intelligence (AI). The devices, systems, and methods enable access to telemetry data representing device usage data, input of the accessed telemetry data into a machine learning model that matches device metadata, and determination of notifications to be issued to components of the electronic device. The notifications represent events predicted to occur on the electronic device. The notifications are issued to components of the electronic device, thereby configuring the electronic device according to the issued notifications. The determined notifications enable identification of optimal settings for the electronic device based on the usage pattern of the device, and enable components of the electronic device to take preemptive action on events predicted to occur in the near future.

[0014] The devices, systems, and methods described herein enable components of electronic devices to automatically configure electronic devices using personalized, configured, and predictive notifications. The determined notifications increase the intelligence of the operating system of the electronic device and improve the resilience and overall functionality of the electronic device. The determined notifications enable automatic remediation of the electronic device and can result in less expensive hardware (e.g., Internet of Things (IoT) devices) that is customized for a user's specific use.

[0015] In addition, when configured to perform the operations described herein, the electronic device operates in an unconventional manner to increase the speed of the electronic device, save memory, reduce processor load, improve operating system resource allocation, increase user efficiency, improve user interaction performance, reduce error rates, and so on.

[0016] refer to Figure 1 , an exemplary block diagram shows an electronic device 100 including an artificial intelligence (AI) client service 102 and an AI broker 104 according to an embodiment. As will be described in more detail below, the AI ​​client service 102 inputs telemetry data representing at least device usage data into a machine learning model 118 to determine notifications issued by the AI ​​broker 104 to various components 106, 108, 110 and 110 and / or 112 of the electronic device 100 for automatically configuring the electronic device 100.

[0017] The electronic device 100 represents any device that executes instructions for implementing operations and functions associated with the electronic device (e.g., as an application / software, operating system function, or both). The electronic device may include a mobile electronic device or any other portable device. In some examples, the mobile electronic device includes a mobile phone, a laptop computer, a tablet computer, a computing board, a netbook, a gaming device, a personal digital assistant, and / or a portable media player. The electronic device may also include devices with lower portability, such as desktop personal computers, servers, kiosks, desktop devices, media players, industrial control equipment, game consoles, wireless charging stations, and electric vehicle charging stations. In addition, the electronic device may represent a group of processing units or other computing devices. As used herein, the "components" of the electronic device 100 may include, but are not limited to, an operating system of the electronic device 100, application software running on the electronic device 100 (also referred to herein as "applications"), internal hardware of the electronic device 100, and / or external hardware (e.g., peripherals, etc.) that is communicatively coupled to the electronic device 100.

[0018] The electronic device 100 includes platform software, including an operating system (OS) 106 or any other suitable platform software, to enable application software 108 to be executed on the electronic device. The electronic device 100 includes internal hardware 110, such as but not limited to video (graphics) cards, sound cards, network cards, TV tuners, radio tuners, processors, motherboards, memories, hard drives, media drives, batteries, power supplies, etc. The electronic device 100 also includes external hardware 112, such as but not limited to input devices (e.g., keyboards, trackpads, mice, microphones, cameras, drawing tablets, headphones, scanners, etc.), output devices (e.g., monitors, televisions, printers, speakers, fax machines, etc.), external hard drives, wireless routers, surge protectors, IoT devices, other peripherals, etc.

[0019] The electronic device 100 includes a universal telemetry client (UTC) 114 that collects telemetry data from the electronic device 100 for use by the AI ​​client service 104. The UTC 114 is communicatively coupled to various components of the electronic device 100 to receive telemetry data from various components, such as but not limited to the OS 106, the application software 108, the internal hardware 110, the external hardware 112, etc. The telemetry data collected by the UTC 114 represents device usage data. Specifically, the telemetry data collected by the UTC 114 includes data representing how the user has used the electronic device 100 (e.g., usage patterns over time), and in some examples, may include real-time data representing how the user is currently using the electronic device 100. The telemetry data collected by the UTC 114 is used to indicate how the user intends to use the electronic device 100 in the future. For example, as described herein, the telemetry data collected by the UTC 114 can enable the AI ​​client service 102 to predict events that may occur on the electronic device 100.

[0020] By UTC Examples of telemetry data collected by 114 include, but are not limited to, data from OS 106 indicating a user's personal settings on electronic device 100 (e.g., how the user has personalized electronic device 100), data from OS 106 indicating how a particular use of electronic device 100 affects the performance of electronic device 100 and / or one or more components thereof (e.g., battery life, processing load, processing time, loading time, failures, etc.), data indicating failures of electronic device 100 and / or its components, data indicating poor deployment of application software and / or hardware, data indicating a user's preferences, data indicating a user's expectations, data indicating thresholds defined and / or desired by a user, data indicating when and / or how a user has used various application software 108, data indicating intended use of application software 108, data indicating when and / or how a user has used various internal hardware 110, data indicating intended use of internal hardware 110, data indicating when and / or how a user has used various external hardware 112, data indicating intended use of external hardware 112, data indicating shutdown and / or deactivation of application software 108, data indicating power off of internal hardware 110 down), data indicating power failure and / or disconnection of external hardware 112, data indicating power failure of electronic device 100, customized hardware of electronic device 100, proprietary chip of electronic device 100, other hardware and / or software (for example, military equipment, government equipment, developer equipment, etc.), data indicating whether electronic device 100 is a work device or a personal device, etc.

[0021] The UTC 114 is communicatively coupled to the AI ​​client service 102. As will be described in more detail below, the UTC 114 sends or otherwise provides telemetry data to the AI ​​client service 102, which inputs the telemetry data into the machine learning model 118 to determine notifications issued by the AI ​​agent 104 to the various components 106, 108, 110, and / or 112 of the electronic device 100. The UTC 114 is also communicatively coupled to the cloud service 116 for uploading the telemetry data to the cloud service 116 to enable the cloud service to create and / or update the machine learning model 118 based on the telemetry data.

[0022] In one example, the machine learning model 118 is generated in the cloud service 116 and grouped by device metadata. The device metadata includes any data describing the electronic device 100, such as device name, ownership, user name, hardware configuration and functionality, device usage pattern, device execution behavior, location, etc. In some examples, the machine learning model 118 includes a customized machine learning model 118 from the electronic device 100 and / or a private cloud service (not shown) associated with the electronic device 100 and / or the user of the electronic device 100. For example, the machine learning model 118 generated in the cloud service 116 can be augmented (e.g., updated) with information that is unknown to the cloud service 116 but known to the electronic device 100 and / or the user. In some examples, the information used by the electronic device 100 to augment the machine learning model 118 that is unknown to the cloud service 116 is not sent to the cloud service 116 by the UTC 114 (e.g., not crowdsourced). In this way, the electronic device 100 can update at least some of the machine learning models 118 without sharing proprietary and / or customized information with the cloud service 116. Information used by the electronic device 100 to augment the machine learning model 118 and unknown to the cloud service 116 includes, but is not limited to, customized hardware of the electronic device 100, proprietary chips, other hardware and / or software of the electronic device 100 (e.g., military equipment, government equipment, developer equipment, etc.), whether the electronic device 100 is a work device or a personal device, etc.

[0023] The machine learning model 118 may be any type of machine learning model, such as, but not limited to, an Open Neural Network Exchange (ONNX) model, etc. The UTC 114 uploads telemetry data from the electronic device 100 to the cloud service 116 to create and / or update the machine learning model 118 at the cloud service 116. For example, the cloud service 116 collects telemetry data from the electronic device 100, and the collected telemetry data is used to train the machine learning model 118. In addition, the cloud service 116 may collect telemetry data from other electronic devices (not shown) to further update the machine learning model 118. Many electronic devices may provide telemetry data to the cloud service 116 so that future machine learning models 118 may be improved by crowdsourcing in this manner.

[0024] The AI ​​client service 102 is communicatively coupled to the cloud service 116 to receive the machine learning model 118 from the cloud service 116. For example, the AI ​​client service 102 may request the machine learning model 118 from the cloud service 116 based on metadata of the electronic device 100, and receive the machine learning model 118 that has been created for a device such as the electronic device 100. In this way, the electronic device 100 receives a specific machine learning model 118 that may be more suitable for the electronic device 100 than other machine learning models 118.

[0025] The AI ​​client service 102 receives the machine learning model 118 from the cloud service 116 and uses the memory of the electronic device 100 to store the machine learning model 118. The AI ​​client service 102 is also communicatively coupled to the UTC 114 for receiving telemetry data from the UTC 114. The AI ​​client service 102 inputs the telemetry data received from the UTC 114 into the machine learning model 118 received from the cloud service 116 to determine notifications to be published to the components 106, 108, 110, and 112 of the electronic device 100. The notification represents an event that is predicted to occur on the electronic device 100 based on the telemetry data input into the machine learning model 118.

[0026] In some examples, the AI ​​client service 102 includes a trained regressor, such as, but not limited to, a random decision forest, a directed acyclic graph, a support vector machine, a neural network, other trained regressors, etc. The trained regressor can be trained using telemetry data from the electronic device 100 and / or telemetry data from other electronic devices. Examples of trained regressors include convolutional neural networks and random decision forests. It should also be understood that in some examples, the AI ​​client service 102 can operate according to machine learning principles and / or techniques known in the art without departing from the systems and / or methods described herein.

[0027] In some cases, the AI ​​client service 102 includes software stored in a memory and executed on a processor. In some examples, the AI ​​client service 102 is executed on a field programmable gate array (FPGA) or a dedicated chip. For example, the functionality of the AI ​​client service 102 may be implemented in whole or in part by one or more hardware logic components. For example and not limitation, illustrative types of hardware logic components that may be used include FPGAs, application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), graphics processing units (GPUs), and the like.

[0028] When applying machine learning techniques and / or algorithms, the AI ​​client service 102 and / or cloud service 116 can utilize training data pairs. Millions of training data pairs (or more) can be stored in a machine learning data structure (e.g., machine learning model 118). In some examples, the training data pairs include input or feedback data values ​​paired with standard update values. The pairing of these two values ​​demonstrates the relationship between the input or feedback data value and the standard update value, which the machine learning model 118 can use to determine future standard updates based on machine learning techniques and / or algorithms.

[0029] The AI ​​client service 102 is arranged to perform the Figure 2-4The method described herein is to determine notifications issued by the AI ​​agent 104 to the various components 106, 108, 110, and / or 112 of the electronic device 100 for automatically configuring the electronic device 100 or taking other actions on the electronic device 100. In some examples, the notification determined by the AI ​​client service 102 may include a prompt to the user informing the user of the automatic configuration, and a selection for confirming or rejecting the automatic configuration.

[0030] As described above, the notifications determined by the AI ​​client service 102 represent events predicted to occur on the electronic device 100 based on the telemetry data input into the machine learning model 118. Events predicted to occur by the AI ​​client service 102 include, but are not limited to, inconsistencies between user preferences and / or actions and user expectations, inconsistencies between user preferences and / or actions and thresholds defined and / or expected by the user, poor deployment of application software and / or hardware, failure of the electronic device 100 and / or its components, upcoming use and / or activation of application software 108, intended use of application software 108, upcoming use and / or activation of internal hardware 110, intended use of internal hardware 110, upcoming use and / or activation of external hardware 112, intended use of external hardware 112, upcoming shutdown and / or deactivation of application software 108, upcoming power loss of internal hardware 110, upcoming power loss and / or disconnection of external hardware 112, and / or other predictions.

[0031] In some examples, the notification determined by the AI ​​client service 102 is about or otherwise related to one or more settings of the OS 106, such that the notification instructs the OS 102 to configure the setting(s) according to the notification. The notification about the setting(s) of the OS 106 may also direct the configuration of other subscription components of the OS 106 and / or other subscription components 108, 110, and 112 of the electronic device 100 according to the notification or according to the configuration of the setting(s) of the OS 106 in response to the notification.

[0032] In some examples, the notification determined by the AI ​​client service 102 may be about a specific application 108, so that the specific application 108 performs self-configuration according to the notification. The notification about the application 108 may also guide the configuration of one or more subscription components of the OS 106 and / or other subscription components 108, 110, and / or 112 of the electronic device 100 according to the configuration of the application 108. Alternatively, components of the OS 106 and / or other subscription components 108, 110, and / or 112 of the electronic device 100 may choose to take action on the notification (e.g., self-configuration) at their discretion.

[0033] In some examples, the notification determined by the AI ​​client service 102 may be about specific internal hardware 110, such that the notification indicates, transmits, or indicates a desired configuration corresponding to or based on the notification to the specific internal hardware 110 (and the subscription component of the OS 106 and / or other subscription components 108, 110, and / or 112). In addition, in some examples, the notification determined by the AI ​​client service 102 may be about specific external hardware 112, such that the notification directs the specific external hardware 112 (and the subscription component of the OS 106 and / or other subscription components 108, 110, and / or 112) to configure according to the notification.

[0034] As described above, in some examples, the machine learning models 118 include custom machine learning models 118. For example, the AI ​​client service 102 may receive telemetry data from the UTC 114 and / or other information associated with the user and / or electronic device 100 that is unknown to the cloud service 116. The AI ​​client service 102 may then use the received telemetry data and / or other information unknown to the cloud service 116 to augment one or more of the machine learning models 118 to generate one or more custom machine learning models 118 that are customized for the user and / or electronic device 100. The AI ​​client service 102 may thereby determine notifications that are customized for the user and / or electronic device 100. As described above, the UTC 114 may not send telemetry data and / or other information to the cloud service 116, such that the custom machine learning model 118 is generated without sharing proprietary and / or customized information with the cloud service. In some examples, in addition to or alternatively to generating a custom machine learning model 118 , the AI ​​client service 102 is configured to reject the determined notification based on telemetry data and / or other information received from the UTC 114 that is unknown to the cloud service 116 .

[0035] The AI ​​client service 102 is communicatively coupled to the AI ​​agent 104 to send the determined notification from the AI ​​client service 102 to the AI ​​agent 104. The AI ​​agent 104 publishes the determined notification received from the AI ​​client service 102 to the relevant components 106, 108, 110, and / or 112 of the electronic device 100. For example, the AI ​​agent 104 publishes the notification related to the OS 106 to the OS 106 and any subscribing components 108, 110, and 112. The AI ​​agent 104 publishes the notification related to the specific application software 108 to the specific application software 108 and any subscribing components 106, 108, 110, and / or 112. Similarly, the AI ​​agent 104 publishes the notification related to the specific hardware 110 or 112 to the specific hardware 110 or 112 and any subscribing components 106, 108, 110, and / or 112. Then, the components 106, 108, 110 and / or 112 of the electronic device 100 that have received the published notification are configured according to the published notification (e.g., according to the logic of the OS 106 and / or components 108, 110). Any determined notification rejected by the AI ​​client service 102 (as described above) will not be published by the AI ​​agent 104.

[0036] Figure 2 A flow chart of a method 200 for configuring an electronic device using artificial intelligence according to one embodiment is shown. The example method 200 is performed by an electronic device such as the electronic device 100, and includes receiving a machine learning model that matches device metadata from a cloud service at the electronic device at 202. At 204, the method 200 includes accessing telemetry data representing device usage data. At 206, the accessed telemetry data is input into the received machine learning model to determine a notification to be published to a component of the electronic device. At 208, the method includes publishing the determined notification to the component. The notification represents an event that is predicted to occur on the electronic device. At 210, the method 200 includes configuring the electronic device by the component based on the published notification.

[0037] Figure 3 A flow chart of a method 300 for configuring one or more settings of an operating system of an electronic device using artificial intelligence according to one embodiment is shown. The example method 300 is performed by an electronic device such as the electronic device 100, and includes receiving a machine learning model matched to device metadata from a cloud service at the electronic device at 302. In the example method 300, the machine learning model is matched to the device metadata related to the operating system of the electronic device. The method 300 optionally includes uploading telemetry data to the cloud service and updating the machine learning model at the cloud service based on the telemetry data of the electronic device and / or telemetry data from another electronic device at 302a.

[0038] At 304, method 300 includes accessing telemetry data representing device usage data. The telemetry data accessed at 304 may include data representing how a user has used the electronic device over time (i.e., may represent usage patterns over time). Additionally or alternatively, in some examples, accessing telemetry data at 304 includes accessing real-time telemetry data from the electronic device representing how the user is currently using the electronic device at 304.

[0039] In some examples, accessing telemetry data at 304 includes: accessing telemetry data and / or other information associated with the user and / or the electronic device that is unknown to the cloud service at 304b. Method 300 optionally includes, at 304c, augmenting at least one machine learning model using the telemetry data and / or other information unknown to the cloud service. For example, unknown to the cloud service, the electronic device may include additional hardware that uses battery power of the electronic device. Thus, method 300 may include augmenting the machine learning model at 304c such that a notification determined from the augmented machine learning model (e.g., at operation 312 described below) includes reducing power consumption of the electronic device.

[0040] At 306, the accessed telemetry data is input into the received machine learning model. At 308, the method 300 includes determining whether the event is predicted to occur on the electronic device. The event predicted at 308 is about the operating system of the electronic device, and may include, but is not limited to, the contradiction between the user's preferences and / or actions and the user's expectations (e.g., determined from telemetry data, etc.), the contradiction between the user's preferences and / or actions and the thresholds defined and / or expected by the user (e.g., determined from telemetry data, etc.), the poor deployment of application software and / or hardware, the failure of the electronic device 100 and / or its components, etc. For example, the user may try to manually configure the operating system of the electronic device using preferences (e.g., personalized preferences, preferences for specific applications to automatically start when the electronic device is started, etc.) that contradict the user's expectations or thresholds (e.g., the maximum startup time of the operating system or a specific application, the battery life of the electronic device, the processing load of the electronic device, etc.).

[0041] If it is determined at 308 that the event is predicted not to occur, the method 300 includes taking no further action at 310. If it is determined at 308 that the event is predicted to occur, the method 300 includes determining one or more notifications about one or more settings of the operating system related to the predicted event at 312. In some examples, determining the one or more notifications at 312 includes determining the notification(s) using the custom machine learning model that has been augmented at 304c.

[0042] Optionally, method 300 includes, at 318, automatically rejecting at least one determined notification based on the telemetry data accessed at 304b and / or other information unknown to the cloud service. For example, the notification determined at 312 may provide a power setting for a working device that reduces the battery life of the electronic device (e.g., a higher performance setting, etc.), while the telemetry data and / or other information accessed at 304b identifies the electronic device as a personal device of the user. Thus, method 300 may include, at 318, automatically rejecting a power setting for the notification determined at 312 based on the knowledge that the electronic device is a personal device and the power setting will drain the battery of the electronic device. In some examples, when the electronic device is a personal device, the personal setting may trump the enterprise setting.

[0043] At 314, method 300 includes publishing the determined notification to the operating system and any subscription components of the electronic device. Publishing is performed using any notification architecture of the electronic device. At operation 314, any notification that has been automatically rejected at 318 will not be published.

[0044] At 316, method 300 includes configuring setting(s) of an operating system (and any subscribing components) of the electronic device based on the published notification.

[0045] In the example of method 300, when a user selects personalized preferences on an electronic device, it is determined at 308 whether the selected preferences will reduce the battery life of the electronic device below the user's expectations. The user's expectations for the battery life of the electronic device can be learned from telemetry data, and in some examples, can be built into the corresponding (multiple) machine learning models (e.g., the (multiple) machine learning models used in operation 306). If it is predicted at operation 308 that the preferences will reduce the battery life of the electronic device below the user's expectations, one or more notifications indicating that the preference change should be rejected are determined and issued at operations 312 and 314, respectively. In some examples, the notification can be a prompt to the user to inform the user of the expected negative consequences, and a request to confirm the selected preferences.

[0046] In the example of method 300, when a user selects a specific application to automatically start when the electronic device is started, it is determined at 308 whether the selected application will increase the startup time of the electronic device by more than a threshold previously set by the user (and which may be built into the corresponding (multiple) machine learning models used in operation 306). If it is predicted at operation 308 that starting the specific application when the electronic device is started will increase the startup time by more than the threshold, one or more notifications are determined and published at operations 312 and 314, respectively, which convey this information or deny the request to automatically start the specific application at startup.

[0047] In the example of method 300, telemetry data from one or more other electronic devices indicating a poor deployment of a particular application is built into the machine learning model(s) used at operation 306. If it is predicted at operation 308 that the deployment of the particular application will fail, then one or more notifications are determined and published at operations 312 and 314, respectively, that convey this information or refuse to deploy the particular application.

[0048] In the example of method 300, telemetry data from one or more other electronic devices indicating remedial measures for the failure of the electronic device is built into the (multiple) machine learning models used at operation 306. If it is predicted at operation 308 that the remedial action will facilitate remediation of the failure of the electronic device, one or more notifications are determined and issued at operations 312 and 314, respectively, to deploy or recommend deployment of the remedial action. Thus, method 300 can achieve automatic remediation of the electronic device.

[0049] Figure 4 A flow chart of a method 400 for configuring applications and / or hardware of an electronic device using artificial intelligence according to one embodiment is shown. The example method 400 includes, at 402, receiving a machine learning model matched to device metadata from a cloud service at an electronic device. In the example method 400, the machine learning model is matched to device metadata related to application software, internal hardware, and / or external hardware of the electronic device. The method 400 optionally includes, at 402a, uploading telemetry data to a cloud service and updating the machine learning model at the cloud service based on the telemetry data of the electronic device and / or telemetry data from another electronic device.

[0050] At 404, method 400 includes accessing telemetry data representing device usage data. The telemetry data accessed at 404 may include data representing usage patterns of the electronic device over time. Additionally or alternatively, in some examples, accessing telemetry data at 404 includes accessing real-time telemetry data from the electronic device representing how a user is currently using the electronic device at 404.

[0051] In some examples, accessing telemetry data at 404 includes: accessing telemetry data and / or other information associated with the user and / or electronic device that is unknown to the cloud service at 404b. Method 400 optionally includes augmenting at least one machine learning model using the telemetry data and / or other information unknown to the cloud service at 404c.

[0052] At 406, the accessed telemetry data is input into the received machine learning model. At 408, method 400 includes determining whether an event is predicted to occur on the electronic device. The event predicted at 408 is about one or more applications and / or one or more hardware of the electronic device, and may include, but is not limited to, upcoming use and / or activation of an application, intended use of an application, upcoming use and / or activation of internal hardware, intended use of internal hardware, upcoming use and / or activation of external hardware, intended use of external hardware, upcoming closure and / or deactivation of application software, upcoming power loss of internal hardware, upcoming power loss and / or disconnection of external hardware, etc.

[0053] For example, method 400 may determine at 408 that a particular application and / or particular hardware is predicted to be used at an upcoming point in time based on previous use of the particular application and / or hardware by the user. Also, for example, method 400 may determine at 408 an intended use for the particular hardware based on previous use of the particular hardware by the user and / or based on previous use of the particular hardware on other electronic devices (e.g., the monitor will only be used to watch television).

[0054] If it is determined at 408 that the event is predicted not to occur, the method 400 includes, at 410, taking no further action. If it is determined at 408 that the event is predicted to occur, the method 400 includes, at 412, determining one or more notifications about applications and / or hardware related to the predicted event. In some examples, determining the one or more notifications at 412 may include determining the notification(s) using the custom machine learning model that has been augmented at 404c. Optionally, the method 400 includes, at 418, automatically rejecting at least one determined notification based on the telemetry data accessed at 404b and / or other information unknown to the cloud service.

[0055] At 414, method 400 includes publishing the determined notification to the application and / or hardware of the electronic device and any other subscribing components. Operation 414 does not include publishing any notification that has been declined at 418, so that such automatically declined notifications will remain unpublished.

[0056] At 416, method 400 includes configuring applications and / or hardware (and any other subscribing components) of the electronic device based on the published notification.

[0057] In the example of method 400, method 400 predicts at operation 408 that the user will make a video call at an upcoming time. Then, at operation 412, one or more notifications are determined to prepare the electronic device for the video call, and at 414, they are published to the video call application (e.g., ) and any subscribing components (e.g., video card, sound card, network card, advertising service application, etc.). For example, the notification(s) may direct the skype application to open and configure for video calling. In addition, the notification(s) may direct the video calling application and / or any subscribing components to download additional components to execute to facilitate the video calling.

[0058] In the example of method 400, method 400 predicts the intended use of the IoT device at operation 408. Then, at operation 412, determine to guide the configuration of one or more notifications of the IoT device using one or more applications related to the predicted use of the IoT device, and publish the notifications to the IoT device and any subscribing components at operation 414, so that at operation 416, the IoT device and any subscribing components are configured with (multiple) applications related to or associated with the predicted use. Optionally, the (multiple) notifications guide the configuration of the IoT device and any subscribing components at operation 416 with the minimum set of applications required to operate the IoT device according to the predicted use. In other words, the (multiple) notifications guide the configuration of the IoT device and any subscribing components at operation 416 with (multiple) applications necessary to operate the IoT device according to the predicted use, to meet the predicted use, to adapt to the predicted use, or otherwise achieve the predicted use (e.g., the IoT device can be configured with a minimum binary set in a binary-driven data set). The predicted usage of the IoT device can be learned from the user's telemetry data and / or telemetry data from one or more other electronic devices, and in some examples, can be built into corresponding (multiple) machine learning models (e.g., (multiple) machine learning models used at operation 406). The predicted usage of hardware can result in less expensive hardware (such as, but not limited to, IoT devices, etc.) customized for a user's specific usage.

[0059] Additional Examples

[0060] In one example scenario, the methods, systems, and electronic devices described herein can be used to augment a virtual personal assistant (e.g., For example, new skills can be added to a virtual personal assistant based on the user's history of walking into a room, downloading music, setting lights, ordering food, etc.

[0061] In another example scenario, the methods, systems, and electronic devices described herein can be used to adapt electronic devices for family use. For example, the configuration of an electronic device can be automatically changed based on a usage pattern indicating whether the user is an adult or a child.

[0062] Exemplary Operating Environment

[0063] The present disclosure can be used in conjunction with Figure 5 518. The electronic device (i.e., computing device) of the functional block diagram 500 in FIG. 518 operates together. In one embodiment, the components of the computing device 518 may be implemented as part of an electronic device according to one or more embodiments described in this specification. The computing device 518 includes one or more processors 519, which may be a microprocessor, a controller, or any other suitable type of processor for processing computer-executable instructions to control the operation of the electronic device. Platform software including an operating system 520 or any other suitable platform software may be provided on the device 518 to enable application software 521 to be executed on the device. According to one embodiment, the correlation of frames of a video stream using a system clock may be implemented using software.

[0064] Computer executable instructions can be provided using any computer readable medium accessible to computing device 518. Computer readable media can include, for example, computer storage media (such as memory 522) and communication media. Computer storage media such as memory 522 include volatile and non-volatile removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, etc. Computer storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic tape, magnetic tape, disk storage or other magnetic storage devices, or any other non-transmitting medium that can be used to store information for access by a computing device. In contrast, communication media can embody computer readable instructions, data structures, program modules, etc. in modulated data signals such as carrier waves or other transmission mechanisms. As defined herein, computer storage media do not include communication media. Therefore, computer storage media themselves should not be interpreted as propagation signals. Propagation signals themselves are not examples of computer storage media. Although computer storage media (memory 522) is shown as being within computing device 518, those skilled in the art will appreciate that the storage may be distributed or located remotely and accessed via a network or other communications link (eg, using communications interface 523).

[0065] The computing device 518 may include an input / output controller 524, which is configured to output information to one or more output devices 525, such as a display or a speaker, and the output device 525 may be separated from or integrated into the electronic device. The input / output controller 524 may also be configured to receive and process input from one or more input devices 526, such as a keyboard, a microphone, or a touch pad. In one embodiment, the output device 525 may also serve as an input device. An example of such a device may be a touch-sensitive display. The input / output controller 524 may also output data to a device other than the output device, such as a locally connected printing device. In some embodiments, a user 527 may provide input to the input device 526 and / or receive output from the output device 525.

[0066] The functions described herein may be performed at least in part by one or more hardware logic components. According to one embodiment, when the program code is executed by the processor 519, the computing device 518 is configured to perform the described operations and functions by the program code. Alternatively or additionally, the functions described herein may be performed at least in part by one or more hardware logic components. For example, and not limitation, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), specific program standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), and graphics processing units (GPUs).

[0067] Although some embodiments of the present embodiment may be described and shown as being implemented in a smart phone, mobile phone, or tablet computer, these are merely examples of devices and are not limiting. As will be appreciated by those skilled in the art, the present embodiment is applicable to a variety of different types of devices, such as portable and mobile devices, for example, in laptop computers, tablet computers, game consoles or game controllers, various wearable devices, etc.

[0068] At least part of the functionality of each element in the figure may be performed by other elements in the figure, or by an entity not shown in the figure (eg, a processor, web service, server, application, computing device, etc.).

[0069] Although described in connection with an exemplary computing system environment, examples of the disclosure are implementable with numerous other general purpose or special purpose computing system environments, configurations, or devices.

[0070] Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with aspects of the present disclosure include, but are not limited to, mobile computing devices, personal computers, server computers, handheld or laptop computers, multiprocessor systems, game consoles, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, mobile computing and / or communication devices in wearable or portable form factors (e.g., watches, glasses, headphones, or earphones), network PCs, minicomputers, mainframes, distributed computing environments including any of the above systems or devices, etc. Such systems or devices may accept input from a user in any manner, including from an input device such as a keyboard or pointing device, through gesture input, proximity input (such as by hovering), and / or voice input.

[0071] Examples of the present disclosure can be described in the general context of computer executable instructions (such as program modules), which are executed by one or more computers or other devices in software, firmware, hardware or a combination thereof. Computer executable instructions can be organized into one or more computer executable components or modules. Typically, program modules include but are not limited to routines, programs, objects, components and data structures that perform specific tasks or implement specific abstract data types. Aspects of the present disclosure can be implemented with such components or modules of any number and organization. For example, aspects of the present disclosure are not limited to specific computer executable instructions or specific components or modules shown in the figures and described herein. Other examples of the present disclosure may include different computer executable instructions or components with more or less functions than those shown and described herein.

[0072] In examples involving a general-purpose computer, aspects of the disclosure convert the general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.

[0073] The examples shown and described herein, as well as examples not specifically described herein but within the scope of aspects of the present disclosure, constitute exemplary means for configuring electronic devices using AI. For example, Figure 1 The elements shown in , such as when encoded, are executed Figure 2-4 The operations shown constitute exemplary means for configuring electronic devices using AI.

[0074] As an alternative or in addition to other examples described herein, examples include any combination of the following:

[0075] - An electronic device comprising:

[0076] at least one processor;

[0077] at least one memory storing telemetry data collected from the electronic device, the telemetry data representing at least device usage data, and the memory further storing one or more machine learning models matched to the device metadata;

[0078] an artificial intelligence (AI) client service that, in response to execution by the processor, receives one or more machine learning models from the cloud service and inputs telemetry data from the memory into the one or more machine learning models to determine notifications to be issued to components of the electronic device;

[0079] an AI client agent, responsive to execution by the processor, publishing the determined notification to the component, the notification representing an event predicted to occur on the electronic device; and

[0080] The electronic device is configured, by a component, based at least on the posted notification.

[0081] -Wherein the component comprises an operating system of the electronic device, and the AI ​​client service determines, in response to execution by the processor, a notification related to at least one setting of the operating system, and wherein configuring by the component comprises: configuring at least one setting of the operating system based at least on the published notification.

[0082] -Wherein the component comprises at least one of an application of the electronic device or hardware of the device, and the AI ​​client service determines a notification related to at least one of the application or the hardware in response to execution by the processor, and wherein configuration by the component comprises: configuring at least one of the application or the hardware based at least on the published notification.

[0083] -Wherein the AI ​​client service, in response to execution by the processor, augments at least one of the machine learning models with information unknown to the cloud service.

[0084] -Wherein the component includes hardware of an electronic device, and the AI ​​client service determines a notification related to the hardware in response to execution by the processor, the notification representing a predicted usage of the hardware based on telemetry data, and wherein configuration by the component includes: configuring the hardware using at least one application related to the predicted usage of the hardware.

[0085] -Where the component includes hardware of the electronic device, and the AI ​​client service determines a notification related to the hardware in response to execution by the processor, the notification representing a predicted usage of the hardware based on telemetry data, and wherein configuration by the component includes: configuring the hardware with a minimum set of applications required to operate the hardware according to the predicted usage.

[0086] -Also includes a universal telemetry client that uploads telemetry data from the memory to the cloud service in response to execution by the processor for updating the machine learning model at the cloud service based on at least one of the telemetry data of the electronic device or the telemetry data from another electronic device.

[0087] -Wherein the telemetry data input from the memory into the machine learning model by the AI ​​client service is real-time telemetry data from the electronic device.

[0088] - wherein the AI ​​client service, in response to execution by the processor, rejects at least one of the determined notifications based on information unknown to the cloud service.

[0089] - A computerized method comprising:

[0090] receiving, at the electronic device, from a cloud service, a machine learning model matched to the device metadata;

[0091] access to telemetry data representing at least device usage data;

[0092] inputting the accessed telemetry data into the received machine learning model to determine notifications to be issued to components of the electronic device;

[0093] publishing the determined notification to the component, the notification representing an event predicted to occur on the electronic device; and

[0094] Based at least on the issued notification, the electronic device is configured by the component.

[0095] -Wherein inputting the accessed telemetry data into the received machine learning model includes: determining a notification related to at least one setting of an operating system of the electronic device, and wherein configuration by the component includes: configuring at least one setting of the operating system based at least on the published notification.

[0096] -Wherein inputting the accessed telemetry data into the received machine learning model includes: determining a notification related to at least one of an application of the electronic device or hardware of the device, and wherein configuration by the component includes: configuring at least one of the application or hardware based at least on the published notification.

[0097] -Also includes augmenting at least one of the machine learning models with information unknown to the cloud service.

[0098] -Wherein inputting the accessed telemetry data into the received machine learning model includes: determining a notification related to hardware of the electronic device, the notification indicating a predicted usage of the hardware based on the telemetry data, and wherein configuration by the component includes: configuring the hardware using at least one application related to the predicted usage of the hardware.

[0099] -Wherein inputting the accessed telemetry data into the received machine learning model includes: determining a notification related to hardware of the electronic device, the notification representing a predicted usage of the hardware based on the telemetry data, and wherein configuration by the component includes: configuring the hardware using a minimum set of applications required to operate the hardware based on the predicted usage.

[0100] -Also includes uploading the telemetry data from the memory to a cloud service, and updating the machine learning model at the cloud service based on at least one of the telemetry data of the electronic device or the telemetry data from another electronic device.

[0101] - wherein accessing telemetry data representing device usage data comprises: accessing real-time telemetry data from the electronic device.

[0102] - one or more computer storage media having computer executable instructions for configuring a device to utilize artificial intelligence, the computer executable instructions in response to execution by a processor causing the processor to at least:

[0103] receiving a machine learning model matched to device metadata from a cloud service;

[0104] access to telemetry data representing at least device usage data;

[0105] inputting the accessed telemetry data into the received machine learning model to determine notifications to be issued to components of the electronic device;

[0106] publishing the determined notification to the component, the notification representing an event predicted to occur on the electronic device; and

[0107] Based on the issued notification, the electronic device is configured by the component.

[0108] -Wherein the processor inputs the accessed telemetry data into the received machine learning model to determine a notification related to at least one setting of an operating system of the electronic device, an application of the device, or at least one of the hardware of the device, and wherein the configuration by the component includes: configuring at least one setting of the operating system, application, or at least one of the hardware based at least on the published notification.

[0109] -Wherein the processor augments at least one of the machine learning models using information unknown to the cloud service.

[0110] -Wherein the processor inputs the accessed telemetry data into the received machine learning model to determine a notification related to at least one of an application of the electronic device or hardware of the electronic device, and wherein the component configuration includes: configuring at least one of the application or hardware based at least on the published notification.

[0111] -Wherein the processor inputs the accessed telemetry data into the received machine learning model to determine a notification related to hardware of the electronic device, the notification representing a predicted usage of the hardware based at least on the telemetry data, and wherein the configuration by the component includes: configuring the hardware using at least one application related to the predicted usage of the hardware.

[0112] -Wherein the processor inputs the accessed telemetry data into the received machine learning model to determine a notification related to hardware of the electronic device, the notification representing a predicted usage of the hardware based at least on the telemetry data, and wherein the configuration by the component includes: configuring the hardware using a minimum set of applications required to operate the hardware based on the predicted usage.

[0113] -Wherein the processor is further caused to upload the telemetry data to a cloud service for use in updating the machine learning model at the cloud service based on at least one of the telemetry data of the electronic device or the telemetry data from another electronic device.

[0114] -Wherein the processor accesses real-time telemetry data from the electronic device.

[0115] Although aspects of the present disclosure do not track personally identifiable information, examples have been described with reference to data monitored and / or collected from users. In some examples, users may be provided with notification of data collection (e.g., via a dialog box or preference setting) and given an opportunity to give or deny consent to monitoring and / or collection. Consent may take the form of opt-in consent or opt-out consent.

[0116] As will be apparent to one skilled in the art, any range or device value given herein may be expanded or altered without losing the effect sought.

[0117] Although the technical solution has been described in language specific to structural features and / or method actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the above-mentioned specific features or actions. Instead, the above-mentioned specific features and actions are disclosed as example forms of implementing the claims.

[0118] It will be understood that the benefits and advantages described above may relate to one embodiment or to several embodiments. The embodiments are not limited to embodiments that solve any or all of the above problems or embodiments that have any or all of the above benefits and advantages. It will also be understood that reference to "an" item refers to one or more of these items.

[0119] The term “comprising” as used in this specification means including the feature(s) or actions(s) that follow thereafter, but does not preclude the existence of one or more additional features or actions.

[0120] In some examples, the operations shown in the figures may be implemented as software instructions encoded on a computer-readable medium, implemented in hardware programmed or designed to perform the operations, or both. For example, aspects of the present disclosure may be implemented as a system on a chip or other circuit system including a plurality of interconnected conductive elements.

[0121] Unless otherwise noted, the execution order or execution of the operations in the examples of the present disclosure illustrated and described herein is not required. That is, unless otherwise noted, the operations may be performed in any order, and the examples of the present disclosure may include more or less operations than the operations disclosed herein. For example, it is expected that a specific operation is executed or performed before, at the same time, or after another operation within the scope of the various aspects of the present disclosure.

[0122] When introducing elements of aspects of the present disclosure or examples thereof, the articles "a," "an," "the," and "said" are intended to indicate that there are one or more elements. The terms "comprising," "including," and "having" are intended to be inclusive and indicate that there may be other elements in addition to the listed elements. The term "exemplary" is intended to mean "example." The phrase "one or more of A, B, and C" means "at least one of A and / or at least one of B and / or at least one of C."

[0123] Having described various aspects of the disclosure in detail, it will be apparent that modifications and variations may be made without departing from the scope of the various aspects of the disclosure as defined in the appended claims. As various changes may be made to the above constructions, products and methods without departing from the scope of the various aspects of the disclosure, it is intended that all matter contained in the above description and shown in the accompanying drawings be interpreted as illustrative and not in a limiting sense.

Claims

1. An electronic device, comprising: processor; as well as A computer storage medium storing computer executable instructions executable by the processor to cause the electronic device to at least: receiving a machine learning model from a cloud service, wherein the machine learning model is requested based on device metadata of the electronic device; receiving telemetry data from the electronic device, wherein the telemetry data represents usage data of the electronic device; inputting the telemetry data into the machine learning model to determine a notification to be issued to the electronic device; publishing the notification to the electronic device, wherein the notification indicates an event predicted to occur on the electronic device; as well as The electronic device is configured based on the notification. 2 . The electronic device according to claim 1 , wherein the electronic device comprises an operating system. 3 . The electronic device of claim 2 , wherein configuring the electronic device comprises configuring the operating system. The electronic device according to claim 1 , wherein the electronic device comprises an application and hardware. The electronic device according to claim 4 , wherein configuring the electronic device comprises configuring the application or the hardware. 6 . The electronic device of claim 4 , wherein the notification represents a predicted usage of the hardware based on the telemetry data, and wherein configuring comprises configuring the hardware with the application related to the predicted usage of the hardware.

7. The electronic device of claim 1, wherein the telemetry data comprises real-time telemetry data from the electronic device.

8. A method comprising: receiving a machine learning model from a cloud service, wherein the machine learning model is requested based on device metadata of the electronic device; receiving telemetry data from the electronic device, wherein the telemetry data represents usage data of the electronic device; inputting the telemetry data into the machine learning model to determine a notification to be issued to the electronic device; publishing the notification to the electronic device, wherein the notification indicates an event predicted to occur on the electronic device; as well as The electronic device is configured based on the notification.

9. The method of claim 8, wherein the electronic device includes an operating system.

10. The method of claim 9, wherein configuring the electronic device comprises configuring the operating system. The method according to claim 8 , wherein the electronic device comprises an application and hardware. The method of claim 11 , wherein configuring the electronic device comprises configuring the hardware or the application.

13. The method of claim 11, wherein the notification represents a predicted usage of the hardware based on the telemetry data, and wherein configuring comprises configuring the hardware with the application related to the predicted usage of the hardware.

14. The method of claim 8, wherein the telemetry data comprises real-time telemetry data from the electronic device.

15. A computer storage medium storing computer executable instructions executable by a processor to cause an electronic device to at least: receiving a machine learning model from a cloud service, wherein the machine learning model is requested based on device metadata of the electronic device; receiving telemetry data from the electronic device, wherein the telemetry data represents usage data of the electronic device; inputting the telemetry data into the machine learning model to determine a notification to be issued to the electronic device; publishing the notification to the electronic device, wherein the notification indicates an event predicted to occur on the electronic device; as well as The electronic device is configured based on the notification.

16. The computer storage medium of claim 15, wherein the electronic device comprises an operating system.

17. The computer storage medium of claim 16, wherein configuring the electronic device comprises configuring the operating system.

18. The computer storage medium of claim 15, wherein the electronic device comprises an application and hardware.

19. The computer storage medium of claim 18, wherein configuring the electronic device comprises configuring the hardware or the application.

20. The computer storage medium of claim 19, wherein the notification represents a predicted usage of the hardware based on the telemetry data, and wherein configuring comprises configuring the hardware with the application related to the predicted usage of the hardware.