Social Media Session Access

Naik; Kiran

Patent Application Summary

U.S. patent application number 14/820350 was filed with the patent office on 2016-06-09 for social media session access. This patent application is currently assigned to Google Inc.. The applicant listed for this patent is Google Inc.. Invention is credited to Kiran Naik.

Application Number20160164927 14/820350
Document ID /
Family ID54063652
Filed Date2016-06-09

United States Patent Application 20160164927
Kind Code A1
Naik; Kiran June 9, 2016

SOCIAL MEDIA SESSION ACCESS

Abstract

A method for social media session access includes, by a computing device, receiving a user request to join a social media session. If the social media session has less than a predetermined quantity of current users, the user is granted access to the session. If the social media session has the predetermined quantity of current users, information about the user is stored user in a list of users waiting to join the session. As slots in the session become available, users are selected from the waitlist. An owner of the session may determine the criteria used in selecting from among multiple users in the waitlist.


Inventors: Naik; Kiran; (Sunnyvale, CA)
Applicant:
Name City State Country Type

Google Inc.

Mountain View

CA

US
Assignee: Google Inc.
Mountain View
CA

Family ID: 54063652
Appl. No.: 14/820350
Filed: August 6, 2015

Related U.S. Patent Documents

Application Number Filing Date Patent Number
13300499 Nov 18, 2011 9137086
14820350
61527527 Aug 25, 2011

Current U.S. Class: 709/206 ; 709/225
Current CPC Class: H04L 65/1093 20130101; H04L 67/306 20130101; H04L 29/0602 20130101; H04L 67/325 20130101; H04L 67/14 20130101
International Class: H04L 29/06 20060101 H04L029/06; H04L 29/08 20060101 H04L029/08

Claims



1.-24. (canceled)

25. A non-transitory computer-readable medium, comprising instructions encoded in one or more tangible media for execution by one or more processors to provide social media session access, the instructions when executed operable by the one or more processors to perform operations, comprising: receive a request from a user to join a social media session; when the social media session has less than a predetermined quantity of current users, grant the user access to the social media session; when the social media session has the predetermined quantity of current users, store information about the user in a list of users waiting to join the social media session, wherein users are selected from the list when the social media session has less than the predetermined quantity of current users, based at least in part upon a priority value for each user in the list of users waiting to join the social media session, where the priority value is based on prior social media session activity of each user; modify a position of the information about the user in the list based at least in part on the priority value such that a user with a higher priority value may be offered access to the social media session sooner than a user with a lower priority value even though the user with the lower priority value requested access to the social media session before the user with the higher priority value requested access to the same session; and grant the user access to the social media session when a position of the information about the user in the list indicates the user may join the social media session.

26. A computer-implemented method for social media session access, comprising: receiving, at a computing device, a request by a user to join a social media session; when the social media session has less than a predetermined quantity of current users, granting the user access to the social media session; when the social media session has the predetermined quantity of current users, storing information about the user in a list of users waiting to join the social media session, wherein users are selected from the list when the social media session has less than the predetermined quantity of current users, based at least in part upon a priority value for each user in the list of users waiting to join the social media session, where the priority value is based on prior social media session activity of each user; and modifying a position of the information about the user in the list based at least in part on the priority value such that a user with a higher priority value may be offered access to the social media session sooner than a user with a lower priority value even though the user with the lower priority value requested access to the social media session before the user with the higher priority value requested access to the same session.

27. The computer-implemented method of claim 26, wherein the social media session comprises a video conference session.

28. The computer-implemented method of claim 26, wherein the social media session comprises an audio session.

29. The computer-implemented method of claim 26, wherein the social media session comprises a streaming video session.

30. The computer-implemented method of claim 26, wherein the social media session comprises a text chat session.

31. The computer-implemented method of claim 26, wherein the list comprises a priority queue.

32. The computer-implemented method of claim 26, further comprising modifying a position of the information in the list based at least in part on a payment of one or more credits.

33. The computer-implemented method of claim 26, further comprising modifying a position of the information in the list based at least in part on a determination by an owner of the social media session.

34. The computer-implemented method of claim 26, further comprising modifying a position of the information in the list based at least in part on a profile of the user.

35. The computer-implemented method of claim 34, wherein the profile comprises one or more of: a number of friends of the user, a quantity of followers of the user, a quantity of policy violations of the user, and a geolocation of the user.

36. The computer-implemented method of claim 34, wherein the profile comprises one or more of a purchase history of the user, a browsing history of the user, and an ad viewing history of the user.

37. The computer-implemented method of claim 26, further comprising, after the storing, granting the user access to the social media session when the social media session has less than a predetermined quantity of current users; and a position of the information about the user in the list indicates the user may join the social media session.

38. The computer-implemented method of claim 37, further comprising, after the storing, notifying the user when the user is granted access to the social media session.

39. A system for social media access, comprising: one or more processors; a non-transitory computer-readable medium comprising instructions encoded in one or more tangible media for execution by one or more processors, the instructions when executed operable by the one or more processors to perform operations, comprising: receive a user request to join a social media session; when the social media session has less than a predetermined quantity of current users, grant the user access to the social media session; when the social media session has the predetermined quantity of current users, store information about the user in a list of users waiting to join the social media session, wherein the list comprises a priority queue, and wherein users are selected from the list when the social media session has less than the predetermined quantity of current users, based at least in part upon a priority value for each user in the list of users waiting to join the social media session, where the priority value is based on prior social media session activity of each user; and modify a position of the information about the user in the list based at least in part on the priority value such that a user with a higher priority value may be offered access to the social media session sooner than a user with a lower priority value even though the user with the lower priority value requested access to the social media session before the user with the higher priority value requested access to the same session.

40. The system of claim 39, wherein the social media session comprises one or more of: a video conference session, a streaming video session, an audio session, and a text chat session.

41. The system claim 39, further comprising modifying a position of the information in the list based at least in part on a profile of the user.

42. The system of claim 41, wherein the profile comprises one or more of: a number of friends of the user, a quantity of followers of the user, a quantity of policy violations of the user, a geolocation of the user, a purchase history of the user, a browsing history of the user, and an ad viewing history of the user.

43. The system of claim 39, further comprising, after the storing, granting the user access to the social media session when a position of the information about the user in the list indicates the user may join the social media session.

44. The system of claim 43, further comprising, notifying the user when the user is granted access to the social media session.
Description



CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of the following provisional patent application, the disclosure of which is incorporated herein in its entirety by reference: [0002] U.S. Provisional Patent Application No. 61/527,527 filed Aug. 25, 2011, entitled "Social Media Session Access."

TECHNICAL FIELD

[0003] Aspects of the present disclosure relate to social media session access.

BACKGROUND

[0004] A social network can be an online system that provides a forum for geographically separated users to interact with one another, where those users have defined a relationship between one another. Users can control who can view their information by identifying particular relationships with other users, and can also find new friends from the group of other people who are "friends" of their own friends. Social networks can be aimed at different types of social interaction, such as friendship and business networking A user of a social network can have a profile page (e.g., a web page on the social network) that provides information about the user to other users of the social network. A profile can include information regarding a user's acquaintance relationships (e.g., friends, colleagues, schoolmates, etc.) on the social network.

[0005] Social network systems may allow users to join virtual meetings or sessions whereby the users can hear each other, send text messages to each other, and possibly see each other interact during the sessions. Due to network and computing device resource constraints, such social network systems typically limit the quantity of simultaneous session participants to assure at least a minimum level of performance. If a user asks to join a session that presently has the maximum quantity of simultaneous participants, the user is simply informed that the session is full. The user is free to repeatedly ask to join the session, but will only be granted access when one or more other users leave the session and the user's request is received before requests from other users wanting to join the same session. Accordingly, a need exists in the art for an improved solution for social media session access.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more embodiments and, together with the detailed description, serve to explain the principles and implementations of the present disclosure.

[0007] In the drawings:

[0008] FIG. 1 illustrates a high level functional description of a system in accordance with some embodiments of the present disclosure.

[0009] FIG. 2 depicts a block diagram of a system in accordance with some embodiments of the present disclosure.

[0010] FIG. 3 depicts a block diagram of a system in accordance with some embodiments of the present disclosure.

[0011] FIG. 4 depicts a process for social media session access in accordance with some embodiments of the present disclosure.

[0012] FIG. 5 depicts a process for social media session access in accordance with some embodiments of the present disclosure.

[0013] FIG. 6 depicts a user profile in accordance with some embodiments of the present disclosure.

[0014] FIG. 7 depicts an exemplary social media session access display in accordance with some embodiments of the present disclosure.

[0015] FIG. 8 depicts a data structure for storing certain user information in accordance with some embodiments of the present disclosure.

[0016] FIG. 9 depicts a data structure for storing certain social media session access information in accordance with some embodiments of the present disclosure.

[0017] FIG. 10 depicts a client device in accordance with some embodiments of the present disclosure.

[0018] FIG. 11 depicts a server device in accordance with some embodiments of the present disclosure.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

[0019] Example embodiments of the present disclosure provide a solution for social media session access wherein users requesting access to a social media session that is presently "full" are added to a waitlist. The term "social media session" as used herein encompasses its plain and ordinary meaning, including, but not limited to a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more users via their respective communicating devices. Example social media sessions include a videoconference session, an audio session, a streaming video session, a text chat session, and combinations thereof. As slots in the session become available, users are selected from the waitlist. An owner of the session may determine the criteria used in selecting from among multiple users in the waitlist.

[0020] Embodiments of the present disclosure are described herein in the context of social media session access. Those of ordinary skill in the art will realize that the following detailed description of the present disclosure is illustrative only and is not intended to be in any way limiting. Other embodiments of the present disclosure will readily suggest themselves to such skilled persons having the benefit of this disclosure. Reference will now be made in detail to implementations of the present disclosure as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following detailed description to refer to the same or like parts.

High Level Functional Description

[0021] FIG. 1 illustrates a high level functional description of a system 100 in accordance with some embodiments of the present disclosure. A social media session access manager 115 is connected to a client 120, a display manager 105, and a social media session access database 110. Social media session access manager 115 receives from the client 120 a request to access a social media session. Social media session access manager 115 examines information from social media session access database 110 to determine whether to grant client 120 access to the social media session, and if the determination to grant access is made, interfaces with display manager 105 to grant the client 120 access to the social media session.

Example System Description

[0022] FIG. 2 depicts a block diagram of a system in accordance with some embodiments of the present disclosure. One or more clients 205 are connected to a communication network 240. The communication network 240 is connected to a server 245. The server 245 includes a social media session access engine 260, a display engine 250, a user information database 270, and a social media session access database 275. The social media session access engine 260 is connected to the communication network 240, the display engine 250, and the social media session access database 275. The social media session access engine 260 handles requests from and responses to the client assistant 235, via its connection with communication network 240. The display engine 250 is connected to the communication network 240 and the user information database 270.

[0023] Each client 205 includes a client application 230 and a client assistant 235. The client 205 can be any number of devices (e.g., computer, internet kiosk, personal digital assistant, cell phone, gaming device, desktop computer, laptop computer, tablet computer, a television with one or more processors embedded therein or attached thereto, or a set-top box) which may be used to connect to the communication network 240. The communication network 240 may be a wireless, optical, wired or other type of network that facilitates the passage of information. It may include the Internet, one or more local area networks (LANs), one or more wide area networks (WANs), other types networks, or a combination of such networks. The client application 230 is an application that is executed by the client (e.g., browser, e-mail client, word processor) and that displays or presents information to a user of the client (the client application may also perform other tasks not relevant to the present discussion). The client assistant 235 is an application that facilitates the display or presentation of information by the client application 230. The client assistant 235 can be part of the client application 230, a plug-in to the client application 230, stand-alone application, or otherwise (e.g., a JavaScript application downloaded as part of a web page). In some embodiments, the client assistant 235, or portions of the client assistant are downloaded along with messages or other information sent to the client 205. For instance, the client assistant 235 may be one or more scripts (e.g., JavaScript programs) embedded in other content. In this way, different versions of the client assistant 235 are provided to the client 205 without requiring any explicit action by the user of the client 205. Client 205 may also include a location determiner for reporting a geolocation of the client 205.

[0024] FIG. 2 is exemplary, in some embodiments, the server 245 contains a subset of or superset of those elements illustrated in FIG. 2. Although FIG. 2 shows the server 245 as a number of discrete items, the figure is intended more as a functional description of the various features which may be present in the server 245 rather than a structural schematic of the embodiments described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. For example, some items shown separately in the figure could be implemented on a single server and single items could be implemented by one or more servers. The actual number of servers in receipt server 245 and how features are allocated among them will vary from one implementation to another, and may depend in part on the amount of traffic that the system must handle during peak usage periods as well as during average usage periods. For example, any of the user information database 270 and social media session access database 275 could be implemented as a stand-alone server or servers.

[0025] The social media session access engine 260 receives from the client 205 a request to access a social media session. Social media session access engine 260 also examines information from social media session access database 275 to determine, based on criteria set by an owner of the social media session, whether to grant client 205 access to the social media session. If the determination to grant access is made, social media session access engine 260 interfaces with display engine 250 to grant client 205 access to the social media session. The user information database 270 contains information about users associated with client devices 205, including any preferences they may have with respect to the display of items. The social media session access database 275 includes information about social media sessions, including users participating in the session, and users waiting to participate in the session.

[0026] FIG. 3 depicts a block diagram of a system in accordance with some embodiments of the present disclosure. FIG. 3 illustrates an embodiment where a client device 205 is configured to determine whether to grant access to a social media session, based at least in part on user information stored on the client device 205 or external to client device 205. As shown in FIG. 3, client device 205 includes a memory 310 and one or more processors 315. The one or more processors 315 are configured to receive a request from a user 325 to join a social media session having one or more other users 330. The one or more processors 315 are further configured to determine whether the quantity of social media session users 330 is less than a predetermined quantity of current users. The one or more processors 315 are further configured to, when the quantity of social media session users is less than a predetermined quantity of current users, grant the user access to the session. The one or more processors 315 are further configured to, when the quantity of social media session users is less than the predetermined quantity of current users, store information about the user in a list of users waiting to join the session (340). The list 340 may be stored in memory 310 or cloud 300.

Social Media Session Access Request Handling

[0027] FIG. 4 depicts a process for social media session access in accordance with some embodiments of the present disclosure. At 400, a computing device receives 245 a user request to join a social media session. At 405, a determination is made regarding whether the quantity of social media session users is less than a predetermined quantity of current users. If at 405 the quantity of social media session users is less than a predetermined quantity of current users, at 410 the user is granted access to the session. If at 405 the quantity of social media session users is less than a predetermined quantity of current users, at 415 information about the user is stored in a list of users waiting to join the session. The information about the user may be used to determine whether to grant the user access to the social media session when a slot becomes available.

[0028] The social media session may be any resource limited session between two or more users. By way of example, a social media session may be a videoconference session, an audio session, a streaming video session, a text chat session, or a combination thereof.

[0029] According to one embodiment, the list of users waiting to join the session comprises a priority queue. Information about users added to the queue includes a priority value. Users associated with a higher priority value are advanced ahead of users having a lower priority value and are therefore granted access to a social media session ahead of users having a lower priority value. A priority value may be based on a determination by an owner of a social media session. A priority value may also be based on information in a profile of the user. Profiles are discussed in more detail below, with reference to FIG. 6.

[0030] According to one embodiment, the list comprises a first-in-first-out queue. Users are granted access to a social media session on a first-come-first-served basis. For example, if user A's access request is followed by user B's access request, which is followed by user C's access request, user A is offered access when a first slot becomes available, user B is offered access when a second slot becomes available, and user C is offered access when a third slot becomes available.

[0031] According to one embodiment, a position of the information in the list may be modified based at least in part on a payment of one or more credits. The credits may be in the form of an actual currency, e.g. U.S. dollars. Alternatively, the credits may be in the form of a virtual currency. For example, suppose a user is number 10 in line to join a social media session. The user may pay an owner of the session to move ahead of other users in the waitlist. According to another embodiment, a bidding process may be used to determine positions in a waitlist. For example, a highest bidder may be granted the most preferable position in line, the second-highest bidder may be granted the second-most preferable position in line, the third-highest bidder may be granted the third-most preferable position in line, and so on.

[0032] According to one embodiment, a position of the information in the list may be modified based at least in part on a determination by an owner of the session. For example, an owner of a social media session may advance a user out of turn because the owner knows the user, or the owner believes the user will contribute relatively more to the session. As a further example, an owner of a session regarding global warming may advance out of turn a user known to be an expert on global warming.

[0033] According to one embodiment, a user waiting to join a social media session is notified that the user may join the session when the session has less than a predetermined quantity of current users, and the user's position in list indicates the user may join the session. The notification may be via a text message to the user, a phone call to the user, an email to the user, or the like. The user may be given a predetermined amount of time to respond to the notification. If the user does not respond to the notification within the predetermined amount of time, the user's ability to join the session is either terminated or suspended, and another user is notified of the possibility of joining the session.

[0034] According to one embodiment, a social media session is selected from a result of searching an online directory of sessions. The online directory may be searchable by category. For example, the user may search for all sessions in a "live concert" category. The online directory may also be searchable based on membership. For example, the user may search for all sessions having one or more friends of the user as a member. According to one embodiment, the one or more friends comprises one or more friends of the user in a social network, or friends in a contact list of the user.

[0035] The online directory may also be searchable based on topic. For example, the user may search for all sessions relating to Alzheimer's disease. The online directory may also be searchable based on geolocation. For example, the user may search for all sessions associated with a geolocation that is at or near a geolocation reported by a client device associated with the user. As a further example, the user may search for all sessions at or near a geolocation specified by the user.

Selecting from a List of Users Waiting to Join a Social Media Session

[0036] FIG. 5 depicts a process for social media session access in accordance with some embodiments of the present disclosure. At 500, a determination regarding whether there is a nonempty list of users waiting to join a social media session is made at a computing device 245. If at 500 there is a nonempty list of users waiting to join a social media session, at 505 a determination is made regarding whether the quantity of social media session users is less than a predetermined quantity of current users. If at 505 the quantity of social media session users is less than a predetermined quantity of current users, at 510 the user is granted access to the session based criteria established by an owner of the list.

Example User Profile

[0037] FIG. 6 depicts a user profile in accordance with some embodiments of the present disclosure. A position of the information in a waitlist is modified based at least in part on a profile 600 of the user. A profile 600 of the user can include any information about the user. This information may include the user's online activity as well as information about the user provided by the user or collected by a third party. Users may opt out of data collection.

[0038] According to one embodiment, the profile 600 comprises a celebrity status 605 of the user. A celebrity status 605 of a user may be independent of a particular social media session. For example, a world leader or world-renowned entertainer may be granted celebrity status 605 regardless of which social media session the user joins.

[0039] Alternatively, the celebrity status 605 of a user may differ depending on which social media session the user joins. For example, a social media session regarding turmoil in a region of the world may grant celebrity status 605 to diplomatic personnel from various countries, but not to Ralph Nader or others known for their views on automotive safety. And a social media session regarding automotive safety may grant celebrity status 605 to Ralph Nader or others known in the field, but not to diplomatic personnel.

[0040] According to one embodiment, the profile 600 comprises a quantity of friends 610 of the user. Users with relatively more friends may be given preference over users with relatively fewer friends. For example, a user with 100 friends may be offered access to a social media session sooner than a user with 5 friends even though the user with 5 friends requested access to the social media session before the user with 100 friends requested access to the same session.

[0041] According to one embodiment, the profile comprises a quantity of followers 615 of the user. Users with relatively more followers 615 may be given preference over users with relatively fewer followers 615. For example, a user with 100 followers may be offered access to a social media session sooner than a user with 5 followers even though the user with 5 followers requested access to the social media session before the user with 100 followers requested access to the same session.

[0042] According to one embodiment, the profile comprises an activity level 620 of the user in the session. The activity level 620 may be with respect to prior participation in a particular social media session. The activity level 620 may also be with respect to prior or current participation in other related social media sessions. For example, a user with 100 postings in a forum related to a social media session may be offered access to the social media session sooner than a user with 5 postings to the same forum even though the user with 5 postings requested access to the social media session before the user with 100 postings requested access to the same session.

[0043] According to one embodiment, the profile comprises a quantity of policy violations 625 of the user in the session. For example, the term "flaming" is often used to describe hostile and insulting interaction between Internet users. A social media session having a policy against flaming may give preference to users having relatively fewer of such policy violations 625.

[0044] According to one embodiment, the profile comprises a geolocation 630 of the user. Users having a geolocation 630 at or near a geolocation associated with a social media session may be given preference over users having a geolocation relatively far from the geolocation associated with the social media session. For example, suppose a social media session relates to live performances of a particular band. Users having a geolocation at the venue where the band is currently performing may be given preference over users having a geolocation outside the venue.

[0045] According to one embodiment, the profile comprises a browsing history 635 of the user. Users having a browsing history 635 that indicates an interest in a particular subject may be given preference in a social media session regarding that subject. For example, suppose a social media session relates to Brazilian soccer. Users having a history 635 of browsing sites related to Brazilian soccer may be given preference over other users with relatively less history of browsing such sites.

[0046] According to one embodiment, the profile comprises a purchase history 640 of the user. Users having a history 640 of purchasing a particular product, or products from a particular vendor, may be given preference in a social media session regarding that product or vendor. For example, suppose a social media session relates to handbags made by Coach. Users having a history 640 of purchasing handbags, or other products from Coach, may be given preference over other users with relatively less history of purchasing such products.

[0047] According to one embodiment, the profile comprises an ad viewing history 645 of the user. Users having a history 645 of viewing a particular ad or a particular type of ad may be given preference over other users with respect to joining a social media session. For example, suppose a social media session relates to term life insurance. Users having a history 645 of clicking on relatively more ads regarding term life insurance may be given preference over other users having a history of clicking on relatively fewer of such ads.

Example User Interface

[0048] FIG. 7 depicts an exemplary social media session access display in accordance with some embodiments of the present disclosure. As shown in FIG. 7, user interface 700 includes video displays of users 705, 710, 715, 720, and 725. User interface 700 optionally includes a waitlist 740 indicating which users are waiting to join the social media session. As shown in FIG. 7, users 730, 735, 745, and 750 are waiting to join the social media session. A user's position in the waitlist 740 may be used to indicate which user may join the social media session as soon as one of users 705, 710, 715, 720, and 725 leaves the social media session. According to one embodiment, waitlist 740 is viewable by only the owner of a social media session. According to another embodiment, waitlist 740 is viewable by the current participants in the social media session. According to another embodiment, waitlist 740 is viewable by users in the waitlist 740. According to another embodiment, waitlist 740 is viewable by users that are not current participants and are not in the waitlist 740. Social media session access database 275 may include a field that indicates which users may view waitlist 740.

Example Data Structures

[0049] FIG. 8 depicts a data structure for storing certain user information in accordance with some embodiments of the present disclosure. FIG. 8 illustrates an exemplary user table 800 in a user information database 270 which is used in some embodiments to store information about users. Information stored in user information database 270 may be used to determine which user is granted access to a social media session when a slot becomes available. In some embodiments, table 800 includes a plurality of records, each having a userID portion 805 and one or more other portions containing information about the user. Table 800 includes one or more records such as record 875 associated with a userID #1, and record 845 associated with a userID #U, where U represents the quantity of users with a record in user table 800. The record 875 includes one or more items of information about a user, such as the user's notification preference 810, display preference 815, wait list identifier 820, wait list position 825, online activity 830, celebrity status 835, friends 840, followers 845, policy violations 850, geolocation 855, purchase history 860, and ad viewing history 865. The notification preference 810 may indicate how the user prefers to be notified, for example which devices 205 should be notified that access to a social media session has been granted, and whether the rendering of the notification should be accompanied by an audible, tactile, or visual cue. The display preference 815 may indicate a user's preferences with regard to the display of information, and how much information about the user is disclosed to third parties. According to some embodiments, no user information is disclosed to third parties by default.

[0050] Record 875 may also include an identification (820) of social media session wait list(s) that include the user. Record 875 may also include the user's position in the list(s) identified at 825. The online activity entry 830 may indicate a user's online activity, for example which websites the user has visited. The celebrity status field 835 may indicate whether the user is considered a celebrity, and if so, what type of celebrity. The friends field 840 may indicate which other users are friends of the user in a social network. The followers field 845 may indicate which other users are following the user in a social network. The policy violations field 850 may indicate whether the user has a record of policy violations for a social network. For example, policy violations field 850 may indicate whether the user has a record of violating an anti-flaming policy. The geolocation field 855 may indicate a geoposition of a client device associated with a user. The purchase history field 850 may identify products purchased by the user. The ad view history field 865 may identify advertisements viewed by the user. The entries in any particular record 875, 880, and 885 are merely exemplary. In some embodiments, users may have differing sets of entries in their respective record.

[0051] FIG. 9 depicts a data structure for storing certain social media session access information in accordance with some embodiments of the present disclosure. FIG. 9 illustrates an exemplary table 900 in social media session access database 275 which is used in some embodiments to store information about social media session access. In some embodiments, table 900 includes a plurality of records, each having a ListID portion 905 and one or more other portions containing information about the list. Table 900 includes one or more records such as record 930 associated with a ListID #1, and record 945 associated with an ListID #U, where U represents the quantity of lists with a record in table 900. The record 930 includes one or more items of information about an access list, such as the owner of the list (1010), an identification of the social media session (915), a list of users waiting to join the social media session (920), and a status of the list (925). The owner of the list (910) indicates which user controls access to the session identified in field 915. The wait list 920 identifies which users are waiting to join the social media session. The status field 925 identifies a status of the list, for example whether the list is open or closed. The entries in any particular record 930, 935, 940, and 945 are merely exemplary. In some embodiments, social media access lists may have differing sets of entries in their respective record.

Additional Embodiments

[0052] FIG. 10 depicts a client device in accordance with some embodiments of the present disclosure. A client system 205 typically includes one or more processing units (CPU's) 1000, one or more network or other communications interfaces 1025, memory 1070, and one or more communication buses 1005 for interconnecting these components. The client system 205 may include a user interface 1015, for instance a display 1010 and a keyboard 1020. The memory 1070 may include high speed random access memory and may also include non-volatile memory, such as one or more magnetic or optical storage disks. The memory 1070 may include mass storage that is remotely located from CPU's 1000. The memory 1070 may store the following elements, or a subset or superset of such elements: an operating system 1030 that includes procedures for handling various basic system services and for performing hardware dependent tasks; a network communication module (or instructions) 1035 that is used for connecting the customer client system 205 to other computers via the one or more communications interfaces 1025 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; a client application 220 as described above; a client assistant 235 as described above; optionally, a cache of downloaded social media access list information 1050, as well as other information for viewing using the client application 125, and information retrieved by user selection of one or more items. The client system 205 may also include a location determiner for reporting a geolocation of the client system.

[0053] FIG. 11 depicts a server device in accordance with some embodiments of the present disclosure. A server 245 typically includes one or more processing units (CPU's) 1100, one or more network or other communications interfaces 1125, memory 1180, and one or more communication buses 1105 for interconnecting these components. The server 245 may include a user interface 1115, including a display 1110 and a keyboard 1120. The memory 1180 may include high speed random access memory and may also include non-volatile memory, such as one or more magnetic or optical storage disks. The memory 1180 may include mass storage that is remotely located from CPU's 1100. The memory 1180 may store the following elements, or a subset or superset of such elements: an operating system 1130 that includes procedures for handling various basic system services and for performing hardware dependent tasks; a network communication module (or instructions) 1135 that is used for connecting the server system 245 to other computers via the one or more communications interfaces 1125 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; a user information database 270 for storing user information, an social media session access database 275 for storing social media access list information, a display engine (or instructions) 250 for identifying what items to display and for formatting the items for display as described above, and an social media session access engine (or instructions) 260 for storing and displaying information regarding social media session access as described above.

[0054] Although illustrated and described in relation to client devices and server devices, it should be understood that the techniques described herein apply equally well to other types of computer networks (e.g. peer-to-peer). Furthermore, it should be understood that the techniques described herein apply equally to both wired and wireless networks. Further still, one of ordinary skill in the art will readily recognize that the techniques described herein can be applied to client applications other than applications for videoconferencing, audio sessions, video sessions, or text chat sessions.

[0055] Each of the above identified modules or programs correspond to a set of instructions for performing a function described above. These modules and programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 1070 or 1180 may store a subset of the modules and data structures identified above. Furthermore, memory 1070 or 1180 may store additional modules and data structures not described above.

[0056] Although some of various drawings illustrate a number of logical stages in a particular order, stages which are not order dependent may be reordered and other stages may be combined or broken out. Alternative orderings and groupings, whether described above or not, may be appropriate or obvious to those of ordinary skill in the art of computer science. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.

[0057] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed