Patents Assigned to salesforce.com, inc.
  • Publication number: 20080086447
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for saving multiple rows together through an object relational mapping layer to a database. These mechanisms and methods for saving multiple rows together can enable embodiments to detect faults in the save operation(s) and recover. The ability of embodiments to detect faults in the save operation(s) and recover can enable embodiments to provide a robust forgiving published API that saves a set of rows together whenever possible.
    Type: Application
    Filed: February 23, 2007
    Publication date: April 10, 2008
    Applicant: salesforce.com, inc.
    Inventors: Craig Weissman, Steven Tamm, Simon Fell, Simon Wong, Steve Fisher, Scott Hansma
  • Publication number: 20080086358
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for selecting a synchronous or asynchronous process to determine a forecast. These mechanisms and methods for such synchronous/asynchronous process selection can enable embodiments to determine forecasts for multiple users (e.g. with hierarchical relationships, etc.) over an arbitrary time interval. The ability of embodiments to provide forecasts that involve such a large amount of data in an effective way can enable forecasting that was otherwise infeasible due to resource limitations.
    Type: Application
    Filed: August 1, 2007
    Publication date: April 10, 2008
    Applicant: salesforce.com, inc.
    Inventors: Kedar Doshi, Mark Fischer, Evan Chou
  • Publication number: 20080086479
    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: Application
    Filed: December 27, 2006
    Publication date: April 10, 2008
    Applicant: salesforce.com Inc.
    Inventors: Chris Fry, Peter Morreli, Craig Weissman
  • Publication number: 20080086514
    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: February 23, 2007
    Publication date: April 10, 2008
    Applicant: salesforce.com, Inc.
    Inventors: Craig Weissman, Steven Tamm, Simon Fell, Simon Wong, Steve Fisher
  • Publication number: 20080086482
    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: September 21, 2007
    Publication date: April 10, 2008
    Applicant: salesforce.com, inc.
    Inventor: Craig Weissman
  • Publication number: 20080082555
    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: August 31, 2007
    Publication date: April 3, 2008
    Applicant: Salesforce.com, inc.
    Inventors: Greg Salmon, Chris Hopkins, Anant Verma, Jesse Collins, Craig Weissman
  • Publication number: 20080082586
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for selecting amongst a plurality of processes to send a message (e.g. a message for updating an endpoint system, etc.). These mechanisms and methods for selecting amongst a plurality of processes to send a message can enable embodiments to utilize more than one queue for sending such message. The ability of embodiments to provide such multi-process feature can, in turn, prevent latency that typically accompanies a mounting number of messages.
    Type: Application
    Filed: August 31, 2007
    Publication date: April 3, 2008
    Applicant: Salesforce.com, inc
    Inventors: Benji Jasik, Simon Fell
  • Publication number: 20080082504
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for applying a group of instructions to metadata in the context of an on-demand database service. These mechanisms and methods for applying a group of instructions to metadata can enable embodiments that ensure that “all or none” of the operations corresponding to the grouped instructions are performed. The ability of embodiments to provide such feature can prevent a scenario where only a portion of a desired effect is accomplished which, in turn, may complicate any effort to undo the same.
    Type: Application
    Filed: August 1, 2007
    Publication date: April 3, 2008
    Applicant: Salesforce.com, inc.
    Inventors: Benji Jasik, Simon Fell, Bill Eidson, Lexi Viripaeff
  • 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: 20080082572
    Abstract: In embodiments, methods and systems for customizing a user interface to an on-demand database service. These mechanisms and methods for customizing a user interface to an on-demand database service can enable embodiments to provide a user interface designed by a tenant of the on-demand database service. The customization can include including third party content into the customized user interface, overriding a standard object, and providing content inline at a specified location.
    Type: Application
    Filed: October 3, 2007
    Publication date: April 3, 2008
    Applicant: salesforce.com, Inc.
    Inventors: Alan Ballard, Doug Chasman, Eric Bezar, Mary Scotton
  • 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: 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