Patents by Inventor William J. Armstrong

William J. Armstrong 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).

  • Patent number: 8219988
    Abstract: A partition adjunct is provided for a logical partition running above a hypervisor of a data processing system. The partition adjunct, which is a separate dispatchable partition from an instantiating logical partition, provides one or more services to the logical partition. A service request received from the logical partition is processed by the partition adjunct utilizing virtual address space donated to the partition adjunct from the logical partition. The partition adjunct and the logical partition share a common virtual address to real address page table, and context switching the current state machine from the logical partition to the partition adjunct occurs without invalidating or modifying state data of selected memory management and address translation hardware of the data processing system. In a hardware multithreaded system, the partition adjunct is dispatched on a single thread, while another thread continues to run in the logical partition initiating the service request.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: July 10, 2012
    Assignee: International Business Machines Corporation
    Inventors: William J. Armstrong, Orran Y. Krieger, Michal Ostrowski, Randal C. Swanberg
  • Publication number: 20120117353
    Abstract: A method in a data processing system is provided for processing a service request of a client partition. The method includes: obtaining by a service partition of the data processing system the service request from the client partition, wherein both the client and service partitions execute above a hypervisor of the data processing system; and processing the service request by the service partition utilizing a processor quantum assigned to the client partition and donated by the client partition to the service partition. The client partition controls scheduling of the service partition by queuing the service request at the client partition until the client partition decides to proceed with execution of the service request by the service partition. In one implementation, the service partition is a partition adjunct of the data processing system, which utilizes donated virtual address space of the client partition.
    Type: Application
    Filed: January 12, 2012
    Publication date: May 10, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Orran Y. Krieger, Michal Ostrowski, Randal C. Swanberg
  • Patent number: 8176487
    Abstract: A method in a data processing system is provided for processing a service request of a client partition. The method includes: obtaining by a service partition of the data processing system the service request from the client partition, wherein both the client and service partitions execute above a hypervisor of the data processing system; and processing the service request by the service partition utilizing a processor quantum assigned to the client partition and donated by the client partition to the service partition. The client partition controls scheduling of the service partition by queuing the service request at the client partition until the client partition decides to proceed with execution of the service request by the service partition. In one implementation, the service partition is a partition adjunct of the data processing system, which utilizes donated virtual address space of the client partition.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: May 8, 2012
    Assignee: International Business Machines Corporation
    Inventors: William J. Armstrong, Orran Y. Krieger, Michal Ostrowski, Randal C. Swanberg
  • Publication number: 20110320671
    Abstract: In an embodiment, a command is received that requests movement of ownership of a target device from an origin compute element to a destination compute element. From the origin compute element, a translation of a virtual bridge identifier to a first secondary bus identifier, a first subordinate bus identifier, and a first MMIO bus address range is removed. To the destination compute element, a translation of the target virtual bridge identifier to a second secondary bus identifier, a second subordinate bus identifier, and a second MMIO bus address range is added. From a south chip that comprises the target virtual bridge, a translation of the target virtual bridge identifier to an identifier of the origin compute element is removed. To the south chip, a translation of the target virtual bridge identifier to an identifier of the destination compute element is added.
    Type: Application
    Filed: June 24, 2010
    Publication date: December 29, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Scott N. Dunham, David R. Engebretsen, Ronald E. Freking, Mehul M. Shah, Steven M. Thurber, Curtis C. Wollbrink
  • Publication number: 20110261687
    Abstract: Systems and methods to communicate data frames are provided. A particular apparatus may include a first adapter having a first queue configured to store a data frame associated with a first priority. The adapter is configured to generate a first priority pause frame. A distributed virtual bridge may be coupled to the first adapter. The distributed virtual bridge may include an integrated switch router and a first transport layer module configured to provide a frame-based interface to the integrated switch router. The transport layer module may include a first buffer associated with the first priority. A first bridge element of the distributed virtual bridge may be coupled to the first adapter queue and to the first transport layer module. The first bridge element is configured to receive the first priority pause frame from the adapter and to communicate an interrupt signal to the first transport layer module to interrupt delivery of the data frame to the first queue.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Colin B. Verrilli
  • Publication number: 20110262134
    Abstract: Systems and methods to forward data frames are described. A particular method may include evaluating header data of a data frame at a bridge element, where the header data includes address data that corresponds to a Fiber Channel Forwarder in communication with the bridge element. Based upon the evaluation, the header data of the data frame may be modified at the bridge element in such a manner that the data frame is not routed through the Fiber Channel Forwarder.
    Type: Application
    Filed: April 22, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Josep Cors, Daniel G. Eisenhauer, Carlos F. Fuente, Kyle A. Lucke, Theodore Vojnovich
  • Publication number: 20110261815
    Abstract: Systems and methods to multicast data frames are provided. A particular apparatus includes a plurality of computing nodes and a distributed virtual bridge. The distributed virtual bridge includes a plurality of bridge elements coupled to the plurality of computing nodes. The plurality of bridge elements are configured to forward a copy of a multicast data frame to the plurality of computing nodes using group member information associated with addresses of the plurality of server computers. A controlling bridge coupled to the plurality of bridge elements is configured to communicate the group member information to the plurality of bridge elements.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Josep Cors, Kyle A. Lucke, David A. Shedivy, Kenneth M. Valk, Bruce M. Walk
  • Publication number: 20110261827
    Abstract: Systems and methods to forward data frames are described. A particular method may include generating a plurality of management frames at a controlling bridge. The management frames may include routing information. The plurality of management frames may be communicated to a plurality of bridge elements coupled to a plurality of server computers. The plurality of bridge elements are each configured to selectively forward a plurality of data frames according to the routing information.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Josep Cors, David R. Engebretsen, Kyle A. Lucke, Jeffrey J. Lynch
  • Publication number: 20110261826
    Abstract: Systems and methods to forward data frames are described. A particular method may include associating a fiber channel forwarder with a bridge element. The fiber channel forwarder may be one of a plurality of fiber channel forwarders coupled to the bridge element. A data frame received at the bridge element may be forwarded to the fiber channel forwarder.
    Type: Application
    Filed: April 22, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Josep Cors, Daniel G. Eisenhauer, Carlos F. Fuente, Kyle A. Lucke, Theodore B. Vojnovich
  • Publication number: 20110264610
    Abstract: Systems and methods to forward data frames are provided. A particular apparatus may include a plurality of server computers and a distributed virtual bridge. The distributed virtual bridge may include a plurality of bridge elements coupled to the plurality of server computers and configured to forward a data frame between the plurality of server computers. The plurality of bridge elements may further be configured to automatically learn address data associated with the data frame. A controlling bridge may be coupled to the plurality of bridge elements. The controlling bridge may include a global forwarding table that is automatically updated to include the address data and is accessible to the plurality of bridge elements.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Josep Cors, David R. Engebretsen, Kyle A. Lucke, David A. Shedivy, Colin B. Verrilli, Bruce M. Walk
  • Publication number: 20110258340
    Abstract: Systems and methods to forward data frames are described. A particular method may include receiving a data frame at a switch of a plurality of networked switches coupled to a plurality of server computers. The data frame may be forwarded from a controlling bridge coupled to the plurality of networked switches. The data frame may be determined to include management data, and an operating parameter of the switch may be modified.
    Type: Application
    Filed: April 20, 2010
    Publication date: October 20, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, Josep Cors, David R. Engebretsen, Kyle A. Lucke, Jeffrey J. Lynch, Bruce M. Walk
  • Publication number: 20110258641
    Abstract: Systems and methods to remotely configure adapters are described. A particular method may include generating a management frame at a controlling bridge. The management frame may include instructions to configure an operating parameter of the adapter. The management frame may be communicated to a bridge element of a plurality of interconnected bridge elements in communication with the controlling bridge. The bridge element may be coupled to the adapter, and the operating parameter of the adapter may be configured.
    Type: Application
    Filed: April 20, 2010
    Publication date: October 20, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Josep Cors, David R. Engebretsen, Jeffrey J. Lynch
  • Publication number: 20110252167
    Abstract: In an embodiment, a translation of a physical bus number to a hierarchical bus number is written to a south chip. The south chip receives a configuration write command that comprises a physical bus number. The south chip sends the configuration write command to a device via the bus identified by the physical bus number, and the device stores the physical bus number in the device. In response to a received message from a device that comprises the physical bus number, the south chip replaces the physical bus number in the message with the hierarchical bus number. The south chip sends the message to a north chip via a point-to-point serial link. Both the physical bus number and the hierarchical bus number identify a bus with which the device connects to a bridge in the south chip.
    Type: Application
    Filed: April 12, 2010
    Publication date: October 13, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Scott N. Dunham, David R. Engebretsen, Gregory M. Nordstrom, Steven M. Thurber, Curtis C. Wollbrink, Adalberto G. Yanes
  • Publication number: 20110252173
    Abstract: In an embodiment a translation of RID (requester identifier) ranges to identifiers of north chips is stored into a south chip. A command that comprises a command RID is received at the south chip from a device. In response, a RID range is determined that encompasses the command RID, and a north chip identifier is found that is assigned a virtual function identified by the command RID. The command is sent from the south chip to the north chip identified by the north chip identifier. The translation comprises a RID compare value and a RID mask. A determination is made that the RID range encompasses the command RID by performing a logical-and operation on the command RID and the RID mask and comparing a result of the logical-and operation to the RID compare value.
    Type: Application
    Filed: April 12, 2010
    Publication date: October 13, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, David R. Engebretsen, Steven M. Thurber, Curtis C. Wollbrink, Adalberto G. Yanes
  • Publication number: 20110252170
    Abstract: In an embodiment, a translation of a hierarchical bus number to a physical bus number and a bridge identifier of a bridge are written to a north chip. A request is received that comprises an identifier of a destination. A determination is made that the identifier comprises the hierarchical bus number. In response to the determination, the identifier of the destination is replaced in the request with the physical bus number and the bridge identifier. The request is sent to the bridge identified by the bridge identifier. A south chip comprises the bridge, and the south chip is connected to the north chip via a point-to-point serial link. The physical bus number identifies a bus that connects the bridge to a device. The request comprises a configuration write request that requests a write of data to the device.
    Type: Application
    Filed: April 12, 2010
    Publication date: October 13, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Scott N. Dunham, David R. Engebretsen, Gregory M. Nordstrom, Steven M. Thurber, Curtis C. Wollbrink, Adalberto G. Yanes
  • Publication number: 20110252174
    Abstract: In an embodiment, a translation of a hierarchical MMIO address range to a physical MMIO address range and an identifier of a bridge in a south chip are written to a north chip. A transaction is received that comprises a hierarchical MMIO address. The hierarchical MMIO address that is within the hierarchical MMIO address range is replaced in the transaction with the identifier of the bridge and with a physical MMIO address that is within the physical MMIO address range in the south chip. The transaction is sent to the device that is connected to the bridge in the south chip. The physical MMIO address range specifies a range of physical MMIO addresses in memory in the device.
    Type: Application
    Filed: April 12, 2010
    Publication date: October 13, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Scott N. Dunham, David R. Engebretsen, Gregory M. Nordstrom, Steven M. Thurber, Curtis C. Wollbrink, Adalberto G. Yanes
  • Publication number: 20110243134
    Abstract: Systems and methods to forward data frames are provided. A particular method may include receiving a data frame at a distributed virtual bridge. The distributed virtual bridge includes a first bridge element coupled to a first server computer and a second bridge element coupled to the first bridge element and to a second server computer. The distributed virtual bridge further includes a controlling bridge coupled to the first bridge element and to the second bridge element. The controlling bridge includes a global forwarding table. The data frame is forwarded from the first bridge element to the second bridge element of the distributed virtual bridge using address data associated with the data frame. A logical network associated with the frame may additionally be used to forward the data frame.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, David R. Engebretsen, Kyle A. Lucke, Jeffrey J. Lynch, David A. Shedivy, Colin B. Verrilli, Bruce M. Walk
  • Publication number: 20110243146
    Abstract: Systems and methods to forward data frames are provided. A particular method may include evaluating address data of a first data frame at a first virtual bridge coupled to a first virtual machine of a first server computer of a plurality of server computers. Based upon the evaluation at the first virtual bridge, the first data frame may be forwarded to a second virtual bridge associated with an adapter that is coupled to the first virtual machine. The address data of the first data frame may be evaluated at the second virtual bridge. Based upon the evaluation, the data frame may be forwarded to a third virtual bridge configured to forward the data frame based upon the address data to a second server computer of the plurality of server computers.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William J. Armstrong, Claude Basso, David R. Engebretsen, Kyle A. Lucke, Jeffrey J. Lynch, Bruce M. Walk
  • Patent number: 8010763
    Abstract: Access control to shared virtual address space within a single logical partition is provided. The access control includes: associating, by a hypervisor of the data processing system, a memory protection key with a portion of a single logical partition's virtual address space being shared by multiple entities, the key preventing access by one of the multiple entities to that portion of the virtual address space, and allowing access by another of the entities to that portion of the virtual address space; and locking by the hypervisor the memory protection key from modification by the one entity, wherein the locking prevents the one entity from modifying the key and thereby gaining access to the portion of the single logical partition's virtual address space with the associated memory protection key. In one embodiment, the one entity is the single logical partition itself, and the another entity is a partition adjunct.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: August 30, 2011
    Assignee: International Business Machines Corporation
    Inventors: William J. Armstrong, Orran Y. Krieger, Cathy May, Michal Ostrowski, Randal C. Swanberg
  • Patent number: 7958392
    Abstract: Assigning a processor to a logical partition in a computer supporting multiple logical partitions that include assigning priorities to partitions, detecting a checkstop of a failing processor of a partition, retrieving the failing processor's state, replacing by a hypervisor the failing processor with a replacement processor from a partition having a priority lower than the priority of the partition of the failing processor, and assigning the retrieved state of the failing processor as the state of the replacement processor.
    Type: Grant
    Filed: January 6, 2009
    Date of Patent: June 7, 2011
    Assignee: International Business Machines Corporation
    Inventors: William J. Armstrong, Naresh Nayar, Gary R. Ricard