Patents by Inventor Dharma Shukla

Dharma Shukla 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: 9990184
    Abstract: A distributed component model for creating a scalable and available distributed application is disclosed. The distributed component model provides for an application schema to be declaratively defined to include a module having a component. The schema includes a corresponding definition construct in a technology agnostic manner. The corresponding definition construct is declaratively defined to include metadata to control scaling and availability.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: June 5, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Patent number: 9852133
    Abstract: Query models for document sets (such as XML documents or records in a relational database) typically involve a schema defining the structure of the documents. However, rigidly defined schemas often raise difficulties with document validation with even inconsequential structural variations. Additionally, queries developed against schema-constrained documents are often sensitive to structural details and variations that are not inconsequential to the query, resulting in inaccurate results and development complications, and that may break upon schema changes. Instead, query models for hierarchically structured documents that enable “twig” queries specifying only the structural details of document nodes that are relevant to the query (e.g., students in a student database having a sibling named “Lee” and a teacher named “Smith,” irrespective of unrelated structural details of the document).
    Type: Grant
    Filed: January 4, 2016
    Date of Patent: December 26, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Li Zhang, Mihai Dan Budiu, Yuan Yu
  • Publication number: 20170357498
    Abstract: The management of applications in a computing environment often involves a significant number of computing operations, such as acquiring the application, deploying data objects in various locations, and configuring the application with respect to the deployed device. Conventional computing environments may provide inadequate support throughout a typical application life cycle, especially for a computing environment distributed across many devices. Instead, the computing environment may be represented in a deployable object hierarchy that may be distributed to various devices. An application management service may therefore be provided to install representations of the application in the object hierarchy, and to support many other aspects of the application life cycle, such as application discovery, sharing, updating, and removal.
    Type: Application
    Filed: August 1, 2017
    Publication date: December 14, 2017
    Inventors: Ori Amiga, John Macintyre, Dharma Shukla, Junfeng Zhang
  • Patent number: 9836462
    Abstract: A document service may be provided by many document service packages, each presenting a particular set of service characteristics (e.g., the performance achievable on various storage device types; the available indexing models; and the types of transactions, scripts, and queries supported by the document service). For a particular project, an administrator may endeavor to select a document service package exhibiting characteristics that match some criteria of the project and to configure or adapt the document service for other criteria, but the range of adaptability for each document service package may be limited. Presented herein are architectures for document services involving a composable set of components respectively providing a service feature with a service characteristic.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: December 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Madhan Gajendran
  • Publication number: 20170318085
    Abstract: A server set may provide a document service to various clients in view of considerations such as availability, fault tolerance, flexibility, and performance. Presented herein are document service architectures that involve partitioning the document set into at least two document ranges, and assigning the respective document ranges to an agent that is deployed to at least one assigned server. A request to apply an operation to a selected document may be fulfilled by identifying the document range of the document; identifying a selected server of the server set that hosts the agent to which the range is assigned; and forwarding the request to the selected server. In some variations, servers may retain detailed information about neighboring servers (e.g., according to logical and/or physical proximity) and scant information about distant servers, thereby avoiding both the extensive information exchange of highly informed network architectures and the inefficiency of uninformed routing algorithms.
    Type: Application
    Filed: July 14, 2017
    Publication date: November 2, 2017
    Inventors: Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Karthik Raman, Mark Connolly Benvenuto, John Macintyre, Nemanja Matkovic, Constantin Dulu, Elisa Marie Flasko, Atul Katiyar
  • Patent number: 9778915
    Abstract: A method of creating an application definition for a distributed application is disclosed. Constructs corresponding with a schema of the distributed application are defined in a declarative and technology agnostic manner. The constructs include the application definition, a module definition, and a component definition. Each construct includes metadata.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: October 3, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Patent number: 9753712
    Abstract: The management of applications in a computing environment often involves a significant number of computing operations, such as acquiring the application, deploying data objects in various locations, and configuring the application with respect to the deployed device. Conventional computing environments may provide inadequate support throughout a typical application life cycle, especially for a computing environment distributed across many devices. Instead, the computing environment may be represented in a deployable object hierarchy that may be distributed to various devices. An application management service may therefore be provided to install representations of the application in the object hierarchy, and to support many other aspects of the application life cycle, such as application discovery, sharing, updating, and removal.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: September 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ori Amiga, John Macintyre, Dharma Shukla, Junfeng Zhang
  • Patent number: 9710233
    Abstract: Embodiments are directed to providing an application model for implementing composite applications and to providing a declarative programming model and distributed runtime for creating and executing composite applications. In an embodiment, a computer system instantiates an application model. The application model allows users to compose composite applications. The composite applications are configured to run on both distributed computing systems and local computing systems. The computer system receives user input at the instantiated application model. The user input indicates which composite application components are to be used in conjunction with each other to form the composite application. The computer system also provides the composite application on a distributed computing system and/or a local computing system.
    Type: Grant
    Filed: August 5, 2015
    Date of Patent: July 18, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Aditya Gopal Bhandarkar, Akash Jeevan Sagar, Asad Jawahar, Robert Brian Schmidt
  • Patent number: 9712608
    Abstract: A server set may provide a document service to one or more clients, and may be configured to do so in view of various considerations such as availability, fault tolerance, flexibility, and performance. Presented herein are document service architectures that involve partitioning the document set into at least two document ranges, and configuring respective servers of the server set to host one or more agents to which are respectively assigned one or more document ranges. A request for an operation involving at least one document may be routed to a server hosting an agent managing the document ranges of the documents involved in the operation. Moreover, respective servers may retain detailed information about neighboring servers (e.g., according to a logical or physical proximity) and scant information about distant servers, thereby avoiding both the extensive information exchange of highly informed network architectures and the inefficiency of uninformed routing algorithms.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 18, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Karthik Raman, Mark Connolly Benvenuto, John Macintyre, Nemanja Matkovic, Constantin Dulu, Elisa Marie Flasko, Atul Katiyar
  • Patent number: 9680964
    Abstract: An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: June 13, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 9465589
    Abstract: A method for of authoring and executing stateful components for a distributed application is disclosed. An application schema for the distributed application is declaratively defined and includes a plurality of distributed modules. Each module hosts a set of stateful components co-located in a physical tier of a distributed environment having logic to manipulate state. The runtime supports partitioning the stateful components. Control flow opaqueness of component logic is banished in each of the stateful components, which would otherwise occur if state was externalized.
    Type: Grant
    Filed: April 5, 2011
    Date of Patent: October 11, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Patent number: 9405474
    Abstract: A data store is configurable in terms of various tradeoffs including consistency and availability, among others. Consistency can be specified in terms of one of a myriad of configuration levels. Availability can be specified with respect to a maximum and minimum number of replicas or failure tolerance. In operation, one or more of write or read quorums can be automatically adjusted to ensure satisfaction of a specified configuration level in light of changes in the number of replicas.
    Type: Grant
    Filed: October 3, 2012
    Date of Patent: August 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Karthik Raman
  • Patent number: 9336060
    Abstract: A framework and middleware services for developing, deploying and managing composite applications is disclosed. The middleware services may be deployed on-premises or in the cloud. The framework includes a rich collection of middleware services, an application model to compose services into a composite application, a high-density multi-tenant scalable container to host the composition logic, and unified lifecycle management of the composite application and its constituent services.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: May 10, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Anil K. Nori, Dharma Shukla, Yann Christensen, Murali Krishnaprasad, Igor Sedukhin
  • Patent number: 9332063
    Abstract: Within a computing environment, an application may run in a variety of contexts, e.g., as a natively executable application, as a client-side interpretable application embedded in a web browser, or as a server-side application that communicates with the user through a web interface presented on a device. The application may also access resources of the computing environment stored on multiple devices. The configuration of the application to operate equivalently in these diverse environments may be facilitated by representing the application within an object hierarchy representing the computing environment. The application may be configured to operate on the objects of the object hierarchy regardless of the location of the stored objects, to execute on any device, and to execute upon a standard set of application programming interfaces. The configuration of the application in this manner promotes the versatility of the application in operating equivalently in different programming contexts.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: May 3, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Dharma Shukla
  • Publication number: 20160117320
    Abstract: Query models for document sets (such as XML documents or records in a relational database) typically involve a schema defining the structure of the documents. However, rigidly defined schemas often raise difficulties with document validation with even inconsequential structural variations. Additionally, queries developed against schema-constrained documents are often sensitive to structural details and variations that are not inconsequential to the query, resulting in inaccurate results and development complications, and that may break upon schema changes. Instead, query models for hierarchically structured documents that enable “twig” queries specifying only the structural details of document nodes that are relevant to the query (e.g., students in a student database having a sibling named “Lee” and a teacher named “Smith,” irrespective of unrelated structural details of the document).
    Type: Application
    Filed: January 4, 2016
    Publication date: April 28, 2016
    Inventors: Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Li Zhang, Mihai Dan Budiu, Yuan Yu
  • Patent number: 9298747
    Abstract: The diverse objects comprising a computing environment may be represented together as a deployable object hierarchy, which may facilitate the deployment, as well as the consistency, of a computing environment rendered by a plurality of devices. The processes within the computing environment often operate on the objects of the object hierarchy in a variety of ways, including simple operations (creation, reading, updating, and deleting) and more sophisticated operations (synchronizing, paginating, and caching), as well as with the object hierarchy in general. A platform may be devised to facilitate the various operations of the processes on the object hierarchy. The platform may be embodied, such as in an application runtime, and deployed to a variety of platforms to facilitate an equivalent execution of the processes on any type of device and consistent interactions with the object hierarchy.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: March 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Perraju Bendapudi
  • Publication number: 20160019030
    Abstract: Embodiments are directed to providing an application model for implementing composite applications and to providing a declarative programming model and distributed runtime for creating and executing composite applications. In an embodiment, a computer system instantiates an application model. The application model allows users to compose composite applications. The composite applications are configured to run on both distributed computing systems and local computing systems. The computer system receives user input at the instantiated application model. The user input indicates which composite application components are to be used in conjunction with each other to form the composite application. The computer system also provides the composite application on a distributed computing system and/or a local computing system.
    Type: Application
    Filed: August 5, 2015
    Publication date: January 21, 2016
    Inventors: Dharma Shukla, Aditya Gopal Bhandarkar, Akash Jeevan Sagar, Asad Jawahar, Robert Brian Schmidt
  • Patent number: 9230040
    Abstract: Query models for document sets (such as XML documents or records in a relational database) typically involve a schema defining the structure of the documents. However, rigidly defined schemas often raise difficulties with document validation with even inconsequential structural variations. Additionally, queries developed against schema-constrained documents are often sensitive to structural details and variations that are not inconsequential to the query, resulting in inaccurate results and development complications, and that may break upon schema changes. Instead, query models for hierarchically structured documents that enable “twig” queries specifying only the structural details of document nodes that are relevant to the query (e.g., students in a student database having a sibling named “Lee” and a teacher named “Smith,” irrespective of unrelated structural details of the document).
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Madhan Gajendran, Quetzalcoatl Bradley, Shireesh Kumar Thota, Li Zhang, Mihai Dan Budiu, Yuan Yu
  • Patent number: 9128803
    Abstract: Embodiments are directed to providing an application model for implementing composite applications and to providing a declarative programming model and distributed runtime for creating and executing composite applications. In an embodiment, a computer system instantiates an application model. The application model allows users to compose composite applications. The composite applications are configured to run on both distributed computing systems and local computing systems. The computer system receives user input at the instantiated application model. The user input indicates which composite application components are to be used in conjunction with each other to form the composite application. The computer system also provides the composite application on a distributed computing system and/or a local computing system.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: September 8, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Aditya Gopal Bhandarkar, Akash Jeevan Sagar, Asad Jawahar, Robert Brian Schmidt
  • Publication number: 20150046519
    Abstract: A computer user may use a computing environment comprising a set of computers that respectively feature a web browser having a browser cache containing many types of data objects, including application resources and user-generated data files. However, the contents of a browser cache significantly contribute to the computing environment of a computer, and the computing environments presented by each computer may diverge, providing an inconsistent computing environment. Instead, the contents of browser caches of the computers comprising the computing environment may be synchronized across computers. Additionally, the browser cache may be synchronized with the other data objects of a computing environment (such as relevant portions of the filesystem); the synchronizing may be implemented as an out-of-browser process executing independently of the applications, and even when the browser is not executing; and the synchronization may be exposed through a programmatic access with which web applications may interact.
    Type: Application
    Filed: August 18, 2014
    Publication date: February 12, 2015
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar