Patents by Inventor Muthukaruppan Annamalai
Muthukaruppan Annamalai 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: 20170054802Abstract: The disclosure is directed to data replication in a distributed computing system. The system ensures a read-after-write consistency for the replicated data by associating the write requests with unique version numbers, and using them to obtain the data. A server associates a write request with a unique version number, and returns the version number to a client, which can use it in a subsequent read request for the data. On receiving a read request for a first data, the server extracts the version number from the request and ensures a specified write request associated with the version number is processed prior to obtaining the data. If the specified write request is processed, the server obtains the data and returns it to the client, else the server processes the pending write requests up until the version number and then the specified write request, and returns the specified data to the client.Type: ApplicationFiled: August 19, 2015Publication date: February 23, 2017Inventors: Muthukaruppan Annamalai, Zelaine Fong, Marc Alexander Celani, Vishal Kathuria, Sanketh Indarapu, Rohit Subhash Bhoj, Benjamin Francois Marie Renard, Sumeet Ungratwar
-
Publication number: 20170013058Abstract: The disclosure is directed to data replication in a distributed computing system. The data, e.g., received from a client, is replicated to a first set of servers (“sync replica set”) synchronously and to a second set of servers asynchronously (“async tree”). A server can be a primary, secondary or a follower server. A sync replica set includes a primary server and one or more secondary servers. The async tree includes multiple follower servers deployed in a tree structure. A primary server can replicate the data to the secondary servers synchronously, and the secondary servers can replicate the data to one or more follower servers, e.g., a root node of the async tree, asynchronously. The root node then replicates the data to children of the root node, which then replicate to their children and so on until the leaf nodes of the async tree receive the data.Type: ApplicationFiled: July 10, 2015Publication date: January 12, 2017Inventors: Muthukaruppan Annamalai, Zelaine Fong, Marc Alexander Celani, Vishal Kathuria, Sanketh Indarapu, Rohit Subhash Bhoj, Benjamin Francois Marie Renard, Sumeet Ungratwar
-
Patent number: 9465589Abstract: 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: GrantFiled: April 5, 2011Date of Patent: October 11, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
Publication number: 20160142475Abstract: The disclosure is related to a shard manager that manages assignment of shards (data partitions) to application servers. An application service (“app service”) provides a specific service to clients and can be executing on multiple application servers. The dataset managed by the app service can be divided into multiple shards and the shards can be assigned to different app servers. The shard manager can manage the assignment of shards to different app servers based on an assignment policy. The shard assignments can be published to a configuration service. A client can request the configuration service to provide identification information of the app server to which a particular shard the client intends to access is assigned. The shard manager can also provide dynamic load balancing solutions. The shard manager can poll the app servers in runtime to determine the load information and per-shard resource usage, and balance the load by reassigning the shards accordingly.Type: ApplicationFiled: November 14, 2014Publication date: May 19, 2016Inventors: Vishal Kathuria, Vikas Mehta, Muthukaruppan Annamalai, Zhenhua Guo
-
Patent number: 8620889Abstract: A file fetcher manager provides commonly-utilized management and resource allocation for multiple file fetchers that each implement a different type of mechanism or protocol for transferring data files between peer endpoints in meshes associated with a cloud-computing service. Each file fetcher is configured with both client-side and server-side components to retrieve and serve out data files. The file fetcher manager encapsulates the file fetchers to provide an abstract interface to callers while hiding the underlying details of the file fetchers. The file fetcher manager is arranged for managing simultaneous operations of the multiple file fetchers to route requests from the callers to the appropriate file fetchers, and for scheduling work items for the file fetchers so that data transfers efficiently utilize available resources while keeping the entire transfer process coherent and organized.Type: GrantFiled: March 27, 2008Date of Patent: December 31, 2013Assignee: Microsoft CorporationInventors: Akash Jeevan Sagar, Muthukaruppan Annamalai, Vladimir D. Fedorov, Richard Y. Chung
-
Patent number: 8386587Abstract: Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.Type: GrantFiled: April 26, 2012Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: Akash J. Sagar, George P. Moromisato, Richard Yiu-Sai Chung, Raymond E. Ozzie, Jack E. Ozzie, David Richard Reed, Michael Steven Vernal, Vladimir Dmitri Fedorov, Muthukaruppan Annamalai
-
Publication number: 20120260227Abstract: 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: ApplicationFiled: April 5, 2011Publication date: October 11, 2012Applicant: MICROSOFT CORPORATIONInventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
-
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: 20120210020Abstract: Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.Type: ApplicationFiled: April 26, 2012Publication date: August 16, 2012Applicant: MICROSOFT CORPORATIONInventors: Akash J. Sagar, George P. Moromisato, Richard Yiu-Sai Chung, Raymond E. Ozzie, Jack E. Ozzie, David Richard Reed, Michael Steven Vernal, Vladimir Dmitri Fedorov, Muthukaruppan Annamalai
-
Patent number: 8239479Abstract: Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.Type: GrantFiled: June 22, 2007Date of Patent: August 7, 2012Assignee: Microsoft CorporationInventors: Akash J. Sagar, George P. Moromisato, Richard Yiu-Sai Chung, Raymond E. Ozzie, Jack E. Ozzie, David Richard Reed, Michael Steven Vernal, Vladimir Dmitri Fedorov, Muthukaruppan Annamalai
-
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
-
Patent number: 7743023Abstract: Various embodiments introduce the notion of a replication entity which implements a highly scalable file replication system. In one embodiment, the replication entity resides in the form of a scalable replication service. In at least some embodiments, the replication service provides a “drive in the sky” facility that can be used by individuals, such as subscribers, to synchronize their individual machines, such that their files are automatically replicated to a safe and always-on location. Alternatively or additionally, individuals such as subscribers can also access their files via a web-based interface when they are away from their machines.Type: GrantFiled: February 1, 2006Date of Patent: June 22, 2010Assignee: Microsoft CorporationInventors: Dan Teodosiu, David C. Steere, Muthukaruppan Annamalai, Nikolaj S Bjorner, Michael J Bohlander, Huisheng Liu, Patrick E Bozeman
-
Publication number: 20090300169Abstract: Synchronization of data across multiple endpoints in a mesh network that supports a data sharing service is throttled responsively to user activity in the network by monitoring the activity using a component in a mesh operating environment (“MOE”) runtime that is instantiated on each endpoint. The monitoring may include the collection of data that can be used to infer user activity, as well as data that explicitly indicates activity. State information is maintained so that data can be synchronized across the endpoints even when a user goes offline from the service. When the user logs on to the service, makes changes to a shared file, or the endpoint device starts up upon connection to a mesh network, throttling is performed by prioritizing work items associated with synchronization operations so that resources on the endpoint are not excessively consumed which could reduce the quality of the user experience.Type: ApplicationFiled: June 3, 2008Publication date: December 3, 2009Applicant: MICROSOFT CORPORATIONInventors: Akash Jeevan Sagar, Vladimir D. Fedorov, Muthukaruppan Annamalai, Richard Y. Chung
-
Publication number: 20090248693Abstract: A file fetcher manager provides commonly-utilized management and resource allocation for multiple file fetchers that each implement a different type of mechanism or protocol for transferring data files between peer endpoints in meshes associated with a cloud-computing service. Each file fetcher is configured with both client-side and server-side components to retrieve and serve out data files. The file fetcher manager encapsulates the file fetchers to provide an abstract interface to callers while hiding the underlying details of the file fetchers. The file fetcher manager is arranged for managing simultaneous operations of the multiple file fetchers to route requests from the callers to the appropriate file fetchers, and for scheduling work items for the file fetchers so that data transfers efficiently utilize available resources while keeping the entire transfer process coherent and organized.Type: ApplicationFiled: March 27, 2008Publication date: October 1, 2009Applicant: MICROSOFT CORPORATIONInventors: Akash Jeevan Sagar, Muthukaruppan Annamalai, Vladimir D. Fedorov, Richard Y. Chung
-
Patent number: 7480761Abstract: A system is provided for reading and writing sectors which may be realized as either a disk device to the local operating system, or as a virtual disk device to a virtual machine. A user's computing environment is stored in the network in the form of a disk image, which may be a virtual disk image, for example. The virtual disk is realized on host computers through host-resident virtual machine monitors such as MICROSOFT VIRTUAL PC®. Portable memory devices, such as flash devices, buffer virtual disk writes and cache reads, greatly reducing the performance degradation associated with remote disk access. The cache is mobile so that it can be travel with the user. The flash device remembers commonly used virtual disk content fingerprints so that the host machine's local disk can be used to satisfy many common disk reads when ubiquitous static content is involved. Standard, frequently used software images might be distributed in advance to host machines.Type: GrantFiled: January 10, 2005Date of Patent: January 20, 2009Assignee: Microsoft CorporationInventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson
-
Publication number: 20080317068Abstract: Systems and methods for synchronizing data between endpoints using elements of centralized and decentralized synchronization systems and communication topologies are disclosed. Such systems and methods may in some cases synchronize some subset of data with a centralized endpoint while another subset of data is synchronized in a decentralized fashion directly with other endpoints. Such systems and methods may include a variety of cooperative functionality to assist in the synchronization of data between endpoints.Type: ApplicationFiled: June 22, 2007Publication date: December 25, 2008Applicant: MICROSOFT CORPORATIONInventors: Akash J. Sagar, George P. Moromisato, Richard Yiu-Sai Chung, Raymond E. Ozzie, Jack E. Ozzie, David Richard Reed, Michael Steven Vernal, Vladimir Dmitri Fedorov, Muthukaruppan Annamalai
-
Patent number: 7398349Abstract: A lifting and shaping system for a bra is disclosed. The system uses lift platforms shaped to fit into the cups of the bra and formed from thin material such as plastic. The lift platforms are attached to the bra toward the center of the bra. Connectors having one end attached to the lift platform and the other end attached to a slide on the shoulder strap adjust the lift of the lift platform when the slide is moved. Flexible shaping members distribute the lift of the lift platforms and maintain the natural shape of the breasts as they are lifted. Smoothing shields ease the movement of the lift platforms and connectors within the cloth confines of the breast cups. The flexible shaping members may also perform some of the functions of a smoothing shield.Type: GrantFiled: February 15, 2005Date of Patent: July 8, 2008Assignee: Microsoft CorporationInventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson
-
Patent number: 7380051Abstract: A system is provided for reading and writing sectors which may be realized as either a disk device to the local operating system, or as a virtual disk device to a virtual machine. A user's computing environment is stored in the network in the form of a disk image, which may be a virtual disk image, for example. The virtual disk is realized on host computers through host-resident virtual machine monitors such as MICROSOFT VIRTUAL PC®. Portable memory devices, such as flash devices, buffer virtual disk writes and cache reads, greatly reducing the performance degradation associated with remote disk access. The cache is mobile so that it can be travel with the user. The flash device remembers commonly used virtual disk content fingerprints so that the host machine's local disk can be used to satisfy many common disk reads when ubiquitous static content is involved. Standard, frequently used software images might be distributed in advance to host machines.Type: GrantFiled: February 15, 2005Date of Patent: May 27, 2008Assignee: Microsoft CorporationInventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson