Context Switching Patents (Class 718/108)
  • Publication number: 20140075450
    Abstract: Multi-threaded processing with reduced context switching is disclosed. Context switches may be avoided through the use of pre-emption notification, a pre-emption wait time attribute and a no-context-save yield.
    Type: Application
    Filed: November 13, 2013
    Publication date: March 13, 2014
    Applicant: Sony Computer Entertainment Inc.
    Inventor: John P. Bates
  • Patent number: 8665747
    Abstract: A method and apparatus is disclosed for preventing loops on a network topology which includes virtual switches and virtual machines. For example, a virtualization management application may prevent loops from being introduced into a network topology where a virtual machine forwards traffic between any two (or more) virtual network interface cards (vNICs). A method to prevent loops may include receiving a request to create a virtual network interface (vNIC) for a virtual machine (VM) instance on a computing system, and in response to determining that the requested vNIC is to be connected to the same network segment as an existing vNIC of the VM instance, failing the request to generate the requested vNIC.
    Type: Grant
    Filed: December 3, 2009
    Date of Patent: March 4, 2014
    Assignee: Cisco Technology, Inc.
    Inventors: Christian Elsen, Maurizio Portolani
  • Patent number: 8661445
    Abstract: When executing plural application programs in parallel, a control unit assigns a small storage area to each application program so that a part of a function implemented by execution of each application program is provided. When providing a service of high value to a user, a control unit assigns a large storage area to any one of the application programs so that a full function that is implemented by execution of the application program is provided.
    Type: Grant
    Filed: September 8, 2009
    Date of Patent: February 25, 2014
    Assignee: NTT DoCoMo, Inc.
    Inventors: Keiichi Murakami, Dai Kamiya, Yasushi Onda, Izua Kano, Kazuhiro Yamada, Naoki Hashida
  • Patent number: 8656408
    Abstract: Guiding OS thread scheduling in multi-core and/or multi-threaded microprocessors by: determining, for each thread among the active threads, the power consumed by each instruction type associated with an instruction executed by the thread during the last context switch interval; determining for each thread among the active threads, the power consumption expected for each instruction type associated with an instruction scheduled by said thread during the next context switch interval; generating at least one combination of N threads among the active threads (M), and for each generated combination determining if the combination of N threads satisfies a main condition related to the power consumption per instruction type expected for each thread of the thread combination during the next context switch interval and to the thread power consumption per instruction type determined for each thread of the thread combination during the last context switch interval; and selecting a combination of N threads.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporations
    Inventors: Hisham E. Elshishiny, Ahmed T. Sayed Gamal El Din
  • Patent number: 8650577
    Abstract: A mobile terminal and controlling method thereof are disclosed, by which a scheduling function of giving a processing order to each of a plurality of tasks is supported. The present invention includes a memory including an operating system having a scheduler configured to perform a second scheduling function on a plurality of tasks, each having a processing order first-scheduled in accordance with a first reference and a processor performing an operation related to the operating system, the processor processing a plurality of the tasks. Moreover, if a first task among a plurality of the first-scheduled tasks meets a second reference, the scheduler performs the second scheduling function by changing the processing orders to enable the first task to be preferentially processed.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: February 11, 2014
    Assignee: LG Electronics Inc.
    Inventor: Sookyoung Kim
  • Patent number: 8645612
    Abstract: According to one embodiment, an information processing device includes an OS and a virtual machine switching section. The OS accesses a hardware resource including a nonvolatile semiconductor memory and a semiconductor memory used as a cache memory of the nonvolatile semiconductor memory. The virtual machine switching section switches a virtual machine in exection from a first virtual machine to a second virtual machine while a cache process is executed, when cache miss in a process executed by the first virtual machine is detected.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: February 4, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Atsushi Kunimatsu, Goh Uemura, Tsutomu Owa
  • Patent number: 8640142
    Abstract: A wake-and-go mechanism is provided for a data processing system. When a thread first starts executing, a wake-and-go mechanism automatically allocates space for thread state in a hardware private array and space for a target address and other information, if any, in a wake-and-go array. If the hardware private array comprises a reserved portion of system memory, then the wake-and-go mechanism may request a sufficient portion of memory to store thread state for the thread. When a thread is waiting for an event, rather than performing a series of get-and-compare sequences, the thread updates a wake-and-go array with a target address associated with the event. The thread then goes to sleep until the event occurs. When a thread ends execution and is no longer in the run queue of the processor, the wake-and-go mechanism de-allocates the space for the thread state information for that thread.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: January 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Satya P. Sharma, Randal C. Swanberg
  • Patent number: 8640141
    Abstract: A wake-and-go mechanism is provided for a data processing system. When a thread is waiting for an event, rather than performing a series of get-and-compare sequences, the thread updates a wake-and-go array with a target address associated with the event. The wake-and-go mechanism may save the state of the thread in a hardware private array. The hardware private array may comprise a plurality of memory cells embodied within the processor or pervasive logic associated with the bus, for example. Alternatively, the hardware private array may be embodied within logic associated with the wake-and-go storage array.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: January 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Satya P. Sharma, Randal C. Swanberg
  • Patent number: 8635627
    Abstract: A method, medium and apparatus for storing and restoring a register context for a fast context switching between tasks is disclosed. The method, medium and apparatus may improve overall operating speed of a system by increasing the speed of context switching. The method may include adding an update code for updating information of live registers to a task file that includes a code of a task to perform a specified function, converting the task file having the update code added thereto into a run file, updating the information of the live registers with the update code during running of the task using the run file, and storing a live register context according to the updated information of the registers.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: January 21, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jung-keun Park, Keun-soo Yim, Woon-gee Kim, Jeong-joon Yoo, Kyoung-ho Kang, Chae-seok Im, Jae-don Lee
  • Patent number: 8635615
    Abstract: In one embodiment, an apparatus for managing hypercalls in a hypervisor having an interrupt handler and a schedule is described. A deferrable low-overhead hypercall (DLH) module is configured to assign a separate DLH queue to each of a plurality of virtual machines when the virtual machine is initialized. Each entry in the separate DLH queue represents a hypercall routine. When one of the virtual machines notifies the interrupt handler of at least a deferrable hypercalls to be executed, the scheduler selects at least a virtual CPU (VCPU) and assigns them to the virtual machine to run on at least a physical CPU (PCPU). The DLH module executes the at least a deferrable hypercall inserted in a DLH queue assigned to the virtual machine before restoring the VCPU context to the virtual machine having the at least an assigned VCPU.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: January 21, 2014
    Assignee: Industrial Technology Research Institute
    Inventors: Jui-Hao Chiang, Ying-Shiuan Pan, Han-Lin Li, Po-Jui Tsao
  • Publication number: 20140019991
    Abstract: A microcontroller device has a central processing unit (CPU); a data memory coupled with the CPU divided into a plurality of memory banks, a plurality of special function registers and general purpose registers which may be memory-mapped, wherein at least the following special function registers are memory-mapped to all memory banks a status register, a bank select register, a plurality of indirect memory address registers, a working register, and a program counter high latch; and wherein upon occurrence of a context switch, the CPU is operable to automatically save the content of the status register, the bank select register, the plurality of indirect memory address registers, the working register, and the program counter high latch, and upon return from the context switch restores the content of the status register, the bank select register, the plurality of indirect memory address registers, the working register, and the program counter high latch.
    Type: Application
    Filed: September 16, 2013
    Publication date: January 16, 2014
    Inventors: Joseph Julicher, Zacharias Marthinus Smit, Sean Steedman, Vivien Delport, Jerrold S. Zdenek, Ryan Scott Ellison, Eric Schroeder
  • Publication number: 20140019990
    Abstract: An integrated circuit device comprising an instruction processing module for performing operations on data in accordance with received instructions. The instruction processing module comprises a context selector unit arranged to selectively provide access to at least one process attribute(s) within a plurality of process contexts in accordance with at least one context selector value received thereby. The instruction processing module is arranged to receive an instruction comprising a context indication for a process attribute with which an operation is to be performed, provide the context selector value based at least partly on the context indication to the context selector unit, and execute the operation to be performed with the process attribute for at least one process context to which the context selector unit provides access in accordance with the context selector value.
    Type: Application
    Filed: March 30, 2011
    Publication date: January 16, 2014
    Applicant: Freescale Semiconductor, Inc.
    Inventors: Doron Schupper, Itzhak Barak, Uri Dayan, Noam Eshel-Goldman, Lev Vaskevich
  • Publication number: 20140013333
    Abstract: Extended features such as registers and functions within processors are made available to operating systems (OS) using an extended-state driver and by modifying instruction set extensions, such as XSAVE. A map-table designates a correspondence between memory locations for storing data relating to extended features not supported by the OS and called by an application. As a result, applications may utilize processor resources which are unsupported by the OS.
    Type: Application
    Filed: December 28, 2011
    Publication date: January 9, 2014
    Inventors: Michael Mishaeli, James B. Crossland, Boris Ginzburg, Eliezer Weissmann
  • Patent number: 8627451
    Abstract: A sandbox tool can cooperate with components of a secure operating system to create an isolated execution environment for accessing untrusted content without exposing other processes and resources of the computing system to the untrusted content. The sandbox tool can allocate resources (storage space, memory, etc) of the computing system, which are necessary to access the untrusted content, to the isolated execution environment, and apply security polices of the operating system to the isolated execution environment such that untrusted content running in the isolated execution environment can only access the resources allocated to the isolated execution environment.
    Type: Grant
    Filed: August 21, 2009
    Date of Patent: January 7, 2014
    Assignee: Red Hat, Inc.
    Inventors: Daniel J. Walsh, Eric Lynn Paris
  • Patent number: 8621468
    Abstract: An apparatus and method provide for profile optimizations at a binary level. Thread specific data may be used to lay out a procedure in a binary. In one example, a hot thread may be identified and a layout may be generated based on the identified hot thread. Also, threads of an application may be ranked according to frequency of execution of the corresponding threads. The layout may be created based on the different threads of differing frequency of execution and conflicts between a hottest thread and each of the other threads of the application. In another example, different threads of the application may conflict. For example, two threads may contain operations that overlap temporally to create a race condition. A layout of the application threads may be created based on conflicting threads.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: December 31, 2013
    Assignee: Microsoft Corporation
    Inventors: Perraju Bendapudi, Rajesh Jalan, Phani Kishore Talluri
  • Publication number: 20130347003
    Abstract: Mechanisms are provided for dynamically determining one or more automation levels for tasks of a workflow. The mechanisms receive a workflow from a source component and receiving context and state information for an environment in which the workflow is to be performed. One or more tasks and associated task attributes are identified in the workflow and applying one or more automation rules to the context and state information and the task attributes to generate one or more automation level settings from the one or more tasks. The one or more tasks are performed in the environment in accordance with the one or more automation level settings. The automation level settings specify a degree of automation to be used when performing the one or more tasks.
    Type: Application
    Filed: June 21, 2012
    Publication date: December 26, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: James J. Whitmore
  • Patent number: 8615771
    Abstract: A technique for managing read-copy update readers that have been preempted while executing in a read-copy update read-side critical section. A single blocked-tasks list is used to track preempted reader tasks that are blocking an asynchronous grace period, preempted reader tasks that are blocking an expedited grace period, and preempted reader tasks that require priority boosting. In example embodiments, a first pointer may be used to segregate the blocked-tasks list into preempted reader tasks that are and are not blocking a current asynchronous grace period. A second pointer may be used to segregate the blocked-tasks list into preempted reader tasks that are and are not blocking an expedited grace period. A third pointer may be used to segregate the blocked-tasks list into preempted reader tasks that do and do not require priority boosting.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 8612978
    Abstract: A program is executed utilizing a main hardware thread. During execution, an instruction specifies to execute a portion utilizing a worker hardware thread. If a processor state indicator is set to multi-threaded, the specified portion is executed utilizing the worker hardware thread. However, if the processor state indicator is set to single-threaded, the specified portion is executed utilizing the main hardware thread as a subroutine. The main hardware thread may pass parameter data to the worker hardware thread by copying the parameter data register or memory location for the main hardware thread to an equivalent parameter data register or memory location for the worker hardware thread. Similarly, the worker hardware thread may pass return values to the main hardware thread by copying a return value register or memory location for the worker hardware thread to an equivalent return value register or memory location for the main hardware thread.
    Type: Grant
    Filed: December 10, 2009
    Date of Patent: December 17, 2013
    Assignee: Oracle America, Inc.
    Inventor: Peter Carl Damron
  • Patent number: 8612992
    Abstract: A method of enabling multiple different operating systems to run concurrently on the same RISC computer, comprising selecting a first operating system to have a relatively high priority (the realtime operating system, such as C5); selecting at least one secondary operating system to have a relatively lower priority (the general purpose operating system, such as Linux); providing a common program (a hardware resource dispatcher similar to a nanokernel) arranged to switch between said operating systems under predetermined conditions; and providing modifications to said first and second operating systems to allow them to be controlled by said common program.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: December 17, 2013
    Assignee: Jaluna SA
    Inventors: Eric Lescouet, Vladimin Grouzdev
  • Patent number: 8612988
    Abstract: A method, for monitoring resources of a system for performing a first task and a second task, includes calculating a first completion count of the first task; calculating a second completion count of the second task; and determining whether the resources of the system are exhausted according to the first completion count and the second completion count.
    Type: Grant
    Filed: April 1, 2010
    Date of Patent: December 17, 2013
    Assignee: MStar Semiconductor, Inc.
    Inventor: Shu Hao Hsu
  • Patent number: 8607244
    Abstract: Provided are a method, system, and program for executing multiple threads in a processor. Credits are set for a plurality of threads executed by the processor. The processor alternates among executing the threads having available credit. The processor decrements the credit for one of the threads in response to executing the thread and initiates an operation to reassign credits to the threads in response to depleting all the thread credits.
    Type: Grant
    Filed: November 13, 2012
    Date of Patent: December 10, 2013
    Assignee: International Busines Machines Corporation
    Inventor: Russell L. Lewis
  • Patent number: 8607247
    Abstract: Method, system, and computer program product embodiments for synchronizing workitems on one or more processors are disclosed. The embodiments include executing a barrier skip instruction by a first workitem from the group, and responsive to the executed barrier skip instruction, reconfiguring a barrier to synchronize other workitems from the group in a plurality of points in a sequence without requiring the first workitem to reach the barrier in any of the plurality of points.
    Type: Grant
    Filed: November 3, 2011
    Date of Patent: December 10, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Lee W. Howes, Benedict R. Gaster, Michael C. Houston, Michael Mantor, Mark Leather, Norman Rubin, Brian D. Emberling
  • Patent number: 8607239
    Abstract: Two or more processors that each provides a specified thread to access a shared resource that can only be accessed by one thread at a given time. A locking mechanism enables one of the threads to access the shared resource while other threads are retained in a waiting queue. Responsive to an additional thread that is not one of the specified threads being provided access the shared resource during an identified time period, and responsive to a first criterion an a second criterion being met, the additional thread accesses the shared resource before the other threads in the waiting queue.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: December 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Vaijayanthimala K. Anand, David A. Hepkin, Dirk Michel, Bret R. Olszewski
  • Patent number: 8601133
    Abstract: A network device establishes a logical channel with each server device of multiple server devices, where each logical channel is not shared with another server device of the multiple server devices. The network device also determines a network loopback Internet protocol (IP) address for each server device of the multiple server devices, and associates each network loopback IP address with a corresponding logical channel. The network device further receives a packet destined for a particular server device, and provides the packet to the particular server device via the logical channel associated with the particular server device.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: December 3, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: George Rainovic, Chandra Pandey
  • Patent number: 8601488
    Abstract: Ensuring real-time performance of multitask control and improving the processing efficiency of a system provided with a processor processing while switching between a plurality of tasks. The system includes an execution unit executing instructions on individual tasks while switching from one task to another, a distinguishing unit executing an instruction determined to be a predetermined instruction. The system further includes a determination unit set so that on condition that the instruction to be executed is the predetermined instruction, it determines whether to allow the execution unit to execute the predetermined instruction or to perform a task switching process without executing the predetermined instruction based on a predetermined condition.
    Type: Grant
    Filed: November 29, 2010
    Date of Patent: December 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Noriaki Asamoto, Masahiro Murakami
  • Patent number: 8595450
    Abstract: A device stores a plurality of applications and a list of associations for those applications. The applications are preferably stored within a secondary memory of the device, and once launched each application is loaded into RAM. Each application is preferably associated to one or more of the other applications. Preferably, no applications are launched when the device is powered on. A user selects an application, which is then launched by the device, thereby loading the application from the secondary memory to RAM. Whenever an application is determined to be associated with a currently active state application, and that associated application has yet to be loaded from secondary memory to RAM, the associated application is pre-launched such that the associated application is loaded into RAM, but is set to an inactive state.
    Type: Grant
    Filed: October 26, 2011
    Date of Patent: November 26, 2013
    Assignees: Sony Corporation, Sony Electronics Inc.
    Inventors: Phuong Viet Nguyen, Ashish Garg
  • Patent number: 8595747
    Abstract: Task scheduling in a processing system having a main memory and a processor having a plurality of software-configurable registers is disclosed. The processor may be a synergistic processing unit (SPU) of a cell processor. The processing system operates under the control of a kernel and a program code. A subset of the plurality of software-configurable registers is reserved for use by the kernel. Upon occurrence of an interrupt event requiring control of the processor by the kernel, the kernel may be run on the processor without saving the contents the plurality of registers.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: November 26, 2013
    Assignee: Sony Computer Entertainment Inc.
    Inventor: Tatsuya Iwamoto
  • Patent number: 8589925
    Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.
    Type: Grant
    Filed: October 25, 2007
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventor: Krzysztof Cwalina
  • Patent number: 8589943
    Abstract: Multi-threaded processing with reduced context switching is disclosed. Context switches may be avoided through the use of pre-emption notification, a pre-emption wait time attribute and a no-context-save yield.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: November 19, 2013
    Assignee: Sony Computer Entertainment Inc.
    Inventor: John P. Bates
  • Patent number: 8588253
    Abstract: A method and apparatus are provided for efficiently transferring data between a first and second processors having shared memory. A plurality of data packets are aggregated into a packet bundle at the first processor. The packet bundle is then transferred from the first processor to the second processor using the shared memory, wherein the transfer of the packet bundle is performed in a single context switch at the first processor. The packet bundle is then unbundled into individual data packets at the second processor, wherein a processing load of the second processor is reduced due to the aggregation of the data packets into the packet bundle by the first processor.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: November 19, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Jeffrey A. Dyck, Brian F. Costello, Vamsi K. Dokku, Udayakumar U. Menon, Amit M. Singh
  • Publication number: 20130305260
    Abstract: A system and method deterministically switches context in a real-time scheduler to guarantee schedule periodicity. The method includes determining a time slice for each of the plurality of processes. The method includes determining a time slice switch duration between consecutive ones of the time slices. The method includes determining a starting point for each time slice. The method includes generating a schedule as a function of the time slices, the time slice switch durations, and the starting points of the time slices. The schedule includes an order for each of the time slices for a respective one of the plurality of processes. Each of the time slices and each of the time slice switch durations are required to run for their entire duration to guarantee a periodicity of the schedule.
    Type: Application
    Filed: May 9, 2012
    Publication date: November 14, 2013
    Inventors: Keith BACKENSTO, Thierry Preyssler
  • Patent number: 8572626
    Abstract: The present invention relates generally to computer operating systems, and more specifically, to operating system calls in a symmetric multiprocessing (SMP) environment. Existing SMP strategies either use a single lock or multiple locks to limit access to critical areas of the operating system to one thread at a time. These strategies suffer from a number of performance problems including slow execution, large software and execution overheads and deadlocking problems. The invention applies a single lock strategy to a micro kernel operating system design which delegates functionality to external processes. The micro kernel has a single critical area, the micro kernel itself, which executes very quickly, while the external processes are protected by proper thread management. As a result, a single lock may be used, overcoming the performance problems of the existing strategies.
    Type: Grant
    Filed: August 4, 2011
    Date of Patent: October 29, 2013
    Assignee: QNX Software Systems Limited
    Inventor: Peter Van Der Veen
  • Patent number: 8572619
    Abstract: The problem which is being addressed by this invention is the lack of determinism in mass market operating systems. This invention provides a mechanism for mass market operating systems running on mass market hardware to be extended to create a true deterministic responsive environment. This is accomplished through programming hardware elements of the scheduler to behave deterministically with respect to the software scheduler.
    Type: Grant
    Filed: January 27, 2011
    Date of Patent: October 29, 2013
    Assignee: Real Time, Inc.
    Inventor: Victor Webber
  • Patent number: 8566830
    Abstract: A scheduler in a process of a computer system includes a local collection of tasks for each processing resource allocated to the scheduler and at least one general collection of tasks. The scheduler assigns each task that becomes unblocked to the local collection corresponding to the processing resource that caused the task to become unblocked. When a processing resource becomes available, the processing resource attempts to execute the most recently added task in the corresponding local collection. If there are no tasks in the corresponding local collection, the available processing resource attempts to execute a task from the general collection.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: October 22, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Niklas Gustafsson, Genevieve Fernandes
  • Patent number: 8566828
    Abstract: A processing system includes a plurality of processors capable of executing a plurality of threads and supporting at least one of hardware context switching and software context switching. The processing system also includes a hardware concurrency engine coupled to the plurality of processors. The concurrency engine is capable of managing a plurality of concurrency primitives that coordinate execution of the threads by the processors. The concurrency primitives could represent objects, and the processors may be capable of using the objects by reading from and/or writing to addresses in an address space associated with the concurrency engine. Each address may encode an object index identifying one of the objects, an object type identifying a type associated with the identified object, and an operation type identifying a requested operation involving the identified object.
    Type: Grant
    Filed: October 15, 2004
    Date of Patent: October 22, 2013
    Assignee: STMicroelectronics, Inc.
    Inventor: Charles E. Pilkington
  • Patent number: 8566492
    Abstract: Embodiments of systems, apparatuses, and methods for posting interrupts to virtual processors are disclosed. In one embodiment, an apparatus includes look-up logic and posting logic. The look-up logic is to look-up an entry associated with an interrupt request to a virtual processor in a data structure. The posting logic is to post the interrupt request in a data structure specified by information in the first data structure.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: October 22, 2013
    Assignee: Intel Corporation
    Inventors: Rajesh Sankaran Madukkarumukumana, Gilbert Neiger, Ohad Falik, Sridhar Muthrasanallur, Gideon Gerzon
  • Patent number: 8560372
    Abstract: Methods and apparatus, including computer program products, for compiling workflows into instructions for a state correlation engine. In general, data characterizing a workflow of a process is received and a network representation of event-condition-action rules representing the workflow is generated. The workflow of the process may be modeled in accordance with a notation similar to the Business Process Modeling Notation. The network representation of event-condition-action rules may include a combination of source nodes representing events, operator nodes representing conditions, and action nodes representing transactions. Events of the source nodes may be represented types of objects of a type language, where a correlation engine is to execute an event-condition-action rule based on an existence of a combination of types of a rule.
    Type: Grant
    Filed: December 22, 2007
    Date of Patent: October 15, 2013
    Assignee: SAP AG
    Inventors: Soeren Balko, Franz Weber, Matthias Miltz
  • Patent number: 8561079
    Abstract: The information processing device in the simultaneous multi-threading system is operated in an inter-thread performance load arbitration control method, and includes: an instruction input control unit for sharing among threads control of inputting an instruction in an arithmetic unit for acquiring the instruction from memory and performing an operation on the basis of the instruction; a commit stack entry provided for each thread for holding information obtained by decoding the instruction; an instruction completion order control unit for updating the memory and a general purpose register depending on an arithmetic result obtained by the arithmetic unit in an order of the instructions input from the instruction input control unit; and a performance load balance analysis unit for detecting the information registered in the commit stack entry and controlling the instruction input control unit.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: October 15, 2013
    Assignee: Fujitsu Limited
    Inventors: Takashi Suzuki, Toshio Yoshida
  • Patent number: 8555292
    Abstract: Two threads may communicate via shared memory using two different modes. In a polling mode, a receiving thread may poll an indicator set by the sending thread to determine if a message is present. In a blocking mode, the receiving thread may wait until a synchronization object is set by the sending thread which may cause the receiving thread to return to the polling mode. The polling mode may have low latency buy may use processor activity of the receiving thread to repetitively check the indictor. The blocking mode may have a higher latency but may allow the receiving thread to enter a sleep mode or perform other activities.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: October 8, 2013
    Assignee: Microsoft Corporation
    Inventor: Erez Haba
  • Patent number: 8549268
    Abstract: A computer-implemented method for managing processing resources of a computerized system having at least a first processor and a second processor, each of the processors operatively interconnected to a memory storing a set of data to be processed by a processor, the method comprising: monitoring data accessed by the first processor while executing; and if the second processor is at a shorter distance than the first processor from the monitored data, instructing to interrupt execution at the first processor and resume the execution at the second processor.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: October 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Hillery C Hunter, Ronald P Luijten, Phillip Stanley-Marbell
  • Patent number: 8544013
    Abstract: A system is set forth that includes a processor, one or more memory storage units, and software code stored in the one or more memory storage units. The software code is executable by the processor to generate a plurality of adaptive partitions that are each associated with one or more process threads. Each of the plurality of adaptive partitions has a corresponding processor budget that is assigned to it. The process threads include a mutex holding thread and a mutex waiting thread. The mutex holding thread is associated with a first adaptive partition and may gain exclusive access to a mutex object. The mutex waiting thread is associated with a second adaptive partition and must wait for access to the mutex object while the mutex object is held by the mutex holding thread. The software code further includes a scheduling system that selectively allocates the processor to run the process threads based, at least in part, on the processor budget of the associated adaptive partitions.
    Type: Grant
    Filed: March 8, 2006
    Date of Patent: September 24, 2013
    Assignee: QNX Software Systems Limited
    Inventors: Dan Dodge, Attilla Danko, Sebastien Marineau-Mes, Peter van der Veen, Colin Burgess, Thomas Fletcher, Brian Stecher
  • Patent number: 8544020
    Abstract: Preempting the execution of a thread is disclosed. Preempting includes receiving an indication that a preemption of the thread is desired and context switching the thread out at a thread safe point in the event that a thread safe point is reached.
    Type: Grant
    Filed: September 14, 2005
    Date of Patent: September 24, 2013
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Scott Sellers, Jack H. Choquette
  • Patent number: 8544022
    Abstract: Mechanisms for executing a transaction in the data processing system are provided. A transaction checkpoint data structure is generated in internal registers of a processor. The transaction checkpoint data structure stores transaction checkpoint data representing a state of program registers at a time prior to execution of a corresponding transaction. The transaction, which comprises a first portion of code that is to be executed by the processor, is executed. An interrupt of the transaction is received while executing the transaction and, as a result, the transaction checkpoint data is stored to a data structure in a memory of the data processing system. A second portion of code is then executed. A state of the program registers is restored using the data structure in the memory of the data processing system in response to an event occurring causing a switch of execution of the processor back to execution of the transaction.
    Type: Grant
    Filed: May 7, 2012
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Richard L. Arndt, Harold W. Cain, III, Bradly G. Frey, Cathy May
  • Patent number: 8542390
    Abstract: A print relay system capable of connecting to an image forming apparatus and a print service system, which is provided by a vendor that publishes a unique specification for executing data communication with the image forming apparatus includes an acquisition unit configured to, in response to the print service system receiving a printing instruction input by a user via a client, acquire data from the print service system according to a first specification, which is the unique specification for data communication between the print service system and a relay virtual printer, and a transmission unit configured to transmit the data acquired by the acquisition unit from the relay virtual printer to the image forming apparatus according to a second specification for executing data communication between the relay virtual printer and the image forming apparatus.
    Type: Grant
    Filed: June 27, 2011
    Date of Patent: September 24, 2013
    Assignee: Canon Kabushiki Kaisha
    Inventors: Takeshi Takahashi, Jun Otsuka
  • Patent number: 8544021
    Abstract: Methods, systems, apparatuses and program products for providing for communications within a computing environment that provides for execution isolation, especially a DXE (Driver Execution Environment) phase of a PC (personal computer) startup process. Provision is made for blocking of server threads awaiting service requests and blocking client thread awaiting server responses, together with marshalling formal parameter descriptions and service request/response arguments across disparate execution contexts that disallow simple data redirection between them.
    Type: Grant
    Filed: December 7, 2009
    Date of Patent: September 24, 2013
    Assignee: Kinglite Holdings Inc.
    Inventor: Stephen E. Jones
  • Patent number: 8537167
    Abstract: A method and system for using bundle decoders in a processing pipeline is disclosed. In one embodiment, to perform a context switch between a first process and a second process operating in a processing pipeline, the first state information that is associated with the first process is placed on a connection separate from the processing pipeline. A number of decoders are coupled to this connection. The decoders obtain the first state information from a number of pipeline units on the processing pipeline by monitoring the data stream going into these pipeline units. Also, to restore the first state information after having switched out the second state information that is associated with the second process, the first state information is placed on the connection for the decoders to retrieve.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: September 17, 2013
    Assignee: Nvidia Corporation
    Inventors: Robert C. Keller, Richard A. Silkebakken, Matthew J. P. Regan
  • Patent number: 8533735
    Abstract: Execution context isolation during the DXE phase of computer start-up. Provision is made for referencing and dereferencing execution contexts and thereby providing execution isolation across contexts. In response to invoking a BIOS kernel function during a Driver Execution Environment (DXE) phase of a boot-up of the computer, the BIOS kernel associates a first processor context with the sequence of instructions, determines that scheduling the sequence of instructions requires a switch from a second processor context to the first processor context, performs a context switch action, during the DXE phase of the boot-up of the computer, to switch from the second processor context to the first processor context.
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: September 10, 2013
    Assignee: Kinglite Holdings Inc.
    Inventor: Stephen E. Jones
  • Patent number: 8527999
    Abstract: The invention in particular has as an object supervising a scheduler for the management of processing time sharing in a multitask data-processing system comprising a computation unit having a standard execution mode and a preferred execution mode for executing a plurality of applications. The execution time for the said plurality of applications is divided into a plurality of periods and a minimal time for access per period to the said computation unit is determined for at least one application of the said plurality of applications. For at least one period, the said preferred execution mode is associated with the said at least one application and the said at least one application is executed according to at least the said minimal time for access to the said computation unit. For the said at least one period, the said standard execution mode is associated with the applications of the said plurality of applications and at least any one of the applications of the said plurality of applications is executed.
    Type: Grant
    Filed: February 1, 2011
    Date of Patent: September 3, 2013
    Assignee: Airbus Operations S.A.S.
    Inventors: Franck Dessertenne, Pierre Guirriec
  • Patent number: 8521912
    Abstract: Methods and systems for direct device access are disclosed. Aspects of one method may include a plurality of GOSs directly accessing a first network interface device, where the first network interface device may provide access to a network. One or more of the GOSs may be migrated to directly access a second network interface device, based on state information for each of the GOSs, where the state information may be maintained by the host. The GOSs may communicate data to a device coupled to the network by direct accessing the first and/or second network interface device. Similarly, the first and/or second network interface device may communicate data received from a device coupled to the network to one or more of the plurality of GOSs via direct access of the first and/or second network interface device.
    Type: Grant
    Filed: November 27, 2007
    Date of Patent: August 27, 2013
    Assignee: Broadcom Corporation
    Inventors: Eliezer Aloni, Uri Elzur, Rafi Shalom, Kobby Carmona, Caitlin Bestler
  • Patent number: 8522253
    Abstract: A method for tagging cache entries to support context switching for virtual machines and for operating systems. The method includes, storing a plurality of entries within a cache of a CPU of a computer system, wherein each of the entries includes a context ID, handling a first portion of the entries as local entries when the respective context IDs indicate a local status, and handling a second portion of the entries as global entries when the respective context IDs indicate a global status.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: August 27, 2013
    Inventors: Guillermo Rozas, Alex Klaiber