Patents by Inventor John O. Lamping

John O. Lamping 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: 6108698
    Abstract: Node-link data defining a graph also include tree defining data. The node-link data with the tree defining data further define a tree within the graph. The tree defining data indicate a set of elements in the graph that are represented in the tree. Each of a subset of elements in the set is represented more than once in the tree. For at least one element in the subset, the tree defining data indicate which representations of the element have descendants in the tree and which representations have none. The tree defining data can, for example, be expansion flags for links in the graph that are in the set of elements, with each links expansion flag indicating whether the link's to-node is expanded or contracted in the tree. In response to each of a series of expand and contract signals from a user, an iteration can modify the tree defining data and use it to present a representation of the graph with the indicated node expanded or contracted as requested.
    Type: Grant
    Filed: July 29, 1998
    Date of Patent: August 22, 2000
    Assignee: Xerox Corporation
    Inventors: Tichomir G. Tenev, Ramana B. Rao, Harold J. Shinsato, Jr., John O. Lamping
  • Patent number: 5822593
    Abstract: A processor is provided with a software program specifying an overall computation that includes operations. Each operation implies a set of subcomputations, without explicitly specifying a control structure for carrying out the subcomputations according to a particular sequencing. The operations include a first and a second operation, and the provided software program further specifies how the first and second operations are combined in the overall computation. For example, the first and second operations can each imply, respectively, a first and a second computational loop, the first loop including the subcomputations of the first operation, the second loop including the subcomputations of the second operation.
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: October 13, 1998
    Assignee: Xerox Corporation
    Inventors: John O. Lamping, Gregor J. Kiczales, Anurag D. Mendhekar
  • Patent number: 5781779
    Abstract: To generate computationally efficient computer program code for carrying out computer computations on matrix organized input data, a program first is written in a relatively high-level language which includes programmer specifiable constructs for manipulating matrices and parts thereof; and which permits certain of the constructs to be annotated to specify programmer selected data structures and programmer selected operations on those data structures. This high-level program then is translated into a relatively high-level program into a relatively low-level language using low-level language routines that provide a compilable representation of the program, including all programmer selected data structures and all programmer selected operations on said data structures then the low-level representation of the program is compiled to generate computer executable code for implementing the program, including all programmer selected data structures and all programmer selected operations on said data structures.
    Type: Grant
    Filed: December 18, 1995
    Date of Patent: July 14, 1998
    Assignee: Xerox Corporation
    Inventors: John R. Gilbert, John O. Lamping, Anurag Mendhekar, Tatiana Shpeisman
  • Patent number: 5619632
    Abstract: Node-link data defining a node-link structure are used to present a sequence of representations on a display. The last representation in the sequence is perceptible as a changed continuation of the first. Each representation includes bounded node features, each with a center of area and a nearest node spacing that define a mid-spacing circle. All mid-spacing circles together determine an outer convex hull enclosing a total area for the representation. The mid-spacing circles of a subset of more spaced node features determine an inner convex hull enclosing approximately half the total area and enclosing a region in which nearest node spacings are in general perceptibly greater than in another region outside the second convex hull. The node features also represent a peripheral branch with lower level nodes that are not represented by more spaced node features.
    Type: Grant
    Filed: September 14, 1994
    Date of Patent: April 8, 1997
    Assignee: Xerox Corporation
    Inventors: John O. Lamping, Ramana B. Rao
  • Patent number: 5590250
    Abstract: Layout data indicate positions in a negatively curved layout space for nodes in a hierarchical branch of a node-link structure. The layout data indicate a parent position for parent nodes and, for children that share a parent node, child positions approximately along a circle in the layout space with the parent position approximately at the circle's center. Adjacent child positions are separated by approximately a base spacing. The radii of circles within the branch together approximate a function that increases slowly with number of child nodes such that the radii and spacings along circles are all approximately uniform within the branch. The layout data can be obtained from data defining the node-link structure. The layout data can be used to perform mappings, each obtaining positions for a subset of the nodes. The layout data can be used to present a first representation of the node-link structure on a display.
    Type: Grant
    Filed: September 14, 1994
    Date of Patent: December 31, 1996
    Assignee: Xerox Corporation
    Inventors: John O. Lamping, Ramana B. Rao
  • Patent number: 5088048
    Abstract: Propositional reasoning is performed on a massively parallel processor, with sets of element value combinations being handled by separate processing units. A host processor operates as a problem solver generating requests for propositional reasoning, and also operates as an interface between the problem solver and the parallel processor. In response to a request that includes a formula, the interface provides one or more formulas such as justifications and class restrictions. The interface provides instructions to the parallel processor based on each of these formulas. The instruction based on each formula are provided so that the set of element value combinations handled by each processing unit is not divided or forked into two subsets until necessary. If possible, forking is avoided by forcing the value of an element to the only value consistent with the current formula.
    Type: Grant
    Filed: June 10, 1988
    Date of Patent: February 11, 1992
    Assignee: Xerox Corporation
    Inventors: Michael Dixon, Johan de Kleer, John O. Lamping