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).

  • 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: 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: 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: 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: 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
  • 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: 20180025113
    Abstract: Disclosed are some examples of database systems, methods, and computer program products for run-time schema for event records. In some implementations, event records satisfying a query can be identified. Attribute-value pairs of data of those identified event records can be stored in an unstructured data field of an event record.
    Type: Application
    Filed: July 25, 2016
    Publication date: January 25, 2018
    Inventors: Adam Torman, Abhishek Bangalore Sreenivasa, Aakash Pradeep, Ivan Daya Weiss, Soumen Bandyopadhyay, Alex Warshavsky, Samarpan Jain
  • Publication number: 20170293632
    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: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Aakash Pradeep, Abhishek Bangalore Sreenivasa, Adam Torman, Alex Warshavsky, Ivan Daya Weiss, Samarpan Jain, Somesh Sasalatti, Soumen Bandyopadhyay, Choapet Oravivattanakul
  • Patent number: 9767040
    Abstract: In an example, a processing system of a database system may categorize event data taken from logged interactions of users with a multi-tenant information system to provide a metric. Event roll-up aggregate metrics used to provide the metric may be generated in connection with event capture. The processing system of the database system may periodically calculate the metric for a particular one of the tenants, and electronically store the periodically calculated metrics for accessing responsive to a query of the particular tenant.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: September 19, 2017
    Assignee: SALESFORCE.COM, INC.
    Inventors: Aakash Pradeep, Adam Torman, Samarpan Jain, Alex Warshavsky
  • Patent number: 9767022
    Abstract: A capture service running on an application server receives events from a client application running on an application server to be stored in a data store and stores the events in an in-memory bounded buffer on the application server, the in-memory bounded buffer comprising a plurality of single-threaded segments, the capture service to write events to each segment in parallel. The in-memory bounded buffer provides a notification to a buffer flush regulator when a number of events stored in the in-memory bounded buffer reaches a predefined limit. The in-memory bounded buffer receive a request to flush the events in the in-memory bounded buffer from a consumer executor service. The consumer executor service consumes the events in the in-memory bounded buffer using a dynamically sized thread pool of consumer threads to read the segments of the bounded buffer in parallel, wherein consuming the events comprises writing the events directly to the data store.
    Type: Grant
    Filed: August 12, 2016
    Date of Patent: September 19, 2017
    Inventors: Aakash Pradeep, Adam Torman, Alex Warshavsky, Samarpan Jain, Soumen Bandyopadhyay, Thomas William D'Silva, Abhishek Bangalore Sreenivasa
  • Publication number: 20170169195
    Abstract: Techniques and architectures for granular licensing in a computing environment having access to an app exchange that provides a listing of multiple apps available to a remote client electronic device in response to a download request. A registration request corresponding to a software package having multiple modules is received. A license definition is transmitted from the management entity. The license definition includes a license for one or more of the multiple modules. The software package and license definition are registered with the management entity, so that only authorized management entities can store license definitions or grant licenses. The license definitions are stored in a memory associated with the management entity. One or more licenses are transmitted to a client electronic device. The one or more licenses correspond to one or more of the multiple modules of the software package that the client electronic device is authorized to utilize.
    Type: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Inventors: Armand Glen LiSanti, Belinda Wong, Durgaprasad Guduguntla, James Morris, Jun Huang, Matthew Small, Saianitha Badrinath, Samarpan Jain, Si Wan Kim, Vijaya Natanni