Patents Assigned to Linkedin Corporation
-
Publication number: 20180144060Abstract: 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: ApplicationFiled: November 23, 2016Publication date: May 24, 2018Applicant: LinkedIn CorporationInventors: Andrew J. Carter, Andrew Rodriguez, Srinath Shankar, Scott M. Meyer
-
Publication number: 20180144061Abstract: 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: ApplicationFiled: November 23, 2016Publication date: May 24, 2018Applicant: LinkedIn CorporationInventors: Andrew Rodriguez, Andrew J. Carter, Scott M. Meyer, Srinath Shankar
-
Publication number: 20180139208Abstract: 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: ApplicationFiled: November 14, 2016Publication date: May 17, 2018Applicant: LinkedIn CorporationInventors: Albert M. Ho, Qi Liu, Mark I. Sandori
-
Publication number: 20180137291Abstract: 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: ApplicationFiled: November 14, 2016Publication date: May 17, 2018Applicant: LinkedIn CorporationInventors: Albert M. Ho, Qi Liu, Mark I. Sandori
-
Publication number: 20180121856Abstract: 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: ApplicationFiled: November 3, 2016Publication date: May 3, 2018Applicant: LinkedIn CorporationInventors: Yongling Song, Brent D. Miller, Andrew J. Carter, Swee B. Lim
-
Publication number: 20180123918Abstract: 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: ApplicationFiled: October 28, 2016Publication date: May 3, 2018Applicant: LinkedIn CorporationInventors: Antonin Steinhauser, Wing H. Li, Jiayu Gong, Xiaohui Long, Joel D. Young
-
Publication number: 20180121311Abstract: 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: ApplicationFiled: October 28, 2016Publication date: May 3, 2018Applicant: LinkedIn CorporationInventors: Jiayu Gong, Xiaohui Long, Wing H. Li, Joel D. Young
-
Publication number: 20180121512Abstract: 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: ApplicationFiled: October 28, 2016Publication date: May 3, 2018Applicant: LinkedIn CorporationInventors: SungJu Cho, Yinyi Wang, Qingpeng Niu, Andrew Rodriguez
-
Publication number: 20180113908Abstract: 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: ApplicationFiled: October 26, 2016Publication date: April 26, 2018Applicant: LinkedIn CorporationInventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer
-
Publication number: 20180115481Abstract: 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: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Applicant: LinkedIn CorporationInventors: Russell I. White, Shafagh Zandi, Zaid A. Kahn
-
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: 20180089252Abstract: 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: ApplicationFiled: September 28, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Yejuan Long, Scott M. Meyer, Yiming Yang, Mihir Sharad Vakharia
-
Publication number: 20180091588Abstract: 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: ApplicationFiled: September 26, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Jiangjie Qin, Aditya A. Auradkar, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
-
Publication number: 20180089331Abstract: 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: ApplicationFiled: September 28, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Yejuan Long, Scott M. Meyer
-
Publication number: 20180091586Abstract: 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: ApplicationFiled: September 26, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Aditya A. Auradkar, Jiangjie Qin, Adem Efe Gencer, Joel J. Koshy, Kartik Paramasivam
-
Publication number: 20180089192Abstract: 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: ApplicationFiled: September 23, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Shaunak Chatterjee, Shilpa Gupta, Aastha Jain, Myunghwan Kim, Souvik Ghosh, Romer E. Rosales-Delmoral, Deepak Agarwal
-
Publication number: 20180089318Abstract: 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: ApplicationFiled: September 23, 2016Publication date: March 29, 2018Applicant: LinkedIn CorporationInventors: Shaunak Chatterjee, Shilpa Gupta, Aastha Jain, Myunghwan Kim
-
Patent number: 9916224Abstract: 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: GrantFiled: September 15, 2015Date of Patent: March 13, 2018Assignee: LinkedIn CorporationInventors: Andrew Macleod, Jasper Lee, Scott Holmes, Arvind Mani, Nikhil Marathe, Yuji Kosuga, Roman Shafigullin
-
Publication number: 20180068005Abstract: 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: ApplicationFiled: September 7, 2016Publication date: March 8, 2018Applicant: LinkedIn CorporationInventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga
-
Patent number: 9910764Abstract: 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: GrantFiled: June 23, 2014Date of Patent: March 6, 2018Assignee: LinkedIn CorporationInventor: Seth McLaughlin