Patents by Inventor Jan Asita Fernando

Jan Asita Fernando 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: 10579692
    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: Grant
    Filed: September 27, 2017
    Date of Patent: March 3, 2020
    Assignee: salesforce.com, inc.
    Inventors: Eli Levine, Samarpan Jain, James Ferguson, Jan Asita Fernando
  • Publication number: 20190325039
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may determine characteristics of a data store and determine whether the information provided within the data structure provides an efficient identification of the data to be deleted. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • Patent number: 10380094
    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: Grant
    Filed: September 30, 2016
    Date of Patent: August 13, 2019
    Assignee: salesforce.com, inc.
    Inventors: Alex Warshavsky, Adam Torman, Eli Levine, Jan Asita Fernando, Samarpan Jain
  • Publication number: 20190236198
    Abstract: Disclosed are examples of systems, apparatus, methods and computer program products for deleting data of an object within a multi-tenant database. Described is a mechanism for performing operations such as an efficient delete operation by introducing a new delete operation (or method) that is configured to allow a data structure such as an object to identify one or more records to be deleted. In order to ensure that the operation is efficient, the mechanism may perform a validation of the values provided to the delete operation based on the type of data store used for storing the records. For example, the validation may ensure that the values provided to the method correspond to a composite primary key when records are stored in a non-relational data store. Upon a successful validation, an initial delete request may be translated to an appropriate delete operation for the underlying database.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Jan Asita Fernando, Cody Marcel, Sahil Ramrakhyani, Samarpan Jain, Brian Esserlieu, James Ferguson, Saikiran Perumala, Charles Fineman, Jay Hurst, Seshank Kalvala
  • 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: 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: 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: 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
  • 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: 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: 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: 20170308604
    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: Application
    Filed: April 26, 2016
    Publication date: October 26, 2017
    Inventors: William Victor Gray, Jan Asita Fernando
  • Patent number: D750644
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: March 1, 2016
    Assignee: salesforce.com, inc.
    Inventors: Sahil Bhutani, Jan Asita Fernando, Arthur Ping-Tak Che