...that while attempting to develop a super strong glue, 3M employee Spencer Silver accidentally developed a glue that was so weak it would barely hold two pieces of paper together? However, his colleague Art Fry needed the glue. Fry sang with his church choir and marked the pages of his hymnal with small scraps of paper that often fell out. He used Silver's glue to hold the papers in place. Today we call this invention Post-it Notes.
Make the Most of Our Site
See this month's Top Inventors and Most Cited Patents.
Stay on top of the latest innovations by subscribing to an RSS feed.
Registered users: Manage your profile.
| Number | Title | Issue Date |
| 8117616 | Preventing deadlocks A deadlock prevention mode indicator is provided, wherein the deadlock prevention mode indicator is a lock that can be held in a shared mode or in an exclusive mode by one or more of a plurality of threads, and wherein the plurality of threads can cause deadlocks wh... | 02/14/2012 |
| 8117617 | Energy-aware print job management A printing system and method for processing print jobs in a network of printers are disclosed. The printers each have high and low operational states. A job ticket is associated with each print job. The job ticket designates one of the network printers as a target p... | 02/14/2012 |
| 8112753 | Delaying initiation of virtual machine support process by random delay value generated based on unique ID associated with the virtual machine An embodiment relates generally to a method of managing resources in a virtual environment. The method includes detecting an instantiation of a virtual machine and determining a delay value based on a unique identifier. The method also includes delaying an initiatio... | 02/07/2012 |
| 8112752 | Method for performing a software process, controller and lithographic apparatus A method for performing a software process, such as a real time software process, is disclosed, the process having a plurality of tasks, the method including starting a task of the plurality of tasks of the process, monitoring a progress of the started task, compari... | 02/07/2012 |
| 8112754 | Controlling body-bias voltage and clock frequency in a multiprocessor system for processing tasks In case of a task scheduling processing that assigns plural divided execution program tasks to plural processor units, a multiprocessor system using SOI/MOS transistors employs two processes; one process is to determine an order to execute those tasks so as to reduc... | 02/07/2012 |
| 8108861 | Information management apparatus and method, recording medium, as well as program for scheduling a recording of an event An information management apparatus presents an unexpected event to all users. This apparatus displays time ranges of scheduled events from the start time to the end time along a time axis based on an operation performed to schedule the start time and end tim... | 01/31/2012 |
| 8108867 | Preserving hardware thread cache affinity via procrastination A method, device, system, and computer readable medium are disclosed. In one embodiment the method includes managing one or more threads attempting to steal task work from one or more other threads. The method will block a thread from stealing a mailed task that is ... | 01/31/2012 |
| 8108864 | Method and system for dynamically tracking arbitrary task dependencies on computers in a grid environment A method, system and computer program product for tracking arbitrary task dependencies on computers in a grid environment including the steps of downloading a task to a computer coupled to the grid and identifying the dependencies necessary to perform the task and d... | 01/31/2012 |
| 8108865 | Process replication method and system A process replication method for use in a multi-threaded computing environment, for improving application performance, reducing the number of deadlocks and fork safing code. The method comprises acquiring and locking available mutexes from a plurality of mutexes, de... | 01/31/2012 |
| 8108866 | Heuristic based affinity dispatching for shared processor partition dispatching A mechanism is provided for determining whether to use cache affinity as a criterion for software thread dispatching in a shared processor logical partitioning data processing system. The server firmware may store data about when and/or how often logical processors ... | 01/31/2012 |
| 8108863 | Load balancing for multi-threaded applications via asymmetric power throttling A first execution time of a first thread executing on a first processing unit of a multiprocessor is determined. A second execution time of a second thread executing on a second processing unit of the multiprocessor is determined, the first and second threads execut... | 01/31/2012 |
| 8108862 | Out-of-order thread scheduling based on processor idle time thresholds The invention relates to a device to be used with a thread scheduling method, and to a thread scheduling method comprising the steps of performing a scheduling for threads to be executed by a multithreaded (MT) processor (11), characterized in that the schedu... | 01/31/2012 |
| 8104037 | Terminal and method for performing device management scheduled based on threshold Commands for device management to be executed within a terminal and threshold-based conditions for executing such commands included within a scheduling context are provided to the terminal ahead of time. Therefore, the terminal can perform the commands for device ma... | 01/24/2012 |
| 8091087 | Scheduling of new job within a start time range based on calculated current load and predicted load value of the new job on media resources Method for scheduling a new backup job within a backup application to optimize a utilization of a media resource of said backup application. The backup application includes one or more previously scheduled backup jobs. The backup application calculates a current loa... | 01/03/2012 |
| 8087021 | Automated activity processing A virtual data storage system includes a device emulator and a storage system. The virtual data storage system requires the performance of activities on a scheduled basis. An activity scheduler manages a set of pending, running, and completed activities. The activit... | 12/27/2011 |
| 8087023 | Topology aware grid services scheduler architecture The invention provides a system/method of processing client requests over a computer network of hosts, that includes creating persistent containers in the hosts, creating objects in the containers, grouping the containers into grid container arrays, grouping objects... | 12/27/2011 |
| 8087022 | Prevention of deadlock in a distributed computing environment A system for preventing deadlock in a distributed computing system includes a memory and at least one processor coupled to the memory. The processor is operative: to receive as input a sorted set of containers defining a unique global sequence of containers for serv... | 12/27/2011 |
| 8074222 | Job management device, cluster system, and computer-readable medium storing job management program In a job management device: a request reception unit stores job-input information in a storage device on receipt of a job-execution request; and an execution instruction unit sends to one or more job-assigned calculation nodes a job-execution instruction together wi... | 12/06/2011 |
| 8069444 | Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors In a computer system with a multi-core processor having a shared cache memory level, an operating system scheduler adjusts the CPU latency of a thread running on one of the cores to be equal to the fair CPU latency which that thread would experience when the cache m... | 11/29/2011 |
| 8065680 | Data gateway for jobs management based on a persistent job table and a server table Method and apparatus for updating user data from multiple data sources in a data gateway are disclosed. The data gateway includes a persistent job table for centrally storing jobs to be processed by the plurality of servers, a server table for centrally storing stat... | 11/22/2011 |
| 8065681 | Generic shared memory barrier A method, information processing node, and a computer program storage product are provided for performing synchronization operations between participants of a program. Each participant includes at least one of a set of processes and a set of threads. Each participan... | 11/22/2011 |
| 8060881 | Small barrier with local spinning A barrier with local spinning. The barrier is described as a barrier object having a bit vector embedded as a pointer. If the vector bit is zero, the object functions as a counter; if the vector bit is one, the object operates as a pointer to a stack. The object inc... | 11/15/2011 |
| 8060882 | Processing tasks with failure recovery A method and apparatus is provided for processing tasks with failure recovery. The method includes storing one or more tasks in a queue, wherein each task has an associated exit routine, and determining at least one task to process based on a priority scheme. The me... | 11/15/2011 |
| 8060879 | Predictive log synchronization A method for coordinating shared access to data objects comprises applying modification operations to a data object from a first thread of a plurality of threads on behalf of all the other threads during a session in which the first thread owns a lock on the data ob... | 11/15/2011 |
| 8060880 | System using backward inter-procedural analysis for determining alternative coarser grained lock when finer grained locks exceeding threshold Locks which protect data structures used within atomic sections of concurrent programs are inferred from atomic sections and acquired in a manner to avoid deadlock. Locks may be inferred by expression correspondence using a backward inter-procedural analysis of an a... | 11/15/2011 |
| 8056079 | Adding tasks to queued or running dynamic jobs The present invention provides a method and system wherein additional tasks can be added to a dynamic job after the job has been submitted to a scheduler. The added task can then be given the same priority as the tasks of the previously submitted dynamic job it is b... | 11/08/2011 |
| 8056080 | Multi-core/thread work-group computation scheduler Execution units process commands from one or more command queues. Once a command is available on the queue, each unit participating in the execution of the command atomically decrements the command's work groups remaining counter by the work group reservation size a... | 11/08/2011 |
| 8051418 | Techniques for providing improved affinity scheduling in a multiprocessor computer system Techniques for controlling a thread on a computerized system having multiple processors involve accessing state information of a blocked thread, and maintaining the state information of the blocked thread at current values when the state information indicates that l... | 11/01/2011 |
| 8051419 | Method of dynamically adjusting number of task request A method of dynamically adjusting the number of task requests is provided, which is applicable to an Internet Small Computer System Interface (iSCSI) protocol. When a target receives a task request transmitted by an initiator or the target completes the task request... | 11/01/2011 |
| 8046762 | Image processor An image processor keeps itself capable of executing a communication process with an external apparatus even in an energy-saving state, and offers a job reservation function while reducing power consumption as much as possible. The image processor has an energizatio... | 10/25/2011 |
| 8046761 | Scalable multi-threaded media processing architecture A method and apparatus are provided for processing multiple streams of data on a plurality of execution threads. Data is selected from a plurality of data sources. An address in the data storage device is allocated for the selected data which is loaded into the allo... | 10/25/2011 |
| 8046760 | Lock contention pinpointing One embodiment disclosed relates to a method of finding lock contention in an application with concurrent threads. Status data is retrieved by periodically sampling status of said threads. The periodically-sampled status data is accumulated, and the lock contention ... | 10/25/2011 |
| 8042112 | Scheduler for search engine crawler A search engine crawler includes a distributed set of schedulers that are associated with one or more segments of document identifiers (e.g., URLs) corresponding to documents on a network (e.g., WWW). Each scheduler handles the scheduling of document identifiers (fo... | 10/18/2011 |
| 8037474 | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution Cell processor task management in a cell processor having a main memory, one or more power processor units (PPU) and one or more synergistic processing units (SPU), each SPU having a processor and a local memory is described. An SPU task manager (STM) running on one... | 10/11/2011 |
| 8032886 | Tracking asynchronous execution of program using hierarchical structure of objects The invention builds a structure of software objects that captures the historically contingent development of an asynchronous program. The invention builds software objects that represent the resources and subtasks that make up the asynchronous program. The objects ... | 10/04/2011 |
| 8032888 | Method and system for scheduling a thread in a multiprocessor system A method for scheduling a thread on a plurality of processors that includes obtaining a first state of a first processor in the plurality of processors and a second state of a second processor in the plurality of processors, wherein the thread is last executed on th... | 10/04/2011 |
| 8032887 | Method and apparatus for allowing restarted programs to use old process identification A data processing system allows processes to be checkpointed and restarted. The system saves the old process and thread identifications in a process table. When an application makes a system call passing the old process and/or thread identifications as parameters, t... | 10/04/2011 |
| 8028285 | Heterogeneous job dashboard This disclosure provides a system and method for summarizing jobs for a user group. In one embodiment, a job manager is operable to identify a state of a first job, the first job associated with a first job scheduler. A state of a second job is identified. The secon... | 09/27/2011 |
| 8028286 | Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors A thread scheduler identifies a thread operable to be scheduled by a scheduling policy for execution on the chip multiprocessor. The thread scheduler estimates, for the thread, a performance value that is based on runtime statistics of the thread for a shared resour... | 09/27/2011 |
| 8024735 | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution A system and method for determine which threads to execute at a given time in a multi-threaded computer system. A thread prioritizer determines execution fairness between pairs of potentially executing threads. A switch enabler determines forward progress of each ex... | 09/20/2011 |