CA2538603A1 - System and method for preparing and sending electronic documents - Google Patents

System and method for preparing and sending electronic documents Download PDF

Info

Publication number
CA2538603A1
CA2538603A1 CA002538603A CA2538603A CA2538603A1 CA 2538603 A1 CA2538603 A1 CA 2538603A1 CA 002538603 A CA002538603 A CA 002538603A CA 2538603 A CA2538603 A CA 2538603A CA 2538603 A1 CA2538603 A1 CA 2538603A1
Authority
CA
Canada
Prior art keywords
message
document
command
text
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002538603A
Other languages
French (fr)
Inventor
Ian W. Campbell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BCS ELECTRONICS Ltd
Original Assignee
BCS ELECTRONICS Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BCS ELECTRONICS Ltd filed Critical BCS ELECTRONICS Ltd
Priority to CA002538603A priority Critical patent/CA2538603A1/en
Publication of CA2538603A1 publication Critical patent/CA2538603A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Abstract

This invention relates to a system and method for preparing and sending electronic documents according to message-based instructions from a user. The invention provides a virtual office assistant that responds to document requests issued remotely through the use of any messaging device, for example a mobile communications device. Through email, web portal, or a desktop client, a user sends an instructing message to the virtual assistant that are carried out by the virtual assistant to generate and send an electronic document package to a recipient via a communications mode such as email, fax or SMS.

Description

Attorney Docket: 1966-2/CDH
SYSTEM AND METHOD FOR PREPARING AND SENDING
ELECTRONIC DOCUMENTS

FIELD OF THE INVENTION
[oool] This invention relates to electronic document management systems. In particular, this invention relates to a system and method for preparing and sending electronic documents according to message-based instructions from a user.
BACKGROUND OF THE INVENTION
[0002] Customer Relations Management (CRM) software enables organizations to better manage their customers through the use of systems, processes and procedures that attempt to integrate and automate the various customer service processes within a company. CRM technology provides, for example, automated email response systems, which respond to customer email requests with generic or partially customized responses that usually direct the customer to the organization's website for more information. While these systems are time-efficient and cost-efficient, they are impersonal and inflexible as they cannot provide the range of responses that could be provided by an actual human salesperson.
[0003] A salesperson can provide high quality responses, but it is time-consuming for him or her to prepare and send responses to product information requests and requests for quotes. Furthermore, many salespeople spend much of their time away from the office and may not have the technological capabilities or acumen to respond effectively to customer requests while out of the office.
[0004] Nevertheless it is increasingly common that salespeople who spend much of their time out of the office carry a mobile communications device such as a notebook personal computer (PC) with communications capability, or a handheld device such as a Palm (trademark), Pocket PC (trademark), or Blackberry (trademark), or other such mobile communications device, for sending and receiving email. As a result of the advent of these types of devices, the average time elapsed between when a request is sent by a customer and received by a salesperson has decreased dramatically.
As such, customers are becoming accustomed to receiving a quick response from a salesperson and accordingly a salesperson must respond quickly to customer requests in order to successfully compete in the marketplace.

[00051 While the use of mobile communications devices by salespeople to respond to customer requests is on the whole beneficial, it is difficult to quickly, efficiently and professionally respond to requests on a mobile communications device. Finding information on an office's Local Area Network (LAN), and creating and sending documents are frustrating and cumbersome tasks on a mobile communications device due to factors such as small screen and keyboard/keypad sizes, less computing power and memory, lower connection speeds and data throughput, and a more limited set of applications which only provide point solutions such as editing a Microsoft Word document, or uploading an attachment.

100061 Thus, in this and other applications it would be desirable to have a system and method that provide the integration and automation necessary to allow a person using a mobile communications device to quickly and efficiently respond to requests for documentation while away from the office using their mobile communications device.
For example, this would enable a salesperson to quickly, efficiently and professionally respond to a customer's request for sales or technical literature, or other types of electronic files.

BRIEF DESCRIPTION OF THE DRAWINGS
[00071 In drawings which illustrate by way of example only a preferred embodiment of the invention, [ooos) Figure 1 is a flow diagram of the system of the preferred embodiment in interaction with the user and the recipient;

[ooo91 Figure 2 is a flow diagram of the processor in the system of Figure 1;

[oolol Figure 3 is a flow diagram of the message processor in the processor of Figure 2;

[oo111 Figure 4 is a flow diagram of the error handler in the processor of Figure 2;

[0012] Figure 5 is a flow diagram of the text handler in the processor of Figure 2;
[0013] Figure 6 is a flow diagram of the token handler in the processor of Figure 2;
[0014] Figure 7 is a flow diagram of the output handler in the processor of Figure 2;
[oo15l Figure 8 is a flow diagram of the command handler in the processor of Figure 2;

[00161 Figure 9 is a flow diagram of the template processor in the processor of Figure 2; and [00171 Figure 10 is a flow diagram of the task processor in the processor of Figure 2.
DETAILED DESCRIPTION OF THE INVENTION
[00181 The system and method of the present invention automates the creation and delivery of documents so that a user can manage the communication of files from a central computer system or network equipped with communication capability, using a mobile communications device.

[0019] Unlike other mobile office applications that shift the work from a desktop computer to the mobile communications device, where it is often harder to deal with because of the aforementioned limitations of mobile communications devices, a device with access to the present invention can quickly assign a job with just a few instructions and then allow the invention to complete the task itself. Job assignment may be done using a simple email message that provides the "Who, What and Where"
of the task required. Once the job is assigned, the system autonomously manages all the details required to complete the job, including looking up required data (such as product information, customer details, or document text), generating and personalizing text, creating and formatting documents, finding and attaching files, creating an email cover message if desired, and forwarding completed documents to the customer or to the user for review.

10020l The system of the invention performs document processing jobs defined in a set of steps. For example, the system allows a user to forward static files as well as dynamically create email text, quotes, letters, contracts, manuals, and specification sheets. The system can combine some or all of these modes of documentation into a single document package that can be routed to an email channel, routed to a fax channel, routed to a messaging channel such as a Short Message Service (SMS) channel, routed to a printer, or forwarded to the user for review. The document package may be sent on the user's behalf, or on the behalf of the preferred embodiment's 'virtual assistant' (document manager).

[00211 Features of the preferred embodiment of the system may include:

a. autonomous text and document generation based on user job assignment requests;

b. autonomous document delivery to the recipient (e.g. a customer) or the user, or to both, including automatic delivery to a third party ('cc' capability) if requested;

c. a self-contained POP3/SMTP email server for automatic message checking, forwarding and document package delivery;

d. customizable tasks/commands used to assign jobs to the document manager from the user's mobile communications device;

e. two-way communication with the document manager where the user assigns jobs and the document manager reports back as they are completed, or if a problem is encountered;

f. customizable document manager (DM) which defines how jobs are processed for the user;

g. integrated 'virtual office' which defines the resources to be used by the document manager to complete assigned jobs;

h. integrated database and engine which is used to store and access product and customer information;

i. integrated graphical page editor (for example a Portable Document Format (PDF) engine) used for creating and editing PDF templates, and autonomous PDF file generation;

j. integrated file attachment handling which includes automatic file searching and attaching based on user job assignment;

k. integrated SMS-to-text converter which converts SMS tags to proper English words/phrases;

1. service gateways which support optional non-email routing of document packages to fax, SMS, and/or printer services;

m. automatic email monitoring by the DM, such that replies from the recipient are forwarded to the user; and n. document 'finger printing' which imprints a unique code on each document produced that is traceable to a specific user/document package.

100221 Furthermore, the preferred embodiment of the system provides several benefits to a user. Once the preferred embodiment of the system is configured it can be:

a. hardware independent, as it works with any email-enabled mobile device;
b. transparent to the user, as communication with the system is done via email messages sent from the mobile device's default email application;

c. self-running, as it automatically starts when the operating system boots up;
d. fault-tolerant, as it will continue running even if email service or disk/drive access is disrupted;

e. self-maintaining, as it automatically updates resource lists and data, and backs itself up daily;

f. secure, as all data is safely stored behind the user's firewall and no data is ever transmitted to, or stored on, the user's mobile device;
g. capable of being networked, as multiple instances of the system can share common resources (database, attachment files, templates, etc.) over a LAN, allowing easy updating and maintenance of key company data for all users;
and h. automatic, providing updates of common resources to the local computer at scheduled times or at the click of a user to allow normal operation when it is used away from the network, as might be the case with notebook computers.
100231 Furthermore, in the preferred embodiment the DM provides a'virtual assistant' that is modelled after a human assistant, to help speed up adoption for non-technical users. The system is simple to use as it allows a job to be assigned to the DM in only a few lines of text in an email message. This expedites the task of replying fully to a customer request by automating document creation. Such automation enables reduced response times and increased productivity as a mobile device user no longer needs to write a short reply which is then followed-up with a full response at a later time.

[00241 The preferred embodiment of the system provides a professional and virus-safe alternative to sending text-only replies by generating and delivering PDF
documents that can be safely read on any PC. The system obviates the need to upload and edit documents locally and manually on the mobile device, as all documents are created and sent by the DM. Further, since the task can be assigned and completed solely with email access, there is no need to have a wireless fidelity (wi-fi) node or wireless modem connection, which would be required for manual completion of the task while out of the office. The preferred embodiment provides a simple text-based interface, which is beneficial given the small screen and keyboard or keypad of mobile devices.
100251 The preferred embodiment of the system provides an inexpensive alternative to the user carrying a notebook computer. Document creation and editing tasks that would normally be done on the portable computer can be off-loaded to the DM, and initiated by using any email-enabled mobile communications device. The system also reduces overall costs for a company in deploying mobile device users, as its use is cheaper than installing and using several mobile device applications for each user. The preferred embodiment also provides greater functionality to less feature-rich mobile devices, which do not support a large range of applications.

[0026] The preferred embodiment allows an organization the freedom to select and outfit a mobile sales force with a range of different mobile devices, yet retain common applications for them all. The preferred embodiment also allows the mobile work force to upgrade their mobile devices without impacting their ability to access and use their virtual assistants. Further, it allows greater freedom for a user, as the DM can be accessed from any email application, including web mail services should a mobile device fail while on the road.

[0027] The system of the invention thus provides a low cost solution to CRM, as a mobile sales force can be fully equipped for less cost than it would cost to replicate the functionally in a handheld mobile communications device with a specific suite of applications. It allows small companies to affordably equip their mobile sales force, and provides an inexpensive way to replace notebook computers in the field with smaller, simpler, and less expensive email-enabled devices, thus increasing productivity. The preferred embodiment also removes the need for expensive servers and enterprise software applications, and the consultants and programmers required to set them up, which may cause reluctance to move to mobile technology.
Furthermore, the office-based portion of the system of the preferred embodiment may be run on existing office PCs, which is a great deal cheaper than expensive CRM server-based solutions.

[0028] The system also provides greater security than other solutions as data is kept behind the office LAN firewall. In the preferred embodiment no files or data need ever be uploaded to the mobile device during system operation. Therefore, should the mobile device be stolen or misplaced critical company inforrnation is not put at risk.
[0029] The system of the invention also benefits wireless service providers.
The system increases data/air time use by encouraging the increased use of mobile devices by making the devices easier to use and more useful for handling common business tasks, rather than putting these tasks off until they are back at the office.
The system thus promotes the sale and use of additional data services. The system of the invention may therefore result in increased monthly billings to the service provider.
The system also may increase the number of new data subscribers as it provides a convenient and cost-effective mobile business solution to customers who could not previously justify the cost. The system provides a single application that does the work of several different applications which are typically not offered or supported by the service provider. The system may also support a subscription model through the use of a stamp function, which is described further below. This allows the service provider to bill a user a usage-based subscription fee and terminate the operation of the system remotely once the subscription is cancelled.Optionally, the system can be branded to only work with services offered by a specific wireless service provider.

[00301 The preferred embodiment may be employed on a general purpose personal computer, such as a personal computer running the Windows XP operating system, that is connected to an office LAN and the Internet, and is capable of sending and receiving email via the POP3/SMTP protocols. The preferred embodiment includes a communications manager for communicating through multiple messaging accounts:
a mobile messaging account, for example an email account for the mobile communications device, and a document management email account for use by the DM. Optionally, the system further includes an office email account for delivery of regular email to the user, an SMS gateway account for handling outgoing SMS
messages, and an email-to-fax gateway account for handling outgoing faxes.

[00311 The main components in the preferred embodiment of the system of the invention are the "virtual office" which is a resource repository, and the "virtual assistant" which is a document manager. In the preferred embodiment there is also a "template architect" which is a template creation module. The preferred embodiment of each of these components will be described below.

[0032] The "virtual office" or resource repository contains all of the resources the system needs to carry out remote user requests. Stored within the virtual office are all the files, data, and templates used by the system in operation. The virtual office provides, amongst other things, file and document storage and retrieval, data storage and retrieval, access to incoming and outgoing email, fax, SMS, and printer services, and an environment for the virtual assistant to operate effectively.
Essentially, anything the virtual assistant needs to create, manage, and deliver documents is configurable within the virtual office.

100331 The configuration of the virtual office includes configuring the email server settings so that email can be sent and received using standard POP3/SMTP
protocols, configuring the file locations where resources are stored, configuring the database which contains information about products and services offered by the user, and configuring the settings used to access additional office services, such as SMS, fax and printer. It will be appreciated that although the preferred embodiment of the invention utilizes email messaging, other types of messaging and transport systems capable of communicating user commands to the virtual assistant and transferring files and data can also be used in the system and method of the invention.

[00341 The virtual assistant provides autonomous creation and delivery of documents on the user's behalf. In the preferred embodiment each user of the system has their own virtual assistant profile within the DM which can be customized to suit the needs of the particular user and the job required. The virtual assistant functions much like a real assistant or secretary-jobs are assigned by a message sent by the user providing the basic information required, and the virtual assistant completes the instructed tasks.
As described above, virtual office resources include files, data, and services stored in or accessed through the virtual office. Tasks are instructions that define how a job is to be done. Any document-related job that can be defined in a set of steps can be initiated by a task instruction. Templates are instructions that define how a created document will look, and optionally the data that it should contain.

[00351 The virtual assistant is configured by setting the rules, tasks and command language settings. The virtual assistant (document manager) is optional according to the present invention as any of its settings may be pre-configured. The rules settings determine how the virtual assistant operates. Tasks are used by the virtual assistant to complete a job. The command language settings contain the features used to setup and customize a command language for individual users.
100361 The user interface is fully customizable, and in the preferred embodiment employs an easy to learn task/command language used to communicate with a virtual assistant comprised of simple commands, such as 'do', 'create', and 'attach,' that are used to give the virtual assistant information about what to do and which files and data to use. Even the most complex jobs can be assigned using only a few lines of text, which is advantageous on mobile communications devices.

[0037] Jobs are assigned to a virtual assistant using an available messaging protocol, for example email messages sent from a mobile communications device's existing email application or a web portal setup for use with the system of the preferred embodiment. The command language can be customized such that each user can rename commands and create variables to suit their needs, so that the language can be quickly and easily adopted. The command language can be used anywhere instructions and commands need to be entered within the system to send job assignments via email to the virtual assistant and to create tasks and templates within the system for use by the virtual assistant.

[0038] The optional 'template architect' is a template creation module.
Templates allow the user to exactly define the look of documents while leaving the actual creation of the text and images it contains up to the system. The template architect is, in the preferred embodiment, fully integrated within the system so that the user can link in virtual office and virtual assistant resources and tasks to create fully dynamic templates. For example, the command language includes instructions and tasks recognizable by the template architect, so the user can, for example, have a paragraph that gets its text from the results of a task, or images that are automatically pulled from the database. Configuring templates typically involves setting the graphical layout (and optionally the content) of, for example, a PDF document in the template architect.

[0039] Documents are sent to a recipient, for example a customer, in a document package. A document package may be a single multi-part document stored as a dynamic array, which contains a mix of content customized for a specific recipient. A
document package may contain a mix of content relating to a specific recipient's request, the creation of which can be governed by a single message sent from the user.
Specific message routing instruments may be embedded within the package, allowing a single package to generate email, SMS and/or fax content. The creation of PDF and HyperText Markup Language (HTML) attachments within the package allows for rich content to be delivered.

[004o1 According to the preferred embodiment, a document package may contain:

a. customized message text, generated from tasks and comprising plain American Standard Code for Information Interchange (ASCII) text and delivered as email ASCII text;

b. a customized fax cover, generated from tasks and comprising plain ASCII
text and delivered as email to a separate email to fax service;

c. an SMS message, generated from user provided text and comprising plain ASCII text and delivered as email to a separate email to SMS service;

d. a dynamic HTML document, generated using an HTML template and comprising a mix of task text, static text, images, and links, and delivered as an attachment;

e. a customized PDF document, generated using a PDF template and comprising a mix of task text, static text, images and links, and delivered as an attachment;
f. PDF virtual letterhead, generated using a PDF template and comprising a mix of task text, static text, and static images, and delivered as an attachment;
and/or g. static files, retrieved from the drive/LAN and comprising static files or files created by the system and delivered as attachments.

[00411 In overview, during typical operation of the system of the preferred embodiment a mobile communications device is used to assign jobs to the virtual assistant as well as to receive status information from it. Messages between the user and the virtual assistant can be handled over a wireless network. Messages are stored on the service provider's server until downloaded by the virtual assistant.
Outgoing status messages are pushed to the user's mobile communications device (if supported). The user's virtual assistant processes the jobs and delivers document packages to the customer or the user. Thus, a simple message sent from the user's mobile device triggers the following events:

a. a message is sent from the user's mobile communications device and delivered over a wireless network to the virtual assistant's mailbox (the virtual assistant periodically checks for any messages in its mailbox);

b. the virtual assistant downloads the message from the user;

c. the virtual assistant processes the downloaded message to determine which tasks, templates, and resources are required to complete the job instructed by the commands in the message;

d. the virtual assistant runs the required tasks to generate text, or to link-in other resources from the resource repository (static files for attachments, images and/or data, etc.);

e. the virtual assistant opens the requested templates and inserts the requested file(s) and/or data;

f. the template architect creates the requested documents (for example in PDF
format) using the loaded templates; and g. the virtual assistant creates an email message to the recipient, reproducing text from the instructing message if requested in the instructing message, and attaches the created document(s) and any other attachments to create a document package which is then sent out via the document management email account. The document package may be sent directly to the recipient and any copied third party, or it may be sent to the user for approval in which case the user may then decide to send it on to the recipient, hold it or delete it upon review.
100421 After each job is completed, the virtual assistant sends a confirming message to the user advising that the documents have been delivered. The typical processing time per document is only a few seconds, so several jobs can be handled by the system each minute. This process is repeated until all the assigned jobs are completed, at which point the system once again resumes checking for new instructing messages from the user. Instructing messages that arrive while a job is in process are maintained in the document management mailbox until the current job is completed.

[0043] The data processing model of the system in the preferred embodiment is shown in Figures 1 to 10. Figure 1 shows a high-level flow diagram of the system in interaction with a user and a recipient, for example a customer. User 20 uses mobile communications device 40 or pop-up desktop client 60 to enter commands. Mobile communications device 40 may be used via an email client on the device or a web portal 90 used with the system. In the preferred embodiment users may rename commands using their own labels, so there is an optional command language lookup 50 prior to sending the commands in a plain message (for example an email message 80) or placing the command text in a file via step 100 when the desktop client 60 is used. When the email client on the mobile communications device 40 is used the email is transmitted 110 to virtual assistant mailbox 140, preferably via wireless delivery.

[0044] When the web porta190 is used, the email is delivered 130 via a network such as the Internet to virtual assistant mailbox 140. The file is saved on local drive 170 or LAN 175 in step 120. The system's processor 150 resides in office PC 200, which may be in communication with a mobile communications server 30 for routing messages to and from users' mobile communications devices 40, and monitors DM
virtual assistant mailbox 140. Processor 150 may also optionally monitor a user's office mailbox 160 so that it can either forward or selectively forward the user's email to mobile communications device 40 via delivery mechanism 180 through mobile communications server 30. Processor 150 is connected to local drive 170 and LAN
175 for reading and writing files and data from or to a resource repository stored on local drive 170 and/or LAN 175. Delivery mechanism 180 is thus reserved for sending document packages or status messages to recipient 190, or to a mobile communications device 40 residing on a mobile communications server 30, or to a desktop PC inbox 70.

[00451 Figure 2 shows a flow diagram of processor 150 shown in Figure 1. The processor 150 checks for events at step 210. The frequency (seconds, minutes, hours) of event checking may be configured as desired and is retrieved from assistant data 230. When an event is received, it loads the DM (assistant) 220 from assistant data 230, which in the preferred embodiment resides in the resource repository.
Assistant data 230 includes event checking frequency data, connection settings used for connecting to the Internet at step 250, POP3 email settings for watching the user's mailbox at step 260, addresses, keywords and rules for selectively filtering email received at user office inbox 160 at step 280, SMTP and POP3 settings for assistant email account 290, conditions, which may for example be based on time of day or day of the week, affecting the checking of email in the DM (assistant) inbox 300, task names, command names, rules and SMS data for message processing at step 310 and service settings and rules for delivery mechanism 180, which is used to deliver a document package or a status message.

[00461 After loading the assistant at step 220, processor 150 connects to the network, which in the preferred embodiment is the Internet, at step 250, and uses path settings to retrieve any local requests at step 240 which require message processing at step 310. According to the preferred embodiment, the processor also watches user office inbox 160 at step 260 and selectively filters received email at step 280 using the addresses, keywords and rules with which the virtual assistant has been configured to forward email via step 270 and delivery mechanism 180. The processor 150 also monitors virtual assistant mail server 290 via step 300 and processes any messages received via step 310. Message processing results in a document package that is sent to the customer or the user, and/or a status message that is sent to the user, via delivery mechanism 180.

[00471 Figure 3 shows in further detail the step of message processing 310 in Figure 2. Message processing 310 runs once for each message received. Allow processing step 350 checks a switch in the main assistant data that indicates whether or not the assistant should check for messages. If the switch indicates that the assistant should not check for messages, the message is left on the server at step 360. If the switch indicates the assistant should check for messages, message processing proceeds to parse the message at step 370. If multiple assistants are supported, the message is checked for a valid assistant at step 390. If multiple assistants are not supported, then the same assistant is re-loaded. If a valid assistant cannot be found in the message at step 390 (such as when the message received is spam for example), then the message is either deleted at delete message step 364, left on the server at step 360, or forwarded to the user in step 362 via delivery mechanism 180. The particular action that is to be taken is configured in the main assistant data.

[00481 If there is a valid virtual assistant profile, the message parser begins to process the commands in the message at step 400. Each line in the instructing message is parsed at step 410 and if the line begins with a command, the parser runs command handler 430 (shown in Figure 8). Otherwise the line is treated as a line of text and the parser runs text handler 420 (shown in Figure 5). Once each line of the message has been parsed, the output of text handler 420 and command handler 430 is sent to output handler 440 which formats the data and files for output as a document package for delivery (as shown in Figure 7). The resultant document package or status message is then sent via delivery mechanism 180.

[0049] Figure 4 shows the flow of the processor's error handler 610. The error handler begins with a lookup at step 450 and from the lookup generates dynamic help information at step 460. An error message 470 is sent to the output handler 440 at step 440. Redirection of the document package, so that it will go to the user instead of the recipient, is performed at step 500 by modifying document package data 510 in accordance with the configuration settings as stored in assistant data 230.

[00501 Figure 5 shows the flow of processor's text handler 420. A line of text 425 is provided to the text handler and each of the words 560 within the line is checked for variables, keys and SMS tags at step 570. When a variable, key or SMS tag is found at step 570, the variable value, key value and SMS word file is substituted in at step 580.
If this results in an error, error handler 610 is called. Updated text 590 is returned and inserted in line of text 425 and the loop continues until the end of the line of text is reached. Then the updated line of text is provided to output handler 440.

[00511 Figure 6 shows the flow of the processor's token handler 640. Tokens are a subset of all commands, and represent internal control variables. Token handler 640 first checks at step 650 whether the token is an assistant control setting to be set, a document package control setting to be set or an error. If it is an error, error handler 610 is called. If it is a virtual assistant control setting to be set, the setting in assistant data 230 is modified via step 660. If it is a document package control setting to be set, the setting in document package data 510 is set via step 670.

[00521 Figure 7 shows the processor's output handler 440. The output handler begins at text routing step 700 by routing template text to a template object procedure 712, email body text to a modify body text procedure 714, SMS text to a modify SMS
text procedure 716 and error text to a modify error text procedure 718. A modify file list procedure 719 stores the list of files saved via save file step 730. The aforementioned procedures modify document package data 510. File renderer 720 receives a template object from template object procedure 712 and uses it to render document package files. File renderer 720 then saves the resulting document package files in step 730 to local drive 170 or LAN 175. If there is an error rendering a file, error handler 610 is called. Each of procedures 712, 714, 716, 718, 719 may also call error handler 610.
Document package data 510 is used by document package data queue manager 750.
Document package data queue manager 750 also uses assistant data 230 and reads and writes to document package storage 760. Document package data queue manager forwards document package data 510 for document package creation at step 770.
Document package creation 770 creates document packages and includes capability for finding files via step 740 on local drive 170 or LAN 175. Once a document package is created, it is routed via step 780 to email, SMS and/or fax using server/gateway settings for email, SMS and fax 790 from assistant data 230.

[00531 Figure 8 shows the processor's command handler 430. Command handler 430 begins by checking for whether the command is a data assignment, file name, template name, task name or control token at step 810. If the command is a data assignment, the handler tries to set the value in assistant data 230 or document package data 510 at step 820. If the set value fails, error handler 610 is called. If the command is a file name, the handler checks for the file in the known file list at step 830 and modifies the file list in document package data 510 if necessary at step 719. If the file check fails, error handler 610 is called. If the command is a template name, the handler checks for the template in the template list at step 850 and if found processes the template at step 860 and sends the result to output handler 440. If the template check fails, error handler 610 is called. If the command is a task name, the handler checks the task list for the task at step 870 and if found processes the task at step 880 and sends the result to output handler 440. If the task check fails, error handler 610 is called. If the command is a control token, the handler calls token handler 640 (shown in Figure 6).

[00541 Figure 9 shows the processor's template processor. Each object of the template is parsed at step 900. Object attributes 910 of each object are checked in step 920 for keys, variables, text, commands and attribute values. For each key, variable or text, text handler 420 is called. For each command, command handler 430 is called.
For each attribute value, a modify attribute procedure 950 is called which modifies existing object attribute values. File renderer 720 receives object attributes including the attributes modified in step 950 and renders each object.

[00551 Figure 10 shows the processor's task processor. Each line of the task is parsed at step 960. For each line of text 970, step 980 checks line 970 for keys, variables, commands, tokens and errors. If a key or variable is found, text handler 420 is called.
If a command is found, command handler 430 is called. If a token is found, token handler 640 is called. If an error is found, error handler 610 is called.

[00561 Command variables are temporary storage locations for data that the virtual assistant is to use or access during document creation. Unlike the resource repository database which contains fixed data, a variable can be assigned a value while in process. Typically variable are used for items within a document that need to be changed on a regular basis in a generic task or template, such as closing dates, terms of sale, shipping information, etc. Variables can be given any name and can be assigned a default value.

[0057] Command keys are used to mark places within tasks and templates where the virtual assistant needs to insert specific data. The system of the preferred embodiment contains a set of pre-configured keys that cover a wide range of common data that is required for common business correspondence. Keys have fixed names but do not require a default value.

[0058] Commands are instructions for the virtual assistant. An instructing message is simply an organized list of commands and data that outline a job to be done.
An instructing message contains identification of the document manager to be used and a corresponding security code, and a command indicating who the data is to be sent to, such as email or name. An instructing message must also contain a command such as do, use, attach and create, which assigns what information is to be sent. An instructing message can also define where a message will go and how parts of the message will be formatted, using commands such as asfax (as fax), inpdf (as PDF), and assms (as SMS). If no 'where' command is specified, a single email message with attachments will be sent. Additional commands, such as asme (as me, i.e. send the message as though it is coming from the user), reply (the virtual assistant creates the output on the user's behalf referring to the user in the third person like a real secretary would) or a neutral option (the output is structured in a neutral fashion where neither the user or the virtual assistant is mentioned), can provide control over how the virtual assistant structures the text in its output. There also may be commands such as cmds (commands) and docs (documents) that direct the document manager to send information, data and/or help instructions to the user.

[0059] In a business environment, the resource repository database provides a file to store information about the products and/or service the user sells. The database holds a listing (e.g. name, description, price, etc.) of the products and services that the user wants to discuss or use or reference within a document package. The database allows the virtual assistant to create customized quotations, specification sheets, and catalogues based on the user's instructions.
[00601 To enable automation, the user writes tasks and creates templates, for example PDF templates (on the computer in which the system of the invention is running), which are stored in the resource repository, and which the virtual assistant uses to find and create the documents the user requires. Tasks are simple sets of plain text instructions, preferably written in a user-friendly language which allows for a high degree of automation to be embedded within tasks. The command lexicon is used to set up and assign variables, process auto-substitution keys, look up data, and link or nest tasks together like document building blocks to create more complex sets of instructions. Any document creation job that can be broken down into a set of steps can be written as a task.

[00611 The command language is in the preferred embodiment a device- and application-independent set of customizable abbreviated command words (which include any alphanumeric notation in any language) that map to functions within the system. The command language can be used from any device that allows plain text to be entered by any means (keyboard, stylus, voice-to-text, mouse/pointer) then sent by a text messaging protocol, for example as an email, or saved in a file. The command lexicon also provides a quick way to enter job-specific instructions and data from a mobile communications device by reducing the amount of typing required on the mobile device keyboard, and provides a quick way to enter job specific instructions and data from a desktop or notebook PC for faster processing of customer requests.
Instructing messages to the virtual assistant (job assignments) are entered by using 'Who, What, Where' methodology and will typically, but not always, use a'command + data' structure. The user enters the relevant command then the data (as required).
Each 'command + data' group is entered on a separate line so that they can be easily entered and read on small displays. For example:

email john doe jdoe@abccorp.com F Who use widget F What to use create quote E- What to do asfax 9056813141 F Where/how to send the result [00621 The use of simple command language also provides a reduction of the complexity of internal functions to a series of non-technical, easy to remember words (e.g. 'do' - to call a task, 'create' - to create a template). The command language can thus be a unifying common language that is used throughout the system of the preferred embodiment for task, template and variable constructions, as well as sending job assignments to the virtual assistant. It is designed so that the minimum number of instructions and data entries are necessary to enable the virtual assistant to find, extract, assign, and generate the required resources (e.g. tasks, templates, text, data, image, file, etc.) to complete an assigned job. Alternatively, the present invention could use a single line command to identify the recipient(s) and what to be sent. In the preferred embodiment the command language allows a created template and or task to be defined in a specific way that enables the virtual assistant to autonomously modify and deliver a fully customized document package, based upon a brief set of instructions from the user.

[0063] In terms of their physical format, tasks are files that contain commands to run other tasks, load templates, etc.; static text which is part of a document that is included as output when the task is run; keys and variables which are used to insert data into the static text at specific locations; and logic such as conditional if-then statements.

[0064] Running a task results in some form of output which can be static text (text stored in the task that is not modified), or dynamic text (modified by the virtual assistant based on data supplied by the user), modifications to document package data (email header, attached files, etc.), calls to other tasks, templates and/or internal functions (any functionality supported through command language can be called from a task or template), or logic output (any of the above, as determined by the value of a key, variable or system setting). These can be mixed to create the required functionality and/or output text. Further, since tasks are constructed using the command language they can be called and run from any part of the system that supports the use of the command language. For example, a template object can call a task to define the text/image displayed in the resulting PDF/HTML file.

[0065] Tasks provide document creation building-blocks that can be combined in specific ways (as defined by a direct command from the user, logic results, and/or commands embedded in the tasks and templates) to handle the generation of complex documents autonomously.

[00661 Templates are files that are run by the virtual assistant to create files having a pre-designed format or appearance, in the preferred embodiment PDF or HTML
files.
Templates provide a container for holding template objects, and the template objects define the page layout of the resulting PDF or HTML document. Templates also define any static text or images to be used. Further, templates define the commands that are needed to generate dynamic text (including calling other tasks and templates), dynamically load images, modify system settings, modify document package data (email header, files to attach, cc address, etc), and modify key and variable values.
Also, templates define what keys and/or variables must be accessed to insert text or images into the resulting document.

[00671 Templates allow the user to create a format for task-specific documents, e.g. a quote or specifications sheet, that can be used for any product/service/purpose. The actual document content (e.g. text, images) within these dynamic templates can be replaced using commands, keys, and variables. When a template is run by the virtual assistant, the content within the document is dynamically generated based upon the output of any tasks, or other templates called, the current values of keys and variables, and the current system settings. Thus templates are provided that can autonomously change their content based upon current system settings and conditions (e.g.
the user, the time of day, the virtual assistant profile assigned to the job, etc.), and details relating to the job currently being handled by the virtual assistant (e.g. the products being referenced, the urgency of the request, the customer, etc.). However, the system is not restricted to just the creation and use of dynamic templates. Any template that can be created using the provided template objects/resources can be used to generate files for inclusion in a document package.

100681 Virtual letterhead is a special subset of self-generating templates. It is effectively blank digital paper with user-defined company details and logo that can include any content the user wishes, unlike normal self-generating templates which have a user-defined purpose (such as for a quote, specification sheet, etc.).
With virtual letterhead the user can request the virtual assistant to do a number of tasks and then take the resulting output of these tasks and pass it to the virtual letterhead template. The virtual letterhead template looks after the positioning and formatting of inserted text and images from task output, the creation, management and numbering of pages, the creation of a dynamic table of contents (if required), the formatting of elements into a single document that is automatically attached to the document package, the running of additional functions supported within the command language that add additional content, modify system settings, and modify routing and processing of the template and/or the document package. Thus virtual letterhead provides a template that can autonomously handle the output generated from tasks or other templates that the user needs displayed within a single document.

[0069] The virtual assistant is modelled after the two-way interaction between a real assistant and boss, where jobs (creation of content) are assigned by the boss with minimum instruction and the assistant uses his or her knowledge (tasks/templates) and resources (files and database) to complete the job in a timely manner on the boss's behalf. As noted in the above, jobs are sent using short instructions that outline a job to be done in a'Who, What, Where' fashion, similar to how a boss might assign a job to a real assistant. The virtual assistant responds when the job is done or a problem has been encountered that cannot be overcome. The virtual assistant is also modelled after the procedures a real assistant would use when doing a job and therefore writing tasks is like writing how-to instructions for a real assistant. The virtual assistant has the ability to create and send a document package on the boss's behalf, or as the virtual assistant using a variety of delivery methods: email, fax, or SMS. The virtual assistant can also be provided with personality traits that affect the content generated.
These are defined by the user (formal, friendly, etc.), and can be further affected by system settings (time of day, time of year, etc.) and the commands issued, for example, email priority settings, customer, product referenced, etc. The virtual assistant is also modelled after a real assistant in that it has the ability to provide help to the user. For example, a virtual assistant can lookup and send the user lists of resources (files, messages being held, available templates, etc.), as well as request information about data needed to complete a job. The virtual assistant, like a real assistant, can also be given the ability to monitor email and forward information received from a customer directly to the user. The user sets the watch criteria and the virtual assistant checks all incoming email for matching conditions. The virtual assistant can also, like a real assistant, autonomously organize, log and maintain a system for the archiving of job assignments, and the resulting document packages.
Further, the virtual assistant, like a real assistant, has the ability to share data and resources with other virtual assistants within a LAN or other network that supports file transfer/access.

[00701 Thus as can be seen from the above description, the system of the preferred embodiment provides a virtual assistant (document manager) that is capable of handling a range of common business document creation tasks autonomously on the user's behalf, with minimal input from the user. This allows a user to off-load jobs that would normally require their attention and time to complete, as well as to give the impression of a real assistant to customers.

100711 A virtual assistant operates within a conceptual virtual office. The virtual office models the equipment/resources used by a real assistant to complete assigned jobs, for example: email access, fax access, SMS messaging, local printer access, files (computer files for attachment, locally or over a network), and product data (from an internal database or from an external data base). These virtual office resources are accessed through commands, which allows them to be specified by the user (i.e.
as part of a job instruction), or embedded and run automatically from within other resources (tasks, templates, etc.) that are run by the virtual assistant as part of the requested job.

[00721 In the preferred embodiment, key data files (assistant data, template files, task files, command message from the desktop client) are always encrypted when saved to the drive. Further, each vendor may have a unique encryption code used with the packages they sell, making data incompatible between vendors. This reduces customer 'churn,' which is a big issue for service providers. The system of the preferred embodiment also provides document fingerprinting which imprints a unique code on each document produced which is traceable to a specific user/document package.
[00731 A mobile communications device can access the system and method of the preferred embodiment using a mix of services. For example, email can be hosted by one IP address while wireless access is handled by another, and yet another looking after high-speed access to the office. Free and pay-per-use third party services can be used if available, in which case the user is free to change providers without affecting the operation of the system. The system can also be set up to increase customer retention for providers, by encrypting resources so that they cannot be used with another provider's system and allowing the provider to remotely shut down the system by pulling its stamp should the user move to another provider.

[00741 Furthermore, although the system is designed to run as a stand-alone package, it can be used alongside other mobile applications as required. For example, a user could use a Blackberry Enterprise Server (BES) and back-end utilities to check for product pricing and stock status then use the system of the present invention to deliver that information, in a fast and professional manner, to the customer.

[00751 As mentioned above, there is optionally control over the installed application for use with a subscription model, through use of a stamp server which works as follows:

a. each customer is assigned a unique number;

b. this number is entered into the software during the registration process;

c. at around the same time the service provider puts a stamp file (a bitmap with a unique name that matches the customer's account number) up on a server for which the system vendor has a pre-programmed URL;

d. each day at a random check-time, for example a time between 1-4 a.m.(to smooth out server requests), the system attempts to download the stamp file with the name that matches the name created in preceding step (much like loading a web page, except the system is only looking for a specific file); if it loads, the package functions correctly for that day if it does not load the package can be made to take one of the following actions:
i. display a warning (dialog box) then close;

ii. wait for the stamp to appear (and until then do nothing); or iii. make a predefined number of attempts to load the stamp (over a few hour or days), and if it has not been able to load the file after the predefined number of attempts, close;

e. the check is run daily, and if the customer opts out of the system subscription the service provider merely needs to delete the'stamp' from the server.

[00761 In this embodiment the system may comprise the following stamps: a demo stamp, which is shared by all copies of the software running in demo mode and allows all demos to be remotely shutdown when it is removed from the service provider's server; a server stamp, which is shared by all copies of the software and if it can be downloaded the system knows the server is functional, if it cannot be loaded then the system does not check for the customer stamp; and the customer stamp detailed above, which is unique to each user. In this embodiment, the customer stamp and the server stamp must be found for the software to run correctly.

[00771 Various embodiments of the present invention having been thus described in detail by way of example, it will be apparent to those skilled in the art that variations and modifications may be made without departing from the invention. The invention includes all such variations and modifications as fall within the scope of the appended claims.

Claims (44)

WE CLAIM:
1. A system for preparing and sending electronic documents to a recipient according to message-based instructions from a user comprising:

a network connection;

a resource repository comprising files or data, or both;

a document package generator for generating document packages, capable of accessing the files or data, or both, in the resource repository;

a communications manager for communicating through a document management messaging account, for sending and receiving messages and sending document packages through the network connection; and a message processor for processing command messages, comprising a message parser, and responsive to at least one command in a command message;
whereby a received message is parsed by the message parser for at least one recipient and at least one command or text, or both, that are used by the message processor and the document package generator to generate a document package and the communications manager to send the document package to the at least one recipient through the network connection in accordance with the at least one recipient and the at least one command or text, or both, in the command message.
2. The system of claim 1 further comprising a document manager comprising configuration data for configuring the document package generator and the communications manager.
3. The system of claim 1 wherein the communications manager is further adapted for retrieving messages from files and the received message is retrieved from a file on a LAN or local drive.
4. The system of claim 1 wherein the command message is received from an email message arriving at the document management messaging account.
5. The system of claim 1 further comprising configuration data for monitoring a first user messaging account for received messages which match user-specified criteria and forwarding the filtered messages to a second user messaging account.
6. The system of claim 1 wherein at least one recipient is a printing device.
7. The system of claim 1 wherein the communications manager is further adapted to send a status message to the user sending the command message.
8. The system of claim 1 further comprising one or more tasks executed by the document package generator to generate content for the document package.
9. The system of claim 1 further comprising one or more templates for formatting one or more documents in the document package.
10. The system of claim 9 wherein at least one template autonomously changes how it formats documents based on the commands or text, or both, of the command message.
11. The system of claim 1 wherein the document package comprises PDF
documents or HTML documents, or both.
12. The system of claim 1 wherein the command message can be sent from a mobile communications device.
13. The system of claim 1 wherein the command message can be sent from a web portal.
14. The system of claim 3 wherein the command message is created by use of a desktop client.
15. The use of the system of claim 1 with a subscription model.
16. The use of the system of claim 1 with a stamp server.
17. A method for preparing and sending electronic documents to a recipient according to message-based instructions from a user comprising the steps of:

a. retrieving a command message and conveying it a message processor;

b. processing at least one command or text, or both, in the command message at the message processor to generate text or link-in resources from a resource repository comprising files or data, or both;

c. generating a document package through inserting the text or the resources from the resource repository, or both; and d. sending the document package to at least one recipient through a network connection in accordance with the at least one recipient and the at least one command or text, or both, in the command message.
18. The method of claim 17 wherein the recipient in step d is the user sending the command message.
19. The method of claim 17 wherein the step of generating a document package is configured by configuration data of a document manager.
20. The method of claim 17 wherein the command message is retrieved from a file on a LAN or local drive.
21. The method of claim 17 wherein the command message is retrieved from an email message.
22. The method of claim 17 wherein at least one recipient is a printing device.
23. The method of claim 17 further comprising the step of sending a status message to the user sending the command message.
24. The method of claim 17 wherein the step of generating the document package includes executing at least one task to generate content for the document package.
25. The method of claim 17 wherein the step of generating the document package includes formatting one or more documents in the document package using at least one template.
26. The method of claim 25 wherein the at least one template autonomously changes how it formats documents based on the commands or text, or both, of the command message.
27. The method of claim 17 wherein the document package comprises PDF
documents or HTML documents, or both.
28. The method of claim 17 wherein the command message is sent from a mobile communications device.
29. The method of claim 17 wherein the command message is sent from a web portal.
30. The method of claim 20 wherein the command message is created by use of a desktop client.
31. A computer program for preparing and sending electronic documents to a recipient according to message-based instructions from a user comprising:

code means for retrieving a command message and conveying it a message processor;

code means for processing at least one command or text, or both, in the command message at the message processor to generate text or link-in resources from a resource repository comprising files or data, or both;

code means for generating a document package through inserting the text or the resources from the resource repository, or both; and code means for sending the document package to at least one recipient through a network connection in accordance with the at least one recipient and the at least one command or text, or both, in the command message.
32. The computer program of claim 31 wherein the recipient is the user sending the command message.
33. The computer program of claim 31 wherein the code means for generating a document package further comprises code means for a document manager comprising configuration data for configuring the generation of a document package.
34. The computer program of claim 31 wherein the command message is retrieved from a file on a LAN or local drive.
35. The computer program of claim 31 wherein the command message is retrieved from an email message.
36. The computer program of claim 31 wherein at least one recipient is a printing device.
37. The computer program of claim 31 further comprising the step of sending a status message to the user sending the command message.
38. The computer program of claim 31 wherein the step of generating the document package includes executing at least one task to generate content for the document package.
39. The computer program of claim 31 wherein the code means for generating the document package includes formatting one or more documents in the document package using at least one template.
40. The computer program of claim 39 wherein the at least one template autonomously changes how it formats documents based on the commands or text, or both, of the command message.
41. The computer program of claim 31 wherein the document package comprises PDF documents or HTML documents, or both.
42. The computer program of claim 31 wherein the command message is sent from a mobile communications device.
43. The computer program of claim 31 wherein the command message is sent from a web portal.
44. The computer program of claim 34 wherein the command message is created by use of a desktop client.
CA002538603A 2006-03-03 2006-03-03 System and method for preparing and sending electronic documents Abandoned CA2538603A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002538603A CA2538603A1 (en) 2006-03-03 2006-03-03 System and method for preparing and sending electronic documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002538603A CA2538603A1 (en) 2006-03-03 2006-03-03 System and method for preparing and sending electronic documents

Publications (1)

Publication Number Publication Date
CA2538603A1 true CA2538603A1 (en) 2007-09-03

Family

ID=38468966

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002538603A Abandoned CA2538603A1 (en) 2006-03-03 2006-03-03 System and method for preparing and sending electronic documents

Country Status (1)

Country Link
CA (1) CA2538603A1 (en)

Similar Documents

Publication Publication Date Title
US7392289B2 (en) Method, system, and program product for automatically formatting electronic mail addressed to an intended recipient
US8359341B2 (en) Importing content into a content management system using an e-mail application
US9122669B2 (en) Flat schema integrated document oriented templates
US8478616B2 (en) Business application development and execution environment
US5548753A (en) Automatic electronic mail notification of database events
US5956486A (en) Method and apparatus for monitoring multiple electronic mail systems
US9268538B2 (en) Metadata driven user interface system and method
EP1199652A1 (en) Email processing
US20030097361A1 (en) Message center based desktop systems
US20070130163A1 (en) Work item management through a client application
EP2159745A1 (en) Plug-ins for editing templates in a business management system
JP2005535013A (en) Mass communication process using multiple delivery media
WO2009009623A1 (en) Integrating a methodology management system with project tasks in a project management system
US20110211212A1 (en) Document processing and distribution using customized process print drivers
US20110225501A1 (en) Document Management Systems, Apparatuses And Methods Configured To Provide Document Notification
JP5705804B2 (en) Method, system, computer program, and computer-readable storage medium for manipulating files on a mobile terminal
JP3146051B2 (en) Document review support method
CA2538603A1 (en) System and method for preparing and sending electronic documents
KR20160103146A (en) Linkage system and method of mail information for smart work
JP2002056244A (en) Ordering and order receiving method using electronic mail
Snyder et al. Working with Microsoft Dynamics CRM 3.0
US20080276190A1 (en) Customer Relationship Management System with Quicknotes
JP2006126943A (en) Workflow management device, network system, control method and program
JPH07202934A (en) Electronic mail system
JP2002373110A (en) System for managing common document

Legal Events

Date Code Title Description
FZDE Discontinued