Language selection

Search

Patent 2872695 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2872695
(54) English Title: METHOD, SYSTEM AND APPARATUS FOR DYNAMICALLY CONTROLLING WEB-BASED MEDIA GALLERIES
(54) French Title: METHODE, SYSTEME ET APPAREIL DE CONTROLE DYNAMIQUE DE GALERIES DE MEDIAS FONDEES SUR LE WEB
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04L 12/16 (2006.01)
  • G06F 16/9538 (2019.01)
  • G06Q 50/12 (2012.01)
  • H04L 51/10 (2022.01)
  • H04L 12/953 (2013.01)
(72) Inventors :
  • DAHAN, DANIEL (Canada)
(73) Owners :
  • IGNU INC. (Canada)
(71) Applicants :
  • IGNU INC. (Canada)
(74) Agent: PERRY + CURRIER
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2014-11-28
(41) Open to Public Inspection: 2016-05-28
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract



A method is provided of dynamically updating sequence data for media files in
a
media gallery. The method includes: receiving at a control server via a
network,
from a client device displaying the media gallery according to the sequence
data,
event data defining an interaction with a first media file in the media
gallery; at
the control server, storing the event data in a first database as a plurality
of
nodes; at the control server, determining whether the event data represents a
selection of the first media file; and when the determination is affirmative,
incrementing a counter corresponding to the first media file. In response to a

subsequent request for the gallery, the control server generates updated
sequence data for the gallery based on the counter.


Claims

Note: Claims are shown in the official language in which they were submitted.



We claim:
1. A method of dynamically updating sequence data for media files in a
media gallery, comprising:
receiving at a control server via a network, from a client device displaying
the media gallery according to the sequence data, event data defining an
interaction with a first media file in the media gallery;
at the control server, storing the event data in a first database as a
plurality of nodes;
at the control server, determining whether the event data represents a
selection of the first media file; and
when the determination is affirmative, incrementing a counter
corresponding to the first media file.
2. The method of claim 1, wherein the plurality of nodes comprise a first
node corresponding to the media gallery, a second node corresponding to the
media file, and a third node corresponding to the interaction.
3. The method of claim 2, wherein the third node contains references to the

first and second nodes.
4. The method of claim 1, further comprising:
receiving, at the control server from the client device, further event data
defining a further interaction with a second media file in the media gallery;
at the control server, storing the further event data in the first database;
at the control server, determining whether the further event data
represents a selection of the second media file; and
when the determination is affirmative, incrementing a counter
corresponding to the second media file.


5. The method of claim 4, wherein storing the further event data comprises
creating a fourth node corresponding to the further interaction, the fourth
node
containing references to the first and second nodes.
6. The method of claim 4, further comprising storing the counters
corresponding to the first and second media files in association with an
identifier
of the gallery.
7. The method of claim 4, further comprising:
receiving a request for the media gallery from another client device;
transmitting a query for the media gallery to a gallery server;
responsive to the query, receiving at least the sequence data from the
gallery server;
retrieving the counters corresponding to the first and second media files;
generating updated sequence data based on the sequence data and the
counters; and
sending the media gallery with the updated sequence data to the other
client device.
8. The method of claim 7, wherein the updated sequence data contains an
identifier of each media file in the media gallery, and a position
corresponding to
each media file identifier.
9. The method of claim 8, further comprising assigning the positions to the

media file identifiers in descending order of the corresponding counters.
10. The method of claim 1, wherein the media files are selected from the
group consisting of image files and video files.
11. The method of claim 1, wherein a selection of the first media file
consists
of a user selection of the first media file via an input of the client device.
16


12. A control server, comprising:
a network interface;
a memory; and
a processor configured to perform the method of claim 1.
17

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02872695 2014-11-28
METHOD, SYSTEM AND APPARATUS FOR DYNAMICALLY CONTROLLING
WEB-BASED MEDIA GALLERIES
FIELD
[0001] The specification relates generally to web-based image galleries,
and
specifically to a method, system and apparatus for dynamically controlling
such
web-based image galleries.
BACKGROUND
[0002] Web-based media (e.g. images, videos) galleries are common, for
example on travel websites such as those operated by hotels. Media for such
galleries may be selected and arranged manually and in an ad-hoc fashion. Such

manual selection and arrangement of media in web-based galleries may be time-
consuming and error-prone, and thus makes inefficient use of available
computing resources.
BRIEF DESCRIPTIONS OF THE DRAWINGS
[0003] Embodiments are described with reference to the following
figures, in
which:
[0004] Figure 1 depicts a communication system, according to a non-limiting
embodiment;
[0005] Figure 2 depicts a web page with a gallery in the system of
Figure 1,
according to a non-limiting embodiment;
[0006] Figure 3 depicts the control server of Figure 1, according to a
non-
limiting embodiment;
[0007] Figure 4 depicts a method in the control server of Figure 1,
according
to a non-limiting embodiment;
[0008] Figure 5 depicts example nodes stored by the control server of
Figure
1, according to a non-limiting embodiment;
1

CA 02872695 2014-11-28
[0009] Figure 6 depicts further example nodes stored by the control
server of
Figure 1, according to a non-limiting embodiment;
[0010] Figure 7 depicts a continuation of the method of Figure 4,
according to
a non-limiting embodiment;
[0011] Figure 8 depicts an updated web page in the system of Figure 1,
according to a non-limiting embodiment;
[0012] Figure 9 depicts logical groupings of the components of the
control
server of Figure 1, according to a non-limiting embodiment;
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0013] Figure 1 depicts a communications system 100 including a
plurality of
client computing devices, of which three examples 104-1, 104-2 and 104-3 are
illustrated (referred to generically as a client computing device or client
device
104, and collectively as client computing devices or client devices 104). Each
client device 104 can be any one of a cellular phone, a smart phone, a tablet
computer, a desktop computer, and the like. Thus, client devices 104 each
include hardware components such as processors, memories, network
interfaces, input and output devices, and the like.
[0014] Client devices 104 are connected to a network 108 via
communications links that can be wired, wireless, or any suitable combination
of
wired and wireless. Network 108 can include any suitable combination of wired
and wireless networks, including but not limited to a Wide Area Network (WAN)
such as the Internet, a Local Area Network (LAN) such as a corporate data
network, cell phone networks, WiFi networks, WiMax networks and the like.
[0015] Via network 108, client devices 104 can communicate with other
computing devices, including a web server 112 hosting one or more web pages,
and a gallery server 116. Web server 112 and gallery server 116 can each be
based on any suitable computing platform, and thus each include at least one
processor, a memory, a network interface, and the like. In some embodiments,
2

CA 02872695 2014-11-28
web server 112 and gallery server 116 can be integrated into a single
computing
device, as will become apparent to those skilled in the art in the discussion
below. For illustrative purposes, however, web server 112 and gallery server
116
will be described as separate devices. System 100 also includes a control
server
120 connected to network 108, whose functions will be described in detail
herein.
[0016] In brief, client devices 104 can request the above-mentioned web
page
from web server 112, and receive the web page from web server 112 over
network 108 (see signal path 124). The web page includes a media gallery, to
be
discussed in greater detail below, that is hosted by gallery server 116. Thus,
once the web page has been received from web server 112 at client device 104-
1, client device 104-1 sends a further request for the media gallery.
[0017] The gallery hosted by gallery server 116 comprises a set of
computer-
readable instructions (e.g. a software object for execution by the processor
of
client device 104-1) and one or more media files such as images or videos. The
gallery's instructions configure client device 104-1 to display the media
files
within the web page received from web server 112. The gallery also includes
sequence data specifying an order in which the media files are to be displayed
at
client device 104-1. In addition, the media files are selectable when
displayed at
client device 104-1, and thus client device 104-1 can be controlled (e.g. by
an
operator, via a touch screen) to display the media files in a different order
than
that specified by the sequence data. In the present example, gallery server
116
hosts both the media itself (e.g. the image and video files) and the data
identifying the media files and their sequence. In other embodiments, the
media
and the identifying and sequence data may be stored separately.
[0018] Having received the web page from web server 112, client device 104-
1 requests the media gallery from a control server 120 (see signal path 128)
connected to network 108. Client device 104-1 is also configured (via
execution
of the instructions contained in the media gallery) to report interactions
with the
gallery at client device 104-1 (e.g. the selection of an image for display at
client
device 104-1) to control server 120 as event data.
3

CA 02872695 2014-11-28
[0019] Control server 120 is therefore configured to receive requests
for
galleries from client devices 104, and event data describing interactions with
the
galleries at client devices 104. Control server 120 is configured to respond
to
requests for galleries by retrieving the requested galleries from gallery
server 116
(see signal path 132), and sending the retrieved gallery to the requesting
client
device 104. The gallery sent from control server 120 to client device 104-1
can
include the media files themselves, or can include only the above-mentioned
instructions and metadata (a sequence of the media files and identifiers of
the
files, to be used by client device 104-1 to retrieve the media files via
network
108).
[0020] Before providing the gallery (including at least the sequencing
data) to
client device 104-1, however, control server 120 is configured to
automatically
and dynamically alter the sequencing data from its state as received from
gallery
server 116. The dynamic alterations to sequencing data are performed by
control
server 120 based on event data received from client devices 104, as will be
discussed below in greater detail.
[0021] Before discussing the functionality of control server 120 in
detail, an
example web page and image gallery will be discussed, followed by a brief
discussion of certain internal components of control server 120.
[0022] Turning to Figure 2A, an example web page 200 is illustrated, as
presented on a display of a client device 104. Web page 200, in the present
example, is a web page containing information about a hotel. Web server 112
can therefore be (but need not be) operated by the hotel, while gallery server
116
can be operated by a service provider contracted by the hotel. In other
examples,
however, web server 112 and gallery server 116 may be operated by entities
other than the hotel, or may both be operated by the hotel.
[0023] The contents of web page 200 is not particularly limited, and a
wide
variety of such web pages will now occur to those skilled in the art. A
gallery 204
is embedded within web page 200. The retrieval of web page 200 by client
device 104-1, as mentioned above, includes receiving web page 200 from web
4

CA 02872695 2014-11-28
server 112 and receiving gallery 204 from control server 120 (which in turn
received gallery 204 from gallery server 116). Image gallery 204 contains a
plurality of thumbnail images 208-1, 208-2, 208-3, 208-4, 208-5, 208-6, each
corresponding to an image of the hotel, a room within the hotel, a surrounding
area, and the like. In some embodiments, thumbnail images 208 are lower-
resolution versions of the corresponding images, while in other embodiments
thumbnail images 208 and the corresponding "full" images are the same files,
simply displayed at different physical sizes. As mentioned earlier, the actual

image files (or any other form of media, such as video files) can be received
from
control server, or can be retrieved by client devices 104 from another
computing
device (such as gallery server 116) using identifiers provided by control
server
120.
[0024] Web page 200 can also include other selectable elements, such as
a
booking element 212 for initiating an electronic booking process to secure a
room
at the hotel. Additional selectable elements will also occur to those skilled
in the
art. Other data, such as a hotel address 216, may also be included in web page

200.
[0025] As seen in Figure 2A, images 208 are presented in an order
specified
by sequence data 220 contained within gallery 204 (but not necessarily
explicitly
presented on the display of the client device 104). Any one of images 208 can
be
selected at the client device 104 to cause the client device 104 to present
the
image 208 in enlarged form (to the exclusion of the other images 208) within
gallery 204. Referring to Figure 2B, an updated rendering of web page 200 is
illustrated, following a selection at the client device 104 of thumbnail image
208-
3. Image 208-3 is presented in a larger format in image gallery 204, and the
remaining images 208 are no longer visible. In other embodiments, the other
images may remain visible, for example along the bottom of gallery 204, still
in
the order specified by sequence data 220. In some examples, gallery 204 can
also include a selectable element (not shown) for advancing from the view of
Figure 2B to the next image 208 in the sequence (image 208-4 in the present
example).
5

CA 02872695 2014-11-28
,
[0026] Having described web page 200 and gallery 204, certain internal
components of control server 120 will now be discussed, following which the
functionality of control server 120 will be described in detail.
[0027] Referring to Figure 3, a schematic diagram of certain internal
components of control server 120 is depicted. Control server 120 includes at
least one central processing unit (also referred to as a microprocessor or
simply
a processor) 300 interconnected with at least one non-transitory computer
readable storage medium such as a memory 304.
[0028] Processor 300 and memory 304 are generally comprised of one or
more integrated circuits (ICs), and can have a variety of structures, as will
now
occur to those skilled in the art (for example, more than one CPU can be
provided). Memory 304 can be any suitable combination of volatile (e.g. Random

Access Memory ("RAM")) and non-volatile (e.g. read only memory ("ROM"),
Electrically Erasable Programmable Read Only Memory ("EEPROM"), flash
memory, magnetic computer storage device, or optical disc) memory. In the
present example, memory 304 includes both a volatile memory and a non-volatile

memory. Other types of non-transitory computer readable storage medium are
also contemplated, such as compact discs (CD-ROM, CD-RW) and digital video
discs (DVD).
[0029] Control server 120 also includes a network interface 308
interconnected with processor 300. Network interface 308 allows control server

120 to communicate with other computing devices (e.g. image server 116) via
network 108. Network interface 308 thus includes any necessary hardware for
communicating over such networks, network interface controllers (NICs), radios
and the like.
[0030] Control server 120 can also include input devices (not shown)
such as
a keyboard and mouse, as well as output devices (not shown) such as a display.

Such input and output devices can be connected to processor 300 directly, for
example via a USB connection, or remotely via another computing device (not
6

CA 02872695 2014-11-28
shown). In other words, the input and output devices used for operator control
of
control server 120 can be local or remote to control server 120.
[0031] Control server 120 stores, in memory 304, a plurality of
applications
each comprising a plurality of computer-readable instructions that are
executable
by processor 300. In particular, memory 304 stores an event recordal
application
312, and a sequencing application 324 (respectively referred to herein as
applications 312 and 324).
[0032] When processor 300 executes the instructions of each of
applications
312 and 324, processor 300 performs various functions implemented by those
instructions, as will be discussed below. Processor 300, or control server 120
more generally, is therefore said to be "configured" to perform those
functions via
the execution of the above-mentioned applications.
[0033] Also stored in memory 304 are various data repositories,
including an
events database 328, and a media metadata index 336. The contents of each of
the above-mentioned repositories will be detailed below.
[0034] As stated earlier, control server 120 is configured to receive
event data
from client devices 104 (the event data representing interactions with image
gallery 204 at client devices 104), and to respond to requests for gallery 204
(or
any other of a plurality of galleries hosted by gallery server 116) from
client
devices 104 by retrieving gallery 204 from gallery server 116, updating the
sequencing of media files in gallery 204 and returning the updated gallery to
the
requesting client devices 104. The handling of event data and the generation
of
sequence data at control server 120 will now be described in detail, with
reference to Figure 4.
[0035] Figure 4 depicts a method 400 of dynamically updating an image
gallery. Method 400 will be discussed in conjunction with its performance in
system 100, and in particular, the blocks of method 400 will be described as
being performed by control server 120. It will be apparent to those skilled in
the
art, however, that method 400 can also be implemented in other systems and on
other servers.
7

CA 02872695 2014-11-28
[0036] Beginning at block 405, control server 120 is configured to
receive
event data from a client device 104, defining one or more interactions with
image
gallery 204 at that client device 104. In general, an interaction defined by
the
event data comprises the selection of a selectable element of gallery 204,
such
as an image 208. As noted earlier, gallery 204 includes computer-readable
instructions that cause client devices 104 to report activity related to
gallery 204
to control server 120.
[0037] The format in which the event data is received at block 405 is
not
particularly limited. In general, the event data includes an identifier
associated
with gallery 204, an identifier of the media file within gallery 204 that was
interacted with at the client device 104, and an indication of the type of
interaction with that element. Thus, for example, when image 208-3 as
illustrated
in Figure 2A is selected (e.g. by depression of a touch screen on client
device
104-1), client device 104-1 reports the selection to control server 120 via
network
108. The event data can also include other parameters, such as the date and
time.
[0038] The media identifiers in the event data can be, for example,
file names
or other identifiers employed by gallery server 116. The gallery identifiers
can
also be file names or other identifiers employed by gallery server 116 to
distinguish various galleries from each other. Thus, for example, the
following
event data is assumed to be received at block 405:
Table 1: Example event data from image server 116
Gallery ID Media ID Action Timestamp
204 208-3 View 11/23/2014; 08:00
[0039] The format of the event data received at control server 120 can
vary
widely, and the tabular format shown above is provided solely for illustrative
purposes.
8

CA 02872695 2014-11-28
[0040] Having received event data at block 405, control server 120 is
configured to determine, at block 410, whether any nodes corresponding to the
entity (e.g. gallery and media) identifiers in the received event data exist
in
events database 328. The determination at block 410 is performed by inspecting
database 328 to determine whether a node already exists with the received
gallery identifier, or whether a node already exists with the received media
identifier (no check is performed in connection with the type of action in the
event
data). A discussion of nodes and their structures will be provided below.
[0041] In the present example performance of method 400, it is assumed
that
events database 328 is empty, and thus the determination at block 410 is
negative. Control server 120 thus proceeds to block 415 and creates nodes
corresponding to the entities (gallery and media) defined in the event data
received at block 405. Having created the entity nodes at block 415, control
server 120 then creates a node corresponding to the action defined in the
event
data at block 420. When the determination is affirmative at block 410, control
server proceeds directly to block 420, without creating entity nodes. In other

embodiments, at block 420 control server 120 can also make updates to existing

entity nodes.
[0042] Turning to Figure 5, an example of database 328 following the
performance of blocks 415 and 420 is illustrated. Database 328 is a graph
database, which in the present example is structured according the known graph

database engine Neo4jTM. Database 328 thus includes a plurality of nodes. In
general, each event defined by event data received at block 405 results in the

creation or updating of three nodes: a node corresponding to gallery 204 (or
any
other gallery being interacted with at a client device 104), a node
corresponding
to the selected media element of gallery 204 (e.g. an image), and a node
corresponding to the action performed at client device 104 with respect to
that
media element. The action can be, for example, a selection action (referred to

herein as a "view", indicating activation of an input device at client device
104 to
select the media element) or a load action (indicating that the media element
has
been presented on the display of client device 104-1, but not in response to
an
9

CA 02872695 2014-11-28
input device activation). In other words, the nodes of database 328 represent
entities (galleries such as gallery 204 and media such as images 208) and
actions (such as selections of images 208 by client devices 104).
[0043] Thus, at blocks 415 and 420, control server 120 is configured to
create
three nodes 504, 508 and 512 in database 328, and to update those nodes to
contain the event data received at block 405. Each node contains various data
fields, including a node type and one or more node properties. In the present
example, node 504 corresponds to gallery 204 and thus includes a node type
field indicating that node 504 represents a gallery. Node 504 also includes
properties in the form of a gallery identifier and a creation timestamp
containing
the time and date at which node 504 was created in database 328. Control
server 120 can be configured to apply constraints to nodes, such as a
constraint
that the gallery identifier property must be unique.
[0044] Node 508 includes a node type field indicating that node 508
represents an image, as well as properties including an identifier of the
image
represented by node 508 and a creation timestamp as described above relative
to node 504. Other node type identifiers are also contemplated (e.g.
particular
types of image, types of video, and the like). Control server 120 stores a
preconfigured list of known media types.
[0045] Node 512, meanwhile, establishes a link (represented by dashed
arrows in Figure 5) between nodes 504 and 508. Node 512 thus includes a type
field indicating that node 512 represents an action (in particular, a "view"
or
selection action) rather than an entity (e.g. gallery or image). Node 512 also

contains properties including a creation timestamp, a source ("from")
identifier
and a destination ("to") identifier. The source and destination properties
indicate
the entities to which the action defined by node 512 relates (in the present
example, gallery 204 and image 208-3). Node 512 also contains a session
identifier property: control server 120 can be configured to assign a session
identifier to any request received by a client device 104. The same session
identifier will be used for any further nodes generated in response to event
data

CA 02872695 2014-11-28
from that same client device 104, until a predetermined time period passes
without activity from that client device 104 (e.g. twenty-four hours).
[0046] Blocks 405, 410, 415 and 420 are performed by control server 120
via
the execution (by processor 300) of event recordal application 312. Following
the
storage of event data at block 420, control server 120 is configured to
perform
block 435 of method 400. Block 435, like blocks 405, 410, 415 and 420, is
performed by control server 120 via the execution of application 312.
[0047] At block 435, control server 120 determines whether the type of
the
action node created at block 420 is "view". In other words, the determination
at
block 435 is whether the media element defined in the event data received at
block 405 was explicitly selected by the operator of the client device 104. If
the
determination at block 435 is negative, the performance of method 400 returns
to
block 405 to await the next event data. When the determination at block 435 is

affirmative, however, control server 120 proceeds to block 440.
[0048] At block 440, which is also performed via the execution of
application
312, control server 120 is configured to update nnetadata in index 336
associated
with the media element referred to in the event data received at block 405. In

particular, the metadata is a weighted counter representing the number of
times
that media element has been selected. An example of index 336 is shown below:
Table 2: Example Index 336
Gallery Media Value
204 Image 208-3 3
[0049] Index 336, in the present example, is implemented using the
known
RediSTM data structure server. Index 336 includes, for each gallery (in the
present
example, only gallery 204), a set of key/value pairs for the media contained
within the gallery. In the present example, since event data has only been
received for image 208-3, the set for gallery 204 currently only contains a
single
key/value pair. As seen above, one selection of image 208-3 results in
11

CA 02872695 2014-11-28
. .
incrementing the value corresponding to image 208-3 by three. Other increment
values can also be implemented.
[0050] Following the performance of block 440, control server 120
proceeds
to block 455, illustrated in Figure 7. Before discussing the performance of
block
455 and subsequent blocks of method 400, it is assumed that additional
performances of blocks 405 to 440 result in the creation and updating of
additional nodes in database 328, and additional updates to index 336.
Referring
to Figure 6, an updated database 328' is shown, including nodes 504, 508 and
512. In addition, database 328' includes additional nodes 600, 604 and 608
which represent, respectively, an additional selection of image 208-3 (in a
different client session), and a selection of another image (image 208-6,
represented by node 608) in gallery 204.
[0051] Following the repeated performances of method 400 in response
to the
above-mentioned event data, index 336 has the following contents:
Table 3: Updated Index 336
Gallery Media Value
Image 208-3 6
204
Image 208-6 3
[0052] Returning to Figure 7, the remaining blocks of method 400 are
performed by control server 120 via the execution of application 324. At block

455 control server 120 is configured to receive a gallery request from a
client
device 104. For example, a request for gallery 204 can be received from client
device 104-2. Having received the request, control server 120 sends a request
to
gallery server 116 at block 460 for at least the sequencing data for that
gallery
(the request can be for other data as well, up to and including the entirety
of the
requested gallery, including all instructions and media files). Thus, at block
460
control server 120 receives sequencing data 220 shown in Figure 2.
12

CA 02872695 2014-11-28
[0053] Also at block 460, control server 120 is configured to retrieve
data from
index 336 that corresponds to the requested gallery. Thus, at block 460
control
server 120 retrieves the contents of Table 3 above.
[0054] At block 465, control server 120 generates updated sequencing
data
from the sequencing data received at block 460, based on the index data
retrieved at block 460. In general, the sequencing data received at block 460
is
re-ordered to place the media identifiers having the highest corresponding
values
in index 336 first. Any media identifiers that do not appear in index 336 are
placed after media identifiers that do appear in index 336, in the order they
originally appeared in.
[0055] At block 470, having dynamically re-sequenced the media in
gallery
204, control server 120 returns the re-sequenced gallery to client device 104-
2 in
response to the request received at block 455.
[0056] Turning to Figure 8, a further example of web page 200 is shown
as
rendered on a display of a client device 104. Certain portions of web page 200
(e.g. 212, 216) are unchanged. However, image gallery 204 has been updated
and thus appears as image gallery 204', in which image 208-3 is presented
first,
and image 208-6 is presented second. The order of presentation of images 208
is influenced by revised sequencing data 220' received at image server 116
from
control server 120. It is noted that sequencing data 220' specifies sequence
positions for images 208-1, 208-2, 208-4 and 208-5 that are equivalent to
their
original positions, with the exception of the relocation of images 208-3 and
208-6.
[0057] Various advantages to the above systems and methods will now occur
to those skilled in the art. For example, the automatic updating of sequencing
data by control server 120 reduces or eliminates the need for manual
construction of image galleries. In addition, the collection of event data
based
upon which the sequencing data is generated allows the unpredictable actions
of
the operators of client devices 104 to act as feedback on the structure of
image
galleries, again automatically and without the need for any manual
intervention
by the operators of image server 116 or control server 120.
13

CA 02872695 2014-11-28
[0058] Variations to the above systems and methods are contemplated. For
example, although the applications and databases described herein are
illustrated in Figure 3 as being hosted on control server 120, in other
embodiments they may be separated among many computing devices. For
example, referring to Figure 9, the applications and databases originally
shown in
Figure 3 are depicted in four logical groupings. The first grouping, 900,
contains
event recordal application 312 and event database 328. The second grouping,
908, contains index 336. The third grouping, 912, contains sequencing
application 324.
[0059] Each of the
above-mentioned groupings 900, 908 and 912 can be
implemented on a separate logical computing device, and any logical device may

be implemented on one or a plurality of physical computing devices (such as
control server 120 illustrated earlier). Thus, in some implementations,
grouping
900 can be implemented on a bank of servers acting as a single logical device,
while groupings 908 and 912 can all be implemented on a single logical and
physical device. A wide variety of other implementations will also now occur
to
those skilled in the art.
[0060] Persons
skilled in the art will appreciate that there are yet more
alternative implementations and modifications possible for implementing the
embodiments, and that the above implementations and examples are only
illustrations of one or more embodiments. The scope, therefore, is only to be
limited by the claims appended hereto.
14

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 2014-11-28
(41) Open to Public Inspection 2016-05-28
Dead Application 2017-11-28

Abandonment History

Abandonment Date Reason Reinstatement Date
2016-11-28 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2014-11-28
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
IGNU INC.
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2014-11-28 1 19
Description 2014-11-28 14 668
Claims 2014-11-28 3 73
Drawings 2014-11-28 9 88
Representative Drawing 2015-03-20 1 6
Cover Page 2016-05-03 1 37
Assignment 2014-11-28 3 75