Patents by Inventor Sharad Agarwal
Sharad Agarwal 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: 20230013211Abstract: The present application relates to communications between a partner network and a wide area network (WAN) via the Internet. The WAN advertises unicast border gateway protocol (BGP) address prefixes for a plurality of front-end devices in the WAN. An agent in the partner network measures a plurality of paths to a service within the WAN. Each of the plurality of paths is associated with one of the plurality of front-end devices and a respective unicast BGP address prefix. The agent provides measurements of the plurality of paths to the WAN. The WAN selects a path within the WAN for the service. The agent receives a routing rule specifying a unicast address prefix for a selected device of the plurality of front-end devices of the WAN. The agent forwards data packets for the service to the respective border gateway protocol address prefix of the selected device via the Internet.Type: ApplicationFiled: July 15, 2021Publication date: January 19, 2023Inventors: Sharad Agarwal, Ryan Andrew Beckett, Abhishek Udupa, Rachee Singh, Paramvir Bahl
-
Publication number: 20230016213Abstract: The present application relates to communications between a partner network and a wide area network (WAN). The partner network and WAN may exchange representations of the respective networks including a delay profile for the partner network. The WAN receives a network delay profile for multiple virtual network entities within the partner network. The multiple virtual network entities include at least a plurality of peering locations with the WAN. The WAN determines a path from the partner network through the WAN via a selected peering location of the plurality of peering locations with the WAN to a destination based on at least the network delay profile. The WAN deploys a policy for an agent within the partner network. The policy identifies traffic for the destination to route through the WAN via the selected peering location. The WAN routes traffic from the selected peering location to the destination along the path.Type: ApplicationFiled: July 15, 2021Publication date: January 19, 2023Inventors: Paramvir Bahl, Ryan Andrew Beckett, Abhishek Udupa, Sharad Agarwal, Rachee Singh
-
Publication number: 20220417103Abstract: Described are examples for providing management of a virtual wide area network (vWAN) based on operator policies. A network orchestrator presents, to a network operator, a representation of the vWAN including virtual network entities associated with respective geographic locations and virtual connections between the virtual network entities. The network orchestrator receives a policy for the virtual wide area network from the network operator via the representation, the policy to be implemented at one or more of the virtual connections. The network orchestrator translates the policy for the virtual wide area network into a configuration of an underlying wide area network (WAN). The underlying WAN a plurality of geographically distributed physical computing resources in geographic regions corresponding to the virtual network entities and connections there between.Type: ApplicationFiled: June 25, 2021Publication date: December 29, 2022Inventors: Ryan Andrew BECKETT, Sharad AGARWAL, Paramvir BAHL, Rachee SINGH, Abhishek UDUPA
-
Publication number: 20220417102Abstract: Described are examples for providing a system for managing configuration and policies for a virtualized wide area network (vWAN) support on a wide area network (WAN). The vWAN includes a plurality of virtual network entities associated with geographic locations including the physical computing resources of the WAN and virtual connections between the virtual network entities. The system includes a network safety component for managing configurations and policies of the vWAN on the WAN. The network safety component receives a change to a policy or configuration of the vWAN from an operator of a network connected to the vWAN. The network safety component evaluates a set of safety rules for the operator based on the change and a network state of a physical WAN underlying the vWAN. The network safety component generates an error message in response to at least one of the set of safety rules failing the evaluation.Type: ApplicationFiled: June 25, 2021Publication date: December 29, 2022Inventors: Ryan Andrew BECKETT, Sharad AGARWAL, Paramvir BAHL, Rachee SINGH, Abhishek UDUPA
-
Patent number: 11455274Abstract: A method and system analyze data in a database. The method and system include defining a plurality of set of rules, wherein each set of rules corresponds to a predictive model, storing the each set of rules corresponding to the predictive model in a library as a user-defined function and calling the user-defined function via a standard sequel language.Type: GrantFiled: December 14, 2018Date of Patent: September 27, 2022Assignee: InMobi PTE LTD.Inventors: Sharad Agarwal, Jaideep Dhok
-
Publication number: 20220278921Abstract: Systems and methods for routing packet data for transmission via a plurality of communication links are described. A method may include dividing a usage cycle for the plurality of communication links into a plurality of timeslots. Packet data traffic demands for the packet data for transmission via the plurality of communication links may be received. Based on a mixed integer linear programming model, an allocation of the packet data traffic demands to the plurality of communication links during the usage cycle may be determined using binary constraints of the mixed integer linear programming model. The binary constraints may prioritize respective subsets of the plurality of timeslots for at least some of the plurality of communication links. For each of the plurality of timeslots, an allocation of the packet data traffic demands to each of the plurality of communication links may be determined using the mixed integer linear programming model.Type: ApplicationFiled: May 14, 2021Publication date: September 1, 2022Applicant: Microsoft Technology Licensing, LLCInventors: Rachee SINGH, Sharad AGARWAL, Matt CALDER, Paramvir BAHL
-
Patent number: 11121934Abstract: A network verification system uses general-purpose programming language to create network verification tests. A test orchestrator builds a model of the network only using data from the network verification test. An optimization testing manager creates symbolic packets for verification tests using assertions based on a packet library embedded into the testing manager and the general-purpose programming language.Type: GrantFiled: December 8, 2020Date of Patent: September 14, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Ryan Andrew Beckett, Karthick Jayaraman, Neha Milind Raje, Jitendra Padhye, Christopher Scott Johnston, Steven Jeffrey Benaloh, Nikolaj Bjorner, Andrey Aleksandrovic Rybalchenko, Nuno Cerqueira Afonso, Nuno Claudino Pereira Lopes, Sharad Agarwal, Hang Kwong Lee, Aniruddha Parkhi, Maik Riechert
-
Patent number: 11032345Abstract: Methods and devices for encoding and decoding data streams are disclosed. In some aspects, the data streams are multimedia data streams. One method disclosed includes obtaining, by a client device, a first multimedia data stream and a second multimedia data stream, the second multimedia data stream being a lower fidelity version of the first multimedia data stream, generating, by the client device, a third multimedia data stream based on differences between the first and second multimedia data streams, compressing, by the client device, the second multimedia data stream to generate a first compressed multimedia data stream, compressing, by the client device, the third multimedia data stream to generate a second compressed multimedia data stream; and transmitting, by the client device, the first and second compressed multimedia data steams to the server.Type: GrantFiled: May 10, 2018Date of Patent: June 8, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Eduardo A Cuervo Laffaye, Alastair Wolman, Stefan Saroiu, Sharad Agarwal, Paramvir Bahl, Landon Cox
-
Patent number: 10579910Abstract: A classification system classifies different aspects of content of an input image stream, such as faces, landmarks, events, and so forth. The classification system includes a general classifier and at least one specialized classifier template. The general classifier is trained to classify a large number of different aspects of content, and a specialized classifier can be trained based on a specialized classifier template during operation of the classification system to classify a particular subset of the multiple different aspects of content. The classification system determines when to use the general classifier and when to use a specialized classifier based on class skew, which refers to the temporal locality of a subset of aspects of content in the image stream.Type: GrantFiled: April 20, 2018Date of Patent: March 3, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Matthai Philipose, Haichen Shen, Alastair Wolman, Sharad Agarwal
-
Publication number: 20190370147Abstract: Aspects of the subject disclosure are directed towards monitoring application performance during actual use, particularly mobile application performance. Described is instrumenting mobile application binaries to automatically identify a critical path in user transactions, including across asynchronous-call boundaries. Trace data is logged by the instrumented application to capture UI manipulations, thread execution, asynchronous calls and callbacks, UI updates and/or thread synchronization. The trace data is analyzed to assist developers in improving application performance.Type: ApplicationFiled: June 12, 2018Publication date: December 5, 2019Inventors: Lenin Ravindranath Sivalingam, Jitendra D. Padhye, Sharad Agarwal, Ratul Mahajan, Ian Obermiller, Shahin Shayandeh
-
Publication number: 20190349414Abstract: Methods and devices for encoding and decoding data streams are disclosed. In some aspects, the data streams are multimedia data streams. One method disclosed includes obtaining, by a client device, a first multimedia data stream and a second multimedia data stream, the second multimedia data stream being a lower fidelity version of the first multimedia data stream, generating, by the client device, a third multimedia data stream based on differences between the first and second multimedia data streams, compressing, by the client device, the second multimedia data stream to generate a first compressed multimedia data stream, compressing, by the client device, the third multimedia data stream to generate a second compressed multimedia data stream; and transmitting, by the client device, the first and second compressed multimedia data steams to the server.Type: ApplicationFiled: May 10, 2018Publication date: November 14, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Eduardo A. Cuervo Laffaye, Alastair Wolman, Stefan Saroiu, Sharad Agarwal, Paramvir Bahl, Landon Cox
-
Patent number: 10469351Abstract: The present invention provides a system for calculating latency in a distributed data flow environment. The system includes a plurality of hop servers and a central registry server. The plurality of hops servers is configured to receive a plurality of data packets across a time window, bucket each of the data packets of the plurality of data packets received across the time window into one or more buckets and transmit count of the plurality of the data packets in the one or more buckets and a window identifier associated with the time window to the central registry server. Each of the data packet of the plurality of data packets includes a header. The central registry server is configured to receive a plurality of counts and a plurality of window identifiers, to receive a latency query and to calculate latency.Type: GrantFiled: July 6, 2018Date of Patent: November 5, 2019Assignee: INMOBI PTE. LTD.Inventors: Inderbir Singh Pall, Sharad Agarwal
-
Patent number: 10447749Abstract: A method and system delivers data to a batch consumer and a streaming consumer. The method and system include retrieving data from a plurality of data centers, storing the data in a first directory, bundling the data into plurality of batches in the first directory, transferring each batch of the plurality of batches to the second directory, delivering the each batch of the plurality of batches in the second directory to the batch consumer and the streaming consumer and delivering the data in the first directory to the streaming consumer.Type: GrantFiled: January 2, 2018Date of Patent: October 15, 2019Assignee: InMobi PTE LTD.Inventors: Inderbir Singh Pall, Sharad Agarwal
-
Patent number: 10380266Abstract: A method and system analyze data in a database. The method and system include defining a plurality of set of rules, wherein each set of rules corresponds to a predictive model, storing the each set of rules corresponding to the predictive model in a library as a user-defined function, and calling the user-defined function via a standard sequel language.Type: GrantFiled: August 11, 2015Date of Patent: August 13, 2019Assignee: InMobi PTE Ltd.Inventors: Sharad Agarwal, Jaideep Dhok
-
Publication number: 20190122128Abstract: A method and system analyze data in a database. The method and system include defining a plurality of set of rules, wherein each set of rules corresponds to a predictive model, storing the each set of rules corresponding to the predictive model in a library as a user-defined function and calling the user-defined function via a standard sequel language.Type: ApplicationFiled: December 14, 2018Publication date: April 25, 2019Applicant: InMobi PTE Ltd.Inventors: Sharad Agarwal, Jaideep Dhok
-
Publication number: 20190116271Abstract: An environment is described in which a processing system provides application-level usage information to users. In one scenario, for example, the processing system may provide personal usage information to a user who is operating a user device. The personal usage information itemizes the amount of data (and/or other resources) that has been consumed by each application run by the user device. In another scenario, the processing system may provide expected usage information associated with at least one candidate application provided by a marketplace system. The expected usage information describes an expected consumption of data (and/or other resources) by the candidate application upon running the candidate application by the user device. The processing system can tailor the expected usage information that it sends to a particular user based on user profile data. The user profile data describes a manner in which users operate applications.Type: ApplicationFiled: December 10, 2018Publication date: April 18, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Sharad Agarwal, Ming Zhang, Lin Zhong, Ardalan Amiri Sani, Paramvir Bahl
-
Patent number: 10184798Abstract: A device identifies signals it receives at a particular point in time, such as Wi-Fi signals and cell tower signals. The device records data indicating these identified signals, as well as data used to determine the position of the device at that particular point in time. The position of the device is determined using dead reckoning, which is separated into two stages. In the first stage, a distance and direction of movement is determined at the device based on data from various inertial sensors of the device. In the second stage, various filters, maps, and/or other techniques are used at another device (e.g., a crowd sourcing data service) thus alleviating the device of the burden of performing the second stage.Type: GrantFiled: October 28, 2011Date of Patent: January 22, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Gursharan S. Sidhu, Sharad Agarwal
-
Patent number: 10154153Abstract: An environment is described in which a processing system provides application-level usage information to users. In one scenario, for example, the processing system may provide personal usage information to a user who is operating a user device. The personal usage information itemizes the amount of data (and/or other resources) that has been consumed by each application run by the user device. In another scenario, the processing system may provide expected usage information associated with at least one candidate application provided by a marketplace system. The expected usage information describes an expected consumption of data (and/or other resources) by the candidate application upon running the candidate application by the user device. The processing system can tailor the expected usage information that it sends to a particular user based on user profile data. The user profile data describes a manner in which users operate applications.Type: GrantFiled: June 19, 2017Date of Patent: December 11, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sharad Agarwal, Ming Zhang, Lin Zhong, Ardalan Amiri Sani, Paramvir Bahl
-
Publication number: 20180316585Abstract: The present invention provides a system for calculating latency in a distributed data flow environment. The system includes a plurality of hop servers and a central registry server. The plurality of hops servers is configured to receive a plurality of data packets across a time window, bucket each of the data packets of the plurality of data packets received across the time window into one or more buckets and transmit count of the plurality of the data packets in the one or more buckets and a window identifier associated with the time window to the central registry server. Each of the data packet of the plurality of data packets includes a header. The central registry server is configured to receive a plurality of counts and a plurality of window identifiers, to receive a latency query and to calculate latency.Type: ApplicationFiled: July 6, 2018Publication date: November 1, 2018Applicant: InMobi PTE LTDInventors: Inderbir Singh Pall, Sharad Agarwal
-
Patent number: 10082397Abstract: An identification is made as to when a device is at an anchor location, which can be a proximity zone along an edge of a dead zone or a location where a signal from a beacon is detected. In response to the device being at the anchor location, one or more inertial sensors can be activated and data from the one or more inertial sensors collected to determine a position of the device using dead reckoning. Alternatively, in response to the device being at the anchor location, a determination is made as to when to deactivate one or more inertial sensors from which data is collected to determine the position of the device using dead reckoning.Type: GrantFiled: June 13, 2016Date of Patent: September 25, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Gursharan S. Sidhu, Sharad Agarwal