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: 20230013211
    Abstract: 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: Application
    Filed: July 15, 2021
    Publication date: January 19, 2023
    Inventors: Sharad Agarwal, Ryan Andrew Beckett, Abhishek Udupa, Rachee Singh, Paramvir Bahl
  • Publication number: 20230016213
    Abstract: 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: Application
    Filed: July 15, 2021
    Publication date: January 19, 2023
    Inventors: Paramvir Bahl, Ryan Andrew Beckett, Abhishek Udupa, Sharad Agarwal, Rachee Singh
  • Publication number: 20220417103
    Abstract: 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: Application
    Filed: June 25, 2021
    Publication date: December 29, 2022
    Inventors: Ryan Andrew BECKETT, Sharad AGARWAL, Paramvir BAHL, Rachee SINGH, Abhishek UDUPA
  • Publication number: 20220417102
    Abstract: 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: Application
    Filed: June 25, 2021
    Publication date: December 29, 2022
    Inventors: Ryan Andrew BECKETT, Sharad AGARWAL, Paramvir BAHL, Rachee SINGH, Abhishek UDUPA
  • Patent number: 11455274
    Abstract: 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: Grant
    Filed: December 14, 2018
    Date of Patent: September 27, 2022
    Assignee: InMobi PTE LTD.
    Inventors: Sharad Agarwal, Jaideep Dhok
  • Publication number: 20220278921
    Abstract: 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: Application
    Filed: May 14, 2021
    Publication date: September 1, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rachee SINGH, Sharad AGARWAL, Matt CALDER, Paramvir BAHL
  • Patent number: 11121934
    Abstract: 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: Grant
    Filed: December 8, 2020
    Date of Patent: September 14, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 11032345
    Abstract: 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: Grant
    Filed: May 10, 2018
    Date of Patent: June 8, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eduardo A Cuervo Laffaye, Alastair Wolman, Stefan Saroiu, Sharad Agarwal, Paramvir Bahl, Landon Cox
  • Patent number: 10579910
    Abstract: 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: Grant
    Filed: April 20, 2018
    Date of Patent: March 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthai Philipose, Haichen Shen, Alastair Wolman, Sharad Agarwal
  • Publication number: 20190370147
    Abstract: 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: Application
    Filed: June 12, 2018
    Publication date: December 5, 2019
    Inventors: Lenin Ravindranath Sivalingam, Jitendra D. Padhye, Sharad Agarwal, Ratul Mahajan, Ian Obermiller, Shahin Shayandeh
  • Publication number: 20190349414
    Abstract: 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: Application
    Filed: May 10, 2018
    Publication date: November 14, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Eduardo A. Cuervo Laffaye, Alastair Wolman, Stefan Saroiu, Sharad Agarwal, Paramvir Bahl, Landon Cox
  • Patent number: 10469351
    Abstract: 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: Grant
    Filed: July 6, 2018
    Date of Patent: November 5, 2019
    Assignee: INMOBI PTE. LTD.
    Inventors: Inderbir Singh Pall, Sharad Agarwal
  • Patent number: 10447749
    Abstract: 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: Grant
    Filed: January 2, 2018
    Date of Patent: October 15, 2019
    Assignee: InMobi PTE LTD.
    Inventors: Inderbir Singh Pall, Sharad Agarwal
  • Patent number: 10380266
    Abstract: 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: Grant
    Filed: August 11, 2015
    Date of Patent: August 13, 2019
    Assignee: InMobi PTE Ltd.
    Inventors: Sharad Agarwal, Jaideep Dhok
  • Publication number: 20190122128
    Abstract: 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: Application
    Filed: December 14, 2018
    Publication date: April 25, 2019
    Applicant: InMobi PTE Ltd.
    Inventors: Sharad Agarwal, Jaideep Dhok
  • Publication number: 20190116271
    Abstract: 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: Application
    Filed: December 10, 2018
    Publication date: April 18, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sharad Agarwal, Ming Zhang, Lin Zhong, Ardalan Amiri Sani, Paramvir Bahl
  • Patent number: 10184798
    Abstract: 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: Grant
    Filed: October 28, 2011
    Date of Patent: January 22, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gursharan S. Sidhu, Sharad Agarwal
  • Patent number: 10154153
    Abstract: 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: Grant
    Filed: June 19, 2017
    Date of Patent: December 11, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sharad Agarwal, Ming Zhang, Lin Zhong, Ardalan Amiri Sani, Paramvir Bahl
  • Publication number: 20180316585
    Abstract: 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: Application
    Filed: July 6, 2018
    Publication date: November 1, 2018
    Applicant: InMobi PTE LTD
    Inventors: Inderbir Singh Pall, Sharad Agarwal
  • Patent number: 10082397
    Abstract: 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: Grant
    Filed: June 13, 2016
    Date of Patent: September 25, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gursharan S. Sidhu, Sharad Agarwal