| Patent application number | Description | Published |
| 20080256324 | IMPLEMENTING A FAST FILE SYNCHRONIZATION IN A DATA PROCESSING SYSTEM - A system and method for implementing a fast file synchronization in a data processing system. A memory management unit divides a file stored in system memory into a collection of data block groups. In response to a master (e.g., processing unit, peripheral, etc.) modifying a first data block group among the collection of data block groups, the memory management unit writes a first block group number associated with the first data block group to system memory. In response to a master modifying a second data block group, the memory management unit writes the first data block group to a hard disk drive and writes a second data block group number associated with the second data block group to system memory. In response to a request to update modified data block groups of the file stored in the system memory to the hard disk drive, the memory management unit writes the second data block to the hard disk drive. | 10-16-2008 |
| 20090049278 | EFFICIENT MEMORY UPDATE PROCESS FOR ON-THE-FLY INSTRUCTION TRANSLATION FOR WELL BEHAVED APPLICATIONS EXECUTING ON A WEAKLY-ORDERED PROCESSOR - A multiprocessor data processing system (MDPS) with a weakly-ordered architecture providing processing logic for substantially eliminating issuing sync instructions after every store instruction of a well-behaved application. Instructions of a well-behaved application are translated and executed by a weakly-ordered processor. The processing logic includes a lock address tracking utility (LATU), which provides an algorithm and a table of lock addresses, within which each lock address is stored when the lock is acquired by the weakly-ordered processor. When a store instruction is encountered in the instruction stream, the LATU compares the target address of the store instruction against the table of lock addresses. If the target address matches one of the lock addresses, indicating that the store instruction is the corresponding unlock instruction (or lock release instruction), a sync instruction is issued ahead of the store operation. The sync causes all values updated by the intermediate store operations to be flushed out to the point of coherency and be visible to all processors. | 02-19-2009 |
| 20090049450 | METHOD AND SYSTEM FOR COMPONENT LOAD BALANCING - A system for balancing component load. In response to receiving a request, data is updated to reflect a current number of pending requests. In response to analyzing the updated data, it is determined whether throttling is necessary. In response to determining that throttling is not necessary, a corresponding request to the received request is created and a flag is set in the corresponding request. Then, the corresponding request is sent to one of a plurality of lower level components of an input/output stack of an operating system for processing based on the analyzed data to balance component load in the input/output stack of the operating system. | 02-19-2009 |
| 20090106762 | Scheduling Threads In A Multiprocessor Computer - Methods, systems, and computer program products are provided for scheduling threads in a multiprocessor computer. Embodiments include selecting a thread in a ready queue to be dispatched to a processor and determining whether an interrupt mask flag is set in a thread control block associated with the thread. If the interrupt mask flag is set in the thread control block associated with the thread, embodiments typically include selecting a processor, setting a current processor priority register of the selected processor to least favored, and dispatching the thread from the ready queue to the selected processor. In some embodiments, setting the current processor priority register of the selected processor to least favored is carried out by storing a value associated with the highest interrupt priority in the current processor priority register. | 04-23-2009 |
| 20090113239 | METHOD AND APPARATUS FOR INSTRUCTION TRACE REGISTERS - A computer implemented method, apparatus, and computer usable program product for utilizing instruction trace registers. In one embodiment, a value in a target processor register in a plurality of processor registers is updated in response to executing an instruction associated with program code. In response to updating the value in the target processor register, an address for the instruction is copied from an instruction address register into an instruction trace register associated with the target processor register. The instruction trace register holds the address of the instruction that updated the value stored in the target processor register. | 04-30-2009 |
| 20090113433 | THREAD CLASSIFICATION SUSPENSION - The exemplary embodiments provide a computer-implemented method, apparatus, and computer-usable program code for managing memory. A notice of a shortage of real memory is received. For each active thread, the thread classification of the active thread is compared to a global hierarchy of thread classifications to determine a thread to affect. The global hierarchy of thread classifications defines the relative importance of each thread classification. An action to take for the determined thread is determined. The determined action is performed for the determined thread. | 04-30-2009 |
| 20090118839 | METHODOLOGY FOR SECURE APPLICATION PARTITIONING ENABLEMENT - A computer implemented methods data processing system, and computer program product for configuring a partition with needed system resources to enable an application to run and process in a secure environment. Upon receiving a command to create a short lived secure partition for a secure application, a short lived secure partition is created in the data processing system. This short lived secure partition is inaccessible by superusers or other applications. System resources comprising physical resources and virtual allocations of the physical resources are allocated to the short lived secure partition. Hardware and software components needed to run the secure application are loaded into the short lived secure partition. | 05-07-2009 |
| 20090248809 | Instant Message Session Transfers - A method facilitates instant message (IM) session transfer of messages intended for an IM user to a new IM session being established by the user. Existing IM sessions may be queried for active IM sessions when the user is connecting to an instant message service. If there is an active session for the user, the IM server will request the content and sender of active messages waiting for the user, and transfer this information to the new IM session being established for the user. In this way, the user does not “miss” IM message(s) intended for him or her while going between existing, active IM sessions and new IM sessions. As used herein, session or sessions refer to IM session or IM sessions. | 10-01-2009 |
| 20090254730 | Memory Pacing - A method, system, and program for managing memory page requests in a multi-processor data processing system determines a threshold value of available memory, and dynamically adjusts an allocation time to fulfill a page request if the available memory is below a threshold value. The allocation time to fulfill the page request is based upon a percentage of available memory pages once a page stealer commences a scan for pages. An allocation wait time is inversely proportionally adjusted depending upon the percentage of available memory. The allocation wait time has a duration that increases in time as the percentage of available memory decreases and decreases in time as the percentage of available memory increases. More specifically, an average time per page to allocate a page including a scan time for the scan in computing the average time is determined. Then a tunable value is applied to the average time to determine a wait time. In a preferred embodiment, user defined values are received that would control the allocation wait time before fulfilling a page request. | 10-08-2009 |
| 20090323527 | Reducing Retransmission of Out of Order Packets - Methods and arrangements of network communications are discussed. Embodiments include transformations, code, state machines or other logic to determine an average rate of duplicate packets per connection for packets received by a node over an interface. The embodiment may involve selecting a connection from the connections established over the interface, determining that a rate of duplicate packets for the selected connection exceeds the average rate of duplicate packets by a threshold percentage, and sending a message to a transmitter of the duplicate packets over the connection to increase a timeout interval to retransmit packets. Another embodiment may provide an apparatus for increasing a timeout interval to retransmit packets. Still another embodiment may provide a computer program produce for increasing a timeout interval to retransmit packets. | 12-31-2009 |
| 20100017576 | Data Transference to Virtual Memory - Some embodiments comprise a method for selecting data to be transferred to a storage space of virtual memory and include identifying a set of data and determining subsets. Determining subsets may allow for delays before transferring the subsets and allow access to memory of the subsets during the delays. Accesses during the delays may enable embodiments to select other data to be transferred to the storage space and prevent transference of the accessed data. Other embodiments comprise apparatuses that have a paging space, a page identifier, and a page transferrer to transfer pages to the paging space after a delay. The delay may prevent a number of pages from being transferred to the paging space, such as for pages that were accessed during the delay. | 01-21-2010 |
| 20100082855 | ASSOCIATING PROCESS PRIORITY WITH I/O QUEUING - Input/output (I/O) requests generated by processes are typically stored in I/O queues. Because the queued I/O requests may not be associated with the processes that generated them, changing a process' priority may not affect the priority of the I/O requests generated by the process. Therefore, after the process' priority has been increased, it may be forced to wait for an I/O handler to service its I/O request, which may be stuck behind an I/O request generated by a lower priority process. Functionality can be implemented to associate the processes' priorities with the I/O requests generated by the processes. Also, reordering the queued I/O requests to reflect changes in the processes' priorities can ensure that the I/O requests from high priority processes are serviced before the I/O requests from low priority processes. This can ensure efficient processing and lower wait times for high priority processes. | 04-01-2010 |
| 20100161934 | PRESELECT LIST USING HIDDEN PAGES - Disclosed is a computer implemented method, computer program product, and apparatus for maintaining a preselect list. The method comprises software components detecting a page fault of a memory page. In response to detecting a page fault, the software components determine whether the memory page is referenced in the preselect list and unhide the memory page. Upon determining whether the memory page is referenced in the preselect list, the software components remove an entry of the preselect list corresponding to the memory page to form at least one removed candidate page and skip paging-out of the at least one removed candidate page. | 06-24-2010 |
| 20110087857 | AUTOMATIC PAGE PROMOTION AND DEMOTION IN MULTIPLE PAGE SIZE ENVIRONMENTS - Functionality can be implemented in a virtual memory manager (VMM) to allow small pages (e.g., 4 KB) to be coalesced into large pages (e.g., 64 KB), so that a single free list can be maintained for the large pages (“maintained pages”). When a process requests a small page, the VMM can associate a maintained page with a memory segment accessible by the process. Then, the maintained page can be divided to form a set of small pages (“fragments”). The fragments can become available pages in a broken page list. The VMM can satisfy the request by allocating one of the fragments in the broken page list. If the process requests additional small pages, the additional requests can be satisfied from the broken page list. When the process terminates, the fragments in the broken page list become a maintained page and can be returned to the free list. | 04-14-2011 |
| 20110138404 | REMOTE PROCEDURE CALL (RPC) BIND SERVICE WITH PHYSICAL INTERFACE QUERY AND SELECTION - A service module that provides for discovery of one or more network interfaces connecting a prospective remote procedure call (RPC) client, facilitates the provision of RPC programs in a network including multi-horned systems. When a request for a network address to an RPC application providing an RPC program is received from the RPC client, the RPC bind daemon discovers from the module, using the client response address, over which interface(s) the client is accessible. The daemon then selects an address of a network path to the RPC application that the prospective client can access and returns the corresponding network address. The service module monitors the network stack for RPC get address requests and builds tables of client address entries with corresponding network interface identifiers. The entries are retired according to an aging policy. When multiple network paths to the RPC application are available, the service can be selected using a heuristic such as preferred interface, non-firewalled interface, least number of return path links or other criteria. | 06-09-2011 |