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: 11386365Abstract: 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: GrantFiled: September 27, 2018Date of Patent: July 12, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Arjun K. Kulothungun, Rohan Ramanath, Deepak Dileep Kumar
-
Publication number: 20200401928Abstract: 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: ApplicationFiled: June 19, 2019Publication date: December 24, 2020Applicant: Microsoft Technology Licensing, LLCInventor: Sanjay Sachdev
-
Patent number: 10866999Abstract: 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: GrantFiled: January 18, 2018Date of Patent: December 15, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Arjun K. Kulothungun, Jefferson Lai, Srikant Veera Raghavan
-
Publication number: 20200104780Abstract: 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: ApplicationFiled: September 27, 2018Publication date: April 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Arjun K. Kulothungun, Rohan Ramanath, Deepak Dileep Kumar
-
Patent number: 10594665Abstract: 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: GrantFiled: September 30, 2017Date of Patent: March 17, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Lihong Pei, Jianchao Lu, Yingfeng Oh, Hardik Bati, Sanjay Sachdev, Divye R. Khilnani, Mark Dietz, Christopher Harris
-
Patent number: 10489219Abstract: 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: GrantFiled: September 21, 2016Date of Patent: November 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Sean Peng
-
Patent number: 10430488Abstract: 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: GrantFiled: July 29, 2016Date of Patent: October 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Hao Liu
-
Publication number: 20190197191Abstract: 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: ApplicationFiled: January 18, 2018Publication date: June 27, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Arjun K. Kulothungun, Jefferson Lai, Srikant Veera Raghavan
-
Patent number: 10291504Abstract: 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: GrantFiled: June 28, 2016Date of Patent: May 14, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Alexander Easton, Sean Peng
-
Publication number: 20190104113Abstract: 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: ApplicationFiled: September 30, 2017Publication date: April 4, 2019Inventors: Lihong Pei, Jianchao Lu, Yingfeng Oh, Hardik Bati, Sanjay Sachdev, Divye R. Khilnani, Mark Dietz, Christopher Harris
-
Patent number: 10191693Abstract: 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: GrantFiled: October 14, 2016Date of Patent: January 29, 2019Assignee: Microsoft Technology Licensing, LLCInventor: Sanjay Sachdev
-
Patent number: 10037388Abstract: 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: GrantFiled: April 27, 2015Date of Patent: July 31, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Sanjay Sachdev, Jane Alam Jan, SungJu Cho
-
Patent number: 10037148Abstract: 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: GrantFiled: January 5, 2016Date of Patent: July 31, 2018Assignee: Microsoft Technology Licensing, LLCInventor: Sanjay Sachdev
-
Publication number: 20180107419Abstract: 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: ApplicationFiled: October 14, 2016Publication date: April 19, 2018Applicant: LinkedIn CorporationInventor: Sanjay Sachdev
-
Publication number: 20180081742Abstract: 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: ApplicationFiled: September 21, 2016Publication date: March 22, 2018Inventors: Sanjay Sachdev, Sean Peng
-
Patent number: 9892210Abstract: 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: GrantFiled: November 18, 2014Date of Patent: February 13, 2018Assignee: Microsoft Technology Licensing, LLCInventors: SungJu Cho, Qingpeng Niu, Andrew Joseph Carter, Sanjay Sachdev
-
Publication number: 20180039663Abstract: 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: ApplicationFiled: August 3, 2016Publication date: February 8, 2018Applicant: LinkedIn CorporationInventor: Sanjay Sachdev
-
Publication number: 20180032566Abstract: 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: ApplicationFiled: July 29, 2016Publication date: February 1, 2018Inventors: Sanjay Sachdev, Hao Liu
-
Publication number: 20170371551Abstract: 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: ApplicationFiled: June 23, 2016Publication date: December 28, 2017Applicant: LinkedIn CorporationInventor: Sanjay Sachdev
-
Publication number: 20170373960Abstract: 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: ApplicationFiled: June 28, 2016Publication date: December 28, 2017Inventors: Sanjay Sachdev, Alexander Easton, Sean Peng