Patents Assigned to Curl Corporation
  • 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.
  • Publication number: 20050091216
    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: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Applicant: Curl Corporation
    Inventors: David Kranz, Robert Halstead, Tom Lyons
  • Publication number: 20050060695
    Abstract: Template-generated classes in program code are compiled efficiently through a process of lazy compilation resulting in improved compilation times. Lazy compilation includes the generation of objects representing a class template and a template-generated class as well as the selective compilation of class methods that are invoked in the program code. Code sharing is a further enhancement for increasing compilation speed by providing a system and method for sharing executable object code for compatible methods among different classes generated from the same class template.
    Type: Application
    Filed: July 2, 2004
    Publication date: March 17, 2005
    Applicant: Curl Corporation
    Inventors: Mathew Hostetter, David Kranz
  • Publication number: 20040189709
    Abstract: To process the layout of graphical objects, elastic data structures are established for the graphical objects to define minimum and preferred sizes, stretch properties and compression properties. 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. Composite graphical objects include elastic 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. The default width or height preference of a graphic object can be overridden. Overriding elastics is an effective mechanism for altering the display characteristics of graphical objects while preserving certain display relationships. The elastics and dimensions of graphical objects are processed in a three pass layout negotiation.
    Type: Application
    Filed: February 3, 2004
    Publication date: September 30, 2004
    Applicant: Curl Corporation
    Inventor: Robert H. Halstead
  • 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: 6766305
    Abstract: The present invention provides a licensing mechanism allowing for different forms of license for use in an environment of interconnected servers providing content. The invention comprises both methods and a system for licensing individual content based upon the nature of the use, thus facilitating the distribution of content without a license for non-commercial purposes and content with a license for commercial purposes. The system utilizes a special form placed within the content, the form containing either a legal assertion of the non-commercial nature of the use, or an identification of the licensee and other related data. If the form includes an identification of the licensee, a license server may be contacted to validate the license. The invention also includes a licensing tool or server to generate the appropriate form for insertion within the content.
    Type: Grant
    Filed: March 12, 1999
    Date of Patent: July 20, 2004
    Assignee: Curl Corporation
    Inventors: Lori J. Fucarile, Susan B. Hoover, Murray S. Mazer, Mary C. Murphy, Stephen A. Ward, Patrick J. Lopresti
  • Patent number: 6760905
    Abstract: Template-generated classes in program code are compiled efficiently through a process of lazy compilation resulting in improved compilation times. Lazy compilation includes the generation of objects representing a class template and a template-generated class as well as the selective compilation of class methods that are invoked in the program code. Code sharing is a further enhancement for increasing compilation speed by providing a system and method for sharing executable object code for compatible methods among different classes generated from the same class template.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: July 6, 2004
    Assignee: Curl Corporation
    Inventors: Mathew J. Hostetter, David Kranz
  • Patent number: 6691113
    Abstract: Persistent data storage for client computer software programs is provided using a repository that enables client computer software programs to store data securely on a client computer system, subsequently retrieve that data, and optionally share the data in a controlled fashion with authorized client computer software programs. The present invention can be used by both trusted and untrusted client computer software programs that either reside locally on the client computer system or are downloaded from a server computer system. A benefit of the present invention is that it allows untrusted applets to have access to persistent storage without compromising the integrity of the client computer system. Since the present invention controls persistent storage space, not the programmer of the client computer software program, the burden of insuring storage integrity and security is removed from the programmer.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: February 10, 2004
    Assignee: Curl Corporation
    Inventors: Benjamin R. Harrison, David A. Kranz, Murray S. Mazer, Spiro Michaylov, Carl A. Soeder
  • 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
  • Publication number: 20030236794
    Abstract: Views for software atomization provide runtime transformations of existing atoms in atom databases to create new or virtual atom databases. Views provide for sharing of code and data atoms that are stored in an atom database, as well as providing sharing of code and data atoms that are loaded into memory. A view is a set of transformation operations, including insert a new atom, modify an existing atom, or delete an existing atom, which can be applied to an atom database. The transformation operations can be applied, either literally, to create a new atom database on disk, or virtually, to create, at runtime, a virtual atom database, without actually having to create an actual atom database on disk. Modifying an existing atom can be done in a variety of ways, including changing the atom bytes, or the atom references, or an attribute of the atom.
    Type: Application
    Filed: June 21, 2002
    Publication date: December 25, 2003
    Applicant: Curl Corporation
    Inventors: Mathew J. Hostetter, Benjamin R. Harrison
  • 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
  • Publication number: 20030225921
    Abstract: Software atomization provides a method of loading atomized computer program code and data on demand by loading, from an atom database, into a memory, an atom defining code or data in a fine-grained, individually addressable manner. Atoms comprise an atom identifier, computer program code or data information and computer program code or data reference information. The computer program code or data information is modified by transforming the reference information into memory addresses. The present invention provides for the lazy loading of data both implicitly and explicitly. Data is lazily loaded implicitly when it is referenced from code that is lazily loaded. Data is lazily loaded explicitly by encoding a referencing atom identifier such that the referenced data atom is not loaded until actually accessed at runtime.
    Type: Application
    Filed: June 3, 2002
    Publication date: December 4, 2003
    Applicant: Curl Corporation
    Inventors: Mathew J. Hostetter, Benjamin R. Harrison
  • Publication number: 20030167350
    Abstract: Opaque I/O objects are described which can be used in a variety of mobile code systems to permit unprivileged applets to perform a wide variety of I/O operations in a safe manner. Such opaque objects permit limited I/O without requiring the user of an applet to confer trust or privilege on the applet, and without exposing the user to a risk of his data being destroyed, compromised, or stolen by malicious applets.
    Type: Application
    Filed: June 4, 2002
    Publication date: September 4, 2003
    Applicant: Curl Corporation
    Inventors: Donald T. Davis, David A. Kranz
  • Patent number: 6598186
    Abstract: A system and method create and manipulate variables having both a numeric value and a units designation. The units designation is a vector of unit exponents which are operated upon consistent with operations on values. Exactly defined and underdefined quantities are stored in data structures of values and unit designations. Operations on underdefined quantities may result in expression data structures of operand quantities, operators and unit designations. The system allows the creation of variables having a unit specification and the transparent manipulation of such a variable during conventional numerical and logical operations. The system automatically signals an error condition when an operation is attempted on a set of variables having incompatible units designations. Error conditions can be detected at both compile-time and run-time. The system also includes both a predetermined dictionary of units and a customizable dictionary of units.
    Type: Grant
    Filed: March 31, 2000
    Date of Patent: July 22, 2003
    Assignee: Curl Corporation
    Inventors: Morgan S. McGuire, Mathew J. Hostetter
  • Publication number: 20030126292
    Abstract: Mobile code, such as an applet, is permitted to create a network connection with a content server on a network, without restricting the applet only to connections from the computer from which it was downloaded. This is achieved in accordance with the principles of the present invention by using network restriction software in the execution engine or runtime system under which the applet executes. When the applet attempts to create a network connection to a content server, the network restriction software checks a name file on the content server for the presence of an entry whose name corresponds to the name of the computer from which the applet was downloaded. If such an entry is present, then the network restriction software permits the network connection between the applet and the content server to be created. If not, the applet may not create a network connection with the content server.
    Type: Application
    Filed: October 10, 2002
    Publication date: July 3, 2003
    Applicant: Curl Corporation
    Inventors: Donald T. Davis, Elizabeth A. Martin, Mathew J. Hostetter, David A. Kranz
  • 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
  • Publication number: 20020138634
    Abstract: A system and methods are disclosed that permit mobile code, such as an applet, to create a network connection with a content server on a network, without exposing the client computer that is running the applet, or other computers with which the client computer may communicate, to a DNS spoofing attack. This is achieved in accordance with the principles of the present invention by using network restriction software in the execution engine or runtime system under which the applet executes. When the applet attempts to create a network connection to a content server, the network restriction software checks a “name directory” on the content server for the presence of an entry whose name corresponds to the name of the computer from which the applet was downloaded. If such an entry is present, then the network restriction software permits the network connection between the applet and the content server to be created. If not, the applet may not create a network connection with the content server.
    Type: Application
    Filed: March 27, 2001
    Publication date: September 26, 2002
    Applicant: Curl Corporation
    Inventors: Donald T. Davis, David A. Kranz, Elizabeth A. Martin
  • Patent number: 6457112
    Abstract: A system and method for allocating memory blocks and indexing the pointer to the memory blocks in a set of tables. The tables translate the pointers to the memory blocks enabling the efficient lookup of pointers during translation and garbage collection. The memory blocks further include structures for facilitating the indexing into tables and referencing pointers into allocated memory.
    Type: Grant
    Filed: August 20, 2001
    Date of Patent: September 24, 2002
    Assignee: Curl Corporation
    Inventor: Mathew J. Hostetter
  • Publication number: 20020118193
    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: Application
    Filed: September 27, 2001
    Publication date: August 29, 2002
    Applicant: Curl Corporation
    Inventor: Robert H. Halstead