Patents by Inventor Gregory D. Fee
Gregory D. Fee 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: 11108847Abstract: Techniques and mechanisms for providing asynchronous web service calls in an on-demand services environment. In response to request from a remote client, a page is provided. The page has content including logic to retrieve information from a remote resource external to an on-demand services environment via at least one asynchronous web service call. A controller component of the page is loaded before rendering a response to the remote computing device. At least one web service call is sent to the remote resource with the controller component. A continuation object is returned with the controller component to release the first thread from waiting for a response to the web service call. The continuation object provides a label to be used when handling the response. The response to the web service call is received from the remote resource and processing is resumed with the continuation object.Type: GrantFiled: November 26, 2019Date of Patent: August 31, 2021Assignee: salesforce.com, inc.Inventors: Yan Tan, Gregory D. Fee, Sreeram Duvur, Christopher Wall
-
Publication number: 20200204612Abstract: Techniques and mechanisms for providing asynchronous web service calls in an on-demand services environment. In response to request from a remote client, a page is provided. The page has content including logic to retrieve information from a remote resource external to an on-demand services environment via at least one asynchronous web service call. A controller component of the page is loaded before rendering a response to the remote computing device. At least one web service call is sent to the remote resource with the controller component. A continuation object is returned with the controller component to release the first thread from waiting for a response to the web service call. The continuation object provides a label to be used when handling the response. The response to the web service call is received from the remote resource and processing is resumed with the continuation object.Type: ApplicationFiled: November 26, 2019Publication date: June 25, 2020Inventors: Yan Tan, Gregory D. Fee, Sreeram Duvur, Christopher Wall
-
Patent number: 10491664Abstract: Techniques and mechanisms for providing asynchronous web service calls in an on-demand services environment. In response to request from a remote client, a page is provided. The page has content including logic to retrieve information from a remote resource external to an on-demand services environment via at least one asynchronous web service call. A controller component of the page is loaded before rendering a response to the remote computing device. At least one web service call is sent to the remote resource with the controller component. A continuation object is returned with the controller component to release the first thread from waiting for a response to the web service call. The continuation object provides a label to be used when handling the response. The response to the web service call is received from the remote resource and processing is resumed with the continuation object.Type: GrantFiled: October 13, 2014Date of Patent: November 26, 2019Assignee: salesforce.com, inc.Inventors: Yan Tan, Gregory D. Fee, Sreeram Duvur, Christopher Wall
-
Patent number: 10452363Abstract: Techniques and mechanisms for conversion of code of a first type to bytecode. Apex provides various unique characteristics. When converting to bytecode, these characteristics are handled to provide bytecode functionality. Some of the unique characteristics of Apex include Autoboxing, SOQL, Properties, Comparisons, Modifiers, Code coverage mechanisms and Sharing mechanisms.Type: GrantFiled: July 23, 2015Date of Patent: October 22, 2019Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallagher
-
Patent number: 10397309Abstract: The technology disclosed describes systems and methods for implementing global profiling to track resource usage and performance for multiple threads across multiple servers for a cloud-based system. This disclosed technology provides global profiling to track resource usage across any part of a transaction as it passes between layers of a computing stack regardless of the language being executed, on logically different virtual machines across multiple servers. After data collection stops, the disclosed technology combines the results into a configurable profile view that accurately represents the order of execution of applications and methods, as though they ran on one machine. The disclosed technology builds multiple formats of the data files for different display visualizations.Type: GrantFiled: May 13, 2015Date of Patent: August 27, 2019Assignee: SALESFORCE.COM, INC.Inventors: James Bock Wunderlich, Forrest Junod, Gregory D. Fee, Mike Boilen, Nicholas Chun Yuan Chen
-
Patent number: 10013278Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: GrantFiled: May 27, 2014Date of Patent: July 3, 2018Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallager
-
Patent number: 9996323Abstract: Execution of code in a multitenant runtime environment. A request to execute code corresponding to a tenant identifier (ID) is received in a multitenant environment. The multitenant database stores data for multiple client entities each identified by a tenant ID having one of one or more users associated with the tenant ID. Users of each of multiple client entities can only access data identified by a tenant ID associated with the respective client entity. The multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. Source code corresponding to the code to be executed is retrieved from a multitenant database. The retrieved source code is compiled. The compiled code is executed in the multitenant runtime environment. The memory used by the compiled code is freed in response to completion of the execution of the compiled code.Type: GrantFiled: February 9, 2015Date of Patent: June 12, 2018Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallagher
-
Patent number: 9507627Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: GrantFiled: October 23, 2013Date of Patent: November 29, 2016Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallagher
-
Publication number: 20160337215Abstract: The technology disclosed describes systems and methods for implementing global profiling to track resource usage and performance for multiple threads across multiple servers for a cloud-based system. This disclosed technology provides global profiling to track resource usage across any part of a transaction as it passes between layers of a computing stack regardless of the language being executed, on logically different virtual machines across multiple servers. After data collection stops, the disclosed technology combines the results into a configurable profile view that accurately represents the order of execution of applications and methods, as though they ran on one machine. The disclosed technology builds multiple formats of the data files for different display visualizations.Type: ApplicationFiled: May 13, 2015Publication date: November 17, 2016Applicant: SALESFORCE.COM, INC.Inventors: James Bock Wunderlich, Forrest Junod, Gregory D. Fee, Mike Boilen, Nicholas Chun Yuan Chen
-
Publication number: 20160105532Abstract: Techniques and mechanisms for providing asynchronous web service calls in an on-demand services environment. In response to request from a remote client computing device, accessing a page provided by one or more server computing devices of the on-demand services environment. The page has content including logic to retrieve information from a remote resource external to the on-demand services environment via at least one asynchronous web service call. A controller component of the page is loaded before rendering a response to the remote computing device. The controller component is executed by a first thread within the on-demand services environment. At least one web service call is sent to the remote resource with the controller component. A continuation object is returned with the controller component to release the first thread from waiting for a response to the web service call, the continuation object providing at least a label to be used when handling the response when received.Type: ApplicationFiled: October 13, 2014Publication date: April 14, 2016Inventors: Yan Tan, Gregory D. Fee, Sreeram Duvur, Christopher Wall
-
Publication number: 20150331680Abstract: Techniques and mechanisms for conversion of code of a first type to bytecode. Apex provides various unique characteristics. When converting to bytecode, these characteristics are handled to provide bytecode functionality. Some of the unique characteristics of Apex include Autoboxing, SOQL, Properties, Comparisons, Modifiers, Code coverage mechanisms and Sharing mechanisms.Type: ApplicationFiled: July 23, 2015Publication date: November 19, 2015Inventors: Gregory D. Fee, William J. Gallagher
-
Patent number: 9104484Abstract: Techniques and mechanisms for conversion of code of a first type to bytecode. Apex provides various unique characteristics. When converting to bytecode, these characteristics are handled to provide bytecode functionality. Some of the unique characteristics of Apex include Autoboxing, SOQL, Properties, Comparisons, Modifiers, Code coverage mechanisms and Sharing mechanisms.Type: GrantFiled: April 21, 2011Date of Patent: August 11, 2015Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallagher
-
Publication number: 20150178055Abstract: Execution of code in a multitenant runtime environment. A request to execute code corresponding to a tenant identifier (ID) is received in a multitenant environment. The multitenant database stores data for multiple client entities each identified by a tenant ID having one of one or more users associated with the tenant ID. Users of each of multiple client entities can only access data identified by a tenant ID associated with the respective client entity. The multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. Source code corresponding to the code to be executed is retrieved from a multitenant database. The retrieved source code is compiled. The compiled code is executed in the multitenant runtime environment. The memory used by the compiled code is freed in response to completion of the execution of the compiled code.Type: ApplicationFiled: February 9, 2015Publication date: June 25, 2015Inventors: Gregory D. Fee, William J. Gallagher
-
Patent number: 8984009Abstract: Execution of code in a multitenant runtime environment. A request to execute code corresponding to a tenant identifier (ID) is received in a multitenant environment. The multitenant database stores data for multiple client entities each identified by a tenant ID having one of one or more users associated with the tenant ID. Users of each of multiple client entities can only access data identified by a tenant ID associated with the respective client entity. The multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. Source code corresponding to the code to be executed is retrieved from a multitenant database. The retrieved source code is compiled. The compiled code is executed in the multitenant runtime environment. The memory used by the compiled code is freed in response to completion of the execution of the compiled code.Type: GrantFiled: April 21, 2011Date of Patent: March 17, 2015Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallagher
-
Publication number: 20140282556Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: ApplicationFiled: May 27, 2014Publication date: September 18, 2014Applicant: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallager
-
Patent number: 8839344Abstract: Software tools assist an access-policy analyst or creator to debug and/or author access policies. An access request contains a query that evaluates to either true or false depending on whether access is to be allowed. Abduction may be used to generate assumptions that, if true, would cause the access request to be true. The tool may perform analysis on the generated assumptions, such as: comparing the assumptions with tokens to detect errors in the tokens or to suggest changes to the tokens that would cause the query to be satisfied, or comparing the assumptions to a meta-policy. The tool may allow an analysis, policy author, or other person to interactively walk through assumptions in order to see the implications of the access policy.Type: GrantFiled: January 28, 2008Date of Patent: September 16, 2014Assignee: Microsoft CorporationInventors: Moritz Y. Becker, Blair B. Dillaway, Gregory D. Fee, Jason F. Mackay, Jason Hogg, John M. Leen
-
Patent number: 8776064Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: GrantFiled: September 14, 2012Date of Patent: July 8, 2014Assignee: salesforce.com, inc.Inventors: Gregory D. Fee, William J. Gallager
-
Publication number: 20140053160Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: ApplicationFiled: October 23, 2013Publication date: February 20, 2014Applicant: SALESFORCE.COM, INC.Inventors: Gregory D. Fee, William J. Gallagher
-
Patent number: 8607311Abstract: Access to a resource may be controlled by a policy, such that a request to access the resource is either granted or denied based on what assertions have been made by various principals. To find the assertions that support a grant of access to the resource, a template may be created that defines the nature of assertions that would cause access to succeed. Assertions may be stored in the form of tokens. The template may be used to search an existing token store to find assertions that have been made, and/or to generate assertions that have not been found in the token store and that would satisfy the template. The assertions in the template may be created by performing an abductive reasoning process on an access query.Type: GrantFiled: December 21, 2007Date of Patent: December 10, 2013Assignee: Microsoft CorporationInventors: Moritz Y. Becker, Blair B. Dillaway, Gregory D. Fee, John M. Leen, Jason F. Mackay
-
Patent number: 8584124Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.Type: GrantFiled: March 31, 2011Date of Patent: November 12, 2013Assignee: salesforce.com, Inc.Inventors: Gregory D. Fee, William J Gallagher