Patents by Inventor Dhananjay Prasanna

Dhananjay Prasanna 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: 10901981
    Abstract: A data concurrency module maintains a delta chain for each record that stores the edits made to the flexible record over time. The delta chain stores the edits ordered by a version identifier. When the data concurrency module receives an edit to a record, the data concurrency module compares the version identifier associated with the edit with the most recent version identifier stored in the delta chain for that flexible record. If the version identifiers are different, then the data concurrency module merges the edit with all intervening edits in the delta chain, resolving any conflicts that result from the merging.
    Type: Grant
    Filed: January 3, 2019
    Date of Patent: January 26, 2021
    Assignee: Tact.ai Technologies, Inc.
    Inventors: Dhananjay Prasanna, Premnath Parameswaran
  • Publication number: 20190138515
    Abstract: A data concurrency module maintains a delta chain for each record that stores the edits made to the flexible record over time. The delta chain stores the edits ordered by a version identifier. When the data concurrency module receives an edit to a record, the data concurrency module compares the version identifier associated with the edit with the most recent version identifier stored in the delta chain for that flexible record. If the version identifiers are different, then the data concurrency module merges the edit with all intervening edits in the delta chain, resolving any conflicts that result from the merging.
    Type: Application
    Filed: January 3, 2019
    Publication date: May 9, 2019
    Inventors: Dhananjay Prasanna, Premnath Parameswaran
  • Patent number: 10198468
    Abstract: A data concurrency module maintains a delta chain for each record that stores the edits made to the flexible record over time. The delta chain stores the edits ordered by a version identifier. When the data concurrency module receives an edit to a record, the data concurrency module compares the version identifier associated with the edit with the most recent version identifier stored in the delta chain for that flexible record. If the version identifiers are different, then the data concurrency module merges the edit with all intervening edits in the delta chain, resolving any conflicts that result from the merging.
    Type: Grant
    Filed: April 6, 2016
    Date of Patent: February 5, 2019
    Assignee: TACT.AI TECHNOLOGIES, INC.
    Inventors: Dhananjay Prasanna, Premnath Parameswaran
  • Patent number: 10133801
    Abstract: A system and a method are disclosed for generating a repository to be used on a client device. The repository is generated based on a repository format supported by the client device, which is identified by analyzing an empty repository created by the client device. The generated repository is configured with metadata that allows an operating system executing on the client device to communicate with the repository. Once generated, the repository is populated with data associated with a user of the client device. The populated repository is transmitted to the client device, where the repository is used by applications for retrieving and storing data.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: November 20, 2018
    Assignee: TACT.AI TECHNOLOGIES, INC.
    Inventors: Dhananjay Prasanna, Premnath Parameswaran, Kurtis L. Seebaldt, Kevin Lynn Smith
  • Patent number: 9952898
    Abstract: A system and method are disclosed for managing the execution of tasks. Each task in a first set of tasks included in a pipeline is queued for parallel execution. The execution of the tasks is monitored by a dispatching engine. When a particular task that specifies a next set of tasks in the pipeline to be executed has completed, the dispatching engine determines whether the next set of tasks can be executed before the remaining tasks in the first set of tasks have completed. When the next set of tasks can be executed before the remaining tasks have completed, the next set of tasks is queued for parallel execution. When the next set of tasks cannot be executed before the remaining tasks have completed, the next set of tasks is queued for parallel execution only after the remaining tasks have completed.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: April 24, 2018
    Assignee: Tact.ai Technologies, Inc.
    Inventor: Dhananjay Prasanna
  • Patent number: 9767126
    Abstract: A system and method are disclosed for persisting data received from disparate data sources having different internal schemas. In operation, a data processing engine aggregates related data received from the different data sources and organizes the aggregated data into flexible records. A flexible record is a composite of associated fields aggregated from a set of records received from one or more data sources. Each field associated with a flexible record includes data received from a particular data source and specifies the particular data source as the source of the data. Flexible records are stored in a storage repository, and each flexible record is associated with at least one user who accesses data via a client device.
    Type: Grant
    Filed: August 17, 2016
    Date of Patent: September 19, 2017
    Assignee: Tactile, Inc.
    Inventors: Dhananjay Prasanna, Matthew Kent, Kyle Glendon Shank, Kurtis L. Seebaldt
  • Publication number: 20170004150
    Abstract: A system and method are disclosed for persisting data received from disparate data sources having different internal schemas. In operation, a data processing engine aggregates related data received from the different data sources and organizes the aggregated data into flexible records. A flexible record is a composite of associated fields aggregated from a set of records received from one or more data sources. Each field associated with a flexible record includes data received from a particular data source and specifies the particular data source as the source of the data. Flexible records are stored in a storage repository, and each flexible record is associated with at least one user who accesses data via a client device.
    Type: Application
    Filed: August 17, 2016
    Publication date: January 5, 2017
    Inventors: Dhananjay Prasanna, Matthew Kent, Kyle Glendon Shank, Kurtis L. Seebaldt
  • Publication number: 20160299916
    Abstract: A data concurrency module maintains a delta chain for each record that stores the edits made to the flexible record over time. The delta chain stores the edits ordered by a version identifier. When the data concurrency module receives an edit to a record, the data concurrency module compares the version identifier associated with the edit with the most recent version identifier stored in the delta chain for that flexible record. If the version identifiers are different, then the data concurrency module merges the edit with all intervening edits in the delta chain, resolving any conflicts that result from the merging.
    Type: Application
    Filed: April 6, 2016
    Publication date: October 13, 2016
    Inventors: Dhananjay Prasanna, Premnath Parameswaran
  • Patent number: 9449061
    Abstract: A system and method are disclosed for persisting data received from disparate data sources having different internal schemas. In operation, a data processing engine aggregates related data received from the different data sources and organizes the aggregated data into flexible records. A flexible record is a composite of associated fields aggregated from a set of records received from one or more data sources. Each field associated with a flexible record includes data received from a particular data source and specifies the particular data source as the source of the data. Flexible records are stored in a storage repository, and each flexible record is associated with at least one user who accesses data via a client device.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: September 20, 2016
    Assignee: Tactile, Inc.
    Inventors: Dhananjay Prasanna, Matthew Kent, Kyle Glendon Shank, Kurtis L. Seebaldt
  • Patent number: 9424330
    Abstract: A system and a method are disclosed for identifying a particular database shard associated with a given user. Each user is assigned a shard level that corresponds to a set of database shards that were active within a database management system when the user first joined the data management system. When a data request associated with a given user is received, the shard level assigned to the user identifies the database shard in the database management system that stores data associated with the user. The data request is thus processed using the identified database shard.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: August 23, 2016
    Assignee: Tactile, Inc.
    Inventor: Dhananjay Prasanna
  • Publication number: 20140280276
    Abstract: A system and a method are disclosed for identifying a particular database shard associated with a given user. Each user is assigned a shard level that corresponds to a set of database shards that were active within a database management system when the user first joined the data management system. When a data request associated with a given user is received, the shard level assigned to the user identifies the database shard in the database management system that stores data associated with the user. The data request is thus processed using the identified database shard.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 18, 2014
    Applicant: Tactile, Inc.
    Inventor: Dhananjay Prasanna
  • Publication number: 20140279876
    Abstract: A system and method are disclosed for persisting data received from disparate data sources having different internal schemas. In operation, a data processing engine aggregates related data received from the different data sources and organizes the aggregated data into flexible records. A flexible record is a composite of associated fields aggregated from a set of records received from one or more data sources. Each field associated with a flexible record includes data received from a particular data source and specifies the particular data source as the source of the data. Flexible records are stored in a storage repository, and each flexible record is associated with at least one user who accesses data via a client device.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 18, 2014
    Applicant: Tactile, Inc.
    Inventors: Dhananjay Prasanna, Matthew Kent, Kyle Glendon Shank, Kurtis L. Seebaldt
  • Publication number: 20140282570
    Abstract: A system and method are disclosed for managing the execution of tasks. Each task in a first set of tasks included in a pipeline is queued for parallel execution. The execution of the tasks is monitored by a dispatching engine. When a particular task that specifies a next set of tasks in the pipeline to be executed has completed, the dispatching engine determines whether the next set of tasks can be executed before the remaining tasks in the first set of tasks have completed. When the next set of tasks can be executed before the remaining tasks have completed, the next set of tasks is queued for parallel execution. When the next set of tasks cannot be executed before the remaining tasks have completed, the next set of tasks is queued for parallel execution only after the remaining tasks have completed.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 18, 2014
    Applicant: Tactile, Inc.
    Inventor: Dhananjay Prasanna
  • Publication number: 20140279910
    Abstract: A system and a method are disclosed for generating a repository to be used on a client device. The repository is generated based on a repository format supported by the client device, which is identified by analyzing an empty repository created by the client device. The generated repository is configured with metadata that allows an operating system executing on the client device to communicate with the repository. Once generated, the repository is populated with data associated with a user of the client device. The populated repository is transmitted to the client device, where the repository is used by applications for retrieving and storing data.
    Type: Application
    Filed: March 13, 2014
    Publication date: September 18, 2014
    Applicant: Tactile, Inc.
    Inventors: Dhananjay Prasanna, Premnath Parameswaran, Kurtis L. Seebaldt, Kevin Lynn Smith