Patents by Inventor Thomas M. McWilliams

Thomas M. McWilliams 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: 20090240664
    Abstract: A distributed database system has multiple compute nodes each running an instance of a database management system (DBMS) program that accesses database records in a local buffer cache. Records are persistently stored in distributed flash memory on multiple storage nodes. A Sharing Data Fabric (SDF) is a middleware layer between the DBMS programs and the storage nodes and has API functions called by the DBMS programs when a requested record is not present in the local buffer cache. The SDF fetches the requested record from flash memory and loads a copy into the local buffer cache. The SDF has threads on a home storage node that locate database records using a node map. A global cache directory locks and pins records to local buffer caches for updating by a node's DBMS program. DBMS operations are grouped into transactions that are committed or aborted together as a unit.
    Type: Application
    Filed: November 24, 2008
    Publication date: September 24, 2009
    Applicant: Schooner Information Technology, Inc.
    Inventors: Darpan Dinker, Andrew David Eckhardt, Darryl Manabu Ouye, Brian Walter O'Krafka, Earl T. Cohen, Thomas M. McWilliams
  • Publication number: 20080301256
    Abstract: A data processing system includes one or more nodes, each node including a memory sub-system. The sub-system includes a fine-grained, memory, and a less-fine-grained (e.g., page-based) memory. The fine-grained memory optionally serves as a cache and/or as a write buffer for the page-based memory. Software executing on the system uses n node address space which enables access to the page-based memories of all nodes. Each node optionally provides ACID memory properties for at least a portion of the space. In at least a portion of the space, memory elements are mapped to locations in the page-based memory. In various embodiments, some of the elements are compressed, the compressed elements are packed into pages, the pages are written into available locations in the page-based memory, and a map maintains an association between the some of the elements and the locations.
    Type: Application
    Filed: May 30, 2008
    Publication date: December 4, 2008
    Inventors: Thomas M. McWilliams, Earl T. Cohen, James M. Bodwin, Ulrich Bruening
  • Patent number: 7080365
    Abstract: A method for compiling a cycle-based design involves generating a parsed cycle-based design from the cycle-based design, elaborating the parsed cycle-based design to an annotated syntax tree, translating the annotated syntax tree to an intermediate form, and converting the intermediate form to an executable form.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey M. Broughton, Liang T. Chen, William kwei-cheung Lam, Derek E. Pappas, Ihao Chen, Thomas M. McWilliams, Ankur Narang, Jeffrey B. Rubin, Earl T. Cohen, Michael W. Parkin, Ashley N. Saulsbury, Michael S. Ball
  • Patent number: 7076416
    Abstract: A method for evaluating a logic state of a design node involves compiling a logic design to generate an annotated symbol table and a levelized design, obtaining a logic evaluation cost from the levelized design, locating a strategic node using the logic evaluation cost, marking the strategic node, and computing the logic state of the design node using the annotated symbol table, the strategic node, and the levelized design.
    Type: Grant
    Filed: March 25, 2002
    Date of Patent: July 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Liang T. Chen, William kwei-cheung Lam, Thomas M. McWilliams
  • Patent number: 7043596
    Abstract: A method and apparatus for computation is provided. A main cluster crossbar is connected to a plurality of statically scheduled routing processors. A first sub-cluster crossbar is associated with a first one of the plurality of statically scheduled routing processors where the first sub-cluster crossbar is connected to a first plurality of execution processors. A second sub-cluster crossbar is associated with a second one of the plurality of statically scheduled routing processors where the second sub-cluster crossbar is connected to a second plurality of execution processors.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: May 9, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Michael W. Parkin, Oyekunle A. Olukotun, Derek E. Pappas, Jeffrey M. Broughton, David R. Emberson, David S. Allison, Ashley N. Saulsbury, Earl T. Cohen, Nyles I. Nettleton, James B. Burr, Liang T. Chen
  • Patent number: 7036114
    Abstract: A computer system for cycle-based computation includes a processor array, a translation component adapted to translate a cycle-based design, a host computer operatively connected to the processor array and to the translation component, a data connection component interconnecting a plurality of members of the processor array using static routing, a synchronization component enabling known timing relationships among the plurality of members of the processor array, a host service request component adapted to send a host service request from a member of the processor array to the host computer, and an access component adapted to access a portion of a state of the processor array and a portion of a state of the data connection.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: April 25, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Derek E. Pappas, Oyekunle A. Olukotun, Jeffrey M. Broughton, David R. Emberson, William kwei-cheung Lam, Liang T. Chen, Ihao Chen, Earl T. Cohen, Michael W. Parkin
  • Patent number: 6772299
    Abstract: A method of managing data in a cache memory includes mapping a member of a plurality of memory addresses in a main memory onto a first member of a plurality of cache lines, locking the first member of the plurality of cache lines creating a locked cache region and an unlocked cache region, remapping the member of the plurality of memory addresses from the first member of the plurality of cache lines onto a second member of the plurality of cache lines within the unlocked cache region, requesting data stored in the main memory, fetching the data from the locked cache region, if available in the locked cache region, fetching the data from the unlocked cache region, if not available in the locked cache region and available in the unlocked cache region, and fetching the data from the main memory, if not available in the locked cache region and not available in the unlocked cache region.
    Type: Grant
    Filed: May 8, 2002
    Date of Patent: August 3, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. McWilliams, Earl T. Cohen
  • Publication number: 20030188299
    Abstract: A method for compiling a cycle-based design involves generating a parsed cycle-based design from the cycle-based design, elaborating the parsed cycle-based design to an annotated syntax tree, translating the annotated syntax tree to an intermediate form, and converting the intermediate form to an executable form.
    Type: Application
    Filed: March 29, 2002
    Publication date: October 2, 2003
    Inventors: Jeffrey M. Broughton, Liang T. Chen, William Kwei-Cheung Lam, Derek E. Pappas, Ihao Chen, Thomas M. McWilliams, Ankur Narang, Jeffrey B. Rubin, Earl T. Cohen, Michael W. Parkin, Ashley N. Saulsbury, Michael S. Ball
  • Publication number: 20030040896
    Abstract: A computer system for cycle-based computation includes a processor array, a translation component adapted to translate a cycle-based design, a host computer operatively connected to the processor array and to the translation component, a data connection component interconnecting a plurality of members of the processor array using static routing, a synchronization component enabling known timing relationships among the plurality of members of the processor array, a host service request component adapted to send a host service request from a member of the processor array to the host computer, and an access component adapted to access a portion of a state of the processor array and a portion of a state of the data connection.
    Type: Application
    Filed: March 29, 2002
    Publication date: February 27, 2003
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Derek E. Pappas, Oyekunle A. Olukotun, Jeffrey M. Broughton, David R. Emberson, William kwei-cheung Lam, Liang T. Chen, Ihao Chen, Earl T. Cohen, Michael W. Parkin
  • Publication number: 20030040898
    Abstract: A method and apparatus for computation is provided. A main cluster crossbar is connected to a plurality of statically scheduled routing processors. A first sub-cluster crossbar is associated with a first one of the plurality of statically scheduled routing processors where the first sub-cluster crossbar is connected to a first plurality of execution processors. A second sub-cluster crossbar is associated with a second one of the plurality of statically scheduled routing processors where the second sub-cluster crossbar is connected to a second plurality of execution processors.
    Type: Application
    Filed: March 29, 2002
    Publication date: February 27, 2003
    Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Michael W. Parkin, Oyekunle A. Olukotun, Derek E. Pappas, Jeffrey M. Broughton, David R. Emberson, David S. Allison, Ashley N. Saulsbury, Earl T. Cohen, Nyles I. Nettleton, James B. Burr, Liang T. Chen
  • Publication number: 20030037305
    Abstract: A method for evaluating a logic state of a design node involves compiling a logic design to generate an annotated symbol table and a levelized design and computing the logic state of the design node using the annotated symbol table and the levelized design.
    Type: Application
    Filed: March 25, 2002
    Publication date: February 20, 2003
    Inventors: Liang T. Chen, William Kwei-Cheung Lam, Thomas M. McWilliams
  • Publication number: 20030018462
    Abstract: A method and apparatus for simulating a source system having a plurality of source clocks to trigger a plurality of logic elements is provided. The plurality of source clocks are modeled with a global clock. At least one of the plurality of source clocks is modeled with a clock mask and a clock state. At least one of the plurality of logic elements is evaluated when the global clock generates a global clock pulse and updated based on the clock mask and the clock state.
    Type: Application
    Filed: March 28, 2002
    Publication date: January 23, 2003
    Inventors: Liang T. Chen, Earl T. Cohen, Russell Kao, Thomas M. McWilliams
  • Publication number: 20030018855
    Abstract: A method of managing data in a cache memory includes mapping a member of a plurality of memory addresses in a main memory onto a first member of a plurality of cache lines, locking the first member of the plurality of cache lines creating a locked cache region and an unlocked cache region, remapping the member of the plurality of memory addresses from the first member of the plurality of cache lines onto a second member of the plurality of cache lines within the unlocked cache region, requesting data stored in the main memory, fetching the data from the locked cache region, if available in the locked cache region, fetching the data from the unlocked cache region, if not available in the locked cache region and available in the unlocked cache region, and fetching the data from the main memory, if not available in the locked cache region and not available in the unlocked cache region.
    Type: Application
    Filed: May 8, 2002
    Publication date: January 23, 2003
    Inventors: Thomas M. McWilliams, Earl T. Cohen
  • Patent number: 6389576
    Abstract: The invention is a method and apparatus for optimizing a real function in the Boolean domain. In accordance with an embodiment of the method, the real function is represented as a Boolean function. A binary decision diagram for the Boolean function is generated, the binary decision diagram having a root and at least one variable node. The number of vertices for at least one variable node of the binary decision diagram is determined. The function is optimized by selecting a path or paths from the root to at least one variable node of the binary decision diagram having the least number of vertices. The solution values of one or more variables of the Boolean function are determined in accordance with the path(s) through the binary decision diagram. These values comprise an optimized solution set for the real function.
    Type: Grant
    Filed: September 2, 1999
    Date of Patent: May 14, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: William Lam, Thomas M. McWilliams