Patents by Inventor Affan Arshad Dar
Affan Arshad Dar 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: 11392702Abstract: Described herein is a device (e.g., IoT device) having bootstrap code that communicates with a secure global registry (e.g., private distributed shared blockchain database). The bootstrap code of the device uses a globally unique device identifier of the device to the secure global registry. The bootstrap code receives information from the secure global registry which the bootstrap code uses to obtain information to connect to a cloud-based endpoint. The bootstrap code can download an appropriate software development kit (SDK) associated with the particular cloud based, at least in part, upon the received information. The device can be registered in the secure global registry by creating a globally unique identifier for the device. An initial entry can be created in the secure global registry comprising the globally unique identifier, with the secure global registry stores current cloud-based endpoint information, if any, for the device.Type: GrantFiled: March 17, 2019Date of Patent: July 19, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Balendran Mugundan, Affan Arshad Dar, Anush Prabhu Ramachandran, Raimundo Robledo Pontes Filho, Rajeev Mandayam Vokkarne
-
Publication number: 20200293663Abstract: Described herein is a device (e.g., IoT device) having bootstrap code that communicates with a secure global registry (e.g., private distributed shared blockchain database). The bootstrap code of the device uses a globally unique device identifier of the device to the secure global registry. The bootstrap code receives information from the secure global registry which the bootstrap code uses to obtain information to connect to a cloud-based endpoint. The bootstrap code can download an appropriate software development kit (SDK) associated with the particular cloud based, at least in part, upon the received information. The device can be registered in the secure global registry by creating a globally unique identifier for the device. An initial entry can be created in the secure global registry comprising the globally unique identifier, with the secure global registry stores current cloud-based endpoint information, if any, for the device.Type: ApplicationFiled: March 17, 2019Publication date: September 17, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Balendran Mugundan, Affan Arshad Dar, Anush Prabhu Ramachandran, Raimundo Robledo Pontes Filho, Rajeev Mandayam Vokkarne
-
Patent number: 10666724Abstract: Multiple geo-replicated and independent IoT (Internet of Things) hubs configured as servers with storage capacities are utilized and span across various regions in the world, to each of which IoT devices can connect and transmit telemetry data. The IoT devices, configured with sensors to generate telemetry data (e.g., temperature, pressure, etc.), can fail over to another geo-replicated IoT hub (the “target geo-replicated IoT hub”) when one IoT hub experiences technical failures or the IoT device changes location to a region which is covered by the target IoT hub. Upon receiving a connection request from the IoT device, the target geo-replicated IoT hub submits a proposal to available geo-replicated IoT hubs for ownership over the IoT device, that is, receive data from and transmit messages to the IoT device. A quorum is sought so that all IoT hubs are in agreement as to a current owner of the IoT device.Type: GrantFiled: November 20, 2018Date of Patent: May 26, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Kapil Agarwal, Vaibhav Sharma, Affan Arshad Dar, Roopesh Kumar Manda
-
Patent number: 9098359Abstract: Executing a long running application while maintaining state of the application. A method includes identifying that a new event has taken place with respect to an execution of an orchestration. The method includes establishing the state of the orchestration by replaying the execution of the orchestration by replaying any previous state from a history of the execution of the orchestration. The method further includes executing a next instruction of the execution of the orchestration. The next instruction is an instruction coded in the orchestration to execute after items in the history have been replayed.Type: GrantFiled: October 10, 2013Date of Patent: August 4, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Muralidhar Krishnaprasad, Affan Arshad Dar
-
Publication number: 20150106825Abstract: Executing a long running application while maintaining state of the application. A method includes identifying that a new event has taken place with respect to an execution of an orchestration. The method includes establishing the state of the orchestration by replaying the execution of the orchestration by replaying any previous state from a history of the execution of the orchestration. The method further includes executing a next instruction of the execution of the orchestration. The next instruction is an instruction coded in the orchestration to execute after items in the history have been replayed.Type: ApplicationFiled: October 10, 2013Publication date: April 16, 2015Applicant: Microsoft CorporationInventors: Samar Abbas, Muralidhar Krishnaprasad, Affan Arshad Dar
-
Patent number: 8755397Abstract: Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address.Type: GrantFiled: February 8, 2012Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Sanjib Saha, Affan Arshad Dar, Xin Chen, Manohar Bangalore Puttaswamaiah
-
Patent number: 8671306Abstract: A messaging system may operate on multiple processor partitions in several configurations to provide queuing and topic subscription services on a large scale. A queue service may receive messages from a multiple transmitting services and distribute the messages to a single service. A topic subscription service may receive messages from multiple transmitting services, but distribute the messages to multiple recipients, often with a filter applied to each recipient where the filter defines which messages may be transmitted by the recipient. Large queues or topic subscriptions may be divided across multiple processor partitions with separate sets of recipients for each partition in some cases, or with duplicate sets of recipients in other cases.Type: GrantFiled: December 21, 2010Date of Patent: March 11, 2014Assignee: Microsoft CorporationInventors: Kartik Paramasivam, Murali Krishnaprasad, Jayu Katti, Pramod Gurunath, Affan Arshad Dar
-
Patent number: 8572627Abstract: In one embodiment, a computer system instantiates a queue manager configured to process a plurality of existing queue manager commands on messages in a message queue. The computer system instantiates a virtualized instance of a queue manager in a virtual layer associated with the queue manager in the computing system. The a virtualized queue manager instance provides supplemental queue manager commands usable in addition to existing queue manager commands, such that the queue manager can be used to implement the supplemental commands without substantial modification. The computer system receives an indication that a message in a message queue is to be accessed according to a specified command provided by the instantiated virtualized queue manager instance that is not natively supported by the queue manager and the virtualized queue manager performs the specified supplemental command as indicated by the received indication by performing one or more existing queue manager commands.Type: GrantFiled: October 22, 2008Date of Patent: October 29, 2013Assignee: Microsoft CorporationInventors: Affan Arshad Dar, James E. Johnson
-
Patent number: 8505030Abstract: The present invention extends to methods, systems, and computer program products for coordinating resources using a volatile network intermediary. Embodiments provide a mechanism for an network intermediary to facilitate a state coordination pattern between an application and a communication medium when the communication medium does not support the state coordination pattern. In some embodiments, receiving applications can make use of this network intermediary by changing the receive location. However, the receiving application may not be able to distinguish the network intermediary from a native implementation of the state coordination pattern. Further, the network intermediary does not require deployment of a persistent or durable store to coordinate state between receiving applications and the original communication medium.Type: GrantFiled: January 23, 2008Date of Patent: August 6, 2013Assignee: Microsoft CorporationInventors: Nicholas A. Allen, Affan Arshad Dar, John A. Taylor
-
Patent number: 8443379Abstract: A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue.Type: GrantFiled: June 18, 2008Date of Patent: May 14, 2013Assignee: Microsoft CorporationInventors: Affan Arshad Dar, Sanjib Saha
-
Publication number: 20120159246Abstract: A messaging system may operate on multiple processor partitions in several configurations to provide queuing and topic subscription services on a large scale. A queue service may receive messages from a multiple transmitting services and distribute the messages to a single service. A topic subscription service may receive messages from multiple transmitting services, but distribute the messages to multiple recipients, often with a filter applied to each recipient where the filter defines which messages may be transmitted by the recipient. Large queues or topic subscriptions may be divided across multiple processor partitions with separate sets of recipients for each partition in some cases, or with duplicate sets of recipients in other cases.Type: ApplicationFiled: December 21, 2010Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Kartik PARAMASIVAM, Murali KRISHNAPRASAD, Jayu KATTI, Pramod GURUNATH, Affan Arshad Dar
-
Publication number: 20120134370Abstract: Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address.Type: ApplicationFiled: February 8, 2012Publication date: May 31, 2012Applicant: Microsoft CorporationInventors: Sanjib Saha, Affan Arshad Dar, Xin Chen, Manohar Bangalore Puttaswamaiah
-
Patent number: 8135025Abstract: Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address.Type: GrantFiled: June 3, 2009Date of Patent: March 13, 2012Assignee: Microsoft CorporationInventors: Sanjib Saha, Affan Arshad Dar, Xin Chen, Manohar Bangalore Puttaswamaiah
-
Publication number: 20100309928Abstract: Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address.Type: ApplicationFiled: June 3, 2009Publication date: December 9, 2010Applicant: MICROSOFT CORPORATIONInventors: Sanjib Saha, Affan Arshad Dar, Xin Chen, Manohar Bangalore Puttaswamaiah
-
Publication number: 20100100890Abstract: In one embodiment, a computer system instantiates a queue manager configured to process a plurality of existing queue manager commands on messages in a message queue. The computer system instantiates a virtualized instance of a queue manager in a virtual layer associated with the queue manager in the computing system. The a virtualized queue manager instance provides supplemental queue manager commands usable in addition to existing queue manager commands, such that the queue manager can be used to implement the supplemental commands without substantial modification. The computer system receives an indication that a message in a message queue is to be accessed according to a specified command provided by the instantiated virtualized queue manager instance that is not natively supported by the queue manager and the virtualized queue manager performs the specified supplemental command as indicated by the received indication by performing one or more existing queue manager commands.Type: ApplicationFiled: October 22, 2008Publication date: April 22, 2010Applicant: Microsoft CorporationInventors: Affan Arshad Dar, James E. Johnson
-
Publication number: 20090320044Abstract: A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue.Type: ApplicationFiled: June 18, 2008Publication date: December 24, 2009Applicant: Microsoft CorporationInventors: Affan Arshad Dar, Sanjib Saha
-
Publication number: 20090133036Abstract: The present invention extends to methods, systems, and computer program products for coordinating resources using a volatile network intermediary. Embodiments provide a mechanism for an network intermediary to facilitate a state coordination pattern between an application and a communication medium when the communication medium does not support the state coordination pattern. In some embodiments, receiving applications can make use of this network intermediary by changing the receive location. However, the receiving application may not be able to distinguish the network intermediary from a native implementation of the state coordination pattern. Further, the network intermediary does not require deployment of a persistent or durable store to coordinate state between receiving applications and the original communication medium.Type: ApplicationFiled: January 23, 2008Publication date: May 21, 2009Applicant: MICROSOFT CORPORATIONInventors: Nicholas A. Allen, Affan Arshad Dar, John A. Taylor
-
Patent number: 7509538Abstract: Test result data can be classified across multiple tests, test scenarios, and lab runs. Test result files can be parsed by extracting information from them. Extracted information can be compared to failure information in a database. If a match is found, the extracted information can be linked to the failure, creating a history for each failure. New failures can be identified when no match is found. Failure data can be cross-referenced to further aid in results analysis. For each failure, lists of useful information can be accessed. Analysis information can be associated with failures, for example whether the failure is new, occurred previously, is for a different reason than expected, or has been added to a baseline of expected failures. A Graphic User Interface (“GUI”) is also provided to expose the analyzed results to the result analyzers.Type: GrantFiled: April 21, 2004Date of Patent: March 24, 2009Assignee: Microsoft CorporationInventors: Edward Triou, Jr., Andre Milbradt, Osarumwemse U. Agbonile, Affan Arshad Dar