The challenges of establishing, maintaining, operating and terminating automated communication relationships between providers and consumers
The following quoted text (beginning at the bullet) is taken from the statement of prior art in US Patent 5,862,325 entitled Computer-based communication system and method using metadata defining a control structure
and filed in 1996 by Drummond S. Reed and his co-inventors. This is a parent patent to the line of IP contributed by Intermind, and its successor, OneName, into XDI.org. See The History of XDI.ORG. I've also blogged a transcription of an interview conducted on June 27, 2008 of Drummond Reed which you may find of interest.
I found this description of prior and related art to be one of the best overviews describing the challenges to trusted information sharing I have ever found in a patent or patent application. Well worth the read.
- "All communications consist of a mechanism for exchanging information
between one entity, a provider, and another, a consumer. The terms
"provider" and "consumer" are used to designate separate functions in
information transfers. Typically an
entity, at various times, operates as both a provider and a consumer in
any communication relationship. These relationships may be one-to-one,
such as between two individuals; one-to-many, such as between company
and its customers; or many-to-many, such
as between the members of a workgroup. These communications
relationships may also exist over multiple communications networks,
such phone networks, LANs, public data communications networks, radio
and TV networks, wireless networks, and conventional
postal mail networks.
Establishing, maintaining, operating, and even terminating any
one of these types of communications relationships involves significant
work on the part of both the provider and consumer. For example, to
initiate any type of communications
relationship, providers must first locate the consumers with whom to
communicate and vice versa. Solving this problem is subject of several
entire industries, such as the directory industry, the mailing list
industry, and the advertising industry. Once
a provider or consumer has been identified, contact information (e.g.,
names, titles, addresses, telephone numbers, electronic mail addresses,
etc.) must be exchanged between the provider and consumer. This contact
information must be maintained by both
parties so that future communications can be effected as needed. When
the contact information changes for an entity, all providers or
consumers having relationships with the entity must be notified of the
changes, who in turn must update their own
records. This work also extends to other data and records exchanged in
the context of the communications relationship, e.g. orders, receipts,
product numbers, invoice numbers, customer numbers, notes, brochures,
reports, etc. Maintenance of this
information requires significant human time involvement for receiving
information, storing information, indexing information, searching for
desired information, and retrieving information. The human component of
record maintenance also creates a
potential for error, which can cause the information to be faulty or to
become lost.
Once the communications relationship is established, the next
major workload is the active use of the relationship to accomplish
communications objectives. The problems here take different forms
depending on the type of communications
relationship. For example, in a one-to-many relationship, particularly
a mass-market relationship such as a company and its customers, the
problem is how to efficiently disseminate information about products
and services to consumers. Optimally, such
information would be disseminated only to the consumers who need the
information, only at the precise time they need it, and only via the
communications network the consumer preferred. However, knowing who
needs what information, when, and how can be
very difficult. Therefore, providers typically disseminate information
widely in the form of mass advertisements and mailings via all possible
communications mediums in order to reach all likely consumers. Because
of this broad dissemination by
providers, consumers receive large amounts of information, much of
which is irrelevant to them. Consumers are forced to sort and filter
through this information, and frequently much of it is discarded.
Information which is kept may not be immediately
useful, but may be needed at a later time. Unless the consumer expends
a great deal of work to store, catalog, and index this information, the
information can be difficult or impossible to find when the consumer
actually needs it.
This same problem of efficient information distribution is
exacerbated in many-to-many communications relationships, such as among
the members of a workgroup. Here, communications are much more frequent
and timely, and there is much greater
quantity of information to be shared, stored, archived, and indexed.
Members of a workgroup also have a strong need to employ communications
for group coordination, such as scheduling meetings, conference calls,
project deadlines, etc. These
communications involve time deadlines and feedback requirements which
are not typically present in one-to-many communications relationships.
With one-to-one communications relationships, the problem of
efficient information disemination is lessened because the parties
typically have a much higher knowledge of each other's needs and
interests. Conversely, the need to use
communications for coordination purposes is greatly increased, largely
because between individuals the need for real-time communications
sessions such as phone calls and personal meetings is acute. Thus the
universal problem of "phone-tag", when both
parties exchange numerous messages trying to coordinate the opportunity
to communicate in real time.
The next workload involved in communications relationships is
when the parties need to exchange, process, and store structured data.
In a one-to-many communications relationship, a common example is a
consumer ordering a product. The consumer
must place a telephone call, locate a salesperson, and then manually
transmit the necessary ordering information, which the salesperson must
manually record. Paper or electronic product order forms can help
automate this process for the provider, but
they still must be filled out manually by the consumer. Many of these
forms require the same standard information from the consumer, which
the consumer must enter repeatedly. All of these information transfers
require human involvement and thus create
the potential for data errors. On the provider's part, more work is
required to perform error checking on the order, process it, and in
many cases return an acknowledgment to the consumer. Many providers
invest heavily in data processing and electronic
communications systems for automating these functions. However, the
lack of a standard communications system for exchanging common data
means that providers adopt largely proprietary systems, increasing the
investment necessary for every provider. In
addition, consumers must still interact with each these systems
manually.
In a many-to-many communications relationship, such as a
workgroup, the need for structured data exchange is even higher,
especially when automated data processing tools such as computer
software are in widespread use. Also, the need for
structured data exchange for workgroup coordination activities, such as
scheduling and planning, grows significantly.
One-to-one communications relationships may also involve
strong needs for structured data exchange. For example, two individuals
from different companies may need to review and revise a document
involving both companies. The ability to do so
electronically, using a secure method of exchange over public data
networks, would make the task considerably easier. Individuals involved
with one-to-one communications relationships also have an acute need to
use structured data exchange to solve the
problem of scheduling communications sessions, i.e. the phone-tag
problem.
Since all communications relationships are inherently dynamic,
they involve three other common tasks involved for providers and
consumers: copying the relationship, transfering the relationship, and
terminating the relationship. Copying is when
one consumer wants to share a particular communications relationship
with another consumer. For example, a mail-order catalog customer may
wish to give a copy of the catalog to a friend, or a businessperson may
need to share the phone number of a
colleague with a customer. Transferring is when one provider assumes a
consumer communications relationship from another, or one consumer
assumes a provider communications relationship from another. An example
would when a company changes the
salesperson responsible for the customers in a sales territory, or when
a customer transfers ownership of a product. Termination is when either
a provider or consumer wishes to end a communications relationship,
i.e. a provider no longer wants to
distributes (sic) information, and/or a consumer no longer wants to receive,
process, or store the information. A widespread example is consumers
who wish to be dropped from direct mailing lists, and the providers who
wish they could efficiently identify such
consumers to save mailing costs. All three of these common, everyday
communications relationship operations involve considerable effort on
the part of the provider and consumers to carry out.
Therefore, a need exists for a communications system which
allows providers and consumers to quickly and easily establish an
automated communications relationship, one in which the data necessary
to operate the communications relationship is
exchanged and updated automatically, and which can control all types of
communications via all types of communications network common to both
the provider and consumer. A need also exists for a communications
system which allows a provider to actively
notify a consumer of new information in which the consumer may be
interested, and which allows the consumer to precisely filter the
information being sent by one or more providers. A need also exists for
a communications system which allows providers
and consumers to automatically structure, exchange, and process
incoming or outgoing communications to the greatest extent possible. A
need also exists for a communications system which allows providers and
consumers to easily share access to many
common communications services. Finally, a need exists for a
communications control system which allows providers and consumers to
easily copy, transfer, and terminate communications relationships.
Various computer-based systems have been created to provide
mechanisms for communicating information. The Internet and World Wide
Web provide a network of a large number of information sources,
providing a voluminous amount of information. Computer programs exist
which can be executed on Internet-connected computers to search these
sources to obtain desired information. Additionally, through the medium
of hypertext, providers of World Wide Web pages can create links in
their pages between
items of related information which can significantly aid consumers in
finding desired information. However, the links to the information
source are neither dynamic nor persistent; in the sense that they do
not provide new or updated information once the
consumer has found a topic of interest. "Bookmarks" in a web browser
program can facilitate subsequent access to a particular web page to
determine if new information is present. However, if the web page
referenced by the bookmark is removed, the
bookmark is no longer valid. Bookmark polling programs, such as Smart
Bookmarks from First Floor, Inc., can also be used to determine whether
a web page has changed since the last time the consumer viewed it. In
addition, Smart Bookmarks can examine a
changed page and automatically transfer to the consumer a text string
embedded by the author of the page informing the consumer of the nature
of the change. However, Smart Bookmarks' capability is limited to
single text strings on single web pages. Therefore the consumer must
locate and bookmark every Web page of interest. Smart Bookmarks does
not provide a way for the consumer to filter the update messages, nor
does it provide the consumer with any mechanism for exchanging
structured information
or managing a communications relationship with the provider.
A different type of Web monitoring solution is provided by
Revnet Systems Inc. With its GroupMaster software, Web providers can
create and insert special hyperlinks representing interest topics on
the pages of their Web site. When a consumer
clicks on this link a special data file is transferred to the
consumer's GroupMaster client software. The client software then polls
the Web server for updates to the interest topic input by the provider.
Unlike Smart Bookmarks, all interest topics at
the site can be checked in one update polling action. Update messages
can be delivered to the consumer via the client software. However,
these messages only contain links back to pages with follow-up
information at the Web site. They do not store or
index information from the provider, nor do they provide a mechanism
for the consumer and provider to automate other types of structured
data exchanges or manage a communications relationship.
Online navigation or "auto pilot" software, available from
various commercial online services or software companies, can help the
user automate access to online services, the Internet, and other public
networks. The software provided by these
services or companies can include capabilities such as automatic
logons, automatic navigation of the online system according to consumer
preferences, file searches, uploading and downloading data, and storage
of data. Some systems can also automatically
download the data necessary to update their own operation. However, the
navigation software available from the online services typically
requires that the consumer first establish an account with the online
service, and may also involve establishing
accounts with specific providers on the service. In addition, these
navigator programs are specifically designed to work with the
architecture and communications protocols of the online service, and
cannot be easily adapted to other data communications
networks, thus preventing other providers from using the functionality
of the online service to create and distribute data in the same manner.
Finally, they require that the consumer set up and maintain a
communications relationship with each
information provider on the service. If the provider changes its
information offerings, the consumer must reprogram the autopilot or
navigation software. This last disadvantage also applies to online
navigation programs designed to work with the
Internet and other non-proprietary public data networks.
Electronic mail (e-mail) systems are another electronic
communications system that provides some communications contact
persistence. E-maii (sic) addresses and messages can be stored and indexed
within e-mail programs, or externally in other
locations. E-mail rules engines allow for some degree of automated
storage or response to certain message contents. However, these rules
engines are typically constrained to acting on certain known
information about the messages, such as the address of
the message provider, or on semantic rules such as keywords which must
be guessed by the provider and consumer. There is no common
communications frame of reference, i.e., a structured data format and
operations methodology, against which both the
provider and consumer can operate to filter, classify, and organize
messages. The lack of a common frame of reference also severely limits
the capability of either the provider or consumer to automatically
process the contents of an e-mail message, or
to automatically respond to the message besides the capability to
automatically address a reply message.
E-mail systems which support electronic forms overcome some of
these limitations. Electronic forms allow the provider to control the
content of a forms submission and to automatically or
semi-automatically route that data around a network. Electronic forms
also allow message consumers to automate a response to the forms
provider which can be automatically processed by the provider. However,
these forms must be received and processed by the consumer in the same
manner as conventional
e-mail messages. In other words, they do not provide a means for the
consumer to control or filter messages from different providers. Forms
also do not provide the consumer with a mechanism for automatically
storing, indexing, or processing information
from the provider. In addition, while they may automate the provider's
ability to process the data returned from the forms, the consumer must
still manually enter information in the form.
Specialized e-mail systems have been developed that combine
the use of electronic forms with a system-wide data processing model.
Examples are The Coordinator from Action Technologies, Inc., or OVAL
from the MIT Center for Coordination Science. These systems allow
providers and consumers to share a frame of reference for messaging
such that messages can be classified into specific categories and
actions. This allows message providers and consumers to automate the
routing, storage, and
processing of messages based on these category and actions. However,
these systems require that all providers and consumers share the same
frame of reference. They do not provide a generalized means for each
provider on the system to establish and
update their own frames of reference with one or more consumers, nor a
generalized means for each consumer to coordinate the frames of
reference they have with different providers.
A different approach to the problem of automating
communications is the category of software that is commonly referred to
as "software agents" or "mobile agents". An example is a platform for
communications applications developed by General
Magic, Inc. called Telescript. The Telescript language is an
object-oriented, remote programming language with three core concepts:
agents, places and "go". Agents "go" to places, where they interact
with other agents to get work done on a user's
behalf. Agents are mobile programs capable of transporting themselves
from place to place in a Telescript network. The language is
implemented by the Telescript engine. The Telescript engine is a
multitasking interpreter that integrates onto an
operating system through a programming interface called the Telescript
API. The Telescript engine operates on server computers connected over
a communications network. Telescript agents can operate independently
anywhere within these server computers
to control the transfer of message data and perform programmable
actions upon that message data. For example, if a message recipient is
not available, the message could be rerouted to a different location,
rather than being returned to the sender
undelivered. Telescript is similar to other agent technologies in that
the architecture is based on agents interacting with other agents on
server computers running agent "engines" or interpreters. In this
architecture, the establishment of a
communications relationship requires two agents: one to represent the
provider and one the consumer. Although agent programming systems like
Telescript provide the necessary tools for creating these agents, it is
still necessary for both the provider
and consumer to create and administer the necessary agents.
Furthermore, Telescript does not provide a specific model for the
filtering, storage, and indexing of communications between a provider
and consumer via agents. Lastly, agent architectures
require the addition of servers running agent interpreters to the
communications network in order to operate, increasing the expense and
complexity of the network.
A more specialized type of agent technology is delivery
agents. Examples include Digital Delivery from Digital Delivery, Inc.
and PointCast from PointCast Inc. Delivery agents do not require a
network of specialized servers, but instead
operate directly on a consumer's computer to retreive information of
specific relevance to the user over a network. They are created by a
particular provider to supply information from a server or servers
under that providers control, or from a more
generalized news source such as a wire service. Delivery agents allow a
consumer to specify his/her topics of interest, which the delivery
agent then uses to filter the available news stream and show the user
only the information of interest. Delivery
agents are also capable of storing and indexing the received data for
the consumer. Other than communicating the consumer's topic preferences
back to the provider, however, delivery agents do not provide a way to
control or process other communications
between the consumer and provider. In addition, since each delivery
agent is typically designed as a separate executable program which must
be installed and run separately, the consumer is limited as to the
number of delivery agents the consumer can
manage and run.
Another approach to automating communications and data
transfers is shared replicated database systems such as Lotus Notes and
Collabra Share. With these systems, information to be communicated is
entered via a client program into one or more
databases which may reside locally on client computers or on network
server computers. These databases are then replicated to other server
computers or local client computers throughout the system so that the
data can be easily accessed by any other
user of the system who needs the information and has the proper access
privileges. Access privileges are controlled by one or more system
administrators via the system servers. Some of these systems, notably
Collabra Share, also allow users to
"subscribe" to specific databases. These users can receive an e-mail
notification from a database agent monitoring the database when a new
entry or a certain condition has been made in that database. These
systems may also employ electronic forms and
forms processing languages to structure the data being entered into a
database, and to take programmable actions based on the data entered.
The architecture of these systems is designed for groups of users to
share information related to specific
topics, and to automate the transfer of data between different computer
applications used by an organization. For this reason the core data
structure of the architecture is a subject database or "forum". Each
subject database covers a number of related
interest topics under which all entries in the database are
categorized. All copies of any subject database are synchronized
throughout the system when data in any one copy has been changed.
While suitable for information sharing amongst the members of
a group, this architecture is not well suited for automating
communications relationships among a large number of information
providers and consumers. First, all the providers and
consumers need to be interconnected through the system in order to
communicate. This could be done by having all providers and consumers
enroll in one large system in which they all had access privileges. In
such a system each provider would need to
have at least one subject database for communicating with his/her
consumers. This enormous number of subject databases would then need to
be replicated among the large number of servers required to service the
complete population of the system, which
would quickly overwhelm the capacity of the servers or network to
handle replication. A more realistic alternative would be to have each
provider or group of providers operate and administer their own system,
making their internal subject databases
available to consumers via public data networks such as the Internet.
Consumers would use the system client software to "subscribe" to the
subject databases of each provider with which they desire to
communicate. Only the subject databases a consumer
subscribed to would be replicated on his/her desktop. This solution
would spread the replication load to a large number of servers, each
handling a smaller amount of traffic. However, each server would now
have to manage replication for a large number
of external consumers as well as internal group members. There is no
easy way to distribute this replication load to the consumer's
computer. Second, subject databases do not allow the consumer to
control and filter the incoming communications from
providers. Consumers must still scan the databases for items of
interest. Providers could overcome this by creating a subject database
for each interest topic, but the additional administrative and server
replication overhead would strongly discourage
this. Third, because notification of new information is handled via a
separate application, e-mail, the consumer is forced to coordinate
notification and data storage/response among two communications
systems. Fourth, since subject databases are
replicated from the servers, they do not give consumers an easy way to
copy or transfer them to other consumers. Finally, because the entire
system depends on server-based replication, administrative changes or
reconfigurations of these servers such as
system name or address changes require administrative updates to all
subscribing consumers, a job which consumers must handle manually.
Consequently, a need exists for a communications control
system which allows providers and consumers to quickly and easily
establish an automated communications relationship; which automatically
updates both parties with changes in communications
control data from the other; which works with all communications
networks shared by the provider and consumer; which allows both parties
to automatically control, filter, store, index, and process
communications from the other; which allows both
providers and consumers to share many common communications services;
and which allows both parties to easily manage, copy, transfer, and
terminate the communications relationship."
I am filing this entry in the
Reference Library to this blog.
Article originally appeared on The @WholeChainCom Blog (http://www.pardalis.com/).
See website for complete article licensing information.