Patents Assigned to NeXT Software, Inc.
-
Patent number: 6031937Abstract: 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: GrantFiled: May 19, 1994Date of Patent: February 29, 2000Assignee: NeXT Software, Inc.Inventor: Peter N. Graffagnino
-
Patent number: 6026415Abstract: 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: GrantFiled: November 11, 1997Date of Patent: February 15, 2000Assignee: NeXT Software, Inc.Inventors: Blaine Garst, Ali Ozer, Bertrand Serlet, Trey Matteson
-
Patent number: 5956728Abstract: 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: GrantFiled: July 17, 1996Date of Patent: September 21, 1999Assignee: NeXT Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 5898871Abstract: 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: GrantFiled: May 27, 1997Date of Patent: April 27, 1999Assignee: NeXT Software, Inc.Inventors: Richard Williamson, Linus Upson, Daniel Willhite, Jack Greenfield
-
Patent number: 5873093Abstract: 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: GrantFiled: May 28, 1997Date of Patent: February 16, 1999Assignee: NeXT Software, Inc.Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Daniel Willhite
-
Patent number: 5805703Abstract: 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: GrantFiled: November 27, 1996Date of Patent: September 8, 1998Assignee: NeXT Software, Inc.Inventor: Richard E. Crandall
-
Patent number: 5687370Abstract: 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: GrantFiled: January 31, 1995Date of Patent: November 11, 1997Assignee: NeXT Software, Inc.Inventors: Blaine Garst, Ali Ozer, Bertrand Serlet, Trey Matteson
-
Patent number: 5604905Abstract: 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: GrantFiled: February 28, 1995Date of Patent: February 18, 1997Assignee: NeXT Software, Inc.Inventors: Avadis Tevanian, Michael Demoney, Kevin Enderby, Douglas Wiebe, Garth Snyder
-
Patent number: 5581616Abstract: 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: GrantFiled: June 7, 1995Date of Patent: December 3, 1996Assignee: NeXT Software, Inc.Inventor: Richard E. Crandall