U.S. patent application number 12/916271 was filed with the patent office on 2012-05-03 for method and apparatus for granting rights for content on a network service.
This patent application is currently assigned to Nokia Corporation. Invention is credited to Guido Peter Grassel, Niko Kiukkonen.
Application Number | 20120110642 12/916271 |
Document ID | / |
Family ID | 45993218 |
Filed Date | 2012-05-03 |
United States Patent
Application |
20120110642 |
Kind Code |
A1 |
Grassel; Guido Peter ; et
al. |
May 3, 2012 |
METHOD AND APPARATUS FOR GRANTING RIGHTS FOR CONTENT ON A NETWORK
SERVICE
Abstract
Techniques for granting rights for content on a social network
to multiple users include determining first data. It is also
determined to associate a first user identifier and at least a
second user identifier with the first data. It is further
determined to grant a right for the first data to a first user
identified by the first user identifier and at least a second user
identified by the second user identifier.
Inventors: |
Grassel; Guido Peter;
(Espoo, FI) ; Kiukkonen; Niko; (Veikkola,
FI) |
Assignee: |
Nokia Corporation
Espoo
FI
|
Family ID: |
45993218 |
Appl. No.: |
12/916271 |
Filed: |
October 29, 2010 |
Current U.S.
Class: |
726/4 ;
726/7 |
Current CPC
Class: |
G06Q 10/101 20130101;
G06F 21/604 20130101; H04L 63/10 20130101; G06F 21/10 20130101;
H04L 51/32 20130101; H04L 67/02 20130101; G06Q 50/01 20130101; G06F
2221/0713 20130101; G06Q 50/184 20130101 |
Class at
Publication: |
726/4 ;
726/7 |
International
Class: |
H04L 9/32 20060101
H04L009/32; G06F 15/16 20060101 G06F015/16; G06F 21/00 20060101
G06F021/00 |
Claims
1. A method comprising: determining first data; determining to
associate a first user identifier and at least a second user
identifier with the first data; and determining to grant a right
for the first data to a first user identified by the first user
identifier and at least a second user identified by the second user
identifier.
2. A method of claim 1, wherein the right includes a right to
remove the first data from the service.
3. A method of claim 1, wherein determining the first user
identifier and the second user identifier further comprises
determining that the first user identifier and the second user
identifier are members of a predefined group of user identifiers on
a service.
4. A method of claim 1, wherein determining the first user
identifier and the second user identifier further comprises
determining that a first device associated with the first user
identifier and a second device associated with the second user
identifier are within a predetermined distance of each other.
5. A method of claim 1, wherein determining the first user
identifier and the second user identifier further comprises
determining that a first device associated with the first user
identifier and a second device associated with the second user
identifier are in local radio communication.
6. A method of claim 1, wherein determining to grant the right for
the first data further comprises determining to send data that
indicates the right for the first data and the second user
identifier to a service.
7. A method of claim 1, wherein determining to grant the right for
the first data further comprises: receiving data that indicates the
right for the first data from a service; and, determining to send
data that indicates the right for the first data to a device
associated with the second user identifier.
8. A method of claim 6, wherein determining to send data that
indicates the right for the first data and the second user
identifier to the service further comprises determining to send
credentials that authenticate the first user identifier at the
service.
9. A method of claim 1, further comprising receiving data that
indicates a right in second data at the service in association with
a third user identifier.
10. A method of claim 9, further comprising determining to send
data that indicates exercise of the right in the second data to the
service.
11. A method comprising: receiving a first user identifier
associated with first data; determining to present the first data
in association with the first user identifier; receiving data that
indicates a different second user identifier and exercise of a
right for the first data; determining whether the second user has
the right for the first data; and if the second user has the right
for the first data, then determining to operate on the first data
based on the right.
12. A method of claim 11, wherein the right includes a right to
remove presentation of the first data.
13. A method of claim 11, wherein: receiving the first user
identifier associated with the first data further comprises
receiving the second user identifier associated with the first
data; and determining whether the second user has the right for the
first data further comprises authenticating the second user
identifier.
14. A method of claim 11, wherein: the method further comprises
determining to send second data that indicates the right to a
device associated with the first user identifier; and determining
whether the second user has the right for the first data further
comprises determining whether the data that indicates the second
user identifier and exercise of the right further indicates the
second data.
15. A method of claim 11, further comprising if the second user has
the right for the first data, then determining to present the first
data in association with the second user identifier.
16. An apparatus comprising: at least one processor; and at least
one memory including computer program code for one or more
programs, the at least one memory and the computer program code
configured to, with the at least one processor, cause the apparatus
to perform at least the following, determine a first user
identifier and a second user identifier associated with first data,
wherein the first user identifier and the second user identifier
identify users of a service available over a communications
network; determine to send the first data in association with the
first user identifier to the service for presentation of the first
data in association with the first user identifier; and determine
to grant a right for the first data at the service to both users
identified by the first user identifier and the second user
identifier.
17. An apparatus of claim 16, wherein to determine the first user
identifier and the second user identifier further comprises
determining that the apparatus and a second apparatus associated
with the second user identifier are in local radio
communication.
18. An apparatus of claim 16, wherein the apparatus is a mobile
phone further comprising: user interface circuitry and user
interface software configured to facilitate user control of at
least some functions of the mobile phone through use of a display
and configured to respond to user input; and a display and display
circuitry configured to display at least a portion of a user
interface of the mobile phone, the display and display circuitry
configured to facilitate user control of at least some functions of
the mobile phone.
19. An apparatus comprising: at least one processor; and at least
one memory including computer program code for one or more
programs, the at least one memory and the computer program code
configured to, with the at least one processor, cause the apparatus
to perform at least the following, receive a first user identifier
associated with first data; determine to present the first data in
association with the first user identifier; receive data that
indicates a different second user identifier and exercise of a
right for the first data; determine whether the second user has the
right for the first data; and determine to operate on the first
data based on the right if the second user has the right for the
first data.
20. An apparatus of claim 19, wherein: to receive the first user
identifier associated with the first data further comprises to
receive the second user identifier associated with the first data;
and to determine whether the second user has the right for the
first data further comprises to authenticate the second user
identifier.
21.-36. (canceled)
Description
BACKGROUND
[0001] Service providers and device manufacturers (e.g., wireless,
cellular, etc.) are continually challenged to deliver value and
convenience to consumers by, for example, providing compelling
network services. A popular type of network service is a social
network which allows multiple users to share content provided by
one or more of the users. Often the shared content reflects on the
behavior of persons other than the user who uploaded the content to
the service. While a person who uploaded the content can often copy
it, remove it from the service, or exercise other rights of
ownership, other persons whose behavior is reflected may be unable
to do so.
SOME EXAMPLE EMBODIMENTS
[0002] Therefore, there is a need for an approach for granting, to
multiple users, ownership rights for content on a network service,
such as a social network service.
[0003] According to one embodiment, a method comprises determining
first data. The method further comprises determining to associate a
first user identifier and at least a second user identifier with
the first data. The method further comprises determining to grant a
right for the first data to a first user identified by the first
user identifier and at least a second user identified by the second
user identifier.
[0004] According to another embodiment, a method comprises
receiving a first user identifier associated with first data; and
determining to present the first data in association with the first
user identifier. The method further comprises receiving data that
indicates a different second user identifier and exercise of a
right for the first data. The method further comprises determining
whether the second user has the right for the first data. The
method further comprises determining to operate on the first data
based on the right, if the second user has the right for the first
data.
[0005] According to another embodiment, a method comprises
facilitating access to at least one interface configured to allow
access to at least one service, the at least one service configured
to perform all or part of the above methods.
[0006] According to another embodiment, an apparatus comprises at
least one processor, and at least one memory including computer
program code, the at least one memory and the computer program code
configured to, with the at least one processor, cause, at least in
part, the apparatus to perform all or part of the above
methods.
[0007] According to another embodiment, a computer-readable storage
medium carries one or more sequences of one or more instructions
which, when executed by one or more processors, cause, at least in
part, an apparatus to perform all or part of the above methods.
[0008] According to another embodiment, an apparatus comprises
means for performing all or part of the above methods.
[0009] Still other aspects, features, and advantages of the
invention are readily apparent from the following detailed
description, simply by illustrating a number of particular
embodiments and implementations, including the best mode
contemplated for carrying out the invention. The invention is also
capable of other and different embodiments, and its several details
can be modified in various obvious respects, all without departing
from the spirit and scope of the invention. Accordingly, the
drawings and description are to be regarded as illustrative in
nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The embodiments of the invention are illustrated by way of
example, and not by way of limitation, in the figures of the
accompanying drawings:
[0011] FIG. 1 is a diagram of a system capable of granting
ownership rights for content posted at a service, according to one
embodiment;
[0012] FIG. 2A is a diagram of a data structure for tracking nearby
service subscribers, according to one embodiment;
[0013] FIG. 2B is a diagram of a data structure for content posted
by service users, according to one embodiment;
[0014] FIG. 3 is a diagram of a message for exercising ownership
rights in posted content, according to one embodiment;
[0015] FIG. 4 is a flowchart of a process on user equipment for
granting ownership rights, according to one embodiment;
[0016] FIG. 5 is a flowchart of a process at a network service for
granting ownership rights, according to one embodiment;
[0017] FIGS. 6A-6C are time sequence diagrams of messages to grant
and exercise ownership rights in content posted at a service,
according to various embodiments;
[0018] FIGS. 7A-7D are diagrams of user interfaces utilized in the
processes of FIG. 4, according to various embodiments;
[0019] FIG. 8 is a diagram of hardware that can be used to
implement an embodiment of the invention;
[0020] FIG. 9 is a diagram of a chip set that can be used to
implement an embodiment of the invention; and
[0021] FIG. 10 is a diagram of a mobile terminal (e.g., handset)
that can be used to implement an embodiment of the invention.
DESCRIPTION OF SOME EMBODIMENTS
[0022] Examples of a method, apparatus, and computer program are
disclosed for granting to multiple users rights (e.g., an ownership
right, an access right, a use right, or other rights) for content
on a service. In the following description, for the purposes of
explanation, numerous specific details are set forth in order to
provide a thorough understanding of the embodiments of the
invention. It is apparent, however, to one skilled in the art that
the embodiments of the invention may be practiced without these
specific details or with an equivalent arrangement. In other
instances, well-known structures and devices are shown in block
diagram form in order to avoid unnecessarily obscuring the
embodiments of the invention.
[0023] As used herein content refers to any data that can be
generated, acquired or communicated over a network, including text,
images, documents, spreadsheets, audio, video, application data,
game data, maps, drawings, among others. Posting refers to any
process for making content available for viewing by others on user
equipment or other devices in communication over a network. In some
contexts, post or posting is used as a noun to refer to the content
posted. A user refers to an entity (e.g., person or organization)
who operates user equipment in communication with a communications
network. A subscriber refers to a user who has registered with a
service available through the network. A contact refers to a
different user with whom the user communicates over the network,
such as another subscriber of the same service as indicated in a
contacts list associated with a subscriber in a subscriber profile
data structure.
[0024] Although various embodiments are described with respect to
granting to multiple users rights to delete content posted on a
social network, it is contemplated that the approach described
herein may be used with other ownership rights, such as copying,
tagging, commenting, distributing and excluding others from using
content on social network services or other services available
through a communications network, such as an electronic mail
service or a database service.
[0025] FIG. 1 is a diagram of a system 100 capable of granting
ownership rights for content posted at a service, according to one
embodiment. Client processes 117a through 117m (collectively
referenced hereinafter as clients 117) on corresponding user
equipment (UE) 101a through 101m (collectively referenced
hereinafter as user equipment, UE 101) of corresponding multiple
users are in communication with service 110 through communication
network 105. Information about the subscribers of service 110 is
stored in data store data structure 114, and includes any content
posted by those subscribers in user posts data structure 118. Often
the content in user posts 118 reflects on the behavior of persons
(e.g., User A of UE 101a) other than the subscriber (e.g., User M
of UE 101m) who uploaded the content to the service 110. While User
M who uploaded the content can often copy it, remove it from the
service, or exercise other rights of ownership, User A whose
behavior is reflected may be unable to do so. For example, an image
posted by User M in user posts data structure 118, and available to
at least some other subscribers of service 110, may depict User M
and User A drinking at a bar. However, User A may know another
subscriber, User X, of service 110 who has access to the posted
image and who is avoiding alcohol use with User A's support. User A
would like to remove the image from the user posts data structure
118. However, because User A did not post the image, the service
110 gives User A no right to remove the image.
[0026] To address this problem, the system 100 of FIG. 1 introduces
the capability to grant, to multiple users, rights for content
posted at a service. Although various embodiments are discussed
with respect to ownership rights, it is contemplated that system
100 is applicable to any rights available with respect to content
(e.g., an access right, a use right, etc.). Each of the clients 117
includes an owner rights client module 152 that determines multiple
subscribers who are given ownership rights. The service 110
includes an owner rights service module 150 that honors those
extended ownership rights for subscribers who did not post the
content. The ownership rights include, copying the content to the
subscriber's posts, excluding a particular subscriber from
accessing or copying the content, removing the content from the
subscriber's posts, adding links or comments or tags of the
subscriber to the post, removing links or comments or tags of the
subscriber from the post, removing the content from the posts of
one or more or all other users, removing links or comments or tags
of others from the post, among other rights, alone or in some
combination. Thus, the ownership right includes a right to remove
first data (content) from the service.
[0027] As shown in FIG. 1, the system 100 comprises user equipment
(UE) 101 having connectivity to service 110 via a communication
network 105. By way of example, the communication network 105 of
system 100 includes one or more networks such as a data network
(not shown), a wireless network (not shown), a telephony network
(not shown), or any combination thereof. It is contemplated that
the data network may be any local area network (LAN), metropolitan
area network (MAN), wide area network (WAN), a public data network
(e.g., the Internet), short range wireless network, or any other
suitable packet-switched network, such as a commercially owned,
proprietary packet-switched network, e.g., a proprietary cable or
fiber-optic network, and the like, or any combination thereof. In
addition, the wireless network may be, for example, a cellular
network and may employ various technologies including enhanced data
rates for global evolution (EDGE), general packet radio service
(GPRS), global system for mobile communications (GSM), Internet
protocol multimedia subsystem (IMS), universal mobile
telecommunications system (UMTS), etc., as well as any other
suitable wireless medium, e.g., worldwide interoperability for
microwave access (WiMAX), Long Term Evolution (LTE) networks, code
division multiple access (CDMA), wideband code division multiple
access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN),
Bluetooth.RTM., Internet Protocol (IP) data casting, satellite,
mobile ad-hoc network (MANET), and the like, or any combination
thereof.
[0028] The UE 101 is any type of mobile terminal, fixed terminal,
or portable terminal including a mobile handset, station, unit,
device, multimedia computer, multimedia tablet, Internet node,
communicator, desktop computer, laptop computer, notebook computer,
netbook computer, tablet computer, personal communication system
(PCS) device, personal navigation device, personal digital
assistants (PDAs), audio/video player, digital camera/camcorder,
positioning device, television receiver, radio broadcast receiver,
electronic book device, game device, or any combination thereof,
including the accessories and peripherals of these devices, or any
combination thereof. It is also contemplated that the UE 101 can
support any type of interface to the user (such as "wearable"
circuitry, etc.).
[0029] In some embodiments, one or more of the UE 101 include
context engines 103 that determine the current environment of the
UE 101, such as a device identifier, installed equipment, current
time, current connectivity to network 105 including signal strength
and noise levels, power levels, and processes currently executing.
In some embodiments, the context engine 103 includes a local
communications module 104, which determines and communicates with
other user equipment within local communication by virtue of
sufficiently close spatial proximity. For example, as depicted in
FIG. 1, mobile UE 101a and mobile UE 101m are in local
communication through the local communications module 104, as
indicated by the double-headed zig-zag arrow between them.
[0030] By way of example, the UE 101 and service 110 communicate
with each other and other components of the communication network
105 using well known, new or still developing protocols. In this
context, a protocol includes a set of rules defining how the
network nodes within the communication network 105 interact with
each other based on information sent over the communication links.
The protocols are effective at different layers of operation within
each node, from generating and receiving physical signals of
various types, to selecting a link for transferring those signals,
to the format of information indicated by those signals, to
identifying which software application executing on a computer
system sends or receives the information. The conceptually
different layers of protocols for exchanging information over a
network are described in the Open Systems Interconnection (OSI)
Reference Model.
[0031] Communications between the network nodes are typically
effected by exchanging discrete packets of data. Each packet
typically comprises (1) header information associated with a
particular protocol, and (2) payload information that follows the
header information and contains information that may be processed
independently of that particular protocol. In some protocols, the
packet includes (3) trailer information following the payload and
indicating the end of the payload information. The header includes
information such as the source of the packet, its destination, the
length of the payload, and other properties used by the protocol.
Often, the data in the payload for the particular protocol includes
a header and payload for a different protocol associated with a
different, higher layer of the OSI Reference Model. The header for
a particular protocol typically indicates a type for the next
protocol contained in its payload. The higher layer protocol is
said to be encapsulated in the lower layer protocol. The headers
included in a packet traversing multiple heterogeneous networks,
such as the Internet, typically include a physical (layer 1)
header, a data-link (layer 2) header, an internetwork (layer 3)
header and a transport (layer 4) header, and various application
headers (layer 5, layer 6 and layer 7) as defined by the OSI
Reference Model.
[0032] Processes executing on various devices, often communicate
using the client-server model of network communications, widely
known and used. According to the client-server model, a client
process sends a message including a request to a server process,
and the server process responds by providing a service. The server
process may also return a message with a response to the client
process. Often the client process and server process execute on
different computer devices, called hosts, and communicate via a
network using one or more protocols for network communications. The
term "server" is conventionally used to refer to the process that
provides the service, or the host on which the process operates.
Similarly, the term "client" is conventionally used to refer to the
process that makes the request, or the host on which the process
operates. As used herein, the terms "client" and "server" and
"service" refer to the processes, rather than the hosts, unless
otherwise clear from the context. In addition, the process
performed by a server can be broken up to run as multiple processes
on multiple hosts (sometimes called tiers) for reasons that include
reliability, scalability, and redundancy, among others. A well
known client process available on most devices (called nodes)
connected to a communications network is a World Wide Web client
(called a "web browser," or simply "browser") that interacts
through messages formatted according to the hypertext transfer
protocol (HTTP) with any of a large number of servers called World
Wide Web (WWW) servers that provide web pages. As depicted in FIG.
1, the UEs 101 include browsers 107.
[0033] Although processes and data structures of system 100 are
depicted as integral blocks arranged on particular nodes connected
to network 105 for purposes of illustration, in other embodiments,
one or more processes or data structures or portions thereof are
arranged in a different way or in one or more databases on the same
or different nodes, or one or more other processes or data
structures are included, or the system is changed in some
combination of ways. Thus, it is contemplated that the functions of
these components may be combined in one or more components or
performed by other components of equivalent functionality. For
example, in some embodiments, the service 110 interacts with a user
of UE 101 through a browser 107 and client 117 is omitted. In such
embodiments, the owner rights client module 152 is embedded in a
web page presented by browser 107, and thus inside browser 107.
[0034] In some embodiments, ownership rights are granted to one or
more subscribers in local communication with the subscriber who
posts content to the service. FIG. 2A is a diagram of a local
devices data structure 200 for tracking nearby social network
users, according to one embodiment. In some embodiments, one or
more fields of data structure 200 are included in owner rights
client module 152 or context engine 103 or both. In some
embodiments that do not grant ownership rights based on such local
communications, local device data structure 200 is omitted.
[0035] Although data structures, messages and fields are depicted
in FIG. 2A, and in subsequent diagrams in FIG. 2B and FIG. 3, as
integral blocks arranged in a particular order for purposes of
illustration, in other embodiments, one or more messages or data
structures or fields or portions thereof are arranged in a
different order or in one or more databases on the same or
different nodes, or one or more other fields are included, or the
data structure or message is changed in some combination of
ways.
[0036] The local devices data structure 200 includes a device entry
field 210 for each device detected to be in local communications,
e.g., direct radio contact, or in mutual radio contact with a
common wireless fidelity (WiFi) access point or cellular base
station, by the local communications module 104. Other fields 210,
if any, are indicated by ellipsis. Each device entry field 210
includes a device identifier (ID) field 212, and, for one or more
services for which a user of the device is a subscriber, a service
identifier (ID) field 214, a user identifier field 216 and a
contact flag field 218. Fields 214, 216 and 218 for other services
are indicated by ellipsis.
[0037] The device ID field 212 holds data that uniquely indicates a
different mobile UE 101 that is in direct (e.g., near-field)
communication with the local UE 101 on which resides the data
structure 200. For purposes of illustration, it is assumed that
local devices data structure 200 is on local UE 101m that is in
local communication with different UE 101a. In such circumstances,
device ID field 212 holds data that uniquely identifies different
UE 101a, such as a Media Access Control (MAC) number for the
different UE 101a, a Mobile Subscriber Integrated Services Digital
Network Number (MSISDN), a 64 bit International Mobile Subscriber
Identity (IMSI), among others, alone or in some combination.
[0038] The service ID field 214 holds data that uniquely indicates
a service (e.g., service 110) to which a user of the different UE
101a is a subscriber, among all other services available over the
communications network 105. For example, the service ID field 214
holds data that indicates a universal resource identifier (URI) for
the service 110.
[0039] The user ID field 216 holds data that indicates the
subscriber identifier for the user of the different UE 101a
indicated in field 212 at the service indicated in field 214. For
purposes of illustration, it is assumed that User A of UE 101a has
a user ID of "Alice123" at service 110; therefore, user ID field
216 holds data that indicates "Alice123."
[0040] The contact flag field 218 holds data that indicates whether
the user ID indicated in field 216 is a contact of the user of the
local UE 101m at the service indicated in field 214. For example,
if User M of the local UE 101m is a subscriber of service 110 and
includes Alice123 among the contacts in User M's profile at service
110, then contact ID flag field 218 indicates that the other user
is a contact, e.g., indicates the logical value "TRUE." However, if
User M of the local UE 101m is a subscriber of service 110 but does
not include Alice123 among the contacts in User M's profile at
service 110, or if User M is not a subscriber to service 110, then
contact ID flag field 218 indicates that the other user is a not a
contact, e.g., indicates the logical value "FALSE."
[0041] The device entry field 210 is an example means of achieving
the advantage of tracking contacts of a user who are in local
communication with the user's UE 101. In some embodiments, one or
more such contacts are given ownership rights automatically in
content posted by the user, as described in more detail below.
Granting ownership rights to such contacts is an example means of
automatically identifying other subscribers whose behavior may be
reflected in content posted by the user.
[0042] FIG. 2B is a diagram of a user posts data structure 250 for
content posted by service users, according to one embodiment. User
posts data structure 250 is a particular embodiment of user posts
data structure 118 depicted in FIG. 1. The user posts data
structure 250 includes a post entry field 260 for each post
provided by a user of the service. Other posts by the same or
different user are indicated by ellipsis. In the illustrated
embodiment, each post entry field 260 includes an item identifier
(ID) field 262, a user identifier (ID) field, an owner's secret
field 266, one or more owner rights user identifier (ID) fields 268
and ellipsis, a posted content field 270, and a comments/tags field
272.
[0043] The item ID field 262 holds data that uniquely indicates a
particular post among all other posts to the same service, e.g.,
service 110. For example, each new post is given a next number in a
sequence of numbers. In some embodiments, the item ID of a deleted
post is returned as the next or other number of the sequence of
numbers.
[0044] The user ID field 264 holds data that uniquely indicates a
subscriber to the service, e.g., to service 110, who provided the
content for the post indicated in item ID field 262. For purpose of
illustration, it is assumed that User M provided an image as
content for item ID 1234567 and that User M has a user ID at
service 110 of "Myself789." In this circumstance, field 262
indicates 1234567 and field 264 indicates "Myself789."
[0045] The owner's secret field 266 holds data that is shared
between the service and the subscriber identified in field 264 and
called the owner's secret. In some embodiments, the data is
exchanged with the subscriber identified in field 264 using
encryption to maintain the data as a secret during open
communications; but, in other embodiments, encryption is not used
even though the data is referred to as the owner's secret for
convenience. In some embodiments, the owner's secret is used to
allow a subscriber who bears the secret to exercise one or more
rights of an owner on the content of the post, as described in more
detail below. In some embodiments, the owner's secret field 266
includes different secrets for different ownership rights, e.g.,
one secret value for copying rights and a different secret value
for removal rights. The owner's secret field is an example means of
achieving the advantage of granting ownership rights to multiple
users, because any subscriber who presents the owner's secret is
allowed to exercise the corresponding ownership right. The
subscriber identified in field 264 is enabled to distribute the
owner's secret to other subscribers, as explained in more detail
below with reference to FIG. 4. In some embodiments, an owner's
secret is not used and field 266 is omitted.
[0046] The owner rights user ID field 268 holds data that indicates
a subscriber who is different from the one indicated in field 264,
and who has been granted ownership rights. In some embodiments the
subscriber indicated in field 268 is granted all rights of
ownership. In some embodiments, only some rights of ownership are
granted; and, in some of these embodiments, the ownership rights
granted are indicated in the field 268 along with the user ID of
the subscriber. For example, if User M wishes to grant ownership
rights to User A, whose user ID at service 110 is "Alice123," then
data indicating "Alice123" is included in field 268. Other
subscribers who are granted ownership rights in the content of the
current post are indicated in subsequent fields 268 indicated by
ellipsis. A bona fide message from User A to operate on the content
of the current post is granted based on User A's user ID being
present in one of the fields 268, as explained in more detail below
with reference to FIG. 5. The owner rights user ID field 268 is an
example means of achieving the advantage of granting ownership
rights to multiple users, because any subscriber whose user ID
appears in one of the fields 268 is allowed to exercise the
corresponding ownership right. In some embodiments that include
fields 268, secret field 266 is omitted. In some embodiments that
include owner's secret field 266, owner rights user ID fields 268
are omitted.
[0047] The posted content field 270 holds data that indicates the
content that has been posted to the service for presentation in
association with the subscriber indicated in field 264, e.g., an
image of User A and User M at a bar which is to be presented by the
service 110 in association with "Myself789."
[0048] The comments/tags field 272 holds data that indicates the
comments or tags or links, or some combination, if any, associated
with the content by the subscriber indicated in field 264 and any
other subscriber with the right to insert comments or tags or
links. Each comment or tag or link is associated with the
subscriber who provided it.
[0049] FIG. 3 is a diagram of a message 300 for exercising
ownership rights in posted content, according to one embodiment.
The exercise owner rights message 300 includes a user credentials
field 302, an item ID field 304, an owner's secret field 306 and an
operation field 308.
[0050] The user credentials field 302 holds data that authenticates
a subscriber to the service 110 who wishes to exercise an ownership
right granted by another subscriber. For example, the user
credentials field 302 holds data that indicates a token issued by
an authentication service. In some embodiments, the user
credentials field 302 includes a user identifier (ID) field 303
that holds data that indicates the user ID of a subscriber at the
service 110. In some embodiments, the user credentials field 302
includes the user identifier (ID) field 303 and a password field
used to authenticate the subscriber at the service. For example,
when User A wants to exercise ownership rights over the post by
User M, message 300 is sent by User A. In this example, the user
credentials field 302 holds data that indicates the user ID
"Alice123" of User A in field 303 and a password used to
authenticate User A at service 110.
[0051] The item ID field 304 holds data that uniquely identifies an
individual post on the service over which an ownership right is to
be exercised. For example, item ID field 304 holds data that
indicates the item ID 1234567 for the post of the image of User A
and user M at a bar.
[0052] The owner's secret field 306 holds data that indicates the
value in the owner's secret field 266 for the associated post. In
embodiments that omit field 266, field 306 is also omitted.
[0053] The operation field 308 holds data that indicates an
operation on the content that is allowed by the ownership rights
granted to the use who sends the message 300. For example, in
various embodiments, the operation indicates copying the content to
the sending subscriber's page, adding a link to the post to the
sending subscriber's page, adding a tag or link indicating another
subscriber into field 272, deleting a comment or tag or link by
another from field 272 of the post, deleting the post content field
270, or deleting the post entry field 260, among others.
[0054] FIG. 4 is a flowchart of a process 400 on user equipment for
granting ownership rights, according to one embodiment. In one
embodiment, the client 117 and owner rights client module 152
performs the process 400 and are implemented in, for instance, a
chip set including a processor and a memory as shown in FIG. 9 or
mobile terminal as depicted in FIG. 10. Although steps are shown in
FIG. 4, and subsequent flow chart FIG. 5, as integral blocks in a
particular order for purposes of illustration, in other embodiments
one or more steps, or portions thereof, are performed in a
different order, or overlapping in time, in series or in parallel,
or are omitted, or one or more additional steps are included, or
the process is changed in some combination of ways.
[0055] In step 401, the client 117 connects to the service 110 and
downloads the user profile for the user of the UE 101 on which the
client 117 executes, called the local user hereinafter. The user
profile includes user IDs for any subscribers of service 110 who
are contacts of the local user, and any groups of contacts that
have previously been defined by the local user, such as a group of
family members, a group of work colleagues, a group of former
classmates, etc. who are subscribers to the service 110. In some
embodiments, step 401 includes providing credentials of the local
user for authentication by the service, e.g., receiving a manually
input password in response to a prompt and sending the local user's
user ID and password to the service 110. For purpose of
illustration, it is assumed that process 400 executes on UE 101m of
User M, who is the local user; and, User M's profile and contacts
and groups, if any, are received during step 401, including User
M's user ID "Myself789." During step 401 an application user
interface (UI) is presented to the local user by the client 117 of
service 110, as described with reference to FIG. 7A.
[0056] FIGS. 7A-7D are diagrams of user interfaces utilized in the
processes of FIG. 4, according to various embodiments. FIG. 7A is a
diagram that illustrates an example screen 701 presented at UE 101.
The screen 701 includes a device toolbar 710 portion of a display,
which includes zero or more active areas. As is well known, an
active area is a portion of a display to which a user can point
using a pointing device (such as a cursor and cursor movement
device, or a touch screen) to cause an action to be initiated by
the device that includes the display. Well known forms of active
areas are stand alone buttons, radio buttons, check lists, pull
down menus, scrolling lists, and text boxes, among others. Although
areas, active areas, windows and tool bars are depicted in FIG. 7A
through FIG. 7D as integral blocks in a particular arrangement on
particular screens for purposes of illustration, in other
embodiments, one or more screens, windows or active areas, or
portions thereof, are arranged in a different order, are of
different types, or one or more are omitted, or additional areas
are included or the user interfaces are changed in some combination
of ways.
[0057] For purposes of illustration, it is assumed that the device
toolbar 710 includes active areas 711, 713, 715a and 715b. The
active area 711 is activated by a user to display applications
installed on the UE 101 which can be launched to begin executing,
such as an email application or a video player or the client 117 of
service 110. The active area 713 is activated by a user to display
current context of the UE 101, such as current date and time and
location and signal strength. In some embodiments, the active area
713 is a thumbnail that depicts the current time, or signal
strength for a mobile terminal, or both, that expands when
activated. The active area 715a is activated by a user to display
tools built-in to the UE, such as camera, alarm clock, automatic
dialer, telephone contact list, GPS, and web browser. The active
area 715b is activated by a user to display contents stored on the
UE, such as pictures, videos, music, voice memos, etc.
[0058] The screen 701 also includes an application user interface
(UI) area 720 in which the data displayed is controlled by a client
117 or a browser 107 in response to service 110 after user
credentials have been entered in response to a prompt for such
credentials, like a username and password. According to some
embodiments, the application UI area 720 includes an ENTER CONTENT
button 721, a GRANT OWNERSHIP RIGHTS button 722 and a CLOSE button
724. If the user activates the CLOSE button 724, the application UI
area 720 is closed.
[0059] If the user activates the ENTER CONTENT button 721, the user
is prompted to enter or select content to be posted to the service.
Any method may be used to generate the content, such as presenting
a UI that includes a browse button for searching for extant content
on the UE 101, or a text box to enter text, or a camera to take an
image or video, etc. If the user activates the GRANT OWNERSHIP
RIGHTS button 722, the user is presented with or prompted to enter
or select one or more contacts of the user at the service 110 to
whom one or more ownership rights are to be granted.
[0060] Returning to FIG. 4, in step 403, selected service users
(subscribers) of service 110 who are to be associated with and
given ownership rights in the next content posted at the service
110 by the local user are determined. Any method may be used to
determine the selected subscribers of service 110. In some
embodiments, the selected subscribers are determined based on input
from the local user identifying the selected subscribers one by one
from a list of the local user's contacts. In some embodiments, the
selected subscribers are determined based on input from the local
user identifying one of the predefined groups of contacts, such as
colleagues or family as described in more detail below with
reference to FIG. 7B. In some embodiments, the predefined groups
are dynamically determined, e.g., the subscriber contacts who are
in the spatial vicinity or in local communication. Thus step 403
includes determining a first user identifier and a second user
identifier associated with first data (content), wherein the first
user identifier and the second user identifier identify users of a
service available over a communications network. Furthermore, in
some embodiments, determining the first user identifier and the
second user identifier further comprises determining that the first
user identifier and the second user identifier are members of a
predefined group of user identifiers on the service. As indicated
above, in some embodiments, determining the first user identifier
and the second user identifier further comprises determining that a
first device associated with the first user identifier and a second
device associated with the second user identifier are within a
predetermined distance of each other.
[0061] FIG. 7B is a diagram that illustrates an example screen 702
presented at UE 101 to present the user contacts after activating
the GRANT OWNERSHIP RIGHTS button 722. Screen 702 includes the
device toolbar 710 portion, application UI 720 and buttons 721,
722, 724, as described above. In screen 702, the application UI
area 720 includes a contact groups listing area 726 with a
scrollbar to move into view contact groups that are too numerous to
display in area 726 at one time. The contact groups listing area
726 presents all the contact groups of the user at service 110,
including references to groups with dynamically determined
memberships.
[0062] In some embodiments, the selected subscribers are determined
based on input from the local user identifying the selected
subscribers from a list of the local user's contacts who are in a
spatial vicinity of the local user, as determined by the current
position of the local user and the contacts; and, in some
embodiments all the local user's contacts in the spatial vicinity
are automatically selected. In some embodiments, the selected
subscribers are determined based on input from the local user
identifying the selected subscribers from a list of the local
user's contacts who are in a similar context as the local user, as
determined by the context engines of the local user and the
contacts as reported to the service; and, in some embodiments all
the local user's contacts in the similar context are automatically
selected.
[0063] In an illustrated embodiment, the selected subscribers are
determined based on input from the local user identifying the
selected subscribers from a list of the local user's contacts whose
UE 101 are in local communication with the local user's UE 101m,
e.g., as determined by the local communications module 104; and, in
some embodiments all the local user's contacts in local
communication are automatically selected. Referring again to FIG.
4, in such embodiments, step 403 includes one or more of steps 411
through 419. Including one or more of the local user's contacts
whose UE are in local communication is an example means of
achieving the advantage of automatically selecting contacts who are
likely to be included in the subject matter of the local user's
status update posts (SUP), whether text, image, audio, video, or
other content, and who therefore deserve some ownership rights.
[0064] In step 411, devices in direct or other local communication
are determined, e.g., using local communications modules 104 on
those UE 101. For purposes of illustration it is assumed that UE
101a inclusive through UE 101m exclusive are in local communication
with UE 101m of User M and their device IDs are determined during
step 411. However, the device IDs of these UE 101 are not the same
as the user IDs at the service 110 for the users of these devices.
Therefore, the next steps determine the user IDs of the users of
these UE 101 in direct or other local communication.
[0065] In step 413, the user ID of the local user for service 110
is broadcast to the other UE 101 in direct or other local
communication, e.g., through the local communications module 104 on
UE 101m. For example, the URI of service 110 and the user ID
"Myself789" are periodically broadcast to the UE 101 in direct or
other local communication, e.g., once every five minutes.
Similarly, each of these UE 101 also broadcast the services and
service user IDs for the services to which their users subscribe.
During step 415, the user IDs at the services for users of the UE
in direct or other local communication are received. For example,
data is received at owner rights client 152 on UE 101m that
indicates "Alice123" at service 110 for the user of UE 101a.
Similarly, such data is received from each of the other UE 101 in
direct or other local communication, such as "Bob456" at service
110 for the user of UE 101b. User IDs at other services, different
from service 110, if any, are also received; and, in some
embodiments ignored if User M is not a subscriber to such different
services. For purposes of illustration, it is assumed the users of
the UE 101 are all subscribers to service 110 and all their user
IDs are received during step 415. In some embodiments, step 415
includes storing the information in local devices data structure
200 in a different device entry record 210 for each device in
direct or other local communication.
[0066] In step 417, the local user's contacts are determined among
all the user IDs received. The user IDs received during step 415
are compared to the list of the local user's contacts received
during step 401. For example, User C of UE 101c has user ID
"Charles007" as learned during step 415; but while "Alice123" and
"Bob456" are in the contacts list for "Myself789", "Charles007" is
not. Therefore, during step 417 it is determined that User M's
service 110 contacts in direct or other local communication include
"Alice123" and "Bob456" but not "Charles007."
[0067] In step 419, the selected subscribers for the service 110
are determined from the contacts in local communication. In some
embodiments, step 419 includes all contacts in local communication
as the selected subscribers to be granted ownership rights. In some
embodiments, during step 419 all contacts in local communication
are presented to the local user who is prompted to indicate which
to include as the selected subscribers to be granted ownership
rights. Thus in the illustrated embodiment, determining the first
user identifier and the second user identifier further comprises
determining that a first device associated with the first user
identifier and a second device associated with the second user
identifier are in direct radio communication. For example, upon
selecting one of the contact groups listed in contact groups
listing area 726, a group membership user interface (UI) is
presented to the user as shown in FIG. 7C.
[0068] FIG. 7C is a diagram that illustrates an example screen 703
presented at UE 101 to present the user contacts after selecting a
group in the contact groups listing area 726. Screen 703 includes
the device toolbar 710 portion, application UI 720, buttons 721,
722, 724, and contact groups listing area 726, as described above.
In screen 703, the group selected by the user is highlighted as
highlighted group 729 in the contact groups listing area 726. The
members of the highlighted group are presented in a group
membership area 730. The group membership area 730 presents all the
user IDs of the subscribers who are contacts of the local user at
service 110 and members of the group, e.g., in user ID area 732a
through user ID area 732e, among others, collectively referenced
hereinafter as user ID areas 732. In some embodiments with larger
memberships than can be presented in the area 730, a scrollbar is
included in area 730 to allow a user to move into area 730 other
user ID areas 732 that are out of area 730. A checkbox 734 is
adjacent to each user ID area 732 to indicate whether the
corresponding user ID is to be included among the selected
subscribers to be granted ownership rights. In some embodiments,
when area 730 is first presented, each checkbox 734 is checked;
and, the user activates a check box to de-select a subscriber with
the user ID presented in the corresponding user ID area 732. In
some embodiments additional active areas are included, such as a
button to check all or a button to toggle the check boxes or a
button to accept the selections and close area 730, or some
combination.
[0069] Returning to FIG. 4, in step 421, content to be sent to the
service 110 for posting is determined. For example, in response to
the local user activating the ENTER CONTENT button 721, the local
user takes a picture with a camera option on a mobile terminal,
such as a cell phone. In some embodiments, step 421 includes one or
more messages exchanged between the local user and one or more
other selected subscribers describing the content and service to
which it will be posted. For example, User M shares content (e.g.,
an image of User A and User M at a bar) with User A and User B,
e.g., in a separate channel from service 110, such as in one or
more email or short message service (SMS) messages, and suggests
that the content be posted to service 110 on User M's page
associated with user ID "Myself789." Based on their responses, the
local user determines to send the content to be posted at the
service 110. Thus step 421 includes determining to send the first
data (content) in association with the first user identifier
(Myself789) to the service for presentation of the first data in
association with the first user identifier.
[0070] In step 423, it is determined to grant ownership rights to
the selected subscribers. Any method may be used to do this. In
some embodiments, the granting of ownership rights is based on a
shared secret, e.g., a value in the owner's secret field 266. In
some embodiments, the granting of ownership rights is based on
including a list of user IDs for subscribers with ownership rights
in association with the posted content on the service, e.g., in
owner rights user ID fields 268. Both embodiments are illustrated
as steps 431 though 439 included in step 423. Thus step 423
includes determining to grant an ownership right for the first data
at the service to both users identified by the first user
identifier and the second user identifier.
[0071] Step 431 represents a decision point about which method is
used for granting rights. If granting ownership rights is not based
on a shared secret value, but on the list of selected subscribers
in fields 268, then step 433 is performed. Otherwise steps 435, 437
and 439 are performed. In some embodiments using the shared secret,
steps 431 and 433 are omitted. In some embodiments using the list
of selected subscribers, steps 431, 435, 437 and 439 are
omitted.
[0072] If granting of ownership rights is based on a list of
selected subscribers, then in step 433, the content to post on the
service is sent to the service in association with the user IDs of
the selected subscribers. For example, during step 433, the image
of User M and User A at the bar is sent to service 110 in a message
that includes the user IDs "Alice123" and "Bob456" as well as the
User ID of the subscriber making the post, "Myself789." Thus, in
step 433, determining to grant an ownership right for the first
data further comprises determining to send data that indicates an
ownership right for the first data and the second user identifier
to the service. In some embodiments, step 433 includes sending
notifications to the selected subscribers. In some embodiments the
notifications are sent by the service 110. In some embodiments,
determining to send the first data (content) to the service during
step 433, further comprises determining to send credentials that
authenticate the first user identifier at the service.
[0073] If granting ownership rights is based on a shared secret
value, then in step 435 the content to post on the service is sent
to the service with only the user ID of the subscriber making the
post "Myself789." In some embodiments, determining to send the
first data (content) to the service during step 435, further
comprises determining to send credentials that authenticate the
first user identifier at the service. In step 437 a value of the
owner's secret that indicates the one or more ownership rights is
received from the service. Thus step 437 includes receiving data
(owner's secret) that indicates an ownership right for the first
data from the service. In step 439, the secret is distributed to
the selected subscribers, e.g., to "Alice123" at UE 101a and to
"Bob456" at UE 101b. Thus steps 439 includes determining to send
data (owner's secret) that indicates the ownership right for the
first data to a device associated with the second user
identifier.
[0074] The next steps 441, 443 and 445 of process 400 are directed
to receiving and exercising ownership rights in content posted by a
different user, e.g., User M receiving ownership rights in content
posted at service 110 by "Alice123."
[0075] In step 441, it is determined whether the local user has
received ownership rights for a different post by another
subscriber. In some embodiments, this is a notification message
that includes the service ID, the item ID and the shared secret
sent by the other user who posted the content, e.g., in an SMS
message received by User M from User A. In some embodiments, this
is a notification message that includes just the service ID and the
item ID (the shared secret is not used) sent by the other user who
posted the content, e.g., in an SMS message received by User M from
User A. In some embodiments, the notification is presented in a
user interface as described below with reference to FIG. 7D. Thus,
step 441 includes receiving data that indicates an ownership right
in second data (different post) presented at the service in
association with a third user identifier (other user). In some
embodiments, the third user who made the other post is the same as
the second user who receives ownership rights for the first
post.
[0076] If no notification is received, then, in step 451, it is
determined whether there is further content to post by the local
user. If so, control passes back to step 403 to determine the
selected subscribers for ownership rights in the next posting, as
described above. If there is not another posting at the current
time, then it is determined if end conditions are satisfied, e.g.,
the client 117 or connection to service 110 is closed. If so, the
process ends, otherwise control passes back to step 441 to
determine if ownership rights are received in yet another posting
by another subscriber, as described above.
[0077] In some embodiments, the notification determined to be
received during step 441 is presented as a user interface as shown
in FIG. 7D. FIG. 7D is a diagram that illustrates an example screen
704 presented at UE 101 to present notification of ownership rights
granted or exercised or both for a posting by another subscriber.
Screen 704 includes the device toolbar 710 portion, application UI
720, and buttons 721, 722, as described above. In screen 704, the
post user interface (UI) area 740 is presented. The post UI area
740 includes an OK button 742, a CLOSE button 744, a content area
750, an ownership operations area 760 and a notification area 770.
Upon activation of the CLOSE button 744 the post UI area 740 is
closed without exercising any ownership rights. Upon activation of
the OK button 742 one or more selected ownership operations on the
content of the post are executed, and the post UI area 740 remains
open.
[0078] The content area 750 presents the content that has been
posted or is about to be posted by another subscriber, such as the
image of User M and User A at the bar.
[0079] The ownership operations area 760 includes one or more
buttons 761a, 761b, 761c, 761d, 761d (collectively referenced
hereinafter as ownership operation buttons 761) that are activated
to select one or more ownership operations. For example, in some
embodiments, button 761a is activated to vote for another
subscriber to post the content in area 750 that is not yet posted
and button 761b is activated to vote against. These buttons are
deactivated, e.g., by graying out, if the content has already been
posted. In some embodiments, button 761c is activated to copy the
content to the service area of the local user at service 110 (e.g.,
home page at a social network service). In some embodiments, button
761d is activated to remove any tags or links to the local user
from the content posted at the service area of the other
subscribers. In some embodiments, button 761e is activated to
remove all instances of the content on the service areas of all
members of the group of selected subscribers. Operations that do
not apply, or that involve rights not granted, are indicated by
omitting or deactivating the corresponding buttons.
[0080] The notification area 770 presents data that indicates
actions taken by other subscribers with ownership rights. For
example, notification area 750 presents data that indicates
"Alice123" has granted ownership rights to the local user; or that
"Bob456" has removed the content in area 750 from his service area
at service 110.
[0081] If it is determined in step 441 that the local user has
received ownership rights for a different post by another
subscriber, e.g., if post UI area 740 is presented, then control
passes to step 443. In step 443, it is determined whether to
exercise the ownership right, e.g., to remove content posted by
another. For example, it is determined in step 443 if one of the
ownership operation buttons 761 and OK button 742 have been
activated. If so, then in step 445 a message is sent to the service
to exercise the ownership right over the other post. Thus, step 445
includes determining to send data that indicates exercise of the
ownership right in the second data (different post) to the service.
For example, exercise owner rights message 300 is sent from owner
rights client module 152 on UE 101m to owner rights service module
150 in service 110. The message 300 indicates the user credentials
in field 302, the item ID indicated in field 304 and the operation
in field 308. In embodiments that rely on a shared secret, the
value of the secret is included in field 306. In response to the
message, the service 110 authenticates the message based on the
user credentials in field 302 (and the secret in field 306, if
present); and, if authenticated, operates on the content having
item ID indicated in field 304 as indicated by data in the
operation field 308, as described in more detail below with
reference to FIG. 5.
[0082] Control passes back to step 443 from step 445 to perform any
further operations allowed by the ownership rights, if desired. If
no more such rights are to be exercised, e.g., if the CLOSE button
744 is activated, then control passes to step 451 and following, as
described above.
[0083] FIG. 5 is a flowchart of a process 500 at a service for
granting ownership rights, according to one embodiment. In one
embodiment, the service 110 and owner rights service module 150
performs the process 500 and are implemented in, for instance, a
chip set including a processor and a memory as shown in FIG. 9, or
computer system as depicted in FIG. 8.
[0084] In step 501, the subscriber profile including contacts of a
first user are sent in response to a request from a device of that
user, e.g., in response to a request message from client 117m on UE
101m. In some embodiments, step 501 includes causing a prompt to
presented for user input of credentials, such as user ID and
password, and authenticating the first user based on the response
to the prompt. Step 501 represents a service side response to step
401 on the client side.
[0085] The remainder of the processing depends on whether ownership
rights are granted based on a shared secret or on a list of user
IDs for subscribers with ownership rights. Step 503 represents a
decision point about which method is used for granting rights. If
granting ownership rights is not based on a shared secret value,
but on the list of selected subscribers in fields 268, then steps
511 to 533 are performed. Otherwise steps 541 to 563 are performed.
In some embodiments using the shared secret, steps 503 to 533 are
omitted. In some embodiments using the list of selected
subscribers, steps 503 and 541 to 563 are omitted.
[0086] If granting of ownership rights is based on a list of
selected subscribers, then, in step 511, content to be posted is
received from the device of the first user of the service (e.g.,
the first subscriber). For example, in one embodiment, User M is
the first subscriber and the content received during step 511 is
the image of User M and User A at the bar. Thus step 511 includes
receiving a first user identifier (first subscriber) associated
with first data (content). Also received during step 511 is a list
of the user IDs of the selected subscribers who have ownership
rights in the content. For example, data indicating "Alice123" and
"Bob456" is also received in association with the image of User M
and User A at the bar. In some embodiments, step 511 includes
assigning the content an item ID value for field 262 and recording
the information in post entry record 260 of the user post data
structure 250. The user ID of the sending subscriber is stored in
field 264 and the other user IDs are stored in corresponding fields
268. Thus step 511 includes receiving data that indicates a
different second user identifier and exercise of an ownership right
for the first data. Receiving the first user identifier associated
with the first data (content) further comprises receiving the
second user identifier associated with the first data
(content).
[0087] In step 513, the content is posted at the service. In some
embodiments, the content is only posted at the service area of the
first subscriber who sent the content. Thus, step 513 includes
determining to present the first data (content) in association with
the first user identifier (first subscriber). In some embodiments,
the content is posted at the service areas of the first subscriber
and one or more or all of the other selected subscribers with
ownership rights. Thus step 513 includes determining to present the
first data (content) in association with the second user identifier
if the second user has the ownership right for the first data by
virtue of being listed.
[0088] In step 515 a link or tag indicating other selected
subscribers or first subscriber with ownership rights are included
in association with each subscriber's service area that posts the
content. In some embodiments, step 515 is omitted.
[0089] In step 517, notification is sent to the selected
subscribers. The notification indicates that the content has been
posted, where the content has been posted (e.g., which service
areas), and any links or tags that are associated at each post. For
example, data for post UI area 740 is sent with the notification in
area 770, in some embodiments. In some embodiments, the
notification in area 770 is sent outside the service 110, e.g., in
an SMS or email message.
[0090] In step 521, it is determined if a message is received from
a different second subscriber to exercise an ownership right over
the posted content, e.g., it is determined whether an exercise
owner rights message 300 is received that indicates the item ID in
field 304 of the content posted by the first subscriber. If not,
control passes to step 531 to determine if another post is being
received. If so, control passes back to step 511, described above.
If not, then, in step 533, it is determine if end conditions are
satisfied, e.g., whether the service is shutting down. If end
conditions are satisfied, then the process 500 ends; otherwise,
control passes back to step 521 to determine if a message to
exercise an ownership right is received.
[0091] If a message is received to exercise an ownership right,
then in step 523, the sender of the message is authenticated, e.g.,
based on the user credentials in field 302 of the message 300. In
step 525, it is determined if the sender passes authentication. If
not, control skips to step 531 and following as described above.
Thus step 523 includes determining whether the second user has the
ownership right for the first data by authenticating the second
user identifier.
[0092] If the sender passes authentication, then in step 527 the
ownership operation is performed on the post. For example, the
content is copied, a tag or link or comment is added or removed, or
the content is removed from one or more or all service areas (in
some embodiments of the latter case, the corresponding post entry
field 260 is deleted from the data structure 250). In step 529, a
notification is sent to the other subscribers that the ownership
right has been exercised by the subscriber who sent the message.
For example, data for post UI area 740 is sent with the
notification in area 770, in some embodiments. In some embodiments,
the notification in area 770 is sent outside the service 110, e.g.,
in an SMS or email message. Control then passes to step 531 and
following, described above.
[0093] If granting of ownership rights is based on a shared secret,
then, in step 541, content to be posted is received from the device
of the first user of the service (e.g., the first subscriber) as in
step 511. For example, in one embodiment, User M is the first
subscriber and the content received during step 541 is the image of
User M and User A at the bar. Unlike step 511, no data indicating a
list of selected subscribers is received. In some embodiments, step
541 includes assigning the content an item ID value for field 262
and generating a secret value for field 266 and recording the
information in post entry record 260 of the user post data
structure 250. The user ID of the sending subscriber is stored in
field 264. In some embodiments the secret for field 266 is provided
by the first subscriber.
[0094] In step 543 it is determined to send a secret to the first
subscriber. For example, the generated secret stored in field 266
of a post entry generated for the post is retrieved and sent to the
first subscriber. Thus, step 543 includes determining to send
second data (owner's secret) that indicates the ownership right to
a device associated with the first user identifier (first
subscriber). In some embodiments, the secret is provided by the
first subscriber; and step 543 is omitted.
[0095] In step 545, the content is posted at the service. In some
embodiments, the content is only posted at the service area of the
first subscriber who sent the content. The content is not posted at
the service areas of any of the other selected subscribers with
ownership rights, because at step 545 such other subscribers are
not yet specified to the service and are thus unknown by process
500. Such other subscribers can only post the content by presenting
the secret value for authentication in step 553 and exercising the
ownership right to copy the content in step 557, described
below.
[0096] Steps 551, 553, 555, 557, 559, 561 and 563 parallel steps
521, 523, 525, 527, 529, 531 and 533 described above, respectively.
A difference is that authentication during step 553 is also based,
at least in part, on a secret value. Another difference, in some
embodiments, is that an authenticated subscriber is added as an
owner of the content during step 557, e.g., a field 268 indicating
the user ID of the authenticated subscriber is added to the post
entry field 260.
[0097] In step 551, it is determined if a message is received from
a different second subscriber to exercise an ownership right over
the posted content, e.g., it is determined whether an exercise
owner rights message 300 is received that indicates the item ID in
field 304 of the content posted by the first subscriber and the
owner's secret. Thus, step 551 includes receiving data that
indicates a different second user identifier and the owner's secret
which is an indication of exercise of an ownership right for the
first data. If not, control passes to step 561 to determine if
another post is being received. If another post is being received,
control passes back to step 541, described above. If not, then, in
step 563, it is determined if end conditions are satisfied, e.g.,
whether the service is shutting down. If end conditions are
satisfied, then the process 500 ends; otherwise, control passes
back to step 551 to determine if a message to exercise an ownership
right is received.
[0098] If a message is received to exercise an ownership right,
then in step 553, the sender of the message is authenticated, e.g.,
based on the user credentials in field 302 and secret value in
field 306 of the message 300. Thus step 553 includes determining
whether the second user has the ownership right for the first data.
That is, determining whether the second user has the ownership
right for the first data (content) further comprises determining
whether the data that indicates the second user identifier and
exercise of the ownership right further indicates the second data
(owner's secret). In step 555, it is determined if the sender
passes authentication. If not, control skips to step 561 and
following as described above.
[0099] If the sender and secret passes authentication, then in step
557 the ownership operation is performed on the post. Thus step 557
includes determining to operate on the first data (content) based
on the ownership right if the second user (sending subscriber) has
the ownership right for the first data by virtue of the owner's
secret. In some embodiments, step 557 includes adding the
authenticated sender as an owner of the content, e.g., by adding
the user ID of the authenticated sender to a field 268 of the post
entry record 260. For example, the content is copied, a tag or
comment or link is added or removed, or the content is removed from
one or more or all service areas (in some embodiments of the latter
case, the corresponding post entry field 260 is deleted from the
data structure 250). When the content is copied, step 557 amounts
to determining to present the first data (content) in association
with the second user identifier if the second user has the
ownership right for the first data by virtue of bearing the owner's
secret. In step 559, a notification is sent to the other
subscribers that the ownership right has been exercised by the
subscriber who sent the message. For example, data for post UI area
740 is sent with the notification in area 770, in some embodiments.
In some embodiments, the notification in area 770 is sent outside
the service 110, e.g., in an SMS or email message. Control then
passes to step 561 and following, described above.
[0100] FIGS. 6A-6C are time sequence diagrams of messages to grant
and exercise ownership rights in content posted at a service,
according to various embodiments. In time sequence diagrams, time
increases downward (not to scale), an individual network process is
represented by vertically elongated boxes labeled by rectangles at
the top. A message sent from one process to another is indicated by
a horizontal arrow pointing from the sending process to the
receiving process. A step at a single process is indicated by a
segmented arrow looping back on the process at a vertical position
indicative of the relative time when the step occurs. The processes
represented in FIG. 6A-6C include clients 117a through 117m
(represented by the first and last clients of the set of M users),
including corresponding owner rights client modules 152, and
service 110, including owner rights service module 150 and user
specific service areas 601a through 601m (represented by the first
and last user home pages of a social network service).
[0101] FIG. 6A depicts time sequence 600 for ownership rights based
on a list of selected subscribers, according to an embodiment. In
one or more messages 611 between owner rights client modules 152 in
clients 117a and 117m, during step 421, User M and User A agree to
post content on both their walls, e.g., an image of User A and User
M at a bar. In some embodiments, User A and User M are together and
know each other's user IDs at service 110. In some embodiments, the
user IDs of all users in local communication are determined and the
post is shared with all; but User M only grants ownership rights to
User A during step 423 by de-selecting the check boxes of the other
users in dynamic group area 730 for contacts in local
communication.
[0102] In one or more messages 613, during step 433, the content is
sent to the owner rights service module 150 in service 110 along
with the user IDs of both subscribers to service 110, e.g., from
owner rights client module 152 in client 117m with data indicating
"Myself789" and "Alice123." The content and subscriber IDs are
received at module 150 during step 511.
[0103] During step 513 and step 515, the content is posted to the
User A home page with links to User M in one or more messages 615a;
the same content is posted to the User M home page with links to
User A in one or more messages 615b. During step 517, notification
of the posting with a link to "Myself789" is sent to the user
rights client module 152 in client 117a in one or more messages
621a; and presented to User A, e.g., in post UI area 740. This
amounts to receiving notice of ownership rights by User A from User
M during step 441. Similarly, during step 517, notification of the
posting with a link to "Alice123" is sent to the user rights client
module 152 in client 117m in one or more messages 621b; and
presented to User M, e.g., in post UI area 740.
[0104] At some later time, User A feels regret about the posting,
and during step 443 determines to exercise the ownership right to
remove the link to her page from the posting on the home page of
User M, e.g., by activating a corresponding button 761 and the OK
button 742 in post UI area 740. One or more delete post messages
623 is sent. For example, an exercise owner rights message 300 is
sent with data in field 308 indicating to delete her own post and
links from other posts. In message 623, the user credentials field
302 indicates "Alice123", the item ID field indicates the item ID
1234567 for the image of User A and User M in the bar, and the
secret field 306 is omitted. This message is received at the owner
rights service module 150 during step 521.
[0105] In process 625, e.g., during step 523, user A is
authenticated. If user A is authenticated, the posting is removed
from User A's home page in one or more messages 627a; and the link
to "Alice123" is removed from field 272 of the post entry, e.g.,
during step 527.
[0106] In one or more messages 629 sent during step 529,
notification of the removal by User A is sent to the owner rights
client module 152 in client 117m of User M for display in area 770
of post UI area 740.
[0107] If User M decides to leave the content as a post on the User
M home page, no further action is taken. However, if, based on the
notification received, User M determines to exercise the ownership
right to delete the posting from his page, e.g., by activating the
corresponding button 761 on post UI area 740 during step 443, then,
during step 445 one or more messages 631 are sent to delete the
posting. For example an exercise owner rights message 300 is sent
that indicates "Myself789" in field 302 along with any token or
password used as authentication credentials, indicates the item ID
1234567 of the image of User M and User A at the bar in field 304
and indicates delete post in field 308. In this embodiment, the
secret field 306 is not used; and is omitted.
[0108] In process 635, e.g., during step 523, user M is
authenticated. If user M is authenticated, the posting is removed
from User M's home page in one or more messages 637.
[0109] In one or more messages 639 sent during step 529,
notification of the removal by User M is sent to the owner rights
client module 152 in client 117a of User A for display in area 770
of post UI area 740.
[0110] In another example embodiment, User A feels regret about the
posting, and during step 443 instead of determining to exercise the
ownership right to remove the link to her from the posting on the
home page of User M, User A determines to remove the content from
all service areas, e.g., by activating a different button 761 and
the OK button 742 in post UI area 740.
[0111] In process 625, e.g., during step 523, user A is
authenticated. In this embodiment, if user A is authenticated, the
posting is removed not only from User A's home page in one or more
messages 627a; but is also removed from User M's home page in one
or more messages 637. In some of these embodiments, the post entry
field 260 that includes the image of User M and User A at the bar
is deleted from the user posts data structure 250.
[0112] In one or more messages 629 sent during step 529,
notification of the removal by User A is sent to the owner rights
client module 152 in client 117m of User M for display in area 770
of post UI area 740.
[0113] FIG. 6B depicts time sequence 640 for ownership rights based
on a secret value, according to an embodiment. In one or more
messages 641 during step 435, the owner rights client module 152 in
client 117m of User M sends to the owner rights service module 150
content to be posted on User M's home page.
[0114] During step 541 the content is received. During step 543 a
secret is generated and sent to the owner rights client module 152
in one or more secret messages 645. During step 545 the content is
posted to the home page of User M in one or more messages 643 and a
post entry field 260 is added to the user posts data structure 250,
with an item ID value 1234567 in field 262, data indicating
"Myself789" in field 264, the secret in field 266 and the content
in field 270. No fields 268 are included.
[0115] During step 437, the secret is received; and during step 439
the secret is distributed to selected subscribers in one or more
messages 647a to owner rights client module 152 on client 117a and
one or more messages 647b to owner rights client module 152 on
client 117b, among others indicated by ellipsis, collectively
referenced hereinafter as secret messages 647. The secret messages
647 indicate the item ID value 1234567 and the secret value. In
some embodiments, the secret messages 647 also indicate the sender,
"Myself789."
[0116] It is assumed for purposes of illustration that the selected
subscribers include all those in local communication with UE 101m
of User M; but, only User A and User B choose to exercise their
ownership rights to add or delete the content. The other selected
subscribers do nothing.
[0117] When the secret messages 647 are received at each owner
rights client module 152, it is determined during step 441 that
ownership rights have been received for content posted by
"Myself789," e.g., post UI area 740 is presented with the image of
User A and User M at the bar, and with notification area 770
indicating ownership rights to copy or delete the content.
[0118] User A decides to add the content to her home page and
indicates so by activating the corresponding button 761 and OK
button 742 of the post UI area 740. In step 443, it is determined
that the ownership right to copy the post has been chosen, and
during step 445 one or more messages 651 are sent to the owner
rights service module 150. For example, message 300 includes a user
credentials field 302 that indicates "Alice123" and any password or
token, the item ID field indicates the item ID value 1234567 for
the image of User A and User M in the bar, the secret field 306
indicates the distributed secret, and the operation field 308
indicates copy the content to a post on the sender's home page.
This message is received at the owner rights service module 150
during step 551.
[0119] In process 653, e.g., during step 553, user A is
authenticated based at least in part on the secret value. If user A
is authenticated, then during step 557 the posting is added to User
A's home page in one or more messages 655. The post entry field 360
is modified with a link to User A in field 272 and a field 268
added that holds data that indicates the user ID "Alice123." In one
or more messages sent during step 559, notification of the copying
by "Alice123" is sent to the owner rights client module 152 in
client 117m of User M for display in area 770 of post UI area
740.
[0120] User B decides to remove the content pages of the service;
and indicates so by activating the corresponding button 761 and OK
button 742 of the post UI area 740. In step 443, it is determined
that the ownership right to remove the content has been chosen, and
during step 445 one or more messages 661 are sent to the owner
rights service module 150. For example, message 300 includes a user
credentials field 302 that indicates "Bob456" and any password or
token used for authentication, the item ID field indicates the item
ID value 1234567 for the image of User A and User M in the bar, the
secret field 306 indicates the distributed secret, and the
operation field 308 indicates removal of the content from all
posts. This message is received at the owner rights service module
150 during step 551.
[0121] In process 663, e.g., during step 553, user B is
authenticated based at least in part on the secret value. If user B
is authenticated, then during step 557 the content is removed from
the posts on User M's home page and User A's home page in one or
more messages 665a and one or more messages 665b, respectively. In
some embodiments, the post entry field 260 is deleted from the user
posts data structure 250. In one or more messages 657a and one or
more messages 657b sent during step 559, notification of the
removal of the content by "Bob456" is sent to the owner rights
client module 152 in client 117a of User A and in client 117m of
User M, respectively, for display in area 770 of post UI area 740
on each.
[0122] FIG. 6C depicts time sequence 660 for ownership rights based
on a secret value, according to another embodiment that involves
communications among selected subscribers before initial posting.
During step 421, User M sends content for a suggested posting from
the owner rights client module 152 on client 117m to all the
selected subscribers in one or more post question messages 651a to
owner rights client module 152 in client 117a, one or more post
question messages 651b to owner rights client module 152 in client
117b, and one or more post question messages indicated by ellipsis
to other selected subscribers (collectively referenced hereinafter
as post question messages 651). At each client module 152 the
suggested post is presented, e.g., in a post UI area 740.
[0123] In response, also during step 421, zero or more vote
messages are received, e.g., in response to user activation of a
corresponding button 761 and the OK button 742. For example, owner
rights client module 152 on client 117m receives one or more vote
messages 653a from the owner rights client module 152 on client
117a, one or more vote messages 653ba from the owner rights client
module 152 on client 117b, one or more vote messages from the owner
rights client module 152 on other clients indicated by ellipsis
(collectively referenced hereinafter as vote messages 653).
[0124] Based on the response, still during step 421, it is
determined whether to post the content. For example, in some
embodiments, the content is not posted until all the votes are in
and a unanimous vote to post is received. In some embodiments, a
majority of all possible votes is enough. In some embodiments, a
majority of responding votes is enough. In some embodiments a
majority of a quorum of votes is enough. If it is determined to
post the content, the posting is done. The remaining messages 541
through 657b and processes 653 and 663 are as described above for
FIG. 6B.
[0125] The processes described herein for granting ownership rights
for content posted at a service may be advantageously implemented
via software, hardware, firmware or a combination of software
and/or firmware and/or hardware. For example, the processes
described herein, may be advantageously implemented via
processor(s), Digital Signal Processing (DSP) chip, an Application
Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays
(FPGAs), etc. Such exemplary hardware for performing the described
functions is detailed below.
[0126] FIG. 8 illustrates a computer system 800 upon which an
embodiment of the invention may be implemented. Although computer
system 800 is depicted with respect to a particular device or
equipment, it is contemplated that other devices or equipment
(e.g., network elements, servers, etc.) within FIG. 8 can deploy
the illustrated hardware and components of system 800. Computer
system 800 is programmed (e.g., via computer program code or
instructions) to grant ownership rights for content posted at a
service as described herein and includes a communication mechanism
such as a bus 810 for passing information between other internal
and external components of the computer system 800. Information
(also called data) is represented as a physical expression of a
measurable phenomenon, typically electric voltages, but including,
in other embodiments, such phenomena as magnetic, electromagnetic,
pressure, chemical, biological, molecular, atomic, sub-atomic and
quantum interactions. For example, north and south magnetic fields,
or a zero and non-zero electric voltage, represent two states (0,
1) of a binary digit (bit). Other phenomena can represent digits of
a higher base. A superposition of multiple simultaneous quantum
states before measurement represents a quantum bit (qubit). A
sequence of one or more digits constitutes digital data that is
used to represent a number or code for a character. In some
embodiments, information called analog data is represented by a
near continuum of measurable values within a particular range.
Computer system 800, or a portion thereof, constitutes a means for
performing one or more steps of granting ownership rights for
content posted at a service.
[0127] A bus 810 includes one or more parallel conductors of
information so that information is transferred quickly among
devices coupled to the bus 810. One or more processors 802 for
processing information are coupled with the bus 810.
[0128] A processor (or multiple processors) 802 performs a set of
operations on information as specified by computer program code
related to granting ownership rights for content posted at a
service. The computer program code is a set of instructions or
statements providing instructions for the operation of the
processor and/or the computer system to perform specified
functions. The code, for example, may be written in a computer
programming language that is compiled into a native instruction set
of the processor. The code may also be written directly using the
native instruction set (e.g., machine language). The set of
operations include bringing information in from the bus 810 and
placing information on the bus 810. The set of operations also
typically include comparing two or more units of information,
shifting positions of units of information, and combining two or
more units of information, such as by addition or multiplication or
logical operations like OR, exclusive OR (XOR), and AND. Each
operation of the set of operations that can be performed by the
processor is represented to the processor by information called
instructions, such as an operation code of one or more digits. A
sequence of operations to be executed by the processor 802, such as
a sequence of operation codes, constitute processor instructions,
also called computer system instructions or, simply, computer
instructions. Processors may be implemented as mechanical,
electrical, magnetic, optical, chemical or quantum components,
among others, alone or in combination.
[0129] Computer system 800 also includes a memory 804 coupled to
bus 810. The memory 804, such as a random access memory (RAM) or
any other dynamic storage device, stores information including
processor instructions for granting ownership rights for content
posted at a service. Dynamic memory allows information stored
therein to be changed by the computer system 800. RAM allows a unit
of information stored at a location called a memory address to be
stored and retrieved independently of information at neighboring
addresses. The memory 804 is also used by the processor 802 to
store temporary values during execution of processor instructions.
The computer system 800 also includes a read only memory (ROM) 806
or any other static storage device coupled to the bus 810 for
storing static information, including instructions, that is not
changed by the computer system 800. Some memory is composed of
volatile storage that loses the information stored thereon when
power is lost. Also coupled to bus 810 is a non-volatile
(persistent) storage device 808, such as a magnetic disk, optical
disk or flash card, for storing information, including
instructions, that persists even when the computer system 800 is
turned off or otherwise loses power.
[0130] Information, including instructions for granting ownership
rights for content posted at a service, is provided to the bus 810
for use by the processor from an external input device 812, such as
a keyboard containing alphanumeric keys operated by a human user,
or a sensor. A sensor detects conditions in its vicinity and
transforms those detections into physical expression compatible
with the measurable phenomenon used to represent information in
computer system 800. Other external devices coupled to bus 810,
used primarily for interacting with humans, include a display
device 814, such as a cathode ray tube (CRT), a liquid crystal
display (LCD), a light emitting diode (LED) display, an organic LED
(OLED) display, a plasma screen, or a printer for presenting text
or images, and a pointing device 816, such as a mouse, a trackball,
cursor direction keys, or a motion sensor, for controlling a
position of a small cursor image presented on the display 814 and
issuing commands associated with graphical elements presented on
the display 814. In some embodiments, for example, in embodiments
in which the computer system 800 performs all functions
automatically without human input, one or more of external input
device 812, display device 814 and pointing device 816 is
omitted.
[0131] In the illustrated embodiment, special purpose hardware,
such as an application specific integrated circuit (ASIC) 820, is
coupled to bus 810. The special purpose hardware is configured to
perform operations not performed by processor 802 quickly enough
for special purposes. Examples of ASICs include graphics
accelerator cards for generating images for display 814,
cryptographic boards for encrypting and decrypting messages sent
over a network, speech recognition, and interfaces to special
external devices, such as robotic arms and medical scanning
equipment that repeatedly perform some complex sequence of
operations that are more efficiently implemented in hardware.
[0132] Computer system 800 also includes one or more instances of a
communications interface 870 coupled to bus 810. Communication
interface 870 provides a one-way or two-way communication coupling
to a variety of external devices that operate with their own
processors, such as printers, scanners and external disks. In
general the coupling is with a network link 878 that is connected
to a local network 880 to which a variety of external devices with
their own processors are connected. For example, communication
interface 870 may be a parallel port or a serial port or a
universal serial bus (USB) port on a personal computer. In some
embodiments, communications interface 870 is an integrated services
digital network (ISDN) card or a digital subscriber line (DSL) card
or a telephone modem that provides an information communication
connection to a corresponding type of telephone line. In some
embodiments, a communication interface 870 is a cable modem that
converts signals on bus 810 into signals for a communication
connection over a coaxial cable or into optical signals for a
communication connection over a fiber optic cable. As another
example, communications interface 870 may be a local area network
(LAN) card to provide a data communication connection to a
compatible LAN, such as Ethernet. Wireless links may also be
implemented. For wireless links, the communications interface 870
sends or receives or both sends and receives electrical, acoustic
or electromagnetic signals, including infrared and optical signals,
that carry information streams, such as digital data. For example,
in wireless handheld devices, such as mobile telephones like cell
phones, the communications interface 870 includes a radio band
electromagnetic transmitter and receiver called a radio
transceiver. In certain embodiments, the communications interface
870 enables connection to the communication network 105 for
granting ownership rights for content posted at a service from the
UE 101.
[0133] The term "computer-readable medium" as used herein refers to
any medium that participates in providing information to processor
802, including instructions for execution. Such a medium may take
many forms, including, but not limited to computer-readable storage
medium (e.g., non-volatile media, volatile media), and transmission
media. Non-transitory media, such as non-volatile media, include,
for example, optical or magnetic disks, such as storage device 808.
Volatile media include, for example, dynamic memory 804.
Transmission media include, for example, twisted pair cables,
coaxial cables, copper wire, fiber optic cables, and carrier waves
that travel through space without wires or cables, such as acoustic
waves and electromagnetic waves, including radio, optical and
infrared waves. Signals include man-made transient variations in
amplitude, frequency, phase, polarization or other physical
properties transmitted through the transmission media. Common forms
of computer-readable media include, for example, a floppy disk, a
flexible disk, hard disk, magnetic tape, any other magnetic medium,
a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper
tape, optical mark sheets, any other physical medium with patterns
of holes or other optically recognizable indicia, a RAM, a PROM, an
EPROM, a FLASH-EPROM, an EEPROM, a flash memory, any other memory
chip or cartridge, a carrier wave, or any other medium from which a
computer can read. The term computer-readable storage medium is
used herein to refer to any computer-readable medium except
transmission media.
[0134] Logic encoded in one or more tangible media includes one or
both of processor instructions on a computer-readable storage media
and special purpose hardware, such as ASIC 820.
[0135] Network link 878 typically provides information
communication using transmission media through one or more networks
to other devices that use or process the information. For example,
network link 878 may provide a connection through local network 880
to a host computer 882 or to equipment 884 operated by an Internet
Service Provider (ISP). ISP equipment 884 in turn provides data
communication services through the public, world-wide
packet-switching communication network of networks now commonly
referred to as the Internet 890.
[0136] A computer called a server host 892 connected to the
Internet hosts a process that provides a service in response to
information received over the Internet. For example, server host
892 hosts a process that provides information representing video
data for presentation at display 814. It is contemplated that the
components of system 800 can be deployed in various configurations
within other computer systems, e.g., host 882 and server 892.
[0137] At least some embodiments of the invention are related to
the use of computer system 800 for implementing some or all of the
techniques described herein. According to one embodiment of the
invention, those techniques are performed by computer system 800 in
response to processor 802 executing one or more sequences of one or
more processor instructions contained in memory 804. Such
instructions, also called computer instructions, software and
program code, may be read into memory 804 from another
computer-readable medium such as storage device 808 or network link
878. Execution of the sequences of instructions contained in memory
804 causes processor 802 to perform one or more of the method steps
described herein. In alternative embodiments, hardware, such as
ASIC 820, may be used in place of or in combination with software
to implement the invention. Thus, embodiments of the invention are
not limited to any specific combination of hardware and software,
unless otherwise explicitly stated herein.
[0138] The signals transmitted over network link 878 and other
networks through communications interface 870, carry information to
and from computer system 800. Computer system 800 can send and
receive information, including program code, through the networks
880, 890 among others, through network link 878 and communications
interface 870. In an example using the Internet 890, a server host
892 transmits program code for a particular application, requested
by a message sent from computer 800, through Internet 890, ISP
equipment 884, local network 880 and communications interface 870.
The received code may be executed by processor 802 as it is
received, or may be stored in memory 804 or in storage device 808
or any other non-volatile storage for later execution, or both. In
this manner, computer system 800 may obtain application program
code in the form of signals on a carrier wave.
[0139] Various forms of computer readable media may be involved in
carrying one or more sequence of instructions or data or both to
processor 802 for execution. For example, instructions and data may
initially be carried on a magnetic disk of a remote computer such
as host 882. The remote computer loads the instructions and data
into its dynamic memory and sends the instructions and data over a
telephone line using a modem. A modem local to the computer system
800 receives the instructions and data on a telephone line and uses
an infra-red transmitter to convert the instructions and data to a
signal on an infra-red carrier wave serving as the network link
878. An infrared detector serving as communications interface 870
receives the instructions and data carried in the infrared signal
and places information representing the instructions and data onto
bus 810. Bus 810 carries the information to memory 804 from which
processor 802 retrieves and executes the instructions using some of
the data sent with the instructions. The instructions and data
received in memory 804 may optionally be stored on storage device
808, either before or after execution by the processor 802.
[0140] FIG. 9 illustrates a chip set or chip 900 upon which an
embodiment of the invention may be implemented. Chip set 900 is
programmed to grant ownership rights for content posted at a
service as described herein and includes, for instance, the
processor and memory components described with respect to FIG. 8
incorporated in one or more physical packages (e.g., chips). By way
of example, a physical package includes an arrangement of one or
more materials, components, and/or wires on a structural assembly
(e.g., a baseboard) to provide one or more characteristics such as
physical strength, conservation of size, and/or limitation of
electrical interaction. It is contemplated that in certain
embodiments the chip set 900 can be implemented in a single chip.
It is further contemplated that in certain embodiments the chip set
or chip 900 can be implemented as a single "system on a chip." It
is further contemplated that in certain embodiments a separate ASIC
would not be used, for example, and that all relevant functions as
disclosed herein would be performed by a processor or processors.
Chip set or chip 900, or a portion thereof, constitutes a means for
performing one or more steps of providing user interface navigation
information associated with the availability of functions. Chip set
or chip 900, or a portion thereof, constitutes a means for
performing one or more steps of granting ownership rights for
content posted at a service.
[0141] In one embodiment, the chip set or chip 900 includes a
communication mechanism such as a bus 901 for passing information
among the components of the chip set 900. A processor 903 has
connectivity to the bus 901 to execute instructions and process
information stored in, for example, a memory 905. The processor 903
may include one or more processing cores with each core configured
to perform independently. A multi-core processor enables
multiprocessing within a single physical package. Examples of a
multi-core processor include two, four, eight, or greater numbers
of processing cores. Alternatively or in addition, the processor
903 may include one or more microprocessors configured in tandem
via the bus 901 to enable independent execution of instructions,
pipelining, and multithreading. The processor 903 may also be
accompanied with one or more specialized components to perform
certain processing functions and tasks such as one or more digital
signal processors (DSP) 907, or one or more application-specific
integrated circuits (ASIC) 909. A DSP 907 typically is configured
to process real-world signals (e.g., sound) in real time
independently of the processor 903. Similarly, an ASIC 909 can be
configured to performed specialized functions not easily performed
by a more general purpose processor. Other specialized components
to aid in performing the inventive functions described herein may
include one or more field programmable gate arrays (FPGA) (not
shown), one or more controllers (not shown), or one or more other
special-purpose computer chips.
[0142] In one embodiment, the chip set or chip 900 includes merely
one or more processors and some software and/or firmware supporting
and/or relating to and/or for the one or more processors.
[0143] The processor 903 and accompanying components have
connectivity to the memory 905 via the bus 901. The memory 905
includes both dynamic memory (e.g., RAM, magnetic disk, writable
optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for
storing executable instructions that when executed perform the
inventive steps described herein to grant ownership rights for
content posted at a service. The memory 905 also stores the data
associated with or generated by the execution of the inventive
steps.
[0144] FIG. 10 is a diagram of exemplary components of a mobile
terminal (e.g., handset) for communications, which is capable of
operating in the system of FIG. 1, according to one embodiment. In
some embodiments, mobile terminal 1001, or a portion thereof,
constitutes a means for performing one or more steps of granting
ownership rights for content posted at a service. Generally, a
radio receiver is often defined in terms of front-end and back-end
characteristics. The front-end of the receiver encompasses all of
the Radio Frequency (RF) circuitry whereas the back-end encompasses
all of the base-band processing circuitry. As used in this
application, the term "circuitry" refers to both: (1) hardware-only
implementations (such as implementations in only analog and/or
digital circuitry), and (2) to combinations of circuitry and
software (and/or firmware) (such as, if applicable to the
particular context, to a combination of processor(s), including
digital signal processor(s), software, and memory(ies) that work
together to cause an apparatus, such as a mobile phone or server,
to perform various functions). This definition of "circuitry"
applies to all uses of this term in this application, including in
any claims. As a further example, as used in this application and
if applicable to the particular context, the term "circuitry" would
also cover an implementation of merely a processor (or multiple
processors) and its (or their) accompanying software/or firmware.
The term "circuitry" would also cover if applicable to the
particular context, for example, a baseband integrated circuit or
applications processor integrated circuit in a mobile phone or a
similar integrated circuit in a cellular network device or other
network devices.
[0145] Pertinent internal components of the telephone include a
Main Control Unit (MCU) 1003, a Digital Signal Processor (DSP)
1005, and a receiver/transmitter unit including a microphone gain
control unit and a speaker gain control unit. A main display unit
1007 provides a display to the user in support of various
applications and mobile terminal functions that perform or support
the steps of granting ownership rights for content posted at a
service. The display 1007 includes display circuitry configured to
display at least a portion of a user interface of the mobile
terminal (e.g., mobile telephone). Additionally, the display 1007
and display circuitry are configured to facilitate user control of
at least some functions of the mobile terminal. An audio function
circuitry 1009 includes a microphone 1011 and microphone amplifier
that amplifies the speech signal output from the microphone 1011.
The amplified speech signal output from the microphone 1011 is fed
to a coder/decoder (CODEC) 1013.
[0146] A radio section 1015 amplifies power and converts frequency
in order to communicate with a base station, which is included in a
mobile communication system, via antenna 1017. The power amplifier
(PA) 1019 and the transmitter/modulation circuitry are
operationally responsive to the MCU 1003, with an output from the
PA 1019 coupled to the duplexer 1021 or circulator or antenna
switch, as known in the art. The PA 1019 also couples to a battery
interface and power control unit 1020.
[0147] In use, a user of mobile terminal 1001 speaks into the
microphone 1011 and his or her voice along with any detected
background noise is converted into an analog voltage. The analog
voltage is then converted into a digital signal through the Analog
to Digital Converter (ADC) 1023. The control unit 1003 routes the
digital signal into the DSP 1005 for processing therein, such as
speech encoding, channel encoding, encrypting, and interleaving. In
one embodiment, the processed voice signals are encoded, by units
not separately shown, using a cellular transmission protocol such
as enhanced data rates for global evolution (EDGE), general packet
radio service (GPRS), global system for mobile communications
(GSM), Internet protocol multimedia subsystem (IMS), universal
mobile telecommunications system (UMTS), etc., as well as any other
suitable wireless medium, e.g., microwave access (WiMAX), Long Term
Evolution (LTE) networks, code division multiple access (CDMA),
wideband code division multiple access (WCDMA), wireless fidelity
(WiFi), satellite, and the like, or any combination thereof.
[0148] The encoded signals are then routed to an equalizer 1025 for
compensation of any frequency-dependent impairments that occur
during transmission though the air such as phase and amplitude
distortion. After equalizing the bit stream, the modulator 1027
combines the signal with a RF signal generated in the RF interface
1029. The modulator 1027 generates a sine wave by way of frequency
or phase modulation. In order to prepare the signal for
transmission, an up-converter 1031 combines the sine wave output
from the modulator 1027 with another sine wave generated by a
synthesizer 1033 to achieve the desired frequency of transmission.
The signal is then sent through a PA 1019 to increase the signal to
an appropriate power level. In practical systems, the PA 1019 acts
as a variable gain amplifier whose gain is controlled by the DSP
1005 from information received from a network base station. The
signal is then filtered within the duplexer 1021 and optionally
sent to an antenna coupler 1035 to match impedances to provide
maximum power transfer. Finally, the signal is transmitted via
antenna 1017 to a local base station. An automatic gain control
(AGC) can be supplied to control the gain of the final stages of
the receiver. The signals may be forwarded from there to a remote
telephone which may be another cellular telephone, any other mobile
phone or a land-line connected to a Public Switched Telephone
Network (PSTN), or other telephony networks.
[0149] Voice signals transmitted to the mobile terminal 1001 are
received via antenna 1017 and immediately amplified by a low noise
amplifier (LNA) 1037. A down-converter 1039 lowers the carrier
frequency while the demodulator 1041 strips away the RF leaving
only a digital bit stream. The signal then goes through the
equalizer 1025 and is processed by the DSP 1005. A Digital to
Analog Converter (DAC) 1043 converts the signal and the resulting
output is transmitted to the user through the speaker 1045, all
under control of a Main Control Unit (MCU) 1003 which can be
implemented as a Central Processing Unit (CPU) (not shown).
[0150] The MCU 1003 receives various signals including input
signals from the keyboard 1047. The keyboard 1047 and/or the MCU
1003 in combination with other user input components (e.g., the
microphone 1011) comprise a user interface circuitry for managing
user input. The MCU 1003 runs a user interface software to
facilitate user control of at least some functions of the mobile
terminal 1001 to grant ownership rights for content posted at a
service. The MCU 1003 also delivers a display command and a switch
command to the display 1007 and to the speech output switching
controller, respectively. Further, the MCU 1003 exchanges
information with the DSP 1005 and can access an optionally
incorporated SIM card 1049 and a memory 1051. In addition, the MCU
1003 executes various control functions required of the terminal.
The DSP 1005 may, depending upon the implementation, perform any of
a variety of conventional digital processing functions on the voice
signals. Additionally, DSP 1005 determines the background noise
level of the local environment from the signals detected by
microphone 1011 and sets the gain of microphone 1011 to a level
selected to compensate for the natural tendency of the user of the
mobile terminal 1001.
[0151] The CODEC 1013 includes the ADC 1023 and DAC 1043. The
memory 1051 stores various data including call incoming tone data
and is capable of storing other data including music data received
via, e.g., the global Internet. The software module could reside in
RAM memory, flash memory, registers, or any other form of writable
storage medium known in the art. The memory device 1051 may be, but
not limited to, a single memory, CD, DVD, ROM, RAM, EEPROM, optical
storage, magnetic disk storage, flash memory storage, or any other
non-volatile storage medium capable of storing digital data.
[0152] An optionally incorporated SIM card 1049 carries, for
instance, important information, such as the cellular phone number,
the carrier supplying service, subscription details, and security
information. The SIM card 1049 serves primarily to identify the
mobile terminal 1001 on a radio network. The card 1049 also
contains a memory for storing a personal telephone number registry,
text messages, and user specific mobile terminal settings.
[0153] While the invention has been described in connection with a
number of embodiments and implementations, the invention is not so
limited but covers various obvious modifications and equivalent
arrangements, which fall within the purview of the appended claims.
Although features of the invention are expressed in certain
combinations among the claims, it is contemplated that these
features can be arranged in any combination and order.
* * * * *