Patents Assigned to LinkedIn
  • Publication number: 20180144060
    Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system processes the query by matching a query time of the query to a virtual time in a log-based representation of the graph database. Next, the system uses an edge store for the graph database to access a subset of the edges matching the query. The system then generates a result of the query by materializing updates to the subset of the edges before the virtual time and provides the result in a response to the query.
    Type: Application
    Filed: November 23, 2016
    Publication date: May 24, 2018
    Applicant: LinkedIn Corporation
    Inventors: Andrew J. Carter, Andrew Rodriguez, Srinath Shankar, Scott M. Meyer
  • Publication number: 20180144061
    Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system performs a lookup of a hash map to obtain one or more offsets into an edge store for the graph database, which includes a one-linkage structure and a two-linkage structure. Next, the system accesses the offset(s) in the edge store to obtain a subset of the edges matching the query. The system then uses the subset of the edges to generate a result of the query and provides the result in a response to the query.
    Type: Application
    Filed: November 23, 2016
    Publication date: May 24, 2018
    Applicant: LinkedIn Corporation
    Inventors: Andrew Rodriguez, Andrew J. Carter, Scott M. Meyer, Srinath Shankar
  • Publication number: 20180137291
    Abstract: The disclosed embodiments provide a system for managing access to a remote storage system. During operation, the system receives a first request from a user to write a file to a remote storage system. Next, the system receives a first encrypted version of the file from a client associated with the first request. The system then decrypts the first encrypted version to obtain an unencrypted version of the file and uses the unencrypted version to generate a second encrypted version of the file. Finally, the system writes the second encrypted version to a file store and stores metadata for the file in a virtual filesystem that is physically separate from the file store.
    Type: Application
    Filed: November 14, 2016
    Publication date: May 17, 2018
    Applicant: LinkedIn Corporation
    Inventors: Albert M. Ho, Qi Liu, Mark I. Sandori
  • Publication number: 20180139208
    Abstract: The disclosed embodiments provide a system for managing access to a remote storage system. During operation, the system receives a request from a user to access a remote storage system. Next, the system matches one or more parameters in the request to metadata in a virtual filesystem in the remote storage system.
    Type: Application
    Filed: November 14, 2016
    Publication date: May 17, 2018
    Applicant: LinkedIn Corporation
    Inventors: Albert M. Ho, Qi Liu, Mark I. Sandori
  • Publication number: 20180121512
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a group of two or more integer values. Next, the system sets, for each integer value in the two or more integer values, a delta encoding tag that represents a delta encoding of the integer value with respect to at least one other integer value in the group and uses a delta encoding state represented by the delta encoding tag to calculate an encoded value from the integer value. The system then encodes a length of the encoded value in a length tag for the integer value. Finally, the system replaces the integer value in the group with an encoded version containing the delta encoding tag, the length tag, and the encoded value.
    Type: Application
    Filed: October 28, 2016
    Publication date: May 3, 2018
    Applicant: LinkedIn Corporation
    Inventors: SungJu Cho, Yinyi Wang, Qingpeng Niu, Andrew Rodriguez
  • Publication number: 20180123918
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system generates, from a set of traces of an asynchronous workflow, a graph-based representation of the asynchronous workflow. Next, the system uses a set of causal relationships in the asynchronous workflow to update the graph-based representation. The system then analyzes the updated graph-based representation to identify a set of high-latency paths in the asynchronous workflow. Finally, the system uses the set of high-latency paths to output an execution profile for the asynchronous workflow, wherein the execution profile includes a subset of tasks associated with the high-latency paths in the asynchronous workflow.
    Type: Application
    Filed: October 28, 2016
    Publication date: May 3, 2018
    Applicant: LinkedIn Corporation
    Inventors: Antonin Steinhauser, Wing H. Li, Jiayu Gong, Xiaohui Long, Joel D. Young
  • Publication number: 20180121856
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains, for a time interval, a set of performance metrics for one or more monitored systems. Next, the system aggregates the performance metrics by a processing factor associated with execution of the monitored system(s). The system then uses the aggregated performance metrics to calculate a performance score associated with the processing factor. Finally, the system outputs the performance score with other performance scores for other performance factors associated with execution of the one or more monitored systems for use in assessing the performance of the monitored system(s).
    Type: Application
    Filed: November 3, 2016
    Publication date: May 3, 2018
    Applicant: LinkedIn Corporation
    Inventors: Yongling Song, Brent D. Miller, Andrew J. Carter, Swee B. Lim
  • Publication number: 20180121311
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a set of latencies for a set of requests in a multi-phase parallel task. Next, the system includes the latencies in a graph-based representation of the multi-phase parallel task. The system then analyzes the graph-based representation to identify a set of high-latency paths in the multi-phase parallel task. Finally, the system uses the set of high-latency paths to output an execution profile for the multi-phase parallel task, wherein the execution profile includes a subset of the requests associated with the high-latency paths.
    Type: Application
    Filed: October 28, 2016
    Publication date: May 3, 2018
    Applicant: LinkedIn Corporation
    Inventors: Jiayu Gong, Xiaohui Long, Wing H. Li, Joel D. Young
  • Publication number: 20180115481
    Abstract: The disclosed embodiments provide a system for transmitting a link state message in a network. During operation, the system obtains a network topology for the network. Next, the system uses the network topology to identify a reflood set of neighbors of the flooding node for reaching a set of two-hop neighbors of the flooding node. The system then transmits a link state message with an indication to reflood the link state message to the reflood set of neighbors. Finally, the system transmits the link state message without the indication to reflood to remaining neighbors of the flooding node that form a non-reflood set.
    Type: Application
    Filed: October 24, 2016
    Publication date: April 26, 2018
    Applicant: LinkedIn Corporation
    Inventors: Russell I. White, Shafagh Zandi, Zaid A. Kahn
  • Publication number: 20180113908
    Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for providing the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system receives a query containing a missing value parameter, wherein the missing value parameter designates an attribute in the graph database with a nonexistent value. The system then produces, from the query, a transformed query comprising one or more parameters that do not include the missing value parameter. Finally, the system uses the transformed query and the graph database to generate a result of the query and provides the result in a response to the query.
    Type: Application
    Filed: October 26, 2016
    Publication date: April 26, 2018
    Applicant: LinkedIn Corporation
    Inventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer
  • 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: 20180089318
    Abstract: The disclosed embodiments provide a system for facilitating interaction within a social network. During operation, the system identifies a first member of a social network with a first activity level that is lower than a threshold. Next, the system uses the first activity level to boost a score associated with recommending an interaction with the first member to a second member of the social network. The system then uses the boosted score to generate output for modulating subsequent interactions in the social network.
    Type: Application
    Filed: September 23, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Shaunak Chatterjee, Shilpa Gupta, Aastha Jain, Myunghwan Kim
  • Publication number: 20180091588
    Abstract: A system, apparatus, and methods are provided for balancing partition distribution across nodes within a message broker cluster so as to balance the broker nodes' workloads. During operation, the system receives a stream of messages at the cluster, wherein the message stream is divided into topics, the topics are divided into partitions, and replicas for each partition are distributed among the nodes of the message brokering cluster. Upon detection of an imbalance in the nodes' workloads by a monitor (e.g., as indicated by uneven resource consumption), an analyzer considers various possible remedies (e.g., reassigning/demoting/promoting a replica), estimates their likely impacts on the workload, and determines whether they satisfy hard and/or soft goals of the system. The analyzer generates a plan that satisfies the hard goals and that may satisfy some or all soft goals, and passes it to an executor for implementation.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Jiangjie Qin, Aditya A. Auradkar, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
  • Publication number: 20180089331
    Abstract: The disclosed embodiments provide a system that searches a graph database. During operation, the system obtains a log-based representation of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system obtains a first query containing a first search pattern for searching the log-based representation. The system then matches the first search pattern to one or more records in the log-based representation. Finally, the system outputs, as a first result of the first query, the one or more records in a subgraph of the graph.
    Type: Application
    Filed: September 28, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Yejuan Long, Scott M. Meyer
  • Publication number: 20180089192
    Abstract: The disclosed embodiments provide a system for facilitating interaction within a social network. During operation, the system obtains a set of features associated with two members of a social network, wherein the features comprise a member feature and an activity feature. Next, the system analyzes the features to predict an effect of a potential interaction between the two members on subsequent interactions between the two members in the social network. The system then uses the predicted effect to generate output for modulating the subsequent interactions in the social network.
    Type: Application
    Filed: September 23, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Shaunak Chatterjee, Shilpa Gupta, Aastha Jain, Myunghwan Kim, Souvik Ghosh, Romer E. Rosales-Delmoral, Deepak Agarwal
  • Publication number: 20180091586
    Abstract: A system, apparatus, and methods are provided for self-healing and balancing partition distribution across nodes within a message broker cluster. During operation, the system receives a stream of messages at the message brokering cluster, wherein the message stream is divided into partitions and replicas for each partition are distributed among a set of nodes within the message brokering cluster. Responsive to a change in the number of nodes within the message brokering cluster, the system (1) determines a set of replicas to be migrated within the message brokering cluster, (2) divides the set of replicas into multiple chunks, wherein each chunk includes one or more of the replicas to be migrated to a new node, and (3) migrates the set of replicas one chunk at a time, wherein replicas not corresponding to the single chunk do not begin migrating until all replicas within the single chunk finish migrating.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Aditya A. Auradkar, Jiangjie Qin, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
  • Publication number: 20180089252
    Abstract: The disclosed embodiments provide a system that verifies correctness in a graph database. During operation, the system obtains a set of records from a source of truth for a graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system uses the records to automatically generate a set of test cases containing a set of queries of the graph database. The system then transmits the queries to the graph database and receives, from the graph database, a set of query results in response to the queries. Finally, the system performs a comparison of the query results and a set of expected results of the test cases to verify a correctness of the graph database.
    Type: Application
    Filed: September 28, 2016
    Publication date: March 29, 2018
    Applicant: LinkedIn Corporation
    Inventors: Yejuan Long, Scott M. Meyer, Yiming Yang, Mihir Sharad Vakharia
  • Patent number: 9916224
    Abstract: Techniques are provided for integrating source code analysis tools with a code review tool. A user submits a code change to the code review tool and one or more code analysis tools are automatically initiated to analyze the changed code. Results of the code analysis tool(s) are automatically provided back to the code review tool. Additionally or alternatively, one or more tests are automatically run to test one or more executables that are based on the changed code. Results of the test(s) are automatically provided to the code review tool. In this way, an effect of a code change is automatically determined and available for review along with the code change. The results of any code analysis tools and/or tests may be posted synchronously or asynchronously with the corresponding code change.
    Type: Grant
    Filed: September 15, 2015
    Date of Patent: March 13, 2018
    Assignee: LinkedIn Corporation
    Inventors: Andrew Macleod, Jasper Lee, Scott Holmes, Arvind Mani, Nikhil Marathe, Yuji Kosuga, Roman Shafigullin
  • Publication number: 20180068005
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a set of partitions containing a set of records, wherein the records include a set of values for a measure and a set of dimensions associated with the values. Next, the system reorganizes the records across the partitions by performing a distributed sort of the records by the measure. For each dimensional subset in the records, the system counts occurrences of the dimensional subset in each of the partitions and groups values of the counted occurrences by the dimensional subset so that the values reside in a single processing node. The system uses the values to identify one or more locations in the partitions for calculating a statistic for the dimensional subset and uses the location(s) to calculate the statistic. Finally, the system outputs the statistic in response to a query containing the dimensional subset.
    Type: Application
    Filed: September 7, 2016
    Publication date: March 8, 2018
    Applicant: LinkedIn Corporation
    Inventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga
  • Patent number: 9910764
    Abstract: Disclosed in some examples are systems, machine readable mediums and methods which automate testing of web-based application code by automatically generating test harnesses based on a specified configuration and test script, hosting the test harness, causing the test harness to be run to test the code, and delivering the test results to the user. In some examples, the specified conditions may specify one or more test environments corresponding to an execution environment. This allows users greater flexibility in support of testing libraries and support of testing environments. The end users of the software under test will be provided software that is better tested for many different environments.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: March 6, 2018
    Assignee: LinkedIn Corporation
    Inventor: Seth McLaughlin