KR20170091912A - System for calculating the number of the local triangular using the terminal resources and method thereof - Google Patents
System for calculating the number of the local triangular using the terminal resources and method thereof Download PDFInfo
- Publication number
- KR20170091912A KR20170091912A KR1020160012791A KR20160012791A KR20170091912A KR 20170091912 A KR20170091912 A KR 20170091912A KR 1020160012791 A KR1020160012791 A KR 1020160012791A KR 20160012791 A KR20160012791 A KR 20160012791A KR 20170091912 A KR20170091912 A KR 20170091912A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- local
- information
- triangles
- server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
Abstract
A method for calculating a local triangle number using terminal resources according to an embodiment of the present invention is a method for calculating a local triangle number using terminal resources, And notifying the second node that a new edge between the first node and the second node is added, updating information of the second node by adding the information of the second node to the previously stored first neighbor set information at the first node, Updating the information of the first node in the second neighbor set information previously stored in the second node to update the second neighbor set information updated in the second node to the second node, Wherein the first neighbor set information and the second neighbor set information are received from the second node, In step, and the first node to obtain the number of the triangular region that is generated by transmitting the number of the information and the triangular area of the common neighboring node to the server.
Description
BACKGROUND OF THE
In today's Internet of Things (IoT) environment, various devices connect to the Internet to produce and collect data in real time. The produced and collected data can be sent to the server and analyzed and usefully used. At this time, the server can calculate the number of local triangles by counting the connection relationship between the nodes. Here, a local triangle refers to a triangle containing the node for each node in the graph. At this time, the number of the calculated local triangles is applied to various examples such as spam detection, fake account detection, community detection, and anomaly detection.
The server manages a graph composed of a plurality of nodes, which include connections (edges, edges) between nodes and nodes. In the past, it was a way of collecting the shape of the graph on the server, regardless of how accurate the calculation was, regardless of how much memory was used to analyze the graph.
For example, assume that there is a server and a plurality of nodes (u node, w node, v node) as shown in FIG. 1, and an edge connecting a u node and a w node is configured. At this time, when a new edge (e = (u, v)) connecting the u node and the v node is added, the server updates the number of the local triangles through the process shown in FIG.
Specifically, the server adds neighboring neighbor information based on the neighbor set information Nu of the u node and the edge e added to the neighbor set information Nv of the v node (S201). Then, the server obtains a common neighbor node (intersection) N of the neighbor set information Nu of the u node and the neighbor set information Nv of the v node (S202). The number of the local triangles stored in each of the u-node and the v-node is updated through the common neighbor node (S20) (S203). At this time, it is obvious that the new triangle generated by the new edge (e) is formed by neighboring common neighbor nodes of both nodes (u and v nodes). Thereafter, the number of the local triangles stored in the common neighbor node (w node) of the u node and the v node is updated (S204). Here, a common neighbor node adds 1 to its local triangle count.
Through this process, the number of local triangles can be calculated accurately. However, as described above, the shape of all the graphs must be uploaded to the server memory before the above calculations are possible. In the case of Facebook, a typical SNS service company, the number of actual users (nodes) is about one billion, and the relationship (edge) is theoretically (one billion) 2/2.
However, as the number of nodes and edges increases, the size of the graph itself increases, and it becomes difficult to analyze the shape of all the graphs in the server memory at once. And, when the addition and deletion of edges occur dynamically, the computation of the change must be made continuously, and such an operation is also not easy.
In this way, since the shape of the graph can not be placed on the server memory and can not be compared, it is possible to predict a local triangle using a much smaller graph using a sampling method. The sampling method is not to calculate all the graphs in the server's memory but to calculate the number of local triangles by selecting the edges with a certain probability and to calculate the corrected values by using the calculation formulas in the calculated results. This approach can reduce the memory requirement, but it can obtain a fairly accurate number of local triangles at the time of calculation.
However, this sampling method is only an estimation value and there is an error, and it saves a lot of memory, but it is heavy on a server.
It is an object of the present invention to provide a system and a method for calculating the number of local triangles by utilizing memory and computing resources held by a terminal or a user corresponding to a node.
According to an aspect of the present invention, there is provided a method for calculating a local triangle number using terminal resources, the method comprising: transmitting, to a first node and a second node in a server, notification of addition of a new edge between the first node and the second node; Updating information of the second node by adding information of the second node to the previously stored first neighbor set information at the first node and updating information by adding the information of the first node to the previously stored second neighbor set information at the second node, Transmitting the second neighbor set information updated at the second node to the second node, receiving the second neighbor set information received from the second node at the first node, Obtaining a number of local triangles generated by the common neighbor node and the common neighbor node based on the information, The number of information and the triangle area and a step of transmitting to the server.
The method of calculating a local triangle number using the terminal resource may further include updating the number of the local triangles in the first local triangle information previously stored in the first node.
The method comprising the steps of: transmitting the number of the local triangles at the first node to the second node using the terminal resource, and transmitting the number of the local triangles received at the second node, And updating the number of triangles.
The method for calculating the number of regional triangles using the terminal resource further includes updating the shape of the graph based on the information of the common neighbor node received from the server and the number of the local triangles.
The method comprising the steps of: informing each of the common neighbor nodes of the number of the local triangles by 1 in the server, calculating a local triangle number using the terminal resources, And adding 1 to the number of local triangles included in the information.
Wherein the step of informing the addition of the new edge is that when an edge connection is requested between the first node and the second node from at least one of the first and second nodes, To be added.
According to another aspect of the present invention, there is provided a method for calculating a local triangle number using terminal resources, the method comprising: informing a first node of a server that a new edge between the first node and a second node is added; Transmitting second neighbor set information stored in the second node to the first node in the server by adding information of the second node to the previously stored first neighbor set information in the first node, Obtaining the number of local triangles generated by the common neighbor node and the common neighbor node based on the updated first neighbor set information and the updated second neighbor set information at the first node, And transmitting the information of the common neighbor node and the number of the local triangles to the server.
The method for calculating a local triangle number using the terminal resource may further comprise updating the number of the local triangles in the first local triangle information at the first node.
The method for calculating the number of regional triangles using the terminal resource further includes updating the shape of the graph based on the information of the common neighbor node received from the server and the number of the local triangles.
The method for calculating a local triangle number using the terminal resource further includes informing the server that the new edge is added to the second node and transmitting the number of the local triangles to the second node.
Wherein the local triangulation number calculation method using the terminal resource further comprises updating the first node information by adding the information of the first node to the second neighbor set information at the second node, And updating the number.
The method comprising the steps of: informing each of the common neighbor nodes in the server that the number of the local triangles is incremented by one, and transmitting a third region stored in the third node included in the common neighbor node, And adding 1 to the number of local triangles included in the triangle information.
The step of informing that the new edge is added informs the first node that the new edge is added when an edge connection is requested from the outside to the first node and the second node.
According to the embodiment of the present invention, the large-scale graph analysis can be accurately and efficiently performed by avoiding the method of obtaining the local triangles all over the server and utilizing the resources of the node terminals for distributed processing.
1 is a first reference diagram for explaining a conventional method of calculating a local triangle number.
FIG. 2 is a second reference diagram for explaining a conventional method of calculating a local triangle number. FIG.
3 is a block diagram of a system for calculating the number of regional triangles using terminal resources according to an embodiment of the present invention.
FIG. 4 is a flowchart illustrating a method of calculating a local triangular number using terminal resources according to an embodiment of the present invention. FIG.
FIG. 5 is a flowchart illustrating a method of calculating a local triangular number using terminal resources according to another embodiment of the present invention. FIG.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. And is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined by the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. It is noted that " comprises, " or "comprising," as used herein, means the presence or absence of one or more other components, steps, operations, and / Do not exclude the addition.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are given to the same or similar components, and in the following description of the present invention, Detailed explanations of the detailed description will be omitted when the gist of the present invention can be obscured.
FIG. 3 is an overall configuration diagram of a local triangular number calculation system utilizing terminal resources according to an embodiment of the present invention.
3, the system for calculating a local triangle number using terminal resources according to an exemplary embodiment of the present invention includes a
Here, the nodes (the first to
In addition, each of the nodes (first to
In addition, each of the nodes (the first to
Meanwhile, in the present invention, when edge is added or deleted between nodes, description will be made of a technique of calculating the number of local triangles by utilizing memory and computing resources possessed by a terminal or a user corresponding to the node. That is, according to the embodiment of the present invention, the shape of the graph can be divided or stored in the node or downloaded from the server, and the number of the local triangles can be calculated in the node instead of the server.
Hereinafter, for convenience of explanation, it is assumed that a new edge (e = u, v) between the
4 is a flowchart illustrating a method of calculating a local triangle number using terminal resources according to an exemplary embodiment of the present invention.
First, a request is made to add a new edge e between the
Upon receiving the request to add a new edge e, the
For example, the
Accordingly, the
In addition, the
The
Since the obtained result changes the shape of the graph and the number of the local hanger angles, the
The
In addition, each of the
In addition, the
Accordingly, the
As another method of calculating the number of local triangles using terminal resources, there is a method of reducing the shape of a graph in the
Hereinafter, a method for calculating the number of local triangles using terminal resources according to another embodiment of the present invention will be described with reference to FIG.
5 is a flowchart illustrating a method of calculating a local triangle number using terminal resources according to another embodiment of the present invention.
First, a request is made to add a new edge e between the
The
Accordingly, the
Since the obtained result changes the shape of the graph and the number of the local hanger angles, the
The
In addition, the
Meanwhile, the
Accordingly, the
In addition, the
Accordingly, the
This scheme increases the workload of the
In addition, the present invention encompasses various variants of calculating the number of distributed processing region triangles including these key elements. For example, there may be various variations such as a method of slightly changing the posterior relationship of the step or further increasing the role of the server.
As described above, according to the embodiment of the present invention, the large-scale graph analysis can be performed accurately and efficiently by avoiding the method in which the server obtains the local triangles all over and utilizing the resources of the node terminals to perform distributed processing.
For example, the embodiment of the present invention can be applied when detecting a spam account in the SNS service. Here, a user terminal using a SNS service or a browser is a node, and a server for providing an SNS service exists at the top.
In the local triangle counting method for detecting a spam account, a list of its friends (neighbors) is recorded in the storage space of each user terminal or browser, and the number of local triangles is recorded. At this time, the shape of the graph may be dispersively recorded in the node (terminal). Also, the establishment of a new friend relationship may be a situation where a new edge (e = (u, v)) is added. In the past, the server is performing graph analysis to search for spam accounts. According to the embodiment of the present invention, the graph analysis can be effectively and accurately performed using the user terminal to search spam accounts.
While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It is to be understood that the invention may be embodied in other specific forms. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description, and all changes or modifications derived from the scope of the claims and their equivalents should be construed as being included within the scope of the present invention.
110: server 121: first node
122: second node 123: third node
Claims (13)
Adding and updating information of the second node to the previously stored first neighbor set information at the first node and adding and updating information of the first node to the previously stored second neighbor set information at the second node ;
Transmitting the updated second neighbor set information from the second node to the second node;
Obtaining the number of local triangles generated by the common neighbor node and the common neighbor node based on the second neighbor set information and the first neighbor set information received from the second node at the first node; And
Transmitting the information of the common neighbor node and the number of the local triangles to the server at the first node;
A method for calculating the number of local triangles using terminal resources including.
Updating the number of the local triangles in the first local triangle information previously stored in the first node;
And calculating the number of local triangles using the terminal resource.
Transmitting the number of the local triangles to the second node at the first node; And
Updating the number of the local triangles received in the second local triangle information previously stored at the second node;
And calculating the number of local triangles using the terminal resource.
Updating the shape of the graph based on the information of the common neighbor node received from the server and the number of the local triangles;
And calculating the number of local triangles using the terminal resource.
Informing each of the common neighbor nodes of the server that the number of the local triangles is incremented by one; And
Adding 1 to the number of the local triangles included in the previously stored third region triangle information at the third node included in the common neighbor node;
And calculating the number of local triangles using the terminal resource.
Informing the first and second nodes that the new edge is added if at least one of the first and second nodes requests an edge connection between the first node and the second node
A method for calculating the number of local triangles using terminal resources.
Transmitting, by the server, second neighbor set information stored in the second node to the first node;
Adding and updating information of the second node to the previously stored first neighbor set information at the first node;
Obtaining the number of local triangles generated by the common neighbor node and the common neighbor node based on the updated first neighbor set information and the updated second neighbor set information at the first node; And
Transmitting the information of the common neighbor node and the number of the local triangles to the server at the first node;
A method for calculating the number of local triangles using terminal resources including.
Updating the number of the local triangles in the first local triangle information at the first node;
And calculating the number of local triangles using the terminal resource.
Updating the shape of the graph based on the information of the common neighbor node received from the server and the number of the local triangles;
And calculating the number of local triangles using the terminal resource.
Notifying the server of the addition of the new edge to the second node and transmitting the number of the local triangles to the second node
And calculating the number of local triangles using the terminal resource.
Updating information of the first node to the second neighbor set information at the second node and updating the number of the received local triangles in the previously stored second local triangle information;
And calculating the number of local triangles using the terminal resource.
Informing each of the common neighbor nodes of the server that the number of the local triangles is incremented by one; And
Adding 1 to the number of the local triangles included in the previously stored third region triangle information at the third node included in the common neighbor node;
A method for calculating the number of local triangles using the terminal resources further included.
If an edge connection between the first node and the second node is requested from the outside, informing the first node that the new edge is added
A method for calculating the number of local triangles using terminal resources.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160012791A KR101940802B1 (en) | 2016-02-02 | 2016-02-02 | System for calculating the number of the local triangular using the terminal resources and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160012791A KR101940802B1 (en) | 2016-02-02 | 2016-02-02 | System for calculating the number of the local triangular using the terminal resources and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170091912A true KR20170091912A (en) | 2017-08-10 |
KR101940802B1 KR101940802B1 (en) | 2019-01-22 |
Family
ID=59652412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160012791A KR101940802B1 (en) | 2016-02-02 | 2016-02-02 | System for calculating the number of the local triangular using the terminal resources and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101940802B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993338A (en) * | 2017-12-29 | 2019-07-09 | 中移(苏州)软件技术有限公司 | A kind of link prediction method and device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130066352A (en) * | 2011-12-12 | 2013-06-20 | 건국대학교 산학협력단 | System and method for triangle counting sampling by using map-reduce |
KR20150065261A (en) * | 2013-12-05 | 2015-06-15 | 건국대학교 산학협력단 | Apparatus and method for denial of service defense using triangle counting |
-
2016
- 2016-02-02 KR KR1020160012791A patent/KR101940802B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130066352A (en) * | 2011-12-12 | 2013-06-20 | 건국대학교 산학협력단 | System and method for triangle counting sampling by using map-reduce |
KR20150065261A (en) * | 2013-12-05 | 2015-06-15 | 건국대학교 산학협력단 | Apparatus and method for denial of service defense using triangle counting |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993338A (en) * | 2017-12-29 | 2019-07-09 | 中移(苏州)软件技术有限公司 | A kind of link prediction method and device |
CN109993338B (en) * | 2017-12-29 | 2021-08-06 | 中移(苏州)软件技术有限公司 | Link prediction method and device |
Also Published As
Publication number | Publication date |
---|---|
KR101940802B1 (en) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492380B (en) | Equipment authentication method and device and block link point | |
CN107169094B (en) | Information aggregation method and device | |
CN113807538B (en) | Federal learning method, federal learning device, electronic equipment and storage medium | |
US9729500B2 (en) | IP allocation pools | |
US10939228B2 (en) | Mobile device location proofing | |
CN106528289B (en) | Resource operation processing method and device | |
CN110601978B (en) | Flow distribution control method and device | |
CN104283723A (en) | Network access log processing method and device | |
CN111083179B (en) | Internet of things cloud platform, and equipment interaction method and device based on same | |
US20180013610A1 (en) | File delivery method, apparatus and system | |
US10452726B2 (en) | In-network semantic mashup for an information-centric networking (ICN) network | |
CN104243598A (en) | Information recommendation method and device | |
CN103139081A (en) | Update method and nodes for distributed hash table routing lists | |
WO2014151507A1 (en) | System and method for omni-channel identity matching | |
WO2019108892A1 (en) | Identifying devices on a remote network | |
CN110674427B (en) | Method, device, equipment and storage medium for responding to webpage access request | |
CN105100002A (en) | Attribute operation method and device | |
Jiang et al. | Connectivity-based skeleton extraction in wireless sensor networks | |
CN109471713B (en) | Method and device for inquiring information | |
KR101940802B1 (en) | System for calculating the number of the local triangular using the terminal resources and method thereof | |
CN105530323A (en) | File upgrading method, related equipment and system | |
CN103997517A (en) | CDN-node file synchronization method and device | |
US20180124576A1 (en) | Method and apparatus for implementing member resource processing | |
CN110888892A (en) | Block synchronization method, device and storage medium | |
CN107682271B (en) | Method and device for generating routing line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |