Abstract: A method for browser-based chat messaging is provided. The method presents browser-based presentation interfaces, including a master and at least one slave, and including a chat messaging interface for the master; establishes a single communication session with a server system, by the master; receives chat data, by the chat messaging interface of the master via the single communication session, including rich content comprising graphical elements, enhanced formatting, and interactive functionality; stores the chat data including the rich content in session storage for the master; renders the chat data including the rich content, by the chat messaging interface of the master; provides updated chat data including the rich content to the slaves, by the master via a broadcast pipeline for the browser application; and presents the updated chat data by re-rendering the chat data including the rich content, via secondary chat messaging interfaces corresponding to the slaves.
Abstract: A mechanism for providing in-line scheduling in an on-demand service in a database system is proved. The mechanism provides a multi-tenant database that stores client scheduling information, client customer contact information, and enables drag and drop event scheduling. In a multi-tenant database, a system for managing client customer contact information and event scheduling is established, which is useful for a tenant that is a salesperson or that employs salespersons. The multi-tenant database includes a combined view application that provides for the simultaneous display of a calendar view and list view of contact information. The multi-tenant database includes drag and drop functionality, allowing list view information to be dragged and dropped onto the calendar view for event scheduling. The ability of embodiments to provide drag and drop inline event scheduling can enable efficient calendaring of events by rapidly transferring relevant information onto a calendar.
Abstract: Content deployment systems and methods are provided for continuously integrating and deploying selected content items from a plurality of content sources into a specific release as part of the specific release. For example, a first content source stores a plurality of first content items for potential inclusion in the specific release. A manifest record for the specific release specifies release items, that are allowed to be part of the specific release. A proxy can periodically retrieve selected ones of the first content items that are specified in the manifest record, and push them to a content publishing engine. Any content items that are not specified in the manifest record are rejected by the proxy. A processor of the content publishing engine can allow for continuous integration of the selected ones of the first content items into the specific release.
Type:
Grant
Filed:
November 27, 2017
Date of Patent:
June 16, 2020
Assignee:
salesforce.com, inc.
Inventors:
Abhishek Bangalore Sreenivasa, Adam Torman, Tyler Montgomery, Douglas Bitting
Abstract: A method for creating a dynamic entity location map, includes sending an electronic communication to a first entity, obtaining, when the electronic communication is opened, notification data, calculating a location at which the electronic communication was opened based on the notification data, storing, in a database, a record that contains an association of the location and the first entity, wherein the database stores a plurality of records of entities with associated location data, and generating a map interface that displays a geographical region and displays an icon for the first entity, the icon being displayed at a position within the geographical region based on the location associated with the first entity.
Abstract: Technology for tracking changes to a database and providing the changes to a subscribing computing device. In an illustrative implementation, a method may involve subscribing a computing device to changes of a portion of a multi-tenant database and accessing a plurality of change events stored in a log of the multi-tenant database in parallel. The method may further involve storing the plurality of change events in a persistent data store separate from the multi-tenant database and processing the plurality of change events to create an ordered set of change events. The ordered set of change events may then be provided to the computing device that subscribed to the changes.
Type:
Grant
Filed:
August 25, 2017
Date of Patent:
June 9, 2020
Assignee:
salesforce.com, inc.
Inventors:
Gary Baker, Mikhail Chainani, Varun Jobanputra, William Dumaresq
Abstract: Methods, systems, and devices for distributed caching of encrypted encryption keys are described. Some multi-tenant database systems may support encryption of data records. To efficiently handle multiple encryption keys across multiple application servers, the database system may store the encryption keys in a distributed cache accessible by each of the application servers. To securely cache the encryption keys, the database system may encrypt (e.g., wrap) each data encryption key (DEK) using a second encryption key (e.g., a key encryption key (KEK)). The database system may store the DEKs and KEKs in separate caches to further protect the encryption keys. For example, while the encrypted DEKs may be stored in the distributed cache, the KEKs may be stored locally on application servers. The database system may further support “bring your own key” (BYOK) functionality, where a user may upload a tenant secret or tenant-specific encryption key to the database.
Type:
Grant
Filed:
September 27, 2017
Date of Patent:
June 9, 2020
Assignee:
salesforce.com, inc.
Inventors:
Alexandre Hersans, John Bracken, Assaf Ben Gur, William Charles Mortimore, Jr., Swaroop Shere
Abstract: Disclosed are examples of methods, apparatus, systems, and computer program products for providing an augmented reality display of an image with record data. In one example, image data is received at one or more processors. A request message is sent requesting record data associated with the image data from one or more of a plurality of records stored in a database system. In some implementations, when the requested record data is received, a graphical display of the record data in combination with the image can be provided on a display device.
Abstract: A database system may determine that a database is unavailable to generate an identifier for an event or that events may not be written to the database. As a result, the database system may write the event to a low-latency, supplementary file system. The database system may determine that the database is available at a later time, and read the event from the supplementary file system, store the event in a memory component, and then delete the event from the supplementary file system. The database system may then access the database to generate an identifier for the event, write the event to the database, and then delete the event from the memory component.
Type:
Grant
Filed:
April 8, 2016
Date of Patent:
June 9, 2020
Assignee:
salesforce.com, inc.
Inventors:
Aakash Pradeep, Abhishek Bangalore Sreenivasa, Adam Torman, Alex Warshavsky, Ivan Daya Weiss, Samarpan Jain, Somesh Sasalatti, Soumen Bandyopadhyay, Choapet Oravivattanakul
Abstract: System and methods are described for authenticating users across multiple environments within a cloud-computing environment. A system may receive an indication that a user authenticated within a first environment has performed an action specific to a second environment. The system determines whether a previous action was performed by the user specific to the second environment. In response to determining that no previous action was performed, the system retrieves a first token from an authentication database, wherein the first token is associated with authentication of the user within the first environment. The system then validates the first token, and then generates a second token associated with authentication of the user within the second environment.
Type:
Grant
Filed:
January 8, 2018
Date of Patent:
June 9, 2020
Assignee:
salesforce.com, inc.
Inventors:
Sebastian Alzate, Venkatesh Baskar, Brandon Gupton, Vamsi Krishnam Raju Chiluvuri, Ryan McDaniel
Abstract: Systems, methods, and computer-readable media for providing a Policy Enforcement as a Service (PEaaS) are described. The PEaaS may allow customer service providers to define policies for usage restrictions to be implemented across their distributed systems/platforms. The policy enforcement mechanisms of the PEaaS may prevent users from overloading the systems/platforms of the customer service providers. Other embodiments may be described and/or claimed.
Type:
Grant
Filed:
January 31, 2018
Date of Patent:
June 9, 2020
Assignee:
SALESFORCE.COM, INC.
Inventors:
Colbert Guan, Jigna Bhatt, Thomas Nicholas Valine, Ruofan Zhang, Sampath Tulava
Abstract: A method is described for intelligently prefetching a web page of a web application for a user. The method includes loading, by a client device, a current web page of the web application in a web browser of the client device; determining a predicted web page based on the current web page and usage patterns of the user, wherein the predicted web page is a web page the user is predicted to navigate to from the current web page; prefetching, by the client device, metadata and content data describing the predicted web page from a web server prior to the user requesting the predicted web page; and caching, by the client device, the metadata and content data describing the predicted web page in a multi-level caching structure.
Abstract: A read request for a data object is received from a first processing thread. Responsive to the read request, it is determined whether a cached version of the data object is available from a global cache. If the cached version of the data object is not available from the global cache, a result is immediately returned to the first processing thread to indicate that the data object is not available from the global cache. The first processing thread is freed from waiting for the data object to become available from the global cache. A cache refresh message is enqueued, for the data object, in a message queue to cause a second different processing thread to subsequently dequeue the cache refresh message for the data object and build the data object in the global cache using underlying data persisted in and retrieved from a primary data source among the one or more primary data sources.
Abstract: Disclosed herein are system, method, and computer program product embodiments providing interface color branding. An embodiment operates by receiving a primary color associated with a theme of a user interface. A first color code corresponding to the primary color is determined. The first color code is converted into a second color code corresponding to the primary color, wherein the first color code is in a device-dependent color format and the second color code is in a device-independent color format. A secondary color corresponding to each of one or more portions of the user interface is derived from the second color code. Each secondary color is converted from the device-independent color format into the device-dependent color format. The one or more portions of the user interface are colored in the device-dependent color format.
Type:
Grant
Filed:
November 3, 2017
Date of Patent:
June 9, 2020
Assignee:
salesforce.com, inc.
Inventors:
Jade Frances Pennig, Yon Aran Rhee, Mary Ann Jawilli
Abstract: An on-demand database system may receive a request to create a user account associated with a subdomain of the database system. The system may identify a pre-existing user account associated with a different subdomain of the database system where the pre-existing user account is associated with a personal communications address identified in the request. The system may create the requested account using personal information retrieved from the pre-existing user account.
Type:
Application
Filed:
December 3, 2018
Publication date:
June 4, 2020
Applicant:
Salesforce.com, Inc.
Inventors:
Rafael Kabesa, Samantha Ready, Douglas Bitting, Matthew Bahrenburg, Sathish Raghunathan
Abstract: A predicate-based row level security system is used when workers build or split an analytical data store. According to one implementation, predicate-based means that security requirements of source transactional systems can be used as predicates to a rule base that generates one or more security tokens, which are associated with each row as attributes of a dimension. Similarly, when an analytic data store is to be split, build job, user and session attributes can be used to generate complementary security tokens that are compared to security tokens of selected rows. Efficient indexing of a security tokens dimension makes it efficient to qualify row retrieval based on security criteria.
Type:
Grant
Filed:
February 22, 2017
Date of Patent:
June 2, 2020
Assignee:
salesforce.com, inc.
Inventors:
Donovan A. Schneider, Daniel C. Silver, Fred Im, Vijayasarathy Chakravarthy
Abstract: Disclosed are some implementations of systems, apparatus, methods, and computer program products for implementing, a stateful, contextual, and draggable widget. A widget application stores a state of the widget, a context of the widget, and coordinates of the widget. When a user navigates from one web page of a web site to another web page of the web site, the widget application reconstitutes the widget using the saved state, context, and coordinates of the widget.
Type:
Grant
Filed:
September 20, 2018
Date of Patent:
June 2, 2020
Assignee:
salesforce.com, inc.
Inventors:
Orlee Dykan, Robert Birbeck, Joshua Boyden
Abstract: In some implementations, a processing system of a database system may identify identification information associated with a user within a request, received from a client device, for data associated with the user, compare the identification information with user identity entries persisting on the memory device, determine, from the comparison, that a user identity entry persisting on the memory device is associated with the user, and query a backend database associated with the client device with one or more parameters included within the user identity entry to obtain the data associated with the user.
Abstract: In embodiments, a method may include displaying a user interface comprising at least two windows, a first window displaying a live chat with a first individual and at least one of the remaining windows displaying content related to the live chat. The method may further include receiving an indication to pop-out the first window, and in response, displaying the first window as a separate moveable window, and displaying, within an original area of the first window, additional content related to one of the live chat or the first individual. The method may further include receiving an indication from a user to change the live chat to be with a second individual, and in response to the indication: displaying the live chat with the second individual in the separate moveable window; and displaying content related to the second individual in the at least one of the remaining windows.
Abstract: A method for securely sharing a common software package includes storing, within a database, a set of software packages associated with a first namespace, then storing, within the database, a common software package associated with the set of software packages. The common software package is obfuscated and includes an access modifier. A request to install a first software package selected from the set of software packages associated with the namespace is received by a subscriber. In response to the request from the subscriber, the system installs the first software package and the common software package in accordance with the access modifier.
Type:
Grant
Filed:
January 17, 2018
Date of Patent:
June 2, 2020
Assignee:
salesforce.com, inc.
Inventors:
Ganesh Mathrubootham, Jeffrey M. Bartolotta, Reid A. Elliott