Patents by Inventor David M. Brownell

David M. Brownell 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: 9940119
    Abstract: Disclosed are various embodiments for providing limited versions of applications. A limited version of an application is automatically generated from a full version of the application. The limited version has a smaller data size than the full version. The limited version of the application is sent to the client computing device in response to a request for a trial of the application.
    Type: Grant
    Filed: August 6, 2014
    Date of Patent: April 10, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: David M. Brownell, Gerard J. Heinz, II, Patrick G. McCuller
  • Publication number: 20140351954
    Abstract: Disclosed are various embodiments for providing limited versions of applications. A limited version of an application is automatically generated from a full version of the application. The limited version has a smaller data size than the full version. The limited version of the application is sent to the client computing device in response to a request for a trial of the application.
    Type: Application
    Filed: August 6, 2014
    Publication date: November 27, 2014
    Inventors: David M. Brownell, Gerard J. Heinz, II, Patrick G. McCuller
  • Patent number: 8806655
    Abstract: Disclosed are various embodiments for providing limited versions of applications. A limited version of an application is automatically generated from a full version of the application based at least in part on an expected use of the application by a client computing device during a testing period. The limited version has a smaller data size than the full version. The limited version of the application is sent to the client computing device. The limited version of the application is configured to be executed in a secured environment of the client computing device. The secured environment denies the limited version of the application access to secured resources of the client computing device.
    Type: Grant
    Filed: November 3, 2011
    Date of Patent: August 12, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: David M. Brownell, Gerard J. Heinz, II, Patrick G. McCuller
  • Patent number: 6769125
    Abstract: A number of methods, apparatus, and data structures are disclosed for managing computer processes. In one aspect, a daemon process which manages server processes includes an active server table and a locator service. The locator service can look up and register server processes in the active server table. Furthermore, the locator service can start up server processes. In some embodiments, the locator service includes a look-up object and a server process registration object which perform the tasks of the locator service. In other embodiments, methods for managing server process such as starting and registering the server processes are taught. In one specific method, a daemon process performs a variety of steps in response to receiving a look-up call for a target object. These steps include obtaining a server identifier for the target object, determining the state of a server process, and returning addressing information corresponding to the server process under which the target object will activate.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: July 27, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Anthony W. Menges, Kenneth M. Cavanaugh, III, David M. Brownell, Robert B. Hagmann, Dwight F. Hare, Peter Vanderbilt
  • Patent number: 6473806
    Abstract: A variety of methods and apparatus for managing deactivation and deletion of objects and server processes are taught. According to some embodiments of the present invention, a thread of execution termed the reaper thread systematically cycles through a computer process deactivating and/or deleting objects based upon a variety of criteria. One suitable criterion for object deactivation is based upon the amount of time lapsed since a client has requested services of the object. According to the timeout criterion, the reaper thread determines the period of time since the last client requested services from the object, compares this to a timeout value which may be defined by any suitable entity, and proceeds with deactivation and/or deletion accordingly. Object deletion may have a separate criterion or be specifically requested by a client. A deletion flag may be set to indicate that object deletion is requested.
    Type: Grant
    Filed: July 23, 1999
    Date of Patent: October 29, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Alan Snyder, Rod J. McChesney, Mark W. Hapner, Arthur A. Van Hoff, Maurice Balick, Rafael Bracho, David M. Brownell
  • Patent number: 6389484
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: December 6, 1999
    Date of Patent: May 14, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 6349342
    Abstract: A number of methods, apparatus, and data structures are disclosed for managing computer processes. In one aspect, a daemon process which manages server processes includes an active server table and a locator service. The locator service can look up and register server processes in the active server table. Furthermore, the locator service can start up server processes. In some embodiments, the locator service includes a look-up object and a server process registration object which perform the tasks of the locator service. In other embodiments, methods for managing server process such as starting and registering the server processes are taught. In one specific method, a daemon process performs a variety of steps in response to receiving a look-up call for a target object. These steps include obtaining a server identifier for the target object, determining the state of a server process, and returning addressing information corresponding to the server process under which the target object will activate.
    Type: Grant
    Filed: April 11, 1997
    Date of Patent: February 19, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Anthony W. Menges, Kenneth M. Cavanaugh, III, David M. Brownell, Robert B. Hagmann, Dwight F. Hare, Peter Vanderbilt
  • Publication number: 20020016866
    Abstract: A number of methods, apparatus, and data structures are disclosed for managing computer processes. In one aspect, a daemon process which manages server processes includes an active server table and a locator service. The locator service can look up and register server processes in the active server table. Furthermore, the locator service can start up server processes. In some embodiments, the locator service includes a look-up object and a server process registration object which perform the tasks of the locator service. In other embodiments, methods for managing server process such as starting and registering the server processes are taught. In one specific method, a daemon process performs a variety of steps in response to receiving a look-up call for a target object. These steps include obtaining a server identifier for the target object, determining the state of a server process, and returning addressing information corresponding to the server process under which the target object will activate.
    Type: Application
    Filed: September 28, 2001
    Publication date: February 7, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: Anthony W. Menges, Kenneth M. Cavanaugh, David M. Brownell, Robert B. Hagmann, Dwight E. Hare, Peter Vanderbilt
  • Patent number: 6336147
    Abstract: A method and apparatus for managing connections between objects in a distributed object system includes a method and apparatus for terminating connections between objects. In one aspect, the method for terminating a connection, a connection end message is sent from a server to a client indicating to the client that the server will no longer accept requests before the connection is terminated. Preferably a connection end code is included with the connection end message. In another aspect, the invention includes a method for making connections between objects are formed by intelligently closing existing connections that meet the criteria of being established and across which no unfulfilled requests or unforwarded replies are pending. If several connections meet these criteria, the oldest unused connection is terminated.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: January 1, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: David M. Brownell, Pavani Diwanji, Neguine Navab, Peter Vanderbilt
  • Patent number: 6167458
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: October 24, 1998
    Date of Patent: December 26, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 6161147
    Abstract: A variety of methods and apparatus for managing deactivation and deletion of objects and server processes are taught. According to some embodiments of the present invention, a thread of execution termed the reaper thread systematically cycles through a computer process deactivating and/or deleting objects based upon a variety of criteria. One suitable criterion for object deactivation is based upon the amount of time lapsed since a client has requested services of the object. According to the timeout criterion, the reaper thread determines the period of time since the last client requested services from the object, compares this to a timeout value which may be defined by any suitable entity, and proceeds with deactivation and/or deletion accordingly. Object deletion may have a separate criterion or be specifically requested by a client. A deletion flag may be set to indicate that object deletion is requested.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: December 12, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Alan Snyder, Rod J. McChesney, Mark W. Hapner, Arthur A. Van Hoff, Maurice Balick, Rafael Bracho, David M. Brownell
  • Patent number: 6032199
    Abstract: Data structures, methods, and devices for facilitating servant invocation in a distributed client-server based object oriented operating system are disclosed. In one aspect of the invention, descriptor data structures, which contain a typecode indicator, a marshaling function identifier, and an unmarshaling function identifier, are used to enable modules of application code to be shared between different objects, thereby facilitating servant invocation by increasing the amount of commonized code in the operating system. In another aspect of the invention, a server invocation object is used in the execution of a method call. In still another aspect of the invention, a commonized code base is used to process typecode interpreted and compiled calls to a server process.
    Type: Grant
    Filed: June 26, 1996
    Date of Patent: February 29, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Swee Boon Lim, Peter B. Kessler, David M. Brownell
  • Patent number: 6009266
    Abstract: A variety of methods, apparatus, and data structures for managing transient and persistent distributed objects are disclosed. Objects for use as object references are described, both for transient and persistent objects. In one aspect of the invention, a data structure that is intended for use as an object reference for a transient object is disclosed having a set of endpoint addresses, an incarnation number, and an object key. These elements serve to uniquely identify and locate the transient object. In another aspect of the invention, an object that is intended for use as an object reference for a persistent object is disclosed having a host computer name, a locator identification, an object key, and a subobject identifier. The first three elements serve as an indirection to the persistent object and the third element is for use by the persistent object. These data structures enable a distributed object operating environment which integrates both transient and persistent objects.
    Type: Grant
    Filed: March 22, 1995
    Date of Patent: December 28, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: David M. Brownell, Pavani Diwanji
  • Patent number: 5793965
    Abstract: A method of checking the type of an object located on a remote computer in a distributed object environment computing system is disclosed. Initially, a type checking method to determine whether a remotely located object is of a specified type is invoked. In the invocation, a target interface identifier is included as an argument. A determination is then made as to whether the target interface identifier is equal to or a base for an apparent interface identifier held by a proxy object located on the first computer. If the target interface identifier is determined to be equal to or a base for the apparent interface identifier, an affirmative indication to that effect is returned to the client process. If not, then the target interface identifier is then compared to a real interface identifier. In many embodiments, a call to the server host will have to be made in order to determine the real interface identifier.
    Type: Grant
    Filed: March 22, 1995
    Date of Patent: August 11, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter Vanderbilt, David M. Brownell, Alain Demour, Dwight F. Hare, Michael L. Powell