Patents by Inventor Samarpan Jain

Samarpan Jain has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10275281
    Abstract: Disclosed are some examples of systems, methods, apparatus and computer program products for scheduling jobs to process log files. In some implementations, a scheduler can be configured to identify a final state of a previously scheduled first job as a failure in execution by one or more processors. For instance, the first job may have been defined to process a first input log file saved to a database during a first timeframe of a sequence of timeframes of a designated interval. The scheduler can detect a second input log file saved to the database. The scheduler can then define a second job to process the first input log file and the second input log file and schedule the second job in association with a second timeframe of the sequence.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: April 30, 2019
    Assignee: salesforce.com, inc.
    Inventors: Aakash Pradeep, Abhishek Sreenivasa, Adam Torman, Alex Warshavsky, Samarpan Jain, Soumen Bandyopadhyay
  • Publication number: 20190095532
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for providing run-time querying of muli-tenant non-relational database objects. A database system maintains a multi-tenant non-relational database associated with a number of enterprises, a number of records, and a number of data objects for each of the enterprises, each data object having at least one composite key field. A request is received during runtime to query data related to a data object, and the system determines that the data object is defined to be used in associated with a non-relational database. The system then retrieves a metadata model of the data object, determines that the request includes at least one composite key field for the data object, and processes the requery to query data in synchronous fashion. Finally, a query response is provided to the user.
    Type: Application
    Filed: September 27, 2017
    Publication date: March 28, 2019
    Inventors: Eli Levine, Samarpan Jain, James Ferguson, Jan Asita Fernando
  • Publication number: 20190095534
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for providing a web application builder framework in a database system. A database system maintains a multi-tenant non-relational database associated with a number of enterprises, a number of records, and a number of data objects for each of the enterprises. A dynamic virtual table is maintained as well, associated with the number of records and number of data objects. A user request is received to define a composite key for a data object. A metadata model is generated representing the data object, and a data definition script is generated. The dynamic virtual table is updated to include one or more virtual columns corresponding to the data definition script, and one or more columns of a shared table in the non-relational database are updated to match the virtual columns.
    Type: Application
    Filed: September 27, 2017
    Publication date: March 28, 2019
    Inventors: Eli Levine, Samarpan Jain, James Ferguson, Jan Asita Fernando
  • Publication number: 20190095260
    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: Application
    Filed: November 28, 2018
    Publication date: March 28, 2019
    Inventors: AAKASH PRADEEP, ADAM TORMAN, ALEX WARSHAVSKY, SAMARPAN JAIN
  • Publication number: 20190095533
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for providing application programming interface representation for multi-tenant non-relational database objects. A database system maintains a multi-tenant non-relational database associated with a number of enterprises, a number of records, and a number of data objects for each of the enterprises. A request is received from a user to retrieve a description of a data object from the number of data objects, and in response, the system determines that the data object is defined to be used in associated with a non-relational database, then retrieves a metadata model representing the data object. The system determines that at least one field of the data object is part of a composite key for the data object, then provides data object information to the user, including information about the composite key.
    Type: Application
    Filed: September 27, 2017
    Publication date: March 28, 2019
    Inventors: Eli Levine, Samarpan Jain, James Ferguson, Jan Asita Fernando
  • Publication number: 20190057101
    Abstract: Methods and systems are provided for deleting archive records from a distributed archive database system (DADS). A deletion job scheduler (DJS) can run deletion jobs on a regular basis. For example, the DJS can run a deletion job for archive records of a tenant that have a particular object type. The DJS can dynamically determine a deletion window that includes archive records within the DADS that are potentially eligible for deletion, and calculate an oldest allowable archive timestamp value based on a tenant-defined archive retention period for that tenant for that object type. The DJS can then query the DADS using index keys to retrieve archive records that are within the deletion window and belong to the tenant such that they are ordered from oldest to newest based on their respective created dates. The DJS can then identify which of those archive records have expired, and mark them for deletion.
    Type: Application
    Filed: August 21, 2017
    Publication date: February 21, 2019
    Applicant: salesforce.com, inc.
    Inventors: BRIAN D. ESSERLIEU, SAMARPAN JAIN, JAN ASITA FERNANDO, JAMES FERGUSON, CODY MARCEL
  • Publication number: 20190042573
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating rules-based synchronous query processing for large datasets in an on-demand services environment according to one embodiment. In one embodiment and by way of example, a method comprises detecting, by a rules-management server computing device, at least one of efficient classes and inefficient classes associated with a query, and designating a set of rules to the query, where one or more of the set of rules are designated to the query to prevent the inefficient classes from being processed or allow the query to fail fast. The method may further include executing the query without processing the inefficient classes such that results are generated within a predictable amount of time, where executing includes accessing contents of one or more portions of a database as identified by the set of rules, and transmitting the results in response to the query.
    Type: Application
    Filed: August 1, 2017
    Publication date: February 7, 2019
    Inventors: Cody Marcel, Eli Levine, Jan Asita Fernando, Brian Esserlieu, Samarpan Jain
  • Patent number: 10185603
    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: Grant
    Filed: April 5, 2018
    Date of Patent: January 22, 2019
    Assignee: salesforce.com, inc.
    Inventors: Aakash Pradeep, Adam Torman, Alex Warshavsky, Samarpan Jain
  • Patent number: 10178156
    Abstract: A database system captures custom information of a header section associated with a logged interaction of a user. The database system may receive a hypertext transfer protocol (http) message including the header section and determine whether the header section includes a predetermined data pattern associated with the custom information added by a second application that is different than a first application which initiated the http message. The database system may extract the custom information from the header section in response to determining that the header section includes the predetermined data pattern. The custom information and event data extracted from the logged interaction of the user may be stored on the database system as a storage element.
    Type: Grant
    Filed: April 16, 2015
    Date of Patent: January 8, 2019
    Assignee: SALESFORCE.COM, INC.
    Inventors: Aakash Pradeep, Adam Torman, Alex Warshavsky, Samarpan Jain, Soumen Bandyopadhyay, Thomas William D'Silva
  • Publication number: 20180322168
    Abstract: Systems, methods, and computer-readable media for asynchronous (async) querying are described. In embodiments, a system may convert a user-issued query into a distributed execution instruction set (DEIS), and issue the DEIS to data stores that may have various database structures. The system may obtain database objects from the data stores, and store a result set indicating the obtained database objects in a location specified by the user-issued query. The system may also provide mechanisms to allow users to view progress of their async query jobs and/or cancel ongoing async query jobs. Other embodiments may be described and/or claimed.
    Type: Application
    Filed: May 4, 2017
    Publication date: November 8, 2018
    Applicant: salesforce.com, Inc.
    Inventors: Eli LEVINE, Samarpan Jain, James Ferguson, Jan Asita Fernando, Bharadwaj Tanikella, Saikiran Perumala, Cody Marcel
  • Publication number: 20180293253
    Abstract: System parses fields in a log entry, corresponding to a system user event, to identify a log code for a first and second log entry types. System identifies a common schema for the first and second log entry types. System identifies a schema identifier by applying the common schema to the log entry. The schema identifier corresponds to a schema in a container for the first log entry type or a container for the second log entry type. The container for the first log entry type includes the common schema and a first schema that is specific to the first log entry type. The container for the second log entry type includes the common schema and a second schema that is specific to the second log entry type. System identifies log data by using the corresponding schema to parse fields in the log entry, and outputs the log data.
    Type: Application
    Filed: April 7, 2017
    Publication date: October 11, 2018
    Inventors: Choapet ORAVIVATTANAKUL, Alex WARSHAVSKY, Samarpan JAIN
  • Publication number: 20180293258
    Abstract: A system derives a first schema that is specific to a first log entry type associated with a log code, a second schema that is specific to a second log entry type associated with the log code, and a common schema for the first log entry type and the second log entry type. The system stores the first schema and the common schema in a container for the first log entry type, and the second schema and the common schema in a container for the second log entry type. The system identifies a schema identifier in a log entry corresponding to a system user event. The schema identifier corresponds to a schema in the container for the first log entry type or the container for the second log entry type. The system identifies log data by applying the corresponding schema to the log entry, and outputs the log data.
    Type: Application
    Filed: April 7, 2017
    Publication date: October 11, 2018
    Inventors: Choapet ORAVIVATTANAKUL, Alex WARSHAVSKY, Samarpan JAIN
  • 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: 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: 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
  • Publication number: 20180165309
    Abstract: Techniques and architectures for data ingestion in an environment having a distributed data storage system. A request to import data into the environment. The data to be imported from an external source through an application programming interface (API). The request is analyzed to determine if the request corresponds to a request to import a large data load. The data is staged if the request is for the large data load. Data management jobs are created to cause the data to be stored in one or more nodes of the distributed data storage system. The data management jobs are transmitted to corresponding nodes in the distributed data storage system. The jobs are executed asynchronously to cause the data to be stored in the nodes.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 14, 2018
    Inventors: Brian Jaffery TAJUDDIN, Samarpan JAIN, Reuben CORNEL, Siddhi MEHTA, Brian ESSERLIEU, Jan Asita FERNANDO, Jonathan Mark BRUCE, Jay HURST
  • Publication number: 20180096013
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for creating custom platform objects for a multi-tenant non-relational database environment. A database system maintains a multi-tenant non-relational database associated with multiple enterprises and a number of records for each of the enterprises. The system also maintains a dynamic virtual table associated with a number of records. A request is received from one of the enterprises to define a custom data object within the database system, uniquely associated with an enterprise. The request is processed, and a custom object is generated based on the request. The custom object defines database columns corresponding to the data object and the enterprise. The virtual table is updated to include virtual columns corresponding to the database column definitions, and existing columns of a shared table in the non-relational database are updated to match the virtual columns.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Alex Warshavsky, Adam Torman, Eli Levine, Jan Asita Fernando, Samarpan Jain
  • Publication number: 20180096165
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for dynamically provisioning a subset of a shared table or schema via access controls. A database system maintains a multi-tenant non-relational database associated with multiple enterprises, each with a number of records. The system also maintains a shared table in the multi-tenant non-relational database with a number of records. Permissions are identified for one or more of the enterprises with respect to columns of the shared table. A request is received to provision one or more columns of the shared table to an enterprise, with the request identifying a unique enterprise ID associated with the enterprise. The request is then processed, and the system modifies the permissions for the one or more provisioned columns of the shared table with respect to the unique enterprise ID associated with the enterprise.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Alex Warshavsky, Adam Torman, Eli Levine, Jan Asita Fernando, Samarpan Jain
  • Publication number: 20180096012
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for updating and managing multi-tenant non-relational database schemas. A database system maintains a multi-tenant non-relational database associated with multiple enterprises. A number of records are stored for each of the enterprises. The system also maintains a dynamic virtual table storing a number of records. A request is received from a user of the database system to define a data object within the database system. The request is processed, and an object script is generated based on the request, the object script defining one or more database columns in the database system that are associated with the data object. The dynamic virtual table is updated such that one or more virtual columns match the database column definitions in the object script. Existing columns of a shared table in the multi-tenant non-relational database are then updated to match the virtual columns in the dynamic virtual table.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Alex Warshavsky, Adam Torman, Eli Levine, Jan Asita Fernando, Samarpan Jain
  • Publication number: 20180095790
    Abstract: Disclosed are some examples of systems, methods, apparatus and computer program products for scheduling jobs to process log files. In some implementations, a scheduler can be configured to identify a final state of a previously scheduled first job as a failure in execution by one or more processors. For instance, the first job may have been defined to process a first input log file saved to a database during a first timeframe of a sequence of timeframes of a designated interval. The scheduler can detect a second input log file saved to the database. The scheduler can then define a second job to process the first input log file and the second input log file and schedule the second job in association with a second timeframe of the sequence.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Aakash Pradeep, Abhishek Sreenivasa, Adam Torman, Alex Warshavsky, Samarpan Jain, Soumen Bandyopadhyay