Sharing Digital Content On A Social Network
Claim Score by NHIP
Abstract
Embodiments of the invention provide techniques for more effectively and easily sharing on a social networking system digital content obtained from an external system. In one embodiment a user selects a control for sharing content from the external system that causes a sharing request to be sent. The sharing request is received by the social networking website, and an interface is presented to the user requesting sharing parameters. The user provides sharing parameters through the interface that are received by the social networking website. Content is retrieved from the external system and is transmitted to one or more destinations in the social networking website based at least in part on the sharing parameters. The sharing parameters may include selection parameters for indicating which content to share, formatting parameters for specifying how to format the content, and destination parameters indicating particular destinations in the social networking website for the content.

Term
5.5 yearsto projected expiry
Projected expiry 11 March 2032, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
18 claims: 2 independent, 16 dependent
- 1Broadest claimClaim Score 70, broad(NHIP)A computer implemented method of sharing digital content in a social network, the method comprising:receiving a sharing request for sharing content from an external system, the sharing request sent responsive to a selection by a user;sending information for presenting an interface to the user, the interface for requesting parameters from the user for sharing the content in the social networking system;receiving sharing parameters from the user responsive to user selections in the interface;retrieving the content from the external system;and transmitting the content to one or more destinations in a social networking system based at least in part on the sharing parameters.
- 10A computer program product for sharing digital content in a social network, the computer program product comprising a computer-readable storage medium containing computer program code that comprises:a formatting module configured to: receive a sharing request for sharing content from an external system, the sharing request sent responsive to a selection by a user;send information for presenting an interface to the user, the interface for requesting parameters from the user for sharing the content in the social networking system;receive sharing parameters from the user responsive to user selections in the interface;retrieve the content from the external system;and a transmission module configured to: transmit the content to one or more destinations in a social networking system based at least in part on the sharing parameters.
Independent claims2
63 paragraphs in 5 sections, as filed
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Application No. 61/000,682, filed Oct. 26, 2007, which is incorporated by reference in its entirety.
BACKGROUND
This invention relates to social networking websites and in particular to sharing on a social networking website digital content obtained from an external system.
Social networks, or social utilities that track and enable connections between members (including people, businesses, and other entities), have become prevalent in recent years. In particular, social networking websites allow members to communicate relevant information more efficiently. For example, a member may post contact information, background information, job information, hobbies, and/or other member-specific data to a location associated with the member on a social networking website. Other members can then review the posted data by browsing member profiles or searching for profiles including specific data. The social networking websites also allow members to associate themselves with other members, thus creating a web of connections among the members of the social networking website.
Conventionally, when a user who is also a member of a social network wishes to share information with other members of the social network, the user generally copies and pastes the information to a location on the social network or forwards the information in the form of a message or email to other members. Often, certain forms of information do not copy and paste very well from one medium to another, and additional formatting or modifications to the information may be required before it is suitable for viewing by other members. Moreover, members who receive this shared information and subsequently wish to forward it may be required to repeat the formatting process. As a result, the quality of shared information may be compromised and members may be less likely to share information with each other. Furthermore, outdated shared information may accumulate in locations within the social network, further dampening the incentive for members to share content. Additionally, there is often no way of tracking the shared information within the social network.
SUMMARY
Addressing these deficiencies in existing systems, embodiments of the invention provide techniques for more effectively and easily sharing on a social networking system digital content obtained from an external system. In one embodiment a user views content on an external system that the user desires to share in the social networking website. The user selects a control in a web browser or on a web page of the external system. The control may execute code that causes a sharing request to be sent to the social networking website. The sharing request is received by the social networking website, and information is sent from the social networking website for presenting an interface to the user. The interface is capable of requesting sharing parameters from the user for sharing the content in the social networking website. The interface may be a web page capable of receiving user input. The user provides sharing parameters that are received by the social networking website. Content is retrieved from the external system and is transmitted to one or more destinations in the social networking website based at least in part on the sharing parameters. The sharing parameters may include selection parameters for indicating which content to share, formatting parameters for specifying how to format the content, and destination parameters indicating particular destinations in the social networking website for the content. The shared content can also be tracked in the social networking website and updated responsive to changes in the source content in the external system.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a social network implemented as a social networking website, in one embodiment.
<figref idrefs="DRAWINGS">FIG. 2</figref> is a high level block diagram illustrating a system environment suitable for operation of a social networking website, in one embodiment.
<figref idrefs="DRAWINGS">FIG. 3</figref> is a high level diagram illustrating the sharing module, in one embodiment.
<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a method for sharing content on a social networking website, in one embodiment
<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a web page from an external website displayed in the web browser of a user, in one embodiment.
<figref idrefs="DRAWINGS">FIG. 6</figref> illustrates a formatting screen that is presented to a user by the formatting module, in one embodiment.
<figref idrefs="DRAWINGS">FIG. 7</figref> illustrates shared content on a profile page of a member of the social networking website, in one embodiment.
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
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. 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). As used herein, the term “friend” refers to any other member to whom a member has formed a connection, association, or relationship via the website. Connections in social networks are usually in both directions, but need not be, so the terms “member” and “friend” may 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, (which would generally be the case when one of the members is a business or other entity); it simply implies a connection in the social network.
Social networks can be implemented in various types of systems. The implementation of the social network can provide mechanisms for members to communicate with each other, form connections with each other, store information, and share objects of interest, among other things. The implementation described below includes a social networking website that interacts with members at client computing devices through a web-based interface. However, other implementations are possible, such as one or more servers that communicate with clients using various client and server applications (e.g., non-web-based applications). Additionally, a social networking system may not include any centralized server, but rather may be implemented as a peer-to-peer system with peer-to-peer applications running on the clients that allow members to communicate and perform other functions. One example is a peer-to-peer network of smart phones communicating via Short Message Service (SMS) over a cellular network. It can be appreciated that the embodiments of a social networking website described below can be adapted to various other implementations of social networking systems.
<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a social network implemented as a social networking website <b>100</b>, in one embodiment. The social networking website <b>100</b> provides various mechanisms to its members to communicate with each other or to obtain information that they 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, just to name a few examples. The mechanisms of communication between members are called channels, available as channel resources <b>110</b>. In one embodiment, a channel is a computer mediated communication mechanism for facilitating communication between or among users of the social networking website <b>100</b> and/or the social networking website <b>100</b> itself.
The following channels may be available to users of a social networking website <b>100</b>, in one embodiment: <ul><li id="ul0001-0001" num="0000"><ul><li id="ul0002-0001" num="0018">An invitation channel <b>135</b> communicates one or more invitations between users. An invitation is a message sent by a member inviting another member to do something, e.g., a member can invite his friend to install an application.</li><li id="ul0002-0002" num="0019">A notification channel <b>140</b> communicates a message informing a member that some activity involving the member has occurred on the social networking website <b>100</b>.</li><li id="ul0002-0003" num="0020">An email channel <b>145</b> allows members to communicate by email.</li><li id="ul0002-0004" num="0021">A wall Post channel <b>150</b> allows members to share information between friends. A wall is an application allowing members to write interesting information to be shared between friends. A message written to a member's wall is called a wall post. A member can post on his own wall, as well as walls of all his friends. A friend of a member can see what is written on his wall.</li><li id="ul0002-0005" num="0022">A newsfeed channel <b>155</b> informs a member of activities of the member's friends. The newsfeed is constantly updated as the member's friends perform various activities, such as adding applications, commenting on photos, or making new friends.</li><li id="ul0002-0006" num="0023">A mini-feed channel <b>160</b> provides a mini-feed listing actions taken by the member. For example, the member may have added new friends to his social network or installed certain applications. One or more of a member's activities may be listed in the mini-feed of that member.</li></ul></li></ul>
In addition to interactions with other members, the social networking website <b>100</b> provides members with the ability to take actions on various types of items supported by the website. These items may include groups or networks (where “networks” here refer not to physical communication networks, but rather to social networks of people) to which members of the website may belong, events or calendar entries in which a member might be interested, computer-based applications that a member may use via the website, and transactions that allow members to buy, sell, auction, rent, or exchange items via the social networking website <b>100</b>. These are just a few examples of the items upon which a member may act on the social networking website <b>100</b>, and many others are possible.
As illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>, the social networking website <b>100</b> maintains a number of objects for the different kinds of items with which a member <b>130</b> may interact on the website <b>100</b>. In one example embodiment, these objects include member profiles <b>175</b>, group objects <b>180</b>, event objects <b>185</b>, application objects <b>190</b> (respectively, hereinafter, profiles <b>175</b>, groups <b>180</b>, events <b>185</b>, and applications <b>190</b>). In one embodiment, an object is stored by the website <b>100</b> for each instance of its associated item. For example, a member profile <b>175</b> is stored for each member who joins the website <b>100</b>, a group <b>180</b> is stored for each group defined in the website <b>100</b>, and so on. The types of objects and the data stored for each is described in more detail below in connection with <figref idrefs="DRAWINGS">FIG. 1</figref>.
The member <b>130</b> of the website <b>100</b> may take specific actions on the website <b>100</b>, where each action is associated with one or more objects. The types of actions that a member may perform in connection with an object are defined for each object and largely depend on the type of item represented by the object. A particular action may be associated with multiple objects. Described below are a number of examples of particular types of objects that may be defined for the social networking website <b>100</b>, as well as a number of actions that can be taken for each object. These objects and the actions discussed herein are provided for illustration purposes only, and it can be appreciated that an unlimited number of variations and features may be provided on the social networking website <b>100</b>.
The social networking website <b>100</b> maintains a member profile <b>175</b> for each member of the website <b>100</b>. Any action that a particular member takes with respect to another member is associated with each member's profile <b>175</b>, through information maintained in a database or other data repository, such as the action log <b>195</b>. The tracked 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 may be directed at particular members, in which case these actions may be associated with those members as well.
A group <b>180</b> may be defined for a group or network of members. For example, a member may define a group to be a fan club for a particular band. The website <b>100</b> would maintain a group <b>180</b> for that fan club, which might include information about the band, media content (e.g., songs or music videos) by the band, and discussion boards on which members of the group can comment about the band. Accordingly, member actions that are possible with respect to a group <b>180</b> might include joining the group, viewing the content, listening to songs, watching videos, and posting a message on the discussion board.
Similarly, an event <b>185</b> may be defined for a particular event, such as a birthday party. A member may create the event <b>185</b> by defining information about the event such as the time and place and a list of invitees. Other members may accept the invitation, comment about the event, post their own content (e.g., pictures from the event), and perform any other actions enabled by the website <b>100</b> for the event <b>185</b>. Accordingly, the creator of the event <b>185</b> as well as the invitees for the event may perform various actions that are associated with that event <b>185</b>.
The social networking website <b>100</b> also enables members to add applications to their profiles. These applications provide enhanced content and interactivity within the social networking website <b>100</b>, which maintains an application object <b>190</b> for each application hosted in the system. The applications may be provided by the website operator and/or by third party developers. An example application is an enhanced messaging service, in which members can send virtual objects (such as a “gift” or “flowers”) and an optional message to another member. The use of any functionality offered by the application may thus constitute an action by the member in connection with the application <b>190</b>. In addition, continuing the example from above, the receipt of the virtual gift or message may also be considered an action in connection with the application <b>190</b>. It can therefore be appreciated that actions may be passive and need not require active participation by a member. The scope and type of applications provided is limited only by the imagination and creativity of the application developers. Applications are generally written as server-side code that is run on servers of the social networking website <b>100</b>; an application may also use client-side code as appropriate. Generally, when a user logs into the site, the system determines which applications the user has installed (e.g., registered for) and then loads and runs such applications in combination with the underlying functionality of the social networking website <b>100</b>.
When a member takes an action on the social networking website <b>100</b>, the action is recorded in an action log <b>195</b>. In one embodiment, the website <b>100</b> maintains the action log <b>195</b> as a database of entries. When an action is taken on the website <b>100</b>, therefore, the website <b>100</b> adds an entry for that action to the log <b>195</b>. In one embodiment, an entry comprises some or all of the following information: <ul><li id="ul0003-0001" num="0000"><ul><li id="ul0004-0001" num="0032">Time: a timestamp of when the action occurred.</li><li id="ul0004-0002" num="0033">Member: an identifier for the member who performed the action.</li><li id="ul0004-0003" num="0034">Target: an identifier for the member to whom the action was directed.</li><li id="ul0004-0004" num="0035">Action Type: an identifier for the type of action performed.</li><li id="ul0004-0005" num="0036">Object: an identifier for an object acted on by the action e.g., an application.</li><li id="ul0004-0006" num="0037">Content: content associated with the action. <br /> It can be appreciated that many types of actions that are possible in the website <b>100</b> need not require all of this information. For example, if a member changes a picture associated with the member's profile, the action may be logged with just the member's identifier, an action type defining a picture change, and the picture or a link thereto as the content. </li></ul></li></ul>
<figref idrefs="DRAWINGS">FIG. 2</figref> is a high level block diagram illustrating a system environment suitable for operation of a social networking website <b>100</b>, in one embodiment. The system environment comprises one or more client devices <b>205</b>, one or more third party websites <b>200</b>, a social networking website <b>100</b>, and a network <b>210</b>. In alternative configurations, different and/or additional modules can be included in the system.
The client devices <b>205</b> comprise one or more computing devices that can receive member input and can transmit and receive data via the network <b>210</b>. For example, the client devices <b>205</b> 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 <b>205</b> are configured to communicate via network <b>210</b>, which may comprise any combination of local area and/or wide area networks, using both wired and wireless communication systems. The client devices <b>205</b> may be running a web browser <b>230</b> that allows users at the client devices to view web pages served by the social networking website <b>100</b> or external websites <b>200</b>. These users may be members of the social networking website <b>100</b>. Other applications similar to web browser <b>230</b> may also be run on the client device <b>205</b> to view content from the social networking website <b>100</b> or external websites <b>200</b>.
The social networking website <b>100</b> 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 <b>100</b> 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 <b>100</b> further stores data describing one or more relationships between different members. The relationship information may indicate members who have similar or common work experience, group memberships, hobbies, or educational history. Additionally, the social networking website <b>100</b> may include member-defined relationships between different members, allowing members to specify their relationships with other members. For example, these member-defined relationships 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 relationships, or define their own relationship types as needed.
The external websites <b>200</b> comprise one or more computing devices that provide content to viewers. The external web servers <b>220</b> provide this content for viewing by users at clients <b>205</b>. The users may share content from the external websites <b>200</b> with members of the social networking website <b>100</b>, as described below. The external websites <b>200</b> are generally any websites that provide content that may be shared. The external websites <b>200</b> may provide several pieces of content on a particular web page, and a user may select particular pieces of content for sharing. It is possible that a social networking website <b>100</b> may also be an external website <b>200</b> in a particular situation if a user desires to share content appearing on the social networking website <b>100</b>.
Other external systems besides external websites <b>100</b> can also provide content to viewers that may be shared with members of the social networking website <b>100</b>. The external systems may include servers that provide e-books, electronic documents in various formats, videos, or other types of content. This content may be provided through various server and client applications besides web servers and web browsers. Content can also be created or received locally at a client <b>205</b>, such as content from a DVD or digital camera. In this case, the client <b>205</b> can also be considered an external system providing content. As with content from an external website <b>200</b>, a user may desire to select particular pieces of content from an external system for sharing and may desire to format the pieces of content in various ways. Although the description below is focused on a user viewing content from an external website <b>100</b> in a web browser <b>230</b> and selecting and formatting the content from the web browser, the user may also view, select, and format content from other external systems using other various applications. It can be appreciated that the embodiments described below can be adapted to other types of external systems.
<figref idrefs="DRAWINGS">FIG. 2</figref> contains a block diagram of the social networking website <b>100</b>. In this embodiment, the social networking website <b>100</b> includes a web server <b>235</b>, an action logger <b>225</b>, an action log <b>195</b>, a wall post generator <b>275</b>, an email generator <b>255</b>, a sharing module <b>215</b>, a member profile store <b>265</b>, an application data store <b>270</b>, a group store <b>280</b>, a shared content store <b>290</b>, and an event store <b>285</b>. In other embodiments, the social networking website <b>100</b> 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 web server <b>235</b> links the social networking website <b>100</b> via the network <b>210</b> to one or more client devices <b>205</b>. The web server <b>235</b> serves web pages, as well as other web-related content, such as Java, Flash, XML, and so forth. The web server <b>235</b> may include a mail server or other messaging functionality for receiving and routing messages between the social networking website <b>100</b> and the client devices <b>205</b>. The messages can be instant messages, queued messages (e.g., email), text and SMS messages, or any other suitable messaging technique.
The action logger <b>225</b> is capable of receiving communications from the web server <b>235</b> about member actions on and/or off the social networking website <b>100</b>. The action logger <b>225</b> populates the action log <b>195</b> with information about member actions to track them.
The wall post generator <b>275</b> generates wall post messages for members. For example, a message about a new application being available may be posted on a member's wall. The email generator <b>255</b> generates email messages to members.
As discussed above, the social networking website <b>100</b> maintains data about a number of different types of objects with which a member may interact on the website <b>100</b>. To this end, each of the member profile store <b>265</b>, application data store <b>270</b>, the group store <b>280</b>, and the event store <b>285</b> stores instances of the corresponding type of object maintained by the website <b>100</b>. Each object type has information fields that are suitable for the storing information appropriate to the type of object. For example, the event store <b>285</b> contains data structures that include the time and location for an event, whereas the member profile store <b>265</b> contains data structures with fields suitable for describing a member's profile. When a new object of a particular type is created, the website <b>100</b> 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 member defines a new event, wherein the website <b>100</b> would generate a new instance of an event in the event store <b>285</b>, assign a unique identifier to the event, and begin to populate the fields of the event with information provided by the member.
The sharing module <b>215</b> allows the sharing of content from external websites <b>200</b> with members of the social networking website <b>100</b>. The sharing module <b>215</b> is capable of receiving a request to share content, retrieving the content from the external website <b>200</b>, and storing the content in the social networking website <b>100</b>. The shared content store <b>290</b> may be used for storing this content, also referred to as shared content. The sharing module <b>215</b> is also capable of formatting the shared content, transmitting the stored content to various destinations in the social networking website <b>100</b>, and tracking the shared content.
<figref idrefs="DRAWINGS">FIG. 3</figref> is a high level diagram illustrating the sharing module <b>215</b>, in one embodiment. The sharing module <b>215</b> includes a formatting module <b>304</b>, a transmission module <b>306</b>, and a tracking module <b>308</b>. The formatting module <b>304</b> is configured to receive the request to share content, also referred to as the sharing request. This request can originate from the web browser <b>230</b> or the social networking website <b>100</b>. The sharing request may include the location of the content to be shared, such as a URL. The formatting module <b>304</b> is configured to present a user interface to a user at a web browser <b>230</b> requesting sharing parameters from the user. These sharing parameters can include selection parameters indicating which pieces of content are to be shared, formatting parameters for formatting those pieces of content, and destination parameters specifying destinations within the social networking website <b>100</b> for the pieces of content. The formatting module <b>304</b> is capable of retrieving and formatting the appropriate content for sharing based on the sharing parameters received from the user.
The transmission module <b>306</b> is configured to receive the formatted content and destination information for the content from the formatting module <b>304</b>. The transmission module is capable of transmitting the formatted content to the destinations in the social networking website specified by the destination parameters. Various possible destinations include member profile objects <b>175</b>, group objects <b>170</b>, event objects <b>185</b>, application objects <b>190</b>, wall postings, and email messages. The transmission module <b>306</b> is also configured to log the sharing of content and enable the further sharing of content within the social networking website <b>100</b>.
The tracking module <b>308</b> is configured to track shared content within the social networking website <b>100</b>. The tracking module can receive a notification from the transmission module <b>306</b> indicating that particular shared content has been added to particular destinations of the social networking website <b>100</b>. The tracking module <b>308</b> is capable of updating the shared content in the social networking website <b>100</b> responsive to changes to the source of the shared content at an external website <b>200</b>. The tracking module <b>308</b> is also capable of determining the popularity of particular shared content within the social networking website based on the extent of the sharing of the content and other factors.
Embodiments of the system described above can be used for sharing content on a social networking website. <figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a method for sharing content on a social networking website <b>100</b>, in one embodiment. Initially, a sharing request is sent <b>402</b> based on a selection by a user to share content. The user may make the selection while viewing a web page from an external website <b>200</b> on a web browser <b>230</b> at a client <b>205</b>. This web page can be provided to the user's web browser <b>230</b> from the external web server <b>220</b>. The user then makes a selection indicating that the user desires to share content from the web page with members of the social networking website <b>100</b>. The content may be, for example, text, images, or videos from the web page. The user selection may cause code, such as JavaScript or HTML, to be executed in the user's web browser <b>230</b> that causes a sharing request to be sent <b>402</b> to the social networking website <b>100</b> from the browser. This code may be downloaded to the web browser from the external website <b>200</b> or the social networking website <b>100</b>. It is also possible for the user selection to cause code to be executed on the external website <b>200</b> or social networking website <b>100</b>, and the sharing request can be sent <b>402</b> from either of those locations. These possibilities are described further in connection with <figref idrefs="DRAWINGS">FIG. 5</figref> below.
<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a web page <b>500</b> from an external website <b>200</b> displayed in the web browser <b>230</b> of a user who is a member of the social networking website <b>100</b>, in one embodiment. The web page <b>500</b> is referenced by a Uniform Resource Locator (URL) <b>512</b>. The web page <b>500</b> includes various types of content, including a block of text <b>504</b>, a picture <b>506</b>, and a video <b>508</b>. The illustrated web page <b>500</b> is merely an example of a web page containing content that can be shared. Generally, the web page <b>500</b> may include any of a wide variety of content types in various configurations and layouts. The user may desire to share some or all of this content with other members of the social networking website <b>100</b>. In order to share the content, user interface controls <b>510</b> and <b>512</b> are provided. These controls <b>510</b> and <b>512</b>, when selected by the user, cause a sharing request to be sent <b>402</b> to the sharing module <b>215</b> of the social networking website <b>100</b>. In response to the sharing request, the sharing module <b>215</b> retrieves content to be shared. Controls <b>510</b> and <b>512</b> can be implemented as buttons, icons, selectable links, or various other selectable objects. The controls for indicating a desire to share content may comprise browser controls <b>512</b> and/or web page controls <b>510</b>.
A browser control <b>512</b> may be installed in the user's web browser <b>230</b>, for example in a toolbar <b>514</b> of the browser. Instructions or software for installing the browser control <b>512</b> may be provided by the social networking website <b>100</b>. A browser control <b>512</b> may be present regardless of whether the web page <b>500</b> is displayed, and is used to share content from that web page. When selected by a user, the browser control <b>312</b> causes a sharing request to be sent <b>402</b> to the social networking website <b>100</b>. This sharing request may include the URL <b>502</b> of the web page <b>500</b> and other information about the web page, such as the types of content on the web page. The browser control <b>512</b> may be linked to code that executes in the web browser <b>230</b> and causes the request to be sent from the browser. For example, the browser control <b>512</b> is a bookmark containing a JavaScript applet (e.g., a “bookmarklet”) that causes the sharing request to be sent <b>402</b>. In one embodiment, the browser control may not directly send a sharing request, but rather may send a notification to the social networking website <b>100</b> that causes the social networking website to generate the sharing request. In this case, the sharing request may be sent <b>402</b> within the social networking website to the sharing module <b>215</b>. The browser control <b>512</b> may be located in a toolbar <b>514</b> intended for frequently used bookmarks, and the applet code can be activated when the bookmark is selected.
A web page control <b>510</b> similarly causes a sharing request to be sent <b>402</b> to the social networking website <b>100</b>. Unlike the browser control <b>512</b>, the web page control <b>510</b> is provided by the external website <b>200</b> and is included on the web page <b>500</b>. The operator of the external website <b>200</b> can obtain instructions or software for installing web page controls <b>510</b> on its web pages <b>500</b> from the social networking website <b>100</b>. The operator of the external website <b>200</b> may include web page controls <b>510</b> to encourage content from the website to be shared in social networks. The web page control <b>510</b> may be associated with code provided by the external website <b>200</b>, such as HyperText Markup Language (HTML) or JavaScript, that executes in the web browser <b>230</b> and causes the sharing request to be sent <b>402</b> from the browser when the control is selected by a viewer of the web page <b>500</b>. Alternatively, the web page control <b>510</b>, when selected, may send a notification (e.g., a HTTP request) to the external website <b>200</b> or the social networking website <b>100</b>, either of which then creates and sends <b>402</b> the sharing request. A web page control <b>510</b> may be associated with a specific piece of content that is available for sharing. For example, the web page control <b>510</b> illustrated in <figref idrefs="DRAWINGS">FIG. 5</figref> is associated with the video content <b>508</b>. When the web page control <b>510</b> is selected, the sharing request sent to the social networking website may identify the video <b>508</b> as the content on the web page <b>508</b> to be shared, for example by including a URL of the video in the request. This identification of content for sharing can also be used as a selection parameter, described below.
Returning to <figref idrefs="DRAWINGS">FIG. 4</figref>, after the sharing request is sent <b>402</b>, it is received <b>403</b> by the formatting module <b>304</b> of the sharing module <b>215</b> in the social networking website <b>100</b>. The formatting module <b>304</b> then identifies possible pieces of content on the web page <b>500</b> indicated in the sharing request. Pictures, segments of text, videos, or other pieces of content may be considered possible candidates for sharing. If the sharing request indicates a specific piece of content to be shared, the formatting module <b>304</b> may limit the possible shared content to the specified content. This may occur, for example, with a web page control <b>510</b> that is associated with a particular piece of content. The formatting module <b>304</b> may filter the possible content available for sharing based on the type of content (e.g., text, video, image), metadata associated with the content, the size (e.g., in bytes or in pixels) of the content, the content creation date, modification date, file name, origin, or other properties. This filtering may be useful in removing from consideration content that is unlikely to be shared, such as a small standard navigational graphic image. The filtering may also prevent sharing of content that is not suitable for sharing on the social networking website <b>100</b>, such as videos of copyrighted material, or images in an unsupported file format. The formatting module <b>304</b> can also identify a default piece of content having characteristics making it a likely candidate for sharing and suggest this default piece of content to the user (while also allowing the user to select other pieces of content). The default piece of content can be identified using various heuristics.
The formatting module <b>406</b> then presents <b>406</b> an interface to the user requesting parameters for sharing content, also referred to as sharing parameters, from the user. The sharing parameters can include selection, formatting, and/or destination parameters. Different embodiments may allow the user to select one or more of these types of parameters. The selection parameters may include an indication of which of the identified pieces of content the user desires to share. The formatting parameters include options for formatting the selected pieces of content for sharing. These options can include the size, shape, or layout of the pieces of content. The options may also include a user comment to be attached to the shared content. The destination parameters specify where to send the formatted pieces of content within the social networking websites. For example, the user can specify that the content be emailed to a member or posted to the user's profile page, the user's wall, a group page, or an event page. The destination parameters can also include the membership credentials of the user (e.g., the user's member name and password for the social networking website <b>100</b>). These membership credentials can be used to ensure that the content is posted only to areas where the member has permission to post. The interface to the user may be presented <b>406</b> through a formatting screen that allows the user to input various values or selections for the parameters. The formatting screen may be a web page created by the formatting module <b>304</b>, served by the web server <b>235</b> of the social networking website <b>100</b>, and viewed by the user on the web browser <b>230</b>.
<figref idrefs="DRAWINGS">FIG. 6</figref> illustrates a formatting screen <b>612</b> that is presented <b>406</b> to a user by the formatting module <b>304</b>, in one embodiment. The formatting screen <b>612</b> includes pieces of content identified <b>404</b> from the external web page <b>500</b>. Here, three pieces of content are included: picture <b>506</b>, video <b>508</b>, and text <b>504</b>. Each piece of content has an associated checkbox control <b>606</b>. These checkboxes controls <b>606</b> are selected by the user to indicate that the associated piece of content should be shared. The user can share multiple pieces of content by checking multiple checkbox controls <b>606</b>. Checkbox controls <b>618</b> allow the user to specify the destinations of the shared content. For example, the content may be shared by emailing it to other members or by presenting it on the user's profile page, the user's wall, a group page, or an event page. A further screen can be presented if more details are needed (e.g., the name of the group or event).
A comment box <b>608</b> may be provided for the user to enter a comment to be displayed along with the shared content. Text entry boxes may be provided to allow the user to enter the user's member name (or email address) <b>614</b> and password <b>616</b> associated with the user's account on the social networking website <b>100</b> so that the shared content can be sent to the appropriate destinations. When the information on the formatting screen <b>612</b> has been completed, the user can select the share content button <b>602</b> to submit the entered information to the formatting module <b>304</b>. In this example formatting screen <b>612</b>, the checkboxes <b>606</b> allow the user to specify selection parameters, the checkboxes <b>618</b> and text boxes <b>614</b> and <b>616</b> allow the user to specify destination parameters, and the text box <b>608</b> allows the user to specify formatting parameters. It can be appreciated that various other types of controls can be used for obtaining information from the user for selecting content for sharing, for formatting the content, for specifying destinations of the content, and for other purposes.
Returning to <figref idrefs="DRAWINGS">FIG. 4</figref>, the formatting module <b>304</b> receives any <b>408</b> selection parameters, formatting parameters, and destination parameters submitted by the user through the user interface (e.g., formatting screen <b>612</b>). The user is not required to submit all types of parameters, and may only submit destination parameters, for example. The selection parameters may also be extracted from the received sharing request if the sharing request specifies the content to be shared and the user is not given the option of modifying which content is to be shared. Based on the received selection parameters or other factors such as information contained in the sharing request, the formatting module <b>304</b> retrieves <b>410</b> the pieces of content selected for sharing (if the content was not already retrieved) from the external website <b>200</b>.
The formatting module <b>304</b> may then format <b>412</b> the content for sharing on the social networking website <b>100</b>. This formatting <b>412</b> may include processing the content for easier sharing. For example, an image file is converted into a standard type of image file used by the social networking website <b>100</b> and is also processed to reduce its file size. Audio or video files may be processed to facilitate their playback on the social networking website <b>100</b>. The formatting module <b>304</b> may condense, summarize, rearrange, or resize the selected pieces of content or components of the pieces of content. It may also modify font styles, font sizes, links, languages, and text length, for example.
The formatted content is received by the transmission module <b>306</b> which transmits <b>414</b> the formatted content to various destinations within the social networking website <b>100</b>. As mentioned above, the user can make selections for sending the shared content to various destinations. This information may be included in the destination parameters. In one embodiment, a single copy of the formatted shared content is stored in the shared content store <b>290</b>. The transmission module <b>306</b> then creates links to the stored copy from the various destinations, avoiding the need to store multiple copies.
One possible destination of shared content is the user's member profile. In this case, the transmission module <b>306</b> updates the appropriate member profile object <b>175</b> in the member profile store <b>265</b> to include the shared content. This may include adding a reference to the shared content to the member profile object <b>175</b>. If a selected destination is a group page, the transmission module <b>306</b> updates the appropriate group object <b>170</b> in the group store <b>280</b>. If a selected destination is an event page, the transmission module <b>306</b> updates the appropriate event object <b>185</b> in the event store <b>285</b>. If a selected destination is an application, the transmission module <b>306</b> updates the appropriate application object <b>190</b> in the application data store <b>270</b>. If a selected destination is to a member's wall, the transmission module <b>306</b> may send the shared content through a wall post channel <b>150</b> to the appropriate member, and the wall post generator <b>275</b> then creates a wall post containing the shared content. If a selected destination is an email to one or more members, the transmission module <b>306</b> may send the shared content through an email channel <b>145</b> to the appropriate members, and the email generator <b>255</b> then creates email messages for delivery to the members.
In addition to transmitting <b>414</b> the formatted content to the destinations, the transmission module <b>306</b> may also create an entry in the action log <b>195</b> indicating that the content has been shared by the user. The entry may include a timestamp, member, object, content description, and destinations associated with the sharing. The entry is created using the action logger <b>225</b>.
<figref idrefs="DRAWINGS">FIG. 7</figref> illustrates shared content on a profile page <b>700</b> of a member of the social networking website, in one embodiment. The data displayed on the profile page <b>700</b> is obtained from a member profile object <b>175</b> containing a reference to the shared content, in one embodiment. The shared content may have been transmitted <b>414</b> to the member profile object by the transmission module <b>306</b>. The profile page <b>700</b> includes a profile description <b>702</b>, which generally includes information about the member, such as the member's name, photo, birthday, and location. In the illustrated profile page <b>700</b>, the member's name is “Brian” and the member has chosen to share movie <b>508</b> on his profile page. He may have originally seen movie <b>508</b> on an external website <b>200</b> and shared it using the process described above, specifying his profile as a destination for the shared content. He may have also specified various parameters for the layout and display of the movie <b>508</b> on his profile page <b>700</b> using the formatting screen <b>612</b>.
The movie <b>508</b> is displayed on the profile page <b>700</b> along with related items <b>704</b>, <b>706</b>, <b>708</b>, <b>710</b>, and <b>712</b>. The related items include a notification <b>704</b> of the posting of the shared content. The information displayed in the notification <b>704</b> may be obtained from an entry in the action log <b>195</b> associated with the sharing of the content. Also included is a share control <b>706</b>. The share control <b>706</b> allows a user viewing the profile page <b>700</b> to share the content (e.g., the movie <b>308</b>) again, so that it is displayed elsewhere in the social networking website <b>100</b>. For example, a user may be viewing profile page <b>700</b> and desire to have a copy of the movie <b>508</b> appear on the user's profile page also. The share control <b>706</b> operates similarly to the website control <b>510</b> discussed above. It may cause a share request to be sent <b>402</b> to the formatting module <b>304</b> and a formatting screen <b>612</b> to be presented to the user. The formatting module can receive <b>408</b> parameters for sharing the content, and the content can then be transmitted <b>414</b> to specified additional destinations within the social networking website <b>100</b>.
A delete control <b>708</b> allows the member associated with the profile (e.g., “Brian”) to delete the shared content from the profile page <b>700</b>. The transmission module <b>306</b> may remove the movie <b>508</b> from the profile page <b>700</b> by removing a reference to the movie from the appropriate member profile object <b>175</b>. Site information <b>710</b> includes information about the origin of the shared content, such as a title and URL of the originating web page. This information may be stored by the transmission module <b>306</b> along with the shared content in the shared content store <b>290</b>. Comment <b>712</b> is a comment describing the shared content provided by the member that posted the shared content (e.g., “Brian” in this case). The comment <b>712</b> may be provided in comment box <b>608</b> of formatting screen <b>612</b>, received <b>408</b> as a formatting parameter, and stored along with the shared content in the shared content store <b>290</b>.
Once the shared content has been transmitted <b>414</b> to various destinations, the tracking module <b>308</b> tracks <b>416</b> shared content within the social networking website <b>100</b>. In one embodiment, the transmission module <b>306</b> notifies the tracking module <b>308</b> when the transmission module adds shared content to a destination in the social networking website <b>100</b>. The tracking module <b>308</b> keeps track of the destinations (e.g., profiles, walls, emails) associated with each piece of shared content. The tracking module <b>308</b> may maintain a tracking database in the shared content store <b>290</b> for this purpose. The tracking module <b>308</b> may also keep track of the re-sharing of content within the social networking website <b>100</b>, described above.
The tracking module <b>308</b> may update the shared content based on the status of the source of the shared content (e.g., a web page on the external website <b>200</b>). In one embodiment, the tracking module <b>308</b> periodically checks the source of the shared content to determine if the original copy of the content has been deleted or modified. In response to the original content being deleted or modified, the tracking module <b>308</b> may cause the transmission module <b>306</b> to delete or modify the shared copy of the content in the shared content store <b>290</b> and to update the various destinations referencing the shared content. The tracking module <b>308</b> may also keep track of the popularity of pieces of shared content and display an indication of this popularity with the pieces of shared content. The popularity is determined by the number of locations in the social networking website <b>100</b> where the content is shared, or by the number of users that view the shared content, for example. The popularity may also be determined by analyzing where the shared content is placed by various members. For example, content that is regularly placed in profile pages may be deemed more popular than content regularly placed on member walls.
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.
Contents5
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2011239135A1 | Cited by | United States of America | Pre-grant |
| CN103282937A | Cited by | China | Search report |
| US9456229B2 | Cited by | United States of America | Search report |
| US2014280566A1 | Cited by | United States of America | Pre-grant |
| US2009240771A1 | Cited by | United States of America | Pre-grant |
| US9485285B1 | Cited by | United States of America | Applicant |
| US2009171941A1 | Cited by | United States of America | Pre-grant |
| US9740690B2 | Cited by | United States of America | Applicant |
| US10117044B2 | Cited by | United States of America | Search report |
| US2015288782A1 | Cited by | United States of America | Pre-grant |
| US9992287B2 | Cited by | United States of America | Search report |
| US9213961B2 | Cited by | United States of America | Applicant |
| US2015065236A1 | Cited by | United States of America | Search report |
| US10007915B2 | Cited by | United States of America | Applicant |
| US2015089391A1 | Cited by | United States of America | Pre-grant |
| US10878041B2 | Cited by | United States of America | Applicant |
| US10643021B2 | Cited by | United States of America | Applicant |
| US9015170B2 | Cited by | United States of America | Applicant |
| US8352419B2 | Cited by | United States of America | Applicant |
| US2009193349A1 | Cited by | United States of America | Pre-grant |
| US2009327848A1 | Cited by | United States of America | Pre-grant |
| US2011258535A1 | Cited by | United States of America | Pre-grant |
| US2010228776A1 | Cited by | United States of America | Pre-grant |
| US9684431B2 | Cited by | United States of America | Search report |
| US9916582B2 | Cited by | United States of America | Applicant |
| US2009319577A1 | Cited by | United States of America | Pre-grant |
| US11284145B2 | Cited by | United States of America | Search report |
| US9705760B2 | Cited by | United States of America | Applicant |
| US2012330952A1 | Cited by | United States of America | Pre-grant |
| US2015039761A1 | Cited by | United States of America | Pre-grant |
| US11916860B2 | Cited by | United States of America | Applicant |
| US2010217794A1 | Cited by | United States of America | Pre-grant |
| US2014289316A1 | Cited by | United States of America | Pre-grant |
| US2010241972A1 | Cited by | United States of America | Pre-grant |
| US2013073623A1 | Cited by | United States of America | Pre-grant |
| US8327012B1 | Cited by | United States of America | Applicant |
| US8930459B2 | Cited by | United States of America | Applicant |
| US9741019B2 | Cited by | United States of America | Applicant |
| US2011239134A1 | Cited by | United States of America | Pre-grant |
| US8380801B2 | Cited by | United States of America | Search report |
| US9609182B1 | Cited by | United States of America | Applicant |
| US9483801B1 | Cited by | United States of America | Search report |
| US11330024B2 | Cited by | United States of America | Search report |
| US8959153B2 | Cited by | United States of America | Applicant |
| US9407595B2 | Cited by | United States of America | Applicant |
| US2015065236A1 | Cited by | United States of America | Pre-grant |
| US9208228B1 | Cited by | United States of America | Search report |
| US2012054813A1 | Cited by | United States of America | Pre-grant |
| US9355174B2 | Cited by | United States of America | Applicant |
| US9509654B1 | Cited by | United States of America | Search report |
| US9124761B2 | Cited by | United States of America | Search report |
| US8732802B2 | Cited by | United States of America | Applicant |
| US8392526B2 | Cited by | United States of America | Applicant |
| EP2706458A1 | Cited by | European Patent Office (EPO) | Search report |
| US2014365526A1 | Cited by | United States of America | Pre-grant |
| US8621019B2 | Cited by | United States of America | Search report |
| US9355384B2 | Cited by | United States of America | Applicant |
| US8972501B2 | Cited by | United States of America | Applicant |
| US9705835B2 | Cited by | United States of America | Search report |
| US9832181B2 | Cited by | United States of America | Applicant |
| US9507793B2 | Cited by | United States of America | Search report |
| US10534508B2 | Cited by | United States of America | Applicant |
| US9582567B2 | Cited by | United States of America | Search report |
| US10042823B2 | Cited by | United States of America | Applicant |
| US2015081788A1 | Cited by | United States of America | Pre-grant |
| US9594767B2 | Cited by | United States of America | Applicant |
| US2014278864A1 | Cited by | United States of America | Pre-grant |
| US9195522B2 | Cited by | United States of America | Search report |
| US9654534B2 | Cited by | United States of America | Applicant |
| US8412772B1 | Cited by | United States of America | Search report |
| US2013031162A1 | Cited by | United States of America | Pre-grant |
| US2008248819A1 | Cited by | United States of America | Pre-grant |
| US2013159429A1 | Cited by | United States of America | Pre-grant |
| US10650104B2 | Cited by | United States of America | Applicant |
| US2013198788A1 | Cited by | United States of America | Pre-grant |
| US11017411B2 | Cited by | United States of America | Applicant |
| US9973648B2 | Cited by | United States of America | Applicant |
| US11641382B2 | Cited by | United States of America | Applicant |
| US2017017366A1 | Cited by | United States of America | Search report |
| US9923899B2 | Cited by | United States of America | Applicant |
| US10666694B1 | Cited by | United States of America | Applicant |
| US2016219114A1 | Cited by | United States of America | Pre-grant |
| US2013124539A1 | Cited by | United States of America | Pre-grant |
| US9210232B2 | Cited by | United States of America | Search report |
| US2014198180A1 | Cited by | United States of America | Pre-grant |
| US2013282455A1 | Cited by | United States of America | Pre-grant |
| US2010192072A1 | Cited by | United States of America | Pre-grant |
| US10908787B2 | Cited by | United States of America | Search report |
| US8635248B2 | Cited by | United States of America | Search report |
| US9092533B1 | Cited by | United States of America | Search report |
| US2015180810A1 | Cited by | United States of America | Pre-grant |
| US2012011432A1 | Cited by | United States of America | Pre-grant |
| US2011314516A1 | Cited by | United States of America | Pre-grant |
| US2011161827A1 | Cited by | United States of America | Pre-grant |
| US8700719B1 | Cited by | United States of America | Search report |
| US10255227B2 | Cited by | United States of America | Applicant |
| JP2017505479A | Cited by | Japan | Search report |
| US9841282B2 | Cited by | United States of America | Applicant |
| US2014052795A1 | Cited by | United States of America | Pre-grant |
| US9240010B2 | Cited by | United States of America | Applicant |
5 members in 2 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 68207 | United States of America | P | |
| 25925408 | United States of America | A | |
| 61000682 | – | – | – |
| US20070000682P | – | – | – |
| US20080259254 | – | – | – |
Members5
| Document | Office | Kind | |
|---|---|---|---|
| WO2009055825A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2009144392A1 | United States of America | A1 | |
| US9602605B2 | United States of America | B2 | |
| US2017149727A1 | United States of America | A1 | |
| US10284512B2 | United States of America | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2009144392
- Publication, EPODOC
- US2009144392
- Application
- 12259254
- Application, DOCDB
- 25925408
- Application, EPODOC
- US20080259254
Titles
- English
- Sharing Digital Content On A Social Network
Classification
- CPC, 4
- G06Q10/10
- H04L51/52
- H04L67/306
- H04L67/535
- IPC, 1
- G06F15 16
- USPC, 1
- 709217000