| Red Hat, Inc. Patent applications |
| Patent application number | Title | Published |
| 20120137204 | AUTOMATIC SPREADSHEET VALIDATION - A spreadsheet validation method may provide a validation input value to an input field of a computer spreadsheet application and identify a calculated result from an output field of the computer spreadsheet application. The result is calculated based on a formula associated with the output field and the formula uses the validation input value as an input. Further, the calculated result may be compared to an expected validation output value. | 05-31-2012 |
| 20120137064 | EFFICIENT DISCARD COMMANDS ON RAID STORAGE DEVICES - A method and system for efficiently freeing storage in a Redundant Array of Independent Disks (RAID) system. A computer system is coupled to storage devices that are organized as a RAID with block-level striping. Each storage device is partitioned into multiple physical sectors. The computer system receives a request to free a contiguous range of logical sectors that are mapped to the storage devices. In response, the computer system issues, for each storage device, a discard command to free contiguous physical sectors in the storage device that correspond to non-contiguous logical sectors. | 05-31-2012 |
| 20120136988 | DYNAMIC BANDWIDTH OPTIMIZATION FOR REMOTE INPUT - A method and system for optimizing network bandwidth usage in a remote desktop system. A client generates a stream of input events that contain position information of a cursor shown on a display of the client. The client estimates characteristics of a network that couples the client to a server. Based on estimation of the characteristics, the client adjusts the number of input events batched into a packet to be sent from the client to the server over the network. | 05-31-2012 |
| 20120136937 | AUTOMATED EVALUATION OF CONTENT BASED ON USER ACTIVITIES - Embodiments of the present invention provide an automated scheme for identifying high/low value content. Playback data from users in a social network may be periodically submitted by users of the social network. The playback data indicates segments of content, such as audio or video that the user has skipped over or tagged as low value. The playback data may also indicate segments of content that the user has repeated or tagged as high value. The playback data is then analyzed in aggregate and various clips are identified. In addition, the playback data may be compiled and organized among the users for future use. The playback data may be used to indicate segments of high/low interest to peers in the social network or to arbitrary users. | 05-31-2012 |
| 20120131453 | GUI CONTROL IMPROVEMENT USING A CAPACITIVE TOUCH SCREEN - A system includes a processing device, a touch screen display, a memory coupled to the processing device and a graphical user interface (GUI) control module, executed from the processor and the memory. The GUI control module identifies a control element displayed on the touch screen display near a location of a conductive object near a surface of the touch screen display, where the conductive object is not in physical contact with the surface, and enlarges the control element. | 05-24-2012 |
| 20120127078 | AUTOMATIC KEYBOARD MODE SELECTION BASED ON INPUT FIELD TYPE - An input detection module determines whether an expected input type for an input field in a user interface matches one of a plurality of possible input types associated with a received keyboard input. If the expected input type matches one of the plurality of possible input types, the input detection module enters a character having the expected input type into the input field. | 05-24-2012 |
| 20120124577 | MANAGING RESOURCES FOR VIRTUAL MACHINES BASED ON IDENTIFIERS - A method of managing resources in a virtual environment based on identifiers is disclosed. 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 initiation of at least one support process for the virtual machine by the delay value. | 05-17-2012 |
| 20120089784 | Lock Amortization In A Data Counter - An apparatus and a method for providing amortized lock access in a data container is described. Each access from each thread of a process in a memory to each object of a data container in the memory is recorded in a queue of the data container. A queue manager determines whether the recorded number of accesses in the queue has reached a predetermined threshold. The queue manager executes a lock algorithm and an eviction algorithm on all objects in the data container when the recorded number of accesses in the queue has reached the predetermined threshold. The lock algorithm is configured to lock objects in the data container while the eviction algorithm is performed on the data container. The eviction algorithm is configured to evict one or more objects from the data container pursuant to the eviction algorithm. | 04-12-2012 |
| 20120066313 | CONCURRENT DELIVERY FOR MESSAGES FROM A SAME SENDER - An apparatus and a method for processing messages. A transport protocol stack receives messages from senders. The transport protocol stack comprises a concurrent stack having an out of band thread pool and a non-out of band thread pool. A channel is formed with a thread from the non-out of band thread pool of the concurrent stack for each sender. Non-out of band messages are processed in parallel for each scope of an application with a non-out of band thread. Non-out of band messages pertains to processes of the application from a same sender. Processes from a scope of the application are unrelated to processes from another scope of the application. Non-out of band messages within a same scope are processed in a predefined order. | 03-15-2012 |
| 20120060150 | HIGH PERFORMANCE EXECUTION IN WORKFLOW BPM ENGINE - An apparatus and a method for executing a workflow in a business process management (BPM) engine is described. A business process management (BPM) process definition is generated based on a business process at a BPM generator of a BPM system. The BPM process definition is translated into a Java source code at a translator engine of the BPM system. The Java source code is compiled into a Java byte code at a compiler engine of the BPM engine. The processing device of the BPM system is configured to execute the Java byte code. | 03-08-2012 |
| 20120060024 | MECHANISM FOR ADJUSTING SYSTEM SETTINGS BASED ON DYNAMIC DISCOVERY OF POWER USAGE - A measurement circuit measures a first power consumption value corresponding to a first configuration of a component of a computing device and a second power consumption value corresponding to a second configuration of the component. A user interface module provides a the first power consumption value for the first configuration and the second power consumption value for the second configuration. A user selection indicating one of the first configuration and the second configuration is received and a configuration module implements the configuration indicated by the user selection in the component. | 03-08-2012 |
| 20120059832 | Portable Hash-Based Key Location Mechanism - A system and method for locating a data entry in a server cluster using a hash function and hash codes that can be implemented on any platform, system, or in any language. In one embodiment, a client hashes a key corresponding to a data entry to be accessed from the server cluster. The hashing is performed with a hash function that is used by a cluster of servers to provide a distributed data repository. The client further compares the hash result with hash codes of the servers to identify one of the servers as a key holder that stores the data entry. The client then requests the key holder for access to the data entry. | 03-08-2012 |
| 20120047460 | MECHANISM FOR INLINE RESPONSE TO NOTIFICATION MESSAGES - In response to a first message received at a desktop of a data processing system from a message source, at least a portion of the first message is displayed in an area along an edge of a desktop screen presented by the desktop. In response to a first signal indicating that a cursor has been positioned within a predetermined distance of the displayed first message, further detailed information of the first message is displayed by increasing size of the area towards the edge of the desktop screen in an animated fashion, including displaying an input field without launching a separate window or process to allow a user to respond to the first message. In response to a second message entered into the input field by the user, the desktop transmits the second message to the message source. | 02-23-2012 |
| 20110295869 | EFFICIENT STRING MATCHING STATE MACHINE - An apparatus and a method for searching one or more documents for several different strings is described. A finite state machine receives and processes one or more search strings with a tail-first search. A matching string machine forms states based on the characters in the search string with at least one state accepting a match. The states are annotated with a pattern that indicates what the state has matched and can match. Each position within the pattern is either a character that has been matched at that point or an indicator that it is unknown. | 12-01-2011 |
| 20110295824 | SEARCH PREDICTION USING CONTEXT MODELING - A method and apparatus for predicting search queries for a user on a search-based system is described. A search engine tracks search queries from a user received at the search engine. A prediction engine compares a search query history from the user with search query histories from other users on the search engine. The search query histories are stored in a storage device of the search-based system. A prediction of a search query for the user is generated based on the comparison. Search query histories from other users having greater similarities with the search query history from the user have a greater computation weight than search query histories from other users with less similarities with the search query history from the user. | 12-01-2011 |
| 20110285556 | Parallel Compression for Dictionary-Based Sequential Coders - Dictionary-based sequential compression is performed in parallel on input data using multiple cores of a computer system. The compression can be performed by first determining a dictionary size for data compression, followed by determining a block size for partitioning the input data. The block size is greater than the dictionary size. The multiple cores of the computer system then execute multiple threads in parallel, with each thread compressing one block of the input data according to a dictionary-based sequential compression scheme. | 11-24-2011 |
| 20110264687 | CONCURRENT LINKED HASHED MAPS - An apparatus and a method for forming a concurrent linked hash map is described. Doubly linked nodes of a linked list are formed in a data container of a networked memory. A hash table is generated from the doubly linked nodes. A parent node is located in the hash table to update a reference of a node in the data container. The parent node is processed in a forward direction of the linked list. | 10-27-2011 |
| 20110258279 | Asynchronous Future Based API - An apparatus and a method for operating on data at a cache node of a data grid system is described. An asynchronous future-based interface of a computer system receives a request to operate on a cache node of a cluster. An acknowledgment is sent back upon receipt of the request prior to operating on the cache node. The cache node is then operated on based on the request. The operation is replicated to other cache nodes in the cluster. An acknowledgment that the operation has been completed in the cluster is sent back. | 10-20-2011 |
| 20110249013 | PLUG-IN ARCHITECTURE FOR DYNAMIC FONT RENDERING ENABLEMENT - A computer system provides a plug-in architecture for creation of a dynamic font. The computer system can incorporate a new filter function into a filtering layer of a font program. The filtering layer includes pre-defined filter functions to transform a base font into a new font. The computer system applies one or more font rules in the filtering layer to the base font. The font rules are implemented by the new filter function and at least one of the pre-defined filter functions to randomize an appearance of each character in a character string. The character string rendered with the new font has a dynamic and randomized appearance. | 10-13-2011 |
| 20110214110 | Compiler Mechanism for Handling Conditional Statements - A computer-implemented method and apparatus for optimizing conditional code by identifying conditional code in a source code, adding a no-operation instruction to an executable code corresponding to the source code in place of the conditional code, adding an entry to a table to pair the no-operation instruction to the conditional code, compiling the conditional code, and storing the compiled conditional code separate from the executable code. A computer-implemented method and apparatus to optimize conditional code by loading an executable code to be executed, checking whether conditional code associated with the executable code is enabled for execution, looking up a location of a no-operation instruction in a table and a location of a compiled conditional code in the table, and replacing the no-operation instruction in the executable code with the compiled conditional code. | 09-01-2011 |
| 20110213926 | METHODS FOR DETERMINING ALIAS OFFSET OF A CACHE MEMORY - A redundant array of independent disk (RAID) stack determines a first number of processor cycles to reload first data from a first memory address of a main memory into a processor of a data processing system. The RAID stack loads second data from a second memory address of the main memory into the processor, where the second memory address is configured to be an address offset from the first memory address. The RAID stack reloads the first data from the first memory address of the main memory and determines a second number of processor cycles to reload the first data from the first memory address of the main memory. An alias offset of a cache memory associated with the processor of the data processing system is determined based on the first number of processor cycles and the second number of processor cycle. | 09-01-2011 |
| 20110213925 | METHODS FOR REDUCING CACHE MEMORY POLLUTION DURING PARITY CALCULATIONS OF RAID DATA - A redundant array of independent disk (RAID) stack loads a first parity block of RAID data into a first memory address of a main memory of a data processing system. A first parity calculation is performed on a first plurality of data blocks of the RAID data with the first parity block loaded from the first memory address of the main memory into a register of the processor of the data processing system and a cache memory associated with the processor. The RAID stack loads subsequent parity blocks of RAID data into subsequent memory addresses of the main memory, where a difference between the first memory address and the subsequent memory addresses equals to one or more multiples of an alias offset associated with the cache memory. A second parity calculation is performed on a second plurality of data blocks and the second parity block of the RAID data. | 09-01-2011 |
| 20110213924 | METHODS FOR ADAPTING PERFORMANCE SENSITIVE OPERATIONS TO VARIOUS LEVELS OF MACHINE LOADS - For each of a plurality of memory access routines having different access timing characteristic, a redundant array of independent disk (RAID) stack executes the memory access routine to load predetermined data from a main memory to a register of a processor of a data processing system. The RAID stack determines an amount of cache misses for the execution of the memory access routine. The RAID stack selects one of the plurality of memory access routines that has the least amount of cache misses for further memory accesses for the purpose of parity calculations of RAID data. | 09-01-2011 |
| 20110213923 | METHODS FOR OPTIMIZING PERFORMANCE OF TRANSIENT DATA CALCULATIONS - A redundant array of independent disk (RAID) stack loads a parity block of RAID data from a main memory into a first register of a processing device and loading the parity block into a cache memory of the processing device. The RAID stack loads a first data block of the RAID data from the main memory into a second register of the processing device without loading the first data block into the cache memory of the processing device. The processing device performs a first parity calculation based on the parity block of the first register and the first data block of the second register. | 09-01-2011 |
| 20110209141 | MANAGING A USER PROXY CONFIGURATION IN A DAEMON THAT FREQUENTLY LOADS AND UNLOADS AND IS USED BY MULTIPLE USERS SIMULTANEOUSLY - A user proxy setting is managed by a computer system that frequently performs package updates. A session starts when a user logs onto the computer system. The session registers the proxy setting of the user with a daemon that quits after a period of inactivity and restarts upon request. The daemon stores the proxy setting in a database using a user identifier (UID) and a session identifier as a key. The daemon then performs package updates multiple times during the session via a network, each time using the proxy setting stored in the database. | 08-25-2011 |
| 20110205658 | Automatically Detecting Discrepancies Between Storage subsystem Alignments - A computer-implemented method and apparatus for detecting misalignment in a data storage stack by opening a first storage layer in the data storage stack, performing a plurality of accesses of the first storage layer, each of the plurality of accesses starting at a different offset, and determining an optimal offset based on a performance benchmark of each of the plurality of accesses. | 08-25-2011 |
| 20110202840 | REUSABLE MEDIA SOURCES FOR ONLINE BROADCAST DATA - A broadcaster-specific service module is provided for applications hosted by a processing device. The broadcaster-specific service module and the applications communicate through a common service bus. The broadcaster-specific service module receives items from an online broadcaster via a network, with each item associated with a media file or stream available from the online broadcaster. The broadcaster-specific service module generates a catalog containing a tree of the items, and sends the catalog to a target application via the service bus to display the catalog for user selection. The broadcaster-specific service module formats data of the catalog can be understood by all of the applications attached to the service bus. | 08-18-2011 |
| 20110202699 | PREFERRED INTERRUPT BINDING - A method and system for binding interrupts to central processing units (CPUs). An interrupt controller receives an interrupt that is generated by a device coupled to the computer system. The interrupt controller identifies a preferred CPU associated with the device based on a predetermined binding. If the preferred CPU is currently available, the interrupt is sent to the preferred CPU. If the preferred CPU is not currently available, the interrupt is sent to another CPU in the computer system that is currently available. | 08-18-2011 |
| 20110196996 | METHODS FOR ACCOUNTING SEEK TIME OF DISK ACCESSES - An input and output (IO) scheduler dispatches a first IO request from a first IO queue during a first dispatch cycle and dispatches a second IO request from a second IO queue during a second dispatch cycle to one or more disks, where the first IO request is the last remaining IO request in the first queue and the second IO request is the first overall IO request in the second queue. The first and second IO requests are selected from multiple IO requests received from one or more clients for accessing the one or more disks. A seek time monitor measures disk seek time (IO queue switch time) incurred between the first IO request and the second IO request, and determines whether the first IO request and the second IO request belong to the same group. The disk seek time is attributed to a group associated with the first IO request and the second IO request, if the first IO request and the second IO request belong to the same group. If not, then this seek time incurred during queue switch is attributed to a common ancestor of two IO queues in the IO hierarchy. | 08-11-2011 |
| 20110191561 | AUGMENTED ADVISORY LOCK MECHANISM FOR TIGHTLY-COUPLED CLUSTERS - An inter-machine locking mechanism coordinates the access of shared resources in a tightly-coupled cluster that includes a number of processing systems. When a requesting processing system acquires a lock to access a resource, a comparison is made between values of a global counter and a local counter. The global counter indicates the number of times the lock is acquired exclusively by any of the processing systems. Based on the comparison result, the requesting processing system determines whether the resource has been modified since the last time it held the lock. | 08-04-2011 |
| 20110183613 | DEVICE SETUP EXTENSION FOR APPLICATIONS - A first wireless device is configured to be used with a second wireless device. The configuration is performed after the first wireless device establishes a connection with the second wireless device. The first wireless device identifies services supported by the second wireless device without user intervention, and passes identified services to a plugin system in the first wireless device. The plugin system includes plugins that are associated with the identified services. The plugins present configuration options that are associated with the identified services via a user interface. From the user interface, the first wireless device receives a selection of the configuration options and is configured according to the selection. | 07-28-2011 |
| 20110131635 | CLIENT-SIDE PREVENTION OF CROSS-SITE REQUEST FORGERIES - Cross-site request forgeries (“XSRF”) can be prevented using a client-side plugin on a client computer. The client computer accesses a content provided by a third party host via a network and generates a request to a web application as directed by the content. The client-side plugin determines whether the request is associated with suspicious activities based on the content, a source of the request and a list of approved hosts associated with the target host. In response to a determination that the request is associated with suspicious activities, the plugin removes authentication credentials from the request and sends the request to the web application. | 06-02-2011 |
| 20110129086 | Unicode-Compatible Stream Cipher - A process and system for enciphering and deciphering Unicode characters that is compatible with scripting languages such as JAVASCRIPT®, JSCRIPT® and VBSCRIPT®. The process and system can encipher each character individually and maintain the size of the character. The enciphered character is deciphered at the application layer at the client to provide endpoint security. | 06-02-2011 |
| 20110126191 | METHOD FOR EXTRACTING FONT METADATA FROM FONT FILES INTO SEARCHABLE METADATA FOR PACKAGE DISTRIBUTION - A package installer identifies a font package that facilitates rendering a font of a file being opened by a user based on font metadata downloaded from the remote server. The font metadata includes information identifying one or more font packages available for download from the remote server. Font metadata associated with each font package further indicates one or more fonts supported by the corresponding font package. A graphical user interface (GUI) is displayed to the user prompting whether the user desires to install the identified font package. The GUI further indicates that an additional font needs to be installed in order to view the file correctly. In response to an input from the user via the GUI, the package installer downloads the font package from the remote server for local installation. | 05-26-2011 |
| 20110119491 | SIMPLIFIED PAIRING FOR WIRELESS DEVICES - A first wireless device is paired with a second wireless device for communication over a wireless connection. The first wireless device receives an input that indicates a device identifier of the second wireless device, and then matches the device identifier with one of the data entries in a data repository to obtain a code of the second wireless device without user interactions. The data repository contains a plurality of data entries associating a plurality of wireless devices with their corresponding codes. Based on the code of the second wireless device, the first wireless device authenticates the second wireless device and establishes the wireless connection. | 05-19-2011 |
| 20110113484 | UNIFIED SYSTEM INTERFACE FOR AUTHENTICATION AND AUTHORIZATION - A request is received at an authorization framework via an authorization application programming interface (API) from a trusted application for authorizing a client application, where the client application requests a service provided by the trusted application. In response to the request, the client application is authorized in view of one or more authorization policies associated with the client application to determine whether the client application is authorized to access the requested service. A user associated with the client application is authenticated to determine whether the user is allowed to access the requested service. Thereafter, a value is returned from the authorization framework via the authorization API to the trusted application indicating whether the client application can access the requested service provided by the trusted application, based on results of the authorization and authentication. | 05-12-2011 |
| 20110113436 | Event Logging Application Programming Interface (API) - An event logging interface on a computer system is used to record an event when an application hosted by the computer system encounters the event. The event logging interface receives data pertaining to an event from the application. Using the event logging interface, the computer system determines a logical target of the event, and determines one or more physical destinations referenced by the logical target. The data is then dispatched to one of the physical destinations. | 05-12-2011 |
| 20110107356 | Automatic Labeling of Output Device Components - The automated labeling system provides access to the input mechanism axes and button semantic information to applications running in a windowing environment. This enables the applications to not have to have specific information or interface with the low level drivers of the input mechanism and can rely exclusively on the windowing system and its API to interface with the input devices attached to the computer system. | 05-05-2011 |
| 20110107313 | Integration of Visualization with Source Code in the Eclipse Development Environment - A computer implemented method involving receiving by an integrated development environment an output file from a profiling utility to generate a line chart of data from the output file. The method to visualize profiling data for a binary file automatically and to displaying corresponding source code in response to a user selection of a data point in the line chart. | 05-05-2011 |
| 20110107309 | Valgrind Suppressions File Editor - A computer-implemented method involving detecting a creating or opening of a suppression file presenting a suppression edits, executing an auto complete search in response to input to define a suppressions and storing the suppression file to be utilized with a profiling tool to hide data defined by the suppression file. | 05-05-2011 |
| 20110107305 | Visualizing Thread Life Time in Eclipse - A computer method involving receiving by an integrated development environment component an output file from a thread tracking component, generating a Gantt chart of a thread from the output file to visualize a life of the thread, and displaying the Gantt chart to a requesting user. | 05-05-2011 |
| 20110107298 | INTEGRATION OF STRUCTURED PROFILING DATA WITH SOURCE DATA IN THE ECLIPSE DEVELOPMENT ENVIRONMENT - A computer-implemented system and method including receiving an output file from a profiling utility by an integrated development environment component. The output file is used to generate an interactive presentation of data by a computer system to visually organize profiling data automatically. Corresponding source code is displayed in response to a user selection of a data point of the interactive presentation within the integrated development environment. | 05-05-2011 |
| 20110107224 | METHOD FOR PROVIDING IDENTIFYING INFORMATION FOR COMPUTERS ON A NETWORK - A hostname configuration unit associates a display hostname with a regular hostname of a host, where the regular hostname identifies the host and the display hostname identifies a service associated with the host, where the service is provided by a client application. The hostname configuration unit further associates a graphical representation with the display hostname. A hostname query unit is configured to provide the client application the regular hostname, the display hostname, and the graphical representation in response to a request for hostname data received from the client application. The regular hostname, the display hostname, and the graphical representation are used by the client application to advertise a service to allow a remote node to access the advertised service of the application over a network. | 05-05-2011 |
| 20110107007 | ASYNCHRONOUS PAGE FAULTS FOR VIRTUAL MACHINES - A method and system to handle an asynchronous page fault in a virtual machine system. A computer hosts a virtual machine that includes a virtual central processing unit (CPU). The virtual CPU requests access to a page that is not resident in memory. The host operating system of the computer receives an indication of a page fault, and informs the virtual CPU of the page fault. The host operating system provides an identifier associated with the page fault. The host operating system performs page swapping operating in parallel with a new task rescheduled by the virtual CPU, and sends a wake-up signal to the virtual CPU when the page has been brought back into the memory. | 05-05-2011 |
| 20110099516 | METHOD FOR CENTRALIZED APPLICATION PACKAGE DISTRIBUTION - A package installer identifies a utility tool that is capable of opening a file attempted by a user based on metadata downloaded from a remote server, where the metadata includes information identifying one or more packages available for download from the remote server, including mime types of files that the one or more packages support. A graphical user interface (GUI) is displayed to the user prompting whether the user desires to install the identified utility tool. In response to an input from the user via the GUI, the package installer downloads a package associated with the identified utility tool from the remote server for local installation. | 04-28-2011 |
| 20110099374 | AUTHENTICATION OF A SECURE VIRTUAL NETWORK COMPUTING (VNC) CONNECTION - A secure Virtual Network Computing (VNC) connection between a server and a client is authenticated using a series of message exchanges. A server receives a request from a client to establish a VNC connection. If the request indicates that the client supports an encryption scheme, the server provides a first set of mechanisms for a subsequent authentication process. If the request indicates that the client does not support the encryption scheme, the server provides the client a second set of mechanisms for the subsequent authentication process. The second set contains fewer mechanisms than the first set. The client chooses an authentication mechanism from the first set or the second set provided by the server. The server and the client then perform the subsequent authentication process, using the authentication mechanism chosen by the client, with a series of message exchanges. | 04-28-2011 |
| 20110078673 | PERSISTING THE CHANGES FOR MANAGED COMPONENTS IN AN APPLICATION SERVER - A method and a system maintain a change to a component in an application server after the application server is re-started. The application server can be a Java-based application server that runs on a computer coupled to a management console. Through the management console, the application server receives an updated value of a component during runtime of the component. A profile service in the application server associates the component to a deployment descriptor that refers to an original value of the components. A representation of the component is then created and stored in a persistence data format in non-volatile data storage. The representation includes the updated value and indicates an association of the component with the deployment descriptor. When the application server is re-started, the representation is applied to the deployment descriptor to override the original value with the updated value. | 03-31-2011 |
| 20110078672 | Classloading Technique for an Application Server that Provides Dependency Enforcement - A Java-based application server, which supports multiple component models, includes a classloading module to enforce dependencies among classes and among the components that uses the classes. The classloading module determines whether a classloader created at deployment can share a version of a class with other classloaders. The classloading module also uses dependency information to determine which of the other classloaders on which the classloader depends. The classloading module uses pluggable classloading policies to determine the rules to be followed during classloading operations. The same state machine is used for classloading and for controlling the lifecycle of multiple component modules. The classloading module also utilizes abstraction of interfaces to communicate requirements and capabilities among the classloaders and with the system. | 03-31-2011 |
| 20110078659 | Java-Based Application Server that Supports Multiple Component Models - A Java-based application server supports runtime operations of components that belong to multiple component models. The components may cross-reference each other. A component of a source component model can be integrated into a target component model to form an integrated component. State transitions of the integrated component can be managed according to the target component model with reference to the libraries of the source component model. The integrated component can be installed in the application server for execution by a Java virtual machine. | 03-31-2011 |
| 20110067007 | AUTOMATIC THREAD DUMPING - A server node comprises a monitoring module to support automatic thread dumping. The monitoring module monitors execution of a multi-threaded Java program on a Java virtual machine. The monitoring module detects a pre-defined condition that occurs to one or more of the threads during the execution. Upon detection of the pre-defined condition, the monitoring module automatically invokes a thread dumping module to dump the threads that are currently running on the Java virtual machine. | 03-17-2011 |
| 20110066672 | Transaction Sticky Load Balance Policies - A transaction sticky load balance policy allows a remote client to choose a target server node from a server cluster to provide a transaction service. The load balance policy directs invocations of business methods within a transaction to the same target server node. The remote client receives the load balance policy from a proxy, which is downloaded to the remote client from one of the server nodes in the server cluster. The remote client selects a target server node according to the load balance policy. The remote client then invokes the business methods within a transaction on the target server node via the proxy. The target server node can execute all of the business methods within the transaction on a Java virtual machine. The business methods can be implemented with Enterprise JavaBeans (EJBs). | 03-17-2011 |
| 20110060881 | Asynchronous Cache Refresh for Systems with a Heavy Load - A method and system to refresh a data entry in a cache before the data entry expires. The system includes a client computing system coupled to a server via a network connection. In response to a request for data access, the client computing system locates a data entry in a cache and determines whether the data entry in the cache has exceeded a refresh timeout since a last update of the data entry. If the data entry in the cache has exceeded the refresh timeout, the client computing system retrieves the data entry found in the cache in response to the request without waiting for the data entry to be refreshed, and requests a refresh of the data entry from the server via the network connection. | 03-10-2011 |
| 20110055607 | METHODS FOR MANAGING PROCESS ACTIVITY DATA USING A SYSTEM-WIDE DAEMON - Techniques for managing process activity statistics using a system-wide daemon are described herein. A power management daemon retrieves process activity status data from a system monitoring file stored within a data processing system, in response to a request received from a session client via an application programming interface (API). The power management daemon is a single system-wide component within the data processing system to provide the process activity status data to a plurality of session clients. The retrieved process activity status data is returned to the client via the API, where the system monitoring file requires a predetermined accessing privilege for accessing. Thus, through the power management daemon, the session client does not have to satisfy the predetermined accessing privilege in order to access the process activity status data stored in the system monitoring file. | 03-03-2011 |
| 20110050712 | Extension To A Hypervisor That Utilizes Graphics Hardware On A Host - Graphics rendering in a virtual machine system is accelerated by utilizing host graphics hardware. In one embodiment, the virtual machine system includes a server that hosts a plurality of virtual machines. The server includes one or more graphics processing units. Each graphics processing unit can be allocated to multiple virtual machines to render images. A hypervisor that runs on the server is extended to include a redirection module, which receives a rendering request from a virtual machine and redirects the rendering request to a graphics driver. The graphics driver can commands an allocated portion of a graphics processing unit to render an image on the server. | 03-03-2011 |
| 20110035630 | ANNOTATING GUI TEST AUTOMATION PLAYBACK AND DEBUGGING - A method and system for annotating an object on the graphical user interface (GUI) (“a GUI object”) during automated testing of an application. In one embodiment, the GUI of an application is tested with a test automation tool. During runtime of the automated test, the test automation tool automatically overlays a visual cue on the GUI. The visual cue points to a GUI object of the application and contains a comment regarding an event relating to the GUI object that is expected to occur in runtime. | 02-10-2011 |
| 20110035614 | METHODS FOR DETERMINING BATTERY STATISTICS USING A SYSTEM-WIDE DAEMON - Techniques for determining battery statistics using a system-wide daemon are described herein. According to one embodiment, a power management daemon is configured to collect operating status data of a battery of a data processing system by accessing at least one of firmware and hardware coupled to the battery. The power management daemon is a single system-wide component within the data processing system to provide the operating status data of the battery to multiple clients. The power management daemon is also configured to compute battery statistics based on the collected operating status data of the battery. In response to a query received from one of the clients via an application programming interface (API), the power management daemon is configured to return the battery statistics to the client to enable the client to determine remaining time of the battery until being recharged. Other methods and apparatuses are also described. | 02-10-2011 |
| 20110017821 | ACCESS TO A REMOTE MACHINE FROM A LOCAL MACHINE VIA SMART CARD - A method and apparatus for accessing a remote machine from a local machine via a smart card. In one embodiment, the presence of the smart card coupled to the local machine is detected. A card reader reads the credentials from the smart card and communicates them to a remote access client application of the local machine. The remote access client application transmits the credentials to the remote machine. The remote machine sends a query for login information to the local machine upon valid credentials. The local machine transmits the login information to the remote machine and is granted permission to access the remote machine upon valid login information. | 01-27-2011 |
| 20110016178 | Client Side Culling of Dynamic Resources - A resource management module detect and prevents redundant resources in a client side application. The resource management module is initialized on the client side in a browser or similar application. The resource management module then searches for already executing resources or resources that are already in use. The discovered resources are then compiled and stored in a resource directory. When subsequent pages are loaded the resource management module searches the pages for resources that the page utilizes. The resources are added to the directory if not already present in the resource directory. If the resources are already present in the directory, then the web page being reviewed is modified to remove or replace the multiple resource before being passed on to the browser for loading of resources. In this manner the amount of memory and processing resourced utilized by the client computer can be reduced. | 01-20-2011 |
| 20100287173 | Searching Documents for Successive Hashed Keywords - A method and system searches documents that contain an ordered pair of keywords using search indices stored in multiple storage locations. In one embodiment, a server receives the search request that includes an ordered pair of keywords. The server hashes each keyword with multiple hash functions to obtain a hash vector pair, which are used to index a chain of search indices. Hash values in the hash vector pair are used to locate the chain of search indices that are stored across multiple storage locations. The last search index in the chain provides identifiers of documents containing the ordered pair of keywords, with a distance between the keywords in the documents below a predetermined limit. The documents can be retrieved from document repositories using the identifiers. | 11-11-2010 |
| 20100287171 | Federated Indexing from Hashed Primary Key Slices - A method and system stores and retrieves data items associated with a primary key, using search indices at multiple storage locations. A server receives a primary key, identifies one or more segments of the primary key, and hashes each segment with one or more hash functions to obtain a sequence of hash values. The hash values are used as keys to index a chain of search indices that are stored in multiple storage locations. One or more of the hash values in the sequence are used to form a host name, and the host name is mapped to an address of a server that stores a first search index in the chain. The last search index in the chain contains the data items associated with the primary key, or provides a reference to one or more locations at which the data items can be found. | 11-11-2010 |
| 20100235003 | INFRASTRUCTURE FOR ADAPTIVE ENVIRONMENTAL CONTROL FOR EQUIPMENT IN A BOUNDED AREA - Integrating information and performance controls for individual devices with environmental controls. Integrating the individual devices with general environmental control enables adaptive environmental control. For equipment housed in a bounded space such as a server room, information about the thermal environment within the bounded space can affect the performance of the equipment. Additionally, information about the performance conditions and/or thermal conditions about a piece of equipment can affect how the environmental control system for the bounded space operates. The equipment exchanges environmental event messages with a control node to affect the performance of the equipment and/or the environmental control system. | 09-16-2010 |
| 20100228774 | Protocol Independent Mirroring - A method and apparatus including a mirror module to reviewing a data request, check a local data archive for the requested data, and send a request to a remote archive in response to a failed check for the requested data in the local data archive, the local data archive having a matching structure to the request data archive. The mirror module checks whether requested data available in the local data archive is valid. The local data archive is update with data received from the remote data archive in response to the data request. Data requests can be received and serviced for a plurality of protocols by a plurality of mirror modules using the local data archive. | 09-09-2010 |
| 20100228737 | HTTP Range Checksum - A method and apparatus that include a hashing and retrieval module that receives an indicator of a portion of a file to access, generates a hash value of a local copy of the portion and generates a request for a remote copy of the portion of the file, the request including the hash value. A verification and response module receives the request for a portion of a server copy of a data file, the request including a first hashing value. The verification and response module retrieves the portion from a server storage device, generates a second hashing value from the portion, compares the first hash value and the second hash value and returns the portion of the file in response to a failed comparison of the first hash value and second hash value. | 09-09-2010 |
| 20100223497 | Monitoring Processes Via Autocorrelation - A method and apparatus including a monitoring and correction module that monitors process metrics to identify a steady-state for a process, detects a deviation from the steady-state for the process, and executes a corrective measure automatically to reduce an impact of the process in response to the deviation by a monitoring and correction module. The monitoring and correction module also analyzes the deviation to determine whether the deviation is negatively impact in performance for other processes. | 09-02-2010 |
| 20100223456 | SECURITY IMPLEMENTATION WITHIN A BROWSER - Techniques for implementing security within a browser of a data processing system are described herein. According to one embodiment, first data representing a user interaction with a Web page presented by a browser application is encrypted at an application level by a cipher module communicatively coupled to the browser application running at a local client. A JavaScript module embedded within the browser application is configured to transmit the encrypted first data over a network to a remote server for updating the Web page. In response to second data received from the remote server, the cipher module is configured to decrypt the second data at the application level and the decrypted second data is then rendered by the browser application to update the Web page without having to reload the entire Web page. Other methods and apparatuses are also described. | 09-02-2010 |
| 20100223432 | MEMORY SHARING AMONG COMPUTER PROGRAMS - A physical memory location among multiple programs is shared among multiple programs. In one embodiment, multiple memory units are scanned to detect duplicated contents in the memory units. The memory units are used by programs running on a computer system. A data structure is used to identify memory units of identical contents. To improve performance, an additional data structure can be used to identify memory units of identical contents. Memory units that are identified to have identical contents can share the same physical memory space. | 09-02-2010 |
| 20100223383 | SYSTEM FOR TRIGGER-BASED "GATED" DYNAMIC VIRTUAL AND PHYSICAL SYSTEM PROVISIONING - Computing resources are dynamically provisioned to virtual and physical systems. In one embodiment, a control system manages the provisioning of computing resources for multiple client systems. A request for resource provisioning can be sent to the control system as a trigger. The control system converts the information in the trigger into a demand curve that specifies the rates at which resources are to be provided to a client system. The control system then causes the resources to be provisioned to the client system based on the demand curve and a dynamic provisioning profile. The dynamic provisioning profile can be created by a system administrator based on the amount and characteristics of the resources available for provisioning the client system. The dynamic provisioning profile can also specify one or more gate points that indicate the thresholds at which dynamic provisioning can be stopped. | 09-02-2010 |
| 20100223358 | METHOD AND APPARATUS FOR THWARTING KEYLOGGERS USING PROXIES - Techniques for thwarting keylogger using a proxy are described herein. According to one embodiment, in response to a request received from a client for accessing a Web page provided from a remote Web server over a network, a proxy server retrieves the Web page from the remote Web server and presents the Web page to the client. The proxy server further presents a virtual keyboard to the client to allow a user of the client to enter one or more keys in an input field of the Web page without having to type at the client for the purposes of logging into the Web site. Thereafter, the proxy server directs traffic between the client and the remote Web server over the network. Other methods and apparatuses are also described. | 09-02-2010 |
| 20100220853 | Method and Apparatus for Compound Hashing Via Iteration - A method and apparatus for a system and process for generating a hashing value using any number of cryptographic hashing functions. The hashing process receives an input value to be hashed. The input value is cyptographically hashed and augmented. The augmented value is then cryptographically hashed. The process then iteratively applies a set of non-linear functions to these values. Each iteration maintaining a ‘left half’ and ‘right half.’ After the last iteration, the left and right portions are concatenated to form a hash value that is output. | 09-02-2010 |
| 20100219993 | EFFICIENT CODING OF INTEGERS IN NON-POWER-OF-TWO RANGES - Coding efficiently in non-power-of-two ranges. Coding is performed in an N-bit system, where certain codes are represented with N bits and other codes are represented with (N+1) bits. An example is where the other codes may have an N-bit representation used to represent multiple values, with the additional bit being disambiguation information provided to distinguish the codes having multiple values. Thus, N bits are used to represent most codes, and an extra bit is used to represent other codes. The number of bits per element used for representing a sequence is, on average, close to a theoretical minimum for N-bits. | 09-02-2010 |
| 20100217986 | AUTHENTICATED SECRET SHARING - A method and system distributes N shares of a secret among cooperating entities by forming a mathematical construct that has an embedded internal structure to allow authentication of a reconstructed secret. The mathematical construct can be a splitting polynomial constructed using the secret, a key and a message authentication code (MAC) as coefficients. The splitting polynomial is evaluated at N random evaluation points to obtain N result values. N shares of the secret are generated and distributed among the cooperating entities for storage. A reconstructed secret can be authenticated by computing the MAC of the reconstructed secret and verifying a relationship among the coefficients of a reconstructed splitting polynomial using the MAC. If the coefficients do not satisfy the relationship, one or more additional shares of the secret can be used to reconstruct the splitting polynomial and the secret. | 08-26-2010 |
| 20100215172 | SHARING A SECRET WITH MODULAR INVERSES - A method and system distributes N shares of a secret among cooperating entities by calculating the multiplicative inverses of the secret. In one embodiment, a distributor selects N distinct prime numbers and forms unique subsets of the prime numbers, with each subset containing K of the N prime numbers (N>=K), where K is a threshold number of shares necessary to reconstruct the secret. The distributor calculates a product of the prime numbers in each subset, and, for each subset, calculates the multiplicative inverse of the secret modulo the product. A total of N shares are generated, with each share containing the multiplicative inverses and one of the prime numbers. The N shares are distributed to the cooperating entities for secret sharing. | 08-26-2010 |
| 20100211657 | Automatic Extension of Distributed Managed Ranges in a Multi-Master System - A method and system for automatic extension of a distributed numeric range in a multi-master system are described. In one embodiment, each of a plurality of master servers is provided with a unique range of numeric values that can be assigned to clients. Each master server can dynamically extend its associated range when the range is about to be exhausted. For example, a first master server can send a range request to a second master server to obtain additional numeric values when the number of values in its associated range is below a threshold. After receipt of the additional numeric values from the second master server, the first master server updates its associated range and assigns the additional numeric values to the clients. | 08-19-2010 |
| 20100211435 | Package Review Process Mentorship System - A method and apparatus for an automated software package review process mentorship system. The package review system receives proposed package from programmers to be reviewed before inclusion in a software project or collection. This system can also be used for the review and analysis of other types of projects. The system includes a package management module that works in conjunction with a review management module to automatically assign the received packages to reviewers that have the appropriate skills and availability to review the type of packages that have been submitted. If the reviewer does not complete the review within a specified time period, then the package can be automatically reassigned. In addition, the package reviewer is given an interface for providing feedback to the package submitter that simplifies the task of the reviewer by providing a set of predefined responses. | 08-19-2010 |
| 20100211428 | Automated Customer Service Matching Methodology - Described herein is a method and apparatus for providing an automated customer service matching system. The customer service system matches customer services requests with employee profiles. The customer service system provides a graphical user interface for monitor the management of customer service requests. The customer service system also includes a process for registering employees and creating employee profiles, as well as a system for registering customers and creating or matching a customer with the customer profile. | 08-19-2010 |
| 20100174578 | Interface for Project and Task Submission for Automated Delegation - The automated task delegation and project management system tracks user profiles and project profiles, which include information about the interests and skills each user in the system possesses as well as the skills that are required by each project in the system and the characteristics of each project. This information can then be utilized to correlate user interests and skills with the available projects. Project data can be collected from the submitter to enable the automated matching. The user interface facilitates the collection and storage of the project profile data including tasks, files, resources, and tags. | 07-08-2010 |
| 20100174577 | Automated Task Delegation Based on Skills - The automated task delegation and project management system tracks user profiles and project profiles, which include information about the interests and skills each user in the system possess as well as the skills that are required by each project in the system and the characteristics of each project. This information can then be utilized to correlate user interests and skills with the available projects. Similarly, these user profiles can be utilized to identify mentors for new users in the system based on the skill sets and project involvement of other users and potential mentors in the system and the interests and skill sets of the new users. | 07-08-2010 |
| 20100169897 | System, Method and Medium for Providing Asynchronous Input and Output with Less System Calls to and From an Operating System - A system, method and medium for reducing the number of system calls from an application program to an operating system kernel. In an embodiment, a method includes the steps of creating a list of requests issued by an application program, associating an indicia with the list indicating whether the list contains a request, querying the indicia to determine if the list contains a request, and adding a new application program request to the list when the indicia indicates that the list includes a request. | 07-01-2010 |
| 20100145958 | Credibility Rating Algorithm - A method and apparatus for providing a credibility rating and management system. The credibility rating and management system can be shared amongst any number of independent systems. The credibility rating and management system collects data points from each of the participant systems, tracks user profiles across each of the participant systems and generates a rating for each user profile. Associated systems can then query the credibility rating and management system to obtain the credibility rating for a user and incorporate the credibility ratings into their own systems. | 06-10-2010 |
| 20100138815 | IMPLEMENTING ASPECTS WITH CALLBACKS IN VIRTUAL MACHINES - Implementing aspects via callback in a virtual machine, where an aspect weaver weaves the aspect with a module to provide primary and crosscutting functionality in the runtime execution of the module. The virtual machine has multiple modules that are part of an application implementing separation of concerns. Each of the multiple modules has a distinct functionality portion and a common functionality portion, common to all modules. The common functionality is referenced by the virtual machine via callback for the multiple modules. Aspect code is loaded as a callback that is applied to the multiple modules by the virtual machine. Loading the aspect code as a callback can implement the aspect at any point in the modules, including conditional statements, calls to methods of objects or classes, loops, any point in an exception handler, or to monitor changes in variables. | 06-03-2010 |
| 20100134281 | Project Management Notification and Updates Using Family Tree - A method and apparatus for automated project management notification using an update family tree. The system utilizes a set of subscription service managers and a set of message processing managers to automatically manage the inter-relationship between a set of systems belonging to different entities within the overall family tree of entities working on a project. Each subscription service manager tracks the other entities interested in the updates and events from the host of the subscription service manager. The message processing managers receive the update events from the subscription service manager and apply a set of host defined rules that govern the automated processing of the received messages. In turn, the entity hosting each message processing manager may have its own set of subscribers that are managed by their respective subscription service manager. | 06-03-2010 |
| 20100132013 | RELIABLY TERMINATING PROCESSES IN A SYSTEM WITH CONFINED EXECUTION ENVIRONMENTS - Terminating a process executing within a container is described. An access restriction applicable to the process is temporarily modified with a policy change that prevents creating new processes within the container. The policy change prevents operations that would allow processes within the container from performing a fork operation, or otherwise spawning new processes within the container. The policy change may be, for example, applied by means of a rule added or removed from an access restriction policy. While the processes are prevented from creating new processes, one specified process or all processes within the container are terminated. After termination of the process(es), the policy change can be reversed, allowing normal use of the container. | 05-27-2010 |
| 20100132012 | MERGING MANDATORY ACCESS CONTROL (MAC) POLICIES IN A SYSTEM WITH MULTIPLE EXECUTION CONTAINERS - Application of a local instance of a general security policy is described. In a system with an instance of a program executing in a path container, a security policy applicable the the instance of the program is managed locally for the path container. The path container provides a confined execution environment for the program instance, and the security policy defines permitted operations for the program an all its instances. The instance of the security policy is associated with the path container, which allows the program instance to “see” management within the path container as though with the security policy, while entities having permissions outside the path container “see” the program instance limited to the path container and its associated security policy instance. | 05-27-2010 |
| 20100131559 | ISOLATING AN EXECUTION CONTAINER IN A SYSTEM WITH MANDATORY ACCESS CONTROL (MAC) - Preventing a process from traversing back a directory tree through its parent directories is described. In a system with a program executing in a path container, an access permission rule applicable to the instance of the program prevents the program from traversing the tree structure back through its parent directories towards an absolute root directory. The access permission rule may be a rule in an instance of a security policy applicable to the particular path container from which the process is executing. | 05-27-2010 |
| 20100127900 | TABLE MANAGEMENT FOR LZW WITH FIXED-SIZE TABLES - Managing a string translation table, where a compressor includes information in the table entries to distinguish strings as more or less important. More particularly, the compressor can identify a string in an input stream, determine an age indicator for the string, and record the age indicator in the table. When the string is encountered or identified, a use indicator or counter may be adjusted to indicate use of the entry and timing information related to encountering the entry. Instead of discarding all entries in the string translation table, a portion of the table can be discarded that has less important entries. The determination of whether to discard an entry as being less important can be based on the age indicator and the use indicator. | 05-27-2010 |
| 20100100772 | SYSTEM AND METHOD FOR VERIFYING COMPATIBILITY OF COMPUTER EQUIPMENT WITH A SOFTWARE PRODUCT - System and method for verifying compatibility of computer equipment with a software product. A system and method are provided to verify compatibility of computer equipment with software. This verification can include gathering information about configurations of the computer equipment, and creating at least one file based on the information. The file or files coordinate testing of the computer equipment. The testing produces results that can be stored and analyzed or evaluated. The results can be contained in a file or a plurality of files. The results provide a description of the configurations in addition to an indication of whether the testing has produced any failures. The configuration descriptions or parts thereof can be stored in a configuration database that can be used to apply credit against future testing of computer equipment so that future testing needs can be reduced. | 04-22-2010 |
| 20100083368 | THUMB DRIVE GUEST USER - A method and system for managing a computer user, comprising initiating a user session for the computer user based on user data stored in one partition on a removable computer readable medium. The user data is associated with a user ID, and the user ID is stored on a second partition of the removable computer readable medium. The user ID is used to identify the user data to the computer user. The computer user is authenticated as being associated with the user data based in part on the user ID. Also described is an article of manufacture for creating a partition on a removable computer readable medium for storing user data and associating it with a second partition storing an associated user ID on the removable computer readable medium. | 04-01-2010 |
| 20100058338 | CALLBACKS IN VIRTUAL MACHINES - The use of callback functions when executing intermediate instructions in a virtual machine is described. The virtual machine receives and evaluates intermediate instructions. The virtual machine evaluates the instructions based a function table referencing definitions of the functions. A callback is loaded into the virtual machine platform, and a callback loader modifies the function table to cause a function in the table to point to the callback instead of the standard definition. Thus, when the intermediate code is evaluated, it is evaluated based on the modified functionality of the callback rather than the standard definition. | 03-04-2010 |
| 20100049839 | RAPID DEPLOYMENT REMOTE NETWORK MONITOR - A method and apparatus for imaging a network monitor. In one embodiment, the method includes receiving information concerning a customer network to be monitored by a network monitor, and selecting a bootable image for the network monitor using the network information. The bootable image contains network monitoring software and an operating system, and can be booted on any computing device of the customer network. The method further includes providing the bootable image of the network monitor to a requester, and then receiving a fixed IP address of the network monitor from a computing device on the customer network that is designated to host the network monitor. | 02-25-2010 |
| 20090300084 | SET PARTITIONING FOR ENCODING FILE SYSTEM ALLOCATION METADATA - Methods for encoding file system metadata are described herein. According to one embodiment, a file system cache is maintained including information representing relationships between inodes and disk blocks of a disk having disk sections. Each disk section includes a data segment and a header encoding metadata for describing the data section of each disk section. The metadata is encoded using a set partitioning algorithm and each set represents a set of disk blocks. In response to a file system request for reading a disk section, metadata associated with the disk section is retrieved and decoded to extract information representing a relationship between inodes and disk blocks associated with the requested disk section. The file system request is then serviced using the decoded metadata and the associated data segment and one or more entries of the file system cache are updated using the decoded metadata. | 12-03-2009 |
| 20090267810 | EFFICIENT CODING OF SMALL INTEGER SETS - Techniques for coding integer sets are described herein. According to one embodiment, for each data range of parameters to be encoded, a number of bits required to represent a maximum parameter among the parameters in each data range is determined, including a first number of bits and a second number of bits corresponding to the first and second data ranges. Each parameter in the first data range is encoded using the first number of bits and each parameter in the second data range is encoded using the second number of bits, where the data stream further includes a value representing the first number of bits and the data stream is to be decoded by a decoder using the value representing the first number of bits to recover the first number of bits and the second number of bits, which are used to recover each parameter from the data stream. | 10-29-2009 |
| 20090256729 | DIFFERENCE CODING ADAPTIVE CONTEXT MODEL USING COUNTING - Techniques for improving encoding and decoding data are described herein. According to one embodiment, it is determined whether a current context can encode a retrieved symbol. The current context includes a plurality entries, each representing an encoded symbol, including a count value representing a frequency of the entry being used. A code is generated to a code stream, where the code represents a difference between an index of an entry in the current context associated with the retrieved symbol and a previous index used for encoding a previous symbol, if the current context can encode the retrieved symbol. A count value corresponding to the entry associated with the retrieved symbol is incremented in the current context. The current context is sorted based on count values of all entries in the current context, where the code stream and the literal stream are to be compressed and encoded by a compressor. | 10-15-2009 |
| 20090199212 | CONFIGURATION INTERFACE MANAGER - A method and system for managing configuration interfaces. In one embodiment, a system includes a user interface for receiving a user login, causing a configuration process to be invoked, and receiving user input for managing the configuration process. A log file is used to store log file information in response to the received user input for managing the configuration process. The log file can be used by a process monitor to determine if there is any recent user activity. The process monitor can determine whether the log file has been changed in response to the received user input during a specific time interval. In response to a determination that the log file has not been changed in response to the received user input during the specific time interval, the process monitor can terminate the configuration process. | 08-06-2009 |
| 20090187642 | CONFIGURATION PROFILING FOR REMOTE CLIENTS - A method and system for a securely gathering and sharing metrics on configurations of client systems. In one embodiment, a system includes a client that determines which components are installed in the client. The client receives, from a user, rating information for individual components in the client, and generates a configuration profile. The configuration profile includes a unique identifier of the client such as a universally unique identifier (UUID), rating information received from the user, and component information for which rating information was received. The configuration profile is sent to a server that stores the configuration profile in a database. The server can send to the client, in response to receiving the configuration profile, received rating information provided from other users having types of components in common with components provided in the configuration profile. | 07-23-2009 |
| 20090172337 | COOPERATIVE MECHANISM FOR EFFICIENT APPLICATION MEMORY ALLOCATION - System, method and computer program product for allocating physical memory to processes. The method includes enabling a kernel to free memory in a physical memory space corresponding to arbitrarily sized memory allocations released by processes or applications in a virtual memory space. After freeing the memory, the system determines whether freed physical memory in the physical memory space spans one or more fixed size memory units (e.g., page frames). The method further includes designating a status of the one or more page frames as available for reuse; the freed page frames marked as available for reuse being available for backing a new process without requiring the kernel to delete data included in the freed memory released by the process. The kernel may organize pages marked as available for reuse in one or more local “pools” that is organized according to a variety of schemes which provide system efficiencies in that the kernel can eliminate the need for deleting of old data in those page frames without compromising data security. | 07-02-2009 |
| 20090119304 | METADATA STRUCTURES AND RELATED LOCKING TECHNIQUES TO IMPROVE PERFORMANCE AND SCALABILITY IN A CLUSTER FILE SYSTEM - A cluster file system is disclosed. A plurality of disk servers, operating as a single distributed disk server layer, are connected to the one or more physical disks. Each disk server stores metadata for each of the files. A plurality of lock servers, having one or more locks for each file and associated file system metadata operates as a single centralized distributed lock server to coordinate access to the files stored by the disk server layer. A plurality of asynchronous file servers, operating as a single distributed file server layer in response to a request for a file from a user program: (i) retrieves the requested file from the disk server layer and at least one lock, associated with the retrieved file, from the lock server, and (ii) retrieves metadata for at least one file that is related to the requested files, and at least one lock, for each file that has had its metadata retrieved. | 05-07-2009 |