Language selection

Search

Patent 2295492 Summary

Third-party information liability

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

Claims and Abstract availability

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

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2295492
(54) English Title: CUSTOMER SURVEY SYSTEM AND METHOD
(54) French Title: SYSTEME DE SONDAGE AUPRES DE LA CLIENTELE ET PROCEDE CORRESPONDANT
Status: Deemed Abandoned and Beyond the Period of Reinstatement - Pending Response to Notice of Disregarded Communication
Bibliographic Data
(51) International Patent Classification (IPC):
(72) Inventors :
  • RENAUD, DAVID J. (United States of America)
(73) Owners :
  • CUSTOMER CAST, INC.
(71) Applicants :
  • CUSTOMER CAST, INC. (United States of America)
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 1999-05-13
(87) Open to Public Inspection: 1999-11-18
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1999/010565
(87) International Publication Number: US1999010565
(85) National Entry: 2000-01-11

(30) Application Priority Data:
Application No. Country/Territory Date
09/078,341 (United States of America) 1998-05-13

Abstracts

English Abstract


A customer survey system and method (10) including a web page survey server
(20) and an e-mail survey server (18) coupled to the Internet (12) to provide
surveys written in extended HTML to a number of customers. An analysis system
(16) is included for receiveng customer survey data and for creating at least
one report web page with at least one graphical depiction of customer data
(24a-d) that is hosted by a reporting server (26). Preferably, the reporting
server is coupled to a corporate Intranet (14) providing firewall security for
the reported data. Surveys provided through the web page survey server are
converted into an e-mail format for receipt by the corporate Intranet.
Additionally, a digital signature is inserted into each of the surveys for
authentication purposes. Java Applets are provided to the user to permit
tabulated survey result data to be displayed in multiple graphical formats.


French Abstract

Selon cette invention, un système de sondage auprès de la clientèle et un procédé correspondant (10) comprennent un serveur de sondage à pages Web (20) et un serveur de sondage par courrier électronique (18), couplés à l'Internet (12) et destinés à porter à l'attention de la clientèle des sondages écrits en langage HTML avancé. Un système d'analyse (16) reçoit les données relatives aux sondages auprès de la clientèle et crée au moins une page Web avec des rapports, qui comporte au moins une représentation graphique des données (24a-d) relatives à la clientèle, accueillies par le serveur de rapports (26). Le serveur de rapports est, de préférence, couplé à un réseau interne d'entreprise (14) assurant la sécurité des données de rapports au moyen d'une technique de coupe-feu. Les sondages acheminés à travers le serveur de sondage à pages Web sont convertis au format de courrier électronique et destinés à la réception par le réseau interne d'entreprise. En outre, une signature numérique est insérée dans chacun des sondages, et ce à des fins d'authentification. Des appliquettes Java acheminées à l'utilisateur lui permettent d'afficher sous différents formats graphiques les données tabulées relatives aux résultats des sondages.

Claims

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


What is claimed is:
CLAIMS
1. A customer survey system comprising:
a survey server coupled to a TCP/IP network, said network being coupled to a
plurality
of customer machines, said survey server providing surveys to said plurality
of customer
machines via said network;
an analysis system receiving customer data provided by customers in response
to said
surveys, said analysis system creating at least one report web page with at
least one graphical
depiction of said customer data; and
a reporting server hosting said at least one report web page.
2. A customer survey system as recited in claim 1 wherein said TCP/IP network
is a
first. TCP/IP network, and further comprising a second TCP/IP network coupled
to said reporting
server, said second TCP/IP network being coupled to a plurality of client
machines.
3. A customer survey system as recited in claim 2 wherein said first TCP/IP
network
comprises a public TCP/IP network, and wherein said second TCP/IP network
comprises a
private TCP/IP network.
4. A customer survey system as recited in claim 3 wherein said public TCP/IP
network comprises the Internet, and wherein said second TCP/IP network
comprises a Intranet.
5. A customer survey system as recited in claim 2 further comprising an e-mail
client coupled to said TCP/IP network for receiving said customer data, said e-
mail client being
coupled to said analysis system.
-22-

6. A customer survey system as recited in claim 5 wherein said customer data
includes a digital signature identifying a customer machine.
7. A customer survey system as recited in claim 5 wherein said survey server
is a
survey e-mail server, wherein said surveys are e-mailed to said customer
machines.
8. A customer survey system as recited in claim 7 wherein said survey server
is a
survey web server, wherein said surveys are provided to said customer machines
as web pages.
9. A customer survey system as recited in claim 8 wherein said customer data
is
received by said survey web server.
10. A customer survey system as recited in claim 9 wherein said customer data
is
e-mailed to an e-mail client coupled to said TCP/IP network and to said
analysis system.
11. A method for surveying customers comprising:
providing a plurality of surveys over the Internet to a plurality of customer
machines;
receiving customer data provided by customers in response to said surveys;
creating at least one report web page with at least one graphical depiction of
said
customer data; and
hosting said report web page for viewing by a client.
12. A method for surveying customers as recited in claim 11 wherein said
report web
page is hosted on an Intranet.
-23-

13. A method for surveying customers as recited in claim 11 wherein said
plurality of
surveys are each provided with a digital signature to identify the customer
machine to which it is
sent.
14. A method for surveying customers as recited in claim 14 wherein said
plurality of
surveys are a plurality of e-mail surveys, and wherein said digital signature
is inserted into each
of said e-mail surveys.
15. A method for surveying customers as recited in claim 13 wherein said
plurality of
surveys are a plurality of web page surveys, and wherein said digital
signature is inserted into at
least one web page of each of said web page surveys.
16. A method for surveying customers as recited in claim 13 wherein said
receiving
customer data includes receiving customer data via e-mail over the Internet.
17. A method for surveying customers as recited in claim 11 wherein said
report web
page includes at least one graphical display derived from an HTML table.
18. A method for surveying customers as recited in claim 11 wherein providing
a
plurality of surveys includes preparing a survey description in an extended
HTML language.
19. Computer readable media including program instructions for implementing
the
method of claim 11.
20. A method for creating a survey comprising:
preparing a survey script; and
-24-

processing said survey script to create a survey including inserting a digital
signature into
said survey which identifies the intended address of the recipient of the
survey.
21. A method for creating a survey as recited in claim 20 further comprising:
delivering said survey to' said intended address;
receiving a response to said survey; and
verifying the authenticity of said response by said digital signature.
22. A method for creating a survey as recited in claim 20 wherein said survey
script is
written in an HTML language, and wherein said survey includes at least one web
page supported
by a web server.
23. A method for creating a survey as recited in claim 22 further comprising
converting said response at said web server into an e-mail response, and
sending said e-mail
response.
24. A method for creating a survey as recited in claim 20 wherein said survey
script is
an e-mail script, and wherein said response is an e-mail response.
25. Computer readable media including program instructions for implementing
the
method of claim 20.
26. A method for creating a web page survey comprising:
writing a web page script in an HTML language including tags for a survey
report;
generating a report in an extended HTML language;
-25-

posting said web page script on a web site;
receiving customer responses via said web site;
including said customer responses in said report; and
posting said report on a web site for viewing by a user.
27. Computer readable media including program instructions for implementing
the
method of claim 26.
-26-

Description

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


CA 02295492 2000-O1-11
WO 99/59096 PCT/US99110565
Customer Survev Svstem and Method
BACK ,rROIlND OF THE INVENTION
S
This invention relates generally to electronic surveys, and more particularly
to electronic
surveys conducted over a public wide area network.
Companies often desire to survey customers and potential customers in order to
develop
information that can aid in their marketing, customer support, and product
development efforts.
One known way for surveying customers is the use of "electronic surveys"
wherein e-mail
surveys are sent to customers over a public wide area network (WAN), such as
the Internet. The
e-mail surveys are answered by the customers and e-mailed back to the company.
The answers
are then either manually or automatically tabulated, compared with the answers
from other
customers, and converted into reports.
There are several problems with prior art e-mail survey techniques. For one,
it is very
difficult to authenticate that the answers of to survey came from the intended
recipient of the
survey. For example, the survey might have been passed from the intended
recipient to another
person. Additionally, in the prior art it was not possible to tell whether a
survey for a particular
recipient has been answered multiple times. These factors tend to create
inaccuracies and false
assumptions in the survey reports. In addition, in the prior art reports
tended to require
considerable manual tabulations, and often displayed the results in a hard-to-
understand tabular
formats.
It is also known in the prior art to conduct surveys via web pages over the
Internet. To
conduct such a survey, web pages are hosted on a web server coupled to the
Internet, and web
pages (in the foam of HTML files) are delivered to customer machines. The
survey information
is then submitted back to the web server for the generation of reports.
One company that creates web-based surveys is Decisive Technology, Inc. of
Mountain
View, California. The URL of their website is http://www.decisive.com. While
Decisive does
provide the service of creating web-based surveys, their reporting
capabilities are rather simple.
Also, the reports that they generate are not web-based, and thus lack the
power and
sophistication that a web-based report would provide.
While web page surveys, in general, have the advantage of being more graphical
than e-
mail surveys, they still suffer from many of the same disadvantages. For
example, there is no
-1-

CA 02295492 2000-O1-11
WO 99/59096 PCTNS99/10565
convenient way to authenticate the identity of the customer responding to a
web page survey. In
addition, useful report generation remains difficult and relatively
unsophisticated.

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10565
SUMMARY OF THE INVENTION
The present invention includes systems, apparatus and methods for conveniently
and
effectively generating customer surveys and customer survey reports.
Preferably, the customer
surveys provide identity authentication to eliminate a source of error in the
survey results. These
surveys are preferably delivered over the Internet and the customer
information is e-mailed back
to the company for the purpose of analysis. The analysis system generates web
pages which can
be viewed by clients over a company's private Intranet.
A customer survey system in accordance with the present invention includes a
survey
server coupled to the Internet to provide surveys to a number of customers via
the Internet,
analysis system for receiving customer data provided by the customers and for
creating at least
one report web page with at least one graphical depiction of customer data,
and a reporting
server hosting the at least one report web page. Preferably, the reporting
server is coupled to a
corporate Intranet to provide firewall security. The survey server can either
be an e-mail server
or a web server. In the case of a web server, the customer information is
preferably converted
into an e-mail format for receipt by the company. Also preferably, a digital
signature is inserted
into the surveys to authenticate the source of the survey information.
A method for surveying customers includes providing a number of surveys over
the
Internet, receiving customer data provided by the customers in response to the
surveys, creating
at least one report web page with at least one graphical depiction of the
customer data, and
hosting the report web page on a web server for viewing by a client.
Preferably, the surveys are
each provided with a digital signature to identify the customer to which it
was addressed. The
surveys can either be e-mail surveys, with the digital signature is inserted
into each of the e-mail
surveys, or web page surveys, where the digital signature is inserted into at
least one page web of
each of the surveys.
A method for creating a survey in accordance with the present invention
includes a
preparing a survey script and processing the survey script to create a survey
including a digital
signature which identifies the intended recipient of the survey. The method
also includes
delivering the intended survey to the intended recipient, receiving a response
to the survey, and
verifying the authenticity of the response by the digital signature.
A method for creating a web page survey in accordance with the present
invention
includes writing a web page script in "CCMLrM" or "CMLTM" language (which is
an extension
of standard HTML) including tags for a survey report, generating a report in
the CML language,
-3-

CA 02295492 2000-O1-11
WO 99!59096 PCT/US99I10565
hosting the web page script on a web site, receiving customer responses via
the web site
including the customer responses in the report and posting the report on a web
site for viewing
by a user.
The present invention provides a secure, efficient and verifiable system and
method for
surveying customers over a WAN. In addition, the present invention provides
improved
reporting capabilities, inciuding web-based reporting and graphical survey
result options.
These and other advantages of the present invention will become apparent to
those
skilled in the art upon a reading of the following descriptions of the
invention and a study of the
several figures of the drawing.

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99110565
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a illustration of a customer survey system in accordance with the
present
invention;
Figure lb is a flow diagram of a process for producing, deploying, collecting,
analyzing
and reporting electronic surveys embodied by the system 10 of Fig. 1;
Figure 2 is a block diagram of a typical architecture for a computer used in
the customer
survey system of Fig. 1;
Figure 3 is a flow diagram of a customer survey system generator in accordance
with the
present invention;
Figure 4 is a sample of a script developed by the generator of Fig. 3;
Figure 5 is a flow diagram illustrating the "CREATE EMAIL SURVEY" operation 60
of Fig. 3;
Figure 6 is a flow diagram illustrating the "CREATE WEB SURVEY" operation 64
of
Fig. 3;
Figure 7 is a flow diagram illustrating the "CREATE FILES FOR PROCESSING
SURVEYS" operation 68 of Fig. 3;
Figure 8 is a flow diagram illustrating the "CREATE SURVEY.SBE" operation 116
of
Fig. 7;
Figure 9 is a flow diagram illustrating the "CREATE SURVEY.CRE" operation 118
of
Fig. 7;
Figure 10 is a flow diagram illustrating the "CREATE TRAIL/NAME.HTM,
NAVIGATION BARS, AND HTML LAUNCH FILES" operation 120 of Fig. 7;
Figure 11 is a flow diagram illustrating the "CREATE SURVEY.EXP" operation 122
of
Fig.7;
Figure 12 is a flow diagram illustrating the "CREATE DATEBASE" operation 70 of
Fig. 3;
-5-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99110565
Figure 13 is a flow diagram illustrating the generation of HTML datasets;
Figure 13a is an illustration of a query database in accordance with the
present invention;
Figure 14 is a flow diagram illustrating the "PARSE VARIABLES AND ALLOCATE"
operation 198 of Fig. 13;
Figure IS is a flow diagram illustrating the "DO COMPUTATION" operation 204 of
Fig. 13:
Figure 16 is a flow diagram illustrating the "GENERATE DATASETS" operation 206
of Fig. 13;
Figure 17 illustrates the delivery of a survey to a client and the receipt of
data in
accordance with the system of Fig. 1;
Figure 18 is a flow diagram of the "SEND OUT SURVEY" operation 19 of Fig. lA;
Figure 19 illustrates the viewing of customer survey data in accordance with
the present
invention;
Figure 20 is a flow diagram of a Java Applet running on a client of the system
of Fig. l;
Figure 21 is a flow diagram illustrating the Java Applet process in greater
detail;
Figure 22 is a flow diagram illustrating the "REDRAW" operations of Fig. 21;
Figure 23 is an illustration of a navigation bar;
Figure 24a is a illustration of side-by-side bar charts created by the system
of the present
invention;
Figure 24b is an illustration of a bullet diagram produced in accordance with
the present
invention;
Figure 24c is an illustration of a gauge display in accordance with the
present invention;
ana
Figure 24d is an illustration of a rating diagram in accordance with the
present invention.
-6-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10565
DETAILED DESCRTPTION OF THE PREFERRED EMBODIMENTS
In Fig. 1, a customer survey system 10 in accordance with the present
invention
preferably operates over a wide area network (WAN) operating with TCP/IP
protocols, such as
the Internet 12. In addition, the customer survey system 10 preferably also
operates over a
private network system operating with TCP/IP protocols, such as an Intranet
14. It will be
appreciated, however, that other forms of wide area networks and local area
networks (LANs)
are suitable for the customer survey system of the present invention.
The customer survey system 10 includes a development and analysis system 16,
and e-
mail server 18, a survey web server 20, an e-mail client 22 which may be
behind a firewall 24,
and a reporting web server 26. Coupled to the Internet 12 are a number of
customer machines,
such as customer machines 28A and 28B. Coupled to the Intranet 14 are a number
of client
machines such as client machines 30A and 30B.
The development and analysis system 16 preferably comprises a personal
computer or
computer workstation running computer implemented processes of the present
invention that
will be discussed in greater detail subsequently. The hardware of the
development and analysis
16 can be, for example, a personal computer system operating under the "
WINTEL" standard,
i.e. a microcomputer using an Intel or Intel-capable microprocessor and
operating under a
Microsoft Windows 95 or Microsoft NT operating system.
The e-mail server 18 is also preferably implemented on a personal computer or
a personal
computer workstation. It performs standard e-mail services under the guidance
of software
provided by a number of vendors. It should be noted that the development and
analysis 16 and
e-mail server 18 can be provided on a single computer system. However, in the
present
preferred embodiment the development analysis 16 and the e-mail server 18 are
provided as two,
separate computer systems.
The survey web server 20 is again preferably implemented on a personal
computer or a
computer workstation and may be maintained by a commercial host, such as an
Internet Service
Provider (ISP). However, the functionality of this survey web server 20 can
also be provided on
the same computer or "machine" which provides the development and analysis
system i6, or
the e-mail server 18, or both.
The e-mail client 22 is, again preferably implemented on a personal computer
or a
computer workstation and operates under a commercially available software
program to provide

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10565
e-mail box capabilities. Since the e-mail client 22 is receiving information
from the Internet, it
is often desirable to have the e-mail client behind a firewall 24 to prevent
computer viruses and
other unwanted processes from entering the e-mail client 22. Firewalls 24 are
commercially
available from a number of vendors.
S A reporting web server 26 is also preferably a personal computer or a
computer
workstation capable of operating as a web server. It is preferably coupled to
a corporate Intranet
14 which supports a number of client machines 30A, 30B, etc.
The development and analysis system 16, e-mail server 18, survey web server
20, e-mail
client 22, and reporting web server 26 each perform an important function in
the customer
survey system of the present invention. As noted above, these various systems,
servers and
clients can be "hosted" on one or more distinct computer systems. Therefore,
the functionaiities
described herein are somewhat independent of the actual computer or machine
upon which they
are hosted.
In operation, a user of the customer survey system (referred to herein as a
"company",
"user", or "client") first develops a survey on the development and analysis
system 16. This
survey can be disseminated to various customers by e-mail, in the form of web
pages, or both.
The e-mail format for the survey is provided to the e-mail server 18, and the
web page of the
survey is provided to the survey web server 20.
In the instance of an e-mail survey, the survey is e-mailed to a customer, in
this case
customer 28A, who responds to the e-mail survey and sends it back to the e-
mail client 22 as
indicated. In the instance of a web page survey, the survey web server 20
sends web pages to a
customer, in this case customer 28B, who responds to the surveys to the survey
web server 20.
The survey web server 20 then processes the surveys and e-mail the surveys to
the e-mail client
22. There are several advantages to e-mailing the survey results to the e-mail
client 22. For one,
all survey information will be received back in a common format, i.e. an e-
mail format. In
addition, the e-mail client performs a number of logging processes which are
useful in the
analysis of the client information. Still further, by e-mailing the results
from the survey web
server 20 to the e-mail clients 22, a firewall 24 can be used to prevent
viruses and other
undesirable processes from entering the company's systems.
It should be noted that the customer machines 28A and 28B are typically
personal
computers provided with e-mail and web browsing capabilities. For example, e-
mail capability
can be provided by a software program known as Eudora, while web browsing
capabilities can
be provided by web browsers from NetScape Communications, Inc. or Microsoft
Corporation.
-g-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10555
Once the e-mail client 22 has received a sufficient number of surveys, they
are retrieved
by the development and analysis system 16. The development and analysis system
16 then
produces web pages which comprise a report of the customer survey results.
These web pages
are hosted on a reporting web server 26 that is coupled to the Intranet 14.
The reporting web
server 26 provides web pages in the HTML format to the various clients 30A and
30B, as well as
JAVA Applets. The client machines 30A and 30B are, again, preferably personal
computers,
and are provided with web browser software available from NetScape
Communications, Inc.,
Microsoft Corporation, and others.
In Figure lA, a process 13 for producing, deploying, collecting, analyzing and
reporting
electronic surveys in accordance with the present invention is shown in flow
diagram form. The
process 13 begins at 15 and, in an operation 17, all of the necessary files
for deploying an
electronic survey are created. This operation 17 rnay be performed, for
example, on the
development and analysis system 16 (Fig. 1). Next, in an operation 19, the
survey is sent, e.g.
from the system 16 of Fig. 1 to the e-mail server 18, and from there to the
Internet 12. An
operation 21 collects the responses, preferably at the e-mail client 22 of
Fig. 1. Reports are
generated in an operation 23 on the development and analysis system 16 of Fig.
1, and the
reports are displayed to clients (e.g. clients 30a and 30b) in an operation 25
via a reporting web
server 26 and the Intranet 14. The survey process 13 is then completed at 27.
Figure 2 illustrates a computer system or "machine" 32 that can perfonn a part
of the
customer survey system 10 in accordance with the present invention. For
example, computer 32
can represent the architecture of the computers of clients 30a and 30b, system
16, etc. The
architecture shown is a standard microcomputer architecture. It will, of
course, be appreciated
by those skilled in the art that other standard architectures are available.
Computer system 32 includes a microprocessor 34 which is coupled to a high
speed local
or memory bus 36 and an I/O bus 38. Of course, these buses 36 and 38 are shown
for the
purposes of illustration and can be implemented in a variety of fashions.
Coupled to the memory
bus 36 is random access memory (RAM) 40 and read only memory (ROM) 42, both of
which are
instances of computer readable media. Coupled to the I/O bus 38 are a number
of peripherals
such as a keyboard 44, monitor 46, network card 48 and other computer readable
media 50. The
computer readable media SO can take a variety of forms such as a hard disk
drive, a floppy disk
drive, a high-density drive such as an Iomega Jazz or Zip drive, a CD-ROM
drive, other optical
readlwrite systems, etc. The microprocessor 34 typically operates under
program control stored
in the various computer readable media.
In Fig. 3, a process 52 running on the development and analysis system 16 of
Fig. 1 is
illustrated in flow-diagram form. This process 52 includes the operations 17
and 23 of Fig. 1B.
-9-

CA 02295492 2000-O1-11
WO 99/59096 PCTNS99110565
The process 52 begins at 54 and starts under the control the Customer Cast
ForesiteTM generator
56. The Foresite generator 56 receives CCML information from a database 58. As
will be
discussed in greater detail subsequently, CCML scripts are written an extended
HTML format
language.
The Foresite generator 56 provides the user with a menu of options. In one
option, an e-
mail survey is created. In the e-mail generation option, the system creates a
one or two part text
file for the survey. The two-part text files are used if it is desired to
embed a digital signature
into the text file. The generated text file is stored in a text file 62, and
operational control is
returned to operation 56. Also created is a parsing pattern for the e-mail,
which is stored in a file
63.
If the "web generation" option is chosen by the user in operation 56, an
operation 64
generates a two-part web page with a hidden field. These web pages are stored
in a file 66, and
operational control is again returned to operation 56.
With the selection of the reports generator, operational control is
transferred from
operation 56 to operation 68, where web pages are generated for navigational
purposes. Process
control is then returned to operation 56. Another option in operation 56 is to
create a database.
With the selection of this operation, an operation 70 creates the database and
returns process
control to operation 56.
Finally, if a "PARSE SURVEY" option is selected at operation 56, an operation
72
determines the data type to be parsed. If it is e-mail, an operation 74 parses
the e-mail and then
an operation 80 stores the information in a survey database 82. Subsequently,
the data sets 84
are created, and process control is returned to operation 56. If, however, the
data type from
operation 72 is a web page, operation 76 parses the web pages, and operation
80 stores the
parsed information in the survey database 82. Operation 84 will create the
data set for the parsed
web pages and will return process control to operation 56. Finally, dummy
information can also
be generated by an operation 78, to store dummy survey data in database 82 and
to create data
sets in operation 84.
Fig. 4 illustrates a portion of a CCMLTM or CMLT"' file stored in database 58.
It should
be noted that the CCML file is written in a language which is an extension of
the standard
HTML language. A description of the CCML language can be found at
http:/lwww. customercast.com.
In Fig. 5, the process 60 of Fig. 3 is illustrated in greater detail. The
process 60 begins at
86 and an operation 88 parses the script. Script parsing is a standard
operation, as will be
-10-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99110565
appreciated by those skilled in the art. Next, in an operation 90 decides
whether the script
should be split. In general, the script is to be split when it is desired to
insert a digital signature
for customer verification purposes. If a split is not desired, an operation 92
creates an un-split
survey and names it SURVEY.TXT in operation 92. If operation 90 decides that
there is to be a
split, then operation 94 creates two survey parts. The first survey part is
called SURVEY.TXT1,
and the second part is called SURVEY.TXT2. The process 60 is then complete at
96.
In Fig. 6, the process 64 of Fig. 3 is illustrated in greater detail. The
process 64 begins at
98 and the script is then parsed in operation 100. Operation 102 then decides
if there is only one
web page or if there are multiple web pages. If there is only one web page, an
operation 104
determines whether the page should be split. Again, this decision is dependent
upon whether or
not a digital signature is to be inserted into the page. If the page is not to
be split, an operation
106 creates a file SURVEY.HTM. If the page is to be split, then operation I08
creates two files,
namely, SURVEY.HTM1 and SURVEY.HTM2. The process 64 is then completed at 110.
If operation102 determines that there are multiple web pages, and operation
112
determines whether the first page is to be split. It should be noted that only
the first web page
needs to be split, since the digital signature needs only to be inserted into
one page. If operation
112 determines that the first page is not to be split, then operation 114
creates the file
SURVEY.HTM and SURVEY-2.CGI. If operation 112 determines that the first page
is to be
split, then operation 116 creates the files SURVEY.HTM1, SURVEY.HTM2, and
SURVEY
2.CGI. The process 64 is then complete at I 10.
In Fig. 7, the process 68 of Fig. 3 is illustrated in greater detail. The
process 68 begins at
112 and in operation 114 parses the CML file or "script." The parsed CML file
is used to create
a number of other files used in the system of the present invention. In an
operation 116, a file
SURVEY.SBE, which will be discussed in greater detail subsequently. An
operation 118 creates
a file SURVEY.CRE, which will also be discussed later. In operation 120
creates a number of
files including trail files, navigation files, and HTML launch files. An
operation 122 creates a
SURVEY.EXP file.
The operation 120 creates files used to navigate the reporting website. The
trail files
include an htm file that enumerates the trails. In the present embodiment,
this htm file is named
trails/index.htm. For each trail, there is an htm file with the format
<letter>.htm. For example,
there may be trail files a.htm, b.htm, c.htm, etc. These htm files enumerate
the charts that are on
that trail. The HTML launch files include cc-nav.htm and tablenav.htm for the
navigation bar.
They also include iaunch.asp, other.asp, and xfer.asp to start the html
windows. In addition, they
include index.htm and tindex.atm for the starting pages.
-11-

CA 02295492 2000-O1-11
WO 99159096 PCT/US99/10565
In Fig. 8, the process 116 for creating the SURVEY.SBE of Fig. 7 is shown in
greater
detail. It will be noted by those skilled in the art, that the process 116 is
a type of "translator"
process. The process 116 begins at 124 and, in an operation 126, for each tag,
if the tag
produces a data set, there is an allocation of DATASET and SBE memory. Memory
allocations
of this type are well known to those skilled in the art of programming an
object-oriented
programming languages. Next, in an operation 128, the SBE file is generated.
In an operation
130, each section is written according to the proper format. In an operation
132, for each data set
the operators are written for continuing that data set. Finally, for an
operation 134, for each data
set the data set generation instruction is written. The process 116 ends at
136 with a completed
SBE f le.
In Fig. 9, the process 118 of Fig. 7 for creating the SURVEY.CRE file is
described in
greater detail. This CRE file is created from the tags parsed from the CML
file in operation 114
of Fig. 7. As described on the aforementioned CustomerCast website, there are
several types of
tags used in the present invention..
The process 118 begins at I38 and, in an operation 140, this determines if
there are more
tags. If not, the process is complete at 142 with the final CRE file. If there
are more tags, a new
tag is obtained in 141, an operation 144 determines whether the tag produces a
column. If not,
process control is returned to operation 140. If the tag obtained in operation
141 does produce a
column as determined by operation I44, the CRE file is written in an operation
146.
In Fig. 10, operation 120 of Fig. 7 is described in greater detail. The
process 120 begins
at 148 and, in operation 150, for each data set, if it is on a default trail,
it is added to the trail
lists. As used herein, a "trail" is a linear sequence of web pages without
branches. That is, each
web page along a trail points only to a web page that follows it and web page
that precedes it. In
an operation 152, for each trail tag, elements are added to the trail List. An
operation i 54
generates the trail HTML from the trail list. Finally, an operation 156
generates the navigation
and launch HTML and the process is complete at 158. The navigation HTML is
used to
navigate among the various web pages of the survey, and the launch HTML is the
launch for
route for home page of the web based survey.
In Fig. 11, the process 122 of Fig. 7 is described in greater detail. The
process 122
begins at 160 and, in an operation 162, it is determined if there are more
data sets. If not, the
process is complete at 164. If there are more data sets, an operation 166
obtains a data set in an
operation 168 determines whether the column has been exported. If not, process
control is
returned to operation 162. If the column has been exported, the column is
written to the EXP
file in an operation I70, and operation control is returned to operation 162.
-12-
*rB

CA 02295492 2000-O1-11
WO 99159096 PCT/US99I10565
in Fig. 12, the "CREATE DATABASE" operation 70 of Fig. 3 is shown in greater
detail. The process 70 begins at 172 and, in an operation 174, it is
determined if there are more
columns. If not, the SQL statement is executed and the process is complete at
178. If operation
174 determines that there are more columns, a number of operations 180-i92
(i.e. if statements)
determine the type of SQL statement to construct. If it is determined that the
column is a fixed
character (" c" ), a fixed character is added the SQL statement by operation
181. If it is
determined that the column is a variable character (" v" ), the variable
character is added to the
SQL statement in an operation I83. Likewise, operation I85, 187, 189, 191 and
193 add memo
(" m" ), logical (" l" ), integer (" i" ), numeric (" n" ) or time stamp (" t"
), respectively columns,
those columns are also added to the SQL statement. Process control is then
returned step 174.
It is well known to those skilled in the art of relational database management
that the
SQL statement, when executed by a SQL database manager such as those made by
Oracle,
Sybase, IBM, Microsoft, and others will generate the appropriate relational
database table.
In Fig. 13, the process of generating survey results, i.e. the "survey base
engine" is
described in greater detail. This survey base engine is a virtual machine or
"computer" which
executes instructions that are written in the survey.sbe file, and preferably
runs on the
development and analysis system 16, and the final reports preferably end up on
the reporting
web server 26 (see Fig.l). The process begins at 194 and, in an operation I96,
the SQL
statement is used to query the survey database. The depiction of the survey
database is shown in
Fig: 13A. Next, in an operation 198, the variables are parsed and allocated
into the memory of
the survey base engine. In an operation 200, the instructions are parsed and
loaded for
computing results. An operation 202 determines whether that it is the end of
the records and, if
not, the computation is performed in an operation 204. If the end of record
has been reached as
determined by operation 202, the data sets (i.e. survey results) are generated
in operation 206 and
the process is completed at 208.
In Fig. 14, the process 198 of Fig. 13 is shown in greater detail. Process 198
begins at
210, and an operation 212 allocates long variable (integers). Next, in
operation 214 allocates
doubles {floating paint variables), an operation 216 allocates long vectors.
An operation 218
allocates double vectors, and in operation 220 allocates Boolean vectors (i.e.
true/false vectors).
In operation 222 allocates the long matrices, and in operation 224 allocates
the double matrices.
Operation 226 allocates the text strings (up to 255 characters), and operation
228 allocates memo
strings (up to 4095 characters). The process 198 is complete at 230.
In Fig. 15, the operation 204 of Fig. 13 is shown in greater detail. The
process 204
begins at 232 and, in operation 234, it is determined if there are any more
operators. If yes, a
series of operations 238-266 determine the type of operator. Once the operator
is determined,
-13-

CA 02295492 2000-O1-11
WO 99/59096 PC'T/US99/10565
the appropriate computation is performed in computations 239-267,
respectively. These
operators are set forth in the following Table 1.
TABLE 1
O erator T a Operator Com utation
238 RANGEN REBIN nominal data
240 RANGEC rebin continuous ath
242 ENDRANGE end remittin
244 SUMORD add to sum, ordinal
246 SUMCOM add to sum, combined
ordinal
248 SLTMCON add to sum, continuous
250 GAP subtract 2 ordinals
252 BINNOM countin occurrence,
nominal
254 BINORD count occurrence ordinal
256 BINMLTLTI count occurrence multi-
nominal
258 CROSSCOMP add to sum conditioned
by
ordinal
260 CROSS count cross tabs, ordinal,
or
nominal data
262 CROSSMULTI count cross tab, ordinal,
or
nominal cross mufti
nominal
264 SDIM avera es mufti le a
s
266 QSSUM averages dimensions
using
wei hts
-14-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10565
After the appropriate operation is performed, operational control is returned
to 234 to
determine if there are more operations. At the end of the operation's list the
process 204 is
complete at 236.
At this point, it is useful to define some of the terms used herein. By
"nominal integer"
it is meant an integer number (e.g. 0, l, 2, ... n-1) where no average is
computed. For example,
if red, green and blue where assigned the nominal integers 0, 1, and 2, it
would not make sense
to average these numbers. An "ordinal integer" on the other hand is
averagable. Ordinal
integers can be any where in the range n...m. As an example, if a survey
question asked for
approval ratings in the range of 1-7, then n=1, and m=7. These ordinal
integers are averagable.
A "continuous" number can be any number at all. By "binning" it is meant that
occurrences are
counted for a histogram. For example, if a favorite color is chosen as red in
a number of
surveys, the responses are "binned" for the histogram. By "re-binning" it is
meant that binned
sub-categories are combined into a larger category. For example, if there is a
bin for red being
the favorite color and orange being the favorite color, these two bins can be
re-binned into a "hot
color" bin for those who like either red or yellow. By "mufti-nominal" it is
meant that a
Boolean vector is corresponding to all selections that apply. A Boolean vector
is an array of 1's
and 0's corresponding to a selection or non-selection of an item corresponding
to that point in
the array. For example, the survey may ask which foods a customer likes from a
list of 50
different foods. A customer then can check 0-49 of these selections to create
a mufti-nominal
that is typically stored as a Boolean vector. By "cross tab" it is meant that
two variables are
cross-related. For example, the gender rnaIe and female can be cross related
to favorite colors
red, blue and green in a cross tab arrangement. Finally, the term "gap" is the
difference between
the two ordinal integers. For example, if a first ordinal integer is 7 and a
second ordinal integer
is 5, the gap is 2.
In Fig. 16, the operation 206 of Fig. 13 is shown in greater detail. The
process 206
begins at 268 and, in an operation 270, it is determined if there are more
data sets. If not, the
process is complete at 272. The process 206 then determines the type of data
set to be created.
These types of data sets are summarized below in Table 2.
TABLE 2
erator T a Database T a Descri tion
274 DASHBOARD vector of avera es
276 RATING descri tion table
of avera a
-15-

CA 02295492 2000-O1-11
WO 99/59096 PCTIUS99110565
278 ORDINAL vector on counts ordinal
histo
280 NOMINAL description vector
of counts
nominal
282 MULTINOMINAL description vector
of counts
multinominals
284 CROSS description table
of counts,
ordinal times ordinal
286 MULTICROSS description table
of counts,
ordinal times multi
288 QS description vector
of average
as
290 COMPARE table of avera es
When one of the data set type 274-290 is recognized, the appropriate data set
is generated.
Process control then returns to operation 270 until there are no more data
sets, at which time
process 206 is completed at 272.
In Fig. 17, a process for delivery of a web page survey to a customer and
receiving
survey data from the customer is described in greater detail. This process was
previously
mentioned with respect to the survey web server 20 of Fig. 1. In Fig. 17, a
customer 28B uses a
web hrowser to request a survey via the Internet 12 from the web server 20.
The survey is
delivered to the customer in the form of HTML files as indicated at 294. The
customer then fills
out the survey on the customer machine 28B and submits the survey as indicated
at 296. The
survey is typically submitted by selecting a submit button within the web
browser window. The
web server 20 then sends an acknowledgment or "thank you" to the customer
machine 28B as
indicated at 298.
The web server 20 can typically be a Unix or NT computer system coupled to the
Internet
through an Internet service provider (ISP). In response to the request 292 for
the survey, the two
part survey SURVEY.HTM1 and SURVEY.HTM2 is combined at the server 20 to form
the
SURVEY.HTML survey web pages. As part of this combining process, the web
server inserts a
digital signature or authentication code identifying the address of the
customer machine 28B.
-16-

CA 02295492 2000-O1-11
WO 99159096 PCTNS99110565
When the survey is submitted in operation 296, the web server 20 uses a Perl
program
SUR.VEY.CGI to e-mail survey data to the e-mail clients 22 in an operation,
and logs the
transactions in an operation 302. The logs of the transaction can be later
received by the
development and analysis system 16 to help track the process.
S In Fig. 18, a process for sending an e-mail survey is illustrated. The
process begins at 34
in an operation 306 obtains the next address from an e-mail address database
308. The e-mail
database includes the Internet e-mail address of the customers that are to be
surveyed. If an
operation 310 that there is no next address, the process is completed at 312.
Otherwise, the
operation 314 takes the two part text file stored in database 62 (see Fig. 3)
and inserts a digital
signatures in operation 316.
The digital signature is a unique, encrypted code derived from the e-mail
address. This
digital signature is sandwiched between the two parts of the text file and is
returned with the
completed survey. Since the company knows the appropriate code to decode the
digital
signature, it is possible to verify that the returned e-mail survey was
completed by the
appropriate party. In addition, if multiple e-mail surveys are received, the
digital signature can
verify that they are copies of an original survey and can delete the
duplicates. Finally, operation
318 at the e-mail address and sends (i.e. e-mails via the Internet) the survey
to the intended
recipient. Process control then returns to operation 306.
A preferred method for creating a digital signature uses a "one way pad" to
encrypt a
code derived from the e-mail address. The use of"one way pads" is well known
to those skilled
in the art. Other methods for creating digital signatures are also well known
to those skilled in
the art of cryptography and computer security systems.
In Fig. 19, a pictorial depiction of the process operating on a client
computer 30A or 30B
is shown. More particularly (an , additional reference to Fig. 1 ), the
reporting web server 26
delivers HTML 320 and JAVA 322 to a client through an Intranet 14. The portion
of the HTML
320 is illustrated on the left side of the Fig. 19 and the JAVA Applet program
322 is shown on
the right side of Fig. 19. The process of the present invention imbeds HTML
comments which
can be recognized by the JAVA Applet 322 to create various forms of charts
from the HTML
table commands. For example, the HTML comments at 324 and 326 tell the JAVA
Applet 322
to create a pie chart 328 for viewing by the client from the table 330.
Without the JAVA Applet
322 the HTML comment fields 324 and 326 would be ignored by the web browser
and the table
330 would be displayed as a standard HTML table 332 by the web browser.
Therefore, even
without the JAVA Applet 322 the data would be viewable by a client 30A or 30B
although in a
less graphical form.
-17-

CA 02295492 2000-O1-11
WO 99/59096 PCTlUS99l10565
In Fig. 20 illustrates the operation of the JAVA Applet 322 of Fig. 19 in
greater detail.
The JAVA Applet 322 operates on the HTML file to define one or more graphing
objects 334A,
334B, etc. The JAVA Applet 322 also creates a data object 336. The graphing
objects 334A,
334B, etc. can use the data object 336 to create the appropriate graph.
An advantage of the architecture shown in Fig. 20 is that graphing objects
from third
party vendors can be easily added. For example, a graphing object known as
JCHARTTM of
Roguewave of Mountain View, California is a useful graphing object that can be
used with the
process of the present invention.
In Fig. 21, the JAVA Applet process 322 is shown in greater detail. The
process begins
at 338, an operation 340 displays the trail buttons and controls as part of
the navigation bar. The
navigation bar will be discussed in greater detail subsequently with reference
to Fig. 23. Next,
an operation 342 waits for a selection from the user. If the user select a
change in the trail, an
operation 344 reloads the trail list, an operation 346 redraws the first
charts on the trail for the
current samples. Operational control is then returned to operation 342.
If the operation 342 detects a change sample request by the user, an operation
348
changes the sample, an operation 350 performs a redraw. If operation 342
detects a changed
chart selection by the user, an operation 352 changes the chart, and in
operation 334 redraws the
chart. If the operation 342 detects a compared toggle (on/offj by the user, an
operation 356 sets
the toggle, and operation 358 redraws the charts. If the toggle is on, it
draws two charts for each
sample. Otherwise, operation 358 draws one chart. After the end of any of
operation 346, 350,
354 and 358, operational control is returned to operation 342.
The redraw process (such as the redraw processes 350 of Fig. 21) is
illustrated is greater
detail in Fig. 22. The redraw processes for operations 246, 354, and 358 are
essentially the
same. The process 350 begins at 360 and in an operation 362, the HTML comments
and tags are
parsed to create the data object. An operations 364-378 determine the type of
chart to be created,
and activates the appropriate graphing object in operations 365-379,
respectively. The types of
charts are summarized below in Table 3.
TABLE 3
erator Number Gra h T a Descri tion
364 RATING bar or scatter lot
366 BINNED bar or ie chart
-18-

CA 02295492 2000-O1-11
WO 99159096 PCTNS99/10565
368 TREND bubble or line
370 CROSSED bubble
372 MULTI bar or bar with ratio
374 DASHBOARD bar or au a
376 ORDINAL bar or ie
378 COMPARE bar or au a
After the completion of any of the graphical plots, the process 350 is
completed as
indicated at 380.
Fig. 23 illustrates the navigation bar 382. With reference to Fig. 23, the
navigation bar
382 includes a logo 384 and a number of "buttons" 386-414. It will be
appreciated by those
skilled in the art of graphical user interfaces that the "buttons" 386-414 are
computer-generated
images of buttons which, when selected by an appropriate pointing mechanism
such as a
computer mouse, will cause an action to be taken by the computer. Buttons 386-
400 are used to
define the type of chart or graphic desired, and buttons 402-414 are used to
define content of the
displayed chart or graphic.
The types of charts corresponding to the buttons 386-400 are defined below in
Table 4.
TABLE 4
BUTTON NUMBER DESCRIPTION
386 Summ
388 Dashboard Summ
390 Ratin
392 Comments
394 Demo a hics
-19-

CA 02295492 2000-O1-11
WO 99159096 PCTIUS99/10565
396 Trends Time Sense
398 Cross Tabs
400 Histo s
The types of content corresponding to buttons 402-414 are defined below with
respect to
Table 5.
TABLE 5
BUTTON NUMBER DESCRIPTION
402 Bu 'n
404 Product
406 Lo alt
408 Su ort
410 Re utation
412 Methods
414 Dis la the Surve
S
Figs. 24a-24d illustrate several of the graphs that can be produced by the
present
invention. In Fig. 24a, side-by-side bar charts compare medium company and
large company
results Fig. 24b illustrates a bullet chart. Fig. 24c shows side-by-side gauge
charts. Fig. 24d
shows a ratings chart. As noted previously, a number of different types of
graphs and charts are
known to those skilled in the art, and there are a number of vendors for
graphing and charting
software. In addition, specialized graphing and charting routines can be
developed in a
straightforward manner to be used in conjunction with the reporting
capabilities of the present
invention.
-20-

CA 02295492 2000-O1-11
WO 99/59096 PCT/US99/10565
While this invention has been described in terms of several preferred
embodiments, it is
contemplated that alternatives, modifications, permutations and equivalents
thereof will become
apparent to those skilled in the art upon a reading of the specification and
study of the drawings.
It is therefore intended that the following appended claims include all such
alternatives,
modifications, permutations and equivalents as fall within the true spirit and
scope of the present
invention.
-21-

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

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

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 , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC expired 2022-01-01
Inactive: IPC expired 2012-01-01
Inactive: IPC deactivated 2011-07-29
Inactive: IPC from MCD 2006-03-12
Inactive: First IPC derived 2006-03-12
Inactive: IPC from MCD 2006-03-12
Application Not Reinstated by Deadline 2004-05-13
Time Limit for Reversal Expired 2004-05-13
Deemed Abandoned - Failure to Respond to Maintenance Fee Notice 2003-05-13
Inactive: Entity size changed 2002-05-17
Letter Sent 2000-05-31
Inactive: Single transfer 2000-05-05
Inactive: Cover page published 2000-03-02
Inactive: First IPC assigned 2000-03-01
Inactive: Courtesy letter - Evidence 2000-02-22
Inactive: Notice - National entry - No RFE 2000-02-17
Application Received - PCT 2000-02-11
Application Published (Open to Public Inspection) 1999-11-18

Abandonment History

Abandonment Date Reason Reinstatement Date
2003-05-13

Maintenance Fee

The last payment was received on 2002-05-02

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.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Basic national fee - small 2000-01-11
Registration of a document 2000-05-05
MF (application, 2nd anniv.) - small 02 2001-05-14 2001-03-23
MF (application, 3rd anniv.) - standard 03 2002-05-13 2002-05-02
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
CUSTOMER CAST, INC.
Past Owners on Record
DAVID J. RENAUD
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) 
Representative drawing 2000-03-01 1 10
Claims 2000-01-10 5 134
Drawings 2000-01-10 27 479
Description 2000-01-10 21 998
Abstract 2000-01-10 1 58
Notice of National Entry 2000-02-16 1 195
Courtesy - Certificate of registration (related document(s)) 2000-05-30 1 114
Reminder of maintenance fee due 2001-01-15 1 112
Courtesy - Abandonment Letter (Maintenance Fee) 2003-06-09 1 174
Reminder - Request for Examination 2004-01-13 1 113
Correspondence 2000-02-16 1 14
PCT 2000-01-10 2 94