Patents Assigned to salesforce.com, inc.
  • Publication number: 20200120072
    Abstract: Client fingerprints can be used to detect and defend against malware and hacking into information systems more effectively than using IP addresses. A unique client fingerprint can be based on data found in the client's SSL client hello packet. SSL version, cipher suites, and other fields of the packet can be utilized, preferably utilizing individual field values in the order in which they appear in the packet. The ordered values are converted to decimal values, separated by delimiters, and concatenated to form an identifier string. The identifier string may be mapped, preferably by a hash function, to form the client fingerprint. The client fingerprint may be logged, and whitelists and blacklists may be formed using client fingerprints so formed.
    Type: Application
    Filed: December 9, 2019
    Publication date: April 16, 2020
    Applicant: salesforce.com, inc.
    Inventors: John Brooke ALTHOUSE, Jeffery S. ATKINSON, Joshua ATKINS
  • Patent number: 10621238
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for storing documents that are being tracked in an on-demand service. These mechanisms and methods for storing documents in an on-demand service can enable embodiments to provide the sharing of documents and the storing of the documents in association with a tag. The ability of embodiments to provide the sharing of documents and the storing can enable an efficient searching for a shared document. In an embodiment, the shared document is categorized upon being stored.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: April 14, 2020
    Assignee: SALESFORCE.COM, INC.
    Inventors: Timothy J. Barker, Ryan Lissack, Daniel L. Pletter
  • Patent number: 10620816
    Abstract: Provided are techniques for displaying, on a display, a scrollable list of items. In an example, items to be displayed are grouped in pages in buffers. Items to be rendered are selected to be rendered by a scroll input. Items in a current buffer are rendered. Items in no more than one buffer are rendered at a time. An actual height, in pixels, of each of the pages grouped in the current buffer is calculated and the result is stored. A respective estimate of a height, in pixels, of pages grouped in buffers other than the current buffer is determined. A total height of all pages is calculated from the calculated actual height or estimated height of each respective page. A scroll bar's slider is rendered, with the scroll bar slider's size based on the total height.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventor: Colin Casey
  • Patent number: 10621071
    Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. In some implementations, the original tenant is an original sandbox tenant, and the sandbox tenant is at least one new sandbox tenant.
    Type: Grant
    Filed: September 17, 2018
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jameison Bear Martin, Subho Sanjay Chatterjee, Patrick James Helland, Nathaniel Wyatt, Thomas Fanghaenel, Terry Chong, Robert Frankus, Simon Wong
  • Patent number: 10621372
    Abstract: Systems and methods are provided for generating database access objects. Metadata associated with a database table is retrieved. The metadata includes a table name, column names, foreign key information, and/or primary key information. Objects are generated. Each object is associated with a corresponding row in the database table and includes fields associated with a corresponding column in the database table. A database access object is generated based on the metadata. The database access object includes relational database code to access data associated with the objects. The database access object is modified. Data associated with an object is accessed based on the modified database access object.
    Type: Grant
    Filed: April 10, 2013
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventors: Oleksandr Khimich, Craig Howland, Pawan Nachnani, Fang Wong, Lei Ming
  • Patent number: 10621207
    Abstract: A learning system is provided to improve the speed of queries in a relational database management system. The learning system may include a query pipeline which utilizes a transform generator and a transform engine to transform uncommitted data corresponding to slow queries, and a query multiplexer to query primary keys of uncommitted data and committed data if the query has been improved by an existing transform.
    Type: Grant
    Filed: April 26, 2016
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventors: William Victor Gray, Jan Asita Fernando
  • Patent number: 10620935
    Abstract: Techniques are disclosed relating to database techniques for storing metadata for web applications. In some embodiments, a server computer system may operate a platform for executing one or more application modules that utilize one or more application components to implement an application. The server computer system may generate a first set of values indicative of versions of a first set of application modules specified by an application package stored on the server computer system for implementing the application. The server computer system may determine a second set of values indicative of versions of a second set of application modules specified by an updated application package for an upgrade of the application. The server computer system disables application components associated with application modules specified in the first, but not the second, set of values.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: April 14, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jeffrey Michael Bartolotta, James B. Wunderlich, Dileep Burki
  • Patent number: 10616352
    Abstract: Integrating third-party vendors' APIs is described. A system identifies a current call from a client computing system to an API associated with a third-party vendor, the current call including a configuration file for calling the API. The system determines whether a previous call was made to the API. The system determines whether part of the configuration file in the current call matches a corresponding part of a configuration file in the previous call, in response to a determination that a previous call was made to the API. The system uses a previously parsed configuration set, associated with the part of the configuration file in the current call, to configure a request in the current call and/or a response to the current call, in response to a determination that the configuration file in the current call matches the configuration file in the previous call.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Kavitha Elangovan, Prabhjot Singh, Dmytro Kudriavtsev
  • Patent number: 10614393
    Abstract: Associating job responsibilities with job titles is described. A database system identifies a job level and a job department associated with a job title stored by an object. The database system identifies level-based job responsibilities associated with the job level. The database system identifies department-based job responsibilities associated with the job department. The database system identifies at least one job responsibility associated with the job title based on the level-based job responsibilities and the department-based job responsibilities. The database system stores each identified job responsibility in metadata and/or a field associated with the object. The database system outputs a message based on the object to a user device, in response to a search that specifies any identified job responsibility.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Arun Kumar Jagota, Govardana Sachithanandam Ramachandran, Hawro Mustafa
  • Patent number: 10614362
    Abstract: Systems, device and techniques are disclosed for outlier discovery system selection. A set of time series data including time series data objects may be received. A sample of time series data objects may be extracted from the time series data. The sample of time series data objects may be decomposed into sub-components. Statistical classification may be used to select an outlier discovery system based on the sub-components. A neural network may be used to select an outlier discovery system based on the sub-components. A level of error of the neural network may be determined based on a comparison of the outlier discovery system selection made using statistical classification and the outlier discovery system selection made by the neural network. Weight of the neural network may be updated based on the level of error of the neural network.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Ajay Krishna Borra, Manpreet Singh
  • Patent number: 10616230
    Abstract: Managing authorization tokens for calling third-party vendors is described. A system identifies a current call from a client computing system to an API associated with a third-party vendor, the call including a configuration file for calling the API. The system determines, in response to a determination that a previous call was made to the API, whether a previous call was made to the API and whether a part of the configuration file in the current call matches a corresponding configuration file in the previous call. The system enables the API to authorize the current call by sending a copy of a previous authorization token to the client computing system, in response to a determination that the part of the configuration file in the current call matches the corresponding part of the configuration file in the previous call, the previous authorization being previously received from the API for the previous call.
    Type: Grant
    Filed: January 23, 2018
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Prabhjot Singh, Kavitha Elangovan, Dmytro Kudriavtsev
  • Patent number: 10613709
    Abstract: Disclosed are some implementations of systems, apparatus, methods and computer program products for facilitating the management of assessment environments in an eLearning environment. A user may switch between assessment environments by selecting from a menu of selectable assessment environments. Educational content may be presented within a context of a selected assessment environment and assessment tasks may be completed within the context of the selected assessment environment.
    Type: Grant
    Filed: May 11, 2017
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Samantha Ready, Douglas Bitting, Martin Meyer, Ashish Upadhyay, Adam Purkiss, Tyler Montgomery
  • Patent number: 10614061
    Abstract: An online system stores objects that may be accessed by users. The online system also stores indexes of terms related to different entity types of objects. When a user provides a search query, the online system compares the search terms with terms stored in the indexes. Based on the comparisons, the online system determines term features for entity types associated with an index. The online system provides the term features as inputs to a machine learning model. The machine learning model outputs a score for each entity type indicating a likelihood that the search query is for an object associated with the entity type. The machine learning model output is used by the online system to select one or more entity types that the user is likely searching for. The online system offers objects of the likely entity types to the user as results of the search query.
    Type: Grant
    Filed: June 28, 2017
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Guillaume Kempf, Marc Brette, Naren M. Chittar, Anuprit Kale, Yasaman Mohsenin, Pranshu Sharma
  • Patent number: 10616079
    Abstract: The technology disclosed offers a declarative framework that implements a 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 implemented based on the declarative input provided by a non-technical user.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: April 7, 2020
    Assignee: salesforce.com, inc.
    Inventors: Andrew Layman, Eric Hauser, Matthew John Fleckenstein, Tatyana Mamut, Adam Bosworth
  • Patent number: 10609119
    Abstract: Network traffic data associated with data requests to computer applications based on static policies is collected. An optimization order is established among network parameters. A first network parameter of a higher rank in the optimization order is estimated based on the collected network traffic data before one or more other network parameters of lower ranks are estimated. Optimal values for the other network parameters are estimated based at least in part on the estimated first optimal value for the first network parameter. The estimated first optimal value of the first network parameter and the estimated optimal values for the other network parameters are propagated to be used by user devices to make new data requests to the computer applications.
    Type: Grant
    Filed: November 3, 2017
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Tejaswini Ganapathi, Satish Raghunath, Kartikeya Chandrayana, Shauli Gal
  • Patent number: 10606711
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 10606910
    Abstract: An online system identifies and ranks records using multiple machine learning models in response to a search query. Therefore, the online system can provide selected records that are of the most relevance to a user of a client device that provided the search query. More specifically, the online system applies a first machine learning model that is of low complexity, such as a regression model. Therefore, the first machine learning model can quickly narrow down the large number of records of the online system to a first set of candidate records. The online system analyzes candidate records in the first set by applying a more complex, second machine learning model that more accurately determines records of interest for the user. In various embodiments, the online system can apply subsequent machine learning models of higher complexity for selecting and ranking records for provision to the client device.
    Type: Grant
    Filed: October 11, 2017
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Jayesh Govindarajan, Nicholas Beng Tek Geh, Francisco Borges, Ammar Haris
  • Patent number: 10606576
    Abstract: Disclosed herein are system, method, and computer program product embodiments for providing a developer console to customizable live applications in a cloud collaboration platform. The developer console may support the software development lifecycle for third-party live applications deployed in the cloud collaboration platform in a myriad of fashions. The developer console may vet live applications prior to deployment, provide release and version control mechanisms, and offer a range of configuration options to control third-party live applications. The developer console may provide an initial bundle to developers that include supporting functions and modules enabling the developer to run a development environment on a local server as a local platform. A developer console may allow developers to configure access to third-party data sources that may be harnessed by a live application.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Julie Tung, Rajeev Nayak, Kevin Gibbs, Bret Taylor, Yang Su, Nate Botwick, Diana Berlin, Pedram Razavi, Scott Goodfriend, Nikrad Mahdi, Andy Chung, Drew Hamlin, Patrick Linehan, Sophia Westwood, Lindsey Simon, Shrey Banga, Dave Engelberg, Dan Willhite
  • Patent number: 10608961
    Abstract: Techniques are disclosed relating to handling queues. A server-based platform, in some embodiments, accesses queue information that includes performance attributes for a plurality of queues storing one or more messages corresponding to one or more applications. In some embodiments, the platform assigns, based on the performance attributes, a corresponding set of the plurality of queues to each of a plurality of processing nodes of the platform. In some embodiments, the assigning of a corresponding set of queues to a given one of the plurality of processing nodes causes instantiation of: a first set of one or more dequeuing threads and a second set of one or more processing threads. The dequeuing threads may be executable to dequeue one or more messages stored in the corresponding set of queues. The processing threads may be executable to perform one or more tasks specified in the dequeued one or more messages.
    Type: Grant
    Filed: May 8, 2018
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Helen Kwong, Benjamin Busjaeger
  • Patent number: D879833
    Type: Grant
    Filed: September 24, 2018
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: David Klein, Victor Nikolai Carunungan Oliveros