Patents by Inventor Dan Willhite

Dan Willhite 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: 11520780
    Abstract: Systems and techniques are described for efficient, general-purpose, and potentially decentralized databases, distributed storage systems, version control systems, and/or other types of data repositories. Data is represented in a database system in such a way that any value is represented by a unique identifier which is derived from the value itself. Any database peer in the system will derive an identical identifier from the same logical value. The identifier for a value may be derived using a variety of mechanisms, including, without limitation, a hash function known to all peers in the system. The values may be organized hierarchically as a tree of nodes. Any two peers storing the same logical value will deterministically represent that value with a graph, such as the described “Prolly” tree, having the same topology and hash value, irrespective of possibly differing sequences of mutations which caused each to arrive at the same final value.
    Type: Grant
    Filed: May 10, 2021
    Date of Patent: December 6, 2022
    Assignee: Salesforce, Inc.
    Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
  • Publication number: 20220012236
    Abstract: Described herein is a method, system, and non-transitory computer readable medium for updating fields in records. Initially, fields are displayed according to how frequently the fields are updated. One of the fields is selected and then records of a record type including the selected field are displayed. One of the records is selected and a form is displayed that enables a user to update the value stored in the selected field of the selected record.
    Type: Application
    Filed: July 12, 2021
    Publication date: January 13, 2022
    Inventors: James HARRISON, Yang SU, Bryan KANE, Youdong ZHANG, ANH KHUC, DAN WILLHITE, Matt CHAN, Nate BOTWICK, Michael MACHADO
  • Publication number: 20210263913
    Abstract: Systems and techniques are described for efficient, general-purpose, and potentially decentralized databases, distributed storage systems, version control systems, and/or other types of data repositories. Data is represented in a database system in such a way that any value is represented by a unique identifier which is derived from the value itself. Any database peer in the system will derive an identical identifier from the same logical value. The identifier for a value may be derived using a variety of mechanisms, including, without limitation, a hash function known to all peers in the system. The values may be organized hierarchically as a tree of nodes. Any two peers storing the same logical value will deterministically represent that value with a graph, such as the described “Prolly” tree, having the same topology and hash value, irrespective of possibly differing sequences of mutations which caused each to arrive at the same final value.
    Type: Application
    Filed: May 10, 2021
    Publication date: August 26, 2021
    Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
  • Patent number: 11030187
    Abstract: Systems and techniques are described for efficient, general-purpose, and potentially decentralized databases, distributed storage systems, version control systems, and/or other types of data repositories. Data is represented in a database system in such a way that any value is represented by a unique identifier which is derived from the value itself. Any database peer in the system will derive an identical identifier from the same logical value. The identifier for a value may be derived using a variety of mechanisms, including, without limitation, a hash function known to all peers in the system. The values may be organized hierarchically as a tree of nodes. Any two peers storing the same logical value will deterministically represent that value with a graph, such as the described “Prolly” tree, having the same topology and hash value, irrespective of possibly differing sequences of mutations which caused each to arrive at the same final value.
    Type: Grant
    Filed: May 17, 2017
    Date of Patent: June 8, 2021
    Assignee: salesforce.com, inc.
    Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
  • Patent number: 10606576
    Abstract: Disclosed herein are system, method, and computer program product embodiments for providing a developer console to customizable live applications in a cloud collaboration platform. The developer console may support the software development lifecycle for third-party live applications deployed in the cloud collaboration platform in a myriad of fashions. The developer console may vet live applications prior to deployment, provide release and version control mechanisms, and offer a range of configuration options to control third-party live applications. The developer console may provide an initial bundle to developers that include supporting functions and modules enabling the developer to run a development environment on a local server as a local platform. A developer console may allow developers to configure access to third-party data sources that may be harnessed by a live application.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Julie Tung, Rajeev Nayak, Kevin Gibbs, Bret Taylor, Yang Su, Nate Botwick, Diana Berlin, Pedram Razavi, Scott Goodfriend, Nikrad Mahdi, Andy Chung, Drew Hamlin, Patrick Linehan, Sophia Westwood, Lindsey Simon, Shrey Banga, Dave Engelberg, Dan Willhite
  • Patent number: 8429126
    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: November 19, 2010
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 8191077
    Abstract: A method for providing stand-in objects, where relationships among objects are automatically resolved in an object oriented relational database model without the necessity of retrieving data from the database until it is needed. A “fault” class is defined, as well as fault objects whose data haven't yet been fetched from the database. An object that's created for the destination of a relationship whenever an object that includes the relationship is fetched from the database. When an object is fetched that has relationships, fault objects are created to “stand-in” for the destination objects of those relationships. Fault objects transform themselves into the actual enterprise objects—and fetch their data—the first time they're accessed. Subsequently, messages sent to the target objects are responded to by the objects themselves.
    Type: Grant
    Filed: March 30, 2009
    Date of Patent: May 29, 2012
    Assignee: NeXT Software, Inc.
    Inventors: Richard Williamson, Linus Upson, Dan Willhite, Jack Greenfield
  • Patent number: 8051429
    Abstract: The present invention comprises a method for allowing a data controlling object to interface with any number of user interface objects without requiring separate interface code for each user interface object and without restricting the user interface to certain predetermined designs. The present method provides objects called association objects that are interposed between a data controlling object and each user interface object. Each kind of user interface object has a corresponding association object. The association object for a particular kind of user interface object contains code that allows the association object to interact with the specific kind of user interface object with which it is associated. Each association object also presents a standard interface to a data controlling object, regardless of the kind of user interface object with which the association object is associated.
    Type: Grant
    Filed: September 28, 2004
    Date of Patent: November 1, 2011
    Assignee: NeXT Software, Inc.
    Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Dan Willhite
  • Patent number: 7984451
    Abstract: The present invention comprises a method for allowing a data controlling object to interface with any number of user interface objects without requiring separate interface code for each user interface object and without restricting the user interface to certain predetermined designs. The present method provides objects called association objects that are interposed between a data controlling object and each user interface object. Each kind of user interface object has a corresponding association object. The association object for a particular kind of user interface object contains code that allows the association object to interact with the specific kind of user interface object with which it is associated. Each association object also presents a standard interface to a data controlling object, regardless of the kind of user interface object with which the association object is associated.
    Type: Grant
    Filed: September 28, 2004
    Date of Patent: July 19, 2011
    Assignee: NeXT Software, Inc.
    Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Dan Willhite
  • Publication number: 20110119683
    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: Application
    Filed: November 19, 2010
    Publication date: May 19, 2011
    Applicant: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 7860831
    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: May 1, 2006
    Date of Patent: December 28, 2010
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20060271586
    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: Application
    Filed: May 1, 2006
    Publication date: November 30, 2006
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 7111013
    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: May 16, 2003
    Date of Patent: September 19, 2006
    Assignee: Next Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20040015480
    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: Application
    Filed: May 16, 2003
    Publication date: January 22, 2004
    Applicant: NeXT SOFTWARE, INC.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 6604109
    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: June 30, 2000
    Date of Patent: August 5, 2003
    Assignee: Next Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 6085197
    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: October 6, 1998
    Date of Patent: July 4, 2000
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • 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