Abstract:
The method of the invention applies employing token, public key, private key and ad hoc technology to associate members who are interested to join a specific society, with which the member&#39;s privacy can be protected and the trust between members can be build. The apparatus is directed to a social network which is responsible for communications and association of a specific society.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a method for network society associating and the apparatuses thereof. 
       BACKGROUND OF THE INVENTION 
       [0002]    Network societies emerged quickly after the Internet technology became popular. These network societies are usually constructed via at least one network server which manages the relations of society members for each society. In recent years, such a network server is usually called Social Network Server (SNS) and the combination of members and their relations is called social network. 
         [0003]    Social network usually considers each person as a node. A node may have associations with other node(s) in the social network. Association is typically represented by a line linking two nodes. Several metrics can be derived from a social network having multiple nodes and lines. Relation Degree is the simplest metric for determining how close two nodes are. Two nodes are defined to have first-degree relation if there is a line linking the two nodes. In existing applications, two nodes having first-degree relation may indicate that they can contact with each other by certain communication method, such as telephone, e-mail, instant message, peer-to-peer streaming and the like. Two nodes having second-degree relation if from one node there can be found a path passing only two lines to the other node. Two nodes having degree order larger then first-degree may suggest that the corresponding two persons did not know each other but they did have certain relationship between them. 
         [0004]    Before providing various applications based on the social network, certain platforms should be setup to gather users and make associations among them. Recent years, websites are a kind of popular platform to make up social networks. Users use their web browser to visit websites and join them as member. During the web activities, such as making and storing friend contact list in the websites, node associations can be made up and the social network of the websites can be constructed. 
         [0005]    To provide specific topics, such as dating and chatting, the online social network services enable users having degree order larger than first-degree to connect with each other. In order to avoid offending user privacy, there are rules of selecting to whom one can connect based on certain metric(s) such as the Relation Degree mentioned above. Though such a selection may facilitate the social network management and lower the risk of exposing user privacy in certain level, problem is still not solved. That is, however the rules are defined, looser rules may still have risk of exposing user privacy while stricter rules still limit the interaction of its social network. 
         [0006]    Besides the problem mentioned above, the establishment of current social network has other problems. For example, users usually need to react with the network societies via a computer or a compatible device and the candidates of the network society member are usually computer men. These all limit the growth of the social network. 
         [0007]    Compared with the virtually existed network society, societies in real world have more trust between their members since members may already be familiar and contact with each other. Besides, the population of real world societies is far bigger then the candidates of network society members. Hence, if Internet and Communication Technology (ICT) can be used to organize societies in real world and provide useful services, large business may be derived. 
         [0008]    Therefore, this invention provides a complimentary society association scenario and method to assist the growth of social network while providing satisfied user privacy. The preferable embodiment shows that the invention enables the society association to take place in everywhere and in everyday life. Based on the invention, various innovative online social services can be derived since network societies can be expended to every person equipped with mobile device. 
         [0009]    As mentioned previously, to provide specific topics, such as dating and chatting, the online social network services may enable users to connect with whom they never know before. There are rules of selecting with whom one can contact and the rules are predefined by the online social network services. However the rules are defined, looser rules may still have risk of exposing user privacy while stricter rules still limit the interaction of its social network. 
         [0010]    In order to solve such problems, Yahoo Incorporation issued a patent application with Publication Number 2006/0184997. The application mentions that: 
         [0011]    “However, potential new users may be reluctant to join an online service and/or to respond to a request to participate with another member of the online service not known to the user. An invitation from a known contact may help an invitee feel more comfortable about joining the service. However, even an invitee may be reluctant to join before seeing a sample of the service.” 
         [0012]    “To build trust quickly, information about an inviter can be provided to the invitee. For example, the invitee may be allowed to temporarily access content from the inviter&#39;s personal web page. The content may include the inviter&#39;s web log, a collection of photos, a list of recommended restaurants, and/or other content relevant to the inviter.” 
         [0013]    That is, Yahoo incorporation proposed that, in order to gain the invitee&#39;s trust, inviter can first invite the invitee to visit his personal information. 
         [0014]    Yahoo&#39;s patent application hopes that they can, based on looser rules, combine an invitation method with inviter&#39;s personal information to gain trust during society association. Such a method solves the problems in certain level; however, the commonly existing “trust” problem among the online social service is further emphasized by this patent application. 
         [0015]    There is another US patent with Publication No. 2005/0250552 disclosed by Massachusetts Institute Technology (MIT), in which portable communication devices have been introduced, such as Bluetooth enabled cellular phones, to communicate with and identify like devices that are nearby, and send notification messages to a remote server. When a notification message is received at the server identifying two devices that have come within range of one another, the server compares the profile data associated with each of the two identified devices and facilitates communications between the devices when appropriate. 
         [0016]    Looking into more details about MIT&#39;s application, it basically solves the problem of mobility and enables the social network associations to be expended to every person equipped with mobile device. However, it does not provide too much solution in security problem since it uses the user&#39;s account information as the token to exchange user&#39;s information. As stated in MIT&#39;s application, when a mobile devices sending its notification message to invite another mobile device to join a specific topic, the notification message sent from the device to the server includes not only its own ID value (the Requester ID) but also the ID value of the mobile device being invited (the Identified ID). Since a mobile device in MIT&#39;s application can easily get other mobile device&#39;s ID value, it may hack the system in several ways, such as pretending to be other mobile device by responding other mobile device&#39;s ID value to the server instead of its own ID value. 
       SUMMARY OF THE INVENTION 
       [0017]    The method of the present invention is provided for network society associating, with which the privacy of the network user who is interested to join a specific society can be protected and the trust between inviter and invitee can be built. The apparatus for network society associating, which employs token, public key and private key and ad hoc connection establish relationship between network users, and with which the privacy of the network user who is interested to join a specific society can be protected and the trust between inviter and invitee can be built. 
         [0018]    Furthermore, the method is applied to a server identification network for two mobile devices exchange their network address and token with each other by ad hoc connection; wherein the server verifies the invitation request message by checking the consistency between the inviter node identification and inviter specified society and the data stored in the society network database. If consistent, the server sends an invitation request message to the other mobile device acting as an invitee at the network address via the network, wherein the invitation request message comprising a server token which is generated by the server, the inviter&#39;s token and a profile of the society specified by said inviter specified society. By checking the consistency between the inviter&#39;s token in the invitation request message and the token being exchanged during the ad hoc connection, the profile of the society is displayed on the invitee&#39;s screen and waiting for a invitee&#39;s user whether to accept the invitation request message. If the user accepts the invitation request message, the invitee sends an acknowledgement message to the server, wherein the acknowledgement message comprising the server token and a invitee&#39;s node identification. Once the server checks the server token in the acknowledgement message is valid, the server associates the invitee&#39;s node with the inviter&#39;s node in the society specified by the inviter specified society. According to the apparatus for conducting this network of society association, comprising a communication interface with a server managing social network database is assigned with a network address; a data exchanging interface for exchanging data with other mobile device in surrounding; a memory for storing a plurality of instructions and a local token; a processor performs actions based at least partially on the plurality of instructions, comprising to communicate the messages with the communication interface, the data exchanging interface and the memory. Moreover, the communication enabling the data exchanging interface to exchange the local token and the network address with a mobile device in surrounding, storing the exchanged token as a remote token in the memory, sending a first message to the server to start a society association process, receiving a second message comprising an inviter&#39;s local token and a server token from the server, checking whether the second message is valid by comparing the inviter&#39;s local token with the remote token, and sending a third message including the server token to the server to complete a society association process. The first message comprises a mobile device&#39;s node identification as the inviter node identification, the local token and a remote network address. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]      FIG. 1  is a schematic view of a network system according to the present invention. 
           [0020]      FIG. 2  is a schematic view of process of the network society associating method according to the present invention. 
           [0021]      FIG. 3  is another schematic view in more details of process of the network society associating method according to the present invention. 
           [0022]      FIG. 4  is a schematic view showing the structure of a mobile device according to the present invention. 
           [0023]      FIG. 5  is the schematic view of the SNS according to the present invention. 
           [0024]      FIG. 6  is a schematic view showing the SNS is connecting to the mobile device via a network. 
           [0025]      FIG. 7  is a schematic view showing an Invitation Request Packet according to the present invention. 
           [0026]      FIG. 8  is a schematic view showing an Acknowledgement Lookup Table according to the present invention. 
           [0027]      FIG. 9  is a schematic view showing an Invitation Packet according to the present invention. 
           [0028]      FIG. 10  is a schematic view showing an Acknowledgement Packet according to the present invention. 
           [0029]      FIG. 11  is a schematic view showing a Society Network Database according to the present invention. 
           [0030]      FIG. 12  is a schematic view showing two societies recorded in the social network database according to the present invention. 
           [0031]      FIG. 13  is a schematic view showing an Invitee Table according to the present invention. 
           [0032]      FIG. 14  is a schematic view showing the tree representation of the result of the two invitations illustrated according to the present invention. 
           [0033]      FIG. 15  is schematic view showing how a conference attendee attending a conference according to the present invention. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0034]    The present invention is abstracted below. First, each mobile device practicing in this invention is assigned a unique identification code as its Node Identification (NID) in the social network. Then, as an inviter mobile device exchanged certain information including a token with an invitee mobile device by using ad hoc technology, a society association process can be initiated by the inviter mobile device by noticing the SNS with information including the token. SNS will generate another token for this society association process. By using these two tokens, authentications between the mobile devices and SNS can be accomplished. Note that, since the NID is so confidential, during the whole society association process, the two mobile devices do not get each other&#39;s NID. Besides, for security consideration, the preferable embodiment applies the Public Key System (PKS) to establish secured communication channels. Due to the good properties of this invention, only the communication channel between mobile devices and SNS should be ensured secured by PKS, leaving the ad hoc connection (i.e. the communication channel between mobile devices) as simple as possible. 
         [0035]    For your esteemed members of reviewing committee to further understand and recognize the fulfilled functions and structural characteristics of the invention, several preferable embodiments cooperating with detailed description are presented as the follows. 
         [0036]    Please refer to  FIG. 1 , which is a schematic view of a network system according to the present invention. As shown in  FIG. 1 , the network system includes mobile devices  11 ,  12 ,  13  and  14 , a network  15 , an optional social application server  16  and a social network server (SNS)  17 . Mobile devices  11 ,  12 ,  13  and  14  may include virtually any computing device capable of receiving/sending messages over the network from/to the SNS  17  and capable of contact to each other via ad hoc connection. The set of such mobile devices may include devices that typically connect using a wireless communications medium such as cell phones, smart phones, notebook, walkie-talkies, or virtually any mobile communication device, and the like. The optional social application server  16  provides social application based on the social network database managed by the SNS  17 . 
         [0037]    As shown in  FIG. 1 , one computing device is connected to another via the network  15  whereby the two computing devices may communicate with each other. The network can be in any form of computer readable media for communicating information among electronic devices. Also, the network  15  may include wireless and wired interfaces, including local area network (LAN) and wide area network (WAN), for communication for devices. The local area networks may be constructed by hubs and/or switches, and a router may be used to couple said LAN and said WAN hence enlarging the communication region. 
         [0038]    Please refer to  FIG. 2 , which is a schematic view of process of the network society associating method according to the present invention. As shown in  FIG. 2 , the method of the invention comprises at least four steps to accomplish a society association process between two mobile devices. 
         [0039]    Step  23 : the two mobile devices  22  and  24  exchange each other&#39;s network address and token via ad hoc connection; 
         [0040]    Step  25 : one of the two mobile devices acts as an inviter mobile device  22  and sends a message which includes the inviter&#39;s toke (or simply called inviter token) and invitee&#39;s network address (or simply called invitee network address) to the SNS  26 , wherein the message is called the Invitation Request; 
         [0041]    Step  27 : the SNS  26  sends a message to the other mobile according to the invitee network address and treat it as the invitee mobile device  24 , wherein the message is called the Invitation which includes the inviter token and an SNS-generated token; 
         [0042]    Step  28 : the invitee mobile device  24  receives the message from the SNS  26  and checks whether the message is valid by comparing the inviter token and the previously exchanged token in Step  23 , and if valid, sends a message including the SNS-generated token to the server to grant the invitation, wherein the message is called the Acknowledgement. 
         [0043]    In Step  23 , two mobile devices exchange data based on ad hoc technology. The said data includes the each other&#39;s currently assigned network address and a token. The said token is preferably a text-based token such as currently user-named device identification, since text-based tokens can be used for users of mobile device to intuitively authenticate each other. The token will also be a key to determine whether the society association is valid in the step  28 . 
         [0044]    In Step  25 , one of the two mobile devices acts as an inviter and sends a message called Invitation Request to request the SNS that the inviter wants to invite a mobile device at specified network address to join the inviter specified society. In this step, at least the invitee mobile device&#39;s currently assigned network address and the inviter mobile device&#39;s token are provided by the inviter. With the invitee network address, the SNS is aware of where the invitee mobile device is. 
         [0045]    In Step  27 , the server sends a message called Invitation to the invitee mobile device  24  in the provided network address to notice that the inviter specified society wants to invite the invitee mobile device  24 . In this step, two tokens are sent to the invitee mobile device  24 , wherein one of the tokens is provided by the inviter mobile device  22  and the other is generated by the SNS  26 . 
         [0046]    In Step  28 , the invitee mobile device  24  compares the inviter token in the Invitation with the previous exchanged token to determine whether the Invitation from the SNS  26  is consistent with the currently ad hoc connected nearby mobile device. If the tokens are consistent and the user of the invitee mobile device wants to accept the invitation, the invitee mobile device sends a message called Acknowledgement which includes the SNS-generated token to the SNS to grant the invitation. After receiving the Acknowledement, the SNS checks whether the SNS-generated token is valid to authenticate the Acknowledgement. If the received token is valid, the SNS associates the invitee&#39;s node with the inviter&#39;s society in the social network database to finish the society association process. 
         [0047]    Before practicing the invention, each mobile device must be assigned a unique identification code for being associated with a node in the social network database. The identification code is called Node Identification (NID) in this invention. The NID can be coded in any kinds of form as long as it can assure the uniqueness property. For example, the WLAN MAC address may assure the uniqueness in a wireless Local Area Network and the coding inside the Subscribe Identification Module (SIM) also has the uniqueness property in the cell phone system. Besides, combining existed coding forms with certain extension code can also extend the uniqueness property to further wider network range. 
         [0048]    Please refer to  FIG. 3 , which is another schematic view in more details of process of the network society associating method according to the present invention.  FIG. 3  shows the flow diagram illustrative exemplary logic of an exemplary overall process of actions by the inviter mobile device, the invitee mobile device and the SNS that associates nodes in a social network 
         [0049]    As shown in  FIG. 2  and  FIG. 3 , the method of the invention comprises that two mobile devices conduct an association process to associate their corresponding nodes in the social network managed by the SNS. During the association process, the mobile device initiating the process is called the inviter mobile device while the other is called the invitee mobile device. In Step  31 , said two mobile devices contact with each other by certain ad hoc connection to exchange data including their assigned network addresses (by, for example, DHCP server) and their token. For each mobile device, its own token is called Local Token and the exchanged token is called Remote Token. As mentioned, the said token is preferably a text-based token such as currently user-named device identification. More specifically, the text-based token could be a user-named device identification appended with a timestamp for higher confidentiality purpose. (The feature to allow user to name his mobile device is commonly seen in many cell phone. For example, a cell phone with Bluetooth function may allow user to name the cell phone in text so that other Bluetooth user may discover the cell phone with the name.) With the text-based tokens exchanged and shown on the display of mobile devices, the users of mobile devices can intuitively authenticate each other. Since in real world society, people usually see and talk with each other before an invitation takes place, a text-based token is sufficient to authenticate each other. 
         [0050]    Note that, though the exchanged data are essential in the invented society association method, they not confidential to the users of mobile device. That is exposing the token and/or the currently assigned network address causes little or negligible harm to the users of the mobile device. 
         [0051]    After exchanging each other&#39;s network address and token, in Step  32 , a mobile device acts as an inviter and constructs a message called Invitation Request based on the exchanged data and some information managed inside the inviter mobile device, wherein the Invitation Request at least includes the Inviter Token, Inviter NID, an ID of the inviter specified society (called the inviter Society ID; inviter SID) and the Invitee Network Address. After the constructing, the constructed Invitation Request is sent to the SNS. 
         [0052]    In response of receiving the Invitation Request, in Steps  33  and  34 , the SNS checks the validity of the message by comparing the pair of inviter NID and inviter SID with the data stored in its social network database. If in its social network database there is no pair of inviter NID and inviter SID consistent with the received pair, the inviter has no authority to initiate an invitation and the invitation is failed. Otherwise, a token called SNS Token is generated by the SNS for the invitation and a message called Invitation is sent to the invitee mobile device in the provided Invitee Network Address. The Invitation includes at least the generated SNS Token, Inviter Token and the profile of the society with the Inviter SID. The SNS Token is associated with a table entry for storing the content of the Invitation Request, wherein the associated table is called Acknowledgement Lookup Table. With this association, the content can be quickly referred by the SNS Token. 
         [0053]    In Steps  35 ,  36  and  37 , in response of receiving the Invitation, the invitee checks whether the Inviter Token in the Invitation is consistent with the Remote Token exchanged during the ad hoc connection. If not consistent, the Invitation is not valid and the invitation is failed. If consistent, the invitee mobile device displays the profile of the society provided in the Invitation and asks whether the user of the invitee mobile device accept the invitation. If the user of the invitee mobile device rejects the invitation, the invitation is failed. If the user accepts the invitation, the invitee mobile device constructs and sends a message called Acknowledgement to the SNS, wherein the Acknowledgement at least includes provided SNS Token and Invitee NID. 
         [0054]    In Steps  38  and  39 , in response of receiving the Acknowledgement, the SNS checks the validity of the Acknowledgement by checking the validity of the received SNS Token. Since each SNS Token is associated with an entry of the Acknowledgement Lookup Tables which storing the content of Invitation Request, if the received SNS Token is valid, the SNS associates the invitee&#39;s node with the society identified by the Inviter SID and the society association process is accomplished. 
         [0055]    Please refer to  FIG. 4 , which is a schematic view showing the structure of a mobile device according to the present invention. As shown in  FIG. 4 , the mobile device  41  may include many more components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention. 
         [0056]    The mobile device (or called MD in brief)  41  shown in  FIG. 4  includes a microprocessor  43 , a video display unit  493 , an input unit  492 , a ROM  44 , a RAM  46  and a Non-Volatile RAM (NVRAM)  494 , all in communication with each other via the bus  45 . The NVRAM  494  contains an NID  4941  which identifies the mobile device  41  as a unique node in the social network database managed by the SNS. The NVRAM  494  further includes two key pairs according to the Public Key System (PKS). The first key pair contains an MD Private Key  4942  and an MD Public key  4943 , and the other contains an MD signature encryption key  4944  and an MD signature decryption key  4945 . The NVRAM  494  further includes a Society ID Table 4946 recording the SID of each society which the mobile device currently joined. 
         [0057]    The MD Public Key is advertised to all computing components which are intent to communicate with the mobile device. Computing components which want to send confidential messages to the said mobile device should first encrypted the messages by the mobile device&#39;s MD Public Key  4943  and then send the encrypted message to the mobile device. The Encryption/Decryption Module (EDM)  461  of the mobile device uses its MD Private Key  4942  to do decryption and then read the content of the messages. According to the PKS, since the message encrypted by an encryption key of the key pair can be only decrypted by the decrypted key of the key pair, the computing components sending the confidential message can assure that the content of the message can only be read by the said mobile device. Hence the key pair of the MD Public Key  4943  and the MD Private Key  4942  is utilized by the embodiment for confidentiality. 
         [0058]    The MD Signature Decryption Key  4944  is advertised to the SNS before the invented society associating procedure. The EDM  461  of the mobile device uses the MD Signature Encryption Key  4944  to encrypt the mobile device&#39;s signature. In the embodiment, the mobile device uses its token  4947 , e.g. a text-based token, as its signature. The said token is encrypted by the EDM  461  based on the MD Signature Encryption Key  4944  and the encrypted token will be sent to the SNS while the mobile device is going to initiate an invitation. In the invented society association process, the inviter mobile device puts the encrypted token into the Invitation Request and sends it to the SNS. According to the PKS, since data encrypted only by the MD signature encryption key can be correctly decrypted by the previously advertised MD signature decryption key  4945 , the SNS is convinced that the packet with encrypted token is from the inviter mobile device as long as the encrypted token can be correctly decrypted. Note that, since the token is generated by the mobile device and the SNS does not previously know it, the definition of “correctly decrypted” is that a text-based result is got after decrypting the encrypted token. Text-based result can identified easily in computer system, e.g. by checking whether the range of ASCII Code of each decrypted character of the encrypted token is within the range of ASCII Code of text characters. 
         [0059]    The mobile device further includes a Data Exchange Controller  491  which controls IrDA Control Unit  49  to make ad hoc connection with a remote mobile device. IrDA Transceiver  48  transfers Infrared radiation signals to electrical signals and transfers electrical signals from IrDA Controller Unit  49  to Infrared radiation signals. Via IrDA Control Unit  49  and IrDA Transceiver  48 , Data Exchange Controller  491  exchanges data with a remote mobile device. The exchanged data include both mobile device&#39;s token, network address (IP Address assigned by DHCP server in this embodiment) and MD Public Key. The exchanged data are stored in the Invitation Registers  47  as shown in  FIG. 4 . 
         [0060]    The Data Exchange Module  464  in the RAM  46  is executed by the microprocessor  43  to initialize the Invitation Registers  47  and enable the Data Exchange Controller  491  to start exchanging data with a remote mobile device. To initialize the Invitation Registers  47 , the Data Exchange Module  464  copies the token  4947  in NVRAM  494 , the assigned IP address given by the Network Interface Module  465  and the MD Public Key  4943  in NVRAM  494  to the Local Token  471 , Local IP Address  472 , and Local MD Public Key  473  in Invitation Registers  47  respectively. After the initialization, Data Exchange Module  464  enables the Data Exchange Controller  491  to start exchanging data with the remote mobile device. 
         [0061]    The mobile device further includes an SNS Request Module  462  which constructs the embodiment of the message Invitation Request, i.e. the Invitation Request Packet, based on the data in the Invitation Registers  47  and data in the NVRAM  494 . As shown in  FIG. 8 , the Invitation Request Packet contains Inviter Token, Inviter NID, Inviter SID, Invitee IP address and Invitee Public Key, wherein the Inviter Token and invitee IP address are copied from the Local Token  471  and the Remote IP address  475  in the Invitation Registers  47  while the Inviter NID and Inviter SID are copied from the NID  4941  and SID  4946  in the NVRAM  494 . Note that, the Inviter SID is selected from the Society ID Table 4946 in the NVRAM  494  by the user. Since the SNS owns a copy of the SID Table 4946 for each mobile device (or called node,) the mobile device can only pick one SID from its Society ID Table 4946 as a valid Inviter SID. Invitation Request Packet containing wrong Inviter SID will be dropped by the SNS and several security mechanisms can be conducted by the SNS to take care of such circumstance, such as recording the event and/or sending warnings to the mobile device with the NID. Above all, after the Invitation Request Packet is constructed, the SNS Request Module  462  sends it to the SNS via the Network Interface Module. 
         [0062]    For security considerations, the SNS Request Module  462  may ask the EDM  461  to encrypt the payload of the Invitation Request Packet according to the SNS Public Key, and before the encryption, the Inviter Token in the payload is replaced by an encrypted one as mentioned (by the MD signature encryption key.) 
         [0063]    The mobile device further includes an SNS Response Module  463  to interact with the messages from SNS. As the SNS receives an Invitation Request Packet which records the invitee network address, the SNS may send, if the Invitation Request Packet is valid, an embodiment of the Invitation called Invitation Packet to the mobile device in the invitee network address, wherein the Invitation Packet comprises an SNS Token, the Inviter Token, the profile of the inviter specified society. After the mobile device received the Invitation Packet from the SNS, the SNS Response Module  463  compares the Inviter Token with the previously exchanged Remote Token in the Invitation Registers  47  for authenticating the received Invitation Packet. If the Inviter Token is consistent with the Remote Token  474 , the received Invitation Packet is valid and the profile of the inviter specified society is displayed in the Video Display Unit  493  for the user&#39;s reference. SNS Response Module  463  also asks the user of the mobile device for whether to accept the invitation. If the user accepts the invitation, an embodiment of the Acknowledgement called Acknowledgement Packet is constructed by the SNS Response Module  463  and sent to the SNS via the Network Interface Module. The Acknowledgement Packet comprises the SNS Token, the Invitee NID and the Invitee Token. 
         [0064]    For security considerations, the SNS Response Module  463  may ask the EDM  461  to encrypt the payload of the Acknowledgement Packet according to the SNS Public Key, and before the encryption, the Invitee Token in the payload is replaced by the encrypted one (by the MD signature encryption key.) 
         [0065]      FIG. 5  shows the schematic view of the SNS according to the present invention. SNS may include many more components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention. 
         [0066]    As shown in  FIG. 5 , the SNS  51  includes a central processing unit  52 , a video display unit  58 , and a massive storage unit  59 , all in communication with each other via the bus  54 . The massive storage unit  59  may be the combinations of non-volatile memory, hard disk, CD-ROM, DVD-ROM or any kind of media which can permanently store data. The SNS  51  also includes a network interface unit  56  constructed for use with various communication protocols including but not limited to the TCP, UDP and IP protocols to communicate with other computing device. Basic input/output system (BIOS)  531  is provided for controlling the low-level operation of SNS  51 . Any general-purpose operating system  551  may be employed to run modules stored in the RAM  55  and to provide needed communication protocols as mentioned. 
         [0067]    Besides the operating system  551 , the RAM  55  may further include modules for conducting society association process, such as the Invitation Module  552  and the Acknowledgement Module  553  shown in  FIG. 5 . The Invitation Module  552  is responsible of 1) Authenticating received Invitation Request Packet, 2) constructing Invitation Packet, 3) sending constructed Invitation Packet to an invitee mobile device in specified IP address and 4) associating the invitee mobile device with the inviter specified society. The Acknowledgement Module  553  is responsible of 1) generating the SNS Token, 2) managing the Acknowledgement Lookup Table 554 and 3) authenticating incoming Acknowledgement Packet. The RAM  55  may further include Encryption/Decryption Module (EDM)  555  to do encryption/decryption on the necessary outgoing/incoming packet respectively. The interaction relationship is shown in the  FIG. 6 . 
         [0068]      FIG. 6  is a schematic view showing the SNS is connecting to the mobile device via a network.  FIG. 6  illustrates an exemplary architecture that may be used to send an invitation to an invitee mobile device according to inviter mobile device&#39;s request and to do society association according to the acknowledgement from the invitee mobile device. 
         [0069]    As shown in  FIG. 6 , the mobile devices  68  and  69  exchange each other&#39;s IP address, token and MD Public Key prior to initiate a society association process with the SNS  60  containing an Invitation Module  63 , an Acknowledgement Module  65 , and an EDM. The Invitation Module  64  interfaces with the Social Network Database  61  for conducting society association while stores temporary invitation information in the Acknowledgement Lookup Table 62. The Acknowledgement Module  65  manages the space of the Acknowledgement Lookup Table 62 and generates an SNS Token for each invitation. Both the Invitation Module  63  and the Acknowledgement Module  65  interface with the Network Interface Module  66  for communicating with the mobile devices  68  and  69 . The Network Interface Module  66  to which the Invitation Module  63  and the Acknowledgement Module  65  are interfacing is provided by any general-purpose operating system. 
         [0070]      FIG. 7  is a schematic view showing an Invitation Request Packet according to the present invention. Cross referring to  FIG. 6  and  FIG. 7 , Invitation Module  63  receives Invitation Request Packet  71  from the Network Interface Module  66 . To authenticate the received Invitation Request Packet  71 , the Invitation Module  63  1) requests the EDM  64  to decrypt the payload of received Invitation Request Packet  71  by the SNS Private Key; 2) uses the Inviter NID  7121  to retrieve the inviter&#39;s MD signature decryption key  1112  in the Social Network Database  61 ; 3) requests the EDM  64  to decrypt the encrypted Inviter Token by the retrieved MD signature decryption key  7125 ; 4) check whether the decryption result, i.e. the Inviter Token, is text-based; if the decryption result is text-based, 5) uses the Inviter NID  7121  to retrieve each SID of the society which the mobile device currently joined and compare the each retrieved SID with the Inviter SID  7122  in the Invitation Request Packet  71 . If the Inviter Token is text-based after decrypting and there is a retrieved SID consistent with the Inviter SID  7122 , the Invitation Request Packet passes the authentication. 
         [0071]    The Invitation Module associates an SNS Token to each valid Invitation Request Packet. In this embodiment, the Invitation Module requests the Acknowledgement Module to give an available entry of the Acknowledgement Lookup Table, as shown in  FIG. 8 , to store the contents of the Invitation Request Packet. The index to the given entry is directly regarded as the SNS Token in this embodiment. 
         [0072]      FIG. 8  is a schematic view showing an Acknowledgement Lookup Table according to the present invention, wherein the Acknowledgement Index  81  is directly regarded as the SNS Token and the contents of the Invitation Request Packet are stored in the table entry indexed by a given Acknowledgement Index. In order to generate a valid SNS Token, i.e. an index to an available entry in the embodiment, and manage the Acknowledgement Lookup Table, the Acknowledgement Module may use ring-like buffer management method including certain flag as the “In Use” flag  82  shown in  FIG. 8 . In this embodiment, since the SNS Token and the Acknowledgment Lookup Table are directly associated, the authentication to the received Acknowledgement can just be conducted by comparing the Society ID in the entry indexed by the SNS Token with the received Inviter SID in the Acknowledgement Packet. 
         [0073]      FIG. 9  is a schematic view showing an Invitation Packet according to the present invention. The Invitation Module constructs the Invitation Packet  91  by including fields of the SNS Token  931 , Inviter Token  932 , Inviter SID and the profile of the society  933  with the Inviter SID as shown in  FIG. 9 . The Invitation Module requests the EDM to encrypt the payload of Invitation Packet prior to send it to the mobile device in the provided Invitee IP Address. 
         [0074]    As mentioned, the Acknowledgement Module manages the space of the Acknowledgement Lookup Table. As the Invitation Module wants to send a new Invitation Packet, the Acknowledgement Module finds out an available entry in the Acknowledgement Lookup Table and assigns the corresponding entry index to the Invitation Module as the SNS Token. 
         [0075]    When an invitee mobile device returns an Acknowledgement Packet, as shown in  FIG. 10  which is a schematic view showing an Acknowledgement Packet according to the present invention, the Acknowledgement Module first requests the EDM to decrypt the payload of the Acknowledgement Packet  101  by the SNS Private Key  103  and then uses the Invitee NID  1032  to retrieve the invitee mobile device&#39;s MD Signature Decryption Key  1112 . Then the Acknowledgement Module authenticates the Acknowledgement Packet  101  by requesting the EDM to decrypt the encrypted Invitee Toke  10331  based on the retrieve MD Signature Decryption Key. If the text-based result is got after the decryption, the Acknowledgement Packet  101  is assured of being sent from the invitee mobile device and the validity of received SNS Token will be further checked. The SNS Token checking can be conducted by first retrieving the entry of Acknowledgement Lookup Table indexed by the SNS Token and then comparing the received Inviter SID with the Society ID  87  in the retrieved entry. If consistent, the Acknowledgement Packet  101  is valid and the Acknowledgement Module informs the Invitation Module to associate an invitee node identified by the Invitee NID  1032  with corresponding inviter node identified by the Inviter NID in a specified society identified by the Inviter SID. 
         [0076]      FIG. 11  is a schematic view showing a Society Network Database with exemplary societies according to the present invention, wherein the Social Network Database may be sufficiently managed by four kinds of tables as illustrated in  FIG. 11 . The four kinds of tables are associated with each other to record the managed social network in form of database. As shown in  FIG. 11 , the Nodes Table  111  contains fields including NID  1111 , MD Signature Public Key  1112  and Joined Society Table ID (JST ID)  113 . As a mobile device advertises its MD Signature Public Key to the SNS before initiating a society association process, the SNS stores the key into the Node Table  111  according to the mobile device&#39;s NID. For each NID, there is a unique Joined Society Table  112  recording the societies which a corresponding mobile device currently joined. Each Joined Society Table  112  is pointed by the field Joined Society Table ID  1113  in Nodes Table  111 . The Joint Society Table  112  contains fields of SID  1121 , Inviter NID  1122 , Authority of Invention (AoI)  1123 , and Invitee Table ID  1124 . For each Joined Society Table  112 , there is a unique Invitee Table  113  recording the invitee(s) which a corresponding mobile device currently and successfully invited. Each Invitee Table  113  is pointed by the field Invitee Table ID  1124  in Joined Society Table  112 . The Invitee Table  113  contains fields of Invitee NID  1131 . The Society Table  114  contains fields of SID  1141 , Abstract  1142 , First NID  1143 , Established Date (Est. Date  1144 ), Life-Days  1145 , AoI Level  1146 , Maximum Number of Members (Max. Members  1147 ), Anonymous  1148 , and Web page URL  1149 . 
         [0077]      FIG. 12  is a schematic view showing two exemplary societies recorded in the social network database. Since the Joined Society Table  112  in  FIG. 11  contains a field of Inviter NID  1122  and a field pointing to an Invitee Table  113  recording the invitees has been invited by the mobile device, a social network represented by tree diagram can be derived. For example, the exemplary societies recorded in the social network database in  FIG. 11  can be represented by the tree diagrams as shown in  FIG. 12 . The Society with SID  786  and society with SID  885  are represented in tree diagram for easily figuring out the relationship between their members (, or called nodes). As shown in  FIG. 12 , the society with SID  786  has a mobile device with NID  1  as its root node and the root node has invited a node with NID  2  into the society with SID  786 . The node with NID  1202  has been invited by the node with NID  2  and has invited node with NID  2530  and node with NID  5401  into the society with SID  786 . The society with SID  885  has a mobile device with NID  1201  as its root node and the root node has invited a node with NID  1202  into the society with SID  885 . 
         [0078]    As mentioned, when receiving an Invitation Request Packet, the Invitation Module requests the EDM to decrypt the payload of the packet by the SNS Private Key. And then, in order to decrypt the encrypted Inviter Token, the Invitation Module retrieves the inviter&#39;s MD Signature Public Key from the Nodes Table according to the Inviter NID provided in the Invitation Request Packet and request EDM to decrypt the encrypted Inviter Token. If after decrypted the Inviter Token is valid, i.e. text-based token in the embodiment, then the Invitation Module retrieves each SID of the society which the mobile device joined by first retrieving the JST ID in the entry indexed by the Inviter NID and using the retrieved JST ID to retrieve a Joined Society Table. The Invitation Module compares the Inviter SID with the SIDs recorded in the retrieved Joined Society Table. If there is a SID in the Joined Society Table consistent with the Inviter SID, the inviter mobile device is assured of having joined the society with the Inviter SID. 
         [0079]    refer to  FIG. 8  for an example, wherein an inviter mobile device having  1202  as its NID and “Ken” as its Inviter Token sends an Invitation Request Packet the SNS to invite an invitee mobile device in IP address 140.93.35.73 to join the society with SID  885 . After the decryption process mentioned above, the Invitation Module checks whether the inviter mobile device is of the society with SID  885 . This can be conducted by first find the entry with NID  1202  in Nodes Table shown in  FIG. 11  and then get the JST ID in that entry. As shown in  FIG. 11 , the inviter mobile device has it JST ID as  43201  and by using the JST ID, a Joined Society Table with JST ID  43201  can be retrieved. As recorded in Joined Society Table with JST ID  43201 , the inviter mobile device has joined the society with SID  786  and the society with SID  885 . Since the Inviter SID is consistent with an SID, i.e.  885 , in the Joined Society Table, the inviter mobile device is assured of having joined the society with the Inviter SID. 
         [0080]    As shown in  FIG. 11 , the Joined Society Table  112  further comprises a flag called Authority of Invitation (AoI)  1123 . The flag is derived from the field AoI-Level in Societies Table  114 , wherein the AoI-Level  1146  specifies from the root node, nodes within how many level have authority to conduct invitation for that society. The AoI flag  1123  is cached in the Joined Society Table  112  for quickly determine whether the node has authority to invite other mobile device. 
         [0081]    Turn to the example of the mobile device with NID  1202 , since the AoI flag  1123  in the mobile device&#39;s Joined Society Table  112  records the symbol “YES”, the mobile device has authority to invite new member for the society with SID  786 . Hence after receiving the Invitation Request Packet from the mobile device, the Invitation Module will request the Acknowledgement Module for a valid SNS Token. As shown in  FIG. 8 , the Acknowledgement Module gives an Acknowledgement Index of  53026  as a valid SNS Token and the Invitation Module stores the contents of the Invitation Request Packet into the entry indexed by SNS Token  53026  in the Acknowledgement Lookup Table. An Invitation Packet including the SNS Token  53026 , the Inviter Token “Ken”, the Inviter SID  786  and the profile of the society with SID  786  is then sent to the invitee mobile device in IP address 140.93.35.73, wherein the profile of the society with SID  786  contains Abstract “IT News”, Life-Days “Unlimited”, AoI “Yes”, Max-Members “Unlimited”, Anonymous “Yes” and the website URL www.sociapp.com/itnews. 
         [0082]    If the invitee mobile device in IP address 140.93.35.73 accepts the invitation, an Acknowledgement Packet containing the SNS Token  53026 , Inviter SID  786  and Invitee NID, i.e.  1201  in this example, is sent from the invitee mobile device to the SNS. After decrypting the payload of the Acknowledgement Packet, The Acknowledgement Module retrieves the entry of Acknowledgement Lookup Table by the SNS Token  53026  and compares the received Inviter SID  786  with the Society ID in the retrieved entry. Since the received Inviter SID is consistent with the Society ID in the retrieved entry as  786 , the Acknowledgement Packet is valid and the invitee&#39;s node with NID  1201  is associated with the inviter&#39;s society with SID  786  by linking the inviter node with NID  1202  with the invitee node with NID  1201 . That is, the Invitation Module adds the NID  1201  into the Invitee Table 65021 ( 131  in  FIG. 13 ) which is associated with inviter&#39;s Joined Society Table with JST ID  43201 . The Invitee Table of inviter node with NID  1201  after adding NID  1201  is shown in  FIG. 13 , which is a schematic view showing an Invitee Table according to the present invention. 
         [0083]    Since the invitation initiated by the node with NID  1202  is successful and the NID  1201  is added into the Invitee Table 65021, the tree diagram of the exemplary society can be updated as shown in  FIG. 14 . As another example in  FIG. 8  and  FIG. 14 , where the node with NID  2  initiated an invitation to invite a mobile device in IP address 140.96.194.35 but rejected by the invitee. Since the invitee rejected to join the society with SID  786 , the invitee did not return its NID, hence even the SNS cannot know of what NID the invitee is. Such a result further assures the user privacy of the system according to the invention. 
         [0084]      FIG. 14  is a schematic view showing the tree representation of the result of the two invitations illustrated according to the present invention. 
         [0085]    To further understand and recognize the fulfilled functions and structural characteristics of the present invention, below illustrates another application employing the present invention. 
         [0086]    Please refer to  FIG. 15 ,  FIG. 15  is schematic view showing how a conference attendee attends a conference and applies the present invention to easily join the society established for the conference. 
         [0087]    As seen in  FIG. 15 , a conference attendee John  151  now is attending a conference. When he first time arrives the conference, he may go to the conference reception counter and meet with the conference staff for registration. During the registration, a conference staff Susan used her mobile device to make an ad hoc connection with John&#39;s mobile device as this invention revealed. During the ad hoc connection, John&#39;s mobile device and Susan&#39;s mobile device exchange their network address and their text-based token. Each mobile device displayed the token it got on the screen of the mobile device, so that John and Susan can make assure with whom they are ad hoc connected with. After the exchanging, each user of the mobile device could be the inviter mobile device to initiate an invitation as depicted in present invention. In this example, Susan, as a conference staff, initiated an invitation by using her mobile device to send the Invitation Request to the SNS, wherein the Invitation Request contains the network address of John&#39;s mobile device, the NID of Susan&#39;s mobile device, the SID of the conference society and the text-based token of Susan&#39;s mobile device. After the Invitation Request was receipted by the SNS, SNS checked the validity of the Invitation Request as depicted in this invention. In this example, the Invitation Request was valid and then the SNS retrieved the profile of the conference society specified by the SID in the Invitation Request, generated an SNS token and sent an Invitation to John&#39;s mobile device as specified by the invitee network address in the Invitation Request, wherein the Invitation contains the SID of the conference society, the retrieved profile, the generated SNS token, the text-based token of Susan&#39;s mobile device. After the Invitation was receipted by John&#39;s mobile device, John&#39;s mobile device checked the validity of this Invitation by checking whether the text-based token in the Invitation is consistent with the previous got token, i.e. the one got via the previous ad hoc connection. In this example, they were consistent and the profile in the Invitation was displayed in the screen of John&#39;s mobile device. Then John&#39;s mobile device asked for whether John wants to accept the invitation. In this example, John accepted the invitation and, consequently, John&#39;s mobile device sent an Acknowledgement to the SNS, wherein the Acknowledgement contains the NID of John&#39;s mobile device, the receipted SNS Token and the received SID. After the Acknowledgement was receipted and checked by the SNS, SNS associated the corresponding node of John&#39;s mobile device with the conference society via the method/system revealed in this invention. 
         [0088]    Note that, above example does not include some technical items related to security considerations such as encryption, decryption and the signatures of both mobile devices, since these technical items may be used according to the required security level. However, the above example is sufficient for understanding and recognizing the fulfilled functions and structural characteristics of the present invention 
         [0089]    The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and the scope of the invention, the invention resides in the claims hereinafter appended.