Language selection

Search

Patent 3070860 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 3070860
(54) English Title: INTEGRATING REAL-TIME PERSONALIZED DOCUMENTS INTO A VIDEO CONFERENCE SESSION
(54) French Title: INTEGRATION DE DOCUMENTS PERSONNALISES EN TEMPS REEL DANS UNE SESSION DE VIDEOCONFERENCE
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04N 7/14 (2006.01)
(72) Inventors :
  • LOA, ALEXANDER (United States of America)
  • MEARS, JEFFREY (United States of America)
  • MORI, KENICHI (United States of America)
  • MULOKWA, SYBIL (United States of America)
(73) Owners :
  • INTUIT INC. (United States of America)
(71) Applicants :
  • INTUIT INC. (United States of America)
(74) Agent: OSLER, HOSKIN & HARCOURT LLP
(74) Associate agent:
(45) Issued: 2023-10-17
(86) PCT Filing Date: 2017-08-02
(87) Open to Public Inspection: 2019-02-07
Examination requested: 2020-01-22
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2017/045156
(87) International Publication Number: WO2019/027458
(85) National Entry: 2020-01-22

(30) Application Priority Data: None

Abstracts

English Abstract


Systems, methods, and computer readable media which perform
an operation comprising establishing a video conference between a first
application instance and a second application instance, and during the video
conference: receiving, by an application server from the first application
instance,
an indication of a first data element required to prepare a tax return,
storing, by a notification server, the indication of the first data element,
and
publishing, by a notification server, the indication of the first data element

to the second application instance, wherein the second application instance
is configured to output the indication of the data element for display.


French Abstract

L'invention concerne des systèmes, des procédés et des supports lisibles par ordinateur qui effectuent une opération consistant à établir une vidéoconférence entre une première instance d'application et une seconde instance d'application et, pendant la vidéoconférence : à recevoir, au moyen d'un serveur d'application en provenance de la première instance d'application, une indication d'un premier élément de données requis pour préparer un retour d'impôt, à stocker, au moyen d'un serveur de notification, l'indication du premier élément de données, et à publier, au moyen d'un serveur de notification, l'indication du premier élément de données à la seconde instance d'application, la seconde instance d'application étant configurée de sorte à sortir l'indication de l'élément de données pour affichage.

Claims

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


The embodiments of the present invention for which an exclusive property or
privilege is
claimed are defined as follows:
1. A method, comprising:
establishing a video conference between a first application instance and a
second
application instance; and
during the video conference:
receiving, by an application server from the first application instance, an
indication of a first data element required to prepare a tax return;
storing, by a notification server, the indication of the first data element;
and
publishing, by the notification server, the indication of the first data
element
to the second application instance,
wherein the second application instance is configured to output the
indication of the first data element for display via a graphical user
interface of the
second application instance after the video conference is completed, and
the second application instance is further configured to display, via the
graphical user interface, a user interface element associated with the
indication of
the first data element that allows the first data element to be input by a
user.
2. The method of claim 1, further comprising:
establishing a first socket connection between the first application instance
and the
application server, wherein the application server receives the indication of
the first data
element from the first application instance via the first socket connection;
and
establishing a second socket connection between the application server and the

notification server, wherein the application server provides the received
indication of the
first data element to the notification server via the second socket
connection.
3. The method of claim 2, wherein the application server comprises a
plurality of
virtual application servers, wherein the first and second socket connections
are
established with a first virtual application server of the plurality of
virtual application
servers, the method further comprising:

establishing a third socket connection between the second application instance

and a second virtual application server of the plurality of virtual
application servers; and
establishing a fourth socket connection between the second virtual application

server and the notification server.
4. The method of claim 3, further comprising:
subscribing the second application instance to receive push notifications from
the
notification server, wherein the notification server pushes the indication of
the first data
element to the second application instance via the second virtual application
server and
the third and fourth socket connections.
5. The method of any one of claims 1 to 4, wherein storing the indication
of the first
data element by the notification server associates the first data element with
a user profile
associated with the second application instance.
6. The method of any one of claims 1 to 4, wherein the first data element
comprises
a document, the method further comprising, prior to storing the indication:
determining a type of the first data element; and
upon determining that a size of the first data element exceeds a threshold:
storing the first data element at a cloud storage location; and
generating a uniform resource locator (URL) for the cloud storage location,
wherein the indication stored by the notification server comprises the URL and
the
type of the first data element.
7. The method of claim 6, further comprising:
receiving, by the application server from the first application instance, an
indication
of a second data element required to prepare the tax return;
determining, by the notification server, that a size of the second data
element does
not exceed the threshold;
determining a type of the second data element;
storing, by the notification server, the second data element and an indication
of the
type of the second data element; and
16

publishing, by the notification server, the indication of the second data
element to
the second application instance,
wherein the second application instance is configured to output the indication
of
the second data element for display.
8. A system, comprising:
a processor; and
a memory containing a program which when executed by the processor performs
an operation comprising:
establishing a video conference between a first application instance and a
second application instance; and
during the video conference:
receiving, by an application server from the first application instance,
an indication of a first data element required to prepare a tax return;
storing, by a notification server, the indication of the first data
element; and
publishing, by the notification server, the indication of the first data
element to the second application instance,
wherein the second application instance is configured to output the
indication of the first data element for display via a graphical user
interface
of the second application instance after the video conference is completed,
and
the second application instance is further configured to display, via
the graphical user interface, a user interface element associated with the
indication of the first data element that allows the first data element to be
input by a user.
9. The system of claim 8, the operation further comprising:
establishing a first socket connection between the first application instance
and the
application server, wherein the application server receives the indication of
the first data
element from the first application instance via the first socket connection;
and
17
Date Recue/Date Received 2022-12-22

establishing a second socket connection between the application server and the

notification server, wherein the application server provides the received
indication of the
first data element to the notification server via the second socket
connection.
10. The system of claim 9, wherein the application server comprises a
plurality of
virtual application servers, wherein the first and second socket connections
are
established with a first virtual application server of the plurality of
virtual application
servers, the operation further comprising:
establishing a third socket connection between the second application instance

and a second virtual application server of the plurality of virtual
application servers; and
establishing a fourth socket connection between the second virtual application

server and the notification server.
11. The system of claim 10, the operation further comprising:
subscribing the second application instance to receive push notifications from
the
notification server, wherein the notification server pushes the indication of
the first data
element to the second application instance via the second virtual application
server and
the third and fourth socket connections.
12. The system of any one of claims 8 to 11, wherein storing the indication
of the first
data element by the notification server associates the first data element with
a user profile
associated with the second application instance.
13. The system of any one of claims 8 to 11, wherein the first data element
comprises
a document, the operation further comprising, prior to storing the indication:
determining a type of the first data element; and
upon determining that a size of the first data element exceeds a threshold:
storing the first data element at a cloud storage location; and
generating a uniform resource locator (URL) for the cloud storage location,
wherein the indication stored by the notification server comprises the URL and
the
type of the first data element.
18
Date Recue/Date Received 2022-12-22

14. The system of claim 13, the operation further comprising:
receiving, by the application server from the first application instance, an
indication
of a second data element required to prepare the tax return;
determining, by the notification server, that a size of the second data
element does
not exceed the threshold;
determining a type of the second data element;
storing, by the notification server, the second data element and an indication
of the
type of the second data element; and
publishing, by the notification server, the indication of the second data
element to
the second application instance,
wherein the second application instance is configured to output the indication
of
the second data element for display.
15. A non-transitory computer readable medium storing instructions, which,
when
executed by a processor, causes the processor to perform an operation
comprising:
establishing a video conference between a first application instance and a
second
application instance; and
during the video conference:
receiving, by an application server from the first application instance, an
indication of a first data element required to prepare a tax return;
storing, by a notification server, the indication of the first data element;
and
publishing, by the notification server, the indication of the first data
element
to the second application instance,
wherein the second application instance is configured to output the
indication of the first data element for display via a graphical user
interface of the
second application instance after the video conference is completed, and
the second application instance is further configured to display, via the
graphical user interface, a user interface element associated with the
indication of
the first data element that allows the first data element to be input by a
user.
19
Date Recue/Date Received 2022-12-22

16. The non-transitory computer readable medium of claim 15, the operation
further
comprising:
establishing a first socket connection between the first application instance
and the
application server, wherein the application server receives the indication of
the first data
element from the first application instance via the first socket connection;
and
establishing a second socket connection between the application server and the

notification server, wherein the application server provides the received
indication of the
first data element to the notification server via the second socket
connection.
17. The non-transitory computer readable medium of claim 16, wherein the
application
server comprises a plurality of virtual application servers, wherein the first
and second
socket connections are established with a first virtual application server of
the plurality of
virtual application servers, the operation further comprising:
establishing a third socket connection between the second application instance

and a second virtual application server of the plurality of virtual
application servers; and
establishing a fourth socket connection between the second virtual application

server and the notification server.
18. The non-transitory computer readable medium of claim 17, the operation
further
comprising:
subscribing the second application instance to receive push notifications from
the
notification server, wherein the notification server pushes the indication of
the first data
element to the second application instance via the second virtual application
server and
the third and fourth socket connections.
19. The non-transitory computer readable medium of any one of claims 15 to
18,
wherein storing the indication of the first data element by the notification
server associates
the first data element with a user profile associated with the second
application instance.
20. The non-transitory computer readable medium of any one of claims 15 to
18,
wherein the first data element comprises a document, the operation further
comprising,
prior to storing the indication:
Date Recue/Date Received 2022-12-22

determining a type of the first data element; and
upon determining that a size of the first data element exceeds a threshold:
storing the first data element at a cloud storage location; and
generating a uniform resource locator (URL) for the cloud storage location,
wherein the indication stored by the notification server comprises the URL and
the
type of the first data element.
21
Date Recue/Date Received 2022-12-22

Description

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


CA 03070860 2020-01-22
WO 2019/027458 PCMJS2017/045156
INTEGRATING REAL-TIME PERSONALIZED DOCUMENTS INTO A VIDEO
CONFERENCE SESSION
BACKGROUND
Field
[0001] Embodiments of the present invention generally relate to video
conferencing, and more specifically, to integrating real-time, personalized
documents into a video conference session.
Description of the Related Art
[0002] Often,
users engage in video conferencing sessions with professionals,
such as accountants, attorneys, and financial advisors. In many
cases, a
professional requires additional information (such as documentation) from the
users
so that the professional may provide different services to the users. One
object of
the video conferencing session is for the professional to identify the
necessary
additional information. However, the video conferencing session imparts
limitations
on such scenarios. For example, the video conference often occupies an entire
screen, making it difficult to create and share lists of necessary
information. Instead,
the professional often prepares such a list outside of the video conference
session,
and emails the list to the user after the video conference session. However,
such a
scenario leads to questions, missed information, and incomplete or
incomprehensive
lists.
SUM MARY
[0003] In one
embodiment, a method comprises establishing a video conference
between a first application instance and a second application instance, and
during
the video conference: receiving, by an application server from the first
application
instance, an indication of a first data element required to prepare a tax
return,
storing, by a notification server, the indication of the first data element,
and
publishing, by a notification server, the indication of the first data element
to the
second application instance, wherein the second application instance is
configured
to output the indication of the data element for display.
1

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
[0004] In another embodiment, a system comprises a processor and a memory
containing a program which when executed by the processor performs an
operation
comprising establishing a video conference between a first application
instance and
a second application instance, and during the video conference: receiving, by
an
application server from the first application instance, an indication of a
first data
element required to prepare a tax return, storing, by a notification server,
the
indication of the first data element, and publishing, by a notification
server, the
indication of the first data element to the second application instance,
wherein the
second application instance is configured to output the indication of the data
element
for display.
[0005] In another embodiment, a non-transitory computer readable medium
stores instructions, which, when executed by a processor, performs an
operation
comprising establishing a video conference between a first application
instance and
a second application instance, and during the video conference: receiving, by
an
application server from the first application instance, an indication of a
first data
element required to prepare a tax return, storing, by a notification server,
the
indication of the first data element, and publishing, by a notification
server, the
indication of the first data element to the second application instance,
wherein the
second application instance is configured to output the indication of the data
element
for display.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] So that the manner in which the above recited features of the
present
disclosure can be understood in detail, a more particular description of the
disclosure, briefly summarized above, may be had by reference to embodiments,
some of which are illustrated in the appended drawings. It is to be noted,
however,
that the appended drawings illustrate only exemplary embodiments and are
therefore not to be considered limiting of its scope, may admit to other
equally
effective embodiments.
[0007] Figure 1 illustrates an example system for integrating real-time
personalized documents into a video conference session, according to one
embodiment.
2

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
[0008] Figures 2A-2C illustrate example graphical user interfaces for
integrating
real-time personalized documents into a video conference session, according to

various embodiments.
[0009] Figure 3 is a flow chart illustrating a method to integrate real-
time
personalized documents into a video conference session, according to one
embodiment.
[0010] Figure 4 is a flow chart illustrating a method to establish a video
conference session, according to one embodiment.
[0011] Figure 5 is a flow chart illustrating a method to generate a list of
real-time
personalized documents, according to one embodiment.
[0012] Figure 6 is a block diagram illustrating a system configured to
integrate
real-time personalized documents into a video conference session, according to
one
embodiment.
[0013] To facilitate understanding, identical reference numerals have been
used,
where possible, to designate identical elements that are common to the
figures. It is
contemplated that elements and features of one embodiment may be beneficially
incorporated in other embodiments without further recitation.
DETAILED DESCRIPTION
[0014] Embodiments disclosed herein provide techniques to integrate real-
time,
personalized documents in video conferencing sessions. Generally, one or more
client users may participate in a networked video conferencing session with a
professional user via respective instances of a common application. During the

video conference, embodiments disclosed herein provide graphical user
interfaces
(GUIs) that allow the professional user to generate indications of required
documentation (or other data). A notification server orchestrates the receipt
of the
generated indications from the professional user, and the transmission of the
generated indications to the client user (e.g., in real-time as they are
generated by
the professional user). Furthermore, embodiments disclosed herein provide GUIs
to
allow the client user to view the indications in real-time.
3

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
[0015] Figure 1 illustrates an example system 100 for integrating real-time

personalized documents into a video conference session, according to one
embodiment. As shown, the system 100 includes a client system 101, one or more

servers 1021_N, and a professional system 103. The client system 101 and
professional system 103 are representative of any type of physical or virtual
computing system, such as a laptop, desktop, tablet, and/or mobile device. As
shown, the client system 101 and the professional system 103 include
respective
instances of a tax application 104, namely instances 104A and 104C. The tax
application 104 is generally configured to facilitate preparation of a tax
return for one
or more users. As shown, the instances of the tax application 104A,C include a

video conferencing interface 111 and data stores of client data 112. The video

conferencing interface 111 allows users of the client system 101 and
professional
system 103 to engage in a real-time audio/video conference. For example, a
user of
the client system 101 may initiate a video conference with a tax professional.
The
user may be paired with an available tax professional, e.g., a user of the
professional system 103, and a video conference is established.
[0016] During the video conference, the parties may discuss the information

needed for the professional to prepare a tax return for the client. The tax
professional may then identify data elements necessary to prepare the tax
return,
such as income statements, receipts, and the like. As shown, the instance of
the tax
application 104C on the professional system 103 provides a generation
interface
113 that allows the professional to enter indications of the necessary data
elements.
Once entered by the professional, the indications may be stored in the
instance of
the client data 112 on the professional system 103 (and/or on the servers
1021_N).
The instance of the tax application 104A on the client system 101 includes a
client
data interface 115 for viewing the indications of data elements entered by the
tax
professional.
[0017] As shown, the servers 1021_N include a plurality of application
servers
1051_N, a plurality of notification servers 1061_N, and a data store of client
data 112.
The servers 102, 105, and 106 are representative of physical and virtualized
servers. The application servers 1051-N execute instances of the tax
application 104,
namely instances 104B, which support the functionality (including video
4

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
conferencing) provided by the tax application 104. The notification servers
1061-N
are generally configured to receive indications of data elements entered by
the
professional via the generation interface 113, and store the indications in
the client
data cache 114. The
notification servers 1061-N may then generate push
notifications of the data elements entered by the professional, and transmit
the
notifications to any subscribing application server 1051_N and/or subscribing
instances of the client data interface 115.
[0018]
Generally, a given instance of the tax application 104 executing on the
client system 101 and/or professional system 103 establishes a socket
connection
with an application server 1051-N when the respective instance of the tax
application
104 is launched. For example, the instance of the tax application 104A
executing on
the client system 101 may establish a socket with application server 1051,
while the
instance of the tax application 104C executing on the professional system 103
may
establish a socket connection with the application server 1052. In other
embodiments, the instances of the tax application 104A,C on the systems 101,
103
may establish socket connections with the same application server 105N.
[0019] A user
of the client system 101 may then use the video conferencing
interface 111 to initiate a video conference with a professional (e.g., a user
of the
professional system 103). The instances of the tax application 104B on the
application servers 1051_N may then establish a connection to initiate the
video
conference between the client and the tax professional. Furthermore, a socket
connection is established between the associated application servers 1051_N
and the
notification servers 1061_N. For example, the instances of the tax application
104B
and/or the respective application servers 1051.2 may each establish a socket
connection with the notification server 1061. The client data interface 115
and/or the
tax application 104A on the client system 101 may then subscribe to receive
push
notifications from the notification server 1061. In at least one embodiment,
the
respective instance of the tax application 104B on the application server 1051

subscribes to receive push notifications from the notification server 1061,
which then
pushes applicable notifications to the client data interface 115. Therefore,
in one
embodiment, when the tax professional enters indications of needed data
elements
via the generation interface 113, the generation interface 113 transmits an
indication

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
of the needed data element to the application server 1052. The instance of the
tax
application 104B executing on the application server 1052 then transmits an
indication of the needed data element to the notification server 1061, which
stores
the indication in the client data cache 114. In another embodiment, the
instance of
the tax application 104C on the professional system 103 transmits the
indication
directly to the notification server 1061.
[0020] The notification server 1061 then generates a push notification to
all
subscribing client data interfaces 115. Continuing with this example, the push

notification is sent from the notification server 1061 to the application
server 1051,
where the instance of the tax application 104B transmits the push notification
to the
client data interface 115 on the client system 101. The client data interface
115 then
outputs an indication of the push notification to the user, and optionally
stores an
indication of the needed data in the client data 112.
[0021] Figure 2A illustrates an example GUI 200 used by a professional user
of
the professional system 103, according to one embodiment. As shown, the GUI
200
includes a video 205 and an example generation interface 113. The video 205
depicts the video data of the user of the client system 101. The generation
interface
113 allows the professional user to enter indications of needed data elements.
As
shown, the generation interface 113 includes a plurality of fields 210
corresponding
to different types of tax forms. The generation interface 113 also includes a
plurality
of fields 211 allowing the tax professional to enter additional information
related to
the corresponding type of tax form 210 (e.g., the professional may indicate a
particular employer from whom a particular type of tax form is needed).
Therefore,
as shown, the tax professional has entered two example W2 forms and an example

form 1099-INT via the generation interface 113 of the GUI 200. As the tax
professional enters each entry, an indication of the entry is transmitted to
the
corresponding application server 105N, which then forwards the indication to
the
corresponding notification server 106N. The indication may include metadata
describing the required data element, such as the type of data element, and a
source of the data element (e.g., a W2 from employer "example1"). The
indication
may further include a copy of the data element, or a template thereof (e.g., a
blank
W2 form, a W2 form pre-populated with some information describing the user,
etc.).
6

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
The notification server 106N may then store the indication in the client data
cache
114. In some embodiments, the notification server 106N stores a copy of the
data
element. However, if the size of the data element exceeds a threshold, the
notification server 106N may store a link to the data element in the cache
114, and
store the actual data element at a different network location to minimize the
size of
the cache 114.
[0022] The notification server 106N then generates a push notification
describing
the data element, which is transmitted to all subscribing client data
interfaces 115.
Figure 2B illustrates an example GUI 201 which includes a video 205 and an
example client data interface 115, according to one embodiment. The video 205
is
the video data from the tax professional using the professional system 103 in
the
video conference. As shown, the client data interface 115 includes a list of
data
elements that correspond to the data elements entered by the tax professional
via
the generation interface 113. Generally, the client data interface 115
displays new
data elements in real-time, as they are added by the tax professional via the
generation interface 113.
[0023] Figure 2C depicts a GUI 202 which includes a list 220 of data
elements,
according to one embodiment. In at least one embodiment, the GUI 202 is
accessible to the user of the client device 101 outside of a video
conferencing
session (e.g., after a tax consultation via video conferencing has completed).
As
shown, the list 220 includes example data elements (e.g., tax forms, address
information, user metadata) that the tax professional entered via the
generation
interface 113. As shown, the GUI 202 further includes elements 221 that allow
the
user to enter the corresponding information. For example, the user may upload
a
W2 document, enter address information, and the like, via the GUI elements
221.
Once the user provides the necessary information, the information is stored in
the
client data 112 (e.g., on one or more of the client device 101, the servers
1021_N,
and/or the professional device 103). Furthermore, the user provides the
necessary
information, the GUIs 200-202 may be updated to reflect the user submission.
For
example, the professional may use the GUI 200 to view the information (e.g.,
forms,
metadata, etc.) submitted by the user. In at least one embodiment, as the user

provides the information, the application server 105N and/or the notification
server
7

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
106N generates and sends a notification to the professional. For example, if a
user
uploads their W2 document, the application server 105N and/or notification
server
106N may generate and send an email to the associated tax professional.
[0024] Figure 3
is a flow chart illustrating a method 300 to integrate real-time
personalized documents into a video conference session, according to one
embodiment. As shown, the method 300 begins at block 310, where an instance of

the tax application 104A executing on the client device 101 establishes a
socket
connection with an application server 1051-N. At block
320, the connected
application server 1051-N receives a request from the instance of the tax
application
104A executing on the client device 101 to initiate a video conference with a
tax
professional. At block 330, described in greater detail with reference to
Figure 4, a
video conference session is established between the requesting user and a tax
professional. At block 340, described in greater detail with reference to
Figure 5, the
tax professional generates a real-time list during the video conferencing
session.
The real-time list includes one or more required data elements necessary to
allow
the tax professional to prepare the requesting user's taxes. At block 350, the
real-
time list and associated objects are integrated into the video conference. For

example, as the tax professional enters indications of the data elements via
the GUI
200, the user of the client device 101 may view the indications of the data
elements
in real-time via the GUI 201. At block 360, the tax application 104A may
optionally
provide the list generated at block 350 to the user (e.g., via email and/or
the GUI
202) after the video conference is completed.
[0025] Figure 4
is a flow chart illustrating a method 400 corresponding to block
330 to establish a video conference session, according to one embodiment. As
shown, the method 400 begins at block 410, where an available tax professional
is
identified. Generally, the instances of the tax application 10413 on the
application
servers 1051-N maintain indications of tax professionals available for video
conferences. The instances of the tax application 10413 on the application
servers
1051-N may select an available tax professional based on any number of
factors,
such as an expertise of the tax professional matching a need or business
requirement of the client, a favorability rating of the tax professional, an
amount of
time since the last video conference the tax professional participated in, and
the like.
8

[0026] At block 420, a socket connection is established between the
application
servers 1051-N connected to the instances of the tax application 104A,C
executing
on the client device 101 and the professional device 103 (e.g., the devices
participating in the video conference). At block 430, a socket connection is
established between a notification server 1061-N and the application server
1051-N to
which the instance of the tax application 104C of the professional device 103
is
connected. At block 440, a socket connection is established between a
notification
server 1061-N and the application server 1051-N to which the instance of the
tax
application 104A executing on the client device 101 is connected. At block
450, the
application server 1051-N to which the instance of the tax application 104A
executing
on the client device 101 is connected subscribes to push updates provided by
the
notification server 1061-N. In at least one embodiment, the instance of the
tax
application 104A executing on the client device 101 subscribes to receive push

updates from the notification server 1061-N. At block 460, the video
conference is
established, and the parties may begin communicating via the video conference.
[0027] Figure 5 is a flow chart illustrating a method 500 corresponding
to block
340 to generate a list of real-time personalized documents, according to one
embodiment. As shown, the method 500 begins at block 510, where the instance
of
the tax application 104C executing on the professional device 103 receives
indications of needed data elements from the tax professional. Generally, the
tax
professional enters the indications via the video conferencing interface 111
during
the video conference. At block 520, a loop including blocks 530-590 is
executed for each received indication. At block 530, the instance of the tax
application 104C executing on the professional device 103 determines whether
to publish the current data element or a link to the data element, based on
the size
of the current data element. Generally, to reduce the size of the client data
cache
114, data elements having a size that exceeds a threshold are not stored in
the
client data cache 114. Instead, larger data elements are stored at a storage
location in the cloud (e.g., on a server 1021-N), and a uniform resource
locator
(URL) to the storage location is stored in the client data cache 114.
[0028] At block 540, the notification server 1061-N receives an
indication of the
current data element via the socket connection between the notification server
1061_
9
Date Recue/Date Received 2021-08-10

N and the application server 1051-N to which the instance of the tax
application 104C
of the professional device 103 is connected. At block 550, the notification
server
stores an indication of the current data element in the client data cache 114.

Generally, the indication includes metadata describing the current data
element,
such as a type (e.g., tax form, personal metadata, income information, etc.),
an
associated party (e.g., the client, a spouse, a dependent, etc.), and the
like. As
previously indicated, if the size of the current data element does not exceed
the
threshold, the current data element is also stored in the client data cache
114.
However, if the size of the current data element exceeds the threshold, the
current
data element is stored at a storage location in a server 1021-N (e.g., in the
client data
112), and a URL of the storage location is stored in the client data cache
114.
[0029] At block 560, the notification server 1061_N generates a push
notification
for the current data element, and pushes the notification to any subscribed
application servers 1051_N. At block 570, the subscribing application servers
1051_N
transmit the received push notification to the instance of the tax application
104A
executing on the client device 101. At block 580, the instance of the tax
application
104A executing on the client device 101 outputs an indication of the current
data
element for display during the video conference. Doing so allows the client to
view
the information in real-time and during the video conference without having to
switch
screens or manually save the list of required data elements. At block 520, if
more
data elements remain, the method returns to block 520. Otherwise, the method
500
ends.
[0030] Figure 6 is a block diagram illustrating a system 600 configured
to
integrate real-time personalized documents into a video conference session,
according to one embodiment. The networked system 600 includes a computer
602. The computer 602 may also be connected to other computers via a network
630. In general, the network 630 may be a telecommunications network and/or a
wide area network (WAN). In a particular embodiment, the network 630 is the
Internet.
[0031] The computer 602 generally includes a processor 604 which obtains

instructions and data via a bus from a memory 606 and/or a storage 608. The
computer 602 may also include one or more network interface devices 618, input
Date Recue/Date Received 2021-08-10

devices 622, and output devices 624 connected to the bus. The computer 602 is
generally under the control of an operating system (not shown). Examples of
operating systems include the UNIX operating system, versions of the Microsoft

Windows operating system, and distributions of the Linux operating system.
(UNIX
is a registered trademark of The Open Group in the United States and other
countries. Microsoft and Windows are trademarks of Microsoft Corporation in
the
United States, other countries, or both. Linux is a registered trademark of
Linus
Torvalds in the United States, other countries, or both.) More generally, any
operating system supporting the functions disclosed herein may be used. The
processor 604 is a programmable logic device that performs instruction, logic,
and
mathematical processing, and may be representative of one or more CPUs. The
network interface device 618 may be any type of network communications device
allowing the computer 602 to communicate with other computers via the network
630.
[0032] The storage 608 is representative of hard-disk drives, solid
state drives,
flash memory devices, optical media and the like. Generally, the storage 608
stores
application programs and data for use by the computer 602. In addition, the
memory 606 and the storage 608 may be considered to include memory physically
located elsewhere; for example, on another computer coupled to the computer
602
via the bus.
[0033] The input device 622 may be any device for providing input to the

computer 602. For example, a keyboard and/or a mouse may be used. The input
device 622 represents a wide variety of input devices, including keyboards,
mice,
controllers, and so on. Furthermore, the input device 622 may include a set of

buttons, switches or other physical device mechanisms for controlling the
computer
602. The output device 624 may include output devices such as monitors, touch
screen displays, and so on.
[0034] As shown, the memory 606 contains the application servers 1051-N
and
the notification servers 1061-N, each described in greater detail above. As
shown,
the storage 608 contains the client data 112, which stores user profile data.
For
example, the profile data stored in the client data 112 may include data
elements
identified by a tax professional as being necessary to prepare a tax return
for the
11
Date Recue/Date Received 2021-08-10

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
user. As described herein, the data elements may be identified during a video
conference leveraging the video cameras 650 of the client system 101 and the
professional system. Generally, the system 600 is configured to implement all
systems, methods, and functionality described above with reference to Figures
1-5.
[0035] It may
be noted that, descriptions of embodiments of the present
disclosure are presented above for purposes of illustration, but embodiments
of the
present disclosure are not intended to be limited to any of the disclosed
embodiments. Many modifications and variations will be apparent to those of
ordinary skill in the art without departing from the scope and spirit of the
described
embodiments. The terminology used herein was chosen to best explain the
principles of the embodiments, the practical application or technical
improvement
over technologies found in the marketplace, or to enable others of ordinary
skill in
the art to understand the embodiments disclosed herein.
[0036] In the
preceding, reference is made to embodiments presented in this
disclosure. However, the scope of the present disclosure is not limited to
specific
described embodiments. Instead, any combination of the recitd features and
elements, whether related to different embodiments or not, is contemplated to
implement and practice contemplated embodiments.
Furthermore, although
embodiments disclosed herein may achieve advantages over other possible
solutions or over the prior art, whether or not a particular advantage is
achieved by a
given embodiment is not limiting of the scope of the present disclosure. Thus,
the
recited aspects, features, embodiments and advantages are merely illustrative
and
are not considered elements or limitations of the appended claims except where

explicitly recited in a claim(s). Likewise, reference to the invention" shall
not be
construed as a generalization of any inventive subject matter disclosed herein
and
shall not be considered to be an element or limitation of the appended claims
except
where explicitly recited in a claim(s).
[0037] Aspects
of the present disclosure may take the form of an entirely
hardware embodiment, an entirely software embodiment (including firmware,
resident software, micro-code, etc.) or an embodiment combining software and
hardware aspects that may all generally be referred to herein as a
"component,"
"circuit," "module" or "system." Furthermore, aspects of the present
disclosure may
12

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
take the form of a computer program product embodied in one or more computer
readable medium(s) having computer readable program code embodied thereon.
[0038] Any combination of one or more computer readable medium(s) may be
utilized. The computer readable medium may be a computer readable signal
medium or a computer readable storage medium. A computer readable storage
medium may be, for example, but not limited to, an electronic, magnetic,
optical,
electromagnetic, infrared, or semiconductor system, apparatus, or device, or
any
suitable combination of the foregoing. More specific examples a computer
readable
storage medium include: an electrical connection having one or more wires, a
hard
disk, a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), an optical fiber, a
portable compact disc read-only memory (CD-ROM), an optical storage device, a
magnetic storage device, or any suitable combination of the foregoing. In the
current context, a computer readable storage medium may be any tangible medium

that can contain, or store a program.
[0039] The flowcharts and block diagrams in the Figures illustrate the
architecture, functionality and operation of possible implementations of
systems,
methods and computer program products according to various embodiments of the
present invention. In this regard, each block in the flowchart or block
diagrams may
represent a module, segment or portion of code, which comprises one or more
executable instructions for implementing the specified logical function(s). In
some
alternative implementations the functions noted in the block may occur out of
the
order noted in the figures. For example, two blocks shown in succession may,
in
fact, be executed substantially concurrently, or the blocks may sometimes be
executed in the reverse order, depending upon the functionality involved. Each

block of the block diagrams and/or flowchart illustrations, and combinations
of blocks
in the block diagrams and/or flowchart illustrations can be implemented by
special-
purpose hardware-based systems that perform the specified functions or acts,
or
combinations of special purpose hardware and computer instructions.
[0040] While the foregoing is directed to embodiments of the present
disclosure,
other and further embodiments of the disclosure may be devised without
departing
13

CA 03070860 2020-01-22
WO 2019/027458 PCT/US2017/045156
from the basic scope thereof, and the scope thereof is determined by the
claims that
follow.
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 2023-10-17
(86) PCT Filing Date 2017-08-02
(87) PCT Publication Date 2019-02-07
(85) National Entry 2020-01-22
Examination Requested 2020-01-22
(45) Issued 2023-10-17

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $210.51 was received on 2023-07-28


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2024-08-02 $100.00
Next Payment if standard fee 2024-08-02 $277.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
Maintenance Fee - Application - New Act 2 2019-08-02 $100.00 2020-01-22
Application Fee 2020-01-22 $400.00 2020-01-22
Request for Examination 2022-08-02 $800.00 2020-01-22
Maintenance Fee - Application - New Act 3 2020-08-04 $100.00 2020-08-14
Maintenance Fee - Application - New Act 4 2021-08-02 $100.00 2021-07-23
Maintenance Fee - Application - New Act 5 2022-08-02 $203.59 2022-07-29
Maintenance Fee - Application - New Act 6 2023-08-02 $210.51 2023-07-28
Final Fee $306.00 2023-09-06
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
INTUIT 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 2020-01-22 1 89
Claims 2020-01-22 6 238
Drawings 2020-01-22 8 437
Description 2020-01-22 14 714
Representative Drawing 2020-01-22 1 82
International Search Report 2020-01-22 4 128
National Entry Request 2020-01-22 3 106
Cover Page 2020-03-13 1 62
Examiner Requisition 2021-04-20 5 227
Amendment 2021-08-10 24 948
Description 2021-08-10 14 722
Claims 2021-08-10 7 273
Drawings 2021-08-10 8 416
Examiner Requisition 2022-02-08 6 233
Amendment 2022-02-18 17 587
Claims 2022-02-18 7 284
Examiner Requisition 2022-11-22 3 140
Amendment 2022-12-22 14 467
Change to the Method of Correspondence 2022-12-22 3 65
Claims 2022-12-22 7 404
Final Fee 2023-09-06 4 102
Representative Drawing 2023-10-10 1 27
Cover Page 2023-10-10 1 62
Electronic Grant Certificate 2023-10-17 1 2,527