Patent ID: 8683037

Claim:
A machine implemented method comprising: monitoring network activity at a device's network interface, the network activity being monitored by a daemon process to determine idle time at the device's network interface, wherein the network interface includes a plurality of physical network interfaces; executing a first software component as a foreground process; registering a second software component with the daemon process including specifying at least one of the physical network interfaces, the second software component to be called back by the daemon process based on a level of network activity at the specified physical network interface, the daemon process being configured, after the registering, to monitor each of the plurality of physical network interfaces to determine idle time and to notify the second software component in response to a level of idle time of network activity at the device's network interface; notifying the second software component, in response to the level of idle time associated with the specified physical network interface, to cause the second software component to perform a background task using the specified physical network interface of the device's network interface, wherein notifying the second software component includes notifying the second software component when the specified physical network interface is idle.