`
`EXHIBIT L
`(Part 2 of 2)
`
`
`
`Case 6:20-cv-00810-ADA Document 73-30 Filed 04/23/21 Page 2 of 8
`
`US 7,472,110 B2
`
`13
`tive categories are depicted. Thus, for example, navigation
`information towards this user can be returned based on a
`query for a red convertible for sale. One suitable approach for
`entering the personal information or profile employs a
`generic page or template of a home page that assists entering
`such information. As discussed in greater detail infra, creat-
`ing a home page can amount to making statements about
`oneself that a 3"1 party (e.g., fan) would not mind corroborat-
`ing. A number of attributes should be selectable to increase
`the ease of entering the personal information. For example, a
`user may be able to select an item from a drop down list for a
`particular attribute. As another example, a user may be able to
`select "not applicable" for attributes that a user does not wish
`to provide information for. Then, the home pages can be
`uploaded to the private storage component 604 (FIG. 6) via a
`secure connection that reasonably ensures that their personal
`information does not become public information. Other suit-
`able approaches can be used to upload personal information
`(e.g., data mining, cookies, data scavenging, third party pro-
`viders and the like) and still be in accordance with the present
`invention.
`Returning to FIG. 6, after the personal information 610 and
`buddy lists 608 are entered for the set of users 602, the buddy
`lists 608 and personal information 610 (also referred to as
`user information) are uploaded to the private storage compo-
`nent 604, which stores and maintains the information. Addi-
`tionally, respective users are able to modify their buddy lists
`and their personal information and again upload that infor-
`mation to the private storage component 604 wherein their
`previous information is then overwritten. Similarly, respec-
`tive users are able to remove their information and/or them-
`selves from the private storage component 604.
`The private storage component 604 receives the personal
`information and buddy lists from the set of users 602. The
`private storage component 604 securely stores this informa-
`tion and does not make it publicly available. The private
`storage component 604 includes a graph generator 612 that
`generates a directed graph utilizing vertexes for respective
`users and arcs from respective users to members of their
`buddy list that are in the set of users 602. However, it is
`appreciated that alternate aspects of the invention can utilize
`other data-structure type forms, such as tables, relational
`databases, XML based databases and the like. The direction
`of the arcs in the directed graph indicates the type of relation-
`ship between pairs of users. Thus, for example, FIG. 9 illus-
`trates at least a portion of an exemplary directed graph gen-
`erated for system 600. The arc between users C and D
`indicates a relationship wherein C considers D a hero and D
`considers C a fan. It is appreciated that the arc between C and
`D would not exist if D did not consider Ca fan or if C did not
`consider D a hero. The relationships, modeled by the arcs,
`also include a familiarity value. Since, as discussed above,
`users can disagree on familiarity values, the minimum value
`for a relationship is utilized. Employing the minimum of two
`declared familarilities results in a more accurate representa-
`tion of a social opportunity along the respective arc. Thus, as
`another example, if C set a familiarity value of 7 and D set a
`familiarity value of 6, the minimum value, 6, is employed for
`the relationship between C and D. Additionally, such a
`scheme allows for either vertex of an arc to revise familiarity
`along the arc without the other vertex's knowledge and to
`affirmatively respond to possible abuses of an intra-relation-
`ship. Briefly referring to FIG. 4, it is appreciated that within a
`social network, egos exist, and as such it is significant to
`determine the extent to which P, Q can discover any discrep-
`ancy on their values for PQ by employing the aforemen-
`tioned mechanism. Without loss of generality, assume that
`
`15
`
`3u
`
`35
`
`14
`P's value on the arc P—,Q is greater than that of Q (e.g., P has
`a self-important view of his relationship with Q). In such
`scenarios, Q may not desire to have P learn of a discrepancy
`in familiarity value assigned to the arc if Q does not care (as
`5 in the case of spammers), there is no issue.
`As long as P makes queries for which P is not aware that Q
`is a good source, then P will not discover that Q has a lower
`view of their relationship. For P to be aware of the discrep-
`ancy, P would have to discover that Q is a good source on a
`10 subject (e.g., subject X) and for P or a fan of P to make a
`request for information on that subject. However, even if the
`discrepancy is discovered by P, Q can avoid potential conflicts
`(e.g., hurt feelings) by informing P that he or she simply
`forgot to enter P as a fan or subject X in Q's profile. Q can then
`update his or her profile to include the subject matter (e.g.,
`subject X) and/or add P as a fan but not include or remove
`other subject matter which P likely is not aware of Q having.
`Additionally, in another aspect of the invention, Q can adjust
`his or her profile to limit P only to particular subject matter of
`20 which P knows Q is a good source of. Of course, since P
`knows Q, there is nothing preventing P from contacting Q by
`other means (e.g., phone, email . . . ) to obtain or request
`information. However, it is possible to limit fan's access to
`certain aspects of "myself' (e.g., certain attributes or infor-
`mation), which also facilitates fans corroboration ofand trust-
`worthiness of attributes and information entered by users.
`Additionally, the relationship of PQ implies that P is
`willing to corroborate the information entered by Q, which in
`reality may or may not be true. If this implication is not true,
`this failure only becomes relevant when a user enters a query
`for which Q is a good "match" (according to himself), other-
`wise the failure is irrelevant (e.g., it does not manifest itself in
`the world. Additionally, unless a user approaches P with a
`request for introduction to Q based on a referral path, Q's
`failure is again irrelevant.
`Referring to FIG. 6 again, it is also appreciated that at least
`some members of a user's buddy list can be absent from the
`set of users and, therefore the directed graph. Alternately, a
`40 non member in a buddy list can simply be maintained in the
`directed graph without their entry of information. The private
`storage component 604 is typically implemented at a central
`location. Suitable encryption techniques can be used to prop-
`erly encrypt the personal information and the graph.
`The search engine 606 is operative to receive queries from
`the set of users 602 and return directed subgraphs to the set of
`users 602. The search engine 606 accesses the directed graph
`in the private storage component 604 and obtains appropriate
`information, which in turn becomes the query receipts. A
`50 query is generated by a respective user of the set of users 602.
`The query is parsed to obtain query information including,
`but not limited to information such as, a user requesting the
`query, an attribute and/or information requested familiarity
`limit and a query distance. The query distance is the number
`55 of arcs or vertices to which the query can extend to from the
`user to search for the information. The attribute and/or infor-
`mation requested can include information such as, person
`selling red convertible or person living in Chicago Ill. The
`familiarity limit sets a minimum value for searching the
`60 directed graph. If the familiarity limit is below a particular
`familiarity between two users, the search does not utilize that
`arc and therefore the relationship between those two users.
`The search is typically performed by employing a breadth
`first search of the directed graph starting at the vertex of the
`65 user requesting the query. On finding a match of the requested
`information, a subgraph, which is a directed graph illustrating
`the referral path or map to the desired information, is gener-
`
`45
`
`TT0007349
`
`
`
`Case 6:20-cv-00810-ADA Document 73-30 Filed 04/23/21 Page 3 of 8
`
`US 7,472,110 B2
`
`15
`ateci. The subgraph is then encoded according to the users
`along the subgraph such that the users are only able to access
`a portion of the subgraph.
`FIG. 10 depicts an exemplary subgraph 1000 of the
`directed graph of FIG. 9. For an exemplary query by user U
`that identifies user P as having the requested information, the
`subgraph 1000 is encrypted and returned to the user U. How-
`ever, the user U is not able to view the whole subgraph 1000,
`but can only view the arc from users U to C. The user U can
`then send the subgraph 1000 to user C who can view the arc
`from users C to D, the next user in the referral path. Likewise,
`C can send the subgraph 1000 to user C who can view the arc
`from users D to P. The user P can then contact the user U with
`the requested information. It is appreciated that the subgraph
`returned provides navigational information towards the social
`information and/or opportunities requested, but not the actual
`information or opportunities requested.
`It is also appreciated that the requested information
`received by a user as a result of system 600 should be rela-
`tively reliable. Fans of the user providing the requested infor-
`mation can be utilized to corroborate the requested informa-
`tion. For example, a query to find the best shuffleboard player
`in Chicago Ill. can, after following navigational information
`reveal a shuffleboard player in Chicago. However, the system
`600 does not independently verify the accuracy of informa-
`tion entered, thus, it is possible that this person is not really
`the best shuffleboard player. Thus, a fan of the shuffle board
`player can be contacted to corroborate this infonnation (e.g.,
`the fan indicates that the shuffleboard player is a good shuffle-
`board player).
`There are a few different possibilities for a user Q who is a
`fan of P regarding corroboration of information entered by P.
`A first case is when Q feels that the claim is false to the point
`of casting P in a bad light (e.g., P claims to be a psychic). In
`that case, Q can choose to stop considering P as a hero and
`modify Q's buddy list. A second case is when Q feels that the
`claim made by P is false, but not malicious (e.g., P is deluded
`about his shuffleboard game but is otherwise a swell fellow).
`Q would like to block requests to introduce P to his fans when
`they seek a great tennis player. Another case is when Q is
`willing to corroborate all statements made by P, but only to a
`subset of Q's fans. A last case occurs when Q is willing to
`corroborate subsets of statements made by P to subsets of his
`own, i.e Q's, fans. As stated above, the first case is resolved by
`Q removing P from Q's set of heroes. For the second case, Q
`can declare that P is a good fellow but is not a good tennis
`player on, for example, an about page. For the third and fourth
`cases, Q can provide corroboration information regarding P
`that adjusts the social connections that Q is willing to facili-
`tate. Then, the directed graph can be further modified to
`include corroboration connections based on this corrobora-
`tion information. The corroboration connections block
`requests from fans to some heroes. Thus, connections are
`maintained where Q is willing to facilitate and eliminated
`where Q is not willing to facilitate connections.
`FIG. 11 illustrates connections based according to another
`aspect of the invention. Missing connections correspond to an
`unwillingness to connect fan(s) to hero(es). The set of users
`602 (FIG. 6) can explicitly specify these connections and/or
`group fans and heroes into categories and then define connec-
`tions between the categories is rather than between all the
`pairs of individuals in a pair of categories. The "very hard"
`category from above is not illustrated in FIG. 11, but can be
`implemented by subdividing information of P into sets by Q
`and then selecting which fans can have access to the respec-
`tive sets of information through Q.
`
`1
`
`30
`
`35
`
`16
`FIG. 12 is a block diagram illustrating a system 1200 for
`utilizing social information according to an aspect of the
`invention. The system 1200 comprises a set of users 1202, a
`subgraph encrypter component 1206 and a coordinator 1204.
`5 The system 1200 acts as a compass to guide users toward
`reliable social information and opportunities whilst maintain-
`ing privacy of the set of users 1202 by providing navigational
`information in response to a query.
`The set of users 1202 are a number of persons or users that
`to are members of the social network. Generally, the number of
`users in the system 1200 is relatively large. Respective users
`fill out a "buddy list", which is a list of people they are willing
`to share their information with and/or to whom they are
`willing to permit access to their information. For respective
`5 members (buddies) of the buddy list, users enter or provide a
`name, familiarity or degree of familiarity with the member
`and indicate whether the member is a fan, a hero or both. The
`name can be a full name or a username. The familiarity is of
`a range of possible values (e.g., 1 to 10 or 1 to 100) where,
`20 typically, a higher number indicates a greater degree of famil-
`iarity. The member is indicated as a hero if the user is willing
`to contact this member for information, a fan if the user is
`willing to be contacted by this member for information or
`both if the user is willing to contact and to be contacted by this
`25 member. Additionally, a fan should be willing to corroborate
`personal information entered by the user although this is not
`necessarily valid. For example, individual A declares indi-
`vidual F as a fan if A would like F to corroborate A's personal
`information. Whether individual F actually satisifies that role
`is up to his/her discretion (e.g., manifested by declaring A as
`a hero).
`It is appreciated that people can have differing views on
`their personal relationships. Thus, a user can view a member
`of the user's buddy list as being a hero with a high degree of
`familiarity but that member can view that user as being unfa-
`miliar and not a fan and can fail to include that user on the
`member's own buddy list. Thus, entry of a buddy list does not
`generally require checking and/or verification to determine if,
`for example, other users agree.
`Then, respective users enter personal information, referred
`to as profiles about themselves utilizing predefined categories
`and attributes. The categories and predefined attributes permit
`consistency in the personal information for the set of users
`45 602. Additionally, the categories and predefined attributes can
`be set with default or typical values to ease the personal
`information entering process. It is appreciated that different
`users can provide or not provide varying amounts of infor-
`mation within their personal information. Thus, users are
`50 permitted to enter as much or as little personal information as
`they prefer.
`One suitable approach to entering the personal information
`is to employ a generic page or template of a home page and
`that assists entering their personal infonnation. A number of
`55 attributes should be selectable to increase the ease of entering
`the personal information. For example, a user may be able to
`select an item from a drop down list for a particular attribute.
`As another example, a user may be able to select "not appli-
`cable" for attributes that user does not wish to provide infor-
`60 mation for. Other suitable approaches can be employed and
`still be in accordance with the present invention. Additionally,
`the set of users 1202 can enter corroboration information to
`determine which fans of respective users have access to which
`heroes of respective users. It is appreciated that users can
`65 provide as little or as much corroboration information as they
`are inclined to. For example, a user can provide no corrobo-
`ration information implying that all fans of the user can be
`
`40
`
`TT0007350
`
`
`
`Case 6:20-cv-00810-ADA Document 73-30 Filed 04/23/21 Page 4 of 8
`
`US 7,472,110 B2
`
`17
`connected through that user to all heroes of that user. The
`corroboration information can be entered or provided via an
`about page or template.
`Once entered, the personal information, buddy lists and
`corroboration information are uploaded to the coordinator
`1204. The information can be uploaded on a user by user case
`and can also be updated. Also, the personal information and
`corroboration information can be encrypted. Additionally,
`respective users are able to modify their buddy lists, corrobo-
`ration information and their personal information and again
`upload that information to the coordinator 1204.
`The coordinator 1204 receives the personal information,
`corroboration information and buddy lists from the set of
`users 1202 and generates subgraphs. Generally, a subgraph is
`generated for a respective user according to a subgraph dis-
`tance. The user for which a subgraph is generated can be
`referred to as a base user. The subgraph distance refers to a
`distance or size of the subgraph and is similar to the distance
`used in searching. The subgraph distance limits the distance
`for which a user can submit queries. An exemplary subgraph
`distance value is two or three, however other suitable values
`can be utilized. FIG. 13 is a diagram of a subgraph 1300
`generated for user C of FIG. I with a subgraph distance of
`two. It can be seen that the subgraph 1300 of FIG. 13 is
`smaller than the graph 100 of FIG. 1. The subgraphs are
`generated similar to how the graph in system 600 of FIG. 6 is
`generated, except that the subgraphs are limited to the sub-
`graph distance and are centered at respective users.
`The subgraph encrypter 1206 receives the subgraphs from
`the coordinator 1204 and encrypts the subgraphs according to
`the set of users 1202. The encrypted subgraphs are then pro-
`vided to the set of users 1202. A subgraph for a respective user
`is encrypted specifically for that user. The respective users of
`the set of users 1202 then receive their unique encrypted
`subgraph that is typically stored on local users' systems.
`The users can then perform queries and obtain navigation
`information from the encrypted subgraphs similar to that in
`system 600 of FIG. 6. A query is generated by a respective
`user of the set of users 602. A query typically includes infor-
`mation such as, a user requesting the query, an attribute and/or
`information requested, a familiarity limit and a query dis-
`tance, although the user requesting the query is not generally
`required. The query distance is the number of arcs or vertices
`to which the query can extend to from the user to search for
`the information. The query distance is, necessarily, limited to
`the subgraph distance, thus, for a subgraph having a subgraph
`distance of 2, the query distance can not exceed 2. The
`attribute and/or information requested can include informa-
`tion such as, person selling red convertible or person living in
`Chicago Ill. The familiarity limit sets a minimum value for
`searching the directed graph. If the familiarity limit is below
`a particular familiarity between two users, the search does not
`utilize that arc and therefore the relationship between those
`two users. The search is performed employing a breadth first
`search of the subgraph starting at the vertex of the user
`requesting the query (e.g., the user that generated the query).
`On finding a match of the requested information, navigational
`information is provided for the user. It is appreciated that the
`navigational information facilitates finding and/or obtaining
`the social information and/or opportunities requested, but not
`the actual information or opportunities requested.
`Turning now to FIG. 14, a block diagram of a data packet
`1400 generated in response to a user query in accordance with
`an aspect of the present invention is depicted. The data packet
`1400 employs a babushka/wrapper concept with respect to
`security wherein various portions of the data packet are
`respectively secured (e.g., encryption, password protected. .
`
`18
`. ) such that only an individual or entity authorized to access
`the portion can. Thus, although the data packet may contain
`all data regarding a given path, exposure of portions of the
`data is selective relative to a predefined authorization/authen-
`5 tication scheme. As discussed supra, a typical response to a
`user query is to generate a query receipt. According to an
`aspect of the present invention, the query receipt comprises a
`data packet 1400, which is encrypted with layers that control-
`lable expose to users depending upon their place along the
`10 path to desired information. The data packet 1400 can include
`all information regarding the path but regulate access to the
`data in order to maintain privacy in accordance with the
`subject invention. Generally, the data packet 1400 is provided
`to the user that initiated the query and is passed along a
`15 referral path in order to possibly obtain the desired informa-
`tion.
`The data packet 1400 is depicted as comprising encrypted
`layers including a first layer 1402, a second layer 1404, a third
`layer 1406 and a core layer 1408. It is appreciated that alter-
`20 nate aspects of the present invention can have more or less
`layers in the data packet 1400 and still be in accordance with
`the present invention. The first layer 1402 is also referred to as
`an outer layer and is accessible by the user that initiated the
`query. "typically, the user unwraps or obtains the information
`25 contained in the outer layer by employing a key assigned to
`the user by a system managing the social network. The infor-
`mation obtained includes at least a next user along the referral
`path. Additionally, the information can also optionally
`include a length of the referral path and other similar infor-
`30 mation. The user then sends the data packet 1400 to a second
`user on the referral path.
`The second user can access the second layer 1404 by means
`of a key supplied the system. A third user in the referral path
`is obtained from the second layer and the second user can pass
`35 the data packet 1400 to the third person. Similarly, the third
`user is operative to access the third layer 1406 by means of a
`key supplied the system. A final user is obtained from the third
`layer 1406 and the data packet 1400 is then passed to the final
`user.
`At this point, the data packet 1400 only contains the core
`layer 1408 (It is to be appreciated that the subject invention is
`not limited to two paths). The core layer 1408 comprises the
`requested information and identifies the user requesting the
`information (e.g., by means of a key supplied by the system).
`45 The final user can decide not to provide the requested infor-
`mation to the user that requested the information. Otherwise,
`the final user sends the desired information to the requested
`user. The desired information can be encrypted so as to only
`permit access by the requesting user.
`50 In view of the exemplary systems shown and described
`above, methodologies that may be implemented in accor-
`dance with the present invention will be better appreciated
`with reference to the flow diagrams of FIGS. 15-16. While,
`for purposes of simplicity of explanation, the methodology is
`55 shown and described as a series of blocks, it is to be under-
`stood and appreciated that the present invention is not limited
`by the order of the blocks, as some blocks may, in accordance
`with the present invention, occur in different orders and/or
`concurrently with other blocks from that shown and described
`60 herein. Moreover, not all illustrated blocks may be required to
`implement the methodology in accordance with the present
`invention.
`The invention may be described in the general context of
`computer-executable instructions, such as program modules,
`65 executed by one or more components. Generally, program
`modules include routines, programs, objects, data structures,
`etc. that perform particular tasks or implement particular
`
`40
`
`TT0007351
`
`
`
`Case 6:20-cv-00810-ADA Document 73-30 Filed 04/23/21 Page 5 of 8
`
`US 7,472,110 B2
`
`19
`abstract data types. Typically the functionality of the program
`modules may be combined or distributed as desired in various
`embodiments.
`FIG. 15 is a flow diagram depicting a method 1500 gener-
`ating and/or modifying a social network of utilizing a social
`network according to an aspect of the invention. The method
`1500 generates a directed graph that represents social infor-
`mation and relationships for individuals and/or entities.
`Personal information is received relating to an individual
`or entity at 1502. The personal information includes
`attributes, corroboration information and relationships (e.g.,
`buddy list) for that individual or entity. The personal infor-
`mation includes, but is not limited to, geographic informa-
`tion, hobbies, favorite foods, restaurants, movies, items for
`trade, items for sale and the like. The relationship information
`indicates which existing individuals or entities of the network
`the individual or entity has a relationship with, specifies the
`type of relationship (e.g., fan, hero or both) and designates a
`familiarity for the respective relationships. Then, a determi-
`nation is made as to whether the individual or entity is new to
`the social network at 1504 by, for example, searching the
`social network for the individual or entity.
`If the individual or entity is new, the individual or entity is
`added to the social network, represented as the directed graph,
`as a new node or vertex at 1506. The new node is added along
`with the personal information received at 1502. The attributes
`can be organized in a hierarchal manner according to pre-
`defined categories so as to facilitate searches of the informa-
`tion. Subsequently, new arcs are added to the directed graph at
`1508 from the new node to other existing nodes according to
`the relationship information previously received. The direc-
`tionality of the arcs is obtained by the types of the relationship
`being represented by the arcs. Then, the familiarities are
`assigned or updated for the arcs according to the received
`information at 1510. Generally, a higher familiarity indicates
`a greater degree of familiarity between a pair individuals
`and/or entities. However, if each of the individuals or entities
`of the pair has indicated differing familiarities, the minimum
`of the two can be assigned to the respective arc.
`At 1504, if the individual or entity is not new to the social
`network, a determination is then made at 1512 as to whether
`new arcs are to be added to the directed graph (e.g., indicating
`that relationships have changed for the individual or entity). If
`new arcs are needed, the new arcs are added at 1514 from the
`node representing the individual or entity to existing nodes
`according to the received relationship information. Addition-
`ally, the method 1500 can remove existing arcs according to
`the relationship information. Then, the attributes for the indi-
`vidual or entity are updated at 1516 by adding, modifying
`and/or deleting information about the individual or entity.
`Finally, familiarities can be updated at 1510, as described
`above, according to the relationship information received for
`the individual or entity.
`Prior to the personal information being received at 1502,
`individuals or entities (e.g., users) enter their information in
`accordance with a number of suitable approaches that have
`previously been described herein, but omitted for brevity.
`Additionally, the method is described as representing the
`social network as the directed graph; however, it is appreci-
`ated that the social network can be represented with other
`suitable data structures or representations in alternate aspects
`of the invention, also previously described.
`In an alternate aspect of the invention, a subgraph is gen-
`erated for respective members of the social network instead of
`a single directed graph of the complete social network. The
`subgraphs collectively comprise substantially the same infor-
`mation as the directed graph. However, the subgraphs origi-
`
`25
`
`30
`
`20
`nate at a base node (e.g., the individual or entity to which the
`subgraph is generated) and extend a number of degrees
`referred to as a subgraph limit.
`FIG. 16 is a flow diagram illustrating a method 1600 of
`5 searching a social network according to an aspect of the
`invention. The method facilitates maintaining privacy of per-
`sonal information within a database search environment, and
`also can permits queries for purposes of locating personal
`attribute information of an unknown person, and allow an
`10 originator of a query to evaluate a level of trust associated
`with an individual identified by a query.
`In accordance with the method 1600, a user query (e.g.,
`natural language based query) is generated at 1602. The user
`is an individual or entity that is a member of the social net-
`work. The query can then be parsed into terms germane to the
`query such as, for example indexable elements and/or atomic
`pairs. Of course, it is appreciated that the subject invention is
`applicable to other suitable types of querying schemes. The
`query typically includes requested information, minimum
`20
`familiarity and a search distance or limit. A directed graph,
`representing the social network, is searched at 1604 for the
`requested information. The directed graph is searched via a
`breadth first search from the user's node extending through
`nodes connected to the user's node according to the minimum
`familiarity and the search limit for the requested information.
`Thus, the search at 1604 only proceeds through arcs having at
`least the minimum familiarity and within the search limit
`(e.g., number of arcs traversed). If the requested information
`is not obtained or identified at 1606, the user is notified of the
`failure at 1608. The user can then revise the parameters of
`query (e.g., expanding the search terms, lowering the mini-
`mum familiarity, increasing the search distance . . . ) and
`re-enter the new or revised query at 1602.
`If the requested inforniation is identified at 1606, the
`method 1600 then generates one or more referral paths to the
`information at 1610. The one or more referral paths are paths
`from the user's node towards a node that has the requested
`information, referred to as a final node. An optimal or "best"
`40 path of the one or more referral paths can be determined
`according to the familiarities of the arcs to the requested
`information and the number of arcs to the information (e.g.,
`distance). Then, a portion of the optimal path is exposed to the
`user at 1612. Generally, the portion exposed or exposed node
`45 is initially a first node along the path. The user then makes a
`request to the exposed node at 1614 to expose a next node and
`or the requested information. The exposed node generally can
`only provide the requested information if it is the final or last
`node of the referral path. If the exposed node cooperates at
`50 1616, the next node of the referral path is exposed to the user
`at 1618. The method then continues at 1616 once again
`wherein the next exposed node decides whether or not to
`cooperate. If the exposed node refuses to cooperate at 1616, a
`determination is made as to whether another referral path is
`55 available at 1620. If there is another referral path of the one or
`more referral paths remaining, the method continues at 1612
`where the optimal path is now the best or optimal of the paths
`remaining Otherwise, if no referral paths remain, the user can
`then revise the parameters of query (e.g., expanding the
`search terms, lowering the minimum familiarity, increasing
`the search distance . . . ) and enter a revised or new query at
`1602.
`In an alternative aspect of the invention, a subgraph for the
`user is searched instead of the directed graph. Subgraphs for
`65 members of the social network exist wherein the subgraphs
`collectively comprise substantially the same information as
`the directed graph. However, the subgraphs originate at a base
`
`35
`
`60
`
`TT0007352
`
`
`
`Case 6:20-cv-00810-ADA Document 73-30 Filed 04/23/21 Page 6 of 8
`
`US 7,472,110 B2
`
`21
`node (e.g., the individual or entity to which the subgraph is
`generated) and extend a number of degrees referred to as a
`subgraph limit.
`In order to provide additional context for various aspects of
`the present invention, FIG. 17 and the following discussion
`are intended to provide a brief, general description of one
`possible suitable computing environment 1710 in which



