Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Craig Weissman, San Francisco US

Craig Weissman, San Francisco, CA US

Patent application numberDescriptionPublished
20080201701METHODS AND SYSTEMS FOR UPGRADING AND INSTALLING APPLICATION PACKAGES TO AN APPLICATION PLATFORM - Systems and methods for installing and upgrading application packages to an application platform. The systems and methods are particularly useful in an on-demand database service. Application packages may be uploaded to a directory by developing users (developers) for installation by subscribing users (subscribers). Alternatively, a developer may send identification information to a subscribing user to allow that user to access and install that application package created by the developer. Application packages may also be upgraded. If a developer changes the original source package, a subscriber can choose to pull into their 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. A “manageable” field is provided to identify whether customizations to a particular object are subject to upgrade; if the package or an object in the package is marked as managed, a user is allowed to customize the package or the object, and these customizations will not be altered upon upgrading of the package. A “control” field is provided to identify whether an object may be modified by the developer and/or the subscriber. An “immutable” field is provided to identify whether an object can or cannot be altered by anyone.08-21-2008
20080270354METHOD AND SYSTEM FOR ALLOWING ACCESS TO DEVELOPED APPLICATIONS VIA A MULTI-TENANT ON-DEMAND DATABASE SERVICE - 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.10-30-2008
20080270987METHOD AND SYSTEM FOR ALLOWING ACCESS TO DEVELOPED APPLICATIONS VIA A MULTI-TENANT ON-DEMAND DATABASE SERVICE - 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.10-30-2008
20090049065ON-DEMAND DATABASE SERVICE SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR VALIDATING A DEVELOPED APPLICATION - In accordance with embodiments, there are provided mechanisms and methods for validating a developed application. These mechanisms and methods for providing such validation 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 provide such validation may lead to an improved application migration development/runtime framework, etc.02-19-2009
20090049101ON-DEMAND DATABASE SERVICE SYSTEM AND METHOD FOR DETERMINING WHETHER A DEVELOPED APPLICATION WILL OPERATE PROPERLY WITH AT LEAST ONE OTHER APPLICATION - 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.02-19-2009
20090049102ON-DEMAND DATABASE SERVICE SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR ENFORCING THE INCLUSION OF TESTS IN A DEVELOPED APPLICATION - In accordance with embodiments, there are provided mechanisms and methods for enforcing the inclusion of tests in a developed application. These mechanisms and methods for providing such enforcement 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 enforce the inclusion of tests may lead to an improved application migration development/runtime framework, etc.02-19-2009
20090049288SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR RUNTIME INVOCATION OF AN APPROPRIATE VERSION OF PROGRAM INSTRUCTIONS IN AN ON-DEMAND DATABASE - In accordance with embodiments, there are provided mechanisms and methods for runtime invocation of an appropriate version of program instructions in an on-demand database service. These mechanisms and methods for providing such runtime invocation 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 provide such runtime invocation may lead to an improved application migration development/runtime framework, etc.02-19-2009
20090276395QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM - 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.11-05-2009
20090276405SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR GENERATING A SET OF INSTRUCTIONS TO AN ON-DEMAND DATABASE SERVICE - 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.11-05-2009
20100191719QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM - The present invention provides techniques for managing a multi-tenant database system. In one embodiment the method includes providing access to data stored in a multi-tenant data structure that is implemented by storing data for multiple tenants on a pool of computer servers defining the multi-tenant data structure that having a plurality of data columns and one or more index columns. The one or more index columns define a first data field for a first tenant of the multi-tenant data structure and a second data field for a second tenant of the multi-tenant data structure. The first field indicates a first data type and the second field indicates a second data type, wherein the second data type is different than the first data type. Once created, records having data values in the first and second fields are stored to a single column in the data structure. The single column includes data values having different data types for different tenants in the multi-tenant data structure. Operations are monitored so that one or more requests to access the multi-tenant data structure among are distributing the pool of computer servers to maintain load balancing among the servers of the pool.07-29-2010
20100205165SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR QUERYING DATA RELATIONSHIPS OVER A NETWORK - 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.08-12-2010
20100205227CUSTOM ENTITIES AND FIELDS IN A MULTI-TENANT DATABASE SYSTEM - 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. The primary key values for the single custom object table are globally unique, but also include an object-specific identifier which may be re-used among different entities.08-12-2010
20100205595METHOD AND SYSTEM FOR ALLOWING ACCESS TO DEVELOPED APPLICATIONS VIA A MULTI-TENANT ON-DEMAND DATABASE SERVICE - 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.08-12-2010
20100211619DISTRIBUTIVE STORAGE TECHNIQUES FOR MULTI-TENANT DATABASES - 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. A data center for managing information on a multi-tenant database is also disclosed that carries-out the functions of the method.08-19-2010
20100217758METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR OPTIMIZING A DATABASE QUERY - 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.08-26-2010
20100223254METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR OPTIMIZING A MULTI-TENANT DATABASE SYSTEM - 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.09-02-2010
20100223255OPTIMIZATION ENGINE IN A MULTI-TENANT DATABASE SYSTEM - 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.09-02-2010
20100235837QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM - 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.09-16-2010
20100274779QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM - 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. Also disclosed is a machine-readable medium carrying one or more sequences of instructions for storing information on a multi-tenant database system to control query latency when executed by one or more processors and cause the one or more processors to carry out steps of the method. A data center for storing information on a multi-tenant database system to control query latency is also disclosed that carries-out the functions of the method.10-28-2010
20100281014METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR QUERYING IN A MULTI-TENANT DATABASE - 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.11-04-2010
20100281015METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR MANAGING A MULTI-TENANT DATABASE SYSTEM - 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.11-04-2010
20100281016MULTI-TENANT DATABASE SYSTEM - 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.11-04-2010
20100299663SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR VERSIONING AND DEPRECATION OF COMPONENTS OF AN APPLICATION - 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.11-25-2010
20100299664SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR PUSHING AN APPLICATION UPDATE BETWEEN TENANTS OF A MULTI-TENANT ON-DEMAND DATABASE SERVICE - 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.11-25-2010
20110004668METHOD AND SYSTEM FOR SYNCHRONIZING A SERVER AND AN ON-DEMAND DATABASE SERVICE - 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.01-06-2011

Patent applications by Craig Weissman, San Francisco, CA US