Patents Assigned to Curl Corporation
-
Patent number: 6919890Abstract: 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: GrantFiled: September 27, 2001Date of Patent: July 19, 2005Assignee: Curl CorporationInventor: Robert H. Halstead, Jr.
-
Publication number: 20050091216Abstract: 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: ApplicationFiled: October 23, 2003Publication date: April 28, 2005Applicant: Curl CorporationInventors: David Kranz, Robert Halstead, Tom Lyons
-
Publication number: 20050060695Abstract: 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: ApplicationFiled: July 2, 2004Publication date: March 17, 2005Applicant: Curl CorporationInventors: Mathew Hostetter, David Kranz
-
Publication number: 20040189709Abstract: 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: ApplicationFiled: February 3, 2004Publication date: September 30, 2004Applicant: Curl CorporationInventor: Robert H. Halstead
-
Patent number: 6769001Abstract: 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: GrantFiled: January 12, 2001Date of Patent: July 27, 2004Assignee: Curl CorporationInventors: Robert H. Halstead, Jr., David A. Kranz, Christopher J. Terman, Stephen A. Ward
-
Patent number: 6766305Abstract: 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: GrantFiled: March 12, 1999Date of Patent: July 20, 2004Assignee: Curl CorporationInventors: Lori J. Fucarile, Susan B. Hoover, Murray S. Mazer, Mary C. Murphy, Stephen A. Ward, Patrick J. Lopresti
-
Patent number: 6760905Abstract: 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: GrantFiled: September 21, 2000Date of Patent: July 6, 2004Assignee: Curl CorporationInventors: Mathew J. Hostetter, David Kranz
-
Patent number: 6691113Abstract: 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: GrantFiled: September 28, 2000Date of Patent: February 10, 2004Assignee: Curl CorporationInventors: Benjamin R. Harrison, David A. Kranz, Murray S. Mazer, Spiro Michaylov, Carl A. Soeder
-
Patent number: 6670969Abstract: 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: GrantFiled: June 29, 2000Date of Patent: December 30, 2003Assignee: Curl CorporationInventors: Robert H. Halstead, Jr., David A. Kranz, Stephen A. Ward
-
Publication number: 20030236794Abstract: 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: ApplicationFiled: June 21, 2002Publication date: December 25, 2003Applicant: Curl CorporationInventors: Mathew J. Hostetter, Benjamin R. Harrison
-
Patent number: 6667750Abstract: 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: GrantFiled: July 30, 1999Date of Patent: December 23, 2003Assignee: Curl CorporationInventors: Robert H. Halstead, Jr., David E. Hollingsworth
-
Publication number: 20030225921Abstract: 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: ApplicationFiled: June 3, 2002Publication date: December 4, 2003Applicant: Curl CorporationInventors: Mathew J. Hostetter, Benjamin R. Harrison
-
Publication number: 20030167350Abstract: 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: ApplicationFiled: June 4, 2002Publication date: September 4, 2003Applicant: Curl CorporationInventors: Donald T. Davis, David A. Kranz
-
Patent number: 6598186Abstract: 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: GrantFiled: March 31, 2000Date of Patent: July 22, 2003Assignee: Curl CorporationInventors: Morgan S. McGuire, Mathew J. Hostetter
-
Publication number: 20030126292Abstract: 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: ApplicationFiled: October 10, 2002Publication date: July 3, 2003Applicant: Curl CorporationInventors: Donald T. Davis, Elizabeth A. Martin, Mathew J. Hostetter, David A. Kranz
-
Patent number: 6504544Abstract: 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: GrantFiled: July 30, 1999Date of Patent: January 7, 2003Assignee: Curl CorporationInventors: David E. Hollingsworth, Robert H. Halstead, Jr.
-
Patent number: 6473093Abstract: 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: GrantFiled: July 30, 1999Date of Patent: October 29, 2002Assignee: Curl CorporationInventors: Robert H. Halstead, Jr., David E. Hollingsworth
-
Publication number: 20020138634Abstract: 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: ApplicationFiled: March 27, 2001Publication date: September 26, 2002Applicant: Curl CorporationInventors: Donald T. Davis, David A. Kranz, Elizabeth A. Martin
-
Patent number: 6457112Abstract: 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: GrantFiled: August 20, 2001Date of Patent: September 24, 2002Assignee: Curl CorporationInventor: Mathew J. Hostetter
-
Publication number: 20020118193Abstract: 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: ApplicationFiled: September 27, 2001Publication date: August 29, 2002Applicant: Curl CorporationInventor: Robert H. Halstead