U.S. patent application number 14/180610 was filed with the patent office on 2015-08-20 for image session identifier techniques.
This patent application is currently assigned to Adobe Systems Incorporated. The applicant listed for this patent is Adobe Systems Incorporated. Invention is credited to Thomas T. Donahue, Richard P. Sinn, Allan M. Young.
Application Number | 20150237143 14/180610 |
Document ID | / |
Family ID | 53799203 |
Filed Date | 2015-08-20 |
United States Patent
Application |
20150237143 |
Kind Code |
A1 |
Sinn; Richard P. ; et
al. |
August 20, 2015 |
Image Session Identifier Techniques
Abstract
Image session identifier techniques are described. In one or
more implementations, a request is received to create an image
sharing session and a session identifier is generated for the image
sharing session that is configured to act as a credential to join
the image sharing session as a member. A communication is formed
that includes the generated session identifier and that is
configured for communication via a network to an originator of the
request.
Inventors: |
Sinn; Richard P.; (Milpitas,
CA) ; Young; Allan M.; (Santa Rosa, CA) ;
Donahue; Thomas T.; (Carlsbad, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Adobe Systems Incorporated |
|
|
|
|
|
Assignee: |
Adobe Systems Incorporated
|
Family ID: |
53799203 |
Appl. No.: |
14/180610 |
Filed: |
February 14, 2014 |
Current U.S.
Class: |
709/227 |
Current CPC
Class: |
H04W 12/003 20190101;
H04W 12/04 20130101; H04L 67/141 20130101; H04L 67/10 20130101;
H04N 21/60 20130101; H04W 4/21 20180201; H04L 51/32 20130101; H04W
12/00522 20190101; H04L 51/10 20130101; H04L 67/14 20130101; H04L
67/146 20130101 |
International
Class: |
H04L 29/08 20060101
H04L029/08 |
Claims
1. A method implemented by one or more computing devices, the
method comprising: receiving a request to initiate an image sharing
session; generating a session identifier for the image sharing
session that is configured to act as a credential to join the image
sharing session as a member; and forming a communication that
includes the generated session identifier and that is configured
for communication via a network to an originator of the
request.
2. A method as described in claim 1, wherein the session identifier
is configured as a string of one or more text characters that are
human readable.
3. A method as described in claim 1, wherein the session identifier
is a quick response (QR) code.
4. A method as described in claim 1, wherein the session identifier
is included as part of a network address that is usable to access
images associated with the image sharing session without providing
additional credentials.
5. A method as described in claim 1, wherein the generating
includes querying a collection of reserved session identifiers to
determine availability of the generated session identifier and the
forming is performed response to an indication of availability.
6. A method as described in claim 1, wherein the generating
includes querying a collection of existing session identifiers to
determine availability of the generated session identifier and the
forming is performed response to an indication of availability.
7. A method as described in claim 1, wherein the generating is
based at least in part on a suggested session identifier supplied
by the originator of the request.
8. A method as described in claim 1, wherein the generating is
based at least in part on a description of one or more
characteristics of an event, the description supplied by the
originator of the request.
9. A method as described in claim 1, wherein the generating
includes managing a length of the generated session identifier
based at least in part on a number of existing session
identifiers.
10. A method as described in claim 1, further comprising generating
a user interface for output by a computing device to the originator
that is usable to manage membership of the image sharing
session.
11. A method as described in claim 10, wherein the user interface
is configured to support verification that a potential member that
supplied the session identifier is to be added to the image sharing
session.
12. A method as described in claim 1, further comprising managing
the image sharing session including permitting distribution of
images between members of the image sharing session and restricting
distribution of images to non-members of the image sharing
session.
13. A method comprising: receiving a request from an originator to
create an image sharing session, the request generated through
interaction by the originator with an application executable by a
computing device of the originator; responsive to the receiving of
the request, generating a plurality of session identifiers for an
image sharing session that is configured to act as a credential to
join the image sharing session as a member, the plurality of
session identifiers including a quick response (QR) code, a network
address that is usable to access images associated with the image
sharing session without providing additional credentials, and a
string of one or more text characters that are human readable; and
forming a communication that includes the generated plurality of
session identifiers that are configured for distribution by the
originator via the application to one or more potential members of
the image sharing session.
14. A method as described in claim 13, wherein the network address
is included in a communication formed responsive to selection by an
option of the application by the originator to distribute the
session identifier via an email or text message to the one or more
potential members of the image sharing session.
15. A method as described in claim 13, wherein the network address
is usable to access images associated with the image sharing
session without providing additional credentials.
16. A method as described in claim 13, wherein the user interface
is configured to support verification that a potential member that
supplied the session identifier is to be added to the image sharing
session
17. A method as described in claim 13, further comprising managing
the image sharing session including permitting distribution of
images between members of the image sharing session and restricting
distribution of images to non-members of the image sharing
session.
18. A method as described in claim 13, the generating includes
managing a length of the string based at least in part on a number
of existing session identifiers.
19. A system comprising: one or more computing devices having one
or more modules implemented at least partially in hardware, the one
or more modules configured to perform operations comprising:
exposing a session identifier for an image sharing session that is
configured to act as a credential to join the image sharing session
as a member; receiving a communication including the session
identifier from a potential member; adding the potential member as
a member of the image sharing session to support sharing of images
between members of the image sharing session; and generating a user
interface that is usable by a manager of the image sharing session
to manage membership of the image sharing session.
20. A system as described in claim 19, wherein the user interface
is configured to support verification that a potential member that
supplied the session identifier is to be added to the image sharing
session.
Description
BACKGROUND
[0001] The prevalence of image capture devices is ever increasing.
This may be due in part to inclusion of cameras in mobile
communications devices such as mobile phones, tablets, and so on.
Because of this, users may be able to capture images at a variety
of different locations as desired.
[0002] For example, a user may view and/or participate in an event,
such as a sports event, concert, social event (e.g., wedding,
birthday), and so on. Because the event may have quite a few
attendees, there may be a good likelihood of images being captured
by a large portion of the attendees due to the prevalence of image
capture devices. However, conventional techniques that were
utilized to share images could be involved and thus even though
images may be captured by a variety of different attendees it may
be difficult to share these images between the attendees.
SUMMARY
[0003] Image session identifier techniques are described. In one or
more implementations, a request is received to create an image
sharing session and a session identifier is generated for the image
sharing session that is configured to act as a credential to join
the image sharing session as a member. A communication is formed
that includes the generated session identifier and that is
configured for communication via a network to an originator of the
request.
[0004] In one or more implementations, a request is received from
an originator to create an image sharing session, the request
generated through interaction by the originator with an application
executable by a computing device of the originator. Responsive to
the receipt of the request, a plurality of session identifiers are
generated for an image sharing session that is configured to act as
a credential to join the image sharing session as a member. The
plurality of session identifiers include a quick response (QR)
code, a network address that is usable to access images associated
with the image sharing session without providing additional
credentials, and a string of one or more text characters that are
human readable. A communication is formed that includes the
generated plurality of session identifiers that are configured for
distribution by the origination via the application to one or more
potential members of the image sharing session.
[0005] In one or more implementations a system includes one or more
computing devices having one or more modules implemented at least
partially in hardware, the one or more modules are configured to
perform operations. The operations include exposing a session
identifier for an image sharing session that is configured to act
as a credential to join the image sharing session as a member,
receiving a communication including the session identifier from a
potential member, and adding the potential member as a member of
the image sharing session to support sharing of images between
members of the image sharing session. The operations also include
generating a user interface that is usable by a manager of the
image sharing session to manage membership of the image sharing
session.
[0006] This Summary introduces a selection of concepts in a
simplified form that are further described below in the Detailed
Description. As such, this Summary is not intended to identify
essential features of the claimed subject matter, nor is it
intended to be used as an aid in determining the scope of the
claimed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The detailed description is described with reference to the
accompanying figures. In the figures, the left-most digit(s) of a
reference number identifies the figure in which the reference
number first appears. The use of the same reference numbers in
different instances in the description and the figures may indicate
similar or identical items. Entities represented in the figures may
be indicative of one or more entities and thus reference may be
made interchangeably to single or plural forms of the entities in
the discussion.
[0008] FIG. 1 is an illustration of an environment in an example
implementation that is operable to employ techniques described
herein relating to image session identifiers.
[0009] FIG. 2 depicts an example system that employs image session
identifier techniques to invite potential members to join an image
sharing session.
[0010] FIG. 3 depicts a system in an example implementation in
which generation of the session identifier of FIG. 1 is shown in
greater detail.
[0011] FIG. 4 depicts an example implementation showing a variety
of different configurations and distribution techniques supported
by a session identifier.
[0012] FIG. 5 depicts an example system that employs a distribution
technique to invite potential members to join an image sharing
session using a scanning technique.
[0013] FIG. 6 is a flow diagram depicting a procedure in an example
implementation in which a session identifier for an image sharing
session is generated responsive to a request.
[0014] FIG. 7 is a flow diagram depicting another procedure in an
example implementation in which a plurality of session identifiers
are generated.
[0015] FIG. 8 illustrates an example system including various
components of an example device that can be implemented as any type
of computing device as described and/or utilize with reference to
FIGS. 1-7 to implement embodiments of the techniques described
herein.
DETAILED DESCRIPTION
[0016] Overview
[0017] In group photography, one of the most difficult problems is
to gather people in a group to take and share pictures together of
an event. The problem becomes even more difficult for large events,
such as for a national sporting event, concert of a popular singer,
a big wedding or any other event having, ten, hundreds, and even
thousands of people.
[0018] Conventional techniques, however, required a user to have
knowledge of an identifier of a potential contributor, e.g., email
address, phone number, social network name, and so on. The user
then somehow invited the potential contributor manually via an
email, social network service, and so on. After the potential
contributor accepts the invitation, the contributor may then join
in sharing of images. This manual event management system may
therefore create a relatively high bar for the user and well as the
contributor to "jump through" before being able to share
images.
[0019] Image session identifier techniques are described. In one or
more implementations, an image session identifier is generated that
is usable as a credential to join an image sharing session. Thus,
rather that obtain user identification and then use this
identification to add the user to an image sharing session as
described above, an image session identifier of the image sharing
session itself may be utilized as a credential and support
management of access to the image sharing session.
[0020] A user, for instance, may utilize an application obtained
from an online application store or elsewhere to form a request to
create an image sharing session. Thus, the user in this instance is
an originator of the image sharing session. A service provider may
receive the request and generate a session identifier to be
communicated back to the originator as well as leverage the
identifier to manage the image sharing session. The session
identifier may be configured and distributed in a variety of
different ways, such as via email, SMS, as a quick response (QR)
code (e.g., included as part of a poster, brochure, and so on),
speak a string of textual characters included in the session
identifier (e.g., for manual entry by another user of the
application to join the event), and so forth.
[0021] Thus, the session identifier may enable a potential
contributor to directly enter the image sharing session and may in
turn email, SMS or use any offline technique to distribute the
session identifier to other potential contributors. Anyone with the
session identifier may also then leverage the identifier to easily
join the image sharing session.
[0022] Further, the originator (i.e., manager) of the image sharing
session may also be granted permissions to manage membership of the
image sharing session as well as images shared as part of the image
sharing session. In this way, the originator may be granted full
control of a contributor list of a session and can easily delete
and block potential contributors from joining the session through
interaction with a user interface output by the application. Thus,
the image session identifier may be utilized to enable efficient
access and management of contributors as part of an image sharing
session. Further discussion of these and other examples may be
found in relation to the following sections.
[0023] In the following discussion, an example environment is first
described that may employ the image session identifier techniques
described herein. Example procedures are then described which may
be performed in the example environment as well as other
environments. Consequently, performance of the example procedures
is not limited to the example environment and the example
environment is not limited to performance of the example
procedures.
[0024] Example Environment
[0025] FIG. 1 is an illustration of an environment 100 in an
example implementation that is operable to employ techniques
described herein. The illustrated environment 100 includes
computing devices 102, 104 and a service provider 106 that are
communicatively coupled via a network 108. The computing devices
102, 104 may be configured in a variety of ways.
[0026] The computing devices 102, 104 for instance, may be
configured as desktop computers, laptop computers, a mobile device
(e.g., assuming a handheld configuration such as a tablet or mobile
phone), and so forth. Thus, the computing devices 102, 104 may
range from full resource devices with substantial memory and
processor resources (e.g., personal computers, game consoles) to a
low-resource device with limited memory and/or processing resources
(e.g., mobile devices, a dedicated camera, video recorder, and so
on). Additionally, each of the computing devices 102, 104 may be
representative of a plurality of different devices, such as
multiple servers utilized by a business to perform operations "over
the cloud" as shown as implementing the service provider 106 and as
further described in relation to FIG. 8.
[0027] Each of the computing devices 102, 104 is illustrated as
including a respective image capture device 110, 112. The images
capture devices 110, 112 are representative of software and
hardware functionality to capture images 114, 116, respectively. As
such, the image capture devices 110, 112 may be configured in a
variety of ways to capture images, such as through use of a charge
coupled device (CCD) and so on.
[0028] The computing devices 102, 104 are also illustrated as
including respective communication modules 118, 120. The
communication modules 118, 120 are representative of functionality
to communicate via the network 108. For example, the communication
modules 118, 120 may include software and hardware to support a
wired network connection, such as with a wired Ethernet, modem to a
plain old telephone system (POTS), cable connection, digital
subscriber line (DSL), and so on.
[0029] The communication modules 118, 120 may also include
functionality to communicate with the network 108 wirelessly. This
may include support of short to mid-range communication, which may
include near (e.g., IEEE 802.15.1 standards also known as
"Bluetooth") and midrange (e.g., IEEE 802.11 standards also known
as "Wi-Fi") wireless communications over a wireless local area
network. This may also include use for relatively far distances
over a wireless wide area network, including IEEE 802.16 which is
also known as "WiMAX," cellular technologies (e.g., 3G, 4G, LTE),
and so on.
[0030] As previously described, one of the most difficult problems
in group photography is to gather people in the group to take
pictures together in an event. Conventional techniques involved
manual invitations and collection of user identification via email
or via a social network to share images. However, invitations sent
this way often created obstacles for invitees, which could hinder a
user's desire to participate in sharing images.
[0031] Accordingly, image session invitation and management
techniques may be employed by the environment 100. As illustrated,
the computing devices 102, 104 include respective image sharing
modules 122, 124 and the service provider 106 includes an image
sharing manager module 126 and storage 128. These modules are
representative of functionality to create and manage membership of
an image sharing session. For example, a user of computing device
102 may attend an event 130, such as a sporting event as
illustrated, a social event (e.g., birthday, wedding), concert,
speech, and so on. The image sharing module 122 may provide an
option to create an image sharing session for association with the
event through communication with the image sharing manger module
126 via the network 106.
[0032] The user may then utilize the image sharing module 122 and
computing device 102 to invite other attendees of the event 130 to
join the image sharing session. This may be performed in a variety
of ways, such as to employ a session identification module 132 to
generate session identifiers 134 that are usable as credentials to
add potential members to the image sharing session.
[0033] The image sharing session may then be managed by the image
sharing manager module 126 to share images between members of the
session. This may include support of sharing of images from storage
128, support of direct communication between the computing devices
102, 104 without communication through the service provider 106,
and so on. Further discussion of these and other techniques may be
found in the following examples.
[0034] FIG. 2 depicts an example system 200 that employs image
session identifier techniques to invite potential members to join
an image sharing session. The system 200 is shown using first,
second, third, and fourth stages 202, 204, 206, 208. A user may
obtain the image sharing module 122 in a variety of ways, such as
via an application downloaded from the service provider 106, via an
application store maintained by another service provider (e.g.,
where the image sharing module 122 is available for a fee, is free
in return for viewing advertisements), and so on.
[0035] As shown in the first stage 202, the user may then use the
image sharing module 122 to interact with the image sharing manager
module 126 of the service provider 106. The image sharing module
112, for instance, may output a user interface via which a user may
interact to form a request 210 to be communicated over a network
108 to the service provider 106 to create an image sharing
session.
[0036] Thus, a user of the computing device 102 in this example may
be referred to as an originator of the request 210 and thus the
image sharing session. Additionally, a role of originator is not
limited to a user that initiated creation of the image sharing
session but may also refer to a user that has been granted
permissions to manage membership and other administrative functions
associated with an image sharing session as further described
below.
[0037] At the second stage 204, the service provider 106 has
received the request 210. In response, a session identification
module 132 is employed to generate a session identifier 134 for the
image sharing session. The session identifier 134 may be generated
and configured in a variety of ways, such as a string of text
characters, a QR code, a link to a network address, and so on as
further described in greater detail in relation to FIG. 3.
[0038] At the third stage 206, the session identifier 134 generated
at the second stage 204 is communicated over the network 108 back
to the computing device 102. The originator may then distribute the
session identifier 134 to enable other people to use the identifier
as a credential to join the image sharing session, such as to
disseminate the session identifier 134 to a user of computing
device 104 such that the user may participate as a member of the
image sharing session.
[0039] At the fourth stage 208, the service provider 106 manages
sharing of images 114, 116 between the computing devices 102, 104
as part of the image sharing session. For example, the image
sharing module 126 of the service provider 106 may output a user
interface via which users of the computing devices 102, 104 may
select which images to download, upload, and so on. In this way,
the images 114, 116 may be shared between the computing devices
102, 104 as part of the image sharing session. Thus, in this
example the session identifier 134 technique may support ease of
joining of the image sharing session with an originator of the
session having to utilize and know identifications of the user to
add them to the session.
[0040] Although a single invitation example was described in
relation to FIG. 2 it should be readily apparent that multiple
image sharing sessions may be supported concurrently. For example,
a single image may be shared with multiple image sharing sessions,
e.g., by selecting an image and then selecting session identifiers
of particular ones of the image sharing sessions.
[0041] FIG. 3 depicts a system 300 in an example implementation in
which generation of the session identifier 134 is shown in greater
detail. A request 210 is received by a service provider 106 and a
session identifier 134 is generated responsive to the request 210
as previously described. A user, for instance, may interact with a
user interface output by the image sharing module 122 to generate
the request and cause the request to be communicated to the service
provider 106, e.g., implemented as a web service.
[0042] The session identification module 132 may then generate a
session identifier 134 to uniquely identify the requested image
sharing session. The session identifier 134, for instance, may be
persistent such that the same session identifier 134 is generated
for a corresponding event. Additionally, the session identifier 134
may have a corresponding expiration date, and by default this may
be set to "last in perpetuity".
[0043] The originator may also set the expiration for a different
period of time based on the type of the event. The originator, for
instance, may set the expiration of the session identifier 134 of a
wedding photography event to last a single day after the wedding.
Thus, potential contributers may join the wedding photo image
sharing session before and during the wedding but not later than a
day after the wedding. The expiration of the session identifier 134
thus gives the originator control on when potential contributors
may join the image sharing session. Since the session identifier
134 is persistent with an originator controlled expiration, the
originator may safely share the session identifier 134 using any
online or offline technique without worrying that the session
identifier 134 will be invalided by the image sharing manager
module 126.
[0044] The session identifier 134 may be configured in a variety of
ways according to a wide variety of considerations. For example,
the request 210 may include information about a corresponding event
(e.g., a name of the event, location, and so forth) and leverage
this information in generating the session identifier 134. In
another example, the request 210 may include one or more requested
session identifier 134. The session identification module 132 may
then check a collection of existing session identifier 302 to
determine whether it is available.
[0045] Likewise, the session identification module 132 may also
check a collection of reserved session identifiers 304 to determine
whether the suggestion and/or an automatically generated session
identifier 134 created by the session identification module 132 is
available. For example, the registered session identifiers 304 may
include product names, event names, registered and unregistered
trademarks, taglines, product and service logos, and so on. Since
the session identifier 134 is persistent, an administrator at the
service provider 106 may make reserved session identifiers 304
available for a fee, e.g., via an auction and so on, for special
event opportunities. The session identifier 134 may be configured
in a wide variety of ways and consequently support distribution in
an equally wide variety of ways, further discussion of which
follows and is shown in a corresponding figure.
[0046] FIG. 4 depicts an example implementation 400 showing a
variety of different configurations and distribution techniques
supported by a session identifier. First, second, and third
examples 402, 404, 406 are illustrated of configurations and
distribution techniques of a session identifier.
[0047] At the first example 402, the session identifier 134 is
configured to be communicated via a network 108. For example, a
user may interact with a user interface output by the image sharing
module 122. The user may then select an option to cause the session
identifier 134 to be communicated via the network 108, such as an
SMS, email, and so on. In this example, the session identifier 134
is embedded in and therefore formed as part of a network address,
such as a URL having the following syntax: [0048]
http://adobegrouppixdomain.com/invite?inviterName=Richard+Sinn&event
Name=HighSchoolReunion&inviteID=2X7VN6
[0049] When the potential contributor associated with computing
device 104 clicks on the "Open" button displayed in the URL output
by a corresponding image sharing module 124, deep linking may be
utilized to allow the contributor to enter the invited image
sharing session directly without any additional authentication or
navigation. This enables ease of access to the image sharing
session for potential contributors.
[0050] The session identifier 134 may also be configured as a
string of text characters that may be spoken between users as shown
in the second example 404. A user, upon hearing the string, may
then manually input the string into the image sharing module 124 of
the computing device 104 to join the corresponding image sharing
session.
[0051] The session identifier 134, for instance, may be formatted
as a string of six alphanumeric characters. The service provider
106 may also leverage a flexible backend database to track the
existing session identifier 134. Thus, if a number of session
identifiers becomes large such that an amount of available session
identifiers are limited, the service provider 106 may automatically
and without user intervention allow a format increase from six
alphanumeric to eight alphanumeric to ten alphanumeric characters
and so on. In this way, the service provider 106 may increase the
number of supported session identifiers as use of the image sharing
module increases in popularity.
[0052] The session identifier 134 may also be configured as a QR
code as illustrated in the third example 406. A potential
contributor using the computing device 104 may then scan the QR
code using an image capture device 112 thereby capturing an image
408 that is usable to navigate to the service provider 106 over the
network 108 to join the image sharing session. For example, the
network address in the first example 402 may be formed as a QR code
that causes the computing device 104 to perform the deep linking as
previously described, further discussion of which may be found
below and shown in a corresponding figure.
[0053] FIG. 5 depicts an example system 500 that employs a session
identifier technique to invite potential members to join an image
sharing session using a scanning technique. The system 500 is also
shown using first, second, third, and fourth stages 502, 504, 506,
508. As before, the computing devices 102, 104 may obtain the image
sharing modules in a variety of ways.
[0054] At the first stage 502, users of the computing devices 102,
104 may wish to participate in an image sharing session, which in
this instance is also created by a user of the computing device
102. Thus, a user interface may be displayed by the computing
device 102 that givens an option to add a member to an image
sharing session. A user interface displayed by the computing device
104, however, may provide an option that is selectable to join an
image sharing session.
[0055] At the second stage 504, responsive to selection of the
option to add a contributor, the computing device 102 displays a
session identifier that is usable to identify the image sharing
session, which in this instance in a quick response (QR) code. The
session identifier, for instance, may include data received from
the service provider 106 responsive to creating the image sharing
session that is usable to uniquely identify the session by the
image sharing manager module 126.
[0056] The computing device 104 may then employ an image capture
device 112 to capture an image 510 of the display of the
representation by the computing device 102. Thus, the image 510 may
be scanned by "taking a picture" of the other computing device 102
that shows the representation on the display device.
[0057] At the third stage 506, the image sharing module 124 forms a
communication for communication to the service provider 106. The
communication may include the session identifier 134, such as the
image 510 of the representation, information obtained by processing
the image 510, and so on. A communication module 120 may then
communicate the session identifier 134 via the network 108 of FIG.
1, which although wireless communication is illustrated is should
be readily apparent that wired techniques are also contemplated.
The session identifier 134 is usable by the service provider 106 to
add the potential member as a member to the image sharing
session.
[0058] At the fourth stage 508, the service provider 106 manages
sharing of images 114, 116 between the computing devices 102, 104
as part of the image sharing session. As before, the images 114,
116 may be shared between the computing devices 102, 104 as part of
the image sharing session.
[0059] The service provider 106 may also support a variety of
different techniques usable to manage membership of an image
sharing session. For example, the originator of the image sharing
session (or a subsequent user that has been given corresponding
permissions) may interact with a user interface to view a list of
members of an image sharing session, receive a notification upon a
user joining a session, and so on. The originator may then interact
with the list to remove members from an image sharing session. The
originator may also add a person to a blocked list such that any
subsequent request by that person to join the image sharing session
is automatically denied.
[0060] Thus, an image session identifier system is described that
is configured permit potential contributors to quickly, easily, and
securely join an image sharing session with minimal overhead,
thereby accelerating and enhancing conversion and contributing to a
positive user experience. Use of a persistent session identifier
may also support use of offline invitation techniques such as
printed posters, brochures, sales fliers, and so on. Additionally,
a large number of potential contributors may readily join an image
sharing session and session identifiers may be upgradable and
expandable to address increasing popularity of these techniques.
Deep linking of the session identifier may further permit
contributors direct access to the session and full session access
control may be provided via permissions to an originator of the
session, e.g., to permit blacklist and editing of current
contributor list of members of the session. Further, a collection
of reserved session identifiers may be leveraged as a revenue
generation opportunity, e.g., via an offline auction of meaningful
session identifiers.
[0061] Example Procedures
[0062] The following discussion describes image session identifier
techniques that may be implemented utilizing the previously
described systems and devices. Aspects of each of the procedures
may be implemented in hardware, firmware, or software, or a
combination thereof. The procedures are shown as a set of blocks
that specify operations performed by one or more devices and are
not necessarily limited to the orders shown for performing the
operations by the respective blocks. In portions of the following
discussion, reference will be made to FIGS. 1-5.
[0063] FIG. 6 depicts a procedure 600 in an example implementation
in which a session identifier for an image sharing session is
generated responsive to a request. A request is received to create
an image sharing session (block 602) and a session identifier is
generated for the image sharing session that is configured to act
as a credential to join the image sharing session as a member
(block 604). As shown in FIG. 2, for instance, the service provider
106 may include an image sharing manager module 126 that is
configured to manage an image sharing session.
[0064] The image sharing manager module 126 may include a session
identification module 132 that is representative of functionality
to generate a session identifier 134 automatically and without
further user intervention. This may include use of information
provided in the request 210 that describes an event associated with
the image sharing session, use of existing session identifier 302
and reserved session identifier 304 collections, and so on.
[0065] A communication is formed that includes the generated
session identifier and that is configured for communication via a
network to an originator of the request (block 606). The
communication, for instance, may include the session identifier in
a human readable form that may be spoken or typed by a user as a
credential to gain access to an image sharing session without
providing additional information, such as to identify the
particular user although other examples are also contemplated.
[0066] FIG. 7 depicts another procedure 700 in an example
implementation in which a plurality of session identifiers are
generated. A request is received from an originator to create an
image sharing session, the request generated through interaction by
the originator with an application executable by a computing device
of the originator (block 702). The image sharing module 122 in this
instance may be obtained as a targeted application from an
application store as previously described.
[0067] Responsive to the receipt of the request, a plurality of
session identifiers are generated for an image sharing session that
is configured to act as a credential to join the image sharing
session as a member (block 704). The plurality of session
identifiers may be configured in a variety of ways. For example,
the session identifiers may include a quick response (QR) code, a
network address that is usable to access images associated with the
image sharing session without providing additional credentials, and
a string of one or more text characters that are human
readable.
[0068] A communication is formed that includes the generated
plurality of session identifiers that are configured for
distribution by the origination via the application to one or more
potential members of the image sharing session (block 706). This
variety of identifier configurations may then be leveraged by the
image sharing module 122 for distribution to a variety of different
potential contributors in a variety of different ways as shown and
described in relation to FIG. 4.
[0069] Example System and Device
[0070] FIG. 8 illustrates an example system generally at 800 that
includes an example computing device 802 that is representative of
one or more computing systems and/or devices that may implement the
various techniques described herein. This is illustrated through
inclusion of the image sharing module 122 and image sharing manager
module 126. The computing device 802 may be, for example, a server
of a service provider, a device associated with a client (e.g., a
client device), an on-chip system, and/or any other suitable
computing device or computing system.
[0071] The example computing device 802 as illustrated includes a
processing system 804, one or more computer-readable media 806, and
one or more I/O interface 808 that are communicatively coupled, one
to another. Although not shown, the computing device 802 may
further include a system bus or other data and command transfer
system that couples the various components, one to another. A
system bus can include any one or combination of different bus
structures, such as a memory bus or memory controller, a peripheral
bus, a universal serial bus, and/or a processor or local bus that
utilizes any of a variety of bus architectures. A variety of other
examples are also contemplated, such as control and data lines.
[0072] The processing system 804 is representative of functionality
to perform one or more operations using hardware. Accordingly, the
processing system 804 is illustrated as including hardware element
810 that may be configured as processors, functional blocks, and so
forth. This may include implementation in hardware as an
application specific integrated circuit or other logic device
formed using one or more semiconductors. The hardware elements 810
are not limited by the materials from which they are formed or the
processing mechanisms employed therein. For example, processors may
be comprised of semiconductor(s) and/or transistors (e.g.,
electronic integrated circuits (ICs)). In such a context,
processor-executable instructions may be electronically-executable
instructions.
[0073] The computer-readable storage media 806 is illustrated as
including memory/storage 812. The memory/storage 812 represents
memory/storage capacity associated with one or more
computer-readable media. The memory/storage component 812 may
include volatile media (such as random access memory (RAM)) and/or
nonvolatile media (such as read only memory (ROM), Flash memory,
optical disks, magnetic disks, and so forth). The memory/storage
component 812 may include fixed media (e.g., RAM, ROM, a fixed hard
drive, and so on) as well as removable media (e.g., Flash memory, a
removable hard drive, an optical disc, and so forth). The
computer-readable media 806 may be configured in a variety of other
ways as further described below.
[0074] Input/output interface(s) 808 are representative of
functionality to allow a user to enter commands and information to
computing device 802, and also allow information to be presented to
the user and/or other components or devices using various
input/output devices. Examples of input devices include a keyboard,
a cursor control device (e.g., a mouse), a microphone, a scanner,
touch functionality (e.g., capacitive or other sensors that are
configured to detect physical touch), a camera (e.g., which may
employ visible or non-visible wavelengths such as infrared
frequencies to recognize movement as gestures that do not involve
touch), and so forth. Examples of output devices include a display
device (e.g., a monitor or projector), speakers, a printer, a
network card, tactile-response device, and so forth. Thus, the
computing device 802 may be configured in a variety of ways as
further described below to support user interaction.
[0075] Various techniques may be described herein in the general
context of software, hardware elements, or program modules.
Generally, such modules include routines, programs, objects,
elements, components, data structures, and so forth that perform
particular tasks or implement particular abstract data types. The
terms "module," "functionality," and "component" as used herein
generally represent software, firmware, hardware, or a combination
thereof. The features of the techniques described herein are
platform-independent, meaning that the techniques may be
implemented on a variety of commercial computing platforms having a
variety of processors.
[0076] An implementation of the described modules and techniques
may be stored on or transmitted across some form of
computer-readable media. The computer-readable media may include a
variety of media that may be accessed by the computing device 802.
By way of example, and not limitation, computer-readable media may
include "computer-readable storage media" and "computer-readable
signal media."
[0077] "Computer-readable storage media" may refer to media and/or
devices that enable persistent and/or non-transitory storage of
information in contrast to mere signal transmission, carrier waves,
or signals per se. Thus, computer-readable storage media refers to
non-signal bearing media. The computer-readable storage media
includes hardware such as volatile and non-volatile, removable and
non-removable media and/or storage devices implemented in a method
or technology suitable for storage of information such as computer
readable instructions, data structures, program modules, logic
elements/circuits, or other data. Examples of computer-readable
storage media may include, but are not limited to, RAM, ROM,
EEPROM, flash memory or other memory technology, CD-ROM, digital
versatile disks (DVD) or other optical storage, hard disks,
magnetic cassettes, magnetic tape, magnetic disk storage or other
magnetic storage devices, or other storage device, tangible media,
or article of manufacture suitable to store the desired information
and which may be accessed by a computer.
[0078] "Computer-readable signal media" may refer to a
signal-bearing medium that is configured to transmit instructions
to the hardware of the computing device 802, such as via a network.
Signal media typically may embody computer readable instructions,
data structures, program modules, or other data in a modulated data
signal, such as carrier waves, data signals, or other transport
mechanism. Signal media also include any information delivery
media. The term "modulated data signal" means a signal that has one
or more of its characteristics set or changed in such a manner as
to encode information in the signal. By way of example, and not
limitation, communication media include wired media such as a wired
network or direct-wired connection, and wireless media such as
acoustic, RF, infrared, and other wireless media.
[0079] As previously described, hardware elements 810 and
computer-readable media 806 are representative of modules,
programmable device logic and/or fixed device logic implemented in
a hardware form that may be employed in some embodiments to
implement at least some aspects of the techniques described herein,
such as to perform one or more instructions. Hardware may include
components of an integrated circuit or on-chip system, an
application-specific integrated circuit (ASIC), a
field-programmable gate array (FPGA), a complex programmable logic
device (CPLD), and other implementations in silicon or other
hardware. In this context, hardware may operate as a processing
device that performs program tasks defined by instructions and/or
logic embodied by the hardware as well as a hardware utilized to
store instructions for execution, e.g., the computer-readable
storage media described previously.
[0080] Combinations of the foregoing may also be employed to
implement various techniques described herein. Accordingly,
software, hardware, or executable modules may be implemented as one
or more instructions and/or logic embodied on some form of
computer-readable storage media and/or by one or more hardware
elements 810. The computing device 802 may be configured to
implement particular instructions and/or functions corresponding to
the software and/or hardware modules. Accordingly, implementation
of a module that is executable by the computing device 802 as
software may be achieved at least partially in hardware, e.g.,
through use of computer-readable storage media and/or hardware
elements 810 of the processing system 804. The instructions and/or
functions may be executable/operable by one or more articles of
manufacture (for example, one or more computing devices 802 and/or
processing systems 804) to implement techniques, modules, and
examples described herein.
[0081] The techniques described herein may be supported by various
configurations of the computing device 802 and are not limited to
the specific examples of the techniques described herein. This
functionality may also be implemented all or in part through use of
a distributed system, such as over a "cloud" 814 via a platform 816
as described below.
[0082] The cloud 814 includes and/or is representative of a
platform 816 for resources 818. The platform 816 abstracts
underlying functionality of hardware (e.g., servers) and software
resources of the cloud 814. The resources 818 may include
applications and/or data that can be utilized while computer
processing is executed on servers that are remote from the
computing device 802. Resources 818 can also include services
provided over the Internet and/or through a subscriber network,
such as a cellular or Wi-Fi network.
[0083] The platform 816 may abstract resources and functions to
connect the computing device 802 with other computing devices. The
platform 816 may also serve to abstract scaling of resources to
provide a corresponding level of scale to encountered demand for
the resources 818 that are implemented via the platform 816.
Accordingly, in an interconnected device embodiment, implementation
of functionality described herein may be distributed throughout the
system 800. For example, the functionality may be implemented in
part on the computing device 802 as well as via the platform 816
that abstracts the functionality of the cloud 814.
CONCLUSION
[0084] Although the invention has been described in language
specific to structural features and/or methodological acts, it is
to be understood that the invention defined in the appended claims
is not necessarily limited to the specific features or acts
described. Rather, the specific features and acts are disclosed as
example forms of implementing the claimed invention.
* * * * *
References