Abstract:
In order to resolve the problems of the inefficiency in confirming a request to establish a social relationship by a user and inadequacy of parameters provided for authentication under existing technologies, the present disclosure provides a method and apparatus which employs a social network server for determining relationship chain information indicative of an indirect social network relationship between a first client and a second client and for forwarding the authentication request message and the obtained relationship chain information to the second client.

Description:
CROSS REFERENCE TO RELATED PATENT APPLICATIONS 
     This application is a national stage application of an international patent application PCT/US10/34514, filed May 12, 2010, which claims priority from Chinese Patent Application No. 200910147251.1, filed Jun. 12, 2009, entitled “METHOD AND APPARATUS FOR PROCESSING AUTHENTICATION REQUEST MESSAGE IN A SOCIAL NETWORK,” which applications are hereby incorporated in their entirety by reference. 
     TECHNICAL FIELD 
     The present disclosure relates to Internet-based technologies and, more particularly, to a method and an apparatus for processing authentication request messages in a social network. 
     BACKGROUND 
     In the existing Internet-based environment, the social network formed by online netizens has evolved beyond the simple connection between individual subscribers, and involves one-to-many and many-to-many relationships. A social network includes online users and their related networks, such as instant message (IM) systems and Internet SNS (Social Network Service) communities based on WEB2.0. Taking an IM application for example, before its subscribers intercommunicate and exchange information through their respective IM clients, the IM application typically requires certain bilateral social network relationship between the subscribers who are about to communicate with each other, in order to accelerate orientation of communicating parties and prevent subscribers from sending spam information and/or harassing messages. In light of the rules of the current IM applications, when user A intends to initiate communication with user B who is not within his/her social relationship table, it is necessary for user A to ask for user B&#39;s consent to build a certain social relationship. To that end, user A typically sends user B an authentication request message, which expresses his/her intention to be a subscriber having certain social relationship with user B. Only when user B authenticates user A&#39;s authentication request message, will user A be allowed to access user B through user A&#39;s social relationship table and initiate communication with user B. 
     During the process where user A applies to be a user having certain social relationship with user B, the only way for user B to know about user A&#39;s identification and other information by which user B can decide whether or not to build the social relationship with user A is through the authentication request message manually input by user A. In other words, traditionally, the authentication request message is completely subject to user A&#39;s manual input, and it is impossible for the system to automatically acquire user A&#39;s identification and the social relationship between user A and user B. On one hand, this causes inefficiency in building social relationship between two subscribers. On the other hand, there is no way to provide sufficient parameter for user B to make decision about user A&#39;s authentication request message. 
     SUMMARY 
     In order to resolve the problems of the inefficiency in confirming request to establish social relationship by a user and inadequacy of parameter provided for authentication under existing technologies, one embodiment of the present disclosure provides a method for processing an authentication request message in a social network. The method includes the following: 
     A social network server receives the authentication request message sent by a first client to a second client to establish a social relationship with the second client. 
     The social network server determines a relationship chain information indicative of an indirect social network relationship between the first client and the second client. 
     The social network server forwards the authentication request message and the obtained relationship chain information to the second client, where the relationship chain information is used by the second client to authenticate the authentication request message. 
     At the same time, the present disclosure also provides an apparatus for processing authentication request messages in a social network. The apparatus includes: 
     An acquisition module that obtains a relationship chain information indicative of an indirect social network relationship between a first client and a second client after obtaining the authentication request message sent by the first client to the second client to establish a social relationship with the second client. 
     A sending module that forwards the authentication request message and the obtained relationship chain information to the second client, the relationship chain information being used by the second client to authenticate the authentication request message. 
     Through the embodiments of the present disclosure as recited above, when detecting that the first client sends an authentication request message to the second client requesting to establish a social relationship with the second client, the social network server automatically obtains the relationship chain information representing the indirect social network relationship between the first client and the second client, and presents it to the second client. This increases the parameters according to which the second client decides whether or not to authenticate the authentication request message from the first client. This also improves the efficiency in establishing social network relationship between the first client and the second client. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a network topology diagram in accordance with a first embodiment of the present disclosure. 
         FIG. 2  is a flow chart of a method in accordance with a first embodiment of the present disclosure. 
         FIG. 3  is a schematic drawing showing a relationship chain in a social network of the present disclosure. 
         FIG. 4  is a flow chart of a method in accordance with a second embodiment of the present disclosure. 
         FIG. 5  is a structural diagram of an apparatus in accordance with a third embodiment of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A first embodiment of the present disclosure provides a method  100  for processing an authentication request message in a social network. As implemented in the network topology of  FIG. 1 , the network includes a social network server and a plurality of clients. The method  100  as shown in  FIG. 2  comprises actions described below. 
     At  101 , client A sends an authentication request message to client B through a social network server to establish a social network relationship with client B. 
     At  102 , after detecting client A sending the authentication request message to client B to establish a social network relationship, the social network server acquires identification information of client A and identification information of client B. 
     At  103 , according to the identification information of client A and identification information of client B, the social network server determines server  1  from among a plurality of servers as the server having stored thereon an inverted index with index record keyword of (A-B), “AB” or “(AB)”. 
     At  104 , from server  1 , the social network server extracts the index records having keyword (A-B), to obtain information of common social attributes of client A and client B, or to extract relationship chain information between client A and client B. 
     At  105 , the social network server sends to client B the extracted information of common social attributes or the common relationship chain information. 
     At  106 , client B displays the received information of common social attributes of client A and client B or the extracted common relationship chain information. 
     At  101 , the client B stores one or more social relationship tables locally. For example, Social Relationship Table 1, shown below, includes the identity of five client identities and their corresponding social relationship categories. Each of clients C, D, E, F and G has a social relationship with client B in the category 1. Social Relationship Table 2, shown below, includes the identity of three clients and their corresponding social relationship categories, each of which is category 2. Table 1 serves to store the client identities of category 1 while Table 2 stores the client identities of category 2. 
     
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Client Identity 
                 Social Relationship Category 
               
               
                   
                   
               
             
             
               
                   
                 C 
                 1 
               
               
                   
                 D 
                 1 
               
               
                   
                 E 
                 1 
               
               
                   
                 F 
                 1 
               
               
                   
                 G 
                 1 
               
               
                   
                   
               
             
          
         
       
     
     
       
         
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 Client Identity 
                 Social Relationship Category 
               
               
                   
                   
               
             
             
               
                   
                 H 
                 2 
               
               
                   
                 I 
                 2 
               
               
                   
                 J 
                 2 
               
               
                   
                   
               
             
          
         
       
     
     Client A, through the social network server, sends the authentication request message to the client B to be included in Table 1. The authentication request message sent by client A carries identification information of client A. 
     The social network server may be implemented in any server in the social network, such as server  1 , server  2  or server  3  in the social network. 
     At  102 , upon receiving the authentication request message sent by the client A, the social network server analyzes the authentication request message and extracts the identification information of client A and identification information of client B from the authentication request message. Furthermore, the social network server identifies that there are clients having direct social network relationship with client A and client B, namely client C and client D. The social network server also extracts identification information of the receiving party, client B, from the authentication request message. Table 1′ having the same content as Table 1 is stored in a database of the social network server. According to the Table 1′ stored in the social network server, it is confirmed that clients having direct social network relationship with client B are client C and client D. In the present step, the social network server may inquire and ascertain that the clients having direct social network relationship with client B include client C and client D. Upon receiving the authentication request message sent by client A, the social network server analyzes the authentication request message, and extracts identification information of client A of the receiving clients from the authentication request message. With the same method implemented by client B, it is confirmed that the clients having direct social network relationship with client A also include client C and client D. Preferably, client C and client D have direct social network relationship with client A while client D and client C also have direct social network relationship with client B. Of course, it may be the case that client D and client C have direct social network relationship with client B while client D and client C have indirect social network relationship with client A. 
     According to a predetermined rule, client C is selected from client C and client D, and identification information of client C is obtained. The predetermined rule may be based on a social network relationship chain which is the one with the highest sum of degrees of familiarity between client A and client B calculated by the social network server automatically. For example, given that the degree of familiarity of client A client C client B is Y1+X1 and the degree of familiarity of another social network relationship chain, client A client D client B, is Y2+X2, when Y1+X1&gt;Y2+X2, client C is selected from client D and client C, and identification information of client C is obtained. Otherwise, client D is selected. In the present embodiment, client C is preferably selected. While the current step involves selecting client D or client C by degree of familiarity, the selection performed between client D and client C may be random without referring to degree of familiarity. 
     Alternatively, the social network server, based on the numbers of client identities in the social network relationship table of client D and the social network relationship table of client C, may select one of client D and client C. For example, when the social network relationship table of client C has 10 client identities and the social network relationship table of client D has 100 client identities, since the number of the client identities in the social network relationship table of client C is less than that of client D, it is indicated that client C may be more cautious about screening his/her social network related objects, so client C is selected. Of course, it may also be the case that when the ratio of clients between the social network relationship tables of client B and client C is 1:10, and the ratio of clients between the social network relationship tables of client B and client D is 1:100, client C is selected. Alternatively, a threshold of ratio, such as 1:20 for example, may be set. Accordingly, when the ratio of clients between the social network relationship tables of client B and client C is 1:10, greater than the threshold of 1:20, and the ratio of clients between the social network relationship tables of client B and client D is 1:100, smaller than the threshold of 1:20, client C is selected. 
     Moreover, the social network server may automatically select client C or client D which has the highest degree of familiarity with client B. In the event that X1&gt;X2, the social network server selects client C; otherwise it selects client D. In the present embodiment, it is preferable to select client C. 
     In addition to the approach where client C is selected in light of the predetermined rule, it is possible to make the social network server send the identification information of client D and client C to client A. If client A selects client C, the social network server selects client C according to the selection of client A. On the other hand, if client A selects D, the social network server selects client D according to the selection of client A. 
     The degree of familiarity may be obtained in a fashion described below. Assuming that the time period (such as 30 days for example) during which two clients have social network relationship is N, and the degree of familiarity corresponding to a unit time (such as 1 day for example) is M, then the time weight of the degree of familiarity is N×M. Further, assuming that the degree of familiarity for the two clients to perform one information exchange in the unit time is P, the maximum of the degree of familiarity for the two clients to perform information exchanges in the unit time is Pmax, and Pmax&lt;P*Y (wherein Y is the maximum number of times where the two clients perform information exchanges in the unit time, and if the unit time is 1 day, when 90 information exchanges, then Pmax=90P). Through this way, the degree of familiarity between two clients can be computed, such as: X1=N1*M1+Min(Y*P, Pmax). 
     At  103 , since there are numerous users in the social network, amounting to millions, in the present embodiment inverted indexes are previously stored in distributed servers. It is to be understood that previous storage of the inverted indexes is a preferred approach and the present embodiment is not intended to limit the timing of when the inverted indexes are built. The inverted indexes may be built after the extraction of identification information of client A and identification information of client B. 
     An inverted index is also known as an embedded file or an inverted file, and is an indexing method that is usually used to store a mapping of a location (the value of the word location in the index) of a certain word (acting as the keyword for indexing) in a file or a set of files under a full text search. In the present embodiment, the social network of  FIG. 3  is described as an example for illustration. In the inverted index, the mutually bound identification information of client A and identification information of client B (expressed as (A-B)) are taken as the key for indexing. Given that the key is (A-B), information of the common social attributes between client A and client B is taken as the value, wherein the social attribute information represents the attributes possessed by a social network client that is corresponding to a client in the social network. 
     The social attribute information may be provided by the user at subscribing to the social network and includes, for example, the user&#39;s residence in the city of Hangzhou, the user&#39;s company A, and may further include information generated as results of the user&#39;s activity in the social network, such as one representing the community where the user belongs to, e.g., “World of Warcraft”. The social attribute information may be acquired from the user&#39;s log or from the database where the user&#39;s subscription information is stored. The common social attribute information is extracted from individual user&#39;s social attribute information. For example, in a case where the value for indexing is {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”}. The inverted index stored in server  1  is shown in Table 3 below. 
     
       
         
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 Keyword 
                 Value 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 (A-B) 
                 {“Residence” → “Hangzhou”, “Company” → 
               
             
          
           
               
                   
                   
                 “Company A”, “Gender”=&gt;”male”, “Industry” 
               
               
                   
                   
                 → ”electronic hardware”, “Game” → ”World of 
               
               
                   
                   
                 Warcraft”} 
               
             
          
           
               
                   
                 (A-C) 
                 {“Residence” → “Hangzhou”, “Company” → 
               
             
          
           
               
                   
                   
                 “Company A”, “Gender” → ”male”, “Industry” 
               
               
                   
                   
                 → ”electronic hardware”, “Sports” → ”soccer”} 
               
             
          
           
               
                   
                 (A-D) 
                 {“Residence” → “Hangzhou”, “Company” → 
               
             
          
           
               
                   
                   
                 “Company A”, “Gender” → ”male”, “IP” 
               
               
                   
                   
                 → ”196.168.0.*”, “Game” → ”World of 
               
               
                   
                   
                 Warcraft”} 
               
             
          
           
               
                   
                 (A-E) 
                 {“Residence” → “Hangzhou”, “Company” → 
               
             
          
           
               
                   
                   
                 “Company A”, “Gender” → ”male”, “Position” 
               
               
                   
                   
                 → ”sales” , “Game” → ”World of Warcraft” } 
               
               
                   
                   
               
             
          
         
       
     
     The social network server extracts identification information of client A and identification information of client B according to the authentication request message to obtain (A-B) as the keyword, and identifies, from among server  1 , server  2  and server  3 , that server  1  is the server which stores the inverted index having the keyword (A-B) in the index records. 
     At  104 , the social network server extracts index records with the keyword of (A-B) from Table 3, and extracts the corresponding value (the common social attribute information between the client A and the client B) {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”}. 
     The social network server extracts index records having the keyword of (A-B), and extracts the relationship chain information between client A and client B. The relationship chain information between client A and client B used as the value for indexing represents that there is indirect social network relationship between two clients. For example, the clients A and D have a social relationship of category 2, and clients D and B have a social relationship of category 1. The value of the index with the keyword (A-B) is {(A-D, category 2), (D-B, category 1)}. For example, client A and client C have a social relationship of category 2, and client C and client B have a social relationship of category 1. The value of another index with the keyword (A-B) is {(A-C, category 2), (C-B, category 1)}. The inverted index stored in server  1  is shown in Table 4. 
     
       
         
               
               
               
             
           
               
                   
                 TABLE 4 
               
               
                   
                   
               
               
                   
                 Keyword 
                 Value 
               
               
                   
                   
               
             
             
               
                   
                 (A-B) 
                 { A-D, category 2), (D-B, category 1)}; 
               
               
                   
                   
                 { A-C, category 2), (C-B, category 1)} 
               
               
                   
                 (A-E) 
                 { A-B, category 2), (B-E, category 1)} 
               
               
                   
                   
               
             
          
         
       
     
     At  105 , the social network server sends the extracted {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”} to the client B. By using {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”}, it is verified that the user corresponding to client A and the user corresponding to client B have common attributes in the social network. 
     In addition, the social network server forwards the authentication request message to client B, and attaches the authentication request message with the information of the common social attributes, namely {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”}. Of course, the social network server may send the authentication request message and the common social attribute information to client B separately, while the authentication request message and/or the common social attribute information respectively carry information expressing the correlation, so as to allow client B to tell that which received common social attribute information corresponds to which authentication request message, and authenticates the authentication request message according to the common social attribute information. 
     Alternatively, the social network server sends the extracted {(A-D, category 2), (D-B, category 1)} or {(A-C, category 2), (C-B, category 1)} to client B. Through {(A-D, category 2), (D-B, category 1)} or {(A-C, category 2), (C-B, category 1)}, the relationship chain information between client A and client B is represented. As to the relationship chain information, when forwarding the authentication request message to client B, the social network server attaches the authentication request message with the common relationship chain information. Of course, the social network server may send the authentication request message and the relationship chain information between client A and client B to client B separately while the authentication request message and/or the common social attribute information respectively carries information expressing their correlation, so as to allow client B to tell which received common social attribute information corresponds to which authentication request message, and authenticates the authentication request message according to the common social attribute information. 
     Further, at  103 , if the social network server, according to the rule, selects client C from among the clients having direct social network relationship with client A and client B, the social network server replaces identification information of client A carried in the authentication request message sent by client A with identification information of client C in the manner that upon receiving the authentication request message sent by client A, the social network server finds identification information of client A in the authentication request message and changes it into identification information of client C. The revised authentication request message includes identification information of client C and some revised textual description. The identification information of client C identifies the client sending the revised authentication request message. An example of the revised textual description may be as follows: “client A requests to join Social Relationship Table 1”. Therefore, the revised authentication request message would be read as: sending party=client C, textual description=“client A requests to join Social Relationship Table 1”. The authentication request message with the revised identification information is then sent to client B while including identification information of client C and some textual description originally contained in the authentication request message issued by client A. After client C is selected in light of the predetermined rule as described previously, the authentication request message with the revised identification information can be sent to client C. Upon receiving “OK” as confirmation from client C, the social network server sends the authentication request message with the revised identification information to client B; otherwise, the authentication request message with the revised identification information is not sent to client B. 
     At  106 , client B receives the authentication request message issued by the client A requesting to establish social relationship in the form of a social relationship message box, which exhibits {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”}. 
     A second embodiment of the present disclosure is a method  200  for processing an authentication request message in a social network. The method  200  as shown in  FIG. 4  comprises actions described below. 
     At  201 , client A sends an authentication request message to client B through a social network server to request to establish social relationship with client B. 
     At  202 , when detecting the authentication request message issued by client A requesting to establish social relationship with client B, the social network server obtains identification information of client A and identification information of client B. 
     At  203 , according to identification information of client A and identification information of client B, the social network server determines from among a plurality of servers the server having A as the keyword of index records as server  1  and the server having B as the keyword of index records as server  2 . Of course, if the inverted index is stored in only one server, this step can be omitted. For example, when all the index records are stored in the social network server  1 , the index records with A or B as the keyword are extracted from the social network server  1 . 
     At  204 , the social network server extracts from server  1  the social attribute information of client A from the index records having keyword A, and, extracts from server  2  the social attribute information of client B. 
     At  205 , from the social attribute information of client A and the social attribute information of client B, information of social attribute that are common to both clients A and B is extracted. 
     At  206 , the social network server sends the extracted information of common social attributes to client B. 
     At  207 , client B displays the received information of social attributes that are common to both client A and client B. 
     In the pre-stored inverted indexes of the present embodiment, the identification information is used as key of indexes, and the social attribute information of the clients of different identities as the index values. For example, identification information of client A is used as a key, and the social attribute information of the client A is used as the corresponding index value while identification information of client B is also used as a key, with the social attribute information of the client B used as the corresponding index value. Thus, the index value corresponding to the index having identification information of client A as key is as follows: {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”, “Sports”→“soccer”, “Position”→“sales”, etc.}. The index value corresponding to the index having identification information of client B as key is as follows: {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→“electronic hardware”, “Game”→“World of Warcraft”, “Sports”→→“table tennis”, “Position”→“financial staff”, etc.}. The social network server identifies the commonality between the above two values as {“Residence”→“Hangzhou”, “Company”→“Company A”, “Gender”→“male”, “Industry”→→“electronic hardware”, “Game”→“World of Warcraft”}. 
     After  205 , it is still possible for the system to automatically determine the number of the extracted pieces of common social attribute information. If the number is 10, in excess of the preset first threshold of 9, the system will automatically add user A into user B&#39;s Social Relationship Table 1. If the number is 5, in excess of the preset second threshold of 4, the system will automatically add user A into user B&#39;s Social Relationship Table 2. 
     A third embodiment of the present disclosure is an apparatus  300  for processing an authentication request message in a social network, which is configured as shown in  FIG. 5  and the components of which are described below. 
     An acquisition module  301  obtains a relationship chain information indicative of an indirect social network relationship between a first client and a second client after a social network server obtains an authentication request message sent by the first client to request to establish a social relationship with the second client. 
     A sending module  302  sends the authentication request message and the obtained relationship chain information to the second client. The relationship chain information is used by the second client to authenticate the authentication request message. 
     Furthermore, the acquisition module  301  determines the relationship chain information between the first client and the second client based on mutually bound identification information of the first client and identification information of the second client and mutually bound correlation between identification information of the two clients and relationship chain information of the two clients. 
     Furthermore, the acquisition module  301  searches for a keyword in an inverted index file, locates index records in the inverted index file of which keywords are mutually bound identification information of the first client and identification information of the second client, and obtains the respective relationship chain information of the first client and the second client from the located index records. The inverted index uses the mutually bound identification information of the clients as an index keyword and the relationship chain information of the two clients as an index value. 
     The apparatus further includes an determination module  303  that determines a server storing mutually bound identification information of the first client, identification information of the second client, and the respective relationship chain information of the first client and the second client, from multiple servers storing mutually bound identification information of the two clients and respective relationship chain information of the two clients based on mutually bound identification information of the first client and identification information of the second client. 
     The acquisition module  301  also obtains the respective relationship chain information of the first client and the second client from the identified server. 
     Furthermore, the sending module  302  sends the obtained relationship chain information between the first client and the second client to the second client when the relationship chain information between the first client and the second client is obtained. Otherwise, the sending module  302  sends to the second client a blank relationship chain information, after detecting that the first client sends to the second client the authentication request message to request to establish the social relationship with the second client. 
     The present disclosure has been described with reference to the preferred embodiments and it is understood that the disclosed embodiments are not intended to limit the scope of the present disclosure. Moreover, as the contents disclosed herein is readily understood and can be implemented by a person skilled in the art, all equivalent changes or modifications which do not depart from the concept of the present disclosure are encompassed by the appended claims.