Language selection

Search

Patent 2771955 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: (11) CA 2771955
(54) English Title: METHOD AND APPARATUS FOR FOLDER SYNCHRONIZATION AND MANAGEMENT
(54) French Title: METHODE ET DISPOSITIF DE SYNCHRONISATION ET DE GESTION DE DOSSIERS
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04W 4/06 (2009.01)
  • G06F 16/21 (2019.01)
  • G06Q 10/10 (2012.01)
(72) Inventors :
  • MAY, DARRELL REGINALD (Canada)
  • LUU, LAP (Canada)
  • LINKERT, BARRY (Canada)
(73) Owners :
  • HUAWEI TECHNOLOGIES CO., LTD. (China)
(71) Applicants :
  • RESEARCH IN MOTION LIMITED (Canada)
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued: 2016-07-26
(22) Filed Date: 2007-06-11
(41) Open to Public Inspection: 2007-12-12
Examination requested: 2012-03-15
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
06115327.6 European Patent Office (EPO) 2006-06-12

Abstracts

English Abstract

A method of sharing data accessible by a server, with a portable electronic device of a first entity includes receiving permission at the server to share with the first entity, data associated with a second entity, the data for use with an application. The server retrieves the data associated with the second entity and transmits the data from the server to the portable electronic device of the first entity. The data associated with the second entity is received at the portable electronic device of the first entity and stored in association with a second entity identifier, thereby distinguishing the data from other data for use with the application.


French Abstract

Un procédé de partage de données accessible par un serveur avec un dispositif électronique portatif dune première entité comprend la réception dune permission au serveur en vue de partager avec la première entité, des données associées à une seconde entité, les données à utiliser avec une application. Le serveur récupère les données associées à la seconde entité et les transmet du serveur au dispositif électronique portatif de la première entité. Les données associées à la seconde entité sont reçues au dispositif électronique portable de la première entité et stockées en association avec un second identifiant dentité, ce qui permet de distinguer les données dautres données à utiliser avec lapplication.

Claims

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


21

CLAIMS:
1. A method comprising:
storing in a memory of a portable electronic device a first database having a
first group of data records associated with a calendar application;
receiving an indication at the portable electronic device that a second
database is being shared by a server, the second database having a second
group
of data records associated with the calendar application;
distinctly identifying the first group of data records from the second group
of
data records with an identifier;
responsive to determining that no folder stored on the memory of the portable
electronic device is associated with the second group of data records,
transmitting
to the server an initialize command identifying the second database;
in response to transmitting the initialize command, receiving the second group

of data records; and
storing the second group of data records and the associated identifier in the
memory of the portable electronic device.
2. The method of claim 1, wherein the data records associated with the first
group have a
first identifier associated with the first database and wherein the data
records associated
with the second group have a second identifier associated with the second
database.
3. The method of claim 2, wherein each data record of the first group of data
records is
stored in a first folder associated with the first group and each data record
of the second
group of data records is stored in a second folder associated with the second
group.
4. The method of claim 2, further comprising:
receiving a selection indicating one of the first group of data records and
the
second group of data records; and
in response to the selection, respectively displaying the first group of data
records or the second group of data records.
5. The method of claim 2, further comprising:

22

receiving a selection indicating one of the first group of data records and
the
second group of data records; and
in response to the selection, respectively synchronizing the first group of
data
records or the second group of data records.
6. The method of any of claims 1 to 5, wherein at least one data record
associated with
the calendar application is one of an appointment, a meeting, or a dinner.
7. The method of any of claims 1 to 6, further comprising receiving a list of
shared
databases.
8. A portable electronic device comprising:
memory storing a first database having a first group of data records
associated with a calendar application; and
a receiver configured to receive an indication that a second database is being

shared by a server, the second database having a second group of data records
associated with the calendar application;
a transmitter configured to transmit data to the server; and
a processor coupled to the memory, the processor configured to:
distinctly identify the first group of data records from the second
group of data records with an identifier
responsive to determining that no folder stored on the memory of the
portable electronic device is associated with the second group of data
records, cause the transmitter to transmit to the server an initialize
command identifying the second database; and
in response to the transmitter transmitting the initialize command,
receive the second group of data records; and
cause the memory to store the second group of data records and the
associated identifier.
9. The portable electronic device of claim 8, wherein the data records
associated with the
first group have a first identifier associated with the first database and
wherein the data
records associated with the second group have a second identifier associated
with the

23

second database.
10. The portable electronic device of claim 9, wherein each data record of the
first group
of data records is stored in a first folder associated with the first group
and each data
record of the second group of data records is stored in a second folder
associated with the
second group.
11. The portable electronic device of claim 9, wherein the processor is
further configured
to:
receive a selection indicating one of the first group of data records and the
second group of data records; and
in response to the selection, respectively display the first group of data
records
or the second group of data records.
12. The portable electronic device of claim 9, wherein the processor is
further configured
to:
receive a selection indicating one of the first group of data records and the
second group of data records; and
in response to the selection, respectively synchronize the first group of data

records or the second group of data records.
13. The portable electronic device of any of claims 8 to 12, wherein at least
one data
record associated with the calendar application is one of an appointment, a
meeting, or a
dinner.
14. The portable electronic device of any of claims 8 to 13, wherein the
receiver is further
configured to receive a list of shared databases.
15. A computer program product, comprising a computer usable medium having a
computer readable program code adapted to be executed to implement a method
comprising:
storing in a memory of a portable electronic device a first database having a
first group of data records associated with a calendar application;

24

receiving an indication at the portable electronic device that a second
database is being shared by a server, the second database having a second
group
of data records associated with the calendar application;
distinctly identifying the first group of data records from the second group
of
data records with an identifier;
responsive to determining that no folder stored on the memory of the portable
electronic device is associated with the second group of data records,
transmitting
to the server an initialize command identifying the second database;
in response to transmitting the initialize command, receiving the second group

of data records; and
storing the second group of data records and the associated identifier in the
memory of the portable electronic device.
16. The computer program product of claim 15, wherein the data records
associated with
the first group have a first identifier associated with the first database and
wherein the
data records associated with the second group have a second identifier
associated with
the second database.
17. The computer program product of claim 16, further comprising:
receiving a selection indicating one of the first group of data records and
the
second group of data records; and
in response to the selection, respectively displaying the first group of data
records or the second group of data records.

Description

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



CA 02771955 2012-03-15

METHOD AND APPARATUS FOR FOLDER SYNCHRONIZATION AND MANAGEMENT
CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a division of Cdn. App. No. 2,591,428 filed June
11, 2007.
[0002] The present application relates to portable electronic devices and to
the
management and synchronization of data at a portable electronic device with
data
embodied at a communication network.
[0003] Portable electronic devices such as wireless personal digital
assistants (PDAs),
smart telephones and laptop computers with wireless capabilities have gained
widespread
use for a variety of functions. Such devices are commonly used for
communication
purposes including transportation of data, and run on a wide variety of
networks from
data-only networks such as Mobitex and DataTAC to complex voice and data
networks
such as GSM/GPRS, CDMA, EDGE, UMTS AND W-CDMA networks.
[0004] These portable electronic devices commonly include databases for
storing data
that is selectably retrievable by a user of a device. The databases include,
for example,
an exchange database including a user's personal Contacts, Tasks, Memo's,
Calendar
and electronic mail. The data forms a series of data records, each data record
containing
one or more fields. During operation of the device, the data is retrieved and
displayed, or
otherwise made available to the user. The data can be modified, added to or
deleted by
the user of the device.
[0005] Advances in data storage have accompanied advances in portable
electronic
devices, to provide for back-up of data stored at the electronic device. By
backing-up the
device, data can be recovered in the event of data loss at the electronic
device. Various
electronic devices are backed-up by way of communication over a fixed (wire)
connection
between the electronic devices and, for example, a computing station such as a
desktop
computer. Once the data is stored in a database at the computing station, the
stored data
can be modified, added to or deleted by a user at the computing station.
[0006] Other portable electronic devices also provide for back-up of data
stored
thereon, to a computing station by way of a radio interface, using, for
example, the
networks listed above. Thus, data is sent over a radio communication channel
of a radio
communication system, thereby forming a communications link between the
portable
electronic device and a remote station (a station not linked by wire
communication). Data
that is stored in a database at a computing station can be modified, added to
or deleted at
the computing station. Thus, while data stored in the database of the portable
electronic


CA 02771955 2012-03-15

2
device is backed-up to a computing station, data is also transmitted from the
computing
station to the portable electronic device to synchronize the databases of the
portable
electronic device with the databases of the computing station. When a data
record on a
computing station does not exist on the portable electronic device, or when
the content of
the data record (the fields of the data record) of the computing station
differs from the
content of the data record of the portable electronic device, then the
additional data record
or differing data record is transferred to the portable electronic device.
Similarly, when a
data record on a portable electronic device does not exist on the computing
station, or
when the content of the data record of the portable electronic device differs
from the
content of the data record of the computing station, the additional data
record or differing
data record is transferred to the computing station, When a data record is
deleted from
the portable electronic device, a delete data record indication is sent from
the portable
electronic device to the computing station in order to delete the
corresponding data record
at the computing station.
[0007] Such portable electronic devices suffer from the disadvantage that
these
devices support only one group of each of Address book, Tasks, Memo Pad and
Calendar.
Thus, only a single folder of Contacts is stored on the device. Similarly,
single folders of
each of Tasks, Memo's and Calendar are stored on the device.
[0008] According to one aspect of the present application, there is preferably
provided
a method of sharing data accessible by a server, with a portable electronic
device of a first
entity. The method includes receiving permission at the server to share with
the first
entity, data associated with a second entity, the data for use with an
application. The
server retrieves the data associated with the second entity and transmits the
data from the
server to the portable electronic device of the first entity. The data
associated with the
second entity is received at the portable electronic device of the first
entity and stored in
association with a second entity identifier, thereby distinguishing the data
from other data
for use with the application.
[0008] According to another aspect of the present application, there is
preferably
provided a server method for sharing data with a portable electronic device of
a first entity.
The method includes: receiving permission at the server to share with the
first entity, data
associated with a second entity, the data for use with an application;
retrieving the data


CA 02771955 2012-03-15

3
[0010] associated with the second entity; and transmitting the data to the
portable
electronic device of the first entity.
[0011] According to another aspect of the present application, there is
preferably
provided a system for data management suitable for sharing data with a
portable
electronic device of a first entity. The system includes: a memory device for
storing data
associated with a second entity, the data for use with an application; a
processor
connected to the memory device for receiving permission to share the data
associated
with the second entity and for retrieving the data from the folder associated
with the
second entity; and a transmitter for transmitting the data to the portable
electronic device
of the first entity.
[00121 According to another aspect of the present application, there is
preferably
provided a computer-readable medium having computer-readable code embodied
therein.
The computer-readable code is executable by a processor for. receiving
permission at a
server to share with a first entity, data associated with a second entity, the
data for use
with an application; retrieving the data associated with the second entity;
and transmitting
via over-the-air transmission, the data to a portable electronic device of the
first entity.
[00131 According to still another aspect of the present application, there is
preferably
provided a method of management of shared data at a portable electronic device
of a first
entity. The method includes: receiving data associated with a second entity at
the
portable electronic device of the first entity, the data for use with an
application; and
storing the data in association with a second entity identifier, thereby
distinguishing the
data from other data for use with the application.
[0014] According to yet another aspect of the present application, there is
preferably
provided a portable electronic device of a first entity. The portable
electronic device
includes: a receiver for receiving data associated with a second entity, the
data for use
with an application; a memory device for storage of the data; and a processor
connected
to the memory device for storing the data in association with a second entity
identifier,
thereby distinguishing the data from other data for use with the application.
(00151 According to another aspect of the present application, there is
preferably
provided a computer-readable medium having computer-readable code embodied
therein.
The computer-readable code is executable by a processor for., receiving data
associated
with a second entity at a portable electronic device of a first entity, the
data for use with an


CA 02771955 2012-03-15
4

application; and storing the data in association with a second entity
identifier, thereby
distinguishing the data from other data for use with the application.
[0016] Preferably, synchronization and storage of data records of a single
application
type to the portable electronic device is possible for data records from
multiple folders at
different databases. Thus, multiple Calendar folders can be synchronized to
the portable
electronic device from databases associated with different subscribers. This
is useful, for
example, for an assistant to access the Calendar data records of his/her
employer or
boss. The assistant is then able to view the Calendar data records, and if
permission is
granted, add, modify or delete Calendar data records. Similarly, multiple
Messages,
Address Book, Tasks and Memo Pad data records can be synchronized to the
portable
electronic device. The multiple folders are kept separate and distinct rather
than merging
into a single folder on the device.

BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The method and apparatus for sharing data will be better understood
with
reference to the following description and to the Figures, in which:
[0018] Figure 1 is a functional block diagram of a radio communication system
including
a portable electronic device and a communication system having a
synchronization server
according to one embodiment of the present application;
[0019] Figure 2 is a block diagram of certain internal components within the
portable
electronic device of Figure 1;
[0020] Figure 3 is a block diagram of certain internal components within the
synchronization server of Figure 1;
[0021] Figure 4 is a screen of an LCD display output device of the portable
electronic
device of Figure 2;
[0022] Figure 5 is a functional block diagram similar to Figure 1, showing a
radio
communication system including a portable electronic device and a
communication
system, the communication system including two personal information management
connectors and respective databases.
[0023] Figure 6 is a flowchart illustrating functions carried out in one
embodiment of the
method of sharing data;
[0024] Figures 7A to 7C are screens of the LCD display output device of the
portable


CA 02771955 2012-03-15

electronic device, displayed when the functions illustrated in Figure 6 are
carried out;
[0025] Figure 8 is a sequence diagram illustrating functions carried out at
both the
portable electronic device and the communication system of Figure 1 during a
first
synchronization of a folder of a database;
[0026] Figure 9 is a screen of the LCD display output device of the portable
electronic
device, displayed after synchronization of databases; and
[0027] Figure 10 is a sequence diagram illustrating functions carried out at
both the
portable electronic device and the communication system of Figure 1 during
further
synchronizations.

DESCRIPTION OF PREFERRED EMBODIMENT
[0028] Reference is first made to Figure 1 which shows a functional block
diagram of
a radio communication system indicated generally by the numeral 20 and a
portable
electronic device 22. The radio communication system 20 provides for
communications
with portable electronic devices including the exemplary portable electronic
device 22, as
shown. The portable electronic device 22 and the radio communication system 20
are
operable to effect over-the-air communications therebetween via a radio
communications
channel. Data originating at the portable electronic device 22 is communicated
to the
radio communication system 20 by way of the radio communications channel.
Similarly,
data originating at the communication system 20 is communicated from the radio
communication system 20 to the portable electronic device 22 by way of the
radio
communications channel, thereby providing data to the portable electronic
device 22.
[0029] For the purposes of illustration, the communication system 20 is
functionally
represented in Figure 1 and a single base station 24 is shown. The base
station 24
defines a coverage area, or cell 26 within which communications between the
base station
24 and the portable electronic device 22 can be effected. It will be
appreciated that the
portable electronic device 22 is movable within the cell 26 and can be moved
to coverage
areas defined by other cells that are not illustrated in the present example.
The
communication system 20 includes a relay device 28 that is connected to the
base station
24 and to a synchronization server 30. It will be understood that the
functions provided by
the relay device 28 and the synchronization server 30 can be embodied in the
same
device. The synchronization server 30 is connected to an administration server
32, as


CA 02771955 2012-03-15

6
shown. The administration server 32 provides administrative services to the
communication system 20 and, for instance, provides administrative control
over the
synchronization server 30.
10030] The synchronization server 30 is also functionally coupled through a
personal
information management connector 33 to databases, of which, three exemplary
database
types including a first database 34, a second database 36 and a third database
38, are
shown. The personal information management connector 33 interfaces between the
synchronization server 30 and the databases 34, 36, 38. It will be understood
that the
personal information management connector 33 is a functional component and can
be
provided by way of an application on the synchronization server 30. The
databases of the
present example are of a text format such as an Extensible Mark-up Language
(XML)
format. Each database to which a user has access, is connected through the
personal
information management connector 33. The data maintained in the first, second
and third
databases 34, 36, 38, includes a number of data records as further described
below, each
data record containing a plurality of fields that are populated with data.
10031] The portable electronic device 22, of which only particular functional
portions
are shown in Figure 1 for the purposes of the present description, includes a
plurality of
databases 40, 42, 44 that correspond to the first, second and third databases
34, 36, 38,
respectively, of the communication system 20. The databases 34, 36, 38 and the
databases 40, 42, 44, can be selectably altered in an asymmetrical manner such
that the
databases 34, 36, 38 of the communication system 20 do not match the databases
40, 42,
44 of the portable electronic device 22. In other words, any or all of the
databases 34, 36,
38, 40, 42, 44 can be altered by adding records, deleting records and
modifying fields of
the records by adding, deleting or modifying the data populating those fields.
10032] Reference is now made to Figure 2 which shows a block diagram of
certain
internal components within the portable electronic device 22. The portable
electronic
device 22 is based on a microcomputer that includes a processor 46 connected
to a read-
only-memory (ROM) 48 that contains a plurality of applications executable by
the
processor 46 to enable the portable electronic device 22 to perform certain
functions
including synchronization with the communication system 20. The processor 46
is also
connected to a random access memory unit (RAM) 50 and a persistent storage
device 52
which are responsible for various non-volatile storage functions of the
portable electronic


CA 02771955 2012-03-15

7
device 22 and in which the databases 40, 42, 44 are maintained. The processor
46
receives input from input devices 54 such as a keyboard. The processor 46
outputs to
output devices 56 such as an LCD display. The processor 36 is also connected
to an
internal clock 58 and a radio device 60 which in turn is connected to an
antenna 61.
Together the radio device 60 and the antenna 61 are used to connect to the
radio
communication system 20 over a radio communications channel. Thus, the
portable
electronic device 22 is operable to receive and transmit communication signals
containing
data that is communicated to and from the communication system 20 via the
radio device
60 and the antenna 61.
[0033] Reference is now made to Figure 3 which shows a block diagram of
certain
internal components within the synchronization server 30. Similar to the
portable
electronic device 22, the synchronization server 30 includes a processor 62
connected to
a read-only memory (ROM) 64 that includes applications executable by the
processor 62
and enables the synchronization server 30 to perform certain functions
including
synchronization with the portable electronic device 22. The processor 62 is
also
connected to a random access memory unit (RAM) 66 and a persistent storage
device 68
which are responsible for various non-volatile storage functions of the
synchronization
server 30. The processor 62 is functionally connected to the databases 34, 36,
38
through the personal information management connector 33 and to the relay
device 28,
which in turn is connected to the base station 24 for connecting to the
portable electronic
device 22 over a radio communications channel. Thus, the synchronization
server 30 is
operable to receive and transmit communication signals containing data that is
communicated to and from the portable electronic device 22 via the relay
device 28 and
the base station 24.
[0034] Reference is now made to Figure 4 which shows an exemplary menu screen
that is displayed on the LCD display output device 56 of the portable
electronic device 22.
The portable electronic device 22 is operable to execute various applications
stored in the
ROM 38. Such applications include, for example, a message reader (Messages),
an
Address Book, a task list (Tasks), a Memo Pad and a Calendar, as shown in the
exemplary menu screen of Figure 4. The input devices 54 are used for selecting
a


CA 02771955 2012-03-15

8
[0035] desired application to be executed and to exit the application when
desired. When
executed by the processor 36, each application causes the portable electronic
device 22
to operate in a specific manner.
[0036] It will be appreciated that e-mails are received on the portable
electronic device
22 from the communication system 20 over a radio communications channel. Each
e-mail
includes a variety of information including identification information
identifying the folder to
which the e-mail belongs for viewing. To view an e-mail, the Messages
application is
selected from the menu screen by using the input devices 54, causing execution
of the
application by the processor 36.
[0037] The Address Book application is used for storing electronic contact
records
including addresses, telephone and facsimile numbers and e-mail addresses. The
contact records are created and viewed by selecting the Address Book
application on the
menu screen, thereby causing execution of the application by the processor 38.
[0038] The Tasks application is used for storing a list of tasks to be
completed. The
tasks are added, edited, deleted and viewed by selecting the Task List
application causing
execution of the application by the processor 36.
[0039] The Memo Pad application is used for storing memos which are added,
edited,
deleted and viewed by selecting the Memo Pad application causing execution of
the
application by the processor 36.
[0040] The Calendar application is used for displaying and storing calendared
events
such as appointments, meetings, dinners, etc., when executed by the processor
36. Each
calendared event includes a variety of information including a date, time and
note
regarding the event.
[0041] The portable electronic device 22 is provided with each of these
various
applications for use by a user of the portable electronic device 22. Each of
the e-mails,
contact records, tasks, memos, and calendared events are stored as data
records in one
of the databases 40, 42, 44 of the portable electronic device 22. As indicated
above, the
corresponding database 34, 36, 38 of the communication system 20 includes
corresponding data records stored therein. In the present application, each of
the data
records for each of the applications includes an extension that provides a
unique
identification, thereby identifying the data record as belonging to a
particular folder
(Messages, Address Book, Tasks, Memo Pad or Calendar). For each of the data
records


CA 02771955 2012-03-15

9
of the applications, the extension also provides an identification of the data
source,
referred to herein as the data source identification. The data source for the
user's
personal Messages, Address Book, Tasks, Memo Pad and Calendar data records is
identified as originating from the portable electronic device 22 of that
particular user. Each
subscriber has their own unique data source identification. Thus, for a first
subscriber, the
unique identification for each of the personal data records of the Calendar
application
identifies those data records as belonging to the Calendar folder and as
originating from
the first subscriber. Similarly, each of the personal data records of the
Address Book
application (contact records) identify those data records as belonging to an
Address Book
folder and as originating from the first subscriber.
[0042] To illustrate one particular example of an embodiment of the system and
method of subscribable folder synchronization and management, reference is now
made
to Figure 5 which shows a functional block diagram of the radio communication
system 20
and the portable electronic device 22, similar to that shown in Figure 1. In
Figure 5,
however, the personal information management connector 33 is connected to two
sets of
databases. As in Figure 1, the personal information management connector 33 is
shown
connected to three exemplary databases 34A, 36A, 38A associated with one
subscriber.
In Figure 5, however, Pthe personal information management connector 33 is
also shown
connected to three further exemplary databases 348, 36B, 38B associated with a
second
subscriber. The personal information management connector 33 and the two sets
of
databases are for management and storage of data records. Thus, the databases
34A,
36A, 38A include data records associated with a first subscriber and the
databases 34B,
36B, 38B include data records associated with a second subscriber. It will be
understood
that only two subscribers are shown for the purpose of the present example and
further
subscribers are possible.
[0043] In the present example, only a single portable electronic device 22 is
shown,
the portable electronic device 22 belonging to the first subscriber and having
databases
40, 42, 44 that correspond to the databases 34A, 36A, 38A. It will be
understood that a
second portable electronic device could be shown with databases corresponding
to the
databases 34B, 36B and 38B. Still further portable electronic devices are
possible for
additional subscribers. For the purpose of simplicity, however, only a single
portable
electronic device 22 is shown.


CA 02771955 2012-03-15

[00441 Referring now to Figure 6, a flowchart illustrating functions carried
out in one
embodiment of the method of folder management and synchronization is shown.
Coding
of software for carrying out the steps shown and described below is well
within the scope
of a person of ordinary skill in the art. The second subscriber having data
records that are
stored in databases on a portable electronic device and corresponding
databases 34B,
368, 388 at the communication system 20 in Figure 5, uses a desktop computer
in a
desktop client application to set permission to allow the first subscriber to
have access to
data records of the second subscriber at step 100. For the purpose of the
present
example, the second subscriber gives permission to allow the first subscriber
to have
"read-only" access to data records associated with the calendar application.
This can be
carried out in a number of different ways depending on the desktop
application, as will be
understood by those skilled in the art. For example, in the Calendar
application in
Outiook"4, an option is provided to "share my calendar". After selecting the
"share my
calendar" option, a number of further options are provided that are selectable
to permit the
first subscriber to access the data records of the second subscriber. The
first subscriber
is identified and options are chosen to permit the first subscriber to read
data records only
but not permitting the first subscriber to edit, delete or create any data
records. In the
present example, the second subscriber gives permission to the first
subscriber to only
access the data records of the second subscriber. Thus, the first subscriber
is considered
to have delegate access to the calendar data records of the second subscriber.
The
change in permission is then sent to the synchronization server 30 at step
102.
[00451 The personal information management connector 33 monitors the sharing
and
permissions given for the data records stored on the databases and when the
first
subscriber is given access to the calendar data records of the second
subscriber, the
personal information management connector 33 permits access to the one of the
databases 34B, 368, 38B in which the calendar data records are stored. In the
example
shown in Figure 5, the first subscriber is given access to the records in
three databases
and thus, the personal information management connector 33 is connected to all
of the
databases 34B, 36B, 38B,
[00461 When the first subscriber is given access to the calendar data records
of the
second subscriber, the first subscriber is advised that access to the data
records of the
second subscriber has been granted at step 106. In the present example, the
second


CA 02771955 2012-03-15

11
subscriber sends an e-mail to the first subscriber to advise that the calendar
data records
of the second subscriber have been made available to the first subscriber. The
e-mail is
received by the first subscriber.
[0047] After receipt of the e-mail the first subscriber then looks up the
second
subscriber using a global address lookup at step 108. For example, the first
subscriber
selects the Address Book application from the menu screen shown in Figure 4,
on the
portable electronic device 22 resulting in the display of the list of Address
Book records as
shown in Figure 7A. Next, the first subscriber selects the name from the list
of Address
Book records that corresponds with the second subscriber (Johnson, Robert in
the
exemplary screens shown in Figures 7A to 7C), resulting in the display of the
contact
details of the second subscriber as shown in Figure 7B. The first subscriber
then selects
an option to "View Shared Folders for this User" at step 110. This option
sends a request
to the communication system 20 to provide a list of folders of the second
subscriber to
which the first subscriber has been permitted access. The request is received
at the
communication system 20 and is passed on to the personal information
management
connector 33 through the synchronization server 30. A response is provided
from the
personal information management connector 33 to the synchronization server 30
and
through the relay and base station, to the portable electronic device 22. The
list of folders
that the second subscriber has permitted the first subscriber to access is
then displayed
on the LCD display output device 56 of the portable electronic device 22, as
shown in
Figure 7C. In the present example, the second subscriber (Johnson, Robert) has
provided read-only access to the Calendar data records only. Thus, only a
Calendar
folder is displayed on the LCD display output device 56 of the portable
electronic device
22 as being shared.
[0048] When the Calendar folder is displayed, a "Synchronize folder to Device"
option
is also displayed, allowing the first subscriber to select this option to
synchronize the
Calendar folder of the second subscriber to the portable electronic device 22.
The
"Synchronize folder to Device" option acts as a synchronization trigger when
selected to
thereby initiate synchronization between the portable electronic device 22 and
the
Calendar folder of the second subscriber. The first subscriber can choose not
to
synchronize the folder to the portable electronic device 22 by not selecting
the
'Synchronize folder to Device" option.


CA 02771955 2012-03-15

12
[0049] Reference is now made to Figure 8, which shows a flowchart illustrating
functions carried out at both the portable electronic device 22 and the
communication
system 20 during synchronization of the shared Calendar folder of one of the
databases
associated with the second subscriber with the portable electronic device 22
of the first
subscriber. For the purpose of the present example, the Calendar data records
are stored
on the database 34B. Coding of software for carrying out such steps is well
within the
scope of a person of ordinary skill in the art. As shown in Figure 5, the
portable electronic
device 22 and the communication system 20 are connected by wireless interface.
The
portable electronic device 22 receives the synchronization trigger at 120, by
selection of
the "Synchronize Folder to Device" option shown on the LCD display device 56
and
illustrated in Figure 7C, using the user input on the input device 54. The
synchronization
process is thereby triggered for records of the database 34B with a database
of the
portable electronic device 22. In the present example, synchronization is
triggered for
data to be stored in a folder of the first database 40. In response to receipt
of the
synchronization trigger, the processor 46 attempts to retrieve data records
from the
corresponding folder of the database 40 for which synchronization is requested
at step
122. The processor 46 generates a record hash for each data record from the
folder of
the database 40 and then generates a group hash for the folder, based on the
individual
record hashes at step 124. In the present example, however, no folder is
present on the
portable electronic device 22 that corresponds with the folder of the database
348 that
includes the second subscriber's (Johnson, Robert) Calendar data records.
Thus, a null
group hash is generated, indicating that no folder or data records exist on
the portable
electronic device 22, that correspond with the Calendar folder and data
records on the
database 34B of the communication system 20. Next, an initialize command is
transmitted along with the null group hash, from the portable electronic
device 22 to the
communication system 20 over a radio communication channel, at step 126. The
initialize
command initiates the synchronization process at the synchronization server
30, identifies
the Calendar data records folder of the database 34B for synchronization and
provides
synchronization session state information including a session state
identifier. The portable
electronic device 22 then awaits a response from the communication system 20.
[0050] The communication system 20 receives the initialize command along with
the
null group hash indicating that no corresponding folder or data records exist
on the


CA 02771955 2012-03-15

13
portable electronic device 22 at step 128 by receipt at the base station 24.
The base
station 24 forwards the initialize command and the null group hash to the
synchronization
server 30. As indicated above, the initialize command identifies the folder of
the database
for synchronization and provides synchronization session state information
including the
session state identifier. A synchronization session is thereby started with
the portable
electronic device 22. In response to receipt of the initialize command, the
synchronization
server 30 generates a request at step 130 for all data records of the database
on the
communication system side 20 that belong to the Calendar folder of the
database 34B.
The request is then sent to the personal information management connector 33
to retrieve
the Calendar records of the database 34B at step 132.
[0051] The request for all Calendar data records of the Calendar folder
belonging to
the database 34B is received at the personal information management connector
33 at
step 134. The personal information management connector 33 then fetches all
calendar
data records from the database 34B in accordance with the request, at step 136
and
forwards the records to the synchronization server 30 at step 138. It will be
appreciated
that the personal information management connector 33 is permitted to fetch
the calendar
data records of the database 34B by the permission set by the second
subscriber and
received at the personal information management connector 33.
[00521 At step 140, the synchronization server receives all of the Calendar
data
records from the database 34B and generates a record hash for each retrieved
data
record from the database 34B. The record hashes are referred to herein as the
locally
generated record hashes. From the locally generated record hashes, a group
hash for the
Calendar folder from the database 34B is generated at step 142. Thus, the
group hash is
representative of the data records retrieved from the database 34 and is
referred to herein
as the locally generated group hash. After generation of the locally generated
group
hash, the null group hash received from the portable electronic device 22 is
compared
with the locally generated group hash at step 144. From this comparison, the
synchronization server 30 determines that no data records exist on the
portable electronic
device 22 that correspond with the Calendar data records from the database 34B
and the
Calendar data records retrieved from the database 34B are sent to the portable
electronic
device 22 at step 146. Each of these Calendar data records includes the unique
identification as described above. In particular, each of the Calendar data
records


CA 02771955 2012-03-15

14
includes an extension identifying those data records as belonging to the
Calendar folder
and as originating from the second subscriber (Johnson, Robert).
10053] Upon receipt of the Calendar data records at the portable electronic
device 22
of the first subscriber at step 148, a folder is created in the first
subscriber's database 40
corresponding to the second subscribers Calendar data records at step 150.
Each of the
data records received at the portable electronic device is saved in the folder
created for
the second subscriber's Calendar data records at step 152. It will be
appreciated that the
Calendar data records received at the portable electronic device 22 at step
148 are
distinct from the first subscriber's personal Calendar records and are
identified as being
distinct by the unique identification. The first subscriber's personal
Calendar data records
are differentiated from the Calendar data records received from the database
34B, by the
data source identification.
[00541 The permission set by the second subscriber is carried over to the
portable
electronic device 22 along with the Calendar data records, Thus, the
permission set by
the second subscriber to allow "read-only" access to data records is carried
over to the
portable electronic device 22 along with the Calendar data records received at
step 148.
The Calendar data records of the second subscriber can therefore only be
viewed on the
portable electronic device 22. No editing of these Calendar data records by
the first
subscriber is permitted.
[0055] Reference is again made to Figure 4 which shows an exemplary menu
screen
displayed on the LCD display output device 56 of the portable electronic
device. The
Calendar data records of the second subscriber are viewed by selecting the
Calendar
application displayed on the output device 56. After selection of the Calendar
application,
a submenu is displayed as shown in Figure 9, providing two different
selectable options.
One of the two selectable options is a Personal Calendar which, when selected,
executes
the Calendar application, thereby displaying personal calendared events such
as
appointments, meetings, dinners, etc. The Personal Calendar option allows for
viewing,
adding, editing and deleting any of the calendared events. The second of the
two
selectable options is the second subscriber's calendar (Johnson, Robert) which
is listed
under the heading "Delegate Calendars" in the exemplary screen illustrated in
Figure 9.
When the second subscriber's calendar is selected, the Calendar application is
executed,
displaying the calendared events of the second subscriber. The first
subscriber thereby


CA 02771955 2012-03-15

views the displayed calendared events. Editing, adding or deleting of these
events is not
permitted, in accordance with the read-only permission granted to the first
subscriber.
[00561 After the second subscriber's Calendar data records are added to the
database
40 of the portable electronic device 22 of the first subscriber, the records
can be
synchronized at any time by synchronizing the folder in which the second
subscribers
Calendar data records are stored, with the corresponding folder on the
database 34B
using a normal synchronization process. Reference is made to Figure 10 to
describe full
synchronization of the folder on the portable electronic device 22 with the
corresponding
folder on the database 34B. Coding of software for carrying out such steps is
well within
the scope of a person of ordinary skill in the art. The portable electronic
device 22
receives a synchronization trigger at step 160, by, for example, selection of
a synchronize
option on the LCD display device 56, using the user input on the input device
54. In
response to receipt of the synchronization trigger, the processor 46 retrieves
data records
from the folder of the database 40 on which the second subscriber's Calendar
data
records are stored and for which synchronization is requested, at step 162.
The
processor 46 generates a record hash for each data record from the folder of
the
database 40 and then generates a group hash for the folder, based on the
individual
record hashes at step 164. Next, an initialize command is transmitted along
with the
group hash, from the portable electronic device 22 to the communication system
20 over a
radio communication channel, at step 166. The initialize command initiates the
synchronization process at the synchronization server 30, identifies the
Calendar data
records folder of the database 34B for synchronization and provides
synchronization
session state information including a session state identifier. The portable
electronic
device 22 then awaits a response from the communication system 20.
100571 The communication system 20 receives the initialize command along with
the
group hash at step 168 by receipt at the base station 24. The base station 24
forwards
the initialize command and the group hash to the synchronization server 30. As
indicated
above, the initialize command identifies the database for synchronization and
provides
synchronization session state information including the session state
identifier. A
synchronization session is thereby started with the portable electronic device
22. In
response to receipt of the initialize command, the synchronization server 30
generates a
request at step 170 for all data records of the folder on the database on the


CA 02771955 2012-03-15

16
communication system side 20 that corresponds with the folder of the database
being
synchronized on the portable electronic device 22. In the present example, the
Calendar
data records folder on the database 34B corresponds with the second
subscriber's
Calendar data records on the database 40 of the portable electronic device 22
and thus, it
is the records of the Calendar folder on the database 34B that are requested
in the
request generated at step 170. The request is then sent to the personal
information
management connector 33 to retrieve the second subscriber's Calendar data
records at
step 172. The request for all data records of second subscriber's Calendar
folder on the
database 34B is received at the personal information management connector 33
at step
174. The personal information management connector 33 then fetches all records
from
the database 34 in accordance with the request, at step 176 and forwards the
records to
the synchronization server 30 at step 178. Again, it will be appreciated that
the personal
Information management connector 33 is permitted to fetch the calendar data
records of
the database 34B by the permission set by the second subscriber and received
at the
personal information management connector 33.
[00581 At step 180, the requested data records are received at the
synchronization
server 30, from the personal information management connector 33. Next, the
processor
62 of the synchronization server 30 generates record hashes, each record hash
being
generated from a corresponding received data record. From the record hashes, a
group
hash representative of the data records received (referred to herein as the
locally
generated group hash) is generated at step 182. After generation of the
locally generated
group hash, the hash information of the group hash received from the portable
electronic
device 22 is compared with the hash information of the corresponding locally
generated
group hash at step 184. If the comparison of the hash information indicates
that the
second subscriber's calendar data records stored in the database 40 on the
portable
electronic device 22 are not in mismatch with the corresponding Calendar data
records
stored in the database 34B, then a response is sent to the portable electronic
device 22 to
terminate the synchronization session at step 186.
100691. The response is received at the portable electronic device 22 at step
188 and
the synchronization session is terminated at step 190.
100601 If, on the other hand, the comparison of the hash information indicates
that the
data records are in mismatch, then the second subscriber's Calendar data
records stored


CA 02771955 2012-03-15

17
in the folder on the database 40 of the portable electronic device 22 are to
be updated and
a request for additional hash information is generated by the synchronization
server 30 at
step 192. The request for additional hash information is a request for hash
information
associated with the individual data records. The additional hash information
is requested
for each data record of the second subscriber's Calendar folder stored in the
folder on the
first database 40 of the portable electronic device 22. After generation of
the request for
additional hash information, the request is then transmitted to the portable
electronic
device 22 at step 194.
[0061] Once the request for additional hash information is received at the
portable
electronic device 22 at step 196, each data record generated at step 164 is
transmitted to
the communication system 20 over the radio communication channel at step 198.
[0062] The additional hash information is received at the communication system
20
and delivered to the synchronization server 30 at step 200. In response to
receipt of the
requested additional hash information, each hash generated for each of the
data records
of the corresponding first database 34B at step 182 is compared with a
corresponding one
of the hashes received at step 202 and a determination is made as to which of
the data
records of the folder containing the second subscriber's Calendar data records
on the
database 40 of the portable electronic device 22, requires updating. Thus,
data records in
which changes have been made at the communication system 20 that are not
reflected in
the corresponding data records at the portable electronic device 22, are
determined by the
comparison at step 202. These data records are then transmitted to the
Portable
electronic device at step 204.
[0063] The data records are received at the Portable electronic device at step
206 and
the second subscriber's Calendar data records of the database 40 at the
portable
electronic device 22 are updated at step 208. In the present example, the
second
subscriber provided read-only access to the Calendar data records and thus,
the records
on the portable electronic device are updated to match the Calendar data
records on the
database 34B. The Calendar data records on the database 34B are not changed
during
this synchronization, however.
[0064] It will be understood that the above description relates to one example
of a
method and apparatus for subscribable folder synchronization and management.
Many
modifications and variations are possible. For example, in the above
description, the


CA 02771955 2012-03-15

18
second subscriber provided read-only permission for the first subscriber to
access the
personal Calendar data records of the second subscriber. It is possible,
however, that the
second subscriber provides complete read and write access to their personal
Calendar
data records. In this case, the data records received at the portable
electronic device 22
of the first subscriber can be modified, deleted or further data records can
be added by
the first subscriber. Further, upon synchronization with the communication
system 20, as
described with reference to Figure 10, the data records stored in the database
34B at the
communication system are updated to reflect updates and changes made at the
portable
electronic device 22. With the determination of a mismatch, a conflict
resolution policy is
run, thereby determining how the mismatched data records are to be updated
(i.e.
whether to update the database records on the portable electronic device 22
with the
database records of the synchronization server 30 or vice versa).
[0065] Although the above examples have been described with reference to the
Calendar data records, permission can be indicated to provide delegate access
to other
data records such as Messages, Address Book, Tasks and Memo Pad data records.
As
indicated above, the data records for each of the applications includes an
extension that
provides a unique identification, thereby identifying the data record as
belonging to a
particular folder (Messages, Address Book, Tasks, Memo Pad or Calendar). For
each of
the data records of the applications, the extension also provides an
identification of the
data source, referred to herein as the data source identification. Thus, the
data records
that originate from another subscriber and that are synchronized to the
portable electronic
device 22 by permissions set by the originating user are differentiated by the
unique
identification, identifying the data source.
[0066] Although only two subscribers are described in the examples above,
further
subscribers can make their data records available to the first subscriber such
that the first
subscriber is permitted delegate access to data records from more than one
other
subscriber. In the event that the first subscriber is permitted delegate
access to Calendar
data records, for example, from more than one other subscriber and the first
subscriber
synchronizes each folder to which they are provided delegate access, to their
portable
electronic device 22, more than one other subscriber is listed for access on
the LCD
display output device 56 for access. Thus, in the exemplary screen shown in
Figure 9,
further names of other subscribers are listed under the heading Delegate
Calendars.


CA 02771955 2012-03-15

19
[0067] Also, delegate access has been described herein. It is also possible
that
access is provided to public folders of the Messages, Address Book, Tasks,
Memo Pad or
Calendar applications. For each of the data records of the applications, an
extension
provides an identification of the data source, referred to herein as the data
source
identification, as in the examples described above. In the case of public
folders, however,
the data source identified is unique to that public folder. Thus, the data
records from that
folder are uniquely identified as belonging to that folder and are
differentiated from other
personal and delegate data records by the unique identification. The owner of
a public
folder modifies permissions to provide public access and notifies those that
are granted
access to the public folder in a similar manner to that described above with
reference to
Figure 6. The public folder is synchronized to the portable electronic device
22 by first
finding the owner (subscriber) and viewing shared folders, as described above.
Public
folders can be viewed on the LCD display screen separate from personal and
delegate
folders. Thus, in the exemplary screen shown in Figure 9, a further heading of
Public
Calendars is provided, under which the public folder is identified by the
public group, for
example.
[0068] Although all the data from personal folders is synchronized to the
portable
electronic device, it is contemplated that the data synchronized to the device
from
delegate or public folders can be limited. For example, Calendar data records
can be
limited to a period of, for example, two weeks. Messages, Tasks and Memo Pad
data
records can be limited to those added to the public folder within a period of
time, for
example, two weeks. Further, data synchronized to the portable electronic
device can be
limited to key fields of data or can be limited to fields of interest such as
title only for
Memo Pad data records, title, due date, and recurrence information for Tasks
data
records, subject, location, time and recurrence data for Calendar data
records, and titles
only for Messages data records.
[0069] While the portable electronic device 22 is synchronized to the
communication
system 20, the portable electronic device 22 can also be synchronized to a
desktop
computer by wire connection, for example. It is contemplated that only the
data records
from the subscriber's personal database folders are synchronized with the
desktop
computer. For example, the unique identification identifying the folder to
which the data
record belongs and the data source, can be used to differentiate the folders
and to keep


CA 02771955 2012-03-15

those folders that do not belong to the subscriber's personal data records
from being
synchronized to the desktop computer.
[0070] While the embodiments described above are directed to particular
implementations of the method and apparatus for folder synchronization and
management, it will be understood that modifications and variations to these
embodiments
are within the sphere and scope of the present application. For example,
current
Messages (e-mail) applications support more than one folder within the
application. It is
contemplated that data records from the Messages application that are provided
by way of
delegate access permitted by other subscribers or public messages can be
stored in
folders accessible within the Messages application such that when the Messages
application is executed, additional folders containing these records are
displayed. For
example, current Messages applications support display of several folders such
as Inbox,
Sent Items and Deleted Items. Further folders such as delegate and public
messages
folders, containing these data records can be displayed on the same screen,
permitting
access to any of the data records.
[0071] Still other modifications and variations are possible. For example, the
screens
of the LCD display output device shown in Figures 4, 7A to 7C and 9 are
provided for
exemplary purposes only. Other screen views and layouts are possible. It will
also be
understood that the steps described hereinabove are not limited to the order
in which they
are described. The steps described can be performed in any suitable order as
may occur
to those skilled in the art. Further, it will be understood that the portable
electronic device
22 is not limited to three databases as any suitable number of databases is
possible.
Similarly, the communication system 20 may include any suitable number of
databases.
[0072] Many other modifications and variations may occur to those skilled in
the art.
All such modifications and variations are believed to be within the sphere and
scope of the
present application.

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 2016-07-26
(22) Filed 2007-06-11
(41) Open to Public Inspection 2007-12-12
Examination Requested 2012-03-15
(45) Issued 2016-07-26

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $473.65 was received on 2023-12-07


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2025-06-11 $253.00
Next Payment if standard fee 2025-06-11 $624.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2012-03-15
Registration of a document - section 124 $100.00 2012-03-15
Application Fee $400.00 2012-03-15
Maintenance Fee - Application - New Act 2 2009-06-11 $100.00 2012-03-15
Maintenance Fee - Application - New Act 3 2010-06-11 $100.00 2012-03-15
Maintenance Fee - Application - New Act 4 2011-06-13 $100.00 2012-03-15
Maintenance Fee - Application - New Act 5 2012-06-11 $200.00 2012-03-15
Maintenance Fee - Application - New Act 6 2013-06-11 $200.00 2013-06-01
Maintenance Fee - Application - New Act 7 2014-06-11 $200.00 2014-05-23
Maintenance Fee - Application - New Act 8 2015-06-11 $200.00 2015-05-29
Registration of a document - section 124 $100.00 2016-02-16
Final Fee $300.00 2016-03-29
Maintenance Fee - Application - New Act 9 2016-06-13 $200.00 2016-05-17
Maintenance Fee - Patent - New Act 10 2017-06-12 $250.00 2017-06-05
Maintenance Fee - Patent - New Act 11 2018-06-11 $250.00 2018-06-04
Maintenance Fee - Patent - New Act 12 2019-06-11 $250.00 2019-06-07
Maintenance Fee - Patent - New Act 13 2020-06-11 $250.00 2020-06-05
Registration of a document - section 124 2021-04-15 $100.00 2021-04-15
Maintenance Fee - Patent - New Act 14 2021-06-11 $255.00 2021-05-19
Maintenance Fee - Patent - New Act 15 2022-06-13 $458.08 2022-05-05
Maintenance Fee - Patent - New Act 16 2023-06-12 $473.65 2023-05-03
Maintenance Fee - Patent - New Act 17 2024-06-11 $473.65 2023-12-07
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
HUAWEI TECHNOLOGIES CO., LTD.
Past Owners on Record
BLACKBERRY LIMITED
RESEARCH IN MOTION LIMITED
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 2012-03-15 1 16
Description 2012-03-15 20 1,241
Claims 2012-03-15 2 65
Drawings 2012-03-15 11 133
Representative Drawing 2012-04-24 1 5
Cover Page 2012-04-25 1 36
Claims 2014-06-04 10 453
Claims 2014-11-06 4 158
Claims 2015-07-24 4 160
Cover Page 2016-06-02 1 36
Correspondence 2012-04-02 1 15
Correspondence 2012-04-02 1 39
Assignment 2012-03-15 4 127
Prosecution-Amendment 2012-03-15 1 33
Prosecution-Amendment 2014-11-06 7 248
Correspondence 2012-05-02 7 220
Correspondence 2012-05-29 1 13
Prosecution-Amendment 2013-01-18 1 26
Fees 2013-06-01 1 163
Prosecution-Amendment 2013-06-11 1 30
Prosecution-Amendment 2013-12-06 2 65
Fees 2014-05-23 1 33
Prosecution-Amendment 2014-06-04 13 548
Fees 2015-05-29 1 33
Prosecution-Amendment 2014-09-22 2 78
Prosecution-Amendment 2015-05-07 4 200
Amendment 2015-07-24 11 413
Assignment 2016-02-16 22 584
Final Fee 2016-03-29 2 78