Salesforce.com Patents

Salesforce.com Inc. provides enterprise cloud computing solutions in the areas of sales force automation, customer service and support, community building, marketing automation and analytics.

Salesforce.com Patents by Type

  • Publication number: 20180232525
    Abstract: An encryption platform may identify language characters in database fields and determine which of multiple encoding schemes more efficiently encodes the language characters. The encryption platform may use the selected encoding scheme to encode plaintext into a byte array and then encrypt the byte array into ciphertext. The encryption platform may assign encoding flags to the ciphertext identifying the encoding scheme used for encoding the plaintext. The encryption platform then may use the encoding flag to determine which encoding schemes to use for decoding the data back into plaintext. Using the different encoding schemes allows encrypted data to fit better into database storage structures. The encryption platform also may enable users to select different fields for different selectable objects for encoding and encrypting.
    Type: Application
    Filed: April 4, 2018
    Publication date: August 16, 2018
    Applicant: salesforce.com, inc.
    Inventor: Patrick CALAHAN
  • Publication number: 20180232741
    Abstract: A method for using an artificial intelligence (AI) entity to interface with a customer relationship management (CRM) software platform online is provided. The method receives user input changes to the CRM software platform, by the AI entity comprising at least one processor and a memory element, wherein the AI entity is configured to perform chat-bot functionality; alters, by the at least one processor, contents of the CRM software platform associated with the user input changes, in response to the AI entity receiving the user input changes; continuously receives CRM data from the CRM software platform, by the at least one processor; receives, by the at least one processor, a user request for a subset of the CRM data; and in response to the user request, transmits the subset.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Applicant: salesforce.com, inc.
    Inventors: Tushar G. Jadhav, Kamleshkumar Patel
  • Patent number: 10051005
    Abstract: A request message is generated with a trusted network entity executing trusted code on a first network layer. The request message to target a non-trusted network entity executing non-trusted code on a second network layer. The request message is transmitted from the trusted network entity to the non-trusted network entity through at least a policy enforcement entity. The policy enforcement entity applies one or more network traffic rules to enforce a unidirectional flow of traffic from the first network layer to the second network layer. A response check message is generated with the trusted network entity. The response check message to determine whether response information is available on the non-trusted network entity in response to the request message. The response check message is transmitted from the trusted network entity to the non-trusted network entity through at least the policy enforcement entity.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: August 14, 2018
    Assignee: salesforce.com, inc.
    Inventors: Benjamin Fry, Timothy Kral, Simon Chen, Andrey Falko
  • Patent number: 10048949
    Abstract: Methods, devices and systems for providing a user interface in an on-demand software service environment are described. Some implementations involve receiving an indication of a component definition to instantiate. The component definition may be a portion of a component definition data structure. Such implementations may also involve instantiating the provided component, instantiating all remaining attributes of the component definition data structure to produce a component instance data structure and transmitting an intermediate representation of the indicated component to a client device. The intermediate representation may comprise a version of the component instance data structure. The intermediate representation may allow the client device to create an instance of the component in memory.
    Type: Grant
    Filed: March 25, 2015
    Date of Patent: August 14, 2018
    Assignee: salesforce.com, inc.
    Inventors: Daniel L. Pletter, Andrew Waite, Doug Chasman, James K. Mooney, James Troup
  • Patent number: 10049137
    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: Grant
    Filed: April 30, 2013
    Date of Patent: August 14, 2018
    Assignee: salesforce.com, inc.
    Inventors: Kevin Oliver, Scott Hansma, Craig Weissman, Paul Nakada, Jeanine Walters
  • Patent number: 10049131
    Abstract: Disclosed are methods, apparatus, systems, and computer-readable storage media for determining user access to custom metadata. In some implementations, a server receives a request by or on behalf of a first user of a computing environment for a first custom metadata entity. A custom metadata entity may be a metadata component customized for use in the computing environment and having an entity type specifying a class or a category of the metadata component. The server may identify an association record indicating that the first user has permission to access the requested custom metadata entity. In some implementations, the association records are stored in an association database accessible by the server, wherein each association record identifies a user and a custom metadata entity. The server may also provide data including the requested custom metadata entity to a computing device.
    Type: Grant
    Filed: July 2, 2013
    Date of Patent: August 14, 2018
    Assignee: salesforce.com, inc.
    Inventors: Adam Torman, Doug Bitting, Alex Warshavsky
  • Patent number: 10051055
    Abstract: Methods and systems are provided for synchronizing and sharing a file. A set of access privileges is configured within a cloud collaboration site to define a sharing configuration to allow sharing of the file between a group of computing devices comprising a first computing device and one or more second computing devices. A sync client automatically creates a sync folder on the first computing device that is used for storing files added to the sync folder. When a file is updated at the first computing device and added to the sync folder, the updated file is automatically synchronized at the cloud collaboration site so that the updates are accessible by the one or more second computing devices. The updated file is automatically pushed from the cloud collaboration site to the one or more second computing devices to share the updated file in accordance with the sharing configuration.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: August 14, 2018
    Assignee: salesforce.com, inc.
    Inventors: Michael Micucci, Ronald Fischer
  • Patent number: 10049141
    Abstract: The technology disclosed relates to a platform for ultra-fast, ad-hoc data exploration and faceted navigation on integrated, heterogeneous data sets. The disclosed method of declarative specification of visualization queries, display formats and bindings represents queries, widgets and bindings combined on a dashboard in real time, with flexible display options for analyzing data and conveying analysis results.
    Type: Grant
    Filed: October 10, 2014
    Date of Patent: August 14, 2018
    Assignee: salesforce.com,inc.
    Inventors: Didier Prophete, Fred Im, Vijayasarathy Chakravarthy
  • Patent number: 10049337
    Abstract: An architecture for realizing a customer system on a cloud computing platform is defined in terms of a plurality of architecture types, each type (AT) defined by plural architecture type units (ATUs), each ATU comprising a set of ATU Details. The ATU Details are ordered into a series of discrete stages. Maturity of the architecture is determined as a single architecture pulse (AP) numeric value for each architecture type. The pulse reflects the extent to which the ATUs of the architecture type have reached a requisite level of quality, and an extent to which the ATUs are created in a sequence consistent with the series of discrete stages. The AP pulse values may be combined to form a single success platform pulse (SPP) for tracking overall condition of the platform architecture with a single numerical value.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: August 14, 2018
    Assignee: SALESFORCE.COM, INC.
    Inventors: Gerhard Friedrich Mack, Stefan Pühl
  • Publication number: 20180225317
    Abstract: A method for providing access to a data item in a multi-tenant database system is disclosed. The method comprises storing a data item as a first data object in a first tenant domain in the database system wherein the data item comprises a knowledge-based item and the first data object has a first data object identifier (ID). The method further comprises generating a platform object with polymorphic lookup, storing database ID information for the data item in the platform object, the database ID information for the data item including the first data object ID, providing a first entity in a second tenant domain with access to the data item by linking the platform object to a first tenant-specific object accessible by the first entity, and providing for display in a user interface a link that is mapped to the data item via the platform object and the first tenant-specific object.
    Type: Application
    Filed: February 7, 2017
    Publication date: August 9, 2018
    Applicant: salesforce.com, inc.
    Inventors: Roojuta Lalani, Neeraj Ahuja
  • Publication number: 20180227300
    Abstract: Computing systems and related methods are provided for retrieving data residing behind a firewall. One exemplary method involves a server receiving a first request from a data transfer client, maintaining the first request in a first queue of requests associated with a data transfer agent coupled to the network via a firewall, and providing the first request from the first queue to the data transfer agent in response to a second request received from the data transfer agent. The server receives a first response from the data transfer agent, maintains the first response in a second queue of responses associated with the data transfer client, and provides the first response from the second queue to the data transfer client in response to a third request received from the data transfer client.
    Type: Application
    Filed: February 9, 2017
    Publication date: August 9, 2018
    Applicant: salesforce.com, inc.
    Inventors: Jasmin Nakic, Samir Pilipovic
  • Publication number: 20180225159
    Abstract: Computer-implemented methods and systems are provided. The system includes a data store that is configured to store events in an event table, a temporary events file storage system (TEFSS), and a cluster of application servers. The cluster includes a first application server that generates events, and a second application server that includes an events file uploader service. When the first application server is unable to directly write events to the data store, an indirect events writer generates events file(s), and writes the events file(s) to the TEFSS. Each events file includes a plurality of events flushed from an in-memory buffer service at the first application server. When the events file uploader service determines that the first application server is inactive, it reads the events file(s) from the TEFSS, and writes the events from each of the events files to the data store.
    Type: Application
    Filed: April 5, 2018
    Publication date: August 9, 2018
    Applicant: salesforce.com, inc.
    Inventors: AAKASH PRADEEP, ADAM TORMAN, ALEX WARSHAVSKY, SAMARPAN JAIN
  • Patent number: 10044702
    Abstract: In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for implementing a cross instance user authentication architecture in an on-demand service environment including, for example, means for receiving a login request at a global Virtual Internet Protocol (VIP) address for the host organization from a client device; forwarding the login request received at the global VIP address to one of a plurality of datacenters within the host organization; determining the selected datacenter is a non-home-geo datacenter for a user associated with the login request received from the client device; establishing a back-end link from the non-home-geo datacenter to a home-geo datacenter for the user; forwarding the login request from the non-home-geo datacenter to the home-geo datacenter via the back-end link for authentication of the client device at the home-geo datacenter responsive to the login request received from the computing device; and returning a response to the client device
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: August 7, 2018
    Assignee: salesforce.com, Inc.
    Inventor: Jong Lee
  • Patent number: 10044660
    Abstract: Disclosed are systems, apparatus, and methods for integrating a service console application by providing communication between a first and second network domain. In various implementations, first data is received at a second network domain, where the first data includes one or more functions. A first message may be received at the second network domain, the first message being provided at the second network domain in response to the one or more functions being invoked, and the message identifying the one or more functions. Responsive to receiving the message, the one or more functions may be executed at a computing device associated with the second network domain. Responsive to executing the one or more functions, a second message may be sent to the first domain indicating that the one or more functions have been executed, where the second message is operable to invoke and execute one or more call back functions.
    Type: Grant
    Filed: November 11, 2015
    Date of Patent: August 7, 2018
    Assignee: salesforce.com, inc.
    Inventors: Gautam Vasudev, Peng-Wen Chen, David Ly-Gagnon
  • Patent number: 10042868
    Abstract: Disclosed are systems, apparatus, methods, and computer readable media for discontinuing the following of records in an on-demand database service environment. In one embodiment, one or more records are identified according to one or more designated criteria. The records are stored in a database. The records are being followed by one or more users in an on-demand database service environment such that updates to the records are capable of being stored as feed items in one or more feed tables in the database. The feed items are capable of being published in an information feed displayed on one or more devices associated with the one or more users. The following of the identified one or more records by the one or more users is discontinued.
    Type: Grant
    Filed: February 16, 2017
    Date of Patent: August 7, 2018
    Assignee: salesforce.com, inc.
    Inventor: John Kucera
  • Publication number: 20180217718
    Abstract: The technology disclosed for configuring a transcoder-router to direct incoming communications to desired receivers includes receiving a selection by a user from an icon-based GUI, of an incoming voice, video, image, short message, or email media type to configure for routing. Incoming communications gets routed in the context of the incoming media type, with the transducer-router receiving a combination of routing conditions with which to determine the routing of the incoming media type: a time zone against which routing schedules are measured; a time window for the routing schedules that covers both time of day and day of week; and available receiver devices for the routing under the selected combination of the incoming media type, time zone and time window. The disclosed systems and methods include committing routing rules based on the user selections to tangible machine readable memory; and using the committed rules to route incoming media type messages.
    Type: Application
    Filed: January 31, 2017
    Publication date: August 2, 2018
    Applicant: salesforce.com, inc.
    Inventors: Eugene Lew, Mohit Aggarwal
  • Publication number: 20180218040
    Abstract: Systems, methods, and computer-readable media for pinning query execution plans are described. A database system may obtain a query, and determine a organization identifier and/or user identifier associated with the query. The database system may identify an optimized plan among a set of query plans that correspond with the query, and may generate a query execution plan based on the query and the optimized plan. The database system may determine a pinned plan that is associated with the optimized plan, and may generate a query execution plan based on the pinned plan when the pinned plan is associated with the optimized plan and corresponds with the organization identifier and/or the user identifier. The database system may generate a query execution plan using optimization functions when the pinned plan is not associated with the pinned plan, or the organization identifier and/or the user identifier. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: January 30, 2017
    Publication date: August 2, 2018
    Applicant: salesforce.com, inc.
    Inventors: RamaLinga Raju PENMETSA, Prem VEERAMANI, Jeffrey Lallana FRESCHL, Jesse COLLINS, Ganesh MAGANTI
  • Patent number: 10037430
    Abstract: Methods and systems are provided for controlling the execution of business logic that allows features to be turned on or off at run time for each particular user entity of a plurality of user entities. Prior to run time a library is configured based on an administrator's interaction with an interactive control panel at a computer of the system. For each particular user entity and for each particular code block of an object that comprises a plurality of code blocks each corresponding to a particular feature and having an enabling predicate associated with that particular code block, the library can be configured by defining an on/off state for each feature of that particular code block via an enabling predicate associated with that particular feature. The library can then be cached in a custom settings cache of the system for use at run time.
    Type: Grant
    Filed: October 27, 2015
    Date of Patent: July 31, 2018
    Assignee: salesforce.com, inc.
    Inventors: Samarpan Jain, Reuben Comel
  • Patent number: 10037233
    Abstract: Computer-implemented methods and systems are provided for writing events to a data store. An application server generates events, the data store that stores the events, and a temporary events file storage system (TEFSS) temporarily stores groups of events as events files. When events are unable to be written directly to the data store, an indirect events writer is invoked that includes event capture threads each being configured to generate a particular events file, and write it to the TEFSS. Each events file includes a plurality of events flushed from an in-memory buffer service. An events file uploader service reads the events file(s) from the TEFSS, and then writes the events from each of the events files to the data store.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: July 31, 2018
    Assignee: salesforce.com, inc.
    Inventors: Aakash Pradeep, Adam Torman, Alex Warshavsky, Samarpan Jain
  • Patent number: 10037316
    Abstract: A method for processing email is presented here. The method begins by receiving email capture criteria for incoming email messages directed to a destination tenant of a multi-tenant database system. The method continues by comparing the email capture criteria to searchable information conveyed in the incoming email messages. When the searchable information in a candidate email message of the incoming email messages matches the email capture criteria by at least a threshold amount, the candidate email message is identified as a matched email message. The method continues by saving a copy of the matched email message for diagnostic analysis, and performing incoming email processing on the matched email message.
    Type: Grant
    Filed: December 30, 2015
    Date of Patent: July 31, 2018
    Assignee: salesforce, inc.
    Inventors: Rasmus Mencke, Richard Alan Stevens, Brian St. Clair
  • Publication number: 20180210909
    Abstract: In an example, a database system may be configured to validate relational database instructions using a plurality of validators. In some examples, validation may be pre-production for relational database instructions based on simulated user inputs and/or file, such as plan files (e.g., PL/SQL (procedural language/structured query language) files). In some examples, validation may be in production for relational database instructions based on system views of a database engine.
    Type: Application
    Filed: January 25, 2017
    Publication date: July 26, 2018
    Applicant: salesforce.com, inc.
    Inventors: Jesse COLLINS, Xuerong TANG, Scott HANSMA
  • Publication number: 20180210910
    Abstract: In an example, a database system may be configured to validate relational database instructions using a plurality of validators. In some examples, validation may be pre-production for relational database instructions based on simulated user inputs and/or file, such as plan files (e.g., PL/SQL (procedural language/structured query language) files). In some examples, validation may be in production for relational database instructions based on system views of a database engine.
    Type: Application
    Filed: January 25, 2017
    Publication date: July 26, 2018
    Applicant: salesforce.com, Inc
    Inventors: Jesse COLLINS, Xuerong Tang
  • Publication number: 20180212762
    Abstract: In a computing system, methods for secure OS level login authentication for internal users to access servers. Some or all servers in a group each utilize a local ID Service for generating and validating a challenge responsive to an OS login request. The challenge is processed in a centralized secure server HSM. Rather than copying individual user public keys to each host in the data center, we need only copy the public key of the HSM to each host in the group. When a user attempts OS level login to a host, it encrypts the challenge using the public key of the HSM and forwards the request for processing in the HSM. There, it decrypts the challenge using the private key in the HSM and re-encrypts the challenge with the public key of the individual user. The user's mobile device, previously registered, is required to complete the authentication process.
    Type: Application
    Filed: March 31, 2017
    Publication date: July 26, 2018
    Applicant: salesforce.com, inc.
    Inventors: Prasad PEDDADA, Taher ELGAMAL
  • Publication number: 20180212785
    Abstract: An ID service on an app server interacts with a corresponding identity app installed on a user device such as a smart phone. At setup, the ID service receives the user's public key and only a segment of the corresponding private key. A special challenge message is created and partially decrypted using the private key segment on the server side, and then decryption is completed on the client app using the remaining segment(s) of the private key to recover the challenge. A token authenticator based on the result of the decryption is sent back to the identity service, for it to verify validity of the result and, if it is valid, enable secure login without requiring a password.
    Type: Application
    Filed: January 25, 2017
    Publication date: July 26, 2018
    Applicant: salesforce.com, inc.
    Inventors: Prasad PEDDADA, Taher ELGAMAL
  • Patent number: 10031730
    Abstract: The technology disclosed describes systems and methods for implementing extensible browser executable components, such as popup controls for action, checkbox and radio button dropdown menus, modals, dialogs, date pickers and autocompletes. The disclosed technology systems and methods can also be used for rendering executable components for mobile application interfaces. The technology further discloses systems and methods for providing support for developers whose goal is to render specific implementations of browser executable components. The technology disclosed also describes systems and methods for bypassing suppression of DOM click event bubbling for a popup controls for action, checkbox and radio button dropdown menus, modals, dialogs, date pickers and autocompletes; and discloses systems and methods for implementing modal interaction between an iframe and a popup control.
    Type: Grant
    Filed: April 22, 2015
    Date of Patent: July 24, 2018
    Assignee: salesforce.com, inc.
    Inventors: Matthew Davidchuk, Benjamin Snyder, Jesse Alan Hausler, Xiaozhong Sun, Laura Ann Nelson
  • Patent number: 10033740
    Abstract: A system and apparatus for enhancing the functionality and utility of an authentication process for web applications is disclosed.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: July 24, 2018
    Assignee: salesforce.com, inc.
    Inventors: John Simone, Fiaz Hossain
  • Patent number: 10027735
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating user-controlled mapping of sites and synchronization of their content. In one embodiment and by way of example, a method includes receiving a first generation request for generating a site template in a first site network. The first generation request is received at a first computing device. The method may further include generating the site template, generating a child site based on the site template, and mapping the child site to one or more of a parent site and one or more child sites within the first site network.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: July 17, 2018
    Assignee: salesforce.com, inc.
    Inventors: Philip Norman Calvin, Sonali Agrawal, Eric Dorgelo, Shelby Hubick
  • Patent number: 10025951
    Abstract: An encrypted search index is disclosed. For instance, an exemplary system may include a search index stored on disk with customer information stored therein, the search index files having a term dictionary or a term index type file having internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; a file input/output (IO) layer to encrypt the customer information being written into the individual search index file and to decrypt the customer information being read from the individual search index file; and a query interface to execute the operation against the customer information stored in the memory in its decrypted form.
    Type: Grant
    Filed: November 4, 2016
    Date of Patent: July 17, 2018
    Assignee: salesforce.com, inc.
    Inventors: Mukul Raj Kumar, Prasad Peddada
  • Patent number: 10025547
    Abstract: In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for implementing frame aggregation with screen sharing including, for example, means for receiving, at a server, a stream of delta frames from a publishing client as part of a screen sharing session with one or more viewing clients; establishing a FIFO buffer for each of the respective one or more viewing clients on 1:1 basis; queuing a copy of the stream of delta frames into each of the FIFO buffers corresponding to the one or more viewing clients, wherein the stream of delta frames are transmitted from the respective FIFO buffers to the corresponding one or more client viewers; monitoring each of the respective FIFO buffers for each of the one or more viewing clients to determine if two or more delta frames are concurrently queued in any single one of the respective FIFO buffers at any given time; aggregating the two or more delta frames into a single aggregated delta frame; re-queuing the aggregated delta frame;
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: July 17, 2018
    Assignee: salesforce.com, inc.
    Inventor: Barry Spencer
  • Patent number: 10019479
    Abstract: Techniques for providing polymorphic query requests. A request is received that has at least a database query. The database query comprises at least an expression using a polymorphic relationship. The request is processed utilizing the polymorphic relationship. A user-readable result is provided for the query where the result is defined by at least the polymorphic relationship.
    Type: Grant
    Filed: August 1, 2016
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventor: Seth John White
  • Patent number: 10021089
    Abstract: Mechanisms and techniques for customized user validation. A login attempt is received from a remote electronic device with one or more computing devices that provide access to one or more resources. The login attempt is analyzed to determine a profile from a plurality of profiles corresponding to the login attempt. The one or more computing devices support the plurality profiles with each profile having a corresponding flow. The flow corresponding to the profile is performed prior to allowing continuation of the login attempt. The login attempt is continued, via the one or more computing devices, after the flow corresponding to the profile is completed. Access is granted to the one or more resources, via the one or more computing devices, in response to a successful completion of the login attempt.
    Type: Grant
    Filed: April 9, 2015
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventors: William Charles Mortimore, Jr., Sergio Isaac Koren, Paul Anthony Mason, Alan Vangpat
  • Patent number: 10021205
    Abstract: A media routing server is described. The media routing server may be configured to receive media information from a source computing system. The media routing server may be configured to scale the media information based on characteristics of one or more destination computing systems. Each scaled media information is unique to the characteristics of each destination computing system. The media information may comprise a plurality of objects. Priority information and sequencing information may be assigned to the objects by the media routing server. The media routing server may be configured to transmit the scaled media information to each destination computing system based on at least the priority information and the sequencing information.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventor: Barry Spencer
  • Patent number: 10019383
    Abstract: Disclosed technology includes access to rotatable-key-encrypted content in a multi-tier disk partition system, with a first-tier-track, and initializing a second-tier-track accessible using the same block designator. A stack of bit vectors, stored in SSD memory, represents tier-tracks and a bit flag indicates whether a respective tier-track holds currently-active data or another bit vector needs to be consulted for access to a predecessor of the tier-track. Copying forward of data from the first-tier-track to the second-tier-track, as-scheduled or in response to an authorized write access to the second-tier-track includes, prior to completion, responding to an access request by providing data from the second-tier-track that has been copied forward and following mappings associated with the flag sets to provide data from the first-tier-track.
    Type: Grant
    Filed: November 30, 2016
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventor: Mark Manasse
  • Patent number: 10019297
    Abstract: Systems and methods for implementing bulk handling in asynchronous processing are described. For example, an exemplary system includes a processor and a memory to execute instructions at the system; a broker to enqueue received messages; a push connection from the broker to a thread, in which the broker is to push an initial message to the thread for processing; a pull connection from the thread to the broker, in which the thread is to request one or more additional messages for bulk processing with the initial message from the broker; a query interface to issue a database query from the thread to a data store, the database query specifying the initial message and the one or more additional messages as a set of messages to obtain a lock for the set of messages; and a message processing engine to handle the set of messages in bulk based on whether the lock for the set of messages is obtained.
    Type: Grant
    Filed: June 16, 2014
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventors: Marco Helmich, Ananya Yadav, Praveen Murugesan, Vijayanth Devadhar
  • Patent number: 10021193
    Abstract: In accordance with embodiments disclosed herein, there are provided methods, systems, and apparatuses for implementing a session table framework including, for example, receiving a request at a host organization from a client device, in which such a request specifies an application available via the host organization; generating a user session unique to the client device in a memory of the host organization; creating a user session data table within the user session; processing the request via the application specified by the request on behalf of the client device; updating the user session data table based on the processing of the request; and transmitting a response to the client device responsive to the request.
    Type: Grant
    Filed: September 20, 2016
    Date of Patent: July 10, 2018
    Assignee: salesforce.com, inc.
    Inventors: John Duff, Manu Gurudatha, Ashik Uzzaman
  • Publication number: 20180192274
    Abstract: Systems and methods are provided in which an application at each user device monitors locations of user devices. A location of a first user device within a facility and identification information associated with a user who is associated with the first user device can be determined and a floorplan can be generated and then caused to displayed via a user interface of a second user device. The floorplan includes an icon that represents the location of the first user device.
    Type: Application
    Filed: February 14, 2018
    Publication date: July 5, 2018
    Applicant: salesforce.com, inc.
    Inventors: Jonathon Christopher Newby, Richard W. Spencer, Corinthe Jennelle Bailey
  • Patent number: 10013278
    Abstract: In accordance with embodiments disclosed herein, there are provided mechanisms and methods for batch processing in an on-demand service environment. For example, in one embodiment, mechanisms include receiving a processing request for a multi-tenant database, in which the processing request specifies processing logic and a processing target group within the multi-tenant database. Such an embodiment further includes dividing or chunking the processing target group into a plurality of processing target sub-groups, queuing the processing request with a batch processing queue for the multi-tenant database among a plurality of previously queued processing requests, and releasing each of the plurality of processing target sub-groups for processing in the multi-tenant database via the processing logic at one or more times specified by the batch processing queue.
    Type: Grant
    Filed: May 27, 2014
    Date of Patent: July 3, 2018
    Assignee: salesforce.com, inc.
    Inventors: Gregory D. Fee, William J. Gallager
  • Patent number: 10013501
    Abstract: Techniques are disclosed relating to caching web application data. In some embodiments, a computing system maintains a multi-tenant database and an in-memory cache for the database. In some embodiments, the computing system is configured to store data in an entry in response to a store request and retrieve data in response to a read request. In various embodiments, data cached by one tenant is not visible to other tenants. The cache may be partitioned and each partition may have an assigned capacity. The computing system may be configured to evict cached data based on capacity thresholds, least-recently-used information, time-to-live information, amount of data in an entry, etc. The cache may indicate misses when requested data is not present. Various disclosed techniques may improve web application performance while maintaining privacy between tenants.
    Type: Grant
    Filed: October 26, 2015
    Date of Patent: July 3, 2018
    Assignee: salesforce.com, inc.
    Inventors: Barathkumar Sundaravaradan, Christopher James Wall, Lawrence Thomas Lopez, Paul Sydell, Sreeram Duvur, Vijayanth Devadhar
  • Patent number: 10013294
    Abstract: A messaging system implements messaging among application servers and databases, utilizing other servers that implement messaging brokers. A large flood of incoming messages can bring down messaging brokers by overflowing the message queues, negatively impacting performance of the overall system. This disclosure in some embodiments detects and identifies “flooders” in a timely manner and isolates their message traffic to dedicated queues to avoid impacting other system users. Subsequently, a preferred system de-allocates the queues and returns the messaging system to normal operation when flooding conditions subside, and “sweeps” up any remaining orphan messages.
    Type: Grant
    Filed: March 22, 2017
    Date of Patent: July 3, 2018
    Assignee: SALESFORCE.COM, INC.
    Inventors: Hui Lam Kwong, Xiaodan Wang, Vipul Modani, John B. Buisson
  • Publication number: 20180181270
    Abstract: Disclosed herein are system, method, and computer-readable storage medium embodiments for ordered macro building. An embodiment may include operations of displaying, via a user interface, a first user interface object and a second user interface object, populating a macro building pane comprising a first macro building object and a second macro building object, in response to the first user interface object receiving a first interaction and in response to the second user interface object receiving a second interaction, and compiling a macro with at least the first interaction and the second interaction, the first interaction being with a first application and the second interaction being with a second application.
    Type: Application
    Filed: October 16, 2017
    Publication date: June 28, 2018
    Applicant: salesforce.com, inc.
    Inventors: Kristen Noriko MURAMOTO, Clément Jacques Antoine Tussiot, Orjan Nils Kjellberg
  • Patent number: 10007956
    Abstract: The technology disclosed describes systems and methods for delivering software trial demonstrations that are customized, with features identified as interesting to a software demonstration candidate, by mining biographical and behavioral data of the candidate. The technology further discloses systems and methods for the customization of trial demonstrations with software usage stories that reflect a software demonstration candidate's interests, identified by analyzing mined biographical and behavioral data about the candidate.
    Type: Grant
    Filed: October 30, 2017
    Date of Patent: June 26, 2018
    Assignee: salesforce.com, Inc.
    Inventors: Daniel Everett Jemiolo, Beau David Cronin
  • Patent number: 10007607
    Abstract: To deliver up-to-date, coherent user data to applications upon request, the disclosed technology includes systems and methods for caching data and metadata after it has been synchronously loaded—for future retrieval with a page load time close to zero milliseconds. To provide this experience, data needs to be stored as locally to a user as possible, in the cache on the local device or in an edge cache located geographically nearby, for use in responding to requests. Applications which maintain caches of API results can be notified of their invalidation, and can detect the invalidation, propagate the invalidation to any further client tiers with the appropriate derivative type mapping, and refresh their cached values so that clients need not synchronously make the API requests again—ensuring that the client has access to the most up-to-date copy of data as inexpensively as possible—in terms of bandwidth and latency.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: June 26, 2018
    Assignee: salesforce.com, inc.
    Inventor: Richard Perry Pack, III
  • Patent number: 10007576
    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: February 29, 2016
    Date of Patent: June 26, 2018
    Assignee: salesforce.com, inc.
    Inventors: Scott Yancey, Andrew Smith, Andrew Waite, Craig Weissman
  • Patent number: 10001983
    Abstract: Methods are disclosed for dynamic node allocation for a server system that can automatically heal on failure—minimizing the need for static configuration—dynamically adjusting server resources to match load, and minimize end user wait times. The disclosed methods dynamically allocate nodes to increase capacity for a platform that accepts data queries. Additionally disclosed is a system for rolling version update deployment: workers maintain org lists of org-task-queues that they service; org-affinities between the workers and the org-task-queues require the workers to have access to local copies of immutable data sets to service org-tasks from the org-task-queues of the orgs that they service. A leader running on a worker implements a healing and balancing service that maintains worker redundancy, manages the workers' org-affinities to accumulate orgs on their respective org-lists. The leader implements messaging to the workers to update to a new software version and monitors completion of updates.
    Type: Grant
    Filed: July 27, 2016
    Date of Patent: June 19, 2018
    Assignee: salesforce.com, Inc.
    Inventors: Saptarshi Roy, Daniel C. Silver, Donovan Schneider, Medha Pradhan, Ryan Lamore, Naveen Purushothama Rao, Nicholas Geh, Srirama Koneru
  • Publication number: 20180165297
    Abstract: Systems, methods, and computer-readable media for providing/obtaining database visualization updates in real-time are described. In embodiments, a user system may obtain a user input indicating a selection of a synchronization (sync) option of a set of sync options. Each sync option may indicate a desired timing for obtaining updated data for a visual representation of a dataset by a database system. The user system may send a request to obtain updated data for the visual representation of the dataset in accordance with the selected sync option. In embodiments, the selected sync option may include a real-time sync option, which when selected, the user system may obtain the updated data as the dataset is updated at the database system without sending additional requests for updates. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 14, 2018
    Applicant: salesforce.com, inc.
    Inventors: Santhosh Kumar KUCHOOR, Rafael SANTANDER
  • Patent number: 9996323
    Abstract: Execution of code in a multitenant runtime environment. A request to execute code corresponding to a tenant identifier (ID) is received in a multitenant environment. The multitenant database stores data for multiple client entities each identified by a tenant ID having one of one or more users associated with the tenant ID. Users of each of multiple client entities can only access data identified by a tenant ID associated with the respective client entity. The multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. Source code corresponding to the code to be executed is retrieved from a multitenant database. The retrieved source code is compiled. The compiled code is executed in the multitenant runtime environment. The memory used by the compiled code is freed in response to completion of the execution of the compiled code.
    Type: Grant
    Filed: February 9, 2015
    Date of Patent: June 12, 2018
    Assignee: salesforce.com, inc.
    Inventors: Gregory D. Fee, William J. Gallagher
  • Patent number: 9996955
    Abstract: Systems, device and techniques are disclosed for analytics visualization. A selection of a data set may be received. A first visualization associated with the data set may be generated. A selection of a first data subset of the data set may be received. A second visualization associated with the first data subset of the data set may be generated. The second visualization may be visually linked to the first visualization with a first visual link. A selection of a second data subset of the data set may be received. A third visualization associated with the second data subset of the data set may be generated. The third visualization may be visually linked to the first visualization with a second visual link and displayed simultaneously with the second visualization.
    Type: Grant
    Filed: August 27, 2015
    Date of Patent: June 12, 2018
    Assignee: Salesforce.com, Inc
    Inventor: Luke Ball
  • Publication number: 20180159832
    Abstract: Methods and systems are provided for proxying data between an application server and a client device. One exemplary application system includes an application server to generate a virtual application and a proxy server coupled to the application server over a network to provide the virtual application to a client device. The proxy server receives input data from the client device and provides the input data to the application server, wherein the application server encodes the input data for an action in response to authenticating the proxy server and provides the data encoded for the action to the proxy server. The proxy server performs the action on the data and provides the result to the client device.
    Type: Application
    Filed: January 31, 2018
    Publication date: June 7, 2018
    Applicant: salesforce.com, inc.
    Inventor: Yoel GLUCK
  • Publication number: 20180159872
    Abstract: The technology disclosed relates to identifying and notifying a user of nearby attendees at a mega attendance event who are in user's social graph by comparing the user's social graph to a list of event attendees. The identified attendees can be stratified into social graph tags that annotate, categorize and prioritize other users in the user's social graph. The technology disclosed also relates to identifying and notifying the user of nearby attendees of sessions at the event who meet introduction preferences of the user by finding matches between introduction preference attributes specified by the user and attributes of the attendees provided by the list of event attendees.
    Type: Application
    Filed: February 1, 2018
    Publication date: June 7, 2018
    Applicant: salesforce.com, inc.
    Inventor: Jason SCHROEDER
  • Publication number: 20180157584
    Abstract: The disclosed methods and systems for coordinating deployment and regression testing across data centers and system clusters in multiple service clouds include accessing test suites via a versioning platform that maintains a metadata notation of an applicable-version to which a version of a test suite applies. They include receiving a request-to-test to run a selected test suite against a selected system; making a machine-to-machine query about the selected system and receiving back a response that specifies a version-to-be-tested; automatically selecting from the versioning platform a test suite version with the applicable-version that supports the version-to-be-tested consistent with the metadata notation of the applicable-version of the selected test suite; and reporting results of running the selected test suite.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: salesforce.com, inc.
    Inventors: Randall S. FORBES, Brian D. MCGREER, Jason David BORNEMAN