Patents by Inventor Aaron Boodman
Aaron Boodman 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: 11799984Abstract: According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.Type: GrantFiled: February 14, 2022Date of Patent: October 24, 2023Assignee: GOOGLE LLCInventors: Aaron Boodman, Erik Kay, Rafael Weinstein, Matthew Perry, Glen Murphy
-
Patent number: 11785083Abstract: A system to synchronize application data bidirectionally between N clients and one server, by: (a) pushing mutations made in the client to the server, wherein each mutation is comprised of a mutation name identifying the type of mutation, and arguments provided by the application modifying the behavior of the mutation, and the pusher also pushes a client ID and mutation ID for each mutation to the server; (b) pulling server differentials to the client; (c) storing key/value pairs in a versioned cache, wherein the keys are text strings and the values are data provided by an application in the client; and (d) resolving conflicts between the client and the server with a rebaser that: forks the cache to create a synch branch when the client receives the latest server differential, applies the latest received server differential to the synch branch, applies only those mutations to the synch branch that have not already been acknowledged by the server, and then makes the synch branch the main branch of the cachType: GrantFiled: January 11, 2023Date of Patent: October 10, 2023Assignee: ROCICORP, LLCInventors: Aaron Boodman, Fritz Schneider, Erik Arvidsson
-
Patent number: 11733850Abstract: Disclosed herein are system, method, and computer program product embodiments for slide grid snapping for presentations slides in a cloud collaboration platform. An embodiment operates by displaying a slide made up of rows and columns of pixels, receiving inputs to select and move an object, interpreting the movement, based on proximity to particular rows and columns, places the object along the particular row and column of pixels, and rendering the resulting slide. By serializing and coordinating design actions using the slide grid, the ease of design and the efficiency of the user experience may be enhanced. The grid system further allows users to comment anywhere in the document, associating those comments with objects or layers, and adjusting or moving the comments in response to grid-based actions.Type: GrantFiled: January 31, 2019Date of Patent: August 22, 2023Assignee: Salesforce, Inc.Inventors: Andy Chung, Aaron Boodman, Joshua Li, Erik Arvidsson, Kevin Gibbs, Diana Berlin
-
Publication number: 20230156081Abstract: A system to synchronize application data bidirectionally between N clients and one server, by: (a) pushing mutations made in the client to the server, wherein each mutation is comprised of a mutation name identifying the type of mutation, and arguments provided by the application modifying the behavior of the mutation, and the pusher also pushes a client ID and mutation ID for each mutation to the server; (b) pulling server differentials to the client; (c) storing key/value pairs in a versioned cache, wherein the keys are text strings and the values are data provided by an application in the client; and (d) resolving conflicts between the client and the server with a rebaser that: forks the cache to create a synch branch when the client receives the latest server differential, applies the latest received server differential to the synch branch, applies only those mutations to the synch branch that have not already been acknowledged by the server, and then makes the synch branch the main branch of the cachType: ApplicationFiled: January 11, 2023Publication date: May 18, 2023Applicant: ROCICORP, LLCInventors: Aaron BOODMAN, Fritz SCHNEIDER, Erik ARVIDSSON
-
Patent number: 11582302Abstract: A system to synchronize application data bidirectionally between N clients and one server, by: (a) pushing mutations made in the client to the server, wherein each mutation is comprised of a mutation name identifying the type of mutation, and arguments provided by the application modifying the behavior of the mutation, and the pusher also pushes a client ID and mutation ID for each mutation to the server; (b) pulling server differentials to the client; (c) storing key/value pairs in a versioned cache, wherein the keys are text strings and the values are data provided by an application in the client; and (d) resolving conflicts between the client and the server with a rebaser that: forks the cache to create a synch branch when the client receives the latest server differential, applies the latest received server differential to the synch branch, applies only those mutations to the synch branch that have not already been acknowledged by the server, and then makes the synch branch the main branch of the cachType: GrantFiled: January 26, 2022Date of Patent: February 14, 2023Assignee: ROCICORP, LLCInventors: Aaron Boodman, Fritz Schneider, Erik Arvidsson
-
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: 20220247833Abstract: According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.Type: ApplicationFiled: February 14, 2022Publication date: August 4, 2022Inventors: Aaron Boodman, Erik Kay, Rafael Weinstein, Matthew Perry, Glen Murphy
-
Publication number: 20220239737Abstract: A system to synchronize application data bidirectionally between N clients and one server, by: (a) pushing mutations made in the client to the server, wherein each mutation is comprised of a mutation name identifying the type of mutation, and arguments provided by the application modifying the behavior of the mutation, and the pusher also pushes a client ID and mutation ID for each mutation to the server; (b) pulling server differentials to the client; (c) storing key/value pairs in a versioned cache, wherein the keys are text strings and the values are data provided by an application in the client; and (d) resolving conflicts between the client and the server with a rebaser that: forks the cache to create a synch branch when the client receives the latest server differential, applies the latest received server differential to the synch branch, applies only those mutations to the synch branch that have not already been acknowledged by the server, and then makes the synch branch the main branch of the cachType: ApplicationFiled: January 26, 2022Publication date: July 28, 2022Applicant: ROCICORP, LLCInventors: Aaron BOODMAN, Fritz Schneider, Erik Arvidsson
-
Publication number: 20220063106Abstract: Disclosed herein are system, method, and computer program product embodiments for improving user experiences within a cloud collaboration platform that integrates communication tools with word processor functions to enhance workflows, save time, and promote teamwork in the development of slide presentations. To improve usability, a cloud collaboration platform may furnish a reader mode to streamline the presentation review process. The reader mode may allow viewers to review the presentation as the presentation will eventually be presented to an audience. The viewers may provide comments and feedback on the presentation without being inundated with comments and metadata added to an edit mode of the presentation by the original authors.Type: ApplicationFiled: September 7, 2021Publication date: March 3, 2022Applicant: salesforce.com, inc.Inventors: Andy Chung, Aaron Boodman, Erik Arvidsson, Kevin Gibbs, Julie Tung, Diane Berlin
-
Patent number: 11252252Abstract: According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.Type: GrantFiled: February 18, 2020Date of Patent: February 15, 2022Assignee: GOOGLE LLCInventors: Aaron Boodman, Erik Kay, Rafael Weinstein, Matthew Perry, Glen Murphy
-
Patent number: 11113666Abstract: Disclosed herein are system, method, and computer program product embodiments for improving user experiences within a cloud collaboration platform that integrates communication tools with word processor functions to enhance workflows, save time, and promote teamwork in the development of slide presentations. To improve usability, a cloud collaboration platform may furnish a reader mode to streamline the presentation review process. The reader mode may allow viewers to review the presentation as the presentation will eventually be presented to an audience. The viewers may provide comments and feedback on the presentation without being inundated with comments and metadata added to an edit mode of the presentation by the original authors.Type: GrantFiled: January 31, 2019Date of Patent: September 7, 2021Assignee: salesforce.com, inc.Inventors: Andy Chung, Aaron Boodman, Erik Arvidsson, Kevin Gibbs, Julie Tung, Diane Berlin
-
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
-
Publication number: 20200258133Abstract: According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.Type: ApplicationFiled: February 18, 2020Publication date: August 13, 2020Inventors: Aaron Boodman, Erik Kay, Rafael Weinstein, Matthew Perry, Glen Murphy
-
Publication number: 20200090126Abstract: Disclosed herein are system, method, and computer program product embodiments for improving user experiences within a cloud collaboration platform that integrates communication tools with word processor functions to enhance workflows, save time, and promote teamwork in the development of slide presentations. To improve usability, a cloud collaboration platform may furnish a reader mode to streamline the presentation review process. The reader mode may allow viewers to review the presentation as the presentation will eventually be presented to an audience. The viewers may provide comments and feedback on the presentation without being inundated with comments and metadata added to an edit mode of the presentation by the original authors.Type: ApplicationFiled: January 31, 2019Publication date: March 19, 2020Inventors: Andy Chung, Aaron BOODMAN, Erik ARVIDSSON, Kevin GIBBS, Julie TUNG, Diane BERLIN
-
Publication number: 20200089397Abstract: Disclosed herein are system, method, and computer program product embodiments for slide grid snapping for presentations slides in a cloud collaboration platform. An embodiment operates by displaying a slide made up of rows and columns of pixels, receiving inputs to select and move an object, interpreting the movement, based on proximity to particular rows and columns, places the object along the particular row and column of pixels, and rendering the resulting slide. By serializing and coordinating design actions using the slide grid, the ease of design and the efficiency of the user experience may be enhanced. The grid system further allows users to comment anywhere in the document, associating those comments with objects or layers, and adjusting or moving the comments in response to grid-based actions.Type: ApplicationFiled: January 31, 2019Publication date: March 19, 2020Inventors: Andy Chung, Aaron Boodman, Josh Li, Erik Arvidsson, Kevin Gibbs, Diana Berlin
-
Patent number: 10580051Abstract: A computer-implemented method includes running a background element that is an invisible element in a browser application, where the background element includes a declared association with an application and includes instructions related to one or more visible elements of the application in the browser application and executing the instructions on the background element to perform a function related to the one or more visible elements of the application in the browser application.Type: GrantFiled: May 18, 2011Date of Patent: March 3, 2020Assignee: Google LLCInventors: Aaron Boodman, Erik Kay, Matthew Perry, Rafael Weinstein, Andrew T. Wilson
-
Patent number: 10567543Abstract: According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.Type: GrantFiled: August 25, 2014Date of Patent: February 18, 2020Assignee: GOOGLE LLCInventors: Aaron Boodman, Erik Kay, Rafael Weinstein, Matthew Perry, Glen Murphy
-
Patent number: 10068270Abstract: A computer-implemented method includes providing an online marketplace to developers of web applications that may be downloaded from the marketplace to a client computing device for execution by a browser executing on the client device and receiving a request from a party to the marketplace to list a proposed web application for sale in the marketplace. One or more processors of a computer system automatically determine the permissions requested by the proposed web application and automatically determine if the permissions match one or more predetermined permissions. If the permissions match one or more predetermined permissions, then the proposed application is flagged for a manual vetting process before listing the proposed application in the marketplace, and if they do not match, then the proposed application is listed in the marketplace without manual review of the application.Type: GrantFiled: April 3, 2014Date of Patent: September 4, 2018Assignee: GOOGLE LLCInventors: Erik Kay, Aaron Boodman, Lei Zheng, Michael Noth
-
Patent number: 10013497Abstract: Methods for loading a current version of a web page in the background of a previous version of the web page are provided. In one aspect, a method includes receiving a request to display a web page, and providing, for display, a previously visited version of the web page in response to the request. The method also includes determining whether an updated version of the web page is available. When the determination indicates an updated version of the web page is available, the method includes loading the updated version of the web page while the previously visited version of the web page is provided for display, and replacing the display of the previously visited version of the web page with a display of the updated version of the web page after the updated version of the web page has been loaded. Systems and machine-readable media are also provided.Type: GrantFiled: September 17, 2014Date of Patent: July 3, 2018Assignee: GOOGLE LLCInventor: Aaron Boodman