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: 20170054802
    Abstract: 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: Application
    Filed: August 19, 2015
    Publication date: February 23, 2017
    Inventors: Muthukaruppan Annamalai, Zelaine Fong, Marc Alexander Celani, Vishal Kathuria, Sanketh Indarapu, Rohit Subhash Bhoj, Benjamin Francois Marie Renard, Sumeet Ungratwar
  • Publication number: 20170013058
    Abstract: 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: Application
    Filed: July 10, 2015
    Publication date: January 12, 2017
    Inventors: Muthukaruppan Annamalai, Zelaine Fong, Marc Alexander Celani, Vishal Kathuria, Sanketh Indarapu, Rohit Subhash Bhoj, Benjamin Francois Marie Renard, Sumeet Ungratwar
  • 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: 20160142475
    Abstract: 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: Application
    Filed: November 14, 2014
    Publication date: May 19, 2016
    Inventors: Vishal Kathuria, Vikas Mehta, Muthukaruppan Annamalai, Zhenhua Guo
  • Patent number: 8620889
    Abstract: 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: Grant
    Filed: March 27, 2008
    Date of Patent: December 31, 2013
    Assignee: Microsoft Corporation
    Inventors: Akash Jeevan Sagar, Muthukaruppan Annamalai, Vladimir D. Fedorov, Richard Y. Chung
  • Patent number: 8386587
    Abstract: 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: Grant
    Filed: April 26, 2012
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: 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: 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: 20120210020
    Abstract: 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: Application
    Filed: April 26, 2012
    Publication date: August 16, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 8239479
    Abstract: 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: Grant
    Filed: June 22, 2007
    Date of Patent: August 7, 2012
    Assignee: Microsoft Corporation
    Inventors: 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: 20120159424
    Abstract: 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: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Dharma Shukla, Akash Jeevan Sagar, Nathan C. Talbert, Muthukaruppan Annamalai, Robert B. Schmidt, Aditya Bhandarkar, Asad Jawahar
  • Patent number: 7743023
    Abstract: 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: Grant
    Filed: February 1, 2006
    Date of Patent: June 22, 2010
    Assignee: Microsoft Corporation
    Inventors: Dan Teodosiu, David C. Steere, Muthukaruppan Annamalai, Nikolaj S Bjorner, Michael J Bohlander, Huisheng Liu, Patrick E Bozeman
  • Publication number: 20090300169
    Abstract: 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: Application
    Filed: June 3, 2008
    Publication date: December 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Akash Jeevan Sagar, Vladimir D. Fedorov, Muthukaruppan Annamalai, Richard Y. Chung
  • Publication number: 20090248693
    Abstract: 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: Application
    Filed: March 27, 2008
    Publication date: October 1, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Akash Jeevan Sagar, Muthukaruppan Annamalai, Vladimir D. Fedorov, Richard Y. Chung
  • Patent number: 7480761
    Abstract: 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: Grant
    Filed: January 10, 2005
    Date of Patent: January 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson
  • Publication number: 20080317068
    Abstract: 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: Application
    Filed: June 22, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7398349
    Abstract: 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: Grant
    Filed: February 15, 2005
    Date of Patent: July 8, 2008
    Assignee: Microsoft Corporation
    Inventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson
  • Patent number: 7380051
    Abstract: 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: Grant
    Filed: February 15, 2005
    Date of Patent: May 27, 2008
    Assignee: Microsoft Corporation
    Inventors: Andrew Birrell, Edward P. Wobber, Muthukaruppan Annamalai, Ulfar Erlingsson