Patents Assigned to NeXT Software, Inc.
  • Patent number: 6031937
    Abstract: A method and apparatus are disclosed for symmetrically compressing and decompressing video information in real time by coupling block and wavelet techniques. In the compression pipeline, the image is divided into blocks comprising 2.sup.k .times.2.sup.k pixels (in the preferred embodiment, k=1). The average color of each block is computed. The system computes an average luminance for each block and differential luminances of each pixel of the plurality of pixels of each block. A first plurality of frequency details of each block are determined by Haar transforming the differential luminances. The system computes an average color difference between each block and the preceding block, and quantizes the average color difference and the first plurality of frequency details using Lloyd-Max quantization. In an alternate embodiment, skip codes are generated for blocks having the same quantized average color difference and second plurality of frequency details.
    Type: Grant
    Filed: May 19, 1994
    Date of Patent: February 29, 2000
    Assignee: NeXT Software, Inc.
    Inventor: Peter N. Graffagnino
  • Patent number: 6026415
    Abstract: The present invention discloses a system for transparent local and distributed memory management. The invention overcomes the prior art's requirement of keeping track of whether a memory space allocated to a new object or a new program or data structure can be reclaimed. According to the present invention an autorelease pool is created at the beginning of a new duty cycle. The autorelease pool retains the newly allocated memory space during the duty cycle. The autorelease pool is automatically disposed of at the end of the duty cycle. As a result of disposing the autorelease pool, the newly allocated memory space is reclaimed (i.e., deallocated). The present invention is useful in distributed networks where different programming conventions on remote and local machines made the prior art's memory management task particularly difficult. The present invention is also useful in an object-oriented programming environment.
    Type: Grant
    Filed: November 11, 1997
    Date of Patent: February 15, 2000
    Assignee: NeXT Software, Inc.
    Inventors: Blaine Garst, Ali Ozer, Bertrand Serlet, Trey Matteson
  • Patent number: 5956728
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based "undo" capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: July 17, 1996
    Date of Patent: September 21, 1999
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 5898871
    Abstract: The present invention provides a uniform method for dynamically determining an object's communication requirements. The invention provides the ability to determine the requirements for communicating with an object regardless of the object's implementation (i.e., whether keys were implemented as methods or instance variables). The invention is used in conjunction with the runtime description of an object to provide a technique for communicating with an object. The present invention uses "key-value coding" to represent data. Key-value coding uses a dictionary of key-value pairs to represent a property and a value of the property. For example, a data value, "Joe" stored in a column of a database table that contains employees' first names is represented in a key-value pair as: Key="firstName", Value="Joe". The property of the key in this key-value pair is "firstName". The method for loading data into an object is "takeValuesFromDictionary".
    Type: Grant
    Filed: May 27, 1997
    Date of Patent: April 27, 1999
    Assignee: NeXT Software, Inc.
    Inventors: Richard Williamson, Linus Upson, Daniel Willhite, Jack Greenfield
  • Patent number: 5873093
    Abstract: The present invention creates a model that maps object classes in an object-oriented environment to a data source. The model maps the relationship between properties of each object class and data of the data source. The present invention can be used with a data source such as a relational database, user interface, file system, or object-oriented database. An application's object classes and data source schema are designed independent of the other since the model can be used to map one to the other. The model is comprised of entities and attributes. An entity maps to an object class and to at least one table of the DBMS. An entity contains attributes either simple or derived. A simple attribute maps to a DBMS column. A derived attribute is a combination of other attributes and does not directly map to a DBMS column. A relationship creates a link between entities of the model. A relationship can be used to flatten an attribute or flatten a relationship.
    Type: Grant
    Filed: May 28, 1997
    Date of Patent: February 16, 1999
    Assignee: NeXT Software, Inc.
    Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Daniel Willhite
  • Patent number: 5805703
    Abstract: The present invention improves speed and reduces complexity in a digital signature scheme that uses elliptic algebra. The signature scheme generates two points that are compared. If the points do not match, the signature is not authentic. The present invention reduces computations by comparing only the x coordinates of the two generated points. The invention provides a scheme for deducing the possible values of the x- coordinate of a sum of two points using only the x coordinates of the original two points in question. The present invention provides a scheme that limits the possible solutions that satisfy the equation to two (the authentic signature and one other). Because of the large number of possible inauthentic solutions, the chance of a false authentic signature is statistically insignificant.
    Type: Grant
    Filed: November 27, 1996
    Date of Patent: September 8, 1998
    Assignee: NeXT Software, Inc.
    Inventor: Richard E. Crandall
  • Patent number: 5687370
    Abstract: The present invention discloses a system for transparent local and distributed memory management. The invention overcomes the prior art's requirement of keeping track of whether a memory space allocated to a new object or a new program or data structure can be reclaimed. According to the present invention an autorelease pool is created at the beginning of a new duty cycle. The autorelease pool retains the newly allocated memory space during the duty cycle. The autorelease pool is automatically disposed of at the end of the duty cycle. As a result of disposing the autorelease pool the newly allocated memory space is reclaimed (i.e., deallocated). The present invention is useful in distributed networks where different programming conventions on remote and local machines made the prior art's memory management task particularly difficult. The present invention is also useful in an object-oriented programming environment.
    Type: Grant
    Filed: January 31, 1995
    Date of Patent: November 11, 1997
    Assignee: NeXT Software, Inc.
    Inventors: Blaine Garst, Ali Ozer, Bertrand Serlet, Trey Matteson
  • Patent number: 5604905
    Abstract: The present invention is a method that enables single release of applications for multiple architectures and operating systems and to provide ease of use of applications in multiple architecture environments. The present invention provides a single file that contains separate object code each of multiple architectures. A special header on the file identifies each section of object code and includes pointers to its starting location. When the file is to be executed on a particular architecture, the resident operating system identifies that block of object code most suited for that particular architecture and environment. That section of code is then loaded into memory for execution. Each architecture in the file is specified by CPU-type and CPU sub-type. For each CPU type or CPU sub-type, file offset, file size and alignment is also provided. Padded bytes are provided to place each member on its specific alignment.
    Type: Grant
    Filed: February 28, 1995
    Date of Patent: February 18, 1997
    Assignee: NeXT Software, Inc.
    Inventors: Avadis Tevanian, Michael Demoney, Kevin Enderby, Douglas Wiebe, Garth Snyder
  • Patent number: 5581616
    Abstract: The present invention improves speed and reduces complexity in a digital signature scheme that uses elliptic algebra. The signature scheme generates two points that are compared. If the points do not match, the signature is not authentic. The present invention reduces computations by comparing only the x coordinates of the two generated points. The invention provides a scheme for deducing the possible values of the x-coordinate of a sum of two points using only the x coordinates of the original two points in question. The present invention provides a scheme that limits the possible solutions that satisfy the equation to two (the authentic signature and one other). Because of the large number of possible inauthentic solutions, the chance of a false authentic signature is statistically insignificant.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: December 3, 1996
    Assignee: NeXT Software, Inc.
    Inventor: Richard E. Crandall