Patents by Inventor Robert H. Halstead, Jr.

Robert H. Halstead, Jr. 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: 7516147
    Abstract: A licensing system and method for deploying digital content is provided. A client system can download the digital content from the server and, if a valid license for the content is also found on the server, software may be permitted to run digital content. The license is stored in a location that is separate from the content. The license can be located using the URL address of the content. The system can locate the license on the server and determine whether the license covers the content. Content that is covered by the license can be processed and rendered. The content can be any form of digital media, such as a computer application.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: April 7, 2009
    Assignee: Sumisho Computer Systems Corporation
    Inventors: David A. Kranz, Robert H. Halstead, Jr., Tom Lyons
  • Patent number: 7401327
    Abstract: A class includes fields to support values of properties in preallocated memory space and an option data structure which supports, in instances of the class, references to option values without preallocation of memory space. The field and option values are accessed in an instance object of the class using expressions of the same syntactic form. During compilation, the compiler checks the type of an option value against a type description within the option data structure. During compilation, a method call to an object is encoded without regard to the form of the option data structure. When an option value is changed, a change handler identified by an option binding of the data structure is processed. That option binding may be located by first searching a mapping data structure for a previously computed mapping to the option binding or by computing the mapping to the option binding.
    Type: Grant
    Filed: January 12, 2001
    Date of Patent: July 15, 2008
    Assignee: Sumisho Computer Systems Corporation
    Inventors: Robert H. Halstead, Jr., David A. Kranz, Christopher J. Terman, Stephen A. Ward
  • Patent number: 7373639
    Abstract: To support values of properties, a class includes fields to support values in preallocated memory space and with an option data structure which supports, in instances of the class, references to option values without preallocation of memory space. The field and option values are accessed in an instance object of the class using expressions of the same syntactic form. During compilation, the compiler checks the type of an option value against a type description within the option data structure. Different classes may support different forms of data structures such as a linked list or a hash table. During compilation, a method call to an object is encoded without regard to the form of the option data structure. An option value may be set in an option data structure from an initialization expression which includes the name of the option value and, as an argument, the option value.
    Type: Grant
    Filed: January 12, 2001
    Date of Patent: May 13, 2008
    Assignee: Sumisho Computer Systems Corporation
    Inventors: Robert H. Halstead, Jr., David A. Kranz, Christopher J. Terman, Stephen A. Ward
  • Patent number: 7340720
    Abstract: To support values of properties, a class includes fields to support values in preallocated memory space and with an option data structure which supports, in instances of the class, references to option values without preallocation of memory space. If a value has not been set for an instance object, a get operation results in getting of the default value for the class. Different classes may support different forms of data structures such as a linked list or a hash table. When an option value is changed, a change handler identified by an option binding of the data structure is processed. That option binding may be located by first searching a mapping data structure for a previously computed mapping to the option binding or by computing the mapping to the option binding. Nonlocal option values may be applied to plural objects in a nonlocal option hierarchy such as a graphical hierarchy.
    Type: Grant
    Filed: January 12, 2001
    Date of Patent: March 4, 2008
    Assignee: Sumisho Computer Systems Corporation
    Inventors: Robert H. Halstead, Jr., David A. Kranz, Christopher J. Terman, Stephen A. Ward
  • Patent number: 6919890
    Abstract: A system and method of grid layout generates a fiducial graph for a grid or table in a given dimension and uses the fiducial graph to determine size preferences and fiducial positions of the grid and its grid elements along that dimension. Fiducial positions may include origin fiducials of grids and grid elements as well as fiducial positions of attached grid elements. Types of fiducial graphs include series-parallel fiducial graphs and non-series-parallel fiducial graphs (e.g., partially reduced fiducial graphs), which have different algorithms for computing size preferences and fiducial positions.
    Type: Grant
    Filed: September 27, 2001
    Date of Patent: July 19, 2005
    Assignee: Curl Corporation
    Inventor: Robert H. Halstead, Jr.
  • Patent number: 6769001
    Abstract: To support values of properties, a class includes fields to support values in preallocated memory space and with an option data structure which supports, in instances of the class, references to option values without preallocation of memory space. The field and option values are accessed in an instance object of the class using expressions of the same syntactic form. During compilation, the compiler checks the type of an option value against a type description within the option data structure. If a value has not been set for an instance object, a get operation results in getting of the default value for the class. Different classes may support different forms of data structures such as a linked list or a hash table. During compilation, a method call to an object is encoded without regard to the form of the option data structure. When an option value is changed, a change handler identified by an option binding of the data structure is processed.
    Type: Grant
    Filed: January 12, 2001
    Date of Patent: July 27, 2004
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David A. Kranz, Christopher J. Terman, Stephen A. Ward
  • Patent number: 6670969
    Abstract: The present invention provides for operations on objects in a hierarchy by partitioning the hierarchy into subhierarchies, each subhierarchy being associated with a thread interface frame. Operations of the thread interface frame are executed within threads acting on objects in the subhierarchy. When needed, the effects of an operation are stored in the thread interface frame, allowing the effects to be forwarded to another subhierarchy accessed by another thread.
    Type: Grant
    Filed: June 29, 2000
    Date of Patent: December 30, 2003
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David A. Kranz, Stephen A. Ward
  • Patent number: 6667750
    Abstract: To process the layout of graphical objects, elastics data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. Composite graphical objects include elastics properties computed from their components through add and max operations which are dependent on relative elasticities of the components. The positions of origins within graphical objects are defined by pairs of elastics in each of two dimensions. One application of elastics is with respect to text blocks where preferred width and compressibility of each text block is a function of the amount of text in the text block. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation. In the first pass, preferred sizes and elasticities of the graphical objects are computed along a first dimension.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: December 23, 2003
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David E. Hollingsworth
  • Patent number: 6504544
    Abstract: To process the layout of graphical objects, elastics data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. Composite graphical objects include elastics properties computed from their components through add and max operations which are dependent on relative elasticities of the components. The positions of origins within graphical objects are defined by pairs of elastics in each of two dimensions. One application of elastics is with respect to text blocks where preferred width and compressibility of each text block is a function of the amount of text in the text block. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation. In the first pass, preferred sizes and elasticities of the graphical objects are computed along a first dimension.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: January 7, 2003
    Assignee: Curl Corporation
    Inventors: David E. Hollingsworth, Robert H. Halstead, Jr.
  • Patent number: 6473093
    Abstract: To process the layout of graphical objects, elastics data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. Composite graphical objects include elastics properties computed from their components through add and max operations which are dependent on relative elasticities of the components. The positions of origins within graphical objects are defined by pairs of elastics in each of two dimensions. One application of elastics is with respect to text blocks where preferred width and compressibility of each text block is a function of the amount of text in the text block. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation. In the first pass, preferred sizes and elasticities of the graphical objects are computed along a first dimension.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: October 29, 2002
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David E. Hollingsworth
  • Patent number: 6470443
    Abstract: A multi-threaded processor comprising a pipeline including a number of stages processing instructions belonging to a plurality of threads. A buffer stores instructions from different ones of the threads. Count logic stores count information relating to each of the threads to indicate the number of instructions in each of the corresponding threads that have a particular attribute. A selection logic circuit has an output coupled to the buffer to determine which instruction is to be read from the buffer based on the count information stored by the count logic. The count information may, for example, provide information relating to a likelihood that one or more instructions belonging to each of the threads will be cancelled; relating to a count of unresolved branch instructions; or relating to a count of outstanding data cache misses. In operation, a thread may be selected for execution based on a selected attribute to enhance processing performance.
    Type: Grant
    Filed: March 14, 2000
    Date of Patent: October 22, 2002
    Assignee: Compaq Computer Corporation
    Inventors: Joel S. Emer, Rebecca Stamm, Trggve Fossum, Robert H. Halstead, Jr., George Z. Chrysos, Dean Tullsen, Susan Eggers, Henry M. Levy
  • Patent number: 6380940
    Abstract: To process the layout of graphical objects, elastics data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. Composite graphical objects include elastics properties computed from their components through add and max operations which are dependent on relative elasticities of the components. The positions of origins within graphical objects are defined by pairs of elastics in each of two dimensions. One application of elastics is with respect to text blocks where preferred width and compressibility of each text block is a function of the amount of text in the text block. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation. In the first pass, preferred sizes and elasticities of the graphical objects are computed along a first dimension.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: April 30, 2002
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David E. Hollingsworth
  • Patent number: 6356279
    Abstract: To process the layout of graphical objects, elastics data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. Composite graphical objects include elastics properties computed from their components through add and max operations which are dependent on relative elasticities of the components. The positions of origins within graphical objects are defined by pairs of elastics in each of two dimensions. One application of elastics is with respect to text blocks where preferred width and compressibility of each text block is a function of the amount of text in the text block. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation. In the first pass, preferred sizes and elasticities of the graphical objects are computed along a first dimension.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: March 12, 2002
    Assignee: Curl Corporation
    Inventors: Robert H. Halstead, Jr., David E. Hollingsworth
  • Patent number: 6073159
    Abstract: A technique is provided for selecting a preferred thread from a plurality of threads executing within a simultaneous multithreaded, out-of-order execution computer system, the preferred thread possessing those instructions which, while in flight within the pipeline of the computer system provide, in contrast to those instructions belonging to other threads, a more beneficial performance of the central processing unit of the computer system. To determine the preferred thread, a technique is provided to evaluate attributes of each thread which indicate whether the thread includes a number of instructions which are likely to be cancelled while in flight or whether a thread includes instructions which will remain in the instruction queue for a number of cycles, unable to execute, thus stalling the execution of the thread to which the instruction belongs.
    Type: Grant
    Filed: December 31, 1996
    Date of Patent: June 6, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Joel S. Emer, Rebecca Stamm, Trggve Fossum, Robert H. Halstead, Jr., George Z. Chrysos, Dean Tullsen, Susan Eggers, Henry M. Levy
  • Patent number: 6067604
    Abstract: In a computer system, a memory is allocated to a plurality of ports. The ports are arranged in a spatial ordering. A plurality of various sized data items are temporally ordered in each of the plurality of ports. Each data item includes a time-stamp to indicate the temporal ordering of the plurality of data items. The plurality of data items are atomically accessed by a plurality of threads using space and time coordinates. The space and time coordinates uniquely identify each of the plurality of data items.
    Type: Grant
    Filed: August 11, 1997
    Date of Patent: May 23, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Umakishore Ramachandran, Robert H. Halstead, Jr., Christopher F. Joerg, Leonidas Kontothanassis, Rishiyur S. Nikhil, James M. Rehg
  • Patent number: 5896524
    Abstract: Local clock data is collected at run time in a multiprocessor system. Postprocessing is used to determine a global time base from the local clock readings. Clock drift and offset parameters are calculated for the local clocks. These parameters are used to adjust the time stamps of events in a global event log in order to create a global time base. A first method is used to calculate clock drift and offset parameters between processors with too or more event pairs oriented in the same direction. A second method is used to calculate clock drift and offset parameters between processors with event pairs oriented in opposite directions. A third method is used where the processors have no event pairs between them.
    Type: Grant
    Filed: February 6, 1997
    Date of Patent: April 20, 1999
    Assignee: Digital Equipment Corporation
    Inventors: Robert H. Halstead, Jr., Robert Buff