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: 8620954
    Abstract: The present invention provides techniques for managing process space on a multi-tenant database system that features a method that provides to multiple users of two or more organizations, over a network, access to information stored in a database repository shared by the two or more organizations. The database repository implements security protocols to restrict a set of first users to a first sub-portion of the information. The set of first users belongs to one of the two or more organizations. The first sub-portion of the information is different from a second sub-portion accessible by users from another organization. Access of the information by the multiple users is monitored. A first processing space for the set of first users is generated in response to the access of the database repository. The first processing space is distinct from a second processing space for the users from the other organization.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: December 31, 2013
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8620876
    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: Grant
    Filed: November 1, 2011
    Date of Patent: December 31, 2013
    Assignee: salesforce.com, inc.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Patent number: 8606790
    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: September 14, 2012
    Date of Patent: December 10, 2013
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Patent number: 8601467
    Abstract: Systems and methods for installing and upgrading application packages to an application platform of an on-demand database service. In some embodiments, application packages are uploaded to a directory by developers for installation by subscribers. Some embodiments enable a developer to send identification information to a subscriber to allow that user to access and install an application package created by the developer. If the developer changes the original source package, the subscriber may pull into its organization the change(s) made by the publisher while preserving any data rows the subscriber had created since first importing the package. One or more flags may be set in the package definition to determine whether and to what extent customizations to a package may be made and upgraded by the subscriber and/or developer.
    Type: Grant
    Filed: October 3, 2007
    Date of Patent: December 3, 2013
    Assignee: salesforce.com, inc.
    Inventors: Lars Hofhansl, Nathan Jensen-Horne, Scott Hansma, Steven Tamm, Craig Weissman
  • Publication number: 20130318057
    Abstract: In accordance with embodiments, there are provided techniques for implementing batch processing in a multi-tenant database system. These techniques for implementing batch processing in a multi-tenant database system may enable embodiments to provide great flexibility to a tenant of the architecture to perform desired functions on content of the database while allowing the owner of the architecture schedule the processing of the functions on the content.
    Type: Application
    Filed: June 12, 2013
    Publication date: November 28, 2013
    Applicant: salesforce.com, inc.
    Inventors: Scott YANCEY, Andrew SMITH, Andrew WAITE, Craig WEISSMAN
  • Patent number: 8554793
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for providing custom settings in an on-demand service environment. In an embodiment and by way of example, a method providing custom settings in an on-demand service environment is provided. The method embodiment includes naming the custom object, creating fields for the custom object, assigning a behavior for each field, setting the custom object to a specified type, and if the custom object is of a hierarchical type, then assigning permissions to users with regarding the created fields.
    Type: Grant
    Filed: December 21, 2010
    Date of Patent: October 8, 2013
    Assignee: salesforce.com, inc.
    Inventors: Richard Unger, Fiaz Hossain, Taggart C Matthiesen, Craig Weissman
  • Patent number: 8548982
    Abstract: In embodiments, methods and systems for controlling access to custom objects are provided. These techniques for controlling access to custom objects can enable embodiments to utilize a key for the protection of the security of data that is to remain private while not compromising efficiency of a query. The key for a requested custom object is identified and then used so that only an appropriate portion of a custom entity share table is searched to locate access information. It is then determined whether the user can access at least a portion of the custom object, and the appropriate and allowed data is sent to the user.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: October 1, 2013
    Assignee: Salesforce.com, Inc.
    Inventors: Craig Weissman, Kevin Oliver, Benji Jasik, Kedar Doshi
  • Patent number: 8548952
    Abstract: Embodiments may recover from faults by forming a new set of rows by removing rows associated with faulting save operations and repeating the saving and forming operations using the new set of rows until a set of rows that can be saved from the known start state without fault is determined. When the subset of successful rows is found, embodiments are able to provide assurance that no side effects (i.e., code or operations triggered by saving of a data to a particular location) have been executed on behalf of any of the failed rows (side effects from custom PL/SOQL code included) by deferring execution of triggers until an entire set of rows can be saved and committed.
    Type: Grant
    Filed: March 8, 2012
    Date of Patent: October 1, 2013
    Assignee: salesforce.com, Inc.
    Inventors: Craig Weissman, Steven Tamm, Simon Fell, Simon Wong, Steve Fisher
  • Patent number: 8543566
    Abstract: A query optimizing system and methods employ contextual knowledge about the types and use of data and/or applications in tables underlying a relational database to provide improved queries and/or make recommendations to a query optimizer of a database based upon knowledge of the data and/or application gathered. A multi-tenant database, in which querying is conducted on multiple tenant data stored in a single table, provides for determining tenant-level statistics, data sharing, user/tenant views, user-level access/capacities, custom entities, custom fields and/or other contextual information about users and tenants, and for providing query optimization and/or query optimizer recommendations corresponding to such information.
    Type: Grant
    Filed: November 10, 2006
    Date of Patent: September 24, 2013
    Assignee: salesforce.com, Inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong
  • Publication number: 20130246450
    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: April 29, 2013
    Publication date: September 19, 2013
    Applicant: salesforce.com, inc
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong
  • Publication number: 20130246472
    Abstract: The present invention provides techniques for managing process space on a multi-tenant database system that features a method that provides to multiple users of two or more organizations, over a network, access to information stored in a database repository shared by the two or more organizations. The database repository implements security protocols to restrict a set of first users to a first sub-portion of the information. The set of first users belongs to one of the two or more organizations. The first sub-portion of the information is different from a second sub-portion accessible by users from another organization. Access of the information by the multiple users is monitored. A first processing space for the set of first users is generated in response to the access of the database repository. The first processing space is distinct from a second processing space for the users from the other organization.
    Type: Application
    Filed: May 2, 2013
    Publication date: September 19, 2013
    Applicant: salesforce.com, inc
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Publication number: 20130246356
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for pushing an application update between tenants of a multi-tenant on-demand database service. These mechanisms and methods for pushing an application update between tenants of a multi-tenant on-demand database service can enable tenants providing the application update to force instances of the application utilized by other tenants to be updated. This may allow the tenants providing the application update to ensure that instances of the application utilized by other tenants are updated.
    Type: Application
    Filed: April 30, 2013
    Publication date: September 19, 2013
    Applicant: salesforce.com, inc.
    Inventors: James Taylor, Andrew Smith, Craig Weissman
  • Publication number: 20130246471
    Abstract: The present invention provides techniques for managing process space on a multi-tenant database system that features a method that provides to multiple users of two or more organizations, over a network, access to information stored in a database repository shared by the two or more organizations. The database repository implements security protocols to restrict a set of first users to a first sub-portion of the information. The set of first users belongs to one of the two or more organizations. The first sub-portion of the information is different from a second sub-portion accessible by users from another organization. Access of the information by the multiple users is monitored. A first processing space for the set of first users is generated in response to the access of the database repository. The first processing space is distinct from a second processing space for the users from the other organization.
    Type: Application
    Filed: April 30, 2013
    Publication date: September 19, 2013
    Applicant: Salesforce.com, inc
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Publication number: 20130246411
    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: April 30, 2013
    Publication date: September 19, 2013
    Applicant: salesforce.com, inc
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Publication number: 20130238595
    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: Application
    Filed: April 23, 2013
    Publication date: September 12, 2013
    Applicant: SALESFORCE.COM, INC.
    Inventors: CRAIG WEISSMAN, JAMES TAYLOR
  • Publication number: 20130238655
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for allowing access to developed applications via a multi-tenant on-demand database service, in a controlled environment. These mechanisms and methods for providing such access can enable embodiments to provide additional control over the development process as well as the access of such developed applications. The ability of embodiments to provide such additional control may lead to an improved application development framework, etc.
    Type: Application
    Filed: April 18, 2013
    Publication date: September 12, 2013
    Applicant: salesforce.com, inc.
    Inventor: Craig Weissman
  • Patent number: 8533229
    Abstract: Systems and methods for generating dynamic communication contracts in a multi-tenant database system based on the datamodel of the user using the service. The communication contract contains objects, e.g., SOAP-objects, custom to the specific user's datamodel, including standard objects customized to the user's own security model and business purpose as well as entirely unique custom objects that are created by the user and available to only the user's organization. A database server queries the database for all objects available to that user (standard and custom), and all the fields on all those objects that are available to that user. The server iterates over the set of objects and each of their sets of fields and generates a contract that is specifically tailored to the user's own datamodel and field level security. The unique contract can be used to communicate with the server to access information in the user's own schema.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: September 10, 2013
    Assignee: salesforce.com, inc.
    Inventors: Ryan Choi, Craig Weissman
  • Patent number: 8510729
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for versioning components of an application. These mechanisms and methods for versioning components of an application can ensure that an updated application maintains backwards compatibility, such that the application developer may maintain a single application while supporting multiple prior versions of the application.
    Type: Grant
    Filed: May 21, 2010
    Date of Patent: August 13, 2013
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Andrew Smith
  • Patent number: 8504557
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for querying data relationships over a network. These mechanisms and methods for querying data relationships over a network can enable embodiments to provide the capability to query for more than a single entity at a time. The ability of embodiments to query for more than a single entity at a time can enable improved network throughput, faster response time and more efficient utilization of resources.
    Type: Grant
    Filed: April 21, 2010
    Date of Patent: August 6, 2013
    Assignee: salesforce.com, inc.
    Inventors: Simon Z. Fell, Benji H. Jasik, Sven E. Mawson, Craig Weissman
  • Patent number: 8473469
    Abstract: In accordance with embodiments, there are provided techniques for implementing batch processing in a multi-tenant database system. These techniques for implementing batch processing in a multi-tenant database system may enable embodiments to provide great flexibility to a tenant of the architecture to perform desired functions on content of the database while allowing the owner of the architecture schedule the processing of the functions on the content.
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: June 25, 2013
    Assignee: Salesforce.com, Inc.
    Inventors: Scott Yancey, Andrew Smith, Andrew Waite, Craig Weissman