Patents by Inventor Sanjay Sachdev

Sanjay Sachdev 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: 11386365
    Abstract: The disclosed embodiments provide a system for processing a query for a ranking of candidates for an opportunity. During operation, the system obtains parameters associated with a query for a ranking of candidates for an opportunity, wherein the parameters include a candidate and the opportunity. Next, the system matches one or more of the parameters to a fixed number of quantile thresholds calculated from a distribution of scores for the candidates. The system then estimates, based on the fixed number of quantile thresholds, a quantile for a score of the candidate. Finally, the system outputs a position of the candidate within the ranking based on the estimated quantile.
    Type: Grant
    Filed: September 27, 2018
    Date of Patent: July 12, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Arjun K. Kulothungun, Rohan Ramanath, Deepak Dileep Kumar
  • Publication number: 20200401928
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system applies a hash function to a first term to produce a first index into a term offset table. Next, the system obtains, from a first entry at the first index in the term offset table, a first offset of a first record in a log-structured record store. The system retrieves a first UID for the first term from the first record and/or another record that is linked to the first record via a corresponding mapping to the first index. Finally, the system outputs the first UID in association with the first term.
    Type: Application
    Filed: June 19, 2019
    Publication date: December 24, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventor: Sanjay Sachdev
  • Patent number: 10866999
    Abstract: The disclosed embodiments provide a system for processing a query for a ranking of candidates for an opportunity. During operation, the system obtains a set of parameters associated with a query for a ranking of candidates for an opportunity, wherein the set of parameters include a candidate, the opportunity, and a ranking category. Next, the system uses the set of parameters to obtain a set of pre-computed scores for use in generating the ranking and determine a number of online scores required to complete the ranking. The system then generates a set of calls to produce the determined number of the online scores. Finally, the system uses the pre-computed scores and the online scores to generate a result of the query.
    Type: Grant
    Filed: January 18, 2018
    Date of Patent: December 15, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Arjun K. Kulothungun, Jefferson Lai, Srikant Veera Raghavan
  • Publication number: 20200104780
    Abstract: The disclosed embodiments provide a system for processing a query for a ranking of candidates for an opportunity. During operation, the system obtains parameters associated with a query for a ranking of candidates for an opportunity, wherein the parameters include a candidate and the opportunity. Next, the system matches one or more of the parameters to a fixed number of quantile thresholds calculated from a distribution of scores for the candidates. The system then estimates, based on the fixed number of quantile thresholds, a quantile for a score of the candidate. Finally, the system outputs a position of the candidate within the ranking based on the estimated quantile.
    Type: Application
    Filed: September 27, 2018
    Publication date: April 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Arjun K. Kulothungun, Rohan Ramanath, Deepak Dileep Kumar
  • Patent number: 10594665
    Abstract: Techniques are provided for securely obtaining trusted information in an online environment. A first entity stores trusted information from a third entity. A second entity retrieves the trusted information from the first entity. In response to a request from a computing device of the third entity, the first entity identifies a set of attributes selected by the second entity. The first entity identifies, from a profile of the third entity, a set of values that correspond to the set of attributes. The first entity may immediately transmit the set of values to the second entity or may first cause the set of values to be presented to the third entity, for example, in an electronic form. The form may allow some of the values to be editable by the third entity and may prevent other of the values to be edited.
    Type: Grant
    Filed: September 30, 2017
    Date of Patent: March 17, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lihong Pei, Jianchao Lu, Yingfeng Oh, Hardik Bati, Sanjay Sachdev, Divye R. Khilnani, Mark Dietz, Christopher Harris
  • Patent number: 10489219
    Abstract: A data stream processors transition system which implements techniques for transitioning control from a first data stream processor to a second data stream processor. The data stream processors transition system preserves the integrity of data streams produced by first and second data stream processors when transitioning control between the first to the second data stream processors. For example, timestamp information may be provided to the first data stream processor that specifies when the first data stream processor may transfer control to the second data stream processor. The first data stream processor may process events by consuming and publishing results until the time specified by the timestamp information. The second data stream processor may, after the time specified by the timestamp information, process events by consuming and publishing results.
    Type: Grant
    Filed: September 21, 2016
    Date of Patent: November 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Sean Peng
  • Patent number: 10430488
    Abstract: A data center management system is described herein which implements techniques for receiving an event at a first data system and updating data objects stored at another data system. The first data system may receive multiple events within a given a time frame and perform the proper updates to the other data system when certain criteria are met. The data center management system may be responsible for at least two different types of data systems. For example, the first data system may be of the first type of data system and the second data system may be of the second type of data system. The first type of data system may have different technical requirements (e.g., latency, responsiveness, or other requirements), different than the second type of data system.
    Type: Grant
    Filed: July 29, 2016
    Date of Patent: October 1, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Hao Liu
  • Publication number: 20190197191
    Abstract: The disclosed embodiments provide a system for processing a query for a ranking of candidates for an opportunity. During operation, the system obtains a set of parameters associated with a query for a ranking of candidates for an opportunity, wherein the set of parameters include a candidate, the opportunity, and a ranking category. Next, the system uses the set of parameters to obtain a set of pre-computed scores for use in generating the ranking and determine a number of online scores required to complete the ranking. The system then generates a set of calls to produce the determined number of the online scores. Finally, the system uses the pre-computed scores and the online scores to generate a result of the query.
    Type: Application
    Filed: January 18, 2018
    Publication date: June 27, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Arjun K. Kulothungun, Jefferson Lai, Srikant Veera Raghavan
  • Patent number: 10291504
    Abstract: Techniques for monitoring performance of a computer system are provided. Bucket data is stored that indicates that multiple buckets are associated with a particular type of request. Then, multiple requests are received, where a first request and a second request indicate the same type of request. Based on the bucket data, the first request is assigned to a first bucket and the second request is assigned to a second bucket. The assignment may be further based on a complexity determined for each request. First performance data is generated while processing the first request and is aggregated with second performance data that was generated while processing one or more third requests that are assigned to the first bucket. Third performance data is generated while processing the second request and aggregated with fourth performance data that was generated while processing one or more fourth requests that are assigned to the second bucket.
    Type: Grant
    Filed: June 28, 2016
    Date of Patent: May 14, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Alexander Easton, Sean Peng
  • Publication number: 20190104113
    Abstract: Techniques are provided for securely obtaining trusted information in an online environment. A first entity stores trusted information from a third entity. A second entity retrieves the trusted information from the first entity. In response to a request from a computing device of the third entity, the first entity identifies a set of attributes selected by the second entity. The first entity identifies, from a profile of the third entity, a set of values that correspond to the set of attributes. The first entity may immediately transmit the set of values to the second entity or may first cause the set of values to be presented to the third entity, for example, in an electronic form. The form may allow some of the values to be editable by the third entity and may prevent other of the values to be edited.
    Type: Application
    Filed: September 30, 2017
    Publication date: April 4, 2019
    Inventors: Lihong Pei, Jianchao Lu, Yingfeng Oh, Hardik Bati, Sanjay Sachdev, Divye R. Khilnani, Mark Dietz, Christopher Harris
  • Patent number: 10191693
    Abstract: A system, method, and apparatus are provided for performing update operations on variable-length data records stored and indexed to facilitate reverse reading. Each record contains a key offset for each key field, and the key offset stores a reference (e.g., an offset) to the next most recently stored record that has the same value for the key. Key offsets of a new set of records are configured based on the data index and an assumed write location (e.g., an end offset of the data). The data repository is locked and, if no other intervening records were stored, the new ones are written, the index is updated, and the lock is released. If intervening records were stored, the new set of records is adjusted further based on the current index and the current write location, the records are stored, the index is updated, and the lock is released.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: January 29, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Sanjay Sachdev
  • Patent number: 10037388
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a graph of a social network, wherein the graph includes a set of nodes representing users in the social network and a set of edges representing relationships between pairs of the users. Next, the system stores, on a single computer system, a static representation of the graph, wherein the static representation includes a first set of fixed-size blocks representing the nodes and the edges and a first index that maps a set of identifiers for the nodes and the edges to offsets of the first set of fixed-size blocks. The system then uses the static representation of the graph to process, by the single computer system, one or more queries of the graph.
    Type: Grant
    Filed: April 27, 2015
    Date of Patent: July 31, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sanjay Sachdev, Jane Alam Jan, SungJu Cho
  • Patent number: 10037148
    Abstract: A system, method, and apparatus are provided for facilitating reverse reading of sequentially stored variable-length data records. Each record is stored with accompanying size metadata that identifies the size or length of the record. Further, if the length of a given record is greater than a threshold (e.g., 127 bytes when the length is stored with variable-length quantity encoding), such that more than one byte (or other storage unit) is needed to store the record length, an additional byte (or other unit) is configured to store the size/length of the record length (e.g., the number of bytes required to store the record length). The most significant bit of the additional byte is set to 1, so that during reverse reading, the location and size of the record length value can be quickly determined.
    Type: Grant
    Filed: January 5, 2016
    Date of Patent: July 31, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Sanjay Sachdev
  • Publication number: 20180107419
    Abstract: A system, method, and apparatus are provided for performing update operations on variable-length data records stored and indexed to facilitate reverse reading. Each record contains a key offset for each key field, and the key offset stores a reference (e.g., an offset) to the next most recently stored record that has the same value for the key. Key offsets of a new set of records are configured based on the data index and an assumed write location (e.g., an end offset of the data). The data repository is locked and, if no other intervening records were stored, the new ones are written, the index is updated, and the lock is released. If intervening records were stored, the new set of records is adjusted further based on the current index and the current write location, the records are stored, the index is updated, and the lock is released.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 19, 2018
    Applicant: LinkedIn Corporation
    Inventor: Sanjay Sachdev
  • Publication number: 20180081742
    Abstract: A data stream processors transition system which implements techniques for transitioning control from a first data stream processor to a second data stream processor. The data stream processors transition system preserves the integrity of data streams produced by first and second data stream processors when transitioning control between the first to the second data stream processors. For example, timestamp information may be provided to the first data stream processor that specifies when the first data stream processor may transfer control to the second data stream processor. The first data stream processor may process events by consuming and publishing results until the time specified by the timestamp information. The second data stream processor may, after the time specified by the timestamp information, process events by consuming and publishing results.
    Type: Application
    Filed: September 21, 2016
    Publication date: March 22, 2018
    Inventors: Sanjay Sachdev, Sean Peng
  • Patent number: 9892210
    Abstract: A social graph is divided into a series of partial graphs having limited hops and reference counts. For each of a plurality of nodes in the social graph, a partial graph for the node is created having a first degree list of nodes reachable in one hop and a second degree list of nodes reachable in two hops. Reference counts of how many paths exist between the node and each node reachable in two hops are also added to the second degree list. A global inverted index is maintained containing a list of all nodes in the social graph and for each node in the social graph a list of nodes that directly connect to the node. The partial graphs created for each of the plurality of nodes are distributed across a plurality of data servers. An index of which partial graphs are stored on which data servers is maintained.
    Type: Grant
    Filed: November 18, 2014
    Date of Patent: February 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: SungJu Cho, Qingpeng Niu, Andrew Joseph Carter, Sanjay Sachdev
  • Publication number: 20180039663
    Abstract: A system, method, and apparatus are provided for performing set operations on variable-length data that has been stored and indexed to facilitate reverse reading. The set operation is performed on data records having any or all of multiple key/value pairs—such as a union of all data records having the key/value pairs, an intersection, or a difference. For each key/value pair, a tracking entity is initialized to identify a most recently stored record that has the key/value pair. Each record contains a key offset for each key that is common to the records, and the key offset stores an identity (e.g., offset to) the next most recently stored record that has the same value for the key. Each tracking entity is used to support traversal of the data records having the associated key/value pair, during which the set operation is performed to add qualifying records to a result.
    Type: Application
    Filed: August 3, 2016
    Publication date: February 8, 2018
    Applicant: LinkedIn Corporation
    Inventor: Sanjay Sachdev
  • Publication number: 20180032566
    Abstract: A data center management system is described herein which implements techniques for receiving an event at a first data system and updating data objects stored at another data system. The first data system may receive multiple events within a given a time frame and perform the proper updates to the other data system when certain criteria are met. The data center management system may be responsible for at least two different types of data systems. For example, the first data system may be of the first type of data system and the second data system may be of the second type of data system. The first type of data system may have different technical requirements (e.g., latency, responsiveness, or other requirements), different than the second type of data system.
    Type: Application
    Filed: July 29, 2016
    Publication date: February 1, 2018
    Inventors: Sanjay Sachdev, Hao Liu
  • Publication number: 20170371551
    Abstract: A system, method, and apparatus are provided for capturing a snapshot of variable-length data records that are indexed and sequentially stored in a manner that facilitates reverse reading. Each data record has a fixed number of keys, a key offset for each key that leads to another record with the same key value, and size metadata identifying a size of the data record (and possibly the key offsets). An index identifies, for each known value of each key, an index offset to a first entry (e.g., the most recently stored entry) that has the key value. Capturing a snapshot includes identifying a final record within the snapshot (e.g., based on time), copying the index, and pruning it as necessary to omit records not consistent with the snapshot (e.g., to omit data records stored after a final time corresponding to the snapshot).
    Type: Application
    Filed: June 23, 2016
    Publication date: December 28, 2017
    Applicant: LinkedIn Corporation
    Inventor: Sanjay Sachdev
  • Publication number: 20170373960
    Abstract: Techniques for monitoring performance of a computer system are provided. Bucket data is stored that indicates that multiple buckets are associated with a particular type of request. Then, multiple requests are received, where a first request and a second request indicate the same type of request. Based on the bucket data, the first request is assigned to a first bucket and the second request is assigned to a second bucket. The assignment may be further based on a complexity determined for each request. First performance data is generated while processing the first request and is aggregated with second performance data that was generated while processing one or more third requests that are assigned to the first bucket. Third performance data is generated while processing the second request and aggregated with fourth performance data that was generated while processing one or more fourth requests that are assigned to the second bucket.
    Type: Application
    Filed: June 28, 2016
    Publication date: December 28, 2017
    Inventors: Sanjay Sachdev, Alexander Easton, Sean Peng