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).
-
Publication number: 20120254109Abstract: 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: ApplicationFiled: March 28, 2011Publication date: October 4, 2012Applicant: MICROSOFT CORPORATIONInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
Publication number: 20120246613Abstract: 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: ApplicationFiled: March 25, 2011Publication date: September 27, 2012Applicant: MICROSOFT CORPORATIONInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
Publication number: 20120222003Abstract: 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: ApplicationFiled: February 28, 2011Publication date: August 30, 2012Applicant: MICROSOFT CORPORATIONInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
Publication number: 20120159425Abstract: 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: ApplicationFiled: December 15, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Dharma Shukla, Aditya Gopal Bhandarkar, Akash Jeevan Sagar, Asad Jawahar, Robert Brian Schmidt
-
Publication number: 20120159424Abstract: A method of creating a manifest for a distributed application is disclosed. Components and composites of components of the distributed application are described in a technology agnostic manner. The description includes a definition of the scalability of the composites of components.Type: ApplicationFiled: December 21, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
Publication number: 20120159523Abstract: 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: ApplicationFiled: December 17, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Amol Kulkarni, Girish Mittur Venkataramanappa, Yann Christensen, Chandra Prasad, Dharma Shukla, Sumit Mohanty, Vinod Shanbhag, Andreas Ulbrich, Mandyam Kishore, Aditya Bhandarkar
-
Patent number: 8196175Abstract: A ticketing system adapted for use with a cloud-based services platform is provided by a ticket-based authorization model in which the authorization requirements for traversing one or more meshes of resources associated with a cloud service are annotated in links included in a resource that refer to other resources. The meshes are thus self-describing with respect to the association among the resources (i.e., the links) as well as the authorization required to access resources. Resource access requires a principal ticket which asserts that a caller at a client (e.g., a security principal representing a device or identity associated with a user) is authenticated, plus zero or more claim tickets. The claim tickets make additional assertions about the caller that the cloud service may use to check that the caller is authorized to access the resource.Type: GrantFiled: March 5, 2008Date of Patent: June 5, 2012Assignee: Microsoft CorporationInventors: David R. Reed, Eric S. Fleischman, Abolade Gbadegesin, Dharma Shukla, Nikolay Smolyanskiy, Thomas A. Galvin
-
Publication number: 20120030169Abstract: An instance persistence command for an update to a state of an instance of an application can be issued. In response to the persistence command, a transaction with an instance store can be initiated. As part of the transaction, a first representation of the update can be stored in the instance store and a second representation of the update can be stored in a queue. The transaction can be committed after storing the first and second representations. After the transaction is committed, the second representation can be processed to store a third representation of the update in a query store. Application instance state information in the query store can be updated and queried without locking the instance store so that such operations in the query store can be performed asynchronously with operations in the instance store.Type: ApplicationFiled: July 27, 2010Publication date: February 2, 2012Applicant: Microsoft CorporationInventors: Nicholas A. Allen, John A. Taylor, Kartik Paramasivam, Dharma Shukla
-
Patent number: 8108868Abstract: Optimizing workflow execution. A method includes identifying a completion condition. The completion condition is specified as part of the overall workflow. The method further includes identifying a number of activities that could be executed to satisfy the completion condition. One or more activities from the number of activities is ordered into an execution plan and assigned system resources based on an analysis of activities in the number of activities and the completion condition.Type: GrantFiled: December 18, 2007Date of Patent: January 31, 2012Assignee: Microsoft CorporationInventors: Stephen Toub, Dharma Shukla
-
Publication number: 20110320522Abstract: A back-end locator service can be utilized to identify a specific computing device, from among multiple computing devices in a domain, that is the most appropriate computing device to handle a particular type of request for data or other resources. The data or resources hosted by the domain can be divided among multiple computing devices. The domain can expose a network-based application program interface where successive requests by a client computing device become more specific as to the data or resources requested. Responses from the computing devices in the domain can, at some point in time, be informed by the back-end locator service and can comprise location-specific resource identifiers. The client computing device can utilize such location specific resource identifiers to direct further communications to the appropriate, specific computing device without having to incur redirection inefficiencies.Type: ApplicationFiled: June 24, 2010Publication date: December 29, 2011Applicant: MICROSOFT CORPORATIONInventors: Raymond E. Endres, Nishant Gupta, Karthik Raman, Aditya G. Bhandarkar, Farookh Mohammed, Dharma Shukla
-
Patent number: 8024405Abstract: Implementing synchronization among threads in a workflow. A memory area stores a plurality of work items in a scheduler queue. The work items are associated with an activity in the workflow, and each work item is associated with a thread. A processor is configured to assign a synchronization handle to each of the work items. The synchronization handle indicates a particular shared resource to be accessed by the work items. A token value is computed for each work item based on the assigned synchronization handle and the work items in a hierarchy in the activity. The work items are sorted in a synchronization queue based on the token value associated with each work item. The processor sequentially executes each of the sorted work items in the synchronization queue to serialize the access to the particular shared resource and effects a synchronous execution of the threads associated with the work items.Type: GrantFiled: March 30, 2006Date of Patent: September 20, 2011Assignee: Microsoft CorporationInventors: Dharma Shukla, Bob Schmidt, Akash J. Sagar
-
Publication number: 20100235830Abstract: 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: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20100235829Abstract: 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: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Publication number: 20100235321Abstract: 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: ApplicationFiled: March 11, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Abhay Parasnis, Raymond Enders, Arash Ghanaie-Sichanie, Israel Hilerio, Farookh Mohammed, Aditya Bhandarkar
-
Patent number: 7797403Abstract: A system and methods providing the automated configuration management and configuration information communication/deployment for a business process server computing application operating in a distributed computing environment is provided. In an illustrative implementation, a configuration management and configuration information communication/deployment tool operating in a distributed computing environment allows cooperating parties cooperating to operate a business process server computing application to more easily and efficiently update the configuration information of one or components of the business process server computing application responsive to changes in business practice changes between the cooperating parties. In the contemplated implementation, packages are requested by the cooperating parties using the configuration tool.Type: GrantFiled: July 12, 2002Date of Patent: September 14, 2010Assignee: Microsoft CorporationInventors: Nagender Vedula, Anand C. Ramanathan, Valentino C. Baltazar, Dharma Shukla, Muralidhara Varma Chiluvuri, Mario Pipkin
-
Patent number: 7743328Abstract: A guided process framework includes a process engine, one or more data stores, and one or more user interfaces configured to communicate with the process engine. A user can access a given process instance through any appropriately configured user interface, which contacts the process engine, and which in turn contacts/consults definitions for one or more guided processes at a data store. If the user finishes only part of a given process instance, the process engine can save state corresponding to the progress in the data store. A user can continue work on the process instance through a different user interface (or at a different computer system) by contacting the process engine through the different user interface, and receiving rendering information configured for the different user interface. Thus, the user can stop and start work on a process however desired, and with whatever tools are available at any given time.Type: GrantFiled: October 12, 2006Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Israel Hilerio, Shiqiu Guo, Dharma Shukla
-
Patent number: 7739135Abstract: Asynchronous fault handling for a workflow. A state automaton for an activity in the workflow is defined. The state automaton includes at least an executing state, a faulting state, and a closed state and classifies an execution lifetime of the activity. The activity is defined to include work items and includes an execution hierarchy for the work items. Each work item includes an operation for executing a portion of the activity. Each work item is transitioned to the executing state. The included operation of transitioned work items is executed in the executing state. One or more of the transitioned work items are identified in response to the faulting event as a function of the execution hierarchy and the included operation. The faulting event is asynchronously handled by transitioning the one or more identified work items to the faulting state while executing the included operation of the remaining transitioned work items.Type: GrantFiled: March 30, 2006Date of Patent: June 15, 2010Assignee: Microsoft CorporationInventors: Dharma Shukla, Bob Schmidt, Mayank Mehta, Nathan Talbert, Akash J. Sagar, Karthik Raman
-
Publication number: 20100095272Abstract: 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: ApplicationFiled: October 14, 2008Publication date: April 15, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
-
Publication number: 20100094926Abstract: 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: ApplicationFiled: October 14, 2008Publication date: April 15, 2010Applicant: Microsoft CorporationInventors: Dharma Shukla, Aditya Bhandarkar, Ori Amiga, Raymond Endres, Abhay Parasnis
-
Patent number: 7634763Abstract: To provide for multi-language compilation, a protocol is established for compilers. Each of at least two compilers implements the protocol. A framework is developed which discovers compilers which have implemented the protocol. The framework allows multi-language compilation using and coordinating the compliant compilers. The framework is extensible. When a new protocol-compliant compiler is discovered, the language compiled by the new compiler can be compiled using the framework and the capabilities of the protocol-compliant compilers. Similarly, a multi-language extensible design tool may be created using protocol-compliant design tools.Type: GrantFiled: October 3, 2003Date of Patent: December 15, 2009Assignee: Microsoft CorporationInventors: Mark Nathan Wain, Dharma Shukla, Mayank Mehta