Patents Represented by Attorney, Agent or Law Firm Michael Dryja
  • Patent number: 7809922
    Abstract: A node of a multiple-node system includes a translation lookaside buffer (TLB), a cache, and a TLB snoop mechanism. The node shares memory with other nodes of the multiple-node systems, and is connected with the other nodes via a bus. The TLB snooping mechanism snoops inbound memory access requests and/or outbound memory access requests. Inbound requests are received from over the bus and are intended for the cache. However, the cache receives only the inbound requests that relate to memory addresses having associated entries within the TLB. Outbound requests are received from within the node and are intended for transmission over the bus. However, the bus coherently transmits only the outbound requests that relate to memory addresses that are part of memory pages having set shared-memory page memory flags. All other outbound memory access requests are sent over the bus non-coherently.
    Type: Grant
    Filed: October 21, 2007
    Date of Patent: October 5, 2010
    Assignee: International Business Machines Corporation
    Inventors: Makoto Ueda, Kenichi Tsuchiya
  • Patent number: 7707591
    Abstract: An application program and an audio or video program may run on an operating system. The audio or video program is integrated with the application program. A user of the application program interacts with the audio or video program as though the audio or video program were part of the application program.
    Type: Grant
    Filed: February 5, 2002
    Date of Patent: April 27, 2010
    Assignee: Talkway, Inc.
    Inventors: Michael J. Curry, Rudy D. Martin, Douglas Z. Pan, Richard T. Simoni, Jr.
  • Patent number: 7627149
    Abstract: Dot templates are used for detecting objects within images. A computer-implemented method is performed for each of a number of dot templates corresponding to the object to be detected within an image. Each dot template is defined as a collection of points. At each position within the image, a value of the image is determined at each point of the dot template. The dot template is effectively overlaid at the given position within the image. A score of the dot template at this position is determined, based on the values of the image determined at the points of the dot template. Where the score is greater than a predetermined threshold, it can be concluded that the object is at least potentially located within the image at the position in question at which the dot template has been effectively overlaid.
    Type: Grant
    Filed: November 25, 2005
    Date of Patent: December 1, 2009
    Assignee: Quantum Signal, LLC
    Inventors: Victor E. Perlin, Mitchell M. Rohde, Robert M. Lupa
  • Patent number: 7307620
    Abstract: A one-handed thumb-supported mobile input device for a computing device includes an input mechanism and a thumb loop or an elastic band in which a thumb of a hand may be inserted. The thumb loop or elastic band is attached to an adjustable thumb loop holder that is enclosed within a thumb loop holder and is adjustable with respect to the thin sections of the input mechanism. The thumb loop holder is attached to one of the sections of the input mechanism. The input mechanism has a folded position and an unfolded position, and includes a number of thin sections containing a number of keys, and which may have one or more folds. The device may further include a display mechanism having a folded position and an unfolded position, and including a thin section containing a display and that is foldable with respect to the sections of the input mechanism.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: December 11, 2007
    Inventor: Shakoor N. Siddeeq
  • Patent number: 7299245
    Abstract: Determining similarity among recipes is disclosed. A computer-implemented method of one embodiment of the invention receives a first recipe. The method determines one or more second recipes that are similar to the first recipe, and then outputs the one or more second recipes. The second recipes may be determined as being similar to the first recipe based on one or more different factors in one embodiment. Such factors may include: a weighted ingredient coefficient; a weighted same-type coefficient taking into account whether recipes are of the same type; a weighted same-title words coefficient taking into account the extent to which non-common title words of one recipe are also within the titles of other recipes; a weighted shared-keywords coefficient taking into account shared keywords among recipes; and, a weighted shared-ingredients coefficient taking into account the extent to which ingredients are shared among recipes.
    Type: Grant
    Filed: January 18, 2004
    Date of Patent: November 20, 2007
    Assignee: Allrecipes.com
    Inventor: Timothy D. Hunt
  • Patent number: 7133021
    Abstract: A finger-fitting pointing device is disclosed. There is at least one housing. Each housing can be fabricated from a flexible, glove-like material, and fits a finger of a user. A click sensor is disposed in the underside of each housing, and is actuated by the user pressing the underside of the housing with the inserted finger against an external surface. An optical sensor is also disposed within the surface of a housing, and detects relative movement of this surface against an external surface, as caused by relative movement of the user's finger.
    Type: Grant
    Filed: June 9, 2001
    Date of Patent: November 7, 2006
    Inventor: Francis F. Coghan, IV
  • Patent number: 6970157
    Abstract: A wearable computing, input, and display device is disclosed. One embodiment of the invention includes a band wrappable around a wrist of a user, one or more input mechanisms, a display mechanism, and a computing mechanism. The input mechanisms are attached to the band and have recessed and extended positions. In the recessed position, the input mechanisms are positioned under the wrist of the user. In the extended position, the input mechanisms are substantially positioned at the user's fingertips. The display mechanism is attached to the band such that it is over the wrist of the user, whereas the computing mechanism is attached to the band and operably coupled to the input and display mechanisms. In an alternate embodiment, the display mechanism is additionally rotatable from a flat position to a raised position, and vice-versa, where the raised position is user controlled for optimal viewing by the user.
    Type: Grant
    Filed: April 19, 2003
    Date of Patent: November 29, 2005
    Assignee: QuadTri Technologies, LLC
    Inventor: Shakoor N. Siddeeq
  • Patent number: 6910108
    Abstract: A system and method of partitioning a multiprocessor or multinode computer system containing two or more partitions each of which contain at least three nodes or processors and a central hardware device communicating with a requestor node or processor, a target node or processor and at least one additional node or processor in the partition. The multiprocessor system architecture allows for partitioning resources to define separate subsystems capable of running different operating systems simultaneously. The method operates with the central device, a tag and address crossbar system, which transmits requests for data from the requestor node to the target node, but not to any of the additional nodes or processors which are not defined as part of a given partition. The method provides steps of assignment of definitions to physical ports with the central device corresponding with desired partitioning of resources within the system.
    Type: Grant
    Filed: January 9, 2002
    Date of Patent: June 21, 2005
    Assignee: International Business Machines Corporation
    Inventors: Wayne A. Downer, Bruce M. Gilbert, Thomas D. Lovett
  • Patent number: 6880013
    Abstract: Network or mobile clients are enabled to keep their connections open across shutdowns and reboots of computer systems. Transactions are suspended while the client system is down, and resumed when it comes back up, allowing end-users to perform orderly shutdowns of their systems (especially useful to save battery power on mobile systems) without risk of losing transactions on open TCP connections.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: April 12, 2005
    Assignee: International Business Machines Corporation
    Inventor: Vivek Kashyap
  • Patent number: 6871296
    Abstract: The present invention provides a method, system and apparatus by which TCP connections may be failed-over from one system to another within a highly available network service, and appear transparent to the remote client. The connection state and ownership information of a system is broadcast within the network, so that if a first system crashes while running an application, a predetermined take-over policy causes a peer system to assume connection without loss of data such that a permanent connection has been established from the client's point of view. After the failed system has been restored to a normal state, new connections are established by the first system.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: March 22, 2005
    Assignee: International Business Machines Corporation
    Inventor: Vivek Kashyap
  • Patent number: 6851006
    Abstract: Starting and establishing a dialog between an interruption handler and an operating system for handling of hardware interruptions by the operating system is disclosed. A recommendation for handling such an interruption, and information regarding the interruption, are stored by the interruption handler in a storage accessible by the operating system. The interruption handler calls the operating system at a predetermined interruption handling point thereof, for the operating system to handle the interruption. The handler then determines whether the operating system handled the interruption according to the recommendation.
    Type: Grant
    Filed: August 25, 2001
    Date of Patent: February 1, 2005
    Assignee: International Business Machines Corporation
    Inventor: Daryl V. McDaniel
  • Patent number: 6848026
    Abstract: Caching memory contents into cache partitions based on their locations is disclosed. A location of a line of memory to be cached in a cache is determined. The cache is partitioned into a number of cache sections. The section for the line of memory is determined based on the location of the line of memory as applied against a memory line location-dependent allocation policy. The line of memory is then stored in the section of the cache determined.
    Type: Grant
    Filed: November 9, 2001
    Date of Patent: January 25, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald R. DeSota, Adrian C. Moga, Carl E. Love, Russell M. Clapp
  • Patent number: 6829679
    Abstract: Caching memory contents differently based on the region to which the memory has been partitioned or allocated is disclosed. A first region of a first line of memory to be cached is determined. The memory has a number of regions, including the first region, over which the lines of memory, including the first line, are partitioned. Each region has a first variable having a corresponding second variable. If the first variable for any region is greater than its corresponding second variable, one such region is selected as a second region. A line from the lines of the memory currently stored in the cache and partitioned to the second region is selected as the second line. The second line is replaced with the first line in the cache, the first variable for the second region is decremented, and the first variable for the first region is incremented.
    Type: Grant
    Filed: November 9, 2001
    Date of Patent: December 7, 2004
    Assignee: International Business Machines Corporation
    Inventors: Donald R. DeSota, Thomas D. Lovett
  • Patent number: 6826754
    Abstract: An improved data structure handles locks and other mutual exclusion (mutex) mechanisms during a “panic” shutdown of the system such as when the system “hangs”. Existing mutex data structures include an identifier of the engine/processor, the thread, or the processes acquiring the mutex. The improved mutex data structure further includes an indicator of whether the mutex was acquired before or after the panic (pre-panic or post-panic), preferably as a modification of the engineID after the panic is initiated such as by assigning the engines different engineIDs post-panic. The method checks mutexes to determine whether they were acquired pre- or post-panic mutexes. During a panic, alternative mutex handling routines free (release) pre-panic mutexes and shoot down the processors owning these mutexes. The data structure and method are generally useful in state transitions of the system, its engines/processors, and its processes and threads.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: November 30, 2004
    Assignee: International Business Machines Corporation
    Inventor: Douglas R. Miller
  • Patent number: 6823498
    Abstract: A masterless approach for binding building blocks to partitions is disclosed. Other blocks are first sent a first physical port identifier indicating a block's physical location, and a first partition identifier indicating the block's partition. Second physical port identifiers and second partition identifiers are received from the other blocks. The first physical port identifier and the second physical port identifiers of a subset of the other blocks are then sent to the subset, the second partition identifiers of the subset being equal to the first partition identifier. The first physical port identifier and the second physical port identifiers of the subset are also received from each block of the subset. A first logical port identifier indicating the block's logical location is sent to the subset, and second logical port identifiers are received from the subset. The block joins the partition indicated by the first partition identifier.
    Type: Grant
    Filed: January 9, 2002
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Wayne A. Downer, Bruce M. Gilbert, Thomas D. Lovett, Mehul M. Shah
  • Patent number: 6807586
    Abstract: A method and apparatus for a mutiprocessor system to simultaneously process multiple data write command issued from one or more peripheral component interface (PCI) devices by controlling and limiting notification of invalidated address information issued by one memory controller managing one group of multiprocessors in a plurality of mutiprocessor groups. The method and apparatus permits a multiprocessor system to almost completely process a subsequently issued write command from a PCI device or other type of computer peripheral device before a previous write command has been completely processed by the system. The disclosure is particularly applicable to multiprocessor computer systems which utilize non-uniform memory access (NUMA).
    Type: Grant
    Filed: January 9, 2002
    Date of Patent: October 19, 2004
    Assignee: International Business Machines Corporation
    Inventors: Thomas B. Berg, Adrian C. Moga, Dale A. Beyer
  • Patent number: 6785888
    Abstract: Methods for dynamically allocating memory in a multiprocessor computer system such as a non-uniform memory access (NUMA) machine having distributed shared memory. The methods include allocating memory by specified node, memory class, or memory pool in response to requests by the system (kernel memory allocation) or a user (application memory allocation). Through these methods memory is allocated more efficiently in a NUMA machine. For example, allocating memory on a specified node in a NUMA machine, such as the same node on which a process requiring the memory is running, reduces memory access time. Allocating memory from a specified memory class allows device drivers with restricted DMA ranges to operate with dynamically allocated memory. Other benefits of these methods include minimizing expensive remote-memory accesses using a distributed reference count mechanism and lock-free cache access.
    Type: Grant
    Filed: February 24, 1998
    Date of Patent: August 31, 2004
    Assignee: International Business Machines Corporation
    Inventors: Paul E. McKenney, Phillip E. Krueger, Stuart A. Friedberg, Brent A. Kingsbury
  • Patent number: 6785779
    Abstract: A method of classification of transaction address conflicts in a computer system for ensuring efficient ordering in a two-level snoopy cache architecture. The disclosure provides a method of classification and handling of address conflicts within a system to minimize the impact that address ordering places in a multiprocessor system with multiple memory control agents generating potentially conflicting addresses. A set of classification for each potential transaction conflict is provided against which decisions are provided which identifies the earliest point at which a subsequent transaction within the system may proceed to the same address identified by a previous transaction in the system. Classification of transactions are provided in several high level classes which define how such transactions within the system are handled based on the method disclosed.
    Type: Grant
    Filed: January 9, 2002
    Date of Patent: August 31, 2004
    Assignee: International Business Machines Company
    Inventors: Thomas B. Berg, Stacey G. Lloyd
  • Patent number: 6779090
    Abstract: A spin lock for shared memory is disclosed. A lock flag for a lock on a memory section is attempted to be set. If the lock flag is successfully set, the lock on the memory section is held so that the memory section may be processed. Upon being ready to release the lock on the memory section, and in response to determining that one or more units are spinning for the lock on the memory section, one of the spinning units is selected, and a spin flag for the selected unit is reset. If no units are spinning for the lock, however, the lock flag for the lock is reset.
    Type: Grant
    Filed: May 21, 2002
    Date of Patent: August 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Paul E. McKenney, William L. Irwin, III, Swaminathan Sivasubramanian, John G. Stultz
  • Patent number: 6775743
    Abstract: The special handling of multiple identical requests for the content during content caching is disclosed. A request for content, such as a web page request received from a client, is received. At least one of two actions is then performed. First, in response to determining that the content is cacheable and that a previous request for the content has already been forwarded to a server responsible for the content, such as a web server, the request is not processed until a response to the previous request is received. Second, in response to determining that the content is non-cacheable, the request is forwarded to the server responsible for the content.
    Type: Grant
    Filed: September 12, 2001
    Date of Patent: August 10, 2004
    Assignee: International Business Machines Corporation
    Inventor: Burzin Patel