Application-Specific Interference Prohibition Configuration

The system process in electronic devices manages application-specific notifications by storing interrupt control mode identifiers, addressing user distraction and privacy issues through personalized notification settings.

JP2025520160AActive Publication Date: 2025-07-01APPLE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024571010
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-04-24
Filing Date
2023-05-30
Publication Date
2025-07-01
Estimated Expiration
2043-05-30

AI Technical Summary

Technical Problem

Existing electronic devices lack efficient mechanisms to manage application-specific notifications in interrupt control modes, leading to user distraction and privacy concerns.

Method used

A system process stores interrupt control mode identifiers for user-selected configuration options, providing them to applications to manage notifications based on user preferences, such as hiding certain notifications or silencing alerts in specific modes.

Benefits of technology

Enables personalized notification management, reducing distractions and enhancing privacy by allowing granular control over application-specific interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025520160000001_ABST
    Figure 2025520160000001_ABST
Patent Text Reader

Abstract

The present disclosure provides a system and method for an application-specific interference prohibition configuration for an electronic device. For example, a system process can store a set of interrupt control mode identifiers for user-selected configuration options associated with an application. When the device operates in an interrupt control mode such as an interference prohibition mode, the system process can provide the set of interrupt control mode identifiers to the application to facilitate the operation of the application according to the user-selected configuration options.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This application claims the benefit of priority of U.S. Provisional Patent Application No. 63 / 349,028, filed on June 3, 2022, entitled "Application - Specific Do Not Disturb Configuration", the disclosure of which is hereby incorporated by reference in its entirety. 〔Technical Field〕

[0002] This description generally relates to receiving and processing data associated with a mobile device, where the data can include, for example, data for an application - specific do not disturb configuration for an electronic device.

Background Art

[0003] An electronic device can include a do not disturb option. When the do not disturb option is activated on the electronic device, one or more notifications on the electronic device can be silenced.

[0004] Certain features of the technology of this application are set forth in the appended claims. However, for purposes of explanation, some embodiments of the technology of this application are shown in the following figures.

Brief Description of the Drawings

[0005]

Figure 1

[0006]

Figure 2

[0007]

Figure 3

[0008]

Figure 4

[0009]

Figure 5

[0010]

Figure 6

Embodiments for Carrying Out the Invention

[0011] The detailed description below is intended as an explanation of various configurations of the technology of this application and is not intended to represent the only configuration in which the technology of this application can be implemented. The accompanying drawings are incorporated into this specification and form part of the detailed description. The detailed description includes specific details to provide a complete understanding of the technology of the subject matter. However, the technology of this application is not limited to the specific details shown in this specification and can be implemented using one or more other implementations. In one or more implementations, the structures and components are shown in block diagram form to avoid obscuring the concepts of the technology of this application.

[0012] Electronic devices such as personal computers (e.g., desktop computers and laptop computers), portable electronic devices (e.g., tablet computers and smartphones), and wearable devices (e.g., smartwatches, etc.) often include applications that receive and process data that can be generated locally or from another electronic device or server via a network. In one example, the electronic device can include a messaging application that receives and processes electronic messages (e.g., including text, images, video content, audio content, or other objects). A user of the electronic device can send a message to a remote electronic device of a contact, and the remote electronic device receives a notification when the message is received. In another example, the application can automatically send a notification based on information such as location, date, time, the user's heart rate, another user's social media post, or other triggers. Such notifications may sometimes be desired by the user but can also be distracting. Thus, the electronic device can operate in one or more interrupt control modes that can give the user a grace period from a particular type of notification from one or more applications. When in the interrupt control mode, an interrupt (e.g., an event or notification) from an application can be muted based on the received filter indicator (e.g., filterCriteria and predicate) associated with each interrupt of the application.

[0013] According to one or more implementations of the subject technology, a system process can store a set of interrupt control mode identifiers for configuration options of user selections associated with an application. When a device operates in an interrupt control mode such as a do-not-disturb mode, the system process can provide the set of interrupt control mode identifiers to the application to facilitate the operation of the application according to the configuration options of the user selection. The set of interrupt control mode identifiers can be used by the application to configure the user interface of the application provided for display to the user. For example, certain aspects of the user interface can be hidden in certain interrupt control modes, such as an email application that hides the display of personal emails while in work mode. The disclosed subject matter can enable a privacy and simplified architecture for providing application-specific configurations for one or more interrupt control modes, and the configurations can be adjusted according to subsets of applications (e.g., work email vs. personal email notifications).

[0014] FIG. 1 shows an example 100 of a network environment including various devices according to one or more implementations. However, not all of the depicted components need to be used in all implementations, and one or more implementations may include additional or different components than those shown in the figure. Without departing from the spirit or scope of the claims set forth herein, variations in the configuration and type of components can be made. Additional components, different components, or fewer components may be provided.

[0015] The network environment 100 includes an electronic device 102, an electronic device 104, an electronic device 108, a network 106, or one or more servers 120 communicatively coupled to the network 106. The network 106 can include a portion of a public network such as the Internet. The network 106 can include local area network (LAN) components such as a Wi-Fi router or an Ethernet connection that is local to each of the electronic device 102 or the electronic device 104 that couples the corresponding electronic device to a wider Internet. The LAN that connects the electronic device 102, the electronic device 104, or the electronic device 108 to the Internet can include one or more different network devices or network media, or can utilize one or more different wireless or wired network technologies such as Ethernet, optical, Wi-Fi, Bluetooth, Zigbee, power line over Ethernet, coaxial, Z-Wave, any wireless or wired network technology generally capable of communicatively coupling an electronic device to the Internet. A portion of the network 106 includes a cellular communication network that includes one or more base transceivers at fixed locations within each of several geographic “cells,” where the base transceivers communicate wirelessly with end devices such as the electronic device 102, the electronic device 104, or the electronic device 108 and communicate via wired or satellite communication with various switching networks for voice calls and text messages, mobile data, and public telephones.

[0016] Electronic device 102, electronic device 104, or electronic device 108 can send or receive messages such as text messages, multimedia messages, social media messages, or other network data directly or via network 106 to each other or to other electronic devices. Electronic device 102, electronic device 104, or electronic device 108 may process the received or generated messages and may determine whether to provide a notification (e.g., a visual or audio notification). Electronic device 102, electronic device 104, or electronic device 108 may also receive messages or other network data from or via one or more servers such as server 120. In one or more implementations, the network data exchanged between electronic device 102, electronic device 104, or electronic device 108 may include links or other references to other data available via network 106, such as from one or more servers 120.

[0017] One or more of electronic device 102, electronic device 104, or electronic device 108 may be, for example, a portable computing device such as a laptop computer, a smartphone, a smart speaker, a peripheral device (e.g., a digital camera or headphones), a digital media player, a tablet device, a wearable device (e.g., a smartwatch or band), or any other suitable device that may include or be communicatively coupled to one or more wired or wireless interfaces such as a Wi-Fi communication circuit, a cellular communication circuit, a Bluetooth communication circuit, a Zigbee communication circuit, a near field communication (NFC) communication circuit, or other wired or wireless communication circuits, and may be provided with software or hardware for sending or receiving network data such as electronic messages.

[0018] As an example, in FIG. 1, each of electronic device 102, electronic device 104, or electronic device 108 is shown as a smartphone. In one or more implementations, one or more electronic devices (e.g., electronic device 102, electronic device 104, or electronic device 108) can be or include a smart TV, a laptop, or a mobile device (e.g., a smartphone or a smartwatch). In one or more implementations, one or more of the electronic devices can be integrated into their corresponding display devices. One or more of the electronic devices may be an electronic system described below with reference to FIG. 6, or may include all or part of them.

[0019] Electronic device 102, electronic device 104, or electronic device 108 may include a processor, memory, communication interface, or other electronic components. The processor can include suitable logic, circuitry, and / or code that enables it to process data and / or control the operation of the device. In this regard, the processor may be enabled to supply control signals to various other components of the device. The processor may also control data transfer between various parts of the device. Additionally, the processor can enable the implementation of an operating system (e.g., system processor 202) or execute code in another way to manage the operation of the device. The memory may include suitable logic, circuitry, or code that enables the storage of various types of information such as received data, generated data, code, or configured information. The memory may include, for example, random access memory (RAM), read-only memory (ROM), flash, or magnetic storage devices. In one or more implementations, one or more of the processor, memory, communication interface, or one or more of their parts may be implemented in software (e.g., subroutines and code), hardware (e.g., Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Programmable Logic Device (PLD), controller, state machine, gate logic, discrete hardware components, or any other suitable device), or a combination of both.

[0020] One or more of the servers 120 may be, or may include all or part of, an electronic system described below with reference to FIG. 6. Each of the servers 120 may include one or more servers such as a server cloud 130. For purposes of illustration, two servers are shown and described with respect to various operations for providing network data to the electronic device 102, the electronic device 104, or the electronic device 108, or between them. However, these operations and other operations described herein may be performed by one or more servers, and each different operation may be performed by the same server or different servers.

[0021] For purposes of illustration, the network environment 100 is shown in FIG. 1 as including the electronic device 102, the electronic device 104, or the electronic device 108, and the server 120. However, the network environment 100 can include any number of electronic devices and any number of servers.

[0022] FIG. 2 is a diagram showing various aspects of an electronic device according to an aspect of the present disclosure. In the example of FIG. 2, the electronic device 102 includes an application 201 (e.g., stored in the device's memory and executable by one or more processors of the device) or a system process 202. The application 201 can receive network data (e.g., from another electronic device such as the electronic device 104 via the network 106, or from the system process 202). For example, the network data may include a message from the electronic device 104 or server data (e.g., a push notification, web content of a web page, social media content, or other server data provided to the server 120 by a contact of the electronic device 102 obtained by the electronic device 102). The network data may include content such as text, images, emojis, videos, audio, etc. (e.g., message content).

[0023] As disclosed in more detail herein, system process 202 may be communicatively connected to application 201 via, for example, inter-process communication and / or one or more application programming interface (API) calls. System process 202 may receive information (e.g., configuration information) from application 201 and may also send information to application 201. In one or more implementations, it is contemplated that system process 202 may not have a semantic understanding of the information received from or sent to application 201 (e.g., application configuration may be opaque to the operating system that may assist with privacy). Additionally, the application may not explicitly recognize that the device is in interrupt control mode (e.g., the operating system configuration may be opaque to the application).

[0024] Figure 3 shows an exemplary image of the configured user interface 300. The configured user interface 300 may include a plurality of configuration options within a template (also referred to herein as a fillable form). The plurality of configuration options may include application (''app'') option 301, app option 302, or app option 303 that may be selected by a user. The configuration options may facilitate an interrupt control mode for the electronic device 102. In one example, when a configuration option is selected, the system process may store information related to one or more configuration options for the interrupt control mode (e.g., Do Not Disturb (DND)) and be responsive to a predetermined trigger. Exemplary application configuration options may include hiding one or more aspects of the user interface of an application (e.g., hiding a chat window in work mode), controlling notifications within an application, controlling data surfaced by an application (e.g., work email versus personal email), and the like. The disclosed subject matter enables, among other things, per-application feature granularity for an interrupt control mode in one or more applications such as, for example, an email application (e.g., a subset of emails, i.e., work versus personal based), a calendar application (e.g., a subset of the calendar, i.e., work versus personal), a messaging application, or a social media application.

[0025] FIG. 4 is a flowchart of an exemplary process related to application-specific interference prohibition according to one or more implementations. For purposes of explanation, process 400 will be described primarily with reference to electronic device 102 of FIG. 1 herein. However, process 400 is not limited to the electronic device 102 of FIG. 1, and one or more blocks (or operations) of process 400 may be performed by one or more other components or other suitable devices. Further, for purposes of explanation, the blocks of process 400 are described herein as occurring sequentially or linearly. However, multiple blocks of process 400 may occur in parallel. Additionally, the blocks of process 400 need not be executed in the order shown, or one or more blocks of process 400 may not be executed, or may be replaced by other operations.

[0026] In block 402, system process 202 in the electronic device 102 of the first user (e.g., an electronic device registered to or signed in to the account of the first user) may store information associated with a first configuration option (e.g., app option 301) among a plurality of configuration options associated with the interrupt control mode. Before storing the first configuration option, configuration user interface 300 may be presented on the display of the electronic device 102. Configuration user interface 300 may be based on a template. In one or more implementations, the template may be received from application 201 by system process 202. The template can be designed to correspond to a specific operation (e.g., notification) of application 201.

[0027] Storing information associated with the first configuration option may include storing a set of interrupt control mode identifiers for the user-selected configuration options of the application (e.g., the identifier may be an alphanumeric sequence not semantically understood by system process 202) without receiving or storing the user-selected configuration options of the application (e.g., text that clearly explains the options to the user). In one example, the first configuration option may be a user-selected configuration option associated with application 201. The first configuration option may be associated with delaying or permitting notification of the functions of application 201 when a threshold period is reached, when a threshold location is reached, or when other triggers occur.

[0028] In block 404, an indication of a trigger event for the interrupt control mode may be received by system process 202 or application 201. The trigger event may be based, inter alia, on a period, a location, or the use of a second application on electronic device 104. Exemplary uses of the second application may include a video conferencing application, an exercise application, or a voice call. It is also contemplated herein that the user may be able to set the interrupt control mode. Exemplary interrupt control modes may be defined as a work mode, a fitness mode, a sleep mode, or a scheduled meeting mode.

[0029] In block 406, information associated with a first configuration option may be sent to application 201. The information associated with the first configuration option may be provided without notifying the application of the interrupt control mode. The information may be sent in response to the trigger event of block 404. When the information is received by application 201, application 201 can execute an operation based on the first configuration option, which can indicate that application 201 silences interrupts (e.g., mutes audio or visual notifications, or prevents events from being further processed by system process 202 for a threshold period or geographical area). As disclosed, the information associated with the first configuration option may include an interrupt control mode identifier that can be utilized by application 201 to identify the first configuration option associated with one or more of a plurality of configuration options for the interrupt control mode. It is contemplated herein that the interrupt control mode identifier may include a default identifier that facilitates restoring the interrupt control mode to a previous configuration. The default identifier may be received from application 201.

[0030] FIG. 5 is a flowchart of an exemplary process related to application-specific interference prohibition according to one or more implementations. For purposes of explanation, process 500 will be mainly described herein with reference to the electronic device 102 of FIG. 1. However, process 500 is not limited to the electronic device 102 of FIG. 1, and one or more blocks (or operations) of process 500 may be performed by one or more other components or other suitable devices. Further, for purposes of explanation, the blocks of process 500 are described herein as occurring sequentially or linearly. However, multiple blocks of process 500 may occur in parallel. Additionally, the blocks of process 500 need not be executed in the order shown, and / or one or more blocks of process 500 may not be executed and / or may be replaced by other operations.

[0031] In block 502, application 201 can send a template (also referred to herein as a fillable form) associated with application 201 to system process 202. The template may include multiple configuration options for the application and may be displayed using configuration user interface 300. The template may include one or more default identifiers associated with an interrupt control mode, and the default identifiers may restore application 201 to a previous configuration (e.g., a default configuration). System process 202 can store the template until it is triggered to display or send. Although a template is referred to herein, an application programming interface (API) call or other implementation form may be used.

[0032] In block 504, application 201 can receive information indicating a selected configuration option (e.g., a first configuration option) among multiple configuration options from system process 202 while electronic device 102 is operating in interrupt control mode. As disclosed herein, there may be interrupt control mode identifiers associated with multiple configuration options for the interrupt control mode.

[0033] In block 506, application 201 can operate according to the information received in block 504 (e.g., the first configuration option). Based on the information, application 201 can send or execute an instruction to disable a feature associated with application 201, an instruction to update the configuration of application 201 to the user-selected configuration option associated with the information, or an instruction to filter data associated with application 201.

[0034] System process 202 can receive information from application 201 before displaying the configuration user interface 300, whereby the system process 202 can be made not to need to callback to application 201 to obtain information for facilitating the rendering of the configuration user interface 300. Alternatively, in one or more implementations, as the configuration user interface 300 is rendered, there may be an operation where the system process 202 sends requests to application 201.

[0035] As described herein, aspects of the subject technology can include regulating interrupts associated with electronic device 102, such as permitting or denying the use (e.g., display) of certain data. The present disclosure contemplates that, in some cases, this data can include status data, location-based data, calendar data, text messages, emails, voice data, audio data, video data, images, or other data. The system process (e.g., operating system) of the electronic device can optionally populate default values into a configuration user interface associated with the interrupt control mode or receive values from the user. Operations associated with the disclosed subject matter may be performed on one device or distributed across multiple devices.

[0036] As described above, one aspect of the disclosed technology is to collect and use data available from specific and legitimate sources, for example, for application-specific anti-interference configurations. The present disclosure contemplates that in some cases, the collected data may include personal information data that can be used to uniquely identify or identify a specific person. Such personal information data can include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, images, videos, audio data, data or records related to the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other personal information.

[0037] The present disclosure recognizes that the use of such personal information data in the present technology can be a use that benefits the user. For example, personal information data can be used for application-specific anti-interference configurations. Thus, the use of such personal information data can facilitate transactions (e.g., online transactions). Further, other uses related to personal information data that benefit the user are also contemplated by the present disclosure. For example, in accordance with the user's preferences, health and fitness data can be used to provide insights into general wellness or as positive feedback to individuals using technologies for pursuing wellness goals.

[0038] In this disclosure, it is contemplated that entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data comply with well-established privacy policies or privacy practices. Specifically, such entities are expected to implement and consistently apply privacy practices that generally meet or exceed industry or government requirements for maintaining user privacy. Such information regarding the use of personal data should be prominently and readily accessible to the user and should be updated as the data collection or use changes. Personal information from users should be collected only for legitimate uses. Further, such collection / sharing should be done after receiving user consent or based on other legitimate grounds specified in applicable laws. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and to ensure that others with access rights to the personal information data faithfully adhere to their privacy policies and procedures. Additionally, such entities can subject themselves to evaluation by third parties to demonstrate their compliance with widely accepted privacy policies and practices. In addition, the policies and practices should be tailored to the specific types of personal information data collected or accessed and should comply with applicable laws and standards, including jurisdiction-specific considerations that may impose higher standards. For example, in the United States, the collection or access to certain health data may be subject to federal or state laws such as the Health Insurance Portability and Accountability Act (HIPAA). On the other hand, health data in other countries may be subject to other regulations and policies and should be addressed accordingly.

[0039] The present disclosure also contemplates implementations that enable a user to selectively block the use of or access to specific data (e.g., personal information data) to implement an application-specific anti-interference configuration disclosed. The present disclosure contemplates that hardware elements or software elements may be provided to prevent or block access to such personal information data. For example, the technology can be configured to enable a user to select sub-options such as "opt-in" or "opt-out" of participating in the collection of personal information data for an interrupt control mode for a specific application or all applications. In addition to providing "opt-in" and "opt-out" options, the present disclosure intends to provide notifications regarding access to or use of personal information. For example, a user may be notified that the user's personal information data is being accessed when selecting an option associated with a configuration user interface, and may be reminded after a while.

[0040] Furthermore, it is an aspect of the present disclosure that information associated with a user should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. The risk can be minimized by restricting data collection and deleting data when it is no longer needed. Additionally, and when applicable, data anonymization can be used to protect a user's privacy. Anonymization can be facilitated, when appropriate, by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across users), or other methods such as differential privacy.

[0041] Accordingly, the present disclosure broadly encompasses using information (which may include personal information data) to implement one or more various exemplary implementations. However, the present disclosure also contemplates that the various exemplary implementations can also be implemented without the need to access such personal information data. The various exemplary implementations of the present technology are not rendered impossible by the absence of all or a portion of such personal information data.

[0042] FIG. 6 shows an electronic system 600 that can implement one or more implementations of the subject technology. The electronic system 600 can be or can be part of one or more of the electronic devices shown in FIG. 1 (e.g., electronic device 102, electronic device 104, or electronic device 108) or the server 120. The electronic system 600 may include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 600 includes a bus 608, one or more processing units (singular or plural) 612, a system memory 604 (and / or buffer), a ROM 610, a permanent storage device 602, an input device interface 614, an output device interface 606, and one or more network interfaces 616, or subsets and variations thereof.

[0043] The bus 608 collectively represents all system, peripheral, and chipset buses that communicatively connect numerous internal devices of the electronic system 600. In one or more implementations, the bus 608 communicatively connects one or more processing units (singular or plural) 612 to the ROM 610, the system memory 604, and the permanent storage device 602. From these various memory units, the one or more processing units (singular or plural) 612 retrieve instructions to execute and data to process in order to execute the processes of the present disclosure. The one or more processing units (singular or plural) 612 can be a single processor or a multi-core processor in different implementations.

[0044] The ROM 610 stores static data and instructions required by one or more processing units 612 and other modules of the electronic system 600. On the other hand, the permanent storage device 602 may be a read and write memory device. The permanent storage device 602 may be a non-volatile memory unit that stores instructions and data even when the electronic system 600 is off. In one or more implementations, a mass storage device (such as a magnetic disk or optical disk, and its corresponding disk drive, etc.) may be used as the permanent storage device 602.

[0045] In one or more implementations, a removable storage device (such as a floppy disk, flash drive, and its corresponding disk drive, etc.) may be used as the permanent storage device 602. Similar to the permanent storage device 602, the system memory 604 may be a read and write memory device. However, unlike the permanent storage device 602, the system memory 604 may be a volatile read and write memory such as random access memory. The system memory 604 can store either instructions and data that one or more processing units 612 may require during execution. In one or more implementations, the process of the subject disclosure is stored in the system memory 604, the permanent storage device 602, or the ROM 610. From these various memory units, one or more processing units 612 retrieve the instructions to be executed and the data to be processed in order to execute the process of one or more implementations.

[0046] Bus 608 is also connected to input and output device interfaces 614 and 606. Through input device interface 614, a user can convey information to and select commands for electronic system 600. Input devices that can be used with input device interface 614 can include, for example, an alphanumeric keyboard and a pointing device (also referred to as a "cursor control device"). Through output device interface 606, for example, it can enable the display of images generated by electronic system 600. Output devices that can be used with output device interface 606 can include, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flexible display, a flat panel display, a solid state display, a projector, or any other device for outputting information, such as printers and display devices. One or more implementations can include a device that functions as both an input and output device, such as a touch screen. In these implementations, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and the input from the user can be received in any form, including acoustic input, voice input, or tactile input.

[0047] As shown in FIG. 6, bus 608 also couples electronic system 600, via one or more network interface(s) 616, to one or more networks, or to one or more network nodes such as server 120 shown in FIG. 1. In this way, electronic system 600 can be part of a network in a computer network (such as a local area network (LAN), a wide area network ("WAN"), etc.), or an intranet, or a plurality of networks such as the Internet. Any or all of the components of electronic system 600 can be used in conjunction with the disclosure of this application.

[0048] According to an aspect of the present disclosure, a method is provided. The method includes storing information associated with a first configuration option among a plurality of configuration options for an interrupt control mode, receiving an indication of a trigger event for the interrupt control mode, and transmitting, in response to the indication of the trigger event, the information associated with the first configuration option to an application. The method further includes displaying a user interface based at least on a template associated with the application, and the template associated with the application may include a plurality of configuration options for the interrupt control mode. The method may include receiving a template from the application.

[0049] According to an aspect of the present disclosure, a non-transitory machine-readable medium storing instructions is provided. When the instructions are executed by one or more processors, the instructions cause the one or more processors to perform operations including storing information associated with a first configuration option among a plurality of configuration options for an interrupt control mode, receiving an indication of a trigger event for the interrupt control mode, and transmitting, in response to the indication of the trigger event, the information associated with the first configuration option to an application. The operations further include displaying a user interface based at least on a template associated with the application, and the template associated with the application may include a plurality of configuration options for the interrupt control mode. The operations may include receiving a template from the application.

[0050] According to an aspect of the present disclosure, a method is provided. The method includes: the application process sending, to the system process, a template associated with the application, the template including a plurality of configuration options for the application; the application process receiving, from the system process, information indicating a selected configuration option among the plurality of configuration options, where the receiving occurs while the device is operating in interrupt control mode; and the application process operating according to the selected configuration option in response to receiving the information. The method may include the application process sending a default identifier associated with the interrupt control mode to the system process, then receiving the default identifier from the system process, and restoring a previous configuration associated with the application in response to receiving the default identifier.

[0051] According to an aspect of the present disclosure, a non-transitory machine-readable medium storing instructions is provided. When executed by one or more processors, the instructions cause the one or more processors to perform operations including: the application process sending, to the system process, a template associated with the application, the template including a plurality of configuration options for the application; the application process receiving, from the system process, information indicating a selected configuration option among the plurality of configuration options, where the receiving occurs while the device is operating in interrupt control mode; and the application process operating according to the selected configuration option in response to receiving the information. The operations may include the application process sending a default identifier associated with the interrupt control mode to the system process, then receiving the default identifier from the system process, and restoring a previous configuration associated with the application in response to receiving the default identifier.

[0052] Implementations within the scope of the present disclosure can be realized, in whole or in part, using a tangible computer-readable storage medium (or one or more types of multiple tangible computer-readable storage media) that encodes one or more instructions. The tangible computer-readable storage medium may also be substantially non-transitory.

[0053] The computer-readable storage medium can be any storage medium that can be read, written to, or otherwise accessed by a general-purpose or special-purpose computing device, including any processing electronic device or processing circuit capable of executing instructions. For example, without limitation, the computer-readable medium can include any volatile semiconductor memory such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. The computer-readable medium can also include any non-volatile semiconductor memory such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and millipede memory.

[0054] Furthermore, the computer-readable storage medium can include any non-semiconductor memory such as optical disk storage devices, magnetic disk storage devices, magnetic tapes, other magnetic storage devices, or other media capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium can be directly coupled to the computing device, and in other implementations, the tangible computer-readable storage medium can be indirectly coupled to the computing device via, for example, one or more wired connections, one or more wireless connections, or any combination thereof.

[0055] The commands can be made directly executable or can be used to develop executable commands. For example, the commands can be realized as executable or non-executable machine code, or as commands in a high-level language that can be compiled to generate executable or non-executable machine code. Further, the commands can also be realized as data or can contain data. Computer-executable commands can also be structured in any format including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As will be recognized by those skilled in the art, details including the number, structure, order, and structure of the commands can be varied significantly without changing the basic logic, functions, processing, and output.

[0056] The above discussion has mainly referred to a microprocessor or a multi-core processor that executes software, but one or more implementation forms are executed by one or more integrated circuits such as an ASIC or FPGA(s). In one or more implementation forms, such integrated circuits execute the commands stored in the circuit itself.

[0057] Those skilled in the art will understand that the various exemplary blocks, modules, elements, components, methods, and algorithms described herein can be realized as electronic hardware, computer software, or a combination of both. Above, to show this interchangeability of hardware and software, the various exemplary blocks, modules, elements, components, methods, and algorithms have been generally described in terms of their functionality. Whether such functionality is realized as hardware or software depends on the design constraints imposed on the overall system and the individual applications. Those skilled in the art will be able to execute the described functionality in various ways for each individual application. The various components and blocks may be arranged differently (e.g., arranged in a different order or divided differently) without departing from the scope of the technology of the present application at all.

[0058] Any particular order or hierarchy of blocks in the disclosed process should be understood to be an example of an exemplary approach. Based on design preferences, it is understood that the particular order or hierarchy of blocks within the process may be rearranged, or that all of the blocks illustrated may be executed. Any of the blocks may be executed simultaneously. In one or more implementations, multitasking and parallel processing may be advantageous. Further, the separation of various system components in the above-described implementations should not be understood to be required in all implementations. It should be understood that the described program components and systems may be integrated into a single software product or packaged into multiple software products.

[0059] As used in the specification and claims of this application, the terms "base station", "receiver", "computer", "server", "processor", and "memory" all refer to electronic or other technical devices. These terms exclude a person or group of people. For the purposes of this specification, the term "display" or "displaying" means displaying on an electronic device.

[0060] As used herein, the phrase “at least one” preceding a series of items modifies the list as a whole, rather than each element of the list (i.e., each item), along with the term “and” or “or” that separates any of the items. The phrase “at least one” does not require at least one selection of each listed item; rather, the phrase allows for the meaning of including at least one of any one of the items, or at least one of any combination of the items, or at least one of each of the items. By way of example, the phrases “at least one of A, B, and C” or “at least one of A, B, or C” each refer to only A, only B, or only C, any combination of A, B, and C, or at least one of each of A, B, and C.

[0061] The predicates “configured to,” “operable to,” and “programmed to” do not mean a particular tangible or intangible modification of an object; rather, they are intended to be used interchangeably. In one or more implementations, a processor configured to monitor and control an operation or component may also mean that the processor is programmed to monitor and control the operation or that the processor is operable to monitor and control the operation. Similarly, a processor configured to execute code can be interpreted as a processor programmed to execute the code or operable to execute the code.

[0062] Phrases such as "one aspect", "that aspect", "another aspect", "some aspects", "one or more aspects", "one implementation", "that implementation", "another implementation", "some implementations", "one or more implementations", "one embodiment", "that embodiment", "another embodiment", "some embodiments", "one or more embodiments", "one configuration", "that configuration", "another configuration", "some configurations", "one or more configurations", "the technology of the present application", "the disclosure", "this disclosure", "other variations thereof", and similar phrases are for convenience only and do not imply that the disclosure regarding such phrases (singular or plural) is essential to the technology of the present application or that such disclosure applies to all configurations of the technology of the present application. The disclosure regarding such phrases (singular or plural) can apply to all configurations or one or more configurations. The disclosure regarding such phrases (singular or plural) can provide one or more examples. Phrases such as "aspect" or "some aspects" can refer to one or more aspects, and vice versa, and this applies similarly to the other aforementioned phrases.

[0063] The word "exemplary" is used in this specification to mean "serving as an example, instance, or illustration". Any embodiment described herein as "exemplary" or "an example" should not necessarily be construed as being preferred or advantageous over other implementations. Further, to the extent that terms such as "include", "have", etc. are used in the specification or claims, such terms are intended to be inclusive in the same manner as the term "comprise" as construed when "comprise" is used as a transitional term in the claims.

[0064] All structural and functional equivalents to the elements of the various aspects described throughout this disclosure, whether known now or later to become known to those skilled in the art, are hereby expressly incorporated by reference and intended to be encompassed within the claims. Further, nothing disclosed herein is dedicated to the public, whether or not such disclosure is explicitly recited in the claims. No element of any of the claims is to be construed under the provisions of 35 U.S.C. § 112, paragraph (f), unless the element is expressly recited using the phrase "means for" or, in the case of a method claim, the element is not recited using the phrase "step for".

[0065] The foregoing description is provided to enable one skilled in the art to make and use the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects as well. Therefore, the claims are not intended to be limited to the aspects shown herein, but rather should be accorded the full scope consistent with the language of the claims, and references to singular elements are not intended to mean "one and only one" unless specifically stated otherwise, but rather "one or more". Unless otherwise noted, the term "some" refers to one or more. Pronouns in the masculine form (e.g., he) include the feminine and neuter genders (e.g., she and it), and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the disclosure of the application.

Claims

1. A device comprising: a processor; and a memory coupled to the processor, the memory storing executable instructions that, when executed by the processor, cause the device to store information associated with a first configuration option of a plurality of configuration options for an interrupt control mode; receive an indication of a trigger event for the interrupt control mode; and in response to the indication of the trigger event, transmit the information associated with the first configuration option to an application.

2. The device of claim 1, wherein the operations further include displaying a user interface based at least on a template associated with the application, the template associated with the application including the plurality of configuration options for the interrupt control mode.

3. The device of claim 2, wherein the operations further include capturing a selection of the first configuration option of the plurality of configuration options for the interrupt control mode by the displayed user interface.

4. The device of claim 2, wherein the operations further include receiving the template from the application.

5. The operations further include receiving an indication to mute a notification associated with the application in response to transmitting the information associated with the first configuration option to the application.

6. The device of claim 1, wherein the information includes an interrupt control mode identifier used to identify the first configuration option associated with one or more of the plurality of configuration options for the interrupt control mode.

7. The operations further include receiving a default identifier that is a default identifier associated with the interrupt control mode associated with the application, the interrupt control mode identifier including the default identifier; and receiving an indication of deactivation of the interrupt control mode associated with the application. The device according to claim 6, further comprising: sending the default identifier to the application to restore the previous configuration according to the indication of the inactivation.

8. A method comprising: storing, by a device, information associated with a first configuration option among a plurality of configuration options for an interrupt control mode; receiving an indication of a trigger event for the interrupt control mode; sending, according to the indication of the trigger event, the information associated with the first configuration option to an application. A method comprising the above.

9. The method according to claim 8, further comprising displaying a user interface based at least on a template associated with the application, wherein the template associated with the application includes the plurality of configuration options for the interrupt control mode.

10. The method according to claim 9, further comprising capturing a selection of the first configuration option among the plurality of configuration options for the interrupt control mode by the displayed user interface.

11. The method according to claim 9, further comprising receiving the template from the application.

13. The method according to claim 8, further comprising receiving an indication for muting a notification associated with the application in response to sending the information associated with the first configuration option to the application.

14. The method according to claim 8, wherein the information includes an interrupt control mode identifier associated with one or more of the plurality of configuration options for the interrupt control mode.

15. receiving a default identifier that is a default identifier associated with the interrupt control mode associated with the application, wherein the interrupt control mode identifier includes the default identifier; receiving an indication of inactivation of the interrupt control mode associated with the application. The method according to claim 13, further comprising sending the default identifier to the application to restore a previous configuration according to the indication of the deactivation. **Claim 15** A computer-readable storage medium storing computer-executable instructions that, when executed by a device, cause the device to send, by an application process, to a system process, a template associated with the application, the template including a plurality of configuration options for the application; receive, by the application process from the system process, information indicating a selected configuration option among the plurality of configuration options, the receiving being while the device is operating in an interrupt control mode; execute, in response to receiving the information, an operation including operating according to the selected configuration option by the application process. **Claim 16** The operation further includes sending a default identifier associated with the interrupt control mode to the system process; subsequently receiving the default identifier from the system process; and restoring a previous configuration associated with the application in response to receiving the default identifier. The computer-readable storage medium according to claim 15. **Claim 17** The information includes an interrupt control mode identifier associated with the plurality of configuration options for the interrupt control mode. The computer-readable storage medium according to claim 15. **Claim 18** Operating according to the selected configuration option further includes deactivating a feature associated with the application. The computer-readable storage medium according to claim 15. **Claim 19** Operating according to the selected configuration option further includes updating a configuration of the application to a user-selected configuration option associated with the information. The computer-readable storage medium according to claim 15. **Claim 20** The computer-readable storage medium of claim 15, wherein operating according to the selected configuration option further comprises filtering data associated with the application.

Citation Information

Patent Citations

  • Image forming apparatus, setting value input receiving method, and program

    JP2019160226A

  • Changing modes in a device

    US20090165145A1

  • Method and Mobile Device for Automatic Activation of Applications

    US20110230209A1