U.S. patent application number 10/153200 was filed with the patent office on 2002-09-26 for systems and methods for remote role-based collaborative work environment.
This patent application is currently assigned to HONEYWELL INC.. Invention is credited to Desborough, Lane D., Parsonnet, Brian, Samad, Tariq.
Application Number | 20020138546 10/153200 |
Document ID | / |
Family ID | 23885627 |
Filed Date | 2002-09-26 |
United States Patent
Application |
20020138546 |
Kind Code |
A1 |
Parsonnet, Brian ; et
al. |
September 26, 2002 |
Systems and methods for remote role-based collaborative work
environment
Abstract
There is disclosed, for use in connection with a network that
provides communications between customers generating service
requests and vendors capable of electronically fulfilling the
service requests, a system for monitoring, controlling, and
administering role-based work flows associated with the service
requests. Work flows may be controlled and performed through
role-based collaboration, allowing anonymity of vendors and
customers and providing a template by which a generic work flow can
be reapplied. The system comprises: a main controller for creating
a first work flow record used to control a first work flow
associated with a first service request and for storing the first
work flow record in a storage device associated with the main
controller. The main controller also receives messages, data files,
software applications, and documents from a first customer and a
first vendor associated with the first work flow, stores the
messages, data files, software applications, and documents in the
storage device, and transfers the messages, data files, software
applications, and documents to the first customer and the first
vendor. The system also comprises an accounting controller
associated with the main controller that identifies fees associated
with the first work flow and stores fee data associated with the
fees in the first work flow record.
Inventors: |
Parsonnet, Brian; (Fort
Collins, CO) ; Desborough, Lane D.; (Thousand Oaks,
CA) ; Samad, Tariq; (Minneapolis, MN) |
Correspondence
Address: |
Honeywell Inc
Attn: Legal Department
101 Columbia Road
P.O. Box 2245
Morriwtown
NJ
07962
US
|
Assignee: |
HONEYWELL INC.
Minneapolis
MN
|
Family ID: |
23885627 |
Appl. No.: |
10/153200 |
Filed: |
May 21, 2002 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10153200 |
May 21, 2002 |
|
|
|
09474948 |
Dec 30, 1999 |
|
|
|
Current U.S.
Class: |
709/200 ;
718/100 |
Current CPC
Class: |
G06Q 10/06316 20130101;
G06Q 10/10 20130101 |
Class at
Publication: |
709/200 ;
709/100 |
International
Class: |
G06F 015/16; G06F
009/00 |
Claims
What is claimed is:
1. For use in connection with a network capable of providing
communications between a plurality of customers generating service
requests and a plurality of vendors capable of fulfilling said
service requests, a system for monitoring and controlling work
flows-associated with said service requests between said plurality
of customers and said plurality of vendors comprising: a main
controller capable of creating a first work flow record used to
control a first work flow associated with a first service request
and storing said first work flow record in a storage device
associated with said main controller, wherein said main controller
is further capable of receiving from a first customer and a first
vendor associated with said first work flow at least one of
messages, data files, software applications, and documents, storing
said at least one of messages, data files, software applications,
and documents in said storage device, and transferring at least one
of said at least one of messages, data files, software
applications, and documents to at least one of said first customer
and said first vendor; and an accounting controller associated with
said main controller capable of identifying at least one fee
associated with said first work flow and storing fee data
associated with said at least one fee in said first work flow
record.
2. The system as set forth in claim 1 wherein said first work flow
record comprises a plurality of work flow definitions defining at
least one process step to be performed by at least one of said main
controller, said accounting controller, a first customer processing
device associated with said first customer, and a first vendor
processing device associated with said first vendor.
3. The system as set forth in claim 2 wherein at least one of said
plurality of work flow definitions is modifiable by said first
customer.
4. The system as set forth in claim 2 wherein at least one of said
plurality of work flow definitions is modifiable by said first
vendor.
5. The system as set forth in claim 1 wherein said first work flow
record comprises a primary work flow record associated with said
first service request and a secondary work flow record associated
with a second work flow associated with said first work flow.
6. The system as set forth in claim 5 wherein said second work flow
is associated with a second service request generated by said first
vendor in response to said first service request generated by said
first customer.
7. The system as set forth in claim 5 wherein said accounting
controller is further capable of identifying at least one
additional fee associated with said second work flow and storing
second fee data associated with said at least one additional fee in
said first work flow record.
8. The system as set forth in claim 7 wherein said accounting
controller stores fee data associated with said first work flow in
said primary work flow record and stores fee data associated with
said second work flow in said secondary work flow record.
9. The system as set forth in claim 1 wherein a first service
associated with said first service request is performed by a
customized computer-executable application generated by said first
vendor, wherein said customized computer-executable application
performs specific operations designed by said first vendor to meet
unique requirements of said first customer.
10. The system as set forth in claim 9 wherein said main controller
is capable of transferring said customized computer-executable
application from a first data processing device associated with
said first vendor to at least one of a second data processing
device associated with said main controller and a third data
processing device associated with said customer, wherein said main
controller transfers said customized computer-executable
application to said at least one of said second data processing
device and said third data processing device to cause said
customized computer-executable application to execute more
efficiently.
11. A network comprising; a plurality of customer data processing
devices-capable generating service requests created by a plurality
of customers; a plurality of vendor data processing devices
associated with a plurality of vendors capable of fulfilling said
service requests; and a system for monitoring and controlling work
flows associated with said service requests between said plurality
of customers and said plurality of vendors comprising: a main
controller capable of creating a first work flow record used to
control a first work flow associated with a first service request
and storing said first work flow record in a storage device
associated with said main controller, wherein said main controller
is further capable of receiving from a first customer and a first
vendor associated with said first work flow at least one of
messages, data files, software applications, and documents, storing
said at least one of messages, data files, software applications,
and documents in said storage device, and transferring at least one
of said at least one of messages, data files, software
applications, and documents to at least one of said first customer
and said first vendor; and an accounting controller associated with
said main controller capable of identifying at least one fee
associated with said first work flow and storing fee data
associated with said at least one fee in said first work flow
record.
12. The network as set forth in claim 11 wherein said first work
flow record comprises a plurality of work flow definitions defining
at least one process step to be performed by at least one of said
main controller, said accounting controller, a first customer
processing device associated with said first customer, and a first
vendor processing device associated with said first vendor.
13. The network as set forth in claim 12 wherein at least one of
said plurality of work flow definitions is modifiable by said first
customer.
14. The network as set forth in claim 12 wherein at least one of
said plurality of work flow definitions is modifiable by said first
vendor.
15. The network as set forth in claim 11 wherein said first work
flow record comprises a primary work flow record associated with
said first service request and a secondary work flow record
associated with a second work flow associated with said first work
flow.
16. The network as set forth in claim 15 wherein said second work
flow is associated with a second service request generated by said
first vendor in response to said first service request generated by
said first customer.
17. The network as set forth in claim 15 wherein said accounting
controller is further capable of identifying at least one
additional fee associated with said second work flow and storing
second fee data associated with said at least one additional fee in
said first work flow record.
18. The network as set forth in claim 17 wherein said accounting
controller stores fee data associated with said first work flow in
said primary work flow record and stores fee data associated with
said second work flow in said secondary work flow record.
19. The network as set forth in claim 11 wherein a first service
associated with said first service request is performed by a
customized computer-executable application generated by said first
vendor, wherein said customized computer-executable application
performs specific operations designed by said first vendor to meet
unique requirements of said first customer.
20. The network as set forth in claim 19 wherein said main
controller is capable of transferring said customized
computer-executable application from a first data processing device
associated with said first vendor to at least one of a second data
processing device associated with said main controller and a third
data processing device associated with said customer, wherein said
main controller transfers said customized computer-executable
application to said at least one of said second data processing
device and said third data processing device to cause said
customized computer-executable application to execute more
efficiently.
21. For use in a network capable of providing communications
between a plurality of customers generating service requests and a
plurality of vendors capable of fulfilling the service requests, a
method of monitoring and controlling work flows associated with the
service requests between the plurality of customers and the
plurality of vendors comprising the steps of: creating a first work
flow record used to control a first work flow associated with a
first service request; storing the first work flow record in a
storage device; receiving from a first customer and a first vendor
associated with the first work flow at least one of messages, data
files, software applications, and documents; storing the at least
one of messages, data files, software applications, and documents
in the storage device, and transferring at least one of the at
least one of messages, data files, software applications, and
documents to at least one of the first customer and the first
vendor; and identifying at least one fee associated with the first
work flow and storing fee data associated with the at least one fee
in the first work flow record.
22. The method as set forth in claim 21 wherein the first work flow
record comprises a plurality of work flow definitions defining at
least one process step to be performed by at least one of a first
network processing device associated with the network, a first
customer processing device associated with the first customer, and
a first vendor processing device associated with the first
vendor.
23. The method as set forth in claim 22 wherein at least one of the
plurality of work flow definitions is modifiable by the first
customer.
24. The method as set forth in claim 22 wherein at least one of the
plurality of work flow definitions is modifiable by the first
vendor.
25. The method as set forth in claim 21 wherein the first work flow
record comprises a primary work flow record associated with the
first service request and a secondary work flow record associated
with a second work flow associated with the first work flow.
26. The method as set forth in claim 25 wherein the second work
flow is associated with a second service request generated by the
first vendor in response to the first service request generated by
the first customer.
27. The method as set forth in claim 25 including the further steps
of: identifying at least one additional fee associated with the
second work flow; and storing second fee data associated with the
at least one additional fee in the first work flow record.
28. The method as set forth in claim 27 wherein fee data associated
with the first work flow is stored in the primary work flow record
and fee data associated with the second work flow is stored in the
secondary work flow record.
29. The method as set forth in claim 21 wherein a first service
associated with the first service request is performed by a
customized computer-executable application generated by the first
vendor, wherein the customized computer-executable application
performs specific operations designed by the first vendor to meet
unique requirements of the first customer.
30. The method as set forth in claim 29 including the further step
of transferring the customized computer-executable application from
a first data processing device associated with the first vendor to
at least one of a second data processing device associated with the
network and a third data processing device associated with the
customer, wherein the customized computer-executable application is
transferred to the at least one of the second data processing
device and the third data processing device to cause the customized
computer-executable application to execute more efficiently.
31. For use in connection with a communication network capable of
providing communications between a plurality of customers
generating service requests and a plurality of vendors capable of
fulfilling said service requests, a system for brokering said
service requests between said plurality of customers and said
plurality of vendors comprising: a main controller capable of
receiving a first service request from a first of said plurality of
customers, generating a first record associated with said first
service request, and storing said first record in a storage device
associated with said main controller; wherein said main controller
is further capable of determining a nature of a first requested
service associated with said first service request, and in response
to said nature of said first requested service, allowing at least
one of said plurality of vendors to access said first record in
said storage device.
32. The system as set forth in claim 31 wherein said main
controller transmits a notification associated with said first
service request to said at least one vendor.
33. The system as set forth in claim 31 wherein said at least one
vendor comprises at least one vendor capable of performing said
first requested service.
34. The system as set forth in claim 33 wherein said main
controller selects said at least one vendor from a list of suitable
vendors capable of performing said first requested service.
35. The system as set forth in claim 31 wherein said main
controller is further capable of determining if said at least one
vendor has accepted said first service request, and in response to
said determination, transmitting an acceptance notification to said
first customer.
36. The system as set forth in claim 31 wherein said first service
request comprises customer price information indicating an amount
said first customer is willing to pay for performance of said first
requested service.
37. The system as set forth in claim 31 wherein said main
controller stores in said storage device documents associated with
said first service request.
38. The system as set forth in claim 31 wherein said main
controller stores in said storage device customer associated with
said first service request.
39. The system as set forth in claim 31 wherein said main
controller is further capable of transferring messages between said
first customer and said at least one vendor.
40. The system as set forth in claim 31 further comprising an
accounting controller associated with said main controller, wherein
said accounting controller is capable of tracking invoice data and
payment data transmitted between said first customer and said at
least one vendor.
41. A network comprising; a plurality of customer data processing
devices capable generating service requests created by a plurality
of customers; a plurality of vendor data processing devices
associated with a plurality of vendors capable of fulfilling said
service requests; and a system for brokering said service requests
between said plurality of customers and said plurality of vendors
comprising: a main controller capable of receiving a first service
request from a first of said plurality of customers, generating a
first record associated with said first service request, and
storing said first record in a storage device associated with said
main controller; wherein said main controller is further capable of
determining a nature of a first requested service associated with
said first service request, and in response to said nature of said
first requested service, allowing at least one of said plurality of
vendors to access said first record in said storage device.
42. The network as set forth in claim 41 wherein said main
controller transmits a notification associated with said first
service request to said at least one vendor.
43. The network as set forth in claim 41 wherein said at least one
vendor comprises at least one vendor capable of performing said
first requested service.
44. The network as set forth in claim 43 wherein said main
controller selects said at least one vendor from a list of suitable
vendors capable of performing said first requested service.
45. The network as set forth in claim 41 wherein said main
controller is further capable of determining if said at least one
vendor has accepted said first service request, and in response to
said determination, transmitting an acceptance notification to said
first customer.
46. The network as set forth in claim 41 wherein said first service
request comprises customer price information indicating an amount
said first customer is willing to pay for performance of said first
requested service.
47. The network as set forth in claim 41 wherein said main
controller stores in said storage device documents associated with
said first service request.
48. The network as set forth in claim 41 wherein said main
controller stores in said storage device customer associated with
said first service request.
49. The network as set forth in claim 41 wherein said main
controller is further capable of transferring messages between said
first customer and said at least one vendor.
50. The network as set forth in claim 41 further comprising an
accounting controller associated with said main controller, wherein
said accounting controller is capable of tracking invoice data and
payment data transmitted between said first customer and said at
least one vendor.
51. For use in connection with a network capable of providing
communications between a plurality of customers generating service
requests and a plurality of vendors capable of fulfilling the
service requests, a method for brokering the service requests
between the plurality of customers and the plurality of vendors
comprising steps of: receiving a first service request from a first
of the plurality of customers; generating a first record associated
with the first service request; storing the first record in a
storage device; determining a nature of a first requested service
associated with the first service request; and in response to the
nature of the first requested service, allowing at least one of the
plurality of vendors to access the first record in the storage
device.
52. The method as set forth in claim 51 including the further step
of transmitting a notification associated with the first service
request to the at least one vendor.
53. The method as set forth in claim 51 wherein the at least one
vendor comprises at least one vendor capable of performing the
first requested service.
54. The method as set forth in claim 53 including the further step
of selecting the at least one vendor from a list of suitable
vendors capable of performing the first requested service.
55. The method as set forth in claim 51 including the steps of
determining if the at least one vendor has accepted the first
service request, and in response to the determination, transmitting
an acceptance notification to the first customer.
Description
TECHNICAL FIELD OF THE INVENTION
[0001] The present invention relates generally to systems and
methods for initiating, controlling, securing, tracking, and
accounting a work flow in a dispersed, collaborative work
environment.
BACKGROUND OF THE INVENTION
[0002] Communication networks, including the Internet and privately
owned intranets, are being used in increasingly diverse ways to
provide people with goods and services as efficiently and cheaply
as possible. Consumers and businesses already can purchase a wide
variety of goods over the Internet. More recently, service
providers have begun to sell their services, including professional
services, over the Internet. These "remote services" include
engineering services, medical services, legal services, accounting
services, and the like, that may be provided by one or more vendors
to a customer in a collaborative work environment, where the
service can be delivered electronically (e.g., electronic reports,
software models, software programs, data base records, and the
like).
[0003] While communication networks may make it easier for a
customer to search for and identify vendors with whom the customer
may wish to do business, many of the traditional problems
associated with purchasing, performing, delivering and accounting
for services from vendors remain unchanged. A customer (whether a
consumer or a business) still must review the credentials and the
prices of a group of vendor candidates in order to select one or
more vendors that will actually perform the job (or selected
portions of the job). Additionally, remote services often require
access to proprietary networks for integration and for data access.
Unfortunately, this often creates costly and sometime intractable
information technology (IT) security problems for both the vendor
and the customer.
[0004] Furthermore, charging for remote services is a
non-integrated task that must be separately managed. Internet-based
remote services require the vendor and the customer to have
knowledge regarding what entities are involved in a collaboration
(such as email addresses, individual names, and the like) and
regarding what aspect(s) of the service are being provided (charge
tracking, asking questions, reviewing materials, transferring data,
and the like).
[0005] There are some commercially available products that allow
individuals and business entities to work in a somewhat
collaborative environment. For example, CITRIX SYSTEMS, INC.
provides WINFRAME.RTM. application server software, which allows
for remote access to, and remote operation of, computer programs.
However, the WINFRAME.RTM. application server software assumes that
the remote service provider is a "trusted" party and does not
address security, accounting, or specific collaboration tasks.
Microsoft Corporation provides NETMEETING.TM. software, which
allows real-time conferencing over the Internet by two or more
persons. However, NETMEETING.TM. ignores the accounting and billing
aspects of a collaborative work environment, requires all parties
to be operating simultaneously, and does not have specialized
features to allow automated parties, such as computer-executed
applications, to participate in the collaborative environment.
[0006] In sum, conventional collaborative work applications that
are implemented over a common communication network frequently
provide little more to customers and vendors than an on-line
document repository, remote manipulation of data and applications,
and basic e-mail services. A customer seeking a service still must
perform a large amount of "overhead" work that is not related to
the main sob, such as searching for and evaluating vendors,
tracking work flow, accounting for charges, coordinating between
multiple vendors, and the like.
[0007] There is therefore a need in the art for systems and methods
that allow customers and vendors (i.e., services providers) to work
more efficiently in an on-line collaborative environment. In
particular, there is a need in the art for systems and methods that
allow a person or business entity (i.e., a customer) that requires
a service to obtain that service quickly and cheaply from one or
more qualified service providers without requiring the person or
business entity to search for and evaluate vendors personally. More
particularly, there is a need for a collaborative work environment
application that can automatically track and provide accounting for
services provided by one or more service providers associated with
a customer-defined work project. There is a still further need for
a collaborative work environment application that allows a customer
to access automated services from one or more computer-executed
applications. A further need exists for a collaborative work
environment application that allows different steps in a work flow
to be performed by one or more parties.
SUMMARY OF THE INVENTION
[0008] To address the above-discussed deficiencies of the prior
art, the present invention provides, for use in connection with a
network capable of providing communications between a plurality of
customers generating service requests and a plurality of vendors
capable of fulfilling the service requests, a system for monitoring
and controlling work flows associated with the service requests
between the plurality of customers and the plurality of vendors. In
an advantageous embodiment of the present invention, the system
comprises: 1) a main controller capable of creating a first work
flow record used to control a first work flow associated with a
first service request and storing the first work flow record in a
storage device associated with the main controller, wherein the
main controller is further capable of receiving from a first
customer and a first vendor associated with the first work flow at
least one of messages, data files, software applications, and
documents, storing the at least one of messages, data files,
software applications, and documents in the storage device, and
transferring at least one of the at least one of messages, data
files, software applications, and documents to at least one of the
first customer and the first vendor; and 2) an accounting
controller associated with the main controller capable of
identifying at least one fee associated with the first work flow
and storing fee data associated with the at least one fee in the
first work flow record.
[0009] According to one embodiment of the present invention, the
first work flow record comprises a plurality of work flow
definitions defining at least one process step to be performed by
at least one of the main controller, the accounting controller, a
first customer processing device associated with the first
customer, and a first vendor processing device associated with the
first vendor.
[0010] According to another embodiment of the present invention,
the at least one of the plurality of work flow definitions is
modifiable by the first customer.
[0011] According to still another embodiment of the present
invention, the at least one of the plurality of work flow
definitions is modifiable by the first vendor.
[0012] According to yet another embodiment of the present
invention, the first work flow record comprises a primary work flow
record associated with the first service request and a secondary
work flow record associated with a second work flow associated with
the first work flow.
[0013] According to a further embodiment of the present invention,
the second work flow is associated with a second service request
generated by the first vendor in response to the first service
request generated by the first customer.
[0014] According to a still further embodiment of the present
invention, the accounting controller is further capable of
identifying at least one additional fee associated with the second
work flow and storing second fee data associated with the at least
one additional fee in the first work flow record.
[0015] According to a yet further embodiment of the present
invention, the accounting controller stores fee data associated
with the first work flow in the primary work flow record and stores
fee data associated with the second work flow in the secondary work
flow record.
[0016] According to another embodiment of the present invention, a
first service associated with the first service request is
performed by a customized computer-executable application generated
by the first vendor, wherein the customized computer-executable
application performs specific operations designed by the first
vendor to meet unique requirements of the first customer.
[0017] According to a further embodiment of the present invention,
the main controller is capable of transferring the customized
computer-executable application from a first data processing device
associated with the first vendor to at least one of a second data
processing device associated with the main controller and a third
data processing device associated with the customer, wherein the
main controller transfers the customized computer-executable
application to the at least one of the second data processing
device and the third data processing device to cause the customized
computer-executable application to execute.
[0018] The present invention also provides a system for brokering
service requests between a plurality of customers and a plurality
of vendors for use in connection with a communication network
capable of providing communications between the plurality of
customers generating service requests and the plurality of vendors
capable of fulfilling the service requests. In an advantageous
embodiment of the present invention, the system for brokering the
service requests comprises a main controller capable of receiving a
first service request from a first of the plurality of customers,
generating a first record associated with the first service
request, and storing the first record in a storage device
associated with the main controller; wherein the main controller is
further capable of determining a nature of a first requested
service associated with the first service request, and in response
to the nature of the first requested service, allowing at least one
of the plurality of vendors to access the first record in the
storage device.
[0019] In one embodiment of the present invention, the main
controller transmits a notification associated with the first
service request to the at least one vendor.
[0020] In another embodiment of the present invention, the at least
one vendor comprises at least one vendor capable of performing the
first requested service.
[0021] In still another embodiment of the present invention, the
main controller selects the at least one vendor from a list of
suitable vendors capable of performing the first requested
service.
[0022] In yet another embodiment of the present invention, the main
controller is further capable of determining if the at least one
vendor has accepted the first service request, and in response to
the determination, transmitting an acceptance notification to the
first customer. The acceptance notification optionally may include
a status notice, including, for example % completion of the
requested service, expected charge(s), order status, and the
like.
[0023] In a further embodiment of the present invention, the first
service request comprises customer price information indicating an
amount the first customer is willing to pay for performance of the
first requested service.
[0024] In a still further embodiment of the present invention, the
main controller stores in the storage device documents associated
with the first service request. Optionally, the vendor may send to
the buyer some mechanism for collecting required data, such as a
form, a program which automatically gather information, and the
like.
[0025] In a yet further embodiment of the present invention, the
main controller stores in the storage device customer associated
with the first service request.
[0026] In another embodiment of the present invention, the main
controller is further capable of transferring messages between the
first customer and the at least one vendor.
[0027] In still another embodiment of the present invention, the
system further comprises an accounting controller associated with
the main controller, wherein the accounting controller is capable
of tracking at least one of invoice data and payment data
transmitted between the first customer and the at least one
vendor.
[0028] It is noted that services that are remotely accessed and
executed may add overhead to a network, at least when compared to
services that are accessed and executed locally in the network,
even it the service is fully automated. In an advantageous
embodiment of the present invention, portions of a work flow that
are executed by a software application customized by a service
provider to the needs of a specific customer may be migrated in
whole or in part to the most efficient location for execution. This
allows the remote service provider to only be directly involved in
the work flow when the situation demands the service provider's
expertise and participation. This increases performance, decreases
costs, and reduces the involvement of the remote expert down to his
or her core competency.
[0029] The foregoing has outlined rather broadly the features and
technical advantages of the present invention so that those skilled
in the art may better understand the detailed description of the
invention that follows. Additional features and advantages of the
invention will be described hereinafter that form the subject of
the claims of the invention. Those skilled in the art should
appreciate that they may readily use the conception and the
specific embodiment disclosed as a basis for modifying or designing
other structures for carrying out the same purposes of the present
invention. Those skilled in the art should also realize that such
equivalent constructions do not depart from the spirit and scope of
the invention in its broadest form.
[0030] Before undertaking the DETAILED DESCRIPTION OF THE
INVENTION, it may be advantageous to set forth definitions of
certain words and phrases used throughout this patent document: the
terms "include" and "comprise," as well as derivatives thereof,
mean inclusion without limitation; the term "or," is inclusive,
meaning and/or; the phrases "associated with" and "associated
therewith," as well as derivatives thereof, may mean to include, be
included within, interconnect with, contain, be contained within,
connect to or with, coupled to or with, be communicable with,
cooperate with, interleave, juxtapose, be proximate to, be bound to
or with, have, have a property of, or the like; and the term
"controller" means any device, system or part thereof that controls
at least one operation, such a device may be implemented in
hardware, firmware or software, or some combination of at least two
of the same. It should be noted that the functionality associated
with any particular controller may be centralized or distributed,
whether locally or remotely. In particular, a controller may
comprise one or more data processors, and associated input/output
devices and memory, that execute one or more application programs
and/or an operating system program. Definitions for certain words
and phrases are provided throughout this patent document, those of
ordinary skill in the art should understand that in many, if not
most instances, such definitions apply to prior, as well as future
uses of such defined words and phrases.
DESCRIPTION OF THE DRAWINGS
[0031] For a more complete understanding of the present invention,
and the advantages thereof, reference is now made to the following
descriptions taken in conjunction with the accompanying drawings,
wherein like numbers designate like objects, and in which:
[0032] FIG. 1 is a block diagram of a remote collaborative
environment system according to one embodiment of the present
invention;
[0033] FIG. 2 is a more detailed block diagram of selected portions
of remote collaborative environment system according to one
embodiment of the present invention;
[0034] FIG. 3 is a more detailed block diagram of selected portions
of an exemplary database storage device according to one embodiment
of the present invention;
[0035] FIG. 4 is a more detailed block diagram of selected portions
of an exemplary work flow record according to one embodiment of the
present invention;
[0036] FIG. 5 is a block diagram of an exemplary transaction
package associated with a work flow in the remote collaborative
environment network according to one embodiment of the present
invention; and
[0037] FIG. 6 is a flow diagram illustrating the operation of a
remote collaborative environment server according to one embodiment
of the present invention.
DETAILED-DESCRIPTION OF THE INVENTION
[0038] FIGS. 1 through 6, discussed below, and the various
embodiments used to describe the principles of the present
invention in this patent document are by way of illustration only
and should not be construed in any way to limit the scope of the
invention. Those skilled in the art will understand that the
principles of the present invention may be implemented in any
suitably arranged distributed data network.
[0039] FIG. 1 is a block diagram of remote collaborative
environment system 100. Remote collaborative environment system 100
comprises a group of "M" customer networks, including exemplary
customer networks 110, 120, and 130, and a group of "N" vendor
networks, including exemplary vendor networks 150, 160, and 170.
The customer networks and vendors networks communicate over common
communication network 140, which may be, for example, the Internet
or one or more privately owned intranets. Remote collaborative
environment system 100 also comprises a remote collaborative
environment (RCE) network 180.
[0040] Exemplary customer network 110 may comprise one or more
workstations, collectively represented by workstation 111, and one
or more customer servers, collectively represented by customer
server 112. Similarly, exemplary customer network 120 may comprise
one or more workstations, collectively represented by workstation
121, and one or more customer servers, collectively represented by
customer server 122. Finally, exemplary customer network 130 may
comprise one or more workstations, collectively represented by
workstation 131, and one or more customer servers, collectively
represented by customer server 132. Each of customer networks 110,
120 and 130 allows one or more users to access RCE network 180 in
order to request a service from at least one vendor who can provide
the requested service.
[0041] It should be understood that the above-described embodiments
of customer networks 110, 120, and 130 are illustrative only and
that other architectures may be employed that do not depart from
the spirit and scope of the invention. For example, in alternate
embodiments of the present invention, one or more of customer
networks 110, 120, and 130 may comprise a single desktop personal
computer (PC) coupled to the Internet that provides a single user
with access to RCE network 180.
[0042] Exemplary vendor network 150 may comprise one or more
workstations, collectively represented by workstation 151, and one
or more vendor servers, collectively represented by vendor server
152. Similarly, exemplary vendor network 160 may comprise one or
more workstations, collectively represented by workstation 161, and
one or more vendor servers, collectively represented by vendor
server 162. Finally, exemplary vendor network 170 may comprise one
or more workstations, collectively represented by workstation 171,
and one or more vendor servers, collectively represented by vendor
server 172. Each of vendor networks 110, 120 and 130 allows one or
more users to access RCE network 180 in order to perform a service
requested by a customer.
[0043] The terms "customer" and "vendor" as used herein are to be
construed broadly. In general, a "customer" (or "requester") is any
person, business entity, or software application that requests that
a particular service be performed. Furthermore, a "vendor" (or
"provider") is any person, business entity or software application
that performs (provides) the requested service.
[0044] Finally, remote collaborative environment (RCE) network 180
comprises one or more workstations, collectively represented by
workstation 181, one or more servers, collectively represented by
remote collaborative environment (RCE) server 182, and one or more
database storage devices, collectively represented by database
storage device 183. Among other things, RCE server 182 acts as a
broker between a customer requesting a service and a vendor that
wishes to provide the requested service.
[0045] In an advantageous embodiment of the present invention, RCE
network 180 provides a remote, role-based, asynchronous
collaborative service environment for initiating and controlling
work flow between the customer and one or more vendors. By
"remote," it is meant that the vendor(s) (or provider(s), more
generally) and the customer(s) (or requester(s), more generally)
can be geographically dispersed over an arbitrary area.
"Role-based" means that the collaboration participants (i.e.,
customer and vendor(s)) may be identified and selected by the
"request for service" (or vendor role) rather than by a unique
identification (ID), which typically is a person's name or a
computer's address). Role-based identification and selection allows
the vendor identification to both be hidden and virtual, which in
turn allows the role to be filled by any entity capable of
providing the service (including a human expert, a computer
executing a software application, or by a combination of a human
expert and a computer). The separation of the request for services
(collaboration) from the specific supplier of the services,
following a component-based architecture, both simplifies the
request of such services, and allows for competition and seamless
migration regarding the system by which those services are
provided. It also enables the provider or the services to be
brokered without (or with) knowledge as to where the services are
being rendered.
[0046] By way of example, a user of customer network 110 may wish
to have a spread sheet prepared from raw financial data that the
user has in his or her possession. The user of customer network 116
may not necessarily care who prepares the spread sheet, so long as
the service provider is of adequate competency. In accordance with
the principles of the present invention, the spread sheet may be
prepared by a human operator of, for example, vendor network 150 or
may be prepared by a software application that is executed on
vendor network 150. The spread sheet also may be prepared as a
result of additional collaborations with other human operators or
software applications on vendor network 160, vendor network 170, or
elsewhere.
[0047] In fact, neither the service provider (vendor) nor the
service requester (customer) needs to know anything about, or
communicate with, the other party. Instead, RCE server 182 acts as
a broker of the requested service.
[0048] The term "asynchronous" means that the collaboration may
occur as a sequence of participation. All parties need not be
working together at the same time. This is important, for example,
if two parties are located on different continents, if work
schedules don't allow simultaneous access, or if the specific
solution requires a number of activities to be executed in series.
The term "collaborative" means that multiple parties (human,
computer or both) are jointly contributing to a solution.
[0049] Finally, the term "services" is broadly defined to mean any
activity or operation contributing to a solution. Human services
are often (but not always) measured in time. Computer or automated
services may be measured by the dimensions of a problem, the amount
of resources consumed to solve the problem, or any other metric. In
some instances, services may be provided free, as when the customer
and the service provider work for the same company. However, in an
advantageous embodiment, RCE server 182 provides a tracking and
accounting capability that resolves billing matters and tracks and
records the costs of a service.
[0050] Again, by way of example, suppose a manufacturing company in
Texas operating customer network 110 wants to have a compressor
problem analyzed. A compressor expert in London, England operating
vendor network 150 wishes to deliver his services (i.e., his
expertise)--by remotely assessing compressor performance for
facilities around the world. An application executed on RCE server
182 and customer network 110 interrogates an operator at the
manufacturing company for required compressor data and customer
identification data. This could be done by means of a custom
application, a web page, or any computer-based user interface.
Additional input data may be collected automatically the
application.
[0051] The application, with or without the manufacturing company's
awareness, may send the available data and problem description to
RCE server 182 as a request for specific help (but not necessarily
for a specific provider of such help). RCE server 182, through
prior knowledge (configuration) or other mechanism (e.g., search),
may then send the data and problem description to the expert in
England, with the request for service. After reviewing the data and
problem description, the compressor expert may wish to ask
questions regarding the problem. The expert may then prepare a list
of questions and materials and re-submit them to RCE server 182
with the target "role" in this case being the manufacturer of the
compressor. Thereafter, materials, data, annotations, and
instructions may continue to be transferred between the parties
until the expert resubmits his recommendations back to the original
service requester (i.e., the manufacturing company). This final
transfer (and possible intermediate transfers) invoke a charge for
the delivered services. All transfers in this example occur across
communication network 140.
[0052] FIG. 2 is a more detailed block diagram of selected portions
of remote collaborative environment system 100. In particular, FIG.
2 illustrates selected portions of customer network 110, vendor
network 150, RCE network 180 and communication network 140.
Customer network 110 comprises browser software application 210
(hereafter, simply "browser 210"), customer transfer controller
212, customer data collection controller 214, customer work flow
application(s) 216, customer work flow definitions file 217 and
security application 218, which may include, for example, a
hardware security apparatus or firewall software. Vendor network
150 comprises browser software application 230 (hereafter, simply
"browser 230"), vendor transfer controller 232, vendor data
collection controller 234, vendor work flow application(s) 236,
vendor work flow definitions file 237 and security application 238,
which also may include, for example, a hardware security apparatus
or firewall software. Finally, RCE network 180 comprises web site
software application 220 (hereafter, simply "web site 220"), remote
collaborative environment (RCE) controller 222, transaction
tracking and accounting controller 224, database storage device
183, and security application 228, which may include, for example,
a hardware security apparatus or firewall software.
[0053] The term "controller" as used with respect to the items in
FIG. 2 is broadly defined and may mean any device, system or part
thereof that controls at least one operation. Such a device may be
implemented in hardware, firmware, or software, or some combination
of at least two of the same. Furthermore, the functionality
associated with any particular controller may be centralized or
distributed, whether locally or remotely. A controller may comprise
one or more data processors, and associated input/output devices
and memory, that execute one or more application programs and/or an
operating system program.
[0054] In particular, customer transfer controller 212 and customer
data collection controller 214 may comprise software applications
executed by the central processing unit (CPU) in customer server
112. Customer server 112 may also execute browser 210, security
application 218, and one or more of customer work flow applications
216. Likewise, vendor transfer controller 232 and vendor data
collection controller 234 may comprise software applications
executed by the central processing unit (CPU) in vendor server 152.
Vendor server 152 may also execute browser 230, security
application 238, and one or more of vendor work flow applications
236. Finally, remote collaborative environment (RCE) controller 222
and transaction tracking and accounting controller 224 may comprise
software applications executed by the central processing unit (CPU)
in RCE server 182. RCE server 182 may also execute web site 220 and
security application 228.
[0055] A customer (or service requester) initially creates a work
flow in RCE network 180 by accessing web site 220 through browser
210 and providing RCE server 182 with details regarding the job
requirements and price information associated with the work flow,
as described below in FIG. 4. The term "work flow" is defined
broadly to mean any service requested by a person (or business)
operating a customer network, such as customer network 110 that is
to be performed by a vendor operating a vendor network, such as
exemplary vendor network 150.
[0056] For instance, if customer network 110 is operated by an
manufacturing company that operates a power plant containing a heat
exchanger, the work flow may comprise a request that a vendor
analyze physical measurements taken over a period of time in the
heat exchanger and prepare a report evaluating the efficiency of
the heat exchanger and identifying any suspected problem. The
initial work flow optionally may identify price information
regarding the requested service, such as a maximum price, an hourly
rate price, a price range, and the like.
[0057] Taking this example further, if the manufacturing company
frequently requests services from different vendors for different
work flows and receives invoices from all of the vendors through
transaction tracking and accounting controller 224, the
manufacturing company may decide to request financial services from
vendors that are accountants. In particular, the manufacturing
company may create another work flow in RCE network 180 that
requests that a vendor prepare spread sheets and perform other
financial analysis based on all of the invoices received from
vendors over a period of time. Accounting vendors may then respond
to the new service request and perform the job requested in the
work flow.
[0058] In other embodiments, the work flow may pertain to medical
services. For example, the medical staff at a hospital may gather
medical statistics on a patient suffering from an ailment that may
be unknown or only suspected. The hospital, acting as customer, may
create a work flow in RCE server 180 comprising the patient's
medical information, a request for a specialist to analyze the same
and prepare a diagnosis, and (optionally) pricing information. RCE
server 180 may then allow one or more pre-qualified specialists,
acting as vendors, to access the work flow and accept or decline
the service request.
[0059] Additionally, it should be noted that the use of browser 210
to interface with the operator of customer network 110 is merely
illustrative and should not be construed to limit the scope of the
present invention. Those skilled in the art will readily understand
that other types of user interfaces may readily be implemented in
association with RCE network 180 in order to gather customer data
and vendor data and to create and control work flows.
[0060] In addition to interacting with browser 210, the operator of
customer network 110 may interact with one or more customer work
flow applications 216 that generate the documents and data files
that are used in a work flow. For example, customer work flow
applications 216 may include word processing applications, spread
sheet applications, engineering software, such as CAD/CAM
applications, equipment monitoring software, such as a telemetry
application, and the like. When the operator of customer network
110 first initiates a work flow in RCE network 180, customer data
collection controller 214, which may work in cooperation with
browser 210, gathers initial setup data from the operator, such as
a business name or a personal name, address information,
description of the service requested, customer job requirements
(e.g., deadlines, document formats, and the like), price
information, and the like. If the operator of customer network 110
has previously used RCE network 180, a user name and password
prompt may be used to quickly identify the operator and retrieve
previously stored information.
[0061] Customer work flow definitions file 217 comprises data
generated by the operator of customer network 110 that defines
selected portions of the customer side of the work flow. For
example, customer work flow definitions file 217 may comprise a
template of work flow steps that are to be performed in customer
network 110, or in RCE network 180, or both, as part of the overall
work flow. For example, the work flow steps may specify that after
a requested service, such as a heat exchanger analysis, is
performed, one or more additional steps or subsidiary work flows
are to be executed, such as an accounting service request or a word
processing request. Thus, a work flow may actually comprise a
primary service request and a group of subsidiary work flows
containing related secondary service requests. The contents of
customer work flow definitions file 217 may be created by the
operator of customer network 110 in response to prompt messages
generated by browser 210.
[0062] Customer transfer controller 212 is a data transfer agent
that receives from customer data collection controller 214 all of
the information input by the operator of customer network 110,
including the contents of customer work flow definitions file 217,
and transmits it through communication network 140 to remote
collaborative environment controller 222 in RCE network 180.
Customer transfer controller 212 may communicate across
communication network 140 according to any conventional protocol,
including Internet protocol (IP), HTTP, VRML, BIZTALK or other XML
protocol. Customer transfer controller 212 may transfers messages,
documents and data between customer network 110 and RCE network 180
in response to customer commands or it may periodically poll
customer network 110 and RCE network 180 to determine if there are
messages, documents or data to be transferred.
[0063] After a work flow is initially created, customer transfer
controller-212 and customer data collection controller 212 continue
to interact with the operator of customer network 110 during
subsequent sessions with RCE network 180. For example, a vendor may
respond to a service request in a work flow by asking one or more
questions or requesting additional documents from customer network
110. In this case, customer transfer controller 212 and customer
data collection controller 214 continue to operate as before,
gathering information from the operator of customer network 110 and
transmitting it to RCE network 180.
[0064] A vendor (or service provider) operating vendor network 150
responds to a work flow in RCE network 180 by accessing web site
220 through browser 230 and requesting from RCE server 182 the
details regarding the job requirements and price information
associated with the work flow. After reviewing the service request
and price information contained in a work flow, the potential
vendor may decline to provide the service.
[0065] Alternatively, the vendor may decide to accept the work flow
or may decide to ask for additional information and/or documents
from the customer that generated the work flow. To do this, the
operator of vendor network 150 may interact with one or more vendor
work flow applications 236 that generate any documents and data
files need to respond to the service requested in the work flow.
For example, vendor work flow applications 236 may include word
processing applications, spread sheet applications, engineering
software, such as CAD/CAM applications, equipment monitoring
software, such as a telemetry application, and the like.
Advantageously, vendor work flow applications 236 may comprise
unique and customized applications developed by the vendor
operating vendor network 150. For example, the vendor operating
vendor network 150 may be an engineering specialist with an
expertise in analyzing a particular type of heat exchanger,
turbine, refinery equipment, or the like. The customized vendor
work flow applications 236 may execute unique algorithms developed
by the vendor to perform the required analysis on the particular
equipment. Advantageously, the vendor may, for a price, allow a
customized vendor work flow application 236 to be exported to RCE
network 180, customer network 110, or both. Thus, a customer may
obtain services from a human, from an application program, or both
via RCE network 180.
[0066] It should be noted that in those embodiments of the present
invention where a service is provided by customized vendor work
flow application 236 and/or where customer inputs and responses are
generated automatically in customer network 110, such as by
customer work flow applications 216, all data exchanges may be
handled automatically (i.e., without human intervention) by one or
more of customer transfer controller 212, remote collaborative
environment controller 222, and vendor transfer controller 232. In
essence, this means that browser 210, web site 220 and browser 230
may not be used in order to create and/or accept a work flow, to
perform a requested service or to transfer messages, electronic
documents, and electronic data files between customer network 110,
vendor network 150 and/or RCE network 180.
[0067] When the vendor operating vendor network 150 first accesses
a work flow in RCE network 180, vendor data collection controller
234, which may work in cooperation with browser 230, gathers
initial setup data from the operator, such as business or personal
name, address information, area of expertise, vendor price
information, and the like, and also may receive questions and
document requests from the vendor. If the operator of vendor
network 150 has previously accessed RCE network 180, a user name
and password prompt may be used to quickly identify the vendor and
retrieve previously stored information.
[0068] Vendor work flow definitions file 237 comprises data
generated by the operator of vendor network 150 that defines
selected portions of the vendor side of the work flow. For example,
vendor work flow definitions file 237 may comprise a template of
work flow steps that are to be performed in vendor network 150, or
in RCE network 180, or both, as part of the overall work flow. For
example, the work flow steps in vendor work flow definitions file
237 may specify that after a service request is received, one or
more additional steps or subsidiary work flows are to be executed,
such as sending notifications to the supervisor of the person that
performs the requested service or generating an accounting service
request. As another example, the vendor work flow definitions file
237 may specify that after a vendor employee, a power plant expert,
prepares a draft report analyzing the performance of a customer's
generator, the draft report is to be forwarded to an editor within
vendor network 150. The editor then edits the draft report and the
final "approved" draft is forwarded to customer network 110. Vendor
work flow definitions file 237 may further specify that separate
accounting services are to be performed with respect to the power
plant analysis services performed by the expert and the editing
services performed by the editor. The contents of vendor work flow
definitions file 237 may be created by the vendor in response to
prompt messages generated by browser 230.
[0069] Vendor transfer controller 232 is a data transfer agent that
receives from vendor data collection controller 234 all of the
information input by the vendor operating vendor network 150 and
transmits it through communication network 140 to remote
collaborative environment controller 222 in RCE network 180. Vendor
transfer controller 232 may communicate across communication
network 140 according to any conventional protocol, including
Internet protocol (IP). Vendor transfer controller 232 may
transfers messages, documents and data between vendor network 150
and RCE network 180 in response to vendor commands or it may
periodically poll vendor network 150 and RCE network 180 to
determine if there are messages, documents or data to be
transferred.
[0070] As in the case of customer network 110, it should be noted
that the use of browser 230 to interface with the operator of
vendor network 150 is merely illustrative and should not be
construed to limit the scope of the present invention. Those
skilled in the art will readily understand that other types of user
interfaces may readily be implemented in association with RCE
network 180 in order to gather customer data and vendor data and to
create and control work flows.
[0071] After a work flow is accepted by the vendor, vendor transfer
controller 232 and vendor data collection controller 232 continue
to interact with the vendor during subsequent sessions with RCE
network 180. For example, a vendor may from time to time by ask
questions or request additional documents from customer network
110. In this case, vendor transfer controller 232 and vendor data
collection controller 234 continue to operate as before, gathering
information from the vendor operating vendor network 150 and
transmitting it to RCE network 180.
[0072] Remote collaborative environment (RCE) controller 222
handles the transfer of messages and data to and from customer
transfer controller 212 and vendor transfer controller 232. RCE
controller 222 also creates a record for all work flows received
from customers in database storage device 183. Thereafter, RCE
controller 222 processes all data transfers and messages between
customers and vendors associated with each work flow record in
database storage device 183. Transaction tracking and accounting
controller 224 is responsible for tracking work progress in each
work flow, providing customers with invoices for work performed by
vendors, transferring payments from customers to vendors, and
maintaining a detailed accounting for each work flow. In effect,
customers receive periodic (e.g. monthly) billing statements and
"roll-up" types of accountings of transactions and applicable
fees/rates related to the transactions. Vendors receive periodic
(e.g., monthly) payments and a detailed accounting specifying which
customers purchased which services and at what fee(s)/rate(s).
[0073] FIG. 3 is a more detailed block diagram of selected portions
of database storage device 183 according to one embodiment of the
present invention. Database storage device 183 stores a plurality
of records, including active work flow list 310, pre-approved
vendor database 320, customer database 330, and vendor database
350. In some embodiments of the present invention, the information
in customer database 330 and vendor database 350 may be created by
the customer or vendor "pushing" information to RCE network 180
through records. However, in alternate embodiments of the present
invention, the information in customer database 330 and vendor
database 350 may be created when RCE network 180 gathers the vendor
and customer information (periodically or as needed), including
work flows, from remotely accessible servers set up by customers
and vendors.
[0074] Active work flow list 310 comprises "M" work flow records,
including exemplary work flow records 311-314 (arbitrarily labeled
Work Flow 1, Work Flow 2, Work Flow 3, and Work Flow M,
respectively), one for each of the M work flows that are currently
ongoing in the remote collaborative environment provided by RCE
network 180. RCE controller 222 creates a new work flow record each
time a customer requests that a service be performed. Thereafter,
RCE controller 222 updates each work flow record as messages,
documents, and data are transmitted between customers and vendors
associated with each work record.
[0075] Pre-approved vendor database 320 comprises "N" pre-approved
vendor lists, including exemplary pre-approved vendor lists 321-324
(arbitrarily labeled Pre-approved Vendor List 1, Pre-approved
Vendor List 2, Pre-approved Vendor List 3, and Pre-approved Vendor
List N, respectively). Each of pre-approved vendor lists 321-324
comprises a list of vendors having an acceptable level of expertise
in particular field. For example, pre-approved vendor list 321 may
comprise a list of accredited accountants. Also, pre-approved
vendor list 322 may comprise a list of petroleum refining engineers
having a particular level of experience (determined by degrees,
years of experience, or other relevant criteria). Pre-approved
vendor list 323 may comprise a list of orthopedists.
[0076] Customer database 330 comprises a list of individual
customers associated with active or inactive (i.e., past) work
flows. In essence, customer database 330 is a comprehensive list of
subscribers to the services provided by vendors through the remote
collaborative environment created by RCE network 180. Customer
database 330 comprises "P" customer records, including exemplary
customer records 331-333 (arbitrarily labeled Customer 1, Customer
2 and Customer P, respectively).
[0077] Exemplary customer record 331 comprises a unique Customer
Identification (ID) field 341 that stores one or more user names
associated with a individual person or with one or more persons at
a business entity associated with customer record 331. Exemplary
customer record 331 also comprises Passwords field 342, which
stores at least one password associated with each user name in
Customer ID field 341. RCE controller 222 uses the user names and
passwords in Customer ID field 341 and Passwords field 342 to
authenticate each customer that accesses RCE network 180. Exemplary
customer record 331 further comprises Contact Person field 343 and
Address field 344. Contact person field 343 stores the name,
telephone number, and e-mail address of a designated contact person
associated with customer record 331. Address field 344 stores the
business address of the person or business entity associated with
customer record 331.
[0078] Exemplary customer record 331 also comprises customer
parameters field 345. Customer parameters field 345 stores
information regarding the capabilities and/or limitations of
customer network 110 and the equipment owned and controlled by the
customer, among other things. For example, customer parameters
field 345 may contain information regarding the information
technology (IT) supported by customer network 110, such as customer
operating system (e.g., Windows.TM. NT, Novell.TM., etc.), customer
database (e.g., SAP, Oracle, etc.), and the like. Additionally,
customer parameters field 345 may contain information about, for
example, the heat exchanger or power generator equipment used by
the customer, or the medical diagnostic equipment used by the
customer. In an advantageous embodiment of the present invention,
RCE network 180 may allow potential vendors to access information
in customer parameters field 345 in order to answer vendor
questions or otherwise provide required/requested information.
[0079] Vendor database 350 comprises a list of individual vendors
associated with active or inactive (i.e., past) work flows. Vendor
database 330 is a comprehensive list of service providers that
provide the services brokered to customers through the remote
collaborative environment created by RCE network 180. Vendor
database 350 comprises "R" vendor records, including exemplary
vendor records 351-353 (arbitrarily labeled Vendor 1, Vendor 2 and
Customer R, respectively).
[0080] Exemplary vendor record 351 comprises a unique Vendor
Identification (ID) field 361 that stores one or more user names
associated with a individual person or with one or more persons at
a business entity associated with vendor record 351. Exemplary
vendor record 351 also comprises Passwords field 362, which stores
at least one password associated with each user name in Vendor ID
field 361. RCE controller 222 uses the user names and passwords in
Vendor ID field 361 and Passwords field 362 to authenticate each
vendor that accesses RCE network 180. Exemplary vendor record 351
further comprises Contact Person field 363 and Address field 364.
Contact person field 363 stores the name, telephone number, and
email address of a designated, contact person associated with
vendor record 351. Address field 364 stores the business address of
the person or business entity associated with vendor record
351.
[0081] Exemplary vendor record 351 also comprises vendor
capabilities field 365. Vendor capabilities field 365 stores
information regarding the capabilities of the vendor that operates
vendor network 150, among other things. For example, if the vendor
is an accounting firm, vendor capabilities field 365 may comprise
information concerning the fields of expertise of each accountant
that uses vendor network 150. If the vendor is a medical
association, vendor capabilities field 365 may comprise information
concerning the medial specialties of each doctor that uses vendor
network 150. In an advantageous embodiment of the present
invention, RCE network 180 may use the contents of vendor
capabilities field 365 to create one or more of exemplary
pre-approved vendor lists 321-324.
[0082] FIG. 4 is a more detailed block diagram of selected portions
of exemplary work flow record 311 according to one embodiment of
the present invention. Work flow record 311--(Work Flow 1)
comprises work flow identification (ID) field 400, which stores a
unique identifier (e.g., "Work Flow 1") created by RCE controller
222 when the work flow record 311 is first created. In exemplary
work flow record 311, Customer 1 has requested a service and Vendor
1 is providing the service. Work flow record 311 stores in Customer
1 Data field 401 relevant identification data associated with
Customer 1, including, for example, the unique identifier in
Customer ID field 341.
[0083] Work flow record 311 also stores information unique to Work
Flow 1, such as storing customer price information, if any, in
Price Information field 402, storing a description of the requested
service(s) in Job Request field 403, storing particular job
requirements, such as deadlines and electronic document and data
formats, in Job Requirements field 404. Work flow record 311 also
comprises customer documents archive 405 for storing documents and
data files provided by Customer 1 as part of the service
request.
[0084] Work flow record 311 stores in Vendor 1 Data field 411
relevant identification data associated with Vendor 1, including,
for example, the unique identifier in Vendor ID field 361. Work
flow record 311 also comprises vendor documents archive 412 for
storing documents and data files provided by Vendor 1 as part of
the service request.
[0085] If more that one vendor is providing services associated
with Work Flow 1, as where an engineering consultant provides
engineering services and an accountant provides accounting
services, work flow record 311 also stores in Vendor 2 Data field
413 relevant identification data associated with Vendor 2,
including, for example, the unique identifier in the Vendor ID
field associated with vendor record 352. Work flow record 311 also
comprises vendor documents archive 414 for storing documents and
data files provided by Vendor 2 as part of the service request.
[0086] Work flow definitions field 430 comprises the work flow
definitions previously established by the customer in customer work
flow definitions file 217 and by the vendor in vendor work flow
definitions file 237 and may also contain additional work flow
definitions created by RCE controller 222. Work Flow 1 status field
431 indicates whether Work Flow 1 is still on-going or is complete.
Work Flow 1 Tracking and Accounting Data field 432 stores a
complete history of all transactions occurring between Customer 1,
Vendor 1 and Vendor 2. This includes all document transfers,
message transfers, data file transfers, and an accounting of all
time and billing payment information.
[0087] Transaction tracking and accounting controller 224 uses the
information in work flow definitions field 430, Work Flow 1 status
field 431, and Work Flow 1 Tracking and Accounting Data field 432
to provide a detailed accounting to Customer 1 and, optionally,
Vendor 1, or Vendor 2, or both. The detailed accounting may include
invoices for the costs associated with a primary service requested
by Customer 1 and other invoices regarding the costs associated
with related secondary services requested by Vendor 1 or Vendor 2
in order to perform the primary requested service.
[0088] Finally, work flow record 311 optionally may store one or
more vendor work flow applications 236 associated with vendor
network 150. It was previously explained that a vendor may, for a
price, allow customized vendor work flow application 236 to be
exported to RCE network 180, to customer network 110, or to both.
In the illustrated embodiment, Vendor 1 has developed a unique and
customized vendor work flow application 236 that has been exported
to RCE network 180 and stored in database storage device 183 as
part of work flow record 311.
[0089] In a typical scenario, Vendor 1 develops a customized
software application that is particular to the need of one
customer. For example, a power plant expert may periodically
perform a heat exchanger analysis for a manufacturing firm
customer. Since much of this analysis may be repetitive (i.e., the
heat exchanger model and its operating parameters likely don't
change between each analysis), the power plant expert may develop
customized vendor work flow application 236 in order to perform the
repetitive analysis on heat exchanger statistics that are received
as a data file. Thus, the expertise of the power plant expert may
be encapsulated in customized vendor work flow application 236.
However, it is not required that customized vendor work flow
application 236 remain resident in vendor network 150. Therefore,
in order to make the remote collaborative environment operate more
efficiently, customized vendor work flow application 236 may be
exported to a location from which it may be more easily accessed or
more rapidly executed, such as RCE network 180 or customer network
110, or both.
[0090] As noted above, a work flow may involve multiple steps, some
of which may be taken conditionally depending on results of prior
steps. Multiple customers and vendors may be involved in a work
flow and tasks may be inserted during the execution of a work flow
as a need for an additional intermediate step is realized. The
steps in a work flow may be in a partial temporal order, permitting
some to be executed in parallel by the same or different
vendors.
[0091] There are several mechanisms now available through which the
content of work flows can be represented in RCE network 180. For
example, a work flow may be defined in a new industry-specific or
business-specific XML-based markup language. In this case, tags
could be defined for different types of tasks, their prerequisites
and post-conditions, level of effort expectations, parametric
variants, and the like. Some other symbolic representation capable
of being manipulated by an algorithm may be defined. As a result of
recent improvements in natural language processing software,
free-text natural language may also be used.
[0092] The representation mechanism captures the tasks or steps
involved in completing the customer service request, and also the
accounting information necessary for ensuring that charges, debits,
and credits are appropriately according to, for example, a
previously established policy, the nature of the workflow, or other
factors.
[0093] It is important to note that a vendor may be a vendor with
respect to one service request, but may be a customer with respect
to a related service request. In a previous example, a vendor
employee, a power plant expert, prepares a draft report analyzing
the performance of a customer's generator and the draft report is
is then edited by an editor within vendor network 150. The power
plant expert is a vendor with respect to the customer service
request for a power generator analysis and a customer with respect
to the editing services. If a vendor, in fulfilling a service
request, initiates one or more related secondary customer/vendor
service request cycles in order to complete the primary service
request, transaction tracking and accounting controller 224 is
capable of providing a unified accounting of all service requests
associated with the primary service request. Additionally, the
vendors of the related service requests may complete their services
in ignorance of the larger work flow.
[0094] FIG. 5 is a block diagram of an exemplary transaction
package 500 associated with a work flow in RCE network 180
according to one embodiment of the present invention. Transaction
package 500 illustrates the minimum data that is transferred
between RCE network 180 and either of customer network 110 and
vendor network 150. Transaction package 500 comprises work flow ID
field 505, which identifies a unique work flow in database storage
device 183, and sender ID 510, which contains the unique identifier
of the customer or vendor sending transaction package 500,
recipient ID 515, which contains the unique identifier of the
customer or vendor receiving transaction package 500. Transaction
package 500 also comprises optional delivery instructions 520 and
payload 525.
[0095] Each of RCE controller 222, customer transfer controller 212
and vendor transfer controller 232 generates or examines, or both,
the values in work flow ID 505, sender ID 510 and recipient ID 515
in order to direct messages, documents and data between RCE network
180, customer network 110, and vendor network 150. The actual
message, document or data file is stored in payload field 525.
[0096] FIG. 6 depicts flow diagram 600, which illustrates the
operation of RCE network 180 according to one embodiment of the
present invention. In the example described, a work flow is
initiated by a user of customer network 110 and is performed by a
service provider (human or software application) associated with
vendor network 150. During normal operation, RCE network 180
receives from customer network 110 an initial work flow message
containing a service request. RCE network 180 then creates a
corresponding work flow record in database storage device 183
(process step 605). Alternatively, RCE network 180 may actively
poll customer network 110 at periodic intervals, rather than having
the customer network 110 "push" work flow information to RCE
network 180.
[0097] According to the job requirements specified by the operator
of customer network 110, RCE network 180 may make the work flow
record available to one or more vendors (process step 610). RCE
network 180 may use the nature of the job request specified by
operator of customer network 110 to determine a list of suitable
vendors. This information may be determined by RCE network 180 by,
for example, requiring the operator of customer network 110 to
select (via browser 210 and web site 220) a particular service from
a list of available services (i.e., accounting, heat exchanger
analysis, medical diagnosis, and the like). The work flow record
may be made available to pre-approved vendors by allowing such
qualified vendors to access and review appropriate work flow
records in database storage device 183. Alternatively, the work
flow record may be made available to one or more pre-approved
vendors by transmitting a notification message (including a copy of
the work flow record) to the vendors informing them of the
existence and location of the work flow record.
[0098] The operator of vendor network 150 may accept the service
request by performing the requested service or sending an
acceptance notification to the operator of customer network 110. If
the operator of vendor network 150 accepts the service request, RCE
network 180 may prevent other vendors from accessing the work flow
record, or may annotate the work flow record so as to inform other
vendors that the service request has already been accepted by the
operator of vendor network 150. The operator of vendor network 150
may also transmit (via RCE network 180) questions and requests for
information to customer network 110 (process step 615). Thereafter,
RCE network 180 may transmit additional messages, electronic
documents, and data between customer network 110 and vendor network
150 until vendor network 150 has sufficient information to perform
the requested service (process step 620).
[0099] Eventually, the operator of vendor network 150 completes the
requested service and delivers a final product to RCE network 180.
The final product may comprise a text document, a spread sheet,
compiled data, annotated data, and the like (process step 625)
Finally, RCE network 180 delivers the final product to customer
network 110 and transaction tracking and accounting controller 224
adjusts the accounting records associated with the primary work
flow and any secondary work flows related to the primary work
flow.
[0100] In an advantageous embodiment of the present invention, work
flows may be "retroactively" performed by a vendor. For example, a
customer may request a service that no vendor currently associated
with RCE network 180 can perform. However, new vendors may
continually be added to database storage device 183 in RCE network
180. At some point, a new vendor capable of performing the
unfulfilled service may join RCE network 180. To provide for this
eventuality, all outstanding service requests are maintained in
database storage device 183. RCE network 180 continually compares
the capabilities of new vendors to all outstanding unfulfilled
customer service requests to find matches. If a match occurs, RCE
network 180 then allows the new vendor to access the work flow
record for the unfulfilled service request.
[0101] Although the present invention and its advantages have been
described in detail, those skilled in the art should understand
that they can make various changes, substitutions and alterations
herein without departing from the spirit and scope of the invention
in its broadest form.
* * * * *