Patents by Inventor Andrew G. Heninger

Andrew G. Heninger 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: 8112540
    Abstract: A forward and backward compatible streaming protocol requires subsequent versions of the protocol to be purely additive relative to earlier versions. When a data segment is transmitted as a data stream, a first stream of data that is in accordance with a first version of the protocol is transmitted, with additional streams of data that are in accordance with subsequent versions of the protocol appended in sequence to the first stream of data. When a read module implements an earlier version of the protocol than a write module, the data segment is truncated to include only the data supported by the version implemented by the read module. On the other hand, when the read module implements a later version of the protocol than the write module, receipt of the data segment is terminated after the data supported by the version implemented by the write module is received.
    Type: Grant
    Filed: November 6, 2007
    Date of Patent: February 7, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mark E. Davis, Andrew G. Heninger, Marc Jablonski, Glenn A. Marcy, Michael C. Werts
  • Patent number: 7330870
    Abstract: A forward and backward compatible streaming protocol quires subsequent versions of the protocol to be purely additive relative to earlier versions. When a data segment is transmitted as a data stream, a first stream of data that is in accordance with a first version of the protocol is transmitted, with additional streams of data that are in accordance with subsequent versions of the protocol appended in sequence to the first stream of data. When a read module implements an earlier version of the protocol than a write module, the data segment is truncated to include only the data supported by the version implemented by the read module. On the other hand, when the read module implements a later version of the protocol than the write module, receipt of the data segment is terminated after the data supported by the version implemented by the write module is received.
    Type: Grant
    Filed: February 11, 1997
    Date of Patent: February 12, 2008
    Assignee: International Business Machines Corporation
    Inventors: Mark E. Davis, Andrew G. Heninger, Marc Jablonski, Glenn A. Marcy, Michael C. Werts
  • Patent number: 6327627
    Abstract: A method and apparatus for an innovative object oriented framework system is disclosed. The system uses an innovative framework architecture to provide the first object oriented operating system.
    Type: Grant
    Filed: June 10, 1999
    Date of Patent: December 4, 2001
    Assignee: Object Technology Licensing Corporation
    Inventors: Debra L. Orton, David B. Goldsmith, Christopher P. Moeller, Andrew G. Heninger
  • Patent number: 6146027
    Abstract: A computer system has a processor, a display, and a object-oriented application interface between a user input device such as a cursor placement device and an object-oriented application program. The cursor placement device has a user button for generating a device event signal for controlling a pointer graphic on the display. The object-oriented application program includes a plurality of objects with logic and data for performing particular functions. An interactor object is responsive to a device event signal to change the display from displaying an icon to a thumbnail display. An interactable object is instantiated in an application address space, and includes data and methods for manipulating the data. The interactor object is instantiated in a system address space and is responsive to the device event signal for calling a predetermined one of the interactable object's methods to change the data therein.
    Type: Grant
    Filed: July 23, 1997
    Date of Patent: November 14, 2000
    Assignee: Object Technology Licensing Corp.
    Inventors: Debra L. Orton, David B. Goldsmith, Christopher P. Moeller, Andrew G. Heninger
  • Patent number: 6029207
    Abstract: An apparatus and method for the dynamic (execution time) linking of object oriented software components is disclosed. The present invention comprises a computer system including a set of at least two software components. This invention provides a method and means for dynamically linking object oriented software components during run time execution of the program. The present invention includes two main features. First, a query function is provided to allow an application component to determine, during program execution time, the name and location of library classes available for use. Second, the application component can create (instantiate) instances of derived classes of an abstract base class. The application component can manipulate the instantiated object using the abstract interface provided by the base class definition. The implementation of the present invention involves processing at two steps in the software generation cycle.
    Type: Grant
    Filed: August 19, 1997
    Date of Patent: February 22, 2000
    Assignee: Apple Computer, Inc.
    Inventor: Andrew G. Heninger
  • Patent number: 5717877
    Abstract: An object-oriented user interface utilizes object-oriented controls that operate together and compartmentalize the response code in three separate objects. The first object is called an interactable object and is incorporated into the application program. The interactable object includes a displayable representation generically referred to as an icon and a number of methods for manipulating the icon display. The display itself is managed by a second object called a view object which is associated with the display screen. The view object monitors and tracks the position of the icons on the display screen. The view object and the interactable objects are coordinated by means of an interaction object which receives input messages and event signals generated by mouse movements, mouse button presses, keyboard key presses and position information generated by the view object.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: February 10, 1998
    Assignee: Object Licensing Licensing Corporation
    Inventors: Debra L. Orton, David B. Goldsmith, Christopher P. Moeller, Andrew G. Heninger
  • Patent number: 5659751
    Abstract: An apparatus and method for the dynamic (execution time) linking of object oriented software components is disclosed. The present invention comprises a computer system including a set of at least two software components. This invention provides a method and means for dynamically linking object oriented software components during run time execution of the program. The present includes two main features. First, a query function is provided to allow an application component to determine, during program execution time, the name and location of library classes available for use. Second, the application component can create (instantiate) instances of derived classes of an abstract base class. The application component can manipulate the instantiated object using the abstract interface provided by the base class definition. The implementation of the present invention involves processing at two steps in the software generation cycle.
    Type: Grant
    Filed: December 3, 1992
    Date of Patent: August 19, 1997
    Assignee: Apple Computer, Inc.
    Inventor: Andrew G. Heninger
  • Patent number: 5519862
    Abstract: A method and apparatus for an innovative object oriented framework system is disclosed. The system uses an innovative load architecture for a framework application by multiple users. The load architecture implements functions, static data and classes in a more flexible manner than prior operating systems.
    Type: Grant
    Filed: February 26, 1993
    Date of Patent: May 21, 1996
    Assignee: Taligent, Inc.
    Inventors: Arnold Schaeffer, David B. Goldsmith, Christopher P. Moeller, Andrew G. Heninger
  • Patent number: 5459865
    Abstract: A method and apparatus for an innovative object oriented framework system is disclosed. The system uses an innovative load architecture for a framework application by multiple users. The load architecture implements functions, static data and classes in a more flexible manner than prior operating systems.
    Type: Grant
    Filed: April 5, 1993
    Date of Patent: October 17, 1995
    Assignee: Taligent Inc.
    Inventors: Andrew G. Heninger, Russell T. Nakano, Jack H. Palevich
  • Patent number: 5414854
    Abstract: A method and apparatus is disclosed for locating and loading shared libraries linked with a given shared library that has been launched by a program. The present invention operates by initially determining the names of the shared library names that are necessary to a program that has been launched. Thereafter, search objects are employed to search for and attain the physical shared library locations that correspond to the determined names. A collection of search objects can be placed within a team and employed in a selected sequential order. Upon the attainment of an appropriate locations corresponding to each of the shared library names, each of the shared library names are mapped to its corresponding physical location. Thereafter, the contents of each physical shared library location can be loaded for purposes of a program.
    Type: Grant
    Filed: April 5, 1993
    Date of Patent: May 9, 1995
    Assignee: Taligent, Inc.
    Inventors: Andrew G. Heninger, Russell T. Nakano
  • Patent number: 5369766
    Abstract: A method and apparatus for an innovative object oriented framework system is disclosed. The system uses an innovative load architecture for a framework application and provides a system and method for dynamically linking load modules at runtime. The preferred embodiment employs a collection of load modules, each of which contains functions, static data, and classes to make the load modules appear as if they were statically linked together. However, code executing in one load module can perform operations on another load modules code, such as: calling a function, or obtaining a pointer to a function; accessing static data or obtaining a pointer to the static data; calling any public or protected member function of a class to obtain a pointer or access a public or protected data member of the class; or cast to any base of an object of a class.
    Type: Grant
    Filed: March 25, 1993
    Date of Patent: November 29, 1994
    Assignee: Taligent, Inc.
    Inventors: Russell T. Nakano, Andrew G. Heninger
  • Patent number: 4748575
    Abstract: A system for detecting the presence of trailing zeros in a number. The number is divided into a plurality of consecutive groups, each group having an address. The system also determines the address location of the lowest order group which contains at least one non-zero bit and which precedes any trailing zeros of the number. Such group defines a target group. The system includes a first circuit for dividing the number into a plurality of consecutive words where each word contains more bits than any group. The first circuit also determines the lowest order word which contains one or more non-zero bits and which precedes any trailing zeros of the number. The system includes a second dividing circuit for dividing each word into a plurality of segments each having a number of bits equal to or greater than the number of bits in the target group.
    Type: Grant
    Filed: December 21, 1984
    Date of Patent: May 31, 1988
    Assignee: Zilog, Inc.
    Inventors: Peter B. Ashkin, Andrew G. Heninger
  • Patent number: 4648034
    Abstract: A 32-bit central processing unit (CPU) having a six-stage pipeline architecture with an instruction and data cache memory and a memory management units, all provided on a single, integrated circuit (I.C.) chip. The CPU also contains means for controlling the operation of a separate I.C. chip co-processor that is dedicated to performing specific functions at a very high rate of speed, commonly called an extended processing unit (EPU). The EPU is provided with interface circuits that generate control signals and communicate them to the controlling CPU.
    Type: Grant
    Filed: August 27, 1984
    Date of Patent: March 3, 1987
    Assignee: Zilog, Inc.
    Inventor: Andrew G. Heninger