Patents by Inventor Aditya Bhandarkar

Aditya Bhandarkar 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: 10613837
    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: June 5, 2018
    Date of Patent: April 7, 2020
    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: 10528326
    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: October 3, 2017
    Date of Patent: January 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Publication number: 20190138276
    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: Application
    Filed: June 5, 2018
    Publication date: May 9, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Patent number: 10242023
    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: Grant
    Filed: August 18, 2014
    Date of Patent: March 26, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20180275965
    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: Application
    Filed: October 3, 2017
    Publication date: September 27, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • 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: 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: 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
  • 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
  • Patent number: 8812451
    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: Grant
    Filed: March 11, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Endres, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Patent number: 8490052
    Abstract: A data set may be managed by a host that provides access to clients through a protocol, such as a RESTful HTTP interface. A resource script may be expressed according to a script language featuring two types of instructions: data set instructions that correspond to the verbs of the protocol, and flow control instructions that alter the flow of execution of the resource script. At runtime, an execution context for the resource script may be selected as a local execution context (through a local script processor that issues protocol verbs to the host based on the data set operations) or a remote execution context (by sending the resource script to a script processor located on the host.) The runtime selection of data context may be executed without having to reconfigure the resource script, and with an equivalent effect on the data set.
    Type: Grant
    Filed: October 14, 2008
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Patent number: 8468548
    Abstract: A container service is capable of hosting large numbers of middleware components for multiple tenants. A central container manager controls a plurality of compute nodes. The central container manager receives middleware components from external devices or services and assigns the components to containers on one or more designated compute nodes. Each compute node has a container management agent and one or more containers. The container management agents activate and manage the appropriate number of containers to run the assigned middleware components. The container management agent assigns each container on its compute node a limited set of privileges to control access to shared resources. The central container manager and each node's container management agent monitor container load levels and dynamically adjust the placement of the middleware components to maintain balanced operation. The compute nodes are grouped into clusters based upon the type of middleware components hosted on each compute node.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: June 18, 2013
    Assignee: Microsoft Corporation
    Inventors: Amol Kulkarni, Girish Mittur Venkataramanappa, Yann Christensen, Chandra Prasad, Dharma Shukla, Sumit Mohanty, Vinod Shanbhag, Andreas Ulbrich, Mandyam Kishore, Aditya Bhandarkar
  • Patent number: 8438295
    Abstract: Data sets of various types may be accessible through a host according to a protocol, such as a RESTful HTTP interface. Various domains may involve domain-specific processes to be executed as pre-triggers or post-triggers of various protocol requests (e.g., an HTTP GET request specifying a Read operation on an access-restricted data set may involve an authorization operations set that verifies the access privileges of the requester.) A host of the data set may be configured to receive a resource script expressing the operations set in a script language, to store the resource script, and to associated it with at least one data set and at least one verb of the protocol. Upon later receiving a protocol request specifying the verb and the resource, the host may then execute the resource script (as a pre-trigger and/or as a post-trigger) in accordance with the business logic of the domain.
    Type: Grant
    Filed: October 14, 2008
    Date of Patent: May 7, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
  • Patent number: 8413139
    Abstract: Applications executing on computer systems may execute in a virtual environment, such as a web application executing in a web browser. An application may access the actual computing environment (such as the filesystem), but this accessing may be complicated; e.g., the computing environment may be deployed across many computers and devices, and may be synchronized for offline access via a local cache. A computing environment component may service the complex computing environment (e.g., by managing the cache and retrieving remotely stored data objects) and expose it as a well-organized set of data objects. A virtual environment interface (e.g., a web browser plug-in) may allow applications hosted in the virtual environment to access the computing environment through the computing environment component. Programmatic interfaces may also be implemented to permit such accessing via familiar programming languages and techniques, such as JavaScript libraries exposed to web applications in the web browser.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
  • Publication number: 20120260227
    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: Application
    Filed: April 5, 2011
    Publication date: October 11, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Publication number: 20120254109
    Abstract: A method of creating a distributed application in a distributed component runtime is disclosed. An application schema including distributed modules is declaratively defined. Each module hosts a component having a corresponding logical address. Mapping the corresponding logical addresses to physical addresses at runtime virtualizes interactions between the components.
    Type: Application
    Filed: March 28, 2011
    Publication date: October 4, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Publication number: 20120246613
    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: Application
    Filed: March 25, 2011
    Publication date: September 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Publication number: 20120222003
    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: Application
    Filed: February 28, 2011
    Publication date: August 30, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Publication number: 20120159523
    Abstract: A container service is capable of hosting large numbers of middleware components for multiple tenants. A central container manager controls a plurality of compute nodes. The central container manager receives middleware components from external devices or services and assigns the components to containers on one or more designated compute nodes. Each compute node has a container management agent and one or more containers. The container management agents activate and manage the appropriate number of containers to run the assigned middleware components. The container management agent assigns each container on its compute node a limited set of privileges to control access to shared resources. The central container manager and each node's container management agent monitor container load levels and dynamically adjust the placement of the middleware components to maintain balanced operation. The compute nodes are grouped into clusters based upon the type of middleware components hosted on each compute node.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Amol Kulkarni, Girish Mittur Venkataramanappa, Yann Christensen, Chandra Prasad, Dharma Shukla, Sumit Mohanty, Vinod Shanbhag, Andreas Ulbrich, Mandyam Kishore, Aditya Bhandarkar