Patents by Inventor Michael S. Ball

Michael S. Ball 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: 7689958
    Abstract: A method involves building an intermediate form data flow graph (IFgraph) from an intermediate form data flow tree (IFtree) associated with the logic design, partitioning the IFgraph across at least three levels of granularity to obtain a partitioned IFgraph, wherein partitioning the IFgraph involves balancing a set of nodes of the IFgraph into a first subset and a second subset, wherein each of the first subset and second subset are within a predefined constraint of the cycle-based system, and wherein the balancing is performed on at least one of the levels of granularity, and rewriting the IFtree based on the partitioned IFgraph.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: March 30, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael S. Ball, Cristina N. Cifuentes, Deepankar Bairagi
  • Patent number: 7346903
    Abstract: A method for compiling a logic design includes inputting a logic design and an input file into a plurality of compilers, respectively, where the logic design comprises a plurality of modules, compiling separately the plurality of modules into a plurality of object files, and linking the plurality of object files to execute the logic design.
    Type: Grant
    Filed: February 4, 2003
    Date of Patent: March 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
  • 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: 7080370
    Abstract: Improved techniques for reducing the time and cost associated with producing compiler products are disclosed. A programming system including an enhanced compiler suitable for compilation of source programs is disclosed. The enhanced compiler can be used to compile source programs so that template (or generic) instances already available from the libraries are not recreated. The enhanced compiler can efficiently compile a request to create an instance by determining whether the instance is already available in one of the libraries. If the instance is already available from one of the libraries, the instance need not be created. In comparison with conventional models, the enhanced compiler can access libraries directly without requiring a significant amount of preparatory work and/or costly operations such as preparation of options files and transformation of instance names to linker symbol names. As a result, the enhanced compiler is more efficient (faster) than convention compilers.
    Type: Grant
    Filed: October 19, 2000
    Date of Patent: July 18, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Lawrence A. Crowl, Michael S. Ball
  • Publication number: 20040154002
    Abstract: A method for compiling a logic design includes inputting a logic design and an input file into a plurality of compilers, respectively, where the logic design comprises a plurality of modules, compiling separately the plurality of modules into a plurality of object files, and linking the plurality of object files to execute the logic design.
    Type: Application
    Filed: February 4, 2003
    Publication date: August 5, 2004
    Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
  • 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
  • Patent number: 6138269
    Abstract: A dynamic down cast or cross cast is performed at run time within an object-oriented programming language such as C++. The compiler generates data structures during a compile; at run time a routine in the language support library accesses the generated data structures in order to perform the dynamic cast. Class structure information is provided in a size that varies linearly as the total number of classes in the class hierarchy. Cryptographic hashing of class names is used to provide uniqueness. The dynamic cast addresses complications in C++ due to "virtual" and "nonvirtual" inheritance. A run time type identification (RTTI) data structure is created at compile time. An offset within an object description is calculated for each sub-object of the object. Those virtual base classes that are duplicates are skipped producing a data structure that may be searched linearly as the number of classes in the hierarchy. An identifier for each sub-object is stored in the data structure along with its offset.
    Type: Grant
    Filed: May 20, 1998
    Date of Patent: October 24, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael S. Ball, Soroor Ebnesajjad