Abstract: Techniques are disclosed relating to database techniques for storing metadata for web applications. In some embodiments, manageable state information indicates whether certain entities (e.g., developers or subscribers) are allowed to edit particular fields (e.g., upon installing a version of an application package or when updating a package to a new version). In some embodiments, the manageable state information is stored separately from the corresponding metadata, which may avoid a need to query the metadata to determine manageable state and may allow validation of manageable state rules upon insertion of metadata into a new organization. In some embodiments, a short-lived build organization may facilitate validation of updates to web application packages.
Type:
Grant
Filed:
January 20, 2017
Date of Patent:
September 8, 2020
Assignee:
salesforce.com, inc.
Inventors:
Reid A. Elliott, Jeffrey M. Bartolotta, James B. Wunderlich, Peter Wisnovsky
Abstract: This disclosure provides various techniques that may allow for key-level lock requests in a database to be managed by code that manages a memory buffer for the database. The transaction-level locks and other higher level locks may be managed by a separate lock manager. In an embodiment, the code inserts key-level lock requests in the record chain even if there is a conflict, and the key-level lock requests remain in the chain after the locks are subsequently granted. Preemption may also be supported in the record chain, in some embodiments.
Abstract: Disclosed are systems, apparatus, methods, and computer readable media for suppressing network feed activities using an information feed in an on-demand database service environment. In one embodiment, a message is received, including data indicative of a user action. An entity associated with the user action is identified, where the entity is a type of record stored in a database. A type of the entity is identified. It is determined whether the entity type is a prohibited entity type. When the entity type is not a prohibited entity type, the message data is saved to one or more tables in the database. The tables are configured to store feed items of an information feed capable of being displayed on a device. When the entity type is a prohibited entity type, the saving of the message data, to the one or more tables in the database configured to store the feed items, is prohibited.
Type:
Grant
Filed:
October 26, 2017
Date of Patent:
September 8, 2020
Assignee:
salesforce.com, inc.
Inventors:
William Gradin, Matthew Davidchuk, Qiu Ma, Leonid Zemskov, Amy Palke
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:
June 12, 2018
Date of Patent:
September 1, 2020
Assignee:
salesforce.com, inc.
Inventors:
Saptarshi Roy, Daniel C. Silver, Donovan A. Schneider, Medha Pradhan, Ryan Lamore, Naveen Purushothama Rao, Nicholas Geh, Srirama Koneru
Abstract: Techniques are disclosed relating to identifying types of user interface components based on one or more existing user interfaces. The disclosed techniques may include, for example, determining a plurality of visible elements of a graphical user interface, based on user interface code. Additionally, techniques include determining coordinates for bounding boxes for ones of the plurality of visible elements, based on the user interface code. Disclosed techniques may also include grouping the visible elements into at least first and second groups and determining types of elements within the first and second groups. The techniques also include, in response to detecting a match between the types of elements within the first and second groups, determining a similarity metric for the first and second groups based on the coordinates of determined bounding boxes within the first and second groups.
Abstract: Technologies are provided for synchronizing and joining multiple calls from a first thread and one or more second threads to execute a particular code segment. In response to a call from the first thread to execute the particular code segment, a task synchronizer module calls the particular code segment on behalf of the first thread. When execution of the particular code segment starts, and a call is received from a second thread to execute the particular code segment after receiving the call from the first thread, the task synchronizer module suspends execution of the particular code segment so that the second thread awaits for the execution of the particular code segment on behalf of the first thread to complete. When execution completes, a result value or exception is stored in a task object, and the second thread can read the result value or the exception.
Type:
Grant
Filed:
January 17, 2018
Date of Patent:
September 1, 2020
Assignee:
salesforce.com, inc.
Inventors:
Wesley Peter, Avi Brenner, Justin Horst
Abstract: A method for data processing may include receiving a communication from a parent span, the communication including a data portion and a header portion. The header portion may include an identifier of an originating service that produced the communication, an identifier of a transaction for the communication, and an identifier of the parent span. The method may include identifying the parent span and the originating serviced based on the header portion. The method may also include performing a system trace process of the communication throughout the transaction based on the parent span and the originating service.
Abstract: The technology disclosed supports content collaboration between any number of users and systems by constructing WYSIWYG (What You See Is What You Get) outputs of changes proposed by the users to a shared live application or to a document such as code, text, or graphics. The technology disclosed allows authors to update consumer facing content instantaneously based on walkthrough feedback from other contributors or coauthors. Further, the authors, without requiring technical expertise of a developer, can immediately see the consequences of incorporating changes suggested by the contributing authors, based on the WYSIWYG outputs of the changes proposed by the authors.
Abstract: Automated query tuning. A database query to be executed against a database is received. The database query is analyzed to determine one or more potential indexes to be evaluated. The one or more potential indexes are evaluated to determine if an optimization utilizing a selected potential index provides improved performance over performing the database query without the selected potential index. The one or more potential indexes are scored based on results of the evaluating. A recommendation of one or more of the potential indexes is provided to a source of the database query.
Abstract: Systems and techniques for servicing requests in an environment having multiple application servers each having one or more queues to store indications of requests to be serviced by the application servers. A utilization level is determined for a first application server of the multiple application servers. The utilization level is compared to a pre-selected utilization threshold level. The system determines whether to service requests allocated to other application servers in response to the comparing. At least one request allocated to a second application server for servicing.
Type:
Grant
Filed:
July 21, 2015
Date of Patent:
September 1, 2020
Assignee:
salesforce.com, inc.
Inventors:
Ronald Yang, Vijayanth Devadhar, Manoj Cheenath
Abstract: The foregoing are among the objects attained by the invention, which provides, in some aspects, digital data processing methods for generation of customized user interfaces that present links, images or other components representing items of interest to a user in an order that is prioritized as a function of (a) representations in a multidimensional factor space of characteristics of the respective items, and (b) representations in that same multidimensional space of characteristics of “context-indicative items”—e.g., items in which the user has previously shown an interest, as indicated by clicks or other interactions with those items respective components in the user interface.
Type:
Grant
Filed:
June 14, 2016
Date of Patent:
September 1, 2020
Assignee:
salesforce.com, inc.
Inventors:
Bharath K. Krishnan, Rene Borm, Joshua Correa, Rene Kessler, Peter Koch, Vishwamitra S. Ramakrishnan
Abstract: Methods, systems, and devices for asynchronous deletion at a non-relational database are described. The non-relational database may store a set of data object associations. The non-relational database may receive a read request indicating a first data object identifier. Based on the first data object identifier indicated in the read request, the non-relational database may identify a second data object identifier according to a first data object association of the stored set of data object associations that is indexed in the non-relational database with the first data object identifier. The non-relational database may determine that a last data entry that is indexed in the non-relational database with the identified second data object identifier and is associated with the first data object identifier has been deleted from the non-relational database. The non-relational database may delete the first data object association from the non-relational database.
Abstract: Techniques are disclosed relating to providing interactive feedback based on changes in search parameters. A computing system may receive user input specifying adjustment of a relevancy parameter from a first value to a modified value. The relevancy parameter may be usable to determine ordering of results for search queries. In response to the input, the system may cause information to be displayed that indicates a value of a search metric, and the value may be based on one or more prior search queries using the adjusted relevancy parameter. The system may additionally or alternatively cause first and second sets of ordered search results to be displayed, where the first set is based on the first value of the relevancy parameter and the second set is based on the modified value of the relevancy parameter.
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:
July 9, 2018
Date of Patent:
September 1, 2020
Assignee:
salesforce.com, inc.
Inventors:
William Charles Mortimore, Jr., Sergio Isaac Koren, Paul Anthony Mason, Alan Vangpat
Abstract: An intelligent transcription and automated record generation system and method are provided in which a record identification module can identify, based on call data from a video call, a record in a customer relationship management (CRM) database that is relevant to the video call. An image recognition and video extraction module can process a video stream that includes video information from the video call to extract relevant portions of the video information that are relevant to the record as extracted video information. A record updater module can automatically modify the record at the CRM database to include at least part of the extracted video information as part of the record.
Abstract: In some embodiments, a server node may transmit metrics to a client piggy-backed on (appended to) responses to regular read/write requests. Other embodiments may be disclosed and/or claimed.
Abstract: In various embodiments, a method of verifying a multi-factor administrator action may be performed. The method may include receiving, from a first user, an authentication request that indicates a requested access, where the first user has administrative privileges to perform the requested access. The method may further include identifying a second user that has administrative privileges to approve the requested access. A verification request may be to the second user. In response to receiving an approval message from the second user within a particular amount of time, an authentication response that indicates that the first user is authorized to perform the requested access may be sent to the first user.
Type:
Grant
Filed:
January 30, 2018
Date of Patent:
August 25, 2020
Assignee:
salesforce.com, inc.
Inventors:
Arastun Efendiyev, Daniel Thomas Harrison, Jeffrey DiMuro
Abstract: The technology disclosed offers a declarative and visualization framework that implements a state machine for multi-step progression of interaction with an entity. The declarative framework is usable over and over for a broad range of applications because it provides a simple rule-based authoring tool that can be used for specifying different elements and components of a complex state machine, including state definitions, state transition triggers, state transition conditions and state transition actions. Once defined, the state machine is automatically generated and visually implemented based on the declarative input provided by a non-technical user.
Type:
Grant
Filed:
November 3, 2015
Date of Patent:
August 25, 2020
Assignee:
salesforce.com, inc.
Inventors:
Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Arthur Ping-Tak Che, Tiffany Joy Chin, Amy Kar Sin Poon
Abstract: Techniques are disclosed relating to establishing routes to access services executing on host computer systems. In some embodiments, a computing system receives a request to distribute routing data for a first service to switches of a plurality of host computer systems. The first service is one of a plurality of services belonging to a plurality of tenants supported by the plurality of host computer systems. The computing system analyzes the routing data to determine whether distribution of the routing data is in accordance with a set of criteria established for a first tenant associated with the first service. Based on the analyzing, the computing system permits communication of the routing data via one or more border gateway protocol (BGP) update messages to the switches.