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).
-
Publication number: 20240195847Abstract: Media, methods, and systems are provided for real-time updates of collaborative documents in a group-based communication system. Collaborative documents may allow for multiple users to simultaneously modify and edit a document. When a collaborative document is created, a server may create an ephemeral channel and an identifier for the collaborative document. As users connect to the collaborative document, the users may be assigned a temporary subscription to the collaborative document. Real-time events, such as indications that a user is typing, indications that a user is connected in the collaborative document, and changes to the collaborative document may be published to the user via the temporary subscription. When the user disconnects from the document, the real-time events may no longer be communicated.Type: ApplicationFiled: December 9, 2022Publication date: June 13, 2024Inventors: Serguei Mourachov, Sameera Thangudu, Manju Vijayakumar, Gabriel Adomnicai, Kimberly Van Anh Nguyen, Eric M. Halpern, Dan Willhite, Brett Griffin Wines
-
Patent number: 11520780Abstract: 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: GrantFiled: May 10, 2021Date of Patent: December 6, 2022Assignee: Salesforce, Inc.Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
-
Publication number: 20220012236Abstract: 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: ApplicationFiled: July 12, 2021Publication date: January 13, 2022Inventors: James HARRISON, Yang SU, Bryan KANE, Youdong ZHANG, ANH KHUC, DAN WILLHITE, Matt CHAN, Nate BOTWICK, Michael MACHADO
-
Publication number: 20210263913Abstract: 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: ApplicationFiled: May 10, 2021Publication date: August 26, 2021Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
-
Patent number: 11030187Abstract: 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: GrantFiled: May 17, 2017Date of Patent: June 8, 2021Assignee: salesforce.com, inc.Inventors: Aaron Boodman, Rafael Weinstein, Erik Arvidsson, Chris Masone, Dan Willhite, Benjamin Kalman
-
Patent number: 10606576Abstract: 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: GrantFiled: January 31, 2019Date of Patent: March 31, 2020Assignee: 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: 8429126Abstract: 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: November 19, 2010Date of Patent: April 23, 2013Assignee: Apple Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 8191077Abstract: 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: GrantFiled: March 30, 2009Date of Patent: May 29, 2012Assignee: NeXT Software, Inc.Inventors: Richard Williamson, Linus Upson, Dan Willhite, Jack Greenfield
-
Patent number: 8051429Abstract: 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: GrantFiled: September 28, 2004Date of Patent: November 1, 2011Assignee: NeXT Software, Inc.Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Dan Willhite
-
Patent number: 7984451Abstract: 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: GrantFiled: September 28, 2004Date of Patent: July 19, 2011Assignee: NeXT Software, Inc.Inventors: Richard Williamson, Linus Upson, Jack Greenfield, Dan Willhite
-
Publication number: 20110119683Abstract: 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: ApplicationFiled: November 19, 2010Publication date: May 19, 2011Applicant: NeXT Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 7860831Abstract: 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: May 1, 2006Date of Patent: December 28, 2010Assignee: NeXT Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Publication number: 20060271586Abstract: 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: ApplicationFiled: May 1, 2006Publication date: November 30, 2006Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 7111013Abstract: 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: May 16, 2003Date of Patent: September 19, 2006Assignee: Next Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Publication number: 20040015480Abstract: 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: ApplicationFiled: May 16, 2003Publication date: January 22, 2004Applicant: NeXT SOFTWARE, INC.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 6604109Abstract: 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: June 30, 2000Date of Patent: August 5, 2003Assignee: Next Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
Patent number: 6085197Abstract: 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: October 6, 1998Date of Patent: July 4, 2000Assignee: NeXT Software, Inc.Inventors: Craig Federighi, Dan Willhite, Eric Noyau
-
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