Patents Assigned to salesforce.com
  • Publication number: 20080082986
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for providing access to an external service via an application services platform, utilizing an application program interface (API). These mechanisms and methods for providing access to an external service via art application services platform can enable embodiments to provide an effective way of allowing access to such external service without necessarily forcing access to the external service separately with respect to the application services platform. The ability of embodiments to provide such effective technique can enable the integration of an external service with an application services platform, thus allowing access to the external service in a more time effective manner.
    Type: Application
    Filed: July 16, 2007
    Publication date: April 3, 2008
    Applicant: salesforce.com, inc.
    Inventors: Manoj Cheenath, Doug Chasman
  • Publication number: 20080080689
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for integrating a private branch exchange (PBX)-equipped client and an on-demand database service. These mechanisms and methods for integrating a PBX-equipped client and an on-demand database service can enable embodiments with additional infrastructure at the client that is better equipped to leverage the on-demand database service. The ability of embodiments to provide such client side infrastructure can enable additional enhanced services in conjunction with telephone calls, etc.
    Type: Application
    Filed: August 31, 2007
    Publication date: April 3, 2008
    Applicant: Salesforce.com, inc
    Inventors: Marco S. Casalaina, Jim Dvorkin, Jason Winters, Bing Yang, Dararith Ourk, Rupert Chen
  • Publication number: 20080082540
    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: October 2, 2007
    Publication date: April 3, 2008
    Applicant: salesforce.com, Inc.
    Inventors: Craig Weissman, Kevin Oliver, Benji Jasik, Kedar Doshi
  • Publication number: 20080077566
    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: Application
    Filed: September 22, 2006
    Publication date: March 27, 2008
    Applicant: Salesforce.com, inc.
    Inventors: Simon Z. Fell, Benji H. Jasik, Sven E. Mawson, Craig Weissman
  • Publication number: 20080010243
    Abstract: Mechanisms and methods for pushing data to a plurality of devices of a plurality of organizations are provided. Queries are handled in bulk for a group of users of an organization or the entire organization, and limited results are sent to a middle tier server between the database system and the user devices. These mechanisms and methods for pushing data to a plurality of devices enable an efficient and transparent transfer of data to user devices. This efficient and transparent transfer of data can enable mobile devices of many organizations to seamlessly have the data that is required to perform business.
    Type: Application
    Filed: June 1, 2007
    Publication date: January 10, 2008
    Applicant: salesforce.com, Inc.
    Inventors: Craig Weissman, William Eidson, Erik Forsberg, Deepak Kothule
  • Publication number: 20070288510
    Abstract: A cache server is provided in a network for storing Java objects for retrieval by one or multiple application servers. Application server(s) are configured to request an object from the cache server, rather than requesting the Java object directly from a database, so as to reduce processing load on the database and free up database resources. Responsive to a request for a Java object from an application server, e.g., in an HTTP request, the cache server determines if the object is stored in memory and if so, serializes the requested object and sends the serialized object to the requesting server, e.g., in an HTTP response. The requesting server then deserializes the Java object. If the object is not stored in memory, the cache server instantiates the object (typically by requesting the object from the database), serializes the instantiated object and sends it to the requesting server. Cache coherency methods are also provided.
    Type: Application
    Filed: March 30, 2007
    Publication date: December 13, 2007
    Applicant: salesforce.com, inc.
    Inventors: Frank Dominguez, Dave Moellenhoff, Eric Chan
  • Publication number: 20070130130
    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: October 23, 2006
    Publication date: June 7, 2007
    Applicant: salesforce.com, Inc.
    Inventors: Eric Chan, Craig Weissman, Paul Nakada, Dave Moellenhoff, Todd McKinnon
  • Publication number: 20070130137
    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 users 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: December 2, 2005
    Publication date: June 7, 2007
    Applicant: salesforce.com, inc.
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Publication number: 20070124276
    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: November 10, 2006
    Publication date: May 31, 2007
    Applicant: salesforce.com, Inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong
  • Patent number: 7209929
    Abstract: A cache server is provided in a network for storing Java objects for retrieval by one or multiple application servers. Application server(s) are configured to request an object from the cache server, rather than requesting the Java object directly from a database, so as to reduce processing load on the database and free up database resources. Responsive to a request for a Java object from an application server, e.g., in an HTTP request, the cache server determines if the object is stored in memory and if so, serializes the requested object and sends the serialized object to the requesting server, e.g., in an HTTP response. The requesting server then deserializes the Java object. If the object is not stored in memory, the cache server instantiates the object (typically by requesting the object from the database), serializes the instantiated object and sends it to the requesting server. Cache coherency methods are also provided.
    Type: Grant
    Filed: April 17, 2003
    Date of Patent: April 24, 2007
    Assignee: salesforce.com, inc.
    Inventors: Frank Dominguez, Jr., Dave Moellenhoff, Eric Chan
  • Publication number: 20070088741
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for creating, exporting, viewing and testing, and importing custom applications in a multi-tenant database environment. These mechanisms and methods can enable embodiments to provide a vehicle for sharing applications across organizational boundaries. The ability to share applications across organizational boundaries can enable tenants in a multi-tenant database system, for example, to easily and efficiently import and export, and thus share, applications with other tenants in the multi-tenant environment.
    Type: Application
    Filed: September 8, 2006
    Publication date: April 19, 2007
    Applicant: salesforce.com, inc.
    Inventors: David Brooks, Lewis Tucker, Benji Jasik, Timothy Mason, Eric Bezar, Simon Wong, Douglas Chasman, Tien Tzuo, Scott Hansma, Adam Gross, Steven Tamm
  • Publication number: 20070078950
    Abstract: Methods and systems for simulating an online session between the client and a remote server when the client is offline including simulating a web services API to access information when the client is offline. The client includes a local interface that can communicate with the remote server. During an online session, the data and the functional logic that is invoked to manipulate the data reside on the remote server. As such, the user transmits instructions to view, create, update, delete, or otherwise modify portions of data through the local interface and subsequently through the underlying network. These instructions are ultimately received at the remote server, which then invokes the proper functional logic to perform the instructions in order to manipulate the data. An API is provided that is substantially identical to the web services API that is typically accessed over the internet, but which simulates online functionality when offline.
    Type: Application
    Filed: September 29, 2006
    Publication date: April 5, 2007
    Applicant: Salesforce.com, Inc.
    Inventors: Chris Hopkins, Benji Jasik
  • Publication number: 20060206834
    Abstract: A sharing model enables users to easily and conveniently create and share standard and custom database objects, and applications, among users or groups of users. The sharing model includes systems and methods that allow users to conveniently create and customize tabs and tab sets that define relationships between custom objects and fields, standard objects and fields, and applications. A tab visually represents a user interface into an element of an application or into a database object. Selection of a tab provides a user access to the object or element of the application represented by the tab. A tab set is a group of related tabs that work as a unit to provide application functionality. New tabs and tab sets may be defined and tab set views may be customized so that an end user can easily and conveniently switch between the various objects and application elements represented by the displayed tabs and tab set views.
    Type: Application
    Filed: March 8, 2005
    Publication date: September 14, 2006
    Applicant: salesforce.com, inc.
    Inventors: Steve Fisher, Eric Bezar, Adam Gross, Ian Swinson, George Hu, Yoshiyuki Oikawa
  • Publication number: 20050283478
    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: Application
    Filed: June 16, 2004
    Publication date: December 22, 2005
    Applicant: salesforce.com, inc.
    Inventors: Ryan Choi, Craig Weissman
  • Publication number: 20050223022
    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: Application
    Filed: April 2, 2004
    Publication date: October 6, 2005
    Applicant: salesforce.com, inc.
    Inventors: Craig Weissman, Simon Wong
  • Publication number: 20050065925
    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 23, 2003
    Publication date: March 24, 2005
    Applicant: SalesForce.Com, Inc.
    Inventors: Craig Weissman, Dave Moellenhoff, Simon Wong, Paul Nakada
  • Publication number: 20040210909
    Abstract: A cache server is provided in a network for storing Java objects for retrieval by one or multiple application servers. Application server(s) are configured to request an object from the cache server, rather than requesting the Java object directly from a database, so as to reduce processing load on the database and free up database resources. Responsive to a request for a Java object from an application server, e.g., in an HTTP request, the cache server determines if the object is stored in memory and if so, serializes the requested object and sends the serialized object to the requesting server, e.g., in an HTTP response. The requesting server then deserializes the Java object. If the object is not stored in memory, the cache server instantiates the object (typically by requesting the object from the database), serializes the instantiated object and sends it to the requesting server. Cache coherency methods are also provided.
    Type: Application
    Filed: April 17, 2003
    Publication date: October 21, 2004
    Applicant: SalesForce.com, Inc.
    Inventors: Frank Dominguez, Dave Moellenhoff, Eric Chan