Patents by Inventor Craig Weissman

Craig Weissman 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: 8447754
    Abstract: Methods and systems for optimizing queries in a multi-tenant store are described. In one embodiment, such a method includes retrieving data from a multi-tenant database system having a relational data store and a non-relational data store, receiving a request specifying data to be retrieved, retrieving one or more locations of the data to be retrieved, generating a database query based on the request, in which the database query specifies a plurality of data elements to be retrieved, the plurality of data elements including one or more data elements residing within the non-relational data store and one or more other data elements residing within the relational data store, generating an optimized database query having an optimized query syntax that is distinct from a query syntax of the database query, and executing the optimized database query against the multi-tenant database system to retrieve the data.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: May 21, 2013
    Assignee: Salesforce.com, Inc.
    Inventors: Craig Weissman, James Taylor
  • Patent number: 8423535
    Abstract: The present invention provides techniques for storing information on a multi-tenant database system to control query latency that includes a method that stores the information on the database among a plurality of tables arranged in columns and rows. For each of a subset of the plurality of tables, sets of the rows are distributed amongst different storage nodes on the database, with the set of rows stored at a common node having a common index value. Data storage and retrieval capabilities to the database are provided to allow access to the information, in response to requests from one of a plurality of remotely disposed computer systems. The retrieval capability includes a query condition that includes a query index value, with the query condition and the query index value being established to control retrieval latency.
    Type: Grant
    Filed: April 15, 2010
    Date of Patent: April 16, 2013
    Assignee: Salesforce.com, Inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8402028
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for conditionally performing a query including an aggregate function. These mechanisms and methods for conditionally performing a query including an aggregate function can limit performance of queries including aggregate functions based on a number or records associated with such performance of such aggregate functions. The ability to limit performance of queries including aggregate functions can enable performance quality of a computer system to be maintained.
    Type: Grant
    Filed: February 25, 2011
    Date of Patent: March 19, 2013
    Assignee: salesforce.com, inc.
    Inventor: Craig Weissman
  • Publication number: 20130060792
    Abstract: In embodiments, methods and systems for improving a query in a database system are provided. These method and system embodiments can enable greater contextual knowledge about the types and use of data in tables underlying a relational database to be employed to improve query efficiency. By employing contextual information, embodiments can provide improved queries and/or make recommendations to a query optimizer of a database system to improve its operation based upon knowledge of the data and/or application gathered. Embodiments can be useful in improving query performance in multi-tenant database systems.
    Type: Application
    Filed: September 14, 2012
    Publication date: March 7, 2013
    Applicant: SALESFORCE.COM, INC.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong
  • Publication number: 20130013773
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: SALESFORCE.COM, INC.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8335781
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: December 18, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8332387
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: December 11, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Publication number: 20120310931
    Abstract: Search systems and methods for searching structured data and enhancing the relevancy of search results provided to a requesting user or application. Enhanced search results are provided by searching a cache of a user's most recently used items to eliminate or reduce search indexing latency. Also, more relevant search results are provided by re-ranking results based on use history, data security models and/or hierarchical user role models.
    Type: Application
    Filed: August 17, 2012
    Publication date: December 6, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Publication number: 20120310989
    Abstract: Systems and methods for hosting variable schema data such as dynamic tables and columns in a fixed physical database schema. Standard objects, such as tables are provided for use by multiple tenants or organizations in a multi-tenant database system. Each organization may add or define custom fields for inclusion in a standard object.
    Type: Application
    Filed: August 17, 2012
    Publication date: December 6, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Craig Weissman, Simon Wong
  • Patent number: 8321405
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: November 27, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8312013
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for linking a custom share row cause to a sharing record associated with a custom object in an on-demand service. These mechanisms and methods for linking custom share row causes to sharing records associated with an instance of a custom object in an on-demand service can enable a user or code executed by a user to share a custom object record with one or more users and to specify a custom row cause in that sharing record. The ability of embodiments to link custom share row causes to sharing records may allow users of such on-demand services to utilize custom row causes to determine why a sharing record was added and to identify the source of a sharing record.
    Type: Grant
    Filed: May 8, 2009
    Date of Patent: November 13, 2012
    Assignee: salesforce.com, inc.
    Inventors: Andrew Smith, Craig Weissman, Punit Jain
  • Publication number: 20120260341
    Abstract: Network security is enhanced in a multi-tenant database network environment using a query plan detection module to continually poll the database system to locate and raise an alert for suspect query plans. Security also can be enhanced using a firewall system sitting between the application servers and the client systems that records user and organization information for each client request received, compares this with information included in a response from an application server, and verifies that the response is being sent to the appropriate user. Security also can be enhanced using a client-side firewall system with logic executing on the client system that verifies whether a response from an application server is being sent to the appropriate user system by comparing user and organization id information stored at the client with similar information in the response.
    Type: Application
    Filed: June 20, 2012
    Publication date: October 11, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Publication number: 20120259839
    Abstract: Network security is enhanced in a multi-tenant database network environment using a query plan detection module to continually poll the database system to locate and raise an alert for suspect query plans. Security also can be enhanced using a firewall system sitting between the application servers and the client systems that records user and organization information for each client request received, compares this with information included in a response from an application server, and verifies that the response is being sent to the appropriate user. Security also can be enhanced using a client-side firewall system with logic executing on the client system that verifies whether a response from an application server is being sent to the appropriate user system by comparing user and organization id information stored at the client with similar information in the response.
    Type: Application
    Filed: June 20, 2012
    Publication date: October 11, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Patent number: 8280875
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: October 2, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8280874
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: October 2, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8275763
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: September 25, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8271641
    Abstract: A database system includes servers configured to receive requests from user systems. Each server includes a local and a global store. Each local store stores the number of requests received by its server. The system includes a processor configured to receive the number of requests from servers. The processor is configured to determine the number of requests received by all of the servers, and send this number of requests to each server. The global store stores the number of requests received from the processor. A given server is configured to compare the number of requests received by the servers with a threshold number. If this number is greater than the threshold number, then the given server is configured to send a message to the user systems that the number of threshold requests has been exceeded and/or the given server will discontinue accepting requests.
    Type: Grant
    Filed: December 27, 2006
    Date of Patent: September 18, 2012
    Assignee: salesforce.com, inc.
    Inventors: Chris Fry, Peter Morreli, Craig Weissman
  • Publication number: 20120233354
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for synchronizing a server and an on-demand database service. These mechanisms and methods for synchronizing a server and an on-demand database service can enable embodiments to synchronize a larger amount of data. The ability of embodiments to provide such feature can enable more effective synchronization of a user-level sharing entity database with a multi-user on-demand database service.
    Type: Application
    Filed: May 18, 2012
    Publication date: September 13, 2012
    Applicant: salesforce.com, inc.
    Inventors: Greg Salmon, Chris Hopkins, Anant Verma, Jesse Collins, Craig Weissman
  • Patent number: 8244658
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for generating a set of instructions to an on-demand database service. These mechanisms and methods for generating a set of instructions to an on-demand database service can enable embodiments to generate instructions capable of operating on objects, without having any knowledge of the objects on which the instructions are going to operate, until runtime. The ability of embodiments to provide this instruction generation may allow generic instructions to be generated, independent of the objects on which they will operate.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: August 14, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Andrew Waite
  • Patent number: 8229922
    Abstract: More efficient querying of a multi-tenant database using dynamic tuning of database indices. A layer of meta-data associates data items with tenants, e.g., via tags, and the meta-data is used to optimize searches by channeling processing resources during a query to only those pieces of data bearing the relevant tenant's unique tag.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: July 24, 2012
    Assignee: salesforce.com, Inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada