Patents by Inventor Claudia A. Salzberg

Claudia A. Salzberg has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20080147937
    Abstract: A system and method for hot-plug/remove of a new component in a running communication fabric, such as a PCIe fabric, are provided. With the system and method, the addition of a new component in the fabric is detected and an event is sent to a multiple root fabric configuration manager. The multiple root fabric configuration manager gathers information about the new component and updates its I/O component tree structure in its configuration data structure to include the new component. The new component may then be utilized via the updated configuration data structure. When a component is to be removed, the multiple root fabric configuration manager receives an event indicating the component to be removed, determines which branches of the tree structure are affected by the removal, and updates its configuration data structure accordingly to remove the component and its associated components from the virtual plane of the removed component.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080148032
    Abstract: A system and method for communication between host systems using a queuing system and shared memories are provided. Memory address spaces of the host systems are initialized such that endpoints may be accessible by root complexes across host systems. These memory address spaces may then be used to allow system images, and their corresponding applications, associated with these root complexes to communicate with the endpoints using a queuing system. Such a queuing system may comprise queue structures having doorbell structures for providing information about the queue entries in the queue structures. Queue elements may be generated and added to the queue structures, and the doorbell structure may be written to, in order to thereby inform an endpoint or root complex that queue elements are available for processing. DMA operations may be performed to retrieve the queue elements and the data corresponding to the queue elements.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147887
    Abstract: A system and method for migration of stateless virtual functions from one virtual plane to another are provided. When a migration of a source virtual function to a destination virtual function in another virtual plane is to be performed, a source single root PCI manager (SR-PCIM) is first interrupted by a multiple root PCI manager (MR-PCIM). Configuration information that defines the source virtual function is then redefined on the destination virtual function for this stateless migration. A function level reset may then be performed on the source virtual function. The destination SR-PCIM may be interrupted by the MR-PCIM with an interrupt for the destination virtual function. A function level reset may then be performed on the destination virtual function. The destination virtual function state may then be changed to an “active” state such that the migrated virtual function begins processing transactions.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080148005
    Abstract: An apparatus and method for communicating with an I/O device or endpoint using a queue data structure and pre-translated addresses associated with the queue data structure are provided. With the apparatus and method, a device driver invokes device driver services for initializing address translation and protection table (ATPT) entries in a root complex for the queue data structure. The device driver services return untranslated addresses to the device driver which are in turn provided to the I/O device or endpoint. The I/O device or endpoint may then request a translation of these untranslated addresses and store them in the I/O device or endpoint prior to receiving an I/O operation targeting the queue data structure. The cached translation may be used to directly access the queue data structure from the I/O device or endpoint by bypassing the root complex's address translation facilities.
    Type: Application
    Filed: October 17, 2006
    Publication date: June 19, 2008
    Inventors: Daniel F. Moertl, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber
  • Publication number: 20080147959
    Abstract: A system and method for initializing shared memories for sharing endpoints across a plurality of root complexes is provided. In one illustrative embodiment, a multi-root PCIe manager (MR-PCIM) initializes the shared memory between root complexes and endpoints by discovering the PCIe switch fabric by traversing all the links accessible through the interconnected switches of the PCIe switch fabric. As the links are traversed, the MR-PCIM compares information obtained for each of the root complexes and endpoints to determine which endpoints and root complexes reside on the same blade. A virtual PCIe tree data structure is then generated that ties the endpoints available on the PCIe switch fabric to each root complex. The MR-PCIM, or a single-root PCIe manager (SR-PCIM), may then assign each endpoint and root complex a base and limit within the PCIe memory address space the endpoint belongs to.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147943
    Abstract: A system and method for migration of a virtual endpoint from one virtual plane to another are provided. With the system and method, when a management application requests migration of a virtual endpoint (VE) from one virtual plane (VP) to another, a fabric manager provides an input/output virtualization intermediary (IOVI) with an interrupt to perform a stateless migration. The IOVI quiesces outstanding requests to the virtual functions (VFs) of the VE, causes a function level reset of the VFs, deconfigures addresses in intermediary switches corresponding to the VP, and informs the fabric manager that a destination migration is requested. The fabric manager sends an interrupt to the destination IOVI which performs a function level reset of the destination VFs and reprograms the intermediary switches with the addresses of the destination VP. The destination VFs may then be placed in an active state.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080147904
    Abstract: A system and method for communication between host systems using a socket connection and shared memories are provided. With such socket-based communication, a work queue in the host systems may be used to listen for incoming socket initialization requests. A first host system that wishes to establish a socket communication connection with a second host system may generate a socket initialization request work queue element in its work queue and may inform the second host system that the socket initialization request work queue element is available for processing. The second host system may then accept or deny the request. If the second host system accepts the request, it returns the second half of the socket's parameters for use by the first host system in performing socket based communications between the first and second host systems.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Douglas M. Freimuth, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber, Jacobo A. Vargas
  • Publication number: 20080141226
    Abstract: A system and method for controlling trace points utilizing source code directory structures. According to an embodiment of the present invention, a debug engine sets a debug level to a default debug level for an application to be debugged, wherein said application includes a collection of files organized within a collection of directories. A debug utility creates a set of trace point selections by selecting at least one file among the plurality of files in the first directory for debug when a first directory among the collection of directories is evaluated. The debug utility enables at least one trace point within the at least one file. The debug engine debugs the application according to the set of trace point selections and the debug level selected.
    Type: Application
    Filed: December 11, 2006
    Publication date: June 12, 2008
    Inventors: Janice M. Girouard, Claudia A. Salzberg, Michael T. Strosaker
  • Publication number: 20080091855
    Abstract: An apparatus and method for communicating with an input/output (I/O) adapter configured to communicate with a locally attached I/O device are provided using cached address translations. With the apparatus and method, in response to receiving a storage transaction request, a queue element is created in a command queue specifying an untranslated buffer address. The queue element may be retrieved by the I/O adapter and a determination may be made as to whether the queue element contains a read operation command. If so, a translation request may be sent from the I/O adapter to a root complex at substantially a same time as the read operation command is sent to a locally attached external I/O device. The translated address corresponding to the untranslated address of the queue element may be returned and stored in the I/O adapter prior to receiving the data read from the external I/O device.
    Type: Application
    Filed: October 17, 2006
    Publication date: April 17, 2008
    Inventors: Daniel F. Moertl, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber
  • Publication number: 20080092148
    Abstract: An apparatus and method for splitting responsibilities for communicating with an endpoint between a device driver and device driver services are provided. With the apparatus and method, the device driver is responsible for managing queues for communicating requests between applications in a logical partition and the endpoint. The device driver further invokes memory management via device driver services. The device driver services are responsible for managing memory accessible by the endpoint, including the address translation and protection table (ATPT) or a root complex and the address translation caches (ATCs) of the endpoint. The device driver services may associate untranslated addresses for data structures used to communicate between a system image and the endpoint. The endpoint may request translations of the untranslated addresses and may cache the translations in the ATCs.
    Type: Application
    Filed: October 17, 2006
    Publication date: April 17, 2008
    Inventors: Daniel F. Moertl, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber
  • Publication number: 20080091915
    Abstract: An apparatus and method for communicating with a memory registration enabled adapter, such as an InfiniBand™ host channel adapter, are provided. With the apparatus and method, device driver services may be invoked by a device driver for initializing address translation entries in an address translation data structure of a root complex. An address of a device driver data buffer data structure and registration modifiers may be passed by the device driver to the device driver services. The device driver services may create address translation data structure entries in the address translation data structure associated with the root complex and memory registration (MR) address translation entries in a MR address translation data structure of the adapter. The MR address translation data structure may then be used with I/O operations to bypass the address translation data structure associated with the root complex.
    Type: Application
    Filed: October 17, 2006
    Publication date: April 17, 2008
    Inventors: Daniel F. Moertl, Renato J. Recio, Claudia A. Salzberg, Steven M. Thurber
  • Publication number: 20060168476
    Abstract: A system, apparatus, computer program product and method of performing functional validation testing in a system are provided. Generally, functional validation testing includes data acquisition and data validation testing. During the functional validation testing two devices may be exchanging data. The exchange of data by the two devices may be referred to as data acquisition. The data from one device and the data from the other device may be compared to each other. This may be referred to as data validation. When data is exchanged during data acquisition, it is also stored in appropriate locations in a pool of buffers in memory. During the data acquisition, checks are made to determine if the system is entering an idle cycle. If so, the data validation test is performed by using the data in the pool of buffers in memory.
    Type: Application
    Filed: January 27, 2005
    Publication date: July 27, 2006
    Inventors: Kevin Kehne, Claudia Salzberg, Steven Smolski
  • Publication number: 20060155897
    Abstract: A system, apparatus, computer program product and method of performing operational validation on a system are provided. The system may include a CPU with a cache, a communications network, and a plurality of devices exchanging data during a test. When the test is ready to be performed, the CPU may set up a pool of buffers in the cache. The pool of buffers may generally have a set of locations corresponding to locations in an actual destination buffer and a set of locations corresponding to locations in an actual source buffer. During the performance of the test, data is exchanged over the communications network to and from the source and destination buffers. Snooping logic in the cache may snoop data on the communications network. The data snooped may be entered in appropriate locations in the pool of buffers. This allows the CPU to perform operational validation by using cached data instead of data that is in the actual source and destination buffers.
    Type: Application
    Filed: January 10, 2005
    Publication date: July 13, 2006
    Inventors: Kevin Kehne, Claudia Salzberg, Steven Smolski
  • Publication number: 20050165717
    Abstract: A method, system and computer program product for improving efficiency of file receipt in a communication program by redirecting a file received as the result of a file request to a mail server is disclosed. A communication program sends a request for a first file to a file server. The communication program then waits a length of time to receive that first file. If the set length of time for waiting for the first file expires before the first file is received, the user interface of the communications program is released to request additional files while a background process waits for the first file. Then, once the background process receives the first file, the background process encapsulates the first file in a message and transmits the message to a target address.
    Type: Application
    Filed: January 22, 2004
    Publication date: July 28, 2005
    Applicant: International Business Machines Corp.
    Inventors: Vijaylaxmi Chakravarty, Oltea Herescu, Claudia Salzberg, Robert Snider
  • Publication number: 20050165746
    Abstract: A system, apparatus and method of pre-fetching data are provided. When a first piece of information is being displayed to a user, the system, apparatus and method determine whether a second piece of information is data-intensive. If the second piece of information is data-intensive, it is pre-fetched into a cache. To implement the invention, however, the application program used to display the information to the user is first parsed for embedded database query calls. If the application program provides the information to the user in a number of succeeding panels, each piece of code representing a panel will be individually parsed. Each query call is identified as selectable or un-selectable. A selectable query call is a call that is used to fetch a piece of data-intensive information; whereas an un-selectable query call is a call that is used to fetch non-data-intensive information. Each selectable call is entered in its respective panel in a table, which is divided into the same number of panels.
    Type: Application
    Filed: January 13, 2004
    Publication date: July 28, 2005
    Applicant: International Business Machines Corporation
    Inventors: Vijaylaxmi Chakravarty, Oltea Herescu, Claudia Salzberg, Robert Snider
  • Publication number: 20050160373
    Abstract: A method and device for executing multiple operations on different files displayed on a graphical user interface. A pre-defined combination of keys is assigned a particular operation, such as “Delete,” “Copy,” “Move,” etc. As a first combination of keys is engaged, one or more files are selected, using a pointing device such as a mouse. The selected files are color-coded, indicating a first operation to be performed on the selected files. A second combination of keys is then engaged, and a second operation is assigned to other selected files. When satisfied that the selected operations are correct for all of the selected files, a user then executes the operations by depressing the “Enter” or similar key. By viewing different operations for different files before the operations are executed, a user is given an overview of all operations to be applied to all selected files, thus improving file management.
    Type: Application
    Filed: January 16, 2004
    Publication date: July 21, 2005
    Applicant: International Business Machines Corporation
    Inventors: Vijaylaxmi Chakravarty, Oltea Herescu, Claudia Salzberg, Robert Snider