US20100132049A1 - Leveraging a social graph from a social network for social context in other systems - Google Patents

Leveraging a social graph from a social network for social context in other systems Download PDF

Info

Publication number
US20100132049A1
US20100132049A1 US12/324,761 US32476108A US2010132049A1 US 20100132049 A1 US20100132049 A1 US 20100132049A1 US 32476108 A US32476108 A US 32476108A US 2010132049 A1 US2010132049 A1 US 2010132049A1
Authority
US
United States
Prior art keywords
information
external system
user
social network
requested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/324,761
Inventor
Michael Steven Vernal
Wei Zhu
James M. Leszczenski
Joshua E. Elman
David Brookes Morin
Charles Duplain Cheever
Ruchi Sanghvi
Julie Zhuo
Luke Jonathan Shepard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Priority to US12/324,761 priority Critical patent/US20100132049A1/en
Assigned to FACEBOOK, INC. reassignment FACEBOOK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORIN, DAVID BROOKES, SHEPARD, LUKE JONATHAN, CHEEVER, CHARLES DUPLAIN, ELMAN, JOSHUA E., LESZCZENSKI, JAMES M., SANGHVI, RUCHI, VERNAL, MICHAEL STEVEN, ZHU, WEI, ZHUO, JULIE
Publication of US20100132049A1 publication Critical patent/US20100132049A1/en
Priority to US13/620,329 priority patent/US20130014284A1/en
Assigned to META PLATFORMS, INC. reassignment META PLATFORMS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FACEBOOK, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Definitions

  • This invention relates to social networking and in particular to using information from a social network in an external system outside of the social network.
  • a system such as a website that allows users to interact with the system typically stores a record for each of the users of the system.
  • Such representation of a user may comprise information provided by the user as well as information related to past activities of the user on the website.
  • a website may require a user to enter information such as contact information, gender, preferences, interests, and the like in an initial interaction with the website.
  • the website may use the information provided to make subsequent interactions with the user more efficient and beneficial to both the user and the website.
  • websites attempt to make an interaction with a user personalized to the user by displaying information that the user can relate to.
  • a user's interests may be used by the website to target advertisements that are of interest to the user.
  • past interactions of the user with the system also provide information that can be used by the website in future interactions.
  • a website selling books may keep track of previous purchases of a user and provide the user with information on related books during subsequent interactions with the website.
  • a typical system lacks information associated with social connections of a user that can be used effectively for promoting products or for making interactions with the user personalized to the user.
  • a user may be interested in looking at products that the user's friends have purchased in the past.
  • a user may be interested in knowing about interactions of the user's friends with the system. For example, a user visiting a website that sells books may be interested in books that the user's friends have looked at in the past, reviews provided by the user's friends, comments on forums provided by the user's friends if the website supports a forum, and similar information. Being able to see activities of a user's friends may improve the user experience on a website and increase the chances of the user's visiting the website in future.
  • presenting a product to a user that has been purchased and liked by the user's friends enables a website to leverage from the credibility of word of mouth advertising.
  • Typical systems do not possess information related to a user's social circle. Assimilating such information may require the system to interact with a large number of users over extended periods of time. Moreover, vendors that provide a website with a specialized functionality may not have the resources or the expertise needed to build a system that can collect the necessary information required to capture the social aspects of a user.
  • a social network maintains information related to social aspects of its members, and this information may be highly valuable to external systems that do not maintain this information.
  • Embodiments of the invention allow external systems to access information about members of a social network and their connections. The external system may use this information for various purposes, including presenting activities of a user's friends on the external system to the user.
  • One embodiment presents a computer implemented method for providing information associated with a member of a social network to an external system.
  • the information provided may be associated with the member or with the member's connections.
  • An external system requesting information associated with a member from a social network provides information identifying the member to the social network along with the request.
  • the information used by an external system to identify a member comprises a hash value based on the email address of the user of the external system.
  • the social network identifies the member based on the information provided in the request from the external system.
  • the social network ensures that the privacy settings of all the members whose information is being requested are respected. A subset of the requested information based on the privacy settings of all the members whose information is requested is provided to the external system. A member who is not allowed to access certain information in the social network is not allowed to access the same information in the external system.
  • FIG. 1 is high-level diagram illustrating how an external website can interact with a social networking website, in accordance with one embodiment of the invention.
  • FIG. 2 is a diagram of a social networking website, in accordance with an embodiment of the invention.
  • FIG. 3 is an example diagram of privacy settings of a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 4 is an interaction diagram of a process in which an external system obtains information about a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 5 is an interaction diagram of a process in which an external system determines whether a user of the external system is a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 6 is an interaction diagram of a process in which the external system accesses member profile information of a user of the external system from a social network, in accordance with one embodiment of the invention.
  • FIG. 7 is an interaction diagram of a process in which the external system accesses information associated with a member's friends from a social network, in accordance with one embodiment of the invention.
  • FIG. 8 is an example display from an application running on an external system, the display combining information associated with a user's friends obtained from a social network with activities of the user's friends on the external system, in accordance with one embodiment of the invention.
  • a social network offers its members the ability to communicate and interact with other members of the social network.
  • members join the social network and then add connections to a number of other members to whom they desire to be connected.
  • the term “friend” refers to any other member to whom a member has formed a connection, association, or relationship via the social network. Connections may be added explicitly by a member, for example, the member selecting a particular other member to be a friend, or automatically created by the social network based on common characteristics of the members (e.g., members who are alumni of the same educational institution). Connections in social networks are usually in both directions, but need not be, so the terms “member” and “friend” depend on the frame of reference.
  • connection between members may be a direct connection; however, some embodiments of a social network allow the connection to be indirect via one or more levels of connections. Also, the term friend need not require that members actually be friends in real life; it simply implies a connection in the social network.
  • FIG. 1 shows the interaction between an external system 110 and a social network 100 , as well as with individuals 140 who may be members 130 of the social network 100 and/or users 120 of the external system 110 .
  • the external system 110 may have several users 120 that interact with the system.
  • a person 140 may be a member 130 of the social network 100 and also a user 120 of the external system 110 .
  • the social network 100 keeps a record of information for each member 130 and the connections 140 among the members 130 .
  • the record of members 130 and their connections 140 in the social network 100 may be called a “social graph.”
  • the external system 110 can access the information about the social graph using an Application Programming Interface (API) 150 provided by the social network.
  • API Application Programming Interface
  • connection information 170 in the external system 110 represents information obtained from the social network by calling the API 150 .
  • the external system 110 may use the information obtained from the social network for various purposes.
  • the external system may present activities of a user's friends on the external system to the user.
  • the external system may also post information related to the user's activities on the social network using the APIs 160 provided by the social network.
  • the information posted on the social network by calling the APIs 160 may be made available to the user's friends on the social network.
  • a social network provides various mechanisms to its members to communicate with each other and to obtain information about their connection that they might find interesting, such as activities that their friends are involved with, applications that their friends are installing, and comments made by friends on activities of other friends.
  • These mechanisms include email, notifications, newsfeeds and the like.
  • a newsfeed provides to a member, a constantly updated list of activities of the member's friends.
  • FIG. 2 is a high level block diagram illustrating a system environment suitable for operation of a social networking website 215 .
  • the system environment comprises one or more client devices 205 , one or more external websites 200 , a social networking website 215 , and a network 210 .
  • client devices 205 one or more client devices 205 , one or more external websites 200 , a social networking website 215 , and a network 210 .
  • network 210 In alternative configurations, different and/or additional modules can be included in the system.
  • the client devices 205 comprise one or more computing devices that can receive member input and can transmit and receive data via the network 210 .
  • the client devices 205 may be desktop computers, laptop computers, smart phones, personal digital assistants (PDAs), or any other device including computing functionality and data communication capabilities.
  • the client devices 205 are configured to communicate via network 210 , which may comprise any combination of local area and/or wide area networks, using both wired and wireless communication systems.
  • FIG. 2 contains a block diagram of the social networking website 215 .
  • the social networking website 215 includes a web server 220 , an action logger 225 , an API request server 230 , an action log 240 , a newsfeed generator 235 , a member profile store 250 , and a connection store 255 .
  • the social networking website 215 may include additional, fewer, or different modules for various applications.
  • Conventional components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown so as to not obscure the details of the system.
  • the social networking website 215 comprises a computing system that allows members to communicate or otherwise interact with each other and access content as described herein.
  • the social networking website 215 stores member profiles that describe the members of a social network, including biographic, demographic, and other types of descriptive information, such as work experience, educational history, hobbies or preferences, location, and the like.
  • the website 215 further stores data describing one or more connections between different members in the connection store 255 .
  • the connection information may indicate members who have similar or common work experience, group memberships, hobbies, or educational history.
  • the social network host site 215 includes member-defined connections between different members, allowing members to specify their relationships with other members. For example, these member defined connections allows members to generate relationships with other members that parallel the members' real-life relationships, such as friends, co-workers, partners, and so forth. Members may select from predefined types of connections, or define their own connection types as needed.
  • the web server 220 links the social networking website 215 via the network 210 to one or more client devices 205 ; the web server 220 serves web pages, as well as other web-related content, such as Java, Flash, XML, and so forth.
  • the web server 220 may include a mail server or other messaging functionality for receiving and routing messages between the social networking website 215 and the client devices 210 .
  • the messages can be instant messages, queued messages (e.g., email), text and SMS messages, or any other suitable messaging technique.
  • the API request server 230 allows external websites 200 to access information from the social networking website 215 by calling APIs 150 .
  • the API request server 230 may also allow external websites 200 to send information to social networking website by calling APIs 160 .
  • An external website 200 sends an API request to the social networking website 215 via the network 210 .
  • the API request is received at the social networking website by the API request server 230 .
  • the API request server processes the request by calling the appropriate API to collect any appropriate response, which is then communicated back to the external website 200 via the network 210 .
  • the action logger 225 is capable of receiving communications from the web server 220 about member actions on and/or off the social networking website 215 .
  • the action logger 225 populates the action log 240 with information about member actions to track them. Any action that a particular member takes with respect to another member is associated with each member's profile, through information maintained in a database or other data repository, such as the action log 240 .
  • Such actions may include, for example, adding a connection to the other member, sending a message to the other member, reading a message from the other member, viewing content associated with the other member, attending an event posted by another member, among others.
  • a number of actions described below in connection with other objects are directed at particular members, so these actions are associated with those members as well.
  • the action is recorded in an action log 240 .
  • the website 215 maintains the action log 240 as a database of entries.
  • the website 215 adds an entry for that action to the log 240 .
  • the newsfeed generator 235 generates messages for each member about information that may be relevant to the member, based on actions stored in the action log 240 . These messages are called “stories”; each story is a message comprising one or more lines of information that describe one more actions in the action log 240 that are relevant to the particular member. The stories are presented to a member via one or more pages of the social networking website 100 .
  • the authorization server 245 enforces the privacy settings of the members of the social network.
  • the privacy setting of a member determines how particular information associated with a member can be shared.
  • the privacy setting comprises the specification of particular information associated with a member and the specification of the entity or entities with whom the information can be shared.
  • the entities with which information can be shared may include other members, applications, external systems, or any entity that can potentially access the information.
  • the information that can be shared by a member comprises member profile information like profile photo, phone numbers associated with the member, member's connections, actions taken by the member such as adding a connection, changing member profile information and the like.
  • the privacy setting specification may be provided at different levels of granularity.
  • the information to be shared may be specified as specific information, such as, work phone number, or a set of related information, such as, personal information including several pieces of related information including profile photo, home phone number, and status.
  • the privacy setting may apply to all the information associated with the member.
  • the specification of the set of entities that can access particular information can also be specified at various levels of granularity.
  • Various sets of entities with which information can be shared may include, for example, all friends of the member, all friends of friends, all applications, or all external systems.
  • One embodiment allows the specification to comprise an enumeration of entities, for example, the user may provide a list of external systems that are allowed to access certain information.
  • Another embodiment allows the specification to comprise a set of entities along with exceptions that are not allowed to access the information.
  • a member may allow all external systems to access the member's work information but specify a list of external systems that are not allowed to access the work information.
  • Certain embodiments call the list of exceptions that are not allowed to access certain information a block list. External systems belonging to a block list specified by a member are blocked from accessing the information specified in the privacy setting. Note that the various combinations of granularity of specification of information and the granularity of specification of entities with which information is shared are possible, i.e., all personal information may be shared with friends whereas all work information may be shared with friends of friends.
  • FIG. 3 illustrates an example of how the privacy settings of a member 130 control the accessibility of information associated with the member 130 to the member's friends 305 or applications 310 .
  • the arrow 350 indicates that friend 305 (A) is allowed to access the work phone number 340 of member 130
  • arrow 355 indicates that friend 305 (A) is allowed to access the mobile phone number of the member 130 .
  • Friend 305 (A) does not have access to information such as profile photo 315 of the member 130 or the member's friends list 325 .
  • friend 305 (B) is allowed to access the friends list 325 .
  • the information associated with a member includes actions taken by a member such as the action of adding a new friend 330 .
  • the member 130 can completely block another member or an application from accessing any information associated with the member 130 .
  • a member or an application that is blocked by the member 130 does not have access to any information associated with member 130 .
  • the authorization server 245 contains logic to determine if certain information associated with a member can be accessed by a member's friends and/or other applications and entities. For example, an application 310 that attempts to access a member's work phone number 340 must get authorization to access the information from the authorization server 245 .
  • the authorization server 245 decides based on the member's privacy settings if the member's work phone number 340 can be accessed by the application 310 . Based on the member's privacy settings, the authorization decides if the application 310 is allowed to access information associated with the member 130 .
  • the social networking website 215 maintains data about objects with which a member may interact on the website 215 .
  • the member profile store 250 and the connection store 255 store instances of the corresponding type of objects maintained by the website 215 .
  • Each object type has information fields that are suitable for storing information appropriate to the type of object.
  • the member profile store 250 contains data structures with fields suitable for describing a member's profile.
  • the website 215 When a user becomes a member of the website 215 , the website 215 generates a new instance of a member profile in the member profile store 250 , assigns a unique identifier to the member profile, and begins to populate the fields of the member profile with information provided by the member.
  • FIG. 4 illustrates a process by which external system 110 accesses information associated with a user 120 from a social network 100 .
  • a member 130 of the social network becomes a user 120 of the external system by either creating an account on the external system 110 or by simply interacting with the external system 110 .
  • the process of FIG. 4 starts with a user 120 of the external system requesting 400 information from the external system 110 .
  • FIG. 4 does not show certain steps that may happen before the user's request 400 to the external system.
  • the user 120 may login to the external system 110 and take other actions before invoking the process that results in the requesting 400 of information from the external system 110 .
  • the interaction 40 may correspond to the user taking an action on the external system.
  • the external system 110 determines 405 a need for information from the social network 100 , related to the user 120 .
  • a user may interact with a website for donating to a charity.
  • the website may want to present to the user, a list of the user's friends that have donated at the website. Determining the list of user's friends requires the website to interact with the social network 100 .
  • the external system 110 requests 410 information associated with user 120 from the social network 100 .
  • the external system 110 may or may not have the information regarding whether the user 120 is a member of the social network 100 . In case the external system 110 does not have information about whether the user 120 is a member of the social network 100 , the external system may request the membership status of the user 120 in the social network 100 . If the external system has the information that the user 120 is a member of the social network 100 , the external system may request further information related to user 120 from the social network 100 .
  • the additional information requested may comprise details of the member profile of the user or a list of the user's connections in the social network 100 .
  • the external system 110 may present information associated with the user 120 that helps the social network 100 identify the user as a member of the social network.
  • the information presented by the external system for identifying the member 130 may depend on previous communications between the external system 110 and the social network 100 regarding the user 120 . For example, if the external system 110 has previously communicated with the social network 100 regarding user 120 , the external system 110 may have a unique identifier associated with the user's member profile, which may then be used to identify the member uniquely. If this is the first request sent by the external system 110 to the social network 100 regarding the user 120 , the external system 110 may send information useful for identifying the user 120 .
  • the external system 110 may uniquely identify the user 120 by sending information that it maintains for the user 120 , such as the user's full name, email address, home phone number, date of birth, or any other identifying information, alone or in combination.
  • the external system 110 may compute a hash value based on information useful for identifying the user 120 and send the hash value to the social network 100 .
  • Use of a hash function on the user's unique information beneficially protects the user's privacy and generally enhances the security of the communications between the external system 110 and the social network 100
  • the API request server 230 checks 415 the member profile store 250 to determine whether the identification information presented with the request matches a member of the social network 100 . If the identification information matches a member of the social network 100 , the API request server 230 communicates with the authorization server 245 to check 420 if the member has authorized the external system 110 to access the requested information. If the requested information is associated with multiple members of the social network, the privacy settings of all the members involved are checked to compute the subset of information that the external system is authorized to access. The information returned to the external system includes only the subset of information that the external website is authorized to access based on the privacy settings of all the members whose information is requested. A member who is not allowed to access certain information in the social network is not allowed to access the same information when the social network information is presented to the member in an external system.
  • the social network 100 replies 425 to the external system's request 410 with the requested information.
  • the processes of requesting 410 , checking 420 , and replying 425 may repeat several times, until the external system 110 has obtained the information that it needs for its own purposes.
  • FIGS. 5 , 6 , and 7 present various embodiments of the interactions between the user 120 , external system 110 , and the social network 100 for particular types of information requests.
  • the external system 110 may then combine 430 the information obtained from the social network 100 with information available in the external system 110 for any of a variety of purposes intended by the external system 110 .
  • the external system 110 then presents 435 this combined information to the user 120 .
  • FIG. 5 shows a process by which an external system 110 checks if a user 120 of the external system 110 is a member 130 of the social network 100 .
  • the process starts when the external system determines that it needs to know whether the user 120 is a member of the social network 100 . If so, the external system may first determine 505 whether the external system 110 already knows that the user 120 is a member of the social network 100 . In certain embodiments, if the external system 110 has previously learned that the user 120 is a member and has stored that information this process can stop. Otherwise, the external system 110 needs to request this information from the social network 100 .
  • the social network 100 provides an API 150 to allow the external system 110 check if a user is a member of the social network 100 .
  • This API can take as an input a string that uniquely identifies the member based on information associated with the member.
  • the API can return a Boolean value that is true if the user is a member of the social network, false otherwise.
  • the API can return a unique identifier for the member, which the external system 110 may use to identify the member for subsequent requests to the social network 100 .
  • Other embodiments may take a different set of arguments and/or return the result in a different format.
  • the external system 110 builds 510 a unique string based on unique information about the user.
  • This unique string may comprise a hash string based on the email address or other unique information associated with the user 120 of the external system 110 .
  • the external system requests 515 that the social network 100 inform it whether the user 120 is a member.
  • the API request server 230 receives this request and checks 520 against the member profile store 250 to see if the input identification string matches the member profile of a member of the social network.
  • the server 230 may apply an inverse hash function to obtain the original unique identifier for the user 120 .
  • the server 230 may compare the input hash value with a predetermined hash value stored with the member profile. The determined hash value is computed using the same mechanism as used by the external system 110 .
  • a reply 530 to the external system 110 is sent indicating the result of the API call is the Boolean value false. If the identification string provided matches a member of the social network 100 , the API request server 230 checks 525 with the authorization server 245 to determine if the identified member's privacy settings allow sharing of the member's status with the external system 110 . The result of this determination is then returned 530 to the external system 110 . If the member has blocked the external system 110 from getting information about the member, the Boolean value false is returned to the external system 110 by the API request server 230 , even though the user is a member of the social network 100 .
  • the external system 110 has no mechanism to deduce that the user 120 is a member when the external system 110 is not authorized to access that information. If the member has not blocked the external system 110 , the Boolean value true is returned to the external system by the API request server 230 .
  • the social network 100 may return 530 to the external system 110 a member ID associated with the user 120 .
  • This member ID is used by the social network 100 to identify the member uniquely.
  • the member ID may be returned as part of the reply 530 or provided as a result of a separate API call.
  • the member ID associated with the user is then stored 535 by the external system 110 , optionally along with other information associated with the user 120 .
  • the member ID may be used for identifying the user 120 in subsequent requests sent to the social network 100 .
  • the ability to use the member ID in an API call may improve performance compared to an API that requires the external system 120 to build a unique ID string from information associated with the member.
  • the social network 100 may request 540 the user 120 to authorize the social network 100 to share the user's information with external systems in the future.
  • This request 540 may identify the external system 110 that attempted but failed to determine whether the user 120 is a member of the social network 100 .
  • the request 540 may also describe how the member can authorize the external system 110 to access the member's information from the social network 100 by logging into the social network 100 and providing the necessary credentials (such as username and password).
  • a member that authorizes sharing of the member's information may prevent the external system 110 from accessing specific parts of the member's information by changing the member's privacy settings, as explained above.
  • FIG. 6 shows a process in which an external system 110 obtains information about a member's profile from the social network 100 .
  • the information requested may include personal information, such as a picture of the user 315 , a mobile phone number 320 , a work phone number 340 , status information, or any other suitable personal information.
  • the external system may request information related to actions taken by the user, for example, the user adding a friend 330 .
  • the external system 110 determines that it needs particular information about the user's member profile in the social network 100
  • the external system 110 checks 600 the information associated with the user stored at the external system 110 to determine if the user is a member of the social network 100 .
  • the external system 110 may check with the social network 100 (e.g., as described in FIG. 5 ) to confirm if the user has become a member of the social network 100 since the last time the external system 110 checked.
  • the external system 110 determines that the user is a member of the social network 100 .
  • the request 610 comprises a call to an API 150 , which is received by the API request server 230 .
  • the API 150 may require inputs that identify the user as a member of the social network 100 , e.g., using the member ID described above.
  • the social network 100 checks 615 if the user is a member of the social network 100 . If the user is a member of the social network 100 , the API request server 230 checks 620 with the authorization server 245 to determine if the identified member has authorized the external system 110 to access the requested information. If the user has authorized the external system 110 to access the requested information, the requested information is returned 625 as the reply to the request 610 .
  • FIG. 7 shows a process by which an external system 110 obtains information about a member's connections in the social network 100 .
  • the external system 110 may determine 700 whether the user is a member of the social network 100 and respond accordingly, as described above in connection with step 600 .
  • the privacy settings of all the members concerned are analyzed to determine what information can be provided to the external system 110 .
  • the privacy settings of the user as well as the privacy settings of the member's connections are analyzed to determine the information communicated to the external system 110 .
  • the external system 110 sends a request 705 to the social network 100 with the appropriate information to identify the user 120 .
  • the API request server 230 receives this request and checks with the authorization server 245 to determine if the identified member has authorized the external system 110 to access the member's connection list.
  • the social network 100 checks 715 the authorization server 245 to determine if each connection (i.e., the other member identified by the connection) on the member's connection list has also authorized the external system 110 to access the connection's information.
  • the user may have given access to the external system to obtain information associated with the user's friends of the friends. This allows the external system to get the list of all the friends of the user as well as all the friends of each friend of the user.
  • a friend X of the user may allow the external system to access X's information but may not allow access to X's friends list.
  • the final list communicated to the external system includes X but does not include X's friends.
  • Another friend Y may not allow the external system access to any of Y's information.
  • the final list communicated to the external system would thus not include Y, or any of Y's friends.
  • the social network 100 replies 730 to the external system 110 with a list of the member's connections that have authorized the external system 110 to access this information.
  • the external system 110 may be allowed to store the connections list of the user 120 , or the external system 110 may be required (e.g., by the social network 100 ) to delete the connections list of the user 120 after a predetermined interval of time. If the external system 110 is required to delete the connections list of the user 120 after a predetermined interval of time, the external system 110 may have to send another request 705 after the predetermined interval has passed to fetch the connections list for the social network 100 if needed.
  • the social network 100 may invite 725 those connections to authorize access to their information. Alternatively, this invitation may be sent on behalf of or directly by the member associated with user 110 .
  • a member that receives a request from a friend asking him to authorize an external system 110 may be more likely to accept the request than a member receiving a request from the external system 110 directly or from another source that the member may not trust.
  • the external system receives information associated with a user from the social network and combines it with information from the external system to present to the user.
  • the social network may require the external system to provide information associated with various members' actions taken on the external system on a regular basis, and the social network processes the information to generate newsfeeds containing relevant information.
  • the external system may call APIs of the social network that allow the external system to retrieve processed information such as the newsfeed for a particular user.
  • the external system may send a request for the newsfeed information of a user, identifying the user as well as the external system.
  • the social network computes the newsfeed information to be sent to the external system in a reply by filtering only the newsfeed information from users that have authorized the external system to receive the requested information.
  • the social network also filters out the newsfeed information related to other external systems.
  • FIG. 8 shows an example of an external system that combines information associated with its users obtained from the social network with information collected by the external system.
  • the external system allows users to log in and track their running history, as well as view the running histories of their friends on the social network.
  • the example system includes an application that allows users to record information 800 associated with how far they ran on a particular date.
  • the application presents information to a user that logs into the external system. Since the user of the system records how many miles the user ran on different days, it is likely the user is interested in knowing if any of the user's friends are also recording their information on the external system. Also, the user may like to know information associated with how far the user's friends ran on certain dates.
  • the application obtains the user's friends list from the social network, assuming the user has authorized the application and the external system to get the required information. Note that any friend of the user that has blocked the external system or the application is not presented by the application in FIG. 8 .
  • the application also presents information such as status information and profile photo of members from the social network.
  • a member 805 may not have made the status information available to the social network or may have prevented the external system from accessing the status information.
  • user 815 may have either not provided a profile photo 820 to the social network or may have prevented the external system from accessing the user's profile photo from the social network.
  • an external system implementing an online bookstore may present a user with information related to the user's friends that buy books from the bookstore or books that have been purchased by the user's friends. This information may be filtered based on information from the member's profile, for example, a user that lists cooking as a hobby as part of the member profile on the social network may be presented with cookbooks that the user's friends may have purchased from the bookstore. This presents a mechanism for external systems to present information that they are very likely to be interested in. For example, knowing a member's hobbies allows the external system to filter out information that may not be of interest to the user.
  • Presenting the above information when the user logs into the external system is the most appropriate time, since the user is prepared to look for relevant information and is actively looking for relevant information. Presenting the information associated with an external system at other times may not have as much impact since the user may be busy with other activities not related to the external system and may not pay attention to matters related to the external system. Also, being able to provide the information relevant to the external system in the context of the member's friends provides credibility to the information presented. For example, a user is more likely to be influenced to respond to a message in the presence of information that the member's friends have taken certain action on the external system.
  • a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
  • Embodiments of the invention may also relate to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus.
  • any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • Embodiments of the invention may also relate to a computer data signal embodied in a carrier wave, where the computer data signal includes any embodiment of a computer program product or other data combination described herein.
  • the computer data signal is a product that is presented in a tangible medium or carrier wave and modulated or otherwise encoded in the carrier wave, which is tangible, and transmitted according to any suitable transmission method.

Abstract

A social network contains information describing information about members of the social network and about various connections among the members. An external system that interacts with users (such as a website) communicates with the social network to access information about the members of the social network. In particular, the external system may determine whether a user is a member of the social network and then obtain information about the member and the member's connections within the social network. This allows an external system to use information from the social network to enhance a user's experience on the external system, while enforcing each member's privacy settings.

Description

    FIELD OF THE INVENTION
  • This invention relates to social networking and in particular to using information from a social network in an external system outside of the social network.
  • BACKGROUND
  • A system such as a website that allows users to interact with the system typically stores a record for each of the users of the system. Such representation of a user may comprise information provided by the user as well as information related to past activities of the user on the website. For example, a website may require a user to enter information such as contact information, gender, preferences, interests, and the like in an initial interaction with the website. The website may use the information provided to make subsequent interactions with the user more efficient and beneficial to both the user and the website. Also, websites attempt to make an interaction with a user personalized to the user by displaying information that the user can relate to. For example, a user's interests may be used by the website to target advertisements that are of interest to the user. Similarly, past interactions of the user with the system also provide information that can be used by the website in future interactions. For example, a website selling books may keep track of previous purchases of a user and provide the user with information on related books during subsequent interactions with the website.
  • However, a typical system lacks information associated with social connections of a user that can be used effectively for promoting products or for making interactions with the user personalized to the user. A user may be interested in looking at products that the user's friends have purchased in the past. Similarly, a user may be interested in knowing about interactions of the user's friends with the system. For example, a user visiting a website that sells books may be interested in books that the user's friends have looked at in the past, reviews provided by the user's friends, comments on forums provided by the user's friends if the website supports a forum, and similar information. Being able to see activities of a user's friends may improve the user experience on a website and increase the chances of the user's visiting the website in future. In addition, presenting a product to a user that has been purchased and liked by the user's friends enables a website to leverage from the credibility of word of mouth advertising.
  • Typical systems do not possess information related to a user's social circle. Assimilating such information may require the system to interact with a large number of users over extended periods of time. Moreover, vendors that provide a website with a specialized functionality may not have the resources or the expertise needed to build a system that can collect the necessary information required to capture the social aspects of a user.
  • SUMMARY
  • A social network maintains information related to social aspects of its members, and this information may be highly valuable to external systems that do not maintain this information. Embodiments of the invention allow external systems to access information about members of a social network and their connections. The external system may use this information for various purposes, including presenting activities of a user's friends on the external system to the user.
  • One embodiment presents a computer implemented method for providing information associated with a member of a social network to an external system. The information provided may be associated with the member or with the member's connections. An external system requesting information associated with a member from a social network provides information identifying the member to the social network along with the request. In one embodiment, the information used by an external system to identify a member comprises a hash value based on the email address of the user of the external system. The social network identifies the member based on the information provided in the request from the external system. The social network ensures that the privacy settings of all the members whose information is being requested are respected. A subset of the requested information based on the privacy settings of all the members whose information is requested is provided to the external system. A member who is not allowed to access certain information in the social network is not allowed to access the same information in the external system.
  • The features and advantages described in this summary and the following detailed description are not all-inclusive. Many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims hereof.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is high-level diagram illustrating how an external website can interact with a social networking website, in accordance with one embodiment of the invention.
  • FIG. 2 is a diagram of a social networking website, in accordance with an embodiment of the invention.
  • FIG. 3 is an example diagram of privacy settings of a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 4 is an interaction diagram of a process in which an external system obtains information about a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 5 is an interaction diagram of a process in which an external system determines whether a user of the external system is a member of a social network, in accordance with one embodiment of the invention.
  • FIG. 6 is an interaction diagram of a process in which the external system accesses member profile information of a user of the external system from a social network, in accordance with one embodiment of the invention.
  • FIG. 7 is an interaction diagram of a process in which the external system accesses information associated with a member's friends from a social network, in accordance with one embodiment of the invention.
  • FIG. 8 is an example display from an application running on an external system, the display combining information associated with a user's friends obtained from a social network with activities of the user's friends on the external system, in accordance with one embodiment of the invention.
  • The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
  • DETAILED DESCRIPTION Interactions Between an External System and a Social Network
  • A social network offers its members the ability to communicate and interact with other members of the social network. In use, members join the social network and then add connections to a number of other members to whom they desire to be connected. As used herein, the term “friend” refers to any other member to whom a member has formed a connection, association, or relationship via the social network. Connections may be added explicitly by a member, for example, the member selecting a particular other member to be a friend, or automatically created by the social network based on common characteristics of the members (e.g., members who are alumni of the same educational institution). Connections in social networks are usually in both directions, but need not be, so the terms “member” and “friend” depend on the frame of reference. For example, if Bob and Joe are both members and connected to each other in the website, Bob and Joe, both members, are also each other's friends. The connection between members may be a direct connection; however, some embodiments of a social network allow the connection to be indirect via one or more levels of connections. Also, the term friend need not require that members actually be friends in real life; it simply implies a connection in the social network.
  • FIG. 1 shows the interaction between an external system 110 and a social network 100, as well as with individuals 140 who may be members 130 of the social network 100 and/or users 120 of the external system 110. The external system 110 may have several users 120 that interact with the system. In particular, a person 140 may be a member 130 of the social network 100 and also a user 120 of the external system 110. The social network 100 keeps a record of information for each member 130 and the connections 140 among the members 130. The record of members 130 and their connections 140 in the social network 100 may be called a “social graph.”
  • In accordance with embodiment of the invention, the external system 110 can access the information about the social graph using an Application Programming Interface (API) 150 provided by the social network. For example, connection information 170 in the external system 110 represents information obtained from the social network by calling the API 150. The external system 110 may use the information obtained from the social network for various purposes. For example, the external system may present activities of a user's friends on the external system to the user. The external system may also post information related to the user's activities on the social network using the APIs 160 provided by the social network. The information posted on the social network by calling the APIs 160 may be made available to the user's friends on the social network.
  • A social network provides various mechanisms to its members to communicate with each other and to obtain information about their connection that they might find interesting, such as activities that their friends are involved with, applications that their friends are installing, and comments made by friends on activities of other friends. These mechanisms include email, notifications, newsfeeds and the like. For example, a newsfeed provides to a member, a constantly updated list of activities of the member's friends.
  • System Architecture
  • FIG. 2 is a high level block diagram illustrating a system environment suitable for operation of a social networking website 215. The system environment comprises one or more client devices 205, one or more external websites 200, a social networking website 215, and a network 210. In alternative configurations, different and/or additional modules can be included in the system.
  • The client devices 205 comprise one or more computing devices that can receive member input and can transmit and receive data via the network 210. For example, the client devices 205 may be desktop computers, laptop computers, smart phones, personal digital assistants (PDAs), or any other device including computing functionality and data communication capabilities. The client devices 205 are configured to communicate via network 210, which may comprise any combination of local area and/or wide area networks, using both wired and wireless communication systems.
  • FIG. 2 contains a block diagram of the social networking website 215. The social networking website 215 includes a web server 220, an action logger 225, an API request server 230, an action log 240, a newsfeed generator 235, a member profile store 250, and a connection store 255. In other embodiments, the social networking website 215 may include additional, fewer, or different modules for various applications. Conventional components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown so as to not obscure the details of the system.
  • The social networking website 215 comprises a computing system that allows members to communicate or otherwise interact with each other and access content as described herein. The social networking website 215 stores member profiles that describe the members of a social network, including biographic, demographic, and other types of descriptive information, such as work experience, educational history, hobbies or preferences, location, and the like. The website 215 further stores data describing one or more connections between different members in the connection store 255. The connection information may indicate members who have similar or common work experience, group memberships, hobbies, or educational history. Additionally, the social network host site 215 includes member-defined connections between different members, allowing members to specify their relationships with other members. For example, these member defined connections allows members to generate relationships with other members that parallel the members' real-life relationships, such as friends, co-workers, partners, and so forth. Members may select from predefined types of connections, or define their own connection types as needed.
  • The web server 220 links the social networking website 215 via the network 210 to one or more client devices 205; the web server 220 serves web pages, as well as other web-related content, such as Java, Flash, XML, and so forth. The web server 220 may include a mail server or other messaging functionality for receiving and routing messages between the social networking website 215 and the client devices 210. The messages can be instant messages, queued messages (e.g., email), text and SMS messages, or any other suitable messaging technique.
  • The API request server 230 allows external websites 200 to access information from the social networking website 215 by calling APIs 150. The API request server 230 may also allow external websites 200 to send information to social networking website by calling APIs 160. An external website 200 sends an API request to the social networking website 215 via the network 210. The API request is received at the social networking website by the API request server 230. The API request server processes the request by calling the appropriate API to collect any appropriate response, which is then communicated back to the external website 200 via the network 210.
  • The action logger 225 is capable of receiving communications from the web server 220 about member actions on and/or off the social networking website 215. The action logger 225 populates the action log 240 with information about member actions to track them. Any action that a particular member takes with respect to another member is associated with each member's profile, through information maintained in a database or other data repository, such as the action log 240. Such actions may include, for example, adding a connection to the other member, sending a message to the other member, reading a message from the other member, viewing content associated with the other member, attending an event posted by another member, among others. In addition, a number of actions described below in connection with other objects are directed at particular members, so these actions are associated with those members as well. When a member takes an action on the social networking website 215, the action is recorded in an action log 240. In one embodiment, the website 215 maintains the action log 240 as a database of entries. When an action is taken on the website 215, the website 215 adds an entry for that action to the log 240.
  • The newsfeed generator 235 generates messages for each member about information that may be relevant to the member, based on actions stored in the action log 240. These messages are called “stories”; each story is a message comprising one or more lines of information that describe one more actions in the action log 240 that are relevant to the particular member. The stories are presented to a member via one or more pages of the social networking website 100.
  • The authorization server 245 enforces the privacy settings of the members of the social network. The privacy setting of a member determines how particular information associated with a member can be shared. The privacy setting comprises the specification of particular information associated with a member and the specification of the entity or entities with whom the information can be shared. The entities with which information can be shared may include other members, applications, external systems, or any entity that can potentially access the information. The information that can be shared by a member comprises member profile information like profile photo, phone numbers associated with the member, member's connections, actions taken by the member such as adding a connection, changing member profile information and the like.
  • The privacy setting specification may be provided at different levels of granularity. For example, the information to be shared may be specified as specific information, such as, work phone number, or a set of related information, such as, personal information including several pieces of related information including profile photo, home phone number, and status. Alternatively, the privacy setting may apply to all the information associated with the member. The specification of the set of entities that can access particular information can also be specified at various levels of granularity. Various sets of entities with which information can be shared may include, for example, all friends of the member, all friends of friends, all applications, or all external systems. One embodiment allows the specification to comprise an enumeration of entities, for example, the user may provide a list of external systems that are allowed to access certain information. Another embodiment allows the specification to comprise a set of entities along with exceptions that are not allowed to access the information. For example, a member may allow all external systems to access the member's work information but specify a list of external systems that are not allowed to access the work information. Certain embodiments call the list of exceptions that are not allowed to access certain information a block list. External systems belonging to a block list specified by a member are blocked from accessing the information specified in the privacy setting. Note that the various combinations of granularity of specification of information and the granularity of specification of entities with which information is shared are possible, i.e., all personal information may be shared with friends whereas all work information may be shared with friends of friends.
  • FIG. 3 illustrates an example of how the privacy settings of a member 130 control the accessibility of information associated with the member 130 to the member's friends 305 or applications 310. As shown in FIG. 3, the arrow 350 indicates that friend 305(A) is allowed to access the work phone number 340 of member 130, and arrow 355 indicates that friend 305(A) is allowed to access the mobile phone number of the member 130. Friend 305(A) does not have access to information such as profile photo 315 of the member 130 or the member's friends list 325. On the other hand, friend 305(B) is allowed to access the friends list 325. The information associated with a member includes actions taken by a member such as the action of adding a new friend 330. The member 130 can completely block another member or an application from accessing any information associated with the member 130. A member or an application that is blocked by the member 130 does not have access to any information associated with member 130.
  • The authorization server 245 contains logic to determine if certain information associated with a member can be accessed by a member's friends and/or other applications and entities. For example, an application 310 that attempts to access a member's work phone number 340 must get authorization to access the information from the authorization server 245. The authorization server 245 decides based on the member's privacy settings if the member's work phone number 340 can be accessed by the application 310. Based on the member's privacy settings, the authorization decides if the application 310 is allowed to access information associated with the member 130.
  • As discussed above, the social networking website 215 maintains data about objects with which a member may interact on the website 215. To this end, the member profile store 250 and the connection store 255 store instances of the corresponding type of objects maintained by the website 215. Each object type has information fields that are suitable for storing information appropriate to the type of object. For example, the member profile store 250 contains data structures with fields suitable for describing a member's profile. When a new object of a particular type is created, the website 215 initializes a new data structure of the corresponding type, assigns a unique object identifier to it, and begins to add data to the object as needed. This might occur, for example, when a user becomes a member of the website 215, the website 215 generates a new instance of a member profile in the member profile store 250, assigns a unique identifier to the member profile, and begins to populate the fields of the member profile with information provided by the member.
  • External System Accessing Information from Social Network
  • FIG. 4 illustrates a process by which external system 110 accesses information associated with a user 120 from a social network 100. A member 130 of the social network becomes a user 120 of the external system by either creating an account on the external system 110 or by simply interacting with the external system 110. The process of FIG. 4 starts with a user 120 of the external system requesting 400 information from the external system 110. FIG. 4 does not show certain steps that may happen before the user's request 400 to the external system. For example, the user 120 may login to the external system 110 and take other actions before invoking the process that results in the requesting 400 of information from the external system 110. In certain embodiments, the interaction 40 may correspond to the user taking an action on the external system. To respond to the user's request, or to present the user with information that may be of interest to the user, the external system 110 determines 405 a need for information from the social network 100, related to the user 120. For example, a user may interact with a website for donating to a charity. The website may want to present to the user, a list of the user's friends that have donated at the website. Determining the list of user's friends requires the website to interact with the social network 100.
  • The external system 110 requests 410 information associated with user 120 from the social network 100. The external system 110 may or may not have the information regarding whether the user 120 is a member of the social network 100. In case the external system 110 does not have information about whether the user 120 is a member of the social network 100, the external system may request the membership status of the user 120 in the social network 100. If the external system has the information that the user 120 is a member of the social network 100, the external system may request further information related to user 120 from the social network 100. The additional information requested may comprise details of the member profile of the user or a list of the user's connections in the social network 100.
  • As part of the request 410, the external system 110 may present information associated with the user 120 that helps the social network 100 identify the user as a member of the social network. The information presented by the external system for identifying the member 130 may depend on previous communications between the external system 110 and the social network 100 regarding the user 120. For example, if the external system 110 has previously communicated with the social network 100 regarding user 120, the external system 110 may have a unique identifier associated with the user's member profile, which may then be used to identify the member uniquely. If this is the first request sent by the external system 110 to the social network 100 regarding the user 120, the external system 110 may send information useful for identifying the user 120. In one embodiment, the external system 110 may uniquely identify the user 120 by sending information that it maintains for the user 120, such as the user's full name, email address, home phone number, date of birth, or any other identifying information, alone or in combination. In certain embodiments, the external system 110 may compute a hash value based on information useful for identifying the user 120 and send the hash value to the social network 100. Use of a hash function on the user's unique information beneficially protects the user's privacy and generally enhances the security of the communications between the external system 110 and the social network 100
  • Once the request 410 is received by the API request server 230 of the social network 100, in certain embodiments, the API request server 230 checks 415 the member profile store 250 to determine whether the identification information presented with the request matches a member of the social network 100. If the identification information matches a member of the social network 100, the API request server 230 communicates with the authorization server 245 to check 420 if the member has authorized the external system 110 to access the requested information. If the requested information is associated with multiple members of the social network, the privacy settings of all the members involved are checked to compute the subset of information that the external system is authorized to access. The information returned to the external system includes only the subset of information that the external website is authorized to access based on the privacy settings of all the members whose information is requested. A member who is not allowed to access certain information in the social network is not allowed to access the same information when the social network information is presented to the member in an external system.
  • If the external system 110 is authorized to access the requested information, the social network 100 replies 425 to the external system's request 410 with the requested information. The processes of requesting 410, checking 420, and replying 425 may repeat several times, until the external system 110 has obtained the information that it needs for its own purposes. FIGS. 5, 6, and 7 present various embodiments of the interactions between the user 120, external system 110, and the social network 100 for particular types of information requests. Once the external system 110 gets the information it requested, it may then combine 430 the information obtained from the social network 100 with information available in the external system 110 for any of a variety of purposes intended by the external system 110. The external system 110 then presents 435 this combined information to the user 120.
  • FIG. 5 shows a process by which an external system 110 checks if a user 120 of the external system 110 is a member 130 of the social network 100. The process starts when the external system determines that it needs to know whether the user 120 is a member of the social network 100. If so, the external system may first determine 505 whether the external system 110 already knows that the user 120 is a member of the social network 100. In certain embodiments, if the external system 110 has previously learned that the user 120 is a member and has stored that information this process can stop. Otherwise, the external system 110 needs to request this information from the social network 100.
  • In one embodiment, the social network 100 provides an API 150 to allow the external system 110 check if a user is a member of the social network 100. This API can take as an input a string that uniquely identifies the member based on information associated with the member. In response, the API can return a Boolean value that is true if the user is a member of the social network, false otherwise. In another embodiment, the API can return a unique identifier for the member, which the external system 110 may use to identify the member for subsequent requests to the social network 100. Other embodiments may take a different set of arguments and/or return the result in a different format.
  • In one embodiment, the external system 110 builds 510 a unique string based on unique information about the user. This unique string may comprise a hash string based on the email address or other unique information associated with the user 120 of the external system 110. Using the unique string to identify the user 120, and the API described above, the external system requests 515 that the social network 100 inform it whether the user 120 is a member. The API request server 230 receives this request and checks 520 against the member profile store 250 to see if the input identification string matches the member profile of a member of the social network. In an embodiment where the string has been hashed, the server 230 may apply an inverse hash function to obtain the original unique identifier for the user 120. In another embodiment when a hash value is provided as input to an API, the server 230 may compare the input hash value with a predetermined hash value stored with the member profile. The determined hash value is computed using the same mechanism as used by the external system 110.
  • If the identification string provided does not match any member of the social network, a reply 530 to the external system 110 is sent indicating the result of the API call is the Boolean value false. If the identification string provided matches a member of the social network 100, the API request server 230 checks 525 with the authorization server 245 to determine if the identified member's privacy settings allow sharing of the member's status with the external system 110. The result of this determination is then returned 530 to the external system 110. If the member has blocked the external system 110 from getting information about the member, the Boolean value false is returned to the external system 110 by the API request server 230, even though the user is a member of the social network 100. In certain embodiments, the external system 110 has no mechanism to deduce that the user 120 is a member when the external system 110 is not authorized to access that information. If the member has not blocked the external system 110, the Boolean value true is returned to the external system by the API request server 230.
  • When the user 120 is a member of the social network 100 and has not blocked the external system 110, the social network 100 may return 530 to the external system 110 a member ID associated with the user 120. This member ID is used by the social network 100 to identify the member uniquely. The member ID may be returned as part of the reply 530 or provided as a result of a separate API call. The member ID associated with the user is then stored 535 by the external system 110, optionally along with other information associated with the user 120. The member ID may be used for identifying the user 120 in subsequent requests sent to the social network 100. The ability to use the member ID in an API call may improve performance compared to an API that requires the external system 120 to build a unique ID string from information associated with the member.
  • In the event that the user 120 is a member of the social network 100 but has not yet authorized access by the external system 110 (e.g., in an embodiment that requires an opt-in to the sharing), the social network 100 may request 540 the user 120 to authorize the social network 100 to share the user's information with external systems in the future. This request 540 may identify the external system 110 that attempted but failed to determine whether the user 120 is a member of the social network 100. The request 540 may also describe how the member can authorize the external system 110 to access the member's information from the social network 100 by logging into the social network 100 and providing the necessary credentials (such as username and password). A member that authorizes sharing of the member's information may prevent the external system 110 from accessing specific parts of the member's information by changing the member's privacy settings, as explained above.
  • FIG. 6 shows a process in which an external system 110 obtains information about a member's profile from the social network 100. The information requested may include personal information, such as a picture of the user 315, a mobile phone number 320, a work phone number 340, status information, or any other suitable personal information. In certain embodiments, the external system may request information related to actions taken by the user, for example, the user adding a friend 330. When the external system 110 determines that it needs particular information about the user's member profile in the social network 100, the external system 110 checks 600 the information associated with the user stored at the external system 110 to determine if the user is a member of the social network 100. If the external system 110 has information indicating the user is not a member of the social network 100, this process may stop. Alternatively, the external system 110 may check with the social network 100 (e.g., as described in FIG. 5) to confirm if the user has become a member of the social network 100 since the last time the external system 110 checked.
  • If the external system 110 determines that the user is a member of the social network 100, the external system 110 sends a request 610 to the social network 100. In one embodiment, the request 610 comprises a call to an API 150, which is received by the API request server 230. The API 150 may require inputs that identify the user as a member of the social network 100, e.g., using the member ID described above. Based on the identification information provided with the request 610, the social network 100 checks 615 if the user is a member of the social network 100. If the user is a member of the social network 100, the API request server 230 checks 620 with the authorization server 245 to determine if the identified member has authorized the external system 110 to access the requested information. If the user has authorized the external system 110 to access the requested information, the requested information is returned 625 as the reply to the request 610.
  • FIG. 7 shows a process by which an external system 110 obtains information about a member's connections in the social network 100. When the external system 110 determines that it needs particular information about the user's connections in the social network 100, the external system 110 may determine 700 whether the user is a member of the social network 100 and respond accordingly, as described above in connection with step 600.
  • In response to a request that requires information associated with multiple members of the social network, the privacy settings of all the members concerned are analyzed to determine what information can be provided to the external system 110. For example, in response to a request of information related to a member's connections, the privacy settings of the user as well as the privacy settings of the member's connections are analyzed to determine the information communicated to the external system 110. If the user 120 is a member of the social network 100, the external system 110 sends a request 705 to the social network 100 with the appropriate information to identify the user 120. The API request server 230 receives this request and checks with the authorization server 245 to determine if the identified member has authorized the external system 110 to access the member's connection list. If the member has authorized the external system 110 to access the member's connection list, the social network 100 checks 715 the authorization server 245 to determine if each connection (i.e., the other member identified by the connection) on the member's connection list has also authorized the external system 110 to access the connection's information.
  • In one embodiment, the user may have given access to the external system to obtain information associated with the user's friends of the friends. This allows the external system to get the list of all the friends of the user as well as all the friends of each friend of the user. However, a friend X of the user may allow the external system to access X's information but may not allow access to X's friends list. The final list communicated to the external system includes X but does not include X's friends. Another friend Y may not allow the external system access to any of Y's information. The final list communicated to the external system would thus not include Y, or any of Y's friends.
  • If the privacy settings of both the member and one or more of the member's connections allow for the sharing, the social network 100 replies 730 to the external system 110 with a list of the member's connections that have authorized the external system 110 to access this information. The external system 110 may be allowed to store the connections list of the user 120, or the external system 110 may be required (e.g., by the social network 100) to delete the connections list of the user 120 after a predetermined interval of time. If the external system 110 is required to delete the connections list of the user 120 after a predetermined interval of time, the external system 110 may have to send another request 705 after the predetermined interval has passed to fetch the connections list for the social network 100 if needed.
  • In one embodiment, if any of the member's connections have not authorized access by the external system 110, the social network 100 may invite 725 those connections to authorize access to their information. Alternatively, this invitation may be sent on behalf of or directly by the member associated with user 110. A member that receives a request from a friend asking him to authorize an external system 110 may be more likely to accept the request than a member receiving a request from the external system 110 directly or from another source that the member may not trust.
  • In certain embodiments, the external system receives information associated with a user from the social network and combines it with information from the external system to present to the user. In an alternative embodiment, the social network may require the external system to provide information associated with various members' actions taken on the external system on a regular basis, and the social network processes the information to generate newsfeeds containing relevant information. The external system may call APIs of the social network that allow the external system to retrieve processed information such as the newsfeed for a particular user. The external system may send a request for the newsfeed information of a user, identifying the user as well as the external system. The social network computes the newsfeed information to be sent to the external system in a reply by filtering only the newsfeed information from users that have authorized the external system to receive the requested information. The social network also filters out the newsfeed information related to other external systems.
  • Application Combining External System and Social Network Information
  • FIG. 8 shows an example of an external system that combines information associated with its users obtained from the social network with information collected by the external system. In this example, the external system allows users to log in and track their running history, as well as view the running histories of their friends on the social network. More specifically, the example system includes an application that allows users to record information 800 associated with how far they ran on a particular date. The application presents information to a user that logs into the external system. Since the user of the system records how many miles the user ran on different days, it is likely the user is interested in knowing if any of the user's friends are also recording their information on the external system. Also, the user may like to know information associated with how far the user's friends ran on certain dates.
  • The application obtains the user's friends list from the social network, assuming the user has authorized the application and the external system to get the required information. Note that any friend of the user that has blocked the external system or the application is not presented by the application in FIG. 8. The application also presents information such as status information and profile photo of members from the social network. A member 805 may not have made the status information available to the social network or may have prevented the external system from accessing the status information. Similarly, user 815 may have either not provided a profile photo 820 to the social network or may have prevented the external system from accessing the user's profile photo from the social network.
  • Other applications from different domains may similarly provide various functionalities that leverage the social graph information contained in the social network. For example, an external system implementing an online bookstore may present a user with information related to the user's friends that buy books from the bookstore or books that have been purchased by the user's friends. This information may be filtered based on information from the member's profile, for example, a user that lists cooking as a hobby as part of the member profile on the social network may be presented with cookbooks that the user's friends may have purchased from the bookstore. This presents a mechanism for external systems to present information that they are very likely to be interested in. For example, knowing a member's hobbies allows the external system to filter out information that may not be of interest to the user.
  • Presenting the above information when the user logs into the external system is the most appropriate time, since the user is prepared to look for relevant information and is actively looking for relevant information. Presenting the information associated with an external system at other times may not have as much impact since the user may be busy with other activities not related to the external system and may not pay attention to matters related to the external system. Also, being able to provide the information relevant to the external system in the context of the member's friends provides credibility to the information presented. For example, a user is more likely to be influenced to respond to a message in the presence of information that the member's friends have taken certain action on the external system.
  • Alternative Applications
  • The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
  • Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
  • Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
  • Embodiments of the invention may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • Embodiments of the invention may also relate to a computer data signal embodied in a carrier wave, where the computer data signal includes any embodiment of a computer program product or other data combination described herein. The computer data signal is a product that is presented in a tangible medium or carrier wave and modulated or otherwise encoded in the carrier wave, which is tangible, and transmitted according to any suitable transmission method.
  • Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (20)

1. A computer implemented method for providing information associated with a member of a social network, the method comprising:
receiving a request from an external system for information associated with a user of the external system, wherein the request contains information identifying the user;
identifying a member of the social network based on the information identifying the user;
determining if the external system is authorized to receive the information requested in the message; and
sending a reply to the external system comprising a subset of the requested information, wherein the subset comprises requested information that the external system is authorized to access.
2. The method of claim 1, wherein the information identifying the user comprises a hash value based on the email address of the user of the external system.
3. The method of claim 1, wherein the information requested by the external system comprises whether the user of the external system is member of the social network.
4. The method of claim 3, wherein the reply informs the external system that the user is not a member of the social network if the user is a member of the social network who has blocked the external system from accessing the user's information.
5. The method of claim 1, wherein the information requested by the external system comprises member profile information of the identified member and determining if the external system is authorized to access the information comprises checking if the identified member has authorized the external system to access the requested member profile information.
6. The method of claim 1, wherein the information requested by the external system comprises a friend's list of the identified member and determining if the external system is authorized to access the information comprises checking if the identified member has authorized the external system to access the member's friend's list and the subset of requested information sent in the reply comprises a subset of the friend's list based on friend's that have authorized the external system to access their information.
7. The method of claim 6, further comprising:
sending an authorization request to a friend in the identified member's friend's list that has not authorized the external system to access the friend's information.
8. The method of claim 6, wherein the information requested by the external system comprises activities of the friends of the identified member on the external system, the method further comprising:
receiving information related to actions taken by users on one or more external systems.
9. A computer program product for providing information associated with a member of a social network, the computer program product comprising a computer-readable storage medium containing computer program code for:
receiving a request from an external system for information associated with a user of the external system, wherein the request contains information identifying the user;
identifying a member of the social network based on the information identifying the user;
determining if the external system is authorized to receive the information requested in the message; and
sending a reply to the external system comprising a subset of the requested information, wherein the subset comprises requested information that the external system is authorized to access.
10. The computer program product of claim 9, wherein the information identifying the user comprises a hash value based on the email address of the user of the external system.
11. The computer program product of claim 9, wherein the information requested by the external system comprises whether the user of the external system is member of the social network.
12. The computer program product of claim 11, wherein the reply informs the external system that the user is not a member of the social network if the user is a member of the social network who has blocked the external system from accessing the user's information.
13. The computer program product of claim 9, wherein the information requested by the external system comprises member profile information of the identified member and determining if the external system is authorized to access the information comprises checking if the identified member has authorized the external system to access the requested member profile information.
14. The computer program product of claim 9, wherein the information requested by the external system comprises a friend's list of the identified member and determining if the external system is authorized to access the information comprises checking if the identified member has authorized the external system to access the member's friend's list and the subset of requested information sent in the reply comprises a subset of the friend's list based on friend's that have authorized the external system to access their information.
15. The computer program product of claim 14, the computer-readable storage medium further containing computer program code for:
sending an authorization request to a friend in the identified member's friend's list that has not authorized the external system to access the friend's information.
16. The computer program product of claim 14, wherein the information requested by the external system comprises activities of the friends of the identified member on the external system, the computer-readable storage medium further containing computer program code for:
receiving information related to actions taken by users on one or more external systems.
17. A computer implemented method for receiving information associated with a member of a social network by an external system, the method comprising:
sending a request for information associated with a user of an external system, wherein the request is sent to a social network and comprises information identifying the user;
receiving a reply comprising a subset of the requested information wherein the reply is received from a social network and the subset of the requested information comprises requested information that the external system is authorized to access from the social network; and
presenting the information received in the reply along with information available at the external system.
18. The method of claim 17, wherein the information requested by the external system comprises member profile information of the identified member.
19. The method of claim 17, wherein the information requested by the external system comprises a friend's list of the identified member, the method further comprising:
sending a second request to the social network for the friend's list of the user if the external system needs the friend's list after a predetermined interval of time.
20. The method of claim 17, wherein the information requested by the external system comprises activities of the friends of a user of the external system, wherein the activities are associated with the external system, the method further comprising:
sending information related to actions taken by users on the external system to the social network.
US12/324,761 2008-11-26 2008-11-26 Leveraging a social graph from a social network for social context in other systems Abandoned US20100132049A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/324,761 US20100132049A1 (en) 2008-11-26 2008-11-26 Leveraging a social graph from a social network for social context in other systems
US13/620,329 US20130014284A1 (en) 2008-11-26 2012-09-14 Leveraging A Social Graph From A Social Network For Social Context In Other Systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/324,761 US20100132049A1 (en) 2008-11-26 2008-11-26 Leveraging a social graph from a social network for social context in other systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/620,329 Continuation US20130014284A1 (en) 2008-11-26 2012-09-14 Leveraging A Social Graph From A Social Network For Social Context In Other Systems

Publications (1)

Publication Number Publication Date
US20100132049A1 true US20100132049A1 (en) 2010-05-27

Family

ID=42197626

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/324,761 Abandoned US20100132049A1 (en) 2008-11-26 2008-11-26 Leveraging a social graph from a social network for social context in other systems
US13/620,329 Abandoned US20130014284A1 (en) 2008-11-26 2012-09-14 Leveraging A Social Graph From A Social Network For Social Context In Other Systems

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/620,329 Abandoned US20130014284A1 (en) 2008-11-26 2012-09-14 Leveraging A Social Graph From A Social Network For Social Context In Other Systems

Country Status (1)

Country Link
US (2) US20100132049A1 (en)

Cited By (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080248819A1 (en) * 2007-02-05 2008-10-09 Smith Daniel C Systems and methods for mobile media services utilizing a short form command structure
US20090193349A1 (en) * 2006-03-20 2009-07-30 Gal Arav Hyperlink with graphical cue
US20090327928A1 (en) * 2008-03-05 2009-12-31 Anastasia Dedis Method and System Facilitating Two-Way Interactive Communication and Relationship Management
US20100185507A1 (en) * 2009-01-20 2010-07-22 Lance Tokuda Method and system for generating an advertisement with customized content
US20100205430A1 (en) * 2009-02-06 2010-08-12 Shin-Yan Chiou Network Reputation System And Its Controlling Method Thereof
US20100268830A1 (en) * 2009-04-16 2010-10-21 Verizon Patent And Licensing Inc. Weighting social network relationships based on communications history
US20100318425A1 (en) * 2009-06-12 2010-12-16 Meherzad Ratan Karanjia System and method for providing a personalized shopping assistant for online computer users
US20110023129A1 (en) * 2009-07-23 2011-01-27 Michael Steven Vernal Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US20110113058A1 (en) * 2009-11-12 2011-05-12 salesforce.com,inc. Implementing enterprise level business information networking
US20110125697A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Social media contact center dialog system
US20110125793A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Method for determining response channel for a contact center from historic social media postings
US20110137940A1 (en) * 2009-11-12 2011-06-09 Salesforce.Com, Inc. Methods And Apparatus For Selecting Updates To Associated Records To Publish On An Information Feed In An On-Demand Database Service Environment
US20110137932A1 (en) * 2009-12-08 2011-06-09 Akhil Wable Second-Order Connection Search in a Social Networking System
US20110153377A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Mixing and Targeting Content Types/Items for Users to Promote Optimization Goals
US20110153412A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Selection and Presentation of Related Social Networking System Content and Advertisements
US20110153421A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Context-Based Selection and Presentation of Social Networking System Content and Advertisements
US20110161827A1 (en) * 2008-03-05 2011-06-30 Anastasia Dedis Social media communication and contact organization
US20110289103A1 (en) * 2010-05-24 2011-11-24 Shuttle Inc. Method and system of searching accounts by arranging phone numbers
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US20120017207A1 (en) * 2009-09-30 2012-01-19 Amitt Mahajan Apparatuses, Methods and Systems for a Social Networking Application Updater
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US20120079091A1 (en) * 2009-12-28 2012-03-29 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between networked resource nodes in a social web
US20120101881A1 (en) * 2008-11-25 2012-04-26 Mary Theresa Taylor Loyalty promotion apparatuses, methods and systems
US20120131105A1 (en) * 2010-11-22 2012-05-24 Victor Andrew Rortvedt Method of obtaining and analyzing real-time opinions and analytical evaluations of distinct moments experienced by users of a social network
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US20120143958A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Populating documents with user-related information
US20120191606A1 (en) * 2011-01-25 2012-07-26 Milne Benjamin P Social network transaction processing system
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
WO2012141910A1 (en) * 2011-04-15 2012-10-18 Facebook, Inc. Display showing intersection between users of a social networking system
WO2012162279A2 (en) * 2011-05-26 2012-11-29 Facebook, Inc. Social data overlay
JP2013005295A (en) * 2011-06-17 2013-01-07 Ntt Docomo Inc Information distribution device, management system, and information distribution method
US8352419B2 (en) 2006-09-14 2013-01-08 Stragent, Llc Online marketplace for automatically extracted data
US20130024277A1 (en) * 2011-07-18 2013-01-24 Teletech Holdings, Inc. Platform to provide advertisements to users of registered products
WO2013036618A1 (en) 2011-09-06 2013-03-14 Canfield Scientific, Incorporated Systems, devices, and methods for image analysis
US20130091219A1 (en) * 2011-10-08 2013-04-11 Broadcom Corporation Green Hosting Methodologies
US20130124310A1 (en) * 2010-07-20 2013-05-16 Koninklijke Philips Electronics N.V. Method and apparatus for creating recommendations for a user
US20130151340A1 (en) * 2010-08-27 2013-06-13 Axel Springer Digital Tv Guide Gmbh Coordinated automatic ad placement for personal content channels
US20130173798A1 (en) * 2011-08-31 2013-07-04 Salesforce.Com, Inc. Computer Implemented Methods And Apparatus For Providing Access To An Online Social Network
US20130212479A1 (en) * 2012-02-12 2013-08-15 Saba Software, Inc. Methods and apparatus for analyzing a social network
US8515737B2 (en) * 2010-04-06 2013-08-20 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US8538960B2 (en) 2011-08-05 2013-09-17 Microsoft Corporation Providing objective and people results for search
US8560554B2 (en) 2010-09-23 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed using importance weights in an on-demand database service environment
US20130282812A1 (en) * 2012-04-24 2013-10-24 Samuel Lessin Adaptive audiences for claims in a social networking system
US20130297422A1 (en) * 2012-04-24 2013-11-07 Qualcomm Incorporated Retail proximity marketing
US20130340097A1 (en) * 2010-12-10 2013-12-19 David M. GOWEL Systems and methods for integrating personal social networks within an organization
US20140025673A1 (en) * 2012-07-18 2014-01-23 Shakti Dhirendraji Sinha Techniques for estimating distance between members of a social network service
US20140032332A1 (en) * 2012-07-25 2014-01-30 SocialWire, Inc. Promoting products on a social networking system based on information from a merchant site
US20140040775A1 (en) * 2012-08-02 2014-02-06 Dirk John Stoop Systems and methods for multiple photo selection
US20140074571A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System by Layering Contextual Advertisements Over a Graphical Interface
US20140074570A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System by Presenting Contextual Advertisements on a Computer System
US20140074615A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System Using Triggered Advertisements
US20140089407A1 (en) * 2012-09-25 2014-03-27 Randy Mersky Local social mobile network with advertising
US8700708B2 (en) 2011-05-26 2014-04-15 Facebook, Inc. Social data recording
US8732802B2 (en) * 2012-08-04 2014-05-20 Facebook, Inc. Receiving information about a user from a third party application based on action types
US20140214511A1 (en) * 2011-07-29 2014-07-31 Coupons.Com Incorporated Coupon social networking platform
US20140222561A1 (en) * 2013-02-04 2014-08-07 Facebook, Inc. Cross-Platform Advertisement Targeting
US20140250183A1 (en) * 2012-01-25 2014-09-04 Panasonic Corporation Home appliance information management apparatus, home appliance information sharing method, and home appliance information sharing system
US20140270408A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Method and apparatus for requesting and providing access to information associated with an image
US8849721B2 (en) * 2011-09-21 2014-09-30 Facebook, Inc. Structured objects and actions on a social networking system
US20140294257A1 (en) * 2013-03-28 2014-10-02 Kevin Alan Tussy Methods and Systems for Obtaining Information Based on Facial Identification
US8930385B2 (en) 2011-11-02 2015-01-06 Alexander I. Poltorak Relevance estimation and actions based thereon
US20150067777A1 (en) * 2013-09-04 2015-03-05 Facebook, Inc. Systems and methods for authenticating nodes
US9002852B2 (en) 2012-11-15 2015-04-07 Adobe Systems Incorporated Mining semi-structured social media
US20150142583A1 (en) * 2013-11-21 2015-05-21 Facebook, Inc., a Delaware corporation Presenting content items associated with dynamically-created advertisements to users of a social networking system
US20150149299A1 (en) * 2013-11-27 2015-05-28 Robert G. Fuggetta System and Method for Providing Relevant Advocate Endorsements in Digital Media
EP2867812A4 (en) * 2012-06-28 2015-07-08 Ibm Privacy control in a social network
US9092826B2 (en) * 2010-12-04 2015-07-28 Facebook, Inc. Profile page with biographical summary for social networking system user
US9098176B1 (en) 2012-03-22 2015-08-04 Google Inc. Scoring content based on social interaction
US20150254679A1 (en) * 2014-03-07 2015-09-10 Genesys Telecommunications Laboratories, Inc. Vendor relationship management for contact centers
US20150254725A1 (en) * 2014-03-10 2015-09-10 Korean Advanced Institute Of Science And Technology Method and System for Providing User Information on Online Service
US9177060B1 (en) * 2011-03-18 2015-11-03 Michele Bennett Method, system and apparatus for identifying and parsing social media information for providing business intelligence
US9246853B1 (en) * 2013-01-22 2016-01-26 Amdocs Software Systems Limited System, method, and computer program for determining a profile for an external network user
US9325653B1 (en) * 2012-12-21 2016-04-26 Google Inc. Notifying content owners of related posts
EP2671204A4 (en) * 2011-02-03 2016-05-04 Facebook Inc Sponsored stories unit creation from organic activity stream
US9342605B2 (en) 2011-06-13 2016-05-17 Facebook, Inc. Client-side modification of search results based on social network data
US9411855B2 (en) 2010-10-25 2016-08-09 Salesforce.Com, Inc. Triggering actions in an information feed system
US20160241655A1 (en) * 2013-12-27 2016-08-18 Facebook, Inc. Aggregated actions
US9443225B2 (en) 2011-07-18 2016-09-13 Salesforce.Com, Inc. Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device
US9589070B2 (en) 2011-10-10 2017-03-07 Salesforce.Com, Inc. Method and system for updating a filter logic expression representing a boolean filter
US9652810B2 (en) 2011-06-24 2017-05-16 Facebook, Inc. Dynamic chat box
US9697381B2 (en) 2013-09-03 2017-07-04 Samsung Electronics Co., Ltd. Computing system with identity protection mechanism and method of operation thereof
US9710765B2 (en) 2011-05-26 2017-07-18 Facebook, Inc. Browser with integrated privacy controls and dashboard for social network data
US9720495B1 (en) * 2012-06-22 2017-08-01 Google Inc. Aggregating online activities
US9747646B2 (en) 2011-05-26 2017-08-29 Facebook, Inc. Social data inputs
JP2018010669A (en) * 2012-04-24 2018-01-18 フェイスブック,インク. Evaluating claim in social networking system
US9881091B2 (en) 2013-03-08 2018-01-30 Google Inc. Content item audience selection
US9886495B2 (en) 2011-11-02 2018-02-06 Alexander I. Poltorak Relevance estimation and actions based thereon
US20180039944A1 (en) * 2016-01-05 2018-02-08 Linkedin Corporation Job referral system
US9916592B2 (en) 2012-05-18 2018-03-13 Oracle International Corporation Method and system for implementing implicit follow and automatic unfollow
US9935910B2 (en) 2012-12-21 2018-04-03 Google Llc Recipient location aware notifications in response to related posts
US9978106B2 (en) 2012-04-24 2018-05-22 Facebook, Inc. Managing copyrights of content for sharing on a social networking system
US9984392B2 (en) 2007-11-05 2018-05-29 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20180293316A1 (en) * 2012-12-11 2018-10-11 Tencent Technology (Shenzhen) Company Limited Method and system for second-degree friend query
US10102208B2 (en) 2010-10-29 2018-10-16 Microsoft Technology Licensing, Llc Automatic multimedia slideshows for social media-enabled mobile devices
US10291575B2 (en) * 2016-11-14 2019-05-14 Microsoft Technology Licensing, Llc Dynamic authorization using internet-based social networks
US10305876B2 (en) * 2013-11-04 2019-05-28 Microsoft Technology Licensing, Llc Sharing based on social network contacts
US10325323B2 (en) 2012-04-24 2019-06-18 Facebook, Inc. Providing a claims-based profile in a social networking system
US10419381B2 (en) * 2016-08-30 2019-09-17 Facebook, Inc. Prompt ranking
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US10474749B2 (en) 2015-08-18 2019-11-12 Alibaba Group Holding Limited Method and device for generating live text broadcasting content using historical broadcasting text
US10529032B2 (en) * 2014-04-15 2020-01-07 Parag Ramteke System and method for networking of people socially and professionally via specific nested categories filters under single networking platform
US10580045B1 (en) * 2012-11-28 2020-03-03 Google Llc Promoting content into a creative
US10771572B1 (en) * 2014-04-30 2020-09-08 Twitter, Inc. Method and system for implementing circle of trust in a social network
US10826751B2 (en) 2009-12-28 2020-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Management of functional interconnections between application modules on resource nodes in a social web
US10963589B1 (en) 2016-07-01 2021-03-30 Wells Fargo Bank, N.A. Control tower for defining access permissions based on data type
US10970707B1 (en) 2015-07-31 2021-04-06 Wells Fargo Bank, N.A. Connected payment card systems and methods
US10992606B1 (en) 2020-09-04 2021-04-27 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
US11010766B1 (en) 2008-10-31 2021-05-18 Wells Fargo Bank, N.A. Payment vehicle with on and off functions
US11062388B1 (en) 2017-07-06 2021-07-13 Wells Fargo Bank, N.A Data control tower
US11100495B1 (en) 2008-10-31 2021-08-24 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11188887B1 (en) 2017-11-20 2021-11-30 Wells Fargo Bank, N.A. Systems and methods for payment information access management
US11386223B1 (en) * 2016-07-01 2022-07-12 Wells Fargo Bank, N.A. Access control tower
US11429975B1 (en) 2015-03-27 2022-08-30 Wells Fargo Bank, N.A. Token management system
US11546338B1 (en) 2021-01-05 2023-01-03 Wells Fargo Bank, N.A. Digital account controls portal and protocols for federated and non-federated systems and devices
US11556936B1 (en) 2017-04-25 2023-01-17 Wells Fargo Bank, N.A. System and method for card control
US11615402B1 (en) 2016-07-01 2023-03-28 Wells Fargo Bank, N.A. Access control tower
US11736490B1 (en) 2016-07-01 2023-08-22 Wells Fargo Bank, N.A. Access control tower
US11935020B1 (en) 2016-07-01 2024-03-19 Wells Fargo Bank, N.A. Control tower for prospective transactions

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9082129B2 (en) * 2011-12-13 2015-07-14 Facebook, Inc. Providing recommendations on a social networking system page
US9210164B2 (en) * 2012-01-08 2015-12-08 International Business Machines Corporation Confidential information access via social networking web site
US9697368B2 (en) * 2014-07-29 2017-07-04 Google Technology Holdings LLC Regulating communication of audio data from a client device based on a privacy setting stored by the client device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216300A1 (en) * 2004-03-15 2005-09-29 Barry Appelman Sharing social network information
US20080270038A1 (en) * 2007-04-24 2008-10-30 Hadi Partovi System, apparatus and method for determining compatibility between members of a social network
US7478078B2 (en) * 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US20090070412A1 (en) * 2007-06-12 2009-03-12 D Angelo Adam Providing Personalized Platform Application Content
US20100185610A1 (en) * 2004-06-14 2010-07-22 Friendster Inc. Visual tags for search results generated from social network information
US20100257459A1 (en) * 2004-05-26 2010-10-07 Friendster Inc. System and method for managing information flow between members of an online social network
US8185597B1 (en) * 2006-08-16 2012-05-22 Resource Consortium Limited Providing notifications to an individual in a multi-dimensional personal information network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216300A1 (en) * 2004-03-15 2005-09-29 Barry Appelman Sharing social network information
US20100257459A1 (en) * 2004-05-26 2010-10-07 Friendster Inc. System and method for managing information flow between members of an online social network
US7478078B2 (en) * 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US20100185610A1 (en) * 2004-06-14 2010-07-22 Friendster Inc. Visual tags for search results generated from social network information
US8185597B1 (en) * 2006-08-16 2012-05-22 Resource Consortium Limited Providing notifications to an individual in a multi-dimensional personal information network
US20080270038A1 (en) * 2007-04-24 2008-10-30 Hadi Partovi System, apparatus and method for determining compatibility between members of a social network
US20090070412A1 (en) * 2007-06-12 2009-03-12 D Angelo Adam Providing Personalized Platform Application Content
US8694577B2 (en) * 2007-06-12 2014-04-08 Facebook, Inc Providing personalized platform application content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
White, Ron, "How Computers Work", Millennium Ed., Que Corporation, Indianapolis, IN, 1999 *

Cited By (262)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110209054A1 (en) * 2006-03-20 2011-08-25 Aloft Media, Llc Instantaneous symbol lookup
US8219906B2 (en) 2006-03-20 2012-07-10 Boadin Technology, LLC Instantaneous symbol lookup
US20090199135A1 (en) * 2006-03-20 2009-08-06 Gal Arav Hyperlink with graphical cue
US20090287786A1 (en) * 2006-03-20 2009-11-19 Gal Arav Message board aggregator
US8700704B2 (en) 2006-03-20 2014-04-15 Boadin Technology, LLC Message board aggregator
US8219615B2 (en) 2006-03-20 2012-07-10 Boadin Technology, LLC Instantaneous symbol lookup
US20090193349A1 (en) * 2006-03-20 2009-07-30 Gal Arav Hyperlink with graphical cue
US8682961B2 (en) 2006-03-20 2014-03-25 Boadin Technology, LLC Hyperlink with graphical cue
US8180829B2 (en) 2006-03-20 2012-05-15 Boadin Technology, LLC Message board aggregator
US8683003B2 (en) 2006-03-20 2014-03-25 Boadin Technology, LLC Hyperlink with graphical cue
US11308260B2 (en) 2006-03-20 2022-04-19 Alof Media, LLC Hyperlink with graphical cue
US10042823B2 (en) 2006-03-20 2018-08-07 Aloft Media, Llc Hyperlink with graphical cue
US10078623B2 (en) 2006-03-20 2018-09-18 Aloft Media, Llc Hyperlink with graphical cue
US8352419B2 (en) 2006-09-14 2013-01-08 Stragent, Llc Online marketplace for automatically extracted data
US20080248819A1 (en) * 2007-02-05 2008-10-09 Smith Daniel C Systems and methods for mobile media services utilizing a short form command structure
US8224298B2 (en) 2007-02-05 2012-07-17 Boadin Technology, LLC Systems and methods for mobile media services utilizing a short form command structure
US8949340B2 (en) 2007-02-05 2015-02-03 Boadin Technology, LLC Systems and methods for organizing content for mobile media services
US8185096B2 (en) 2007-02-05 2012-05-22 Boadin Technology, LLC Systems and methods for multi-modal mobile media services
US9984392B2 (en) 2007-11-05 2018-05-29 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US9984391B2 (en) 2007-11-05 2018-05-29 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US9823806B2 (en) 2007-11-05 2017-11-21 Facebook, Inc. Sponsored story creation user interface
US10585550B2 (en) 2007-11-05 2020-03-10 Facebook, Inc. Sponsored story creation user interface
US9740360B2 (en) 2007-11-05 2017-08-22 Facebook, Inc. Sponsored story user interface
US9645702B2 (en) 2007-11-05 2017-05-09 Facebook, Inc. Sponsored story sharing user interface
US10068258B2 (en) 2007-11-05 2018-09-04 Facebook, Inc. Sponsored stories and news stories within a newsfeed of a social networking system
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
US20110161827A1 (en) * 2008-03-05 2011-06-30 Anastasia Dedis Social media communication and contact organization
US20090327928A1 (en) * 2008-03-05 2009-12-31 Anastasia Dedis Method and System Facilitating Two-Way Interactive Communication and Relationship Management
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
US11379829B1 (en) 2008-10-31 2022-07-05 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11107070B1 (en) 2008-10-31 2021-08-31 Wells Fargo Bank, N. A. Payment vehicle with on and off function
US11868993B1 (en) 2008-10-31 2024-01-09 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11010766B1 (en) 2008-10-31 2021-05-18 Wells Fargo Bank, N.A. Payment vehicle with on and off functions
US11037167B1 (en) 2008-10-31 2021-06-15 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11880846B1 (en) 2008-10-31 2024-01-23 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11880827B1 (en) 2008-10-31 2024-01-23 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11055722B1 (en) 2008-10-31 2021-07-06 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11068869B1 (en) 2008-10-31 2021-07-20 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11100495B1 (en) 2008-10-31 2021-08-24 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11900390B1 (en) 2008-10-31 2024-02-13 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11915230B1 (en) 2008-10-31 2024-02-27 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US11676136B1 (en) 2008-10-31 2023-06-13 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US20120101881A1 (en) * 2008-11-25 2012-04-26 Mary Theresa Taylor Loyalty promotion apparatuses, methods and systems
US20100185507A1 (en) * 2009-01-20 2010-07-22 Lance Tokuda Method and system for generating an advertisement with customized content
US8312276B2 (en) * 2009-02-06 2012-11-13 Industrial Technology Research Institute Method for sending and receiving an evaluation of reputation in a social network
US20100205430A1 (en) * 2009-02-06 2010-08-12 Shin-Yan Chiou Network Reputation System And Its Controlling Method Thereof
US20100268830A1 (en) * 2009-04-16 2010-10-21 Verizon Patent And Licensing Inc. Weighting social network relationships based on communications history
US9400972B2 (en) * 2009-04-16 2016-07-26 Verizon Patent And Licensing Inc. Weighting social network relationships based on communications history
US20100318425A1 (en) * 2009-06-12 2010-12-16 Meherzad Ratan Karanjia System and method for providing a personalized shopping assistant for online computer users
US8752186B2 (en) * 2009-07-23 2014-06-10 Facebook, Inc. Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US8955145B2 (en) 2009-07-23 2015-02-10 Facebook, Inc. Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US20110023129A1 (en) * 2009-07-23 2011-01-27 Michael Steven Vernal Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US8375384B2 (en) * 2009-09-30 2013-02-12 Zynga Inc. Apparatuses, methods and systems for a social networking application updater
US20120017207A1 (en) * 2009-09-30 2012-01-19 Amitt Mahajan Apparatuses, Methods and Systems for a Social Networking Application Updater
US8478722B2 (en) * 2009-11-12 2013-07-02 Salesforce.Com, Inc. Enterprise level business information networking for changes in a database
US9275094B2 (en) 2009-11-12 2016-03-01 Salesforce.Com, Inc. Security in enterprise level business information networking
US8738620B2 (en) 2009-11-12 2014-05-27 Salesforce.Com, Inc. Implementing enterprise level business information networking
US20110113058A1 (en) * 2009-11-12 2011-05-12 salesforce.com,inc. Implementing enterprise level business information networking
US8560575B2 (en) 2009-11-12 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment
US20110113059A1 (en) * 2009-11-12 2011-05-12 Salesforce.Com, Inc. Security in enterprise level business information networking
US20110113071A1 (en) * 2009-11-12 2011-05-12 Salesforce.Com, Inc. Enterprise level business information networking for changes in a database
US20110137940A1 (en) * 2009-11-12 2011-06-09 Salesforce.Com, Inc. Methods And Apparatus For Selecting Updates To Associated Records To Publish On An Information Feed In An On-Demand Database Service Environment
US9864770B2 (en) 2009-11-12 2018-01-09 Salesforce.Com, Inc. Customizing enterprise level business information networking
US20110125550A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Method for determining customer value and potential from social media and other public data sources
US20110125580A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Method for discovering customers to fill available enterprise resources
US20110125697A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Social media contact center dialog system
US20110125793A1 (en) * 2009-11-20 2011-05-26 Avaya Inc. Method for determining response channel for a contact center from historic social media postings
US20110137932A1 (en) * 2009-12-08 2011-06-09 Akhil Wable Second-Order Connection Search in a Social Networking System
US8239364B2 (en) 2009-12-08 2012-08-07 Facebook, Inc. Search and retrieval of objects in a social networking system
US8316056B2 (en) 2009-12-08 2012-11-20 Facebook, Inc. Second-order connection search in a social networking system
US20110137902A1 (en) * 2009-12-08 2011-06-09 Akhil Wable Search and Retrieval of Objects in a Social Networking System
US9390184B2 (en) 2009-12-08 2016-07-12 Facebook, Inc. Search and retrieval of objects in a social networking system
US20110153421A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Context-Based Selection and Presentation of Social Networking System Content and Advertisements
US20110153412A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Selection and Presentation of Related Social Networking System Content and Advertisements
US20110153377A1 (en) * 2009-12-23 2011-06-23 Victor Novikov Mixing and Targeting Content Types/Items for Users to Promote Optimization Goals
US20120079091A1 (en) * 2009-12-28 2012-03-29 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between networked resource nodes in a social web
US10826751B2 (en) 2009-12-28 2020-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Management of functional interconnections between application modules on resource nodes in a social web
US9237062B2 (en) * 2009-12-28 2016-01-12 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between networked resource nodes in a social web
US20170235723A1 (en) * 2010-04-06 2017-08-17 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US8515737B2 (en) * 2010-04-06 2013-08-20 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US9146904B2 (en) * 2010-04-06 2015-09-29 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US20160019200A1 (en) * 2010-04-06 2016-01-21 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US10176170B2 (en) * 2010-04-06 2019-01-08 Automated Insights, Inc. Systems for dynamically generating and presenting narrative content
US9535879B2 (en) * 2010-04-06 2017-01-03 Automated Insights, Inc. Systems for automated real-time vocal sports commentary with dynamically generated narrative content
US20140114647A1 (en) * 2010-04-06 2014-04-24 Statsheet, Inc. Systems for dynamically generating and presenting narrative content
US20110289103A1 (en) * 2010-05-24 2011-11-24 Shuttle Inc. Method and system of searching accounts by arranging phone numbers
US20130124310A1 (en) * 2010-07-20 2013-05-16 Koninklijke Philips Electronics N.V. Method and apparatus for creating recommendations for a user
US20130151340A1 (en) * 2010-08-27 2013-06-13 Axel Springer Digital Tv Guide Gmbh Coordinated automatic ad placement for personal content channels
US8892573B2 (en) 2010-09-23 2014-11-18 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment
US8560554B2 (en) 2010-09-23 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed using importance weights in an on-demand database service environment
US9411855B2 (en) 2010-10-25 2016-08-09 Salesforce.Com, Inc. Triggering actions in an information feed system
US10102208B2 (en) 2010-10-29 2018-10-16 Microsoft Technology Licensing, Llc Automatic multimedia slideshows for social media-enabled mobile devices
US20120131105A1 (en) * 2010-11-22 2012-05-24 Victor Andrew Rortvedt Method of obtaining and analyzing real-time opinions and analytical evaluations of distinct moments experienced by users of a social network
US10582006B2 (en) * 2010-12-04 2020-03-03 Facebook, Inc. Profile page with biographical summary for social networking system user
US20150288782A1 (en) * 2010-12-04 2015-10-08 Facebook, Inc. Profile Page with Biographical Summary for Social Networking System User
US10574781B2 (en) * 2010-12-04 2020-02-25 Facebook, Inc. Profile page with biographical summary for social networking system user
US9092826B2 (en) * 2010-12-04 2015-07-28 Facebook, Inc. Profile page with biographical summary for social networking system user
US20150296045A1 (en) * 2010-12-04 2015-10-15 Facebook, Inc. Profile page with biographical summary for social networking system user
US9652447B2 (en) * 2010-12-07 2017-05-16 Microsoft Technology Licensing, Llc Populating documents with user-related information
US20120143958A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Populating documents with user-related information
US10248642B2 (en) 2010-12-07 2019-04-02 Microsoft Technology Licensing, Llc Populating documents with user-related information
US20170024482A1 (en) * 2010-12-10 2017-01-26 Rockefeller Consulting Technology Integration, Inc. D/B/A Rocktech Systems and methods for integrating personal social networking within an organization
US20130340097A1 (en) * 2010-12-10 2013-12-19 David M. GOWEL Systems and methods for integrating personal social networks within an organization
US9792636B2 (en) * 2011-01-25 2017-10-17 Dwolla, Inc. Social network transaction processing system
US10089668B2 (en) 2011-01-25 2018-10-02 Dwolla, Inc. API invoked functions for use in an online social network
US20120191606A1 (en) * 2011-01-25 2012-07-26 Milne Benjamin P Social network transaction processing system
US10607268B2 (en) 2011-01-25 2020-03-31 Dwolla, Inc. Social network transaction processing system
EP2671204A4 (en) * 2011-02-03 2016-05-04 Facebook Inc Sponsored stories unit creation from organic activity stream
US9177060B1 (en) * 2011-03-18 2015-11-03 Michele Bennett Method, system and apparatus for identifying and parsing social media information for providing business intelligence
US10042952B2 (en) * 2011-04-15 2018-08-07 Facebook, Inc. Display showing intersection between users of a social networking system
WO2012141910A1 (en) * 2011-04-15 2012-10-18 Facebook, Inc. Display showing intersection between users of a social networking system
US9235863B2 (en) * 2011-04-15 2016-01-12 Facebook, Inc. Display showing intersection between users of a social networking system
US20160085879A1 (en) * 2011-04-15 2016-03-24 Facebook, Inc. Display showing intersection between users of a social networking system
US9710765B2 (en) 2011-05-26 2017-07-18 Facebook, Inc. Browser with integrated privacy controls and dashboard for social network data
WO2012162279A2 (en) * 2011-05-26 2012-11-29 Facebook, Inc. Social data overlay
US9747646B2 (en) 2011-05-26 2017-08-29 Facebook, Inc. Social data inputs
WO2012162279A3 (en) * 2011-05-26 2013-01-24 Facebook, Inc. Social data overlay
US8700708B2 (en) 2011-05-26 2014-04-15 Facebook, Inc. Social data recording
US8843554B2 (en) 2011-05-26 2014-09-23 Facebook, Inc. Social data overlay
US9342605B2 (en) 2011-06-13 2016-05-17 Facebook, Inc. Client-side modification of search results based on social network data
JP2013005295A (en) * 2011-06-17 2013-01-07 Ntt Docomo Inc Information distribution device, management system, and information distribution method
US9652810B2 (en) 2011-06-24 2017-05-16 Facebook, Inc. Dynamic chat box
US9443225B2 (en) 2011-07-18 2016-09-13 Salesforce.Com, Inc. Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device
US20130024277A1 (en) * 2011-07-18 2013-01-24 Teletech Holdings, Inc. Platform to provide advertisements to users of registered products
US20140214511A1 (en) * 2011-07-29 2014-07-31 Coupons.Com Incorporated Coupon social networking platform
US10134096B2 (en) * 2011-07-29 2018-11-20 Quotient Technology Inc. Coupon social networking platform
US9773045B2 (en) 2011-08-05 2017-09-26 Microsoft Technology Licensing, Llc Providing objective and people results for search
US8538960B2 (en) 2011-08-05 2013-09-17 Microsoft Corporation Providing objective and people results for search
US20130173798A1 (en) * 2011-08-31 2013-07-04 Salesforce.Com, Inc. Computer Implemented Methods And Apparatus For Providing Access To An Online Social Network
US10715525B2 (en) 2011-08-31 2020-07-14 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing access to an online social network
US10158638B2 (en) * 2011-08-31 2018-12-18 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing access to an online social network
WO2013036618A1 (en) 2011-09-06 2013-03-14 Canfield Scientific, Incorporated Systems, devices, and methods for image analysis
WO2013036612A2 (en) 2011-09-06 2013-03-14 The Procter & Gamble Company Systems, devices, and methods for providing products and consultations
EP2758935A4 (en) * 2011-09-21 2015-03-04 Facebook Inc Structured objects and actions on a social networking system
JP2014528133A (en) * 2011-09-21 2014-10-23 フェイスブック,インク. Structured objects and actions on social networking systems
US8849721B2 (en) * 2011-09-21 2014-09-30 Facebook, Inc. Structured objects and actions on a social networking system
US20130091219A1 (en) * 2011-10-08 2013-04-11 Broadcom Corporation Green Hosting Methodologies
US9589070B2 (en) 2011-10-10 2017-03-07 Salesforce.Com, Inc. Method and system for updating a filter logic expression representing a boolean filter
US20150180987A1 (en) * 2011-11-02 2015-06-25 Alexander I. Poltorak Relevance estimation and actions based thereon
US9838484B2 (en) * 2011-11-02 2017-12-05 Alexander I. Poltorak Relevance estimation and actions based thereon
US20170026476A1 (en) * 2011-11-02 2017-01-26 Alexander I. Poltorak Relevance estimation and actions based thereon
US10776403B2 (en) * 2011-11-02 2020-09-15 Alexander I. Poltorak Relevance estimation and actions based thereon
US9886495B2 (en) 2011-11-02 2018-02-06 Alexander I. Poltorak Relevance estimation and actions based thereon
US11397757B2 (en) * 2011-11-02 2022-07-26 Alexander I. Poltorak Relevance estimation and actions based thereon
US9485313B2 (en) * 2011-11-02 2016-11-01 Alexander I. Poltorak Relevance estimation and actions based thereon
US8930385B2 (en) 2011-11-02 2015-01-06 Alexander I. Poltorak Relevance estimation and actions based thereon
US20140250183A1 (en) * 2012-01-25 2014-09-04 Panasonic Corporation Home appliance information management apparatus, home appliance information sharing method, and home appliance information sharing system
US9641596B2 (en) * 2012-01-25 2017-05-02 Panasonic Intellectual Property Management Co., Ltd. Home appliance information management apparatus, home appliance information sharing method, and home appliance information sharing system
JPWO2013111244A1 (en) * 2012-01-25 2015-05-11 パナソニックIpマネジメント株式会社 Home appliance information management device, home appliance information sharing method, and home appliance information sharing system
US20130212479A1 (en) * 2012-02-12 2013-08-15 Saba Software, Inc. Methods and apparatus for analyzing a social network
US8812958B2 (en) * 2012-02-12 2014-08-19 Saba Software, Inc. Methods and apparatus for analyzing a social network
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US9098176B1 (en) 2012-03-22 2015-08-04 Google Inc. Scoring content based on social interaction
US10630763B1 (en) 2012-03-22 2020-04-21 Google Llc Scoring content based on social interaction
US9948699B1 (en) 2012-03-22 2018-04-17 Google Llc Scoring content based on social interaction
JP2018010669A (en) * 2012-04-24 2018-01-18 フェイスブック,インク. Evaluating claim in social networking system
US20130282812A1 (en) * 2012-04-24 2013-10-24 Samuel Lessin Adaptive audiences for claims in a social networking system
US10325323B2 (en) 2012-04-24 2019-06-18 Facebook, Inc. Providing a claims-based profile in a social networking system
US9978106B2 (en) 2012-04-24 2018-05-22 Facebook, Inc. Managing copyrights of content for sharing on a social networking system
US20130297422A1 (en) * 2012-04-24 2013-11-07 Qualcomm Incorporated Retail proximity marketing
US10360593B2 (en) * 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
US9916592B2 (en) 2012-05-18 2018-03-13 Oracle International Corporation Method and system for implementing implicit follow and automatic unfollow
US9720495B1 (en) * 2012-06-22 2017-08-01 Google Inc. Aggregating online activities
EP2867812A4 (en) * 2012-06-28 2015-07-08 Ibm Privacy control in a social network
US9454750B2 (en) * 2012-07-18 2016-09-27 Linkedin Corporation Techniques for estimating distance between members of a social network service
US20140025673A1 (en) * 2012-07-18 2014-01-23 Shakti Dhirendraji Sinha Techniques for estimating distance between members of a social network service
US10909574B2 (en) * 2012-07-25 2021-02-02 Rakuten Usa, Inc. Promoting products on a social networking system based on information from a merchant site
US20140032332A1 (en) * 2012-07-25 2014-01-30 SocialWire, Inc. Promoting products on a social networking system based on information from a merchant site
US11798035B2 (en) 2012-07-25 2023-10-24 Rakuten Group, Inc. Promoting products on a social networking system based on information from a merchant site
US20140040775A1 (en) * 2012-08-02 2014-02-06 Dirk John Stoop Systems and methods for multiple photo selection
US9246958B2 (en) * 2012-08-02 2016-01-26 Facebook, Inc. Systems and methods for multiple photo selection
AU2013300064B2 (en) * 2012-08-04 2015-08-06 Facebook, Inc. Receiving information about a user from a third party application based on action types
KR101585585B1 (en) 2012-08-04 2016-01-14 페이스북, 인크. Receiving information about a user from a third party application based on action types
US8732802B2 (en) * 2012-08-04 2014-05-20 Facebook, Inc. Receiving information about a user from a third party application based on action types
US20140074615A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System Using Triggered Advertisements
US20140074570A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System by Presenting Contextual Advertisements on a Computer System
US20140074571A1 (en) * 2012-09-10 2014-03-13 Super Transcon Ip, Llc Commerce System and Method of Controlling the Commerce System by Layering Contextual Advertisements Over a Graphical Interface
US20140089407A1 (en) * 2012-09-25 2014-03-27 Randy Mersky Local social mobile network with advertising
US9002852B2 (en) 2012-11-15 2015-04-07 Adobe Systems Incorporated Mining semi-structured social media
US10580045B1 (en) * 2012-11-28 2020-03-03 Google Llc Promoting content into a creative
US10810269B2 (en) * 2012-12-11 2020-10-20 Tencent Technology (Shenzhen) Company Limited Method and system for second-degree friend query
US20180293316A1 (en) * 2012-12-11 2018-10-11 Tencent Technology (Shenzhen) Company Limited Method and system for second-degree friend query
US9547697B2 (en) * 2012-12-21 2017-01-17 Google Inc. Aggregating interactions for content items
US9325653B1 (en) * 2012-12-21 2016-04-26 Google Inc. Notifying content owners of related posts
US9935910B2 (en) 2012-12-21 2018-04-03 Google Llc Recipient location aware notifications in response to related posts
US10666597B2 (en) 2012-12-21 2020-05-26 Google Llc Recipient location aware notifications in response to related posts
US9246853B1 (en) * 2013-01-22 2016-01-26 Amdocs Software Systems Limited System, method, and computer program for determining a profile for an external network user
US20140222561A1 (en) * 2013-02-04 2014-08-07 Facebook, Inc. Cross-Platform Advertisement Targeting
US10747835B2 (en) 2013-03-08 2020-08-18 Google Llc Content item audience selection
US9881091B2 (en) 2013-03-08 2018-01-30 Google Inc. Content item audience selection
US11250087B2 (en) 2013-03-08 2022-02-15 Google Llc Content item audience selection
US20140270408A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Method and apparatus for requesting and providing access to information associated with an image
US9305154B2 (en) * 2013-03-15 2016-04-05 Qualcomm Incorporated Method and apparatus for requesting and providing access to information associated with an image
US20140294257A1 (en) * 2013-03-28 2014-10-02 Kevin Alan Tussy Methods and Systems for Obtaining Information Based on Facial Identification
US9697381B2 (en) 2013-09-03 2017-07-04 Samsung Electronics Co., Ltd. Computing system with identity protection mechanism and method of operation thereof
US20150067777A1 (en) * 2013-09-04 2015-03-05 Facebook, Inc. Systems and methods for authenticating nodes
US9094389B2 (en) * 2013-09-04 2015-07-28 Facebook, Inc. Systems and methods for authenticating nodes
US9781115B2 (en) 2013-09-04 2017-10-03 Facebook, Inc. Systems and methods for authenticating nodes
US10305876B2 (en) * 2013-11-04 2019-05-28 Microsoft Technology Licensing, Llc Sharing based on social network contacts
US10445785B2 (en) * 2013-11-21 2019-10-15 Facebook, Inc. Presenting content items associated with dynamically-created advertisements to users of a social networking system
US20150142583A1 (en) * 2013-11-21 2015-05-21 Facebook, Inc., a Delaware corporation Presenting content items associated with dynamically-created advertisements to users of a social networking system
US11538069B1 (en) 2013-11-21 2022-12-27 Meta Platforms, Inc. Presenting content items associated with dynamically-created advertisements to users of a social networking system
US20150149299A1 (en) * 2013-11-27 2015-05-28 Robert G. Fuggetta System and Method for Providing Relevant Advocate Endorsements in Digital Media
US9680947B2 (en) * 2013-12-27 2017-06-13 Facebook, Inc. Aggregated actions
US20160241655A1 (en) * 2013-12-27 2016-08-18 Facebook, Inc. Aggregated actions
US20150254679A1 (en) * 2014-03-07 2015-09-10 Genesys Telecommunications Laboratories, Inc. Vendor relationship management for contact centers
US20150254725A1 (en) * 2014-03-10 2015-09-10 Korean Advanced Institute Of Science And Technology Method and System for Providing User Information on Online Service
US10529032B2 (en) * 2014-04-15 2020-01-07 Parag Ramteke System and method for networking of people socially and professionally via specific nested categories filters under single networking platform
US11290551B1 (en) 2014-04-30 2022-03-29 Twitter, Inc. Method and system for implementing circle of trust in a social network
US10771572B1 (en) * 2014-04-30 2020-09-08 Twitter, Inc. Method and system for implementing circle of trust in a social network
US11893588B1 (en) 2015-03-27 2024-02-06 Wells Fargo Bank, N.A. Token management system
US11562347B1 (en) 2015-03-27 2023-01-24 Wells Fargo Bank, N.A. Token management system
US11651379B1 (en) 2015-03-27 2023-05-16 Wells Fargo Bank, N.A. Token management system
US11823205B1 (en) 2015-03-27 2023-11-21 Wells Fargo Bank, N.A. Token management system
US11861594B1 (en) 2015-03-27 2024-01-02 Wells Fargo Bank, N.A. Token management system
US11429975B1 (en) 2015-03-27 2022-08-30 Wells Fargo Bank, N.A. Token management system
US11200562B1 (en) 2015-07-31 2021-12-14 Wells Fargo Bank, N.A. Connected payment card systems and methods
US11727388B1 (en) 2015-07-31 2023-08-15 Wells Fargo Bank, N.A. Connected payment card systems and methods
US11900362B1 (en) 2015-07-31 2024-02-13 Wells Fargo Bank, N.A. Connected payment card systems and methods
US11367064B1 (en) 2015-07-31 2022-06-21 Wells Fargo Bank, N.A. Connected payment card systems and methods
US10970707B1 (en) 2015-07-31 2021-04-06 Wells Fargo Bank, N.A. Connected payment card systems and methods
US11847633B1 (en) 2015-07-31 2023-12-19 Wells Fargo Bank, N.A. Connected payment card systems and methods
US11170364B1 (en) 2015-07-31 2021-11-09 Wells Fargo Bank, N.A. Connected payment card systems and methods
US10474749B2 (en) 2015-08-18 2019-11-12 Alibaba Group Holding Limited Method and device for generating live text broadcasting content using historical broadcasting text
US20180039944A1 (en) * 2016-01-05 2018-02-08 Linkedin Corporation Job referral system
US11227064B1 (en) 2016-07-01 2022-01-18 Wells Fargo Bank, N.A. Scrubbing account data accessed via links to applications or devices
US10963589B1 (en) 2016-07-01 2021-03-30 Wells Fargo Bank, N.A. Control tower for defining access permissions based on data type
US11409902B1 (en) * 2016-07-01 2022-08-09 Wells Fargo Bank, N.A. Control tower restrictions on third party platforms
US11935020B1 (en) 2016-07-01 2024-03-19 Wells Fargo Bank, N.A. Control tower for prospective transactions
US11615402B1 (en) 2016-07-01 2023-03-28 Wells Fargo Bank, N.A. Access control tower
US11736490B1 (en) 2016-07-01 2023-08-22 Wells Fargo Bank, N.A. Access control tower
US11928236B1 (en) 2016-07-01 2024-03-12 Wells Fargo Bank, N.A. Control tower for linking accounts to applications
US11755773B1 (en) 2016-07-01 2023-09-12 Wells Fargo Bank, N.A. Access control tower
US11762535B1 (en) 2016-07-01 2023-09-19 Wells Fargo Bank, N.A. Control tower restrictions on third party platforms
US11429742B1 (en) 2016-07-01 2022-08-30 Wells Fargo Bank, N.A. Control tower restrictions on third party platforms
US11914743B1 (en) 2016-07-01 2024-02-27 Wells Fargo Bank, N.A. Control tower for unlinking applications from accounts
US11386223B1 (en) * 2016-07-01 2022-07-12 Wells Fargo Bank, N.A. Access control tower
US11899815B1 (en) * 2016-07-01 2024-02-13 Wells Fargo Bank, N.A. Access control interface for managing entities and permissions
US11853456B1 (en) 2016-07-01 2023-12-26 Wells Fargo Bank, N.A. Unlinking applications from accounts
US11895117B1 (en) 2016-07-01 2024-02-06 Wells Fargo Bank, N.A. Access control interface for managing entities and permissions
US11645416B1 (en) 2016-07-01 2023-05-09 Wells Fargo Bank, N.A. Control tower for defining access permissions based on data type
US11886611B1 (en) 2016-07-01 2024-01-30 Wells Fargo Bank, N.A. Control tower for virtual rewards currency
US11886613B1 (en) 2016-07-01 2024-01-30 Wells Fargo Bank, N.A. Control tower for linking accounts to applications
US10419381B2 (en) * 2016-08-30 2019-09-17 Facebook, Inc. Prompt ranking
US10291575B2 (en) * 2016-11-14 2019-05-14 Microsoft Technology Licensing, Llc Dynamic authorization using internet-based social networks
US11875358B1 (en) 2017-04-25 2024-01-16 Wells Fargo Bank, N.A. System and method for card control
US11869013B1 (en) 2017-04-25 2024-01-09 Wells Fargo Bank, N.A. System and method for card control
US11556936B1 (en) 2017-04-25 2023-01-17 Wells Fargo Bank, N.A. System and method for card control
US11062388B1 (en) 2017-07-06 2021-07-13 Wells Fargo Bank, N.A Data control tower
US11756114B1 (en) 2017-07-06 2023-09-12 Wells Fargo Bank, N.A. Data control tower
US11188887B1 (en) 2017-11-20 2021-11-30 Wells Fargo Bank, N.A. Systems and methods for payment information access management
US10992606B1 (en) 2020-09-04 2021-04-27 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
US11256875B1 (en) 2020-09-04 2022-02-22 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
US11615253B1 (en) 2020-09-04 2023-03-28 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
US11947918B2 (en) 2020-09-04 2024-04-02 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
US11546338B1 (en) 2021-01-05 2023-01-03 Wells Fargo Bank, N.A. Digital account controls portal and protocols for federated and non-federated systems and devices
US11818135B1 (en) 2021-01-05 2023-11-14 Wells Fargo Bank, N.A. Digital account controls portal and protocols for federated and non-federated systems and devices

Also Published As

Publication number Publication date
US20130014284A1 (en) 2013-01-10

Similar Documents

Publication Publication Date Title
US20130014284A1 (en) Leveraging A Social Graph From A Social Network For Social Context In Other Systems
US9832181B2 (en) Single login procedure for accessing social network information across multiple external systems
US9754125B2 (en) Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US10666694B1 (en) Markup language for incorporating social networking system information by an external web site
US9218496B2 (en) Dynamically updating privacy settings in a social network
JP5775003B2 (en) Using social information to authenticate user sessions
US8943604B2 (en) Providing user confidence information to third-party systems
US9189819B2 (en) Personalizing an application with content from a social networking system
US9602541B2 (en) Granting permission to act on behalf of a user in a social networking system
US10362038B2 (en) Maintaining a limited user profile for social networking system users unable to establish a user profile
US20190147404A1 (en) Email streaming records
KR101765720B1 (en) Combining user profile information maintained by various social networking systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: FACEBOOK, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VERNAL, MICHAEL STEVEN;ZHU, WEI;LESZCZENSKI, JAMES M.;AND OTHERS;SIGNING DATES FROM 20090313 TO 20090323;REEL/FRAME:022465/0615

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: META PLATFORMS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058594/0253

Effective date: 20211028