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).

  • Publication number: 20120166871
    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: Application
    Filed: March 8, 2012
    Publication date: June 28, 2012
    Applicant: salesforce.com, inc.
    Inventors: Craig Weissman, Steven Tamm, Simon Fell, Simon Wong, Steve Fisher
  • Patent number: 8204855
    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: Grant
    Filed: September 15, 2010
    Date of Patent: June 19, 2012
    Assignee: salesforce.com, inc.
    Inventors: Greg Salmon, Chris Hopkins, Anant Verma, Jesse Collins, Craig Weissman
  • Publication number: 20120151444
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for determining whether a developed application associated with an on-demand database service will operate properly with at least one other application. These mechanisms and methods for providing such determination can enable embodiments to ensure that new versions of developed applications will operate in the same application environment of a previous version. The ability of embodiments to make such determination may lead to an improved application migration development/runtime framework, etc.
    Type: Application
    Filed: February 16, 2012
    Publication date: June 14, 2012
    Applicant: salesforce.com, inc.
    Inventor: Craig Weissman
  • Publication number: 20120110020
    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: Application
    Filed: January 9, 2012
    Publication date: May 3, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Craig Weissman, Kevin Oliver, Benji Jasik, Kedar Doshi
  • Patent number: 8161010
    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: February 23, 2007
    Date of Patent: April 17, 2012
    Assignee: salesforce.com, Inc.
    Inventors: Craig Weissman, Steven Tamm, Simon Fell, Simon Wong, Steve Fisher
  • Publication number: 20120089602
    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. Further, enhanced search results are provided by including user information in the search index.
    Type: Application
    Filed: November 8, 2011
    Publication date: April 12, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Publication number: 20120084300
    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: November 8, 2011
    Publication date: April 5, 2012
    Applicant: SALESFORCE.COM, INC.
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Patent number: 8145651
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for determining whether a developed application associated with an on-demand database service will operate properly with at least one other application. These mechanisms and methods for providing such determination can enable embodiments to ensure that new versions of developed applications will operate in the same application environment of a previous version. The ability of embodiments to make such determination may lead to an improved application migration development/runtime framework, etc.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: March 27, 2012
    Assignee: salesforce.com, inc.
    Inventor: Craig Weissman
  • Patent number: 8131713
    Abstract: The present invention provides techniques for managing information on a multi-tenant database system. In one embodiment a method comprises storing the information on the database among a plurality of tables. The plurality of tables is arranged in columns and rows. Each of a subset of the plurality of tables has sets of the rows distributed amongst different storage nodes on the database. A first of the sets is located at a first node, and a second of the sets is located a second node. Data storage and retrieval capabilities are provided to the database, including access to the information, in response to requests from one of a plurality of remotely disposed computer systems. Also disclosed is a machine-readable medium carrying one or more sequences of instructions for managing computer applications when executed by one or more processors and cause the one or more processors to carry out steps of the method.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: March 6, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Publication number: 20120047570
    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: November 1, 2011
    Publication date: February 23, 2012
    Applicant: salesforce.com, Inc.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Publication number: 20120041986
    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. Custom fields for multiple tenants are stored in a custom data column within the object data structure, and this single custom data column may contain different data types for each tenant.
    Type: Application
    Filed: October 26, 2011
    Publication date: February 16, 2012
    Applicant: salesforce.com, inc.
    Inventors: Craig Weissman, Simon Wong
  • Patent number: 8112445
    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. Custom fields for multiple tenants are stored in a single field within the object data structure, and this single field may contain different data types for each tenant. Indexing columns are also provided, wherein a tenant may designate a field for indexing. Data values for designated fields are copied to an index column, and each index column may include multiple data types. Each organization may also define custom objects including custom fields and indexing columns. Custom objects for multiple tenants are stored in a single custom object data structure.
    Type: Grant
    Filed: April 21, 2010
    Date of Patent: February 7, 2012
    Assignee: salesforce.com, inc.
    Inventors: Craig Weissman, Simon Wong
  • Patent number: 8095531
    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: October 2, 2007
    Date of Patent: January 10, 2012
    Assignee: salesforce.com, Inc.
    Inventors: Craig Weissman, Kevin Oliver, Benji Jasik, Kedar Doshi
  • Patent number: 8069153
    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: October 23, 2006
    Date of Patent: November 29, 2011
    Assignee: salesforce.com, Inc.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Publication number: 20110258179
    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: December 20, 2010
    Publication date: October 20, 2011
    Applicant: Salesforce.com
    Inventors: Craig WEISSMAN, James Taylor
  • Publication number: 20110258178
    Abstract: Methods and systems for performing cross store joins 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 from the multi-tenant database system, retrieving, based on the request, 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, and executing the database query against the multi-tenant database system to retrieve the data.
    Type: Application
    Filed: December 20, 2010
    Publication date: October 20, 2011
    Applicant: Salesforce.com
    Inventors: BILL C. EIDSON, Craig Weissman, Kevin Oliver, James Taylor, Simon Z. Fell, Donovan A. Schneider
  • Publication number: 20110258233
    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: Application
    Filed: December 21, 2010
    Publication date: October 20, 2011
    Applicant: salesforce.com, Inc.
    Inventors: Richard Unger, Fiaz Hossain, Taggart C. Matthiesen, Craig Weissman
  • Publication number: 20110246449
    Abstract: Methods and systems for query optimization for a multi-tenant database system are provided. Some embodiments comprise receiving, at a network interface of a server computer in a multi-tenant database system, an original query transmitted to the multi-tenant database system by a user associated with a tenant, wherein the original query is associated with data accessible by the tenant, and wherein the multi-tenant database system includes a first two-column custom index. Metadata associated with the data accessible by the tenant is retrieved, using a processor of the server computer, wherein at least a portion of the data accessible by the tenant is stored in a common table within the multi-tenant database system. A tenant-selective query syntax is determined, using the processor, wherein determining comprises analyzing at least one of metadata generated from information about the tenant or metadata generated from the data accessible by the tenant.
    Type: Application
    Filed: October 4, 2010
    Publication date: October 6, 2011
    Applicant: salesforce.com, Inc.
    Inventors: Jesse Collins, Craig Weissman
  • Publication number: 20110246435
    Abstract: There are provided mechanisms and methods for maintaining data stored in a data structure. These mechanisms and methods for maintaining data stored in a data structure can provide maintenance operations with improved efficiency, functionality, etc.
    Type: Application
    Filed: December 22, 2010
    Publication date: October 6, 2011
    Applicant: SALESFORCE.COM, INC.
    Inventors: Yongsheng Wu, Punit Jain, Craig Weissman, Scott W. Yancey
  • Publication number: 20110231835
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for conditionally enabling an installation aspect. These mechanisms and methods for conditionally enabling an installation aspect can enable an improved determination of boundaries associated with the code, improved communication between code developers and users, improved security and access restriction, etc.
    Type: Application
    Filed: October 13, 2010
    Publication date: September 22, 2011
    Applicant: SALESFORCE.COM, INC.
    Inventors: Andrew Smith, Craig Weissman, Danil Dvinov