G06F9/4825

Timer management for network devices
11038807 · 2021-06-15 · ·

Timer management techniques are described. An example processing device includes a memory configured to store successive wheels available to be included in traversal paths for timers running on the device, each wheel representing a queue of timers, each wheel having a different, corresponding time delay (TO) value for queuing a timer, and processing circuitry in communication with the memory. The processing circuitry is configured to determine, in response to a request for a timer, a total traversal time for the timer, to select, from the stored wheels, a subset of wheels such that a sum of the respective TO values of the selected subset is within a predetermined margin of error with respect to the total traversal time for the timer, and to sequence the selected subset of wheels based on the respective TO values of the selected subset of wheels to form a traversal path for the timer.

IoT device jobs

The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, device twins for corresponding IoT devices are stored, wherein the device twins include metadata that is associated with the corresponding IoT devices. A schedule job instruction may be received, and at least one candidate IoT device among the IoT devices that is associated with the schedule job instruction may be identified. In some examples, executors associated with the at least one candidate IoT device are created, and jobs are executed via the executors such that the executors are capable of resuming execution after at least one of an outage or a failure.

Computer apparatus, task initiation method, and computer readable medium

A computer apparatus (100) includes an OS execution unit (120), an OS-dependent interrupt processing unit (110), and an OS-independent interrupt processing unit (130). When an OS-independent interrupt (201) due to a state of a device (200) occurs, the OS-independent interrupt processing unit (130) determines whether or not to initiate a task (145). When the task (145) is to be initiated, the OS-independent interrupt processing unit (130) turns on the flag (141) and causes the OS execution unit (120) to generate an OS-dependent interrupt (202). When the OS-dependent interrupt (202) is generated, the OS-dependent interrupt processing unit (110) determines whether or not the flag (141) is on, and when the flag (141) is on, initiates the task (145) and turns off the flag (141).

Interactions with contextual and task-based computing environments

Concepts and technologies are described herein for interacting with contextual and task-focused computing environments. Tasks associated with applications are described by task data. Tasks and/or batches of tasks relevant to activities occurring at a client are identified, and a UI for presenting the tasks is generated. The UIs can include tasks and workflows corresponding to batches of tasks. Workflows can be executed, interrupted, and resumed on demand. Interrupted workflows are stored with data indicating progress, contextual information, UI information, and other information. The workflow is stored and/or shared. When execution of the workflow is resumed, the same or a different UI can be provided, based upon the device used to resume execution of the workflow. Thus, multiple devices and users can access workflows in parallel to provide collaborative task execution.

Initiating background updates based on user activity

In some implementations, a mobile device can be configured to monitor environmental, system and user events. The occurrence of one or more events can trigger adjustments to system settings. In some implementations, the mobile device can be configured to keep frequently invoked applications up to date based on a forecast of predicted invocations by the user. In some implementations, the mobile device can receive push notifications associated with applications that indicate that new content is available for the applications to download. The mobile device can launch the applications associated with the push notifications in the background and download the new content. In some implementations, before running an application or accessing a network interface, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device to preserve a high quality user experience.

I2C COMMUNICATION
20210064567 · 2021-03-04 ·

The present disclosure relates to a communication method by I2C bus between a emitting device and a receiving device, in which: a rising edge of a clock signal of the I2C bus, directly following a start condition of an I2C communication, is recorded; and when an interruption is generated within the receiving device, the receiving device verifies whether the rising edge was recorded.

Dynamic timer adjustment to improve performance and inhibit livelock conditions

An embodiment of a semiconductor package apparatus may include technology to determine respective priority levels for one or more boot time events, determine an amount of execution time for the one or more boot time events, and automatically adjust a timer based on the amount of execution time and the priority levels for the one or more boot time events. Other embodiments are disclosed and claimed.

DISTRIBUTED TIMER TASK EXECUTION MANAGEMENT
20210055960 · 2021-02-25 ·

Distributed timer task execution management is disclosed. A cluster member generates a first timer task that can be executed on any cluster member of a plurality of cluster members including the first cluster member that composes a cluster. A first timer task schedule that identifies at least one future point in time at which the first timer task is to be executed is generated. A second cluster member of the plurality of cluster members is selected as a cluster member owner for the first timer task that is to schedule the first timer task and to execute the first timer task at the at least one future point in time. The first timer task and the first timer task schedule are transferred to the second cluster member.

MEMORY SYSTEM
20210081235 · 2021-03-18 · ·

According to one embodiment, a memory system includes a non-volatile memory and a memory controller. The memory controller acquires each of one or more first commands for execution from a plurality of queues storing the one or more first commands at timing based on first information. The one or more first commands include a second command from a host. The second command is a command requiring an access to the non-volatile memory for being executed. The first information serves to define, for each of the queues, a periodic temporal section in which execution of a first command is permissible.

Identifying a delay associated with an input/output interrupt

In one example implementation according to an embodiment described herein, a computer-implemented method includes detecting input/output (I/O) interrupts for executing I/O operations occurring over a period of time. The method further includes calculating an I/O interrupt delay time (IIDT) for each I/O interrupt occurring during the period of time. The method further includes binning the IIDT for each I/O interrupt occurring during the period of time into one of a plurality of bins based on a value of the IIDT, each of the plurality of bins storing a count of IIDT values within a defined range. The method further includes determining a highest IIDT value. The method further includes identifying a performance degradation based at least on one of the count of IIDT values of each of the plurality of bins or the highest IIDT value. The method further includes implementing a corrective action to mitigate the performance degradation.