InvisiTasking technology, which can be found in all of Diskeeper Corporation's publicly available products, is much more than a simple method hoping to take advantage of a computer's idle time and/or adjust I/O priority; it's an advanced processing technology. Due to it's truly unique and innovative design, InvisiTasking has been awarded multiple patents. There is nothing out there like it.
We have a dedicated website for software manufacturers interested in licensing InvisiTasking technology for use in their respective software solutions. I've borrowed the technology description (italicized copy below) we have posted on that site for any interested to know more about its underlying objective.
The technology's name is a portmanteau of the words "invisible" and "multitasking". After reading the description below the reason that multitasking is part of the name should make a great deal more sense.
Since the beginnings of shared computers in the 1960s, computer operating systems have scheduled jobs to run in a round robin fashion, allocated the entire resources of the computer system to each job, one at a time. The fact that the scheduler switched jobs every few milliseconds made it appear that all the jobs were running at the same time, in parallel, when in fact, they were running serially, one at a time. Diagrammatically, it looked like this:
Round Robin Scheduling
Our Micro Job Scheduler (i.e. InvisiTasking) is a fundamental and dramatic improvement on how jobs are scheduled. A modern computer consists of four components: CPU, memory, disk and network. While round robin scheduling allocates all four of these components to each job, resource-based scheduling allocates each component separately. Suppose, in these diagrams, the blue job requires a lot of CPU time, but very little memory or disk; the red job requires a lot of disk activity, but very little CPU or memory; and the green job requires a lot of memory, but very little CPU or disk. These three jobs can run simultaneously without impacting the performance of either of the other two jobs, and that is exactly what the Micro Job Scheduler does. Diagrammatically, it looks like this:
Micro Job Scheduling
What’s more, the Micro Job Scheduler analyzes each job and separates it into micro jobs based on the resources required by each part. It then optimally schedules the micro jobs so more work gets done in less time. This results in a dramatic performance increase for all jobs.