US Patent 5,862,325: Computer-based communication system and method using metadata defining a control structure (Intermind Corporation)
Title: Computer-based communication system and method using metadata defining a control structure
Patent Number: US Patent 5,862,325
Issued: January 19, 1999
Filed: September 27, 1996
Parent case: This application is a continuation-in-part of co-pending application Ser.
No. 08/609,115, filed Feb. 29, 1996, now US Patent 6,044,205 (Intermind Corporation).
Inventor(s): Drummond S. Reed et al.
Assignee: Intermind Corporation
Referenced at issuance: US Patent 5,008,853 (Xerox Corporation) Φ, US Patent 5,220,657 (Xerox Corporation) Φ, US Patent 5,625,818 (Apple Computer, Inc.), US Patent 5,644,764 (Unisys Corporation), US Patent 5,682,532 (Microsoft Corporation), US Patent 5,689,708 (ShowCase Corporation), US Patent 5,706,434 (Electric Classifieds, Inc.), and US Patent 5,721,911 (IBM Corporation).
Referenced after issuance: US Patent 6,421,733 (Intel Corporation) and US Patent 6,988,109 (IO Informatics, Inc.).
Blogger comment:
There were 75 references to prior patents at issuance, including the 8 references identified above. The remaining 67 references are unremarkable for the scope and purposes of this blog.An advanced search at USPTO online on August 12, 2008 for distinguishing references to this patent after its issuance using ref/5,862,325 reveals 448 references. A more refined search reveals the 2 patents identified above.See also The challenges of establishing, maintaining, operating and terminating automated communication relationships between providers and consumers Φ, a journal entry to this blog quoting extensively from the subject patent.
Abstract:
Independent claims (as numbered):
1. A computer-based communication system comprising:
a provider memory storing information including provider information;
a consumer memory storing information including consumer information;
association means for creating metadata associating portions of said information and defining a control structure for processing at least at said consumer memory to associate with said metadata one or more processes for controlling the communication of said associated information, said metadata including update metadata associating a process for determining when said associated information has been updated and transfer metadata associating a process for transferring at least a portion of the updated information;
transfer means for transferring said information, including said metadata defining said control structure, from said provider memory to said consumer memory; and
processing means for processing said metadata to execute instructions external to said control structure to perform said processes.
20. A computer-based communication system comprising:
a provider memory storing information including provider information;
a consumer memory storing information including consumer information;
association means for creating metadata associating portions of said information and defining a control structure for processing at least at said consumer memory to associate with said metadata processes for controlling the communication of said associated information, said metadata including data exchange metadata associating a process for controlling the transfer of feedback information, said feedback information including at least a portion of said consumer information, to said provider memory;
transfer means for transferring said information, including said metadata defining said control structure, from said provider memory to said consumer memory;
feedback transfer means for transferring said feedback information from said consumer memory to said provider memory; and
processing means for executing instructions external to said control structure to perform said processes to control communications of said information.
78. A computer-based communication method, comprising operating one or more computers to communicate by performing the steps of:
in a provider memory, storing information including provider information;
in a consumer memory, storing information including consumer information;
creating metadata describing associations with portions of said information and defining a control structure which is processed at least at said consumer memory to associate one or more processes for controlling communications of said associated information, said metadata including update metadata associating a process for determining when said associated information has been updated and transfer metadata associating a process for transferring at least a portion of the updated information;
transferring said information, including said metadata defining said control structure, from said provider memory to said consumer memory; and
processing said metadata to execute instructions external to said control structure to perform said processes.
109. A computer-based communication method, comprising operating one or more computers to communicate by performing the steps of:
in a provider memory, storing information including provider information;
in a consumer memory, storing information including consumer information;
creating metadata describing associations with portions of said information and defining a control structure which is processed at least at said consumer memory to associate one or more processes for controlling communications of said associated information, said metadata including data exchange metadata associating a process for controlling the transfer of feedback information, said feedback information including at least a portion of said consumer information, to said provider memory;
transferring said information, including said metadata defining said control structure, from said provider memory to said consumer memory;
processing said metadata to execute instructions external to said control structure to perform said processes; and
communicating said feedback information from said consumer memory to said provider memory.
Key Drawing(s):
[Original image modified for size and/or readability]There is illustrated in FIG. 1 a first embodiment of a system of the
present invention which automatically updates a database in a consumer
computer with information from a provider computer. Numerous providers
and consumers exist in the system
of the present invention. However, since all communications can be
separated into transfers between a single provider and consumer, the
design and operation of the system is illustrated with only one
provider and one consumer, except as otherwise noted. As illustrated in
FIG. 1, a provider computer 1 includes a provider database 11 of
communications control information which it desires to disseminate or
make accessible to one or more consumers. A consumer computer 2
includes a consumer database 21 of
communications control information received from providers and stored
by the consumer. The organization, structure, and content of the
provider database 11 and consumer database 21 are discussed below. The
provider computer 1 is connected through a
communications network 3 to the consumer computer 2. Any communications
network 3 may be used to connect the provider computer 1 and the
consumer computer 2, including direct network connections, server-based
environments, telephone networks, the
Internet, intranets, local area networks (LANS), wide area networks
(WANS), the World Wide Web, other webs, and even transfers of data on
physical media such as disks or computer-readable paper outputs via
postal communications networks. The particulars
of the communications network illustrated as preferred embodiments are
not limiting features of the invention. However, the Internet and World
Wide Web provide existing capabilities between computers sufficient to
provide the necessary connections. For
this reason, the description of the present invention is based on this
communications medium, which should be understood to be used for
purpose of illustration only. Organization and operation of the
Internet and communications over the Internet are
discussed generally in Kris Jamsa and Ken Cope, Internet Programming
(1995) and Marshall T. Rose, The Internet Message: Closing the Book
with Electronic Mail (1993), which are incorporated herein by
reference. Communications over the World Wide Web are
discussed generally in John December and Neil Randall, The World Wide
Web Unleashed (1996), which is incorporated herein by reference.
Additionally, the illustrated embodiment is not limited to the specific
networks known as the "Internet" and "World
Wide Web", but relate to internet, intranet and web networks generally.
A specific feature of this invention is that it is easily adaptable to
control and automate communications via any type of communications
network. In addition, it can select a
preferred communications network and message encoding format to be used
for a specific communications transaction, as further described below.
As illustrated in FIG. 1, there are two principal methods for
information transfer in a data communications system, both of which can
operate through the Internet. First, a "pushing" method transfers
information from the provider computer 1
directly to a known consumer computer 2. An example of such a system is
e-mail. So long as the consumer's address is known, the information can
be routed through the communications network directly to that
recipient. For the pushing method, the
provider must know the consumers who want to receive the information.
The provider must also know how to address those recipients in the
communications network.
The second method, referred to as "pulling", occurs when the
consumer computer 2 requests and initiates a transfer of information
directly from a provider computer 1 or from another server computer 32
located on communications network 3 on which
a copy of the information has been placed for distribution. An example
of such a distribution server 32 is when a copy of the information is
placed on a web server and accessed by the consumer computer 2. In the
pulling method, the provider and the
provider computer 1 or distribution server 32 do not need to know ab
initio, the identity or location of consumer computers 2. Rather, the
consumer computer needs to know the location of the provider computer 1
or distribution server 32 and the location
of the desired information to be accessed on such computers.
Basic Operation of Programs for Communications
Appropriate programs executing on the provider computer 1 and
the consumer computer 2 perform the functions necessary to transfer,
maintain, and update the information at both locations. A program
represents a set of stored instructions which
are executed in a processor of the computer to process data, transmit
and receive data, and produce displays. The provider program 12
operates to transmit changes in information stored in the provider
database 11 at the provider computer 1. When
changes are made to the information and the database, the provider
program 12 operates to disseminate the changed information through the
communications network 3. In the pushing method, the provider program
12 transmits the changed information, for
example through e-mail, to the consumer computers 2 of all intended
recipients. In the pulling method, the changed information is stored on
a distribution server 32, such as a web server, which then can be
accessed by the consumer computer 2. Any type
of distribution server may be used, including network file servers, FTP
servers, gopher servers, and so on. The type of distribution server
used is not a limiting feature of the invention. The consumer program
22 will typically poll the distribution
server 32 to determine whether the information has changed. This
polling operation can be as simple as issuing a Web server HTTP file
date request and comparing this with the file date of the last update.
Polling is controlled by the information
transferred from the provider program to the consumer program as
further described below. Upon receipt of changed information, the
consumer program 22 operates to perform certain functions with regard
to that changed information. Principally, the
information is stored in consumer database 21 on the consumer computer
2 for future reference and usage in controlling and automating
communications between the consumer and provider. Furthermore, the
information may be presented to a user at the
consumer location, so that the user will be notified of the changed
information. The information can be presented in a number of manners,
including display or printing by the consumer program, sending an
e-mail or voice-mail message to the user, paging
the user, and other notification methods.
Since the provider knows what the changed information is and
how consumers would likely prefer to be notified of the changed
information, the transmitted information can include instructions on
how the consumer program 22 should process the
information for purposes of notification. For example, information from
a provider may include the provider's telephone number. If the
telephone number changes, the provider needs to supply everyone with
whom it does business with the new number. The
present invention provides a simple mechanism for carrying out such a
data transfer, and of controlling which consumers receive overt
notification. When the telephone number is changed in the distribution
database at the provider computer 1, the
information is transferred to the consumer computer 2, through either
the push or pull method. Upon receipt, the consumer program 22 will
process the changed information and store the new telephone number in
the consumer database 21 for later access by
the user or by other programs operating on the consumer's computer 2.
At the consumer computer 2, the consumer may or may not be interested
in overt notification of the new phone number; this depends on the
consumer's relationship with the provider and
how often and in what manner the consumer makes use of the phone
number. This invention provides a way for notification to be
cooperatively controlled by both the provider and consumer through the
use of notification elements, which are described below.
Additionally, receipt and storage of the new or updated
information can trigger other actions, such as automatically forwarding
the information to another consumer, exchanging data with the consumer
database 21, sending an automated response to
the provider, or sending a message to another software program on the
consumer's desktop. Again, this invention provides a means for such
actions to be cooperatively controlled by both the provider and the
consumer through the use of receipt methods,
which are discussed below.
The information stored in the consumer database 21 can also
include data, metadata, and instructions to be used by the consumer
program 22 for controlling and automating communications between the
provider and consumer. Again, because the
provider of the information knows what communications response options
are available to the consumers of the information, the provider can
include the necessary data, metadata, and instructions to simplify and
automate specific responses from the
consumer to the provider. For example, the provider can include Web URL
(Uniform Resource Locator) links to Web pages or forms on the
provider's Web server. Or, the provider can also include special forms
to be processed by the consumer program 22 that
allow the consumer to automatically or semi-automatically transfer data
from the consumer database 21 back to the provider. Examples include
product order forms, survey forms, customer service request forms,
scheduling forms, etc.
In the most general case, the provider knows what
communications networks, network addresses, languages, encoding
formats, data structures, and other communications processing data and
methods are supported by the provider. Thus, the provider
can include in the transferred information the data, metadata, and
instructions necessary to control and coordinate general communications
from the consumer to the provider or to parties related to the
provider. For example, data, metadata and
instructions in the transferred information can be used by the consumer
program 22 or other computer programs running on the consumer computer
2 to automatically format, compress, encrypt, address, and transmit
copies of a word processing document,
spreadsheet, database or database query, or other computer file format.
Corresponding data, metadata, and instructions in the provider program
12 can control and automate the reception of the received message,
including decryption, decompression,
notification of the provider, and acknowledgment of receipt to the
consumer. The same control technique can be applied to the execution of
real-time communications, such as telephone calls, videoconferencing,
or whiteboard applications.
[Original image modified for size and/or readability]
Banking on Granular Information Ownership
Scientific American: Can You Spare Some DNA?
In an aside to Traces of a Distant Past published in the July, 2008 issue of the Scientific American, author and Senior Editor, Gary Stix wrote:
"No matter what assurances are given, some groups will be reluctant to yield a cheek swab or blood sample. Investigators in this field may never achieve their goal of obtaining a set of samples that fully reflects every subtle gradation of human genetic diversity."
See specifically the side comment entitled Can You Spare Some DNA? at the top of page 8, below.
I've e-mailed the following to Gary Stix.
From: "Steve Holcombe"
Sent: Sunday, August 17, 2008 12:02 PM
To: editors@sciam.com
Subject: For GaryStix re "Can You Spare Some DNA"
Gary,
You emphasize a very important point in this sub-article.
Would you have interest in an article exploring the movement from a documents web (the current web) to that of a data web (Web 3.0, semantic web)?
With the movement toward a data web there will be greater opportunities for 'data ownership' as defined by the actual information producers. The emergence of a data web should provide opportunities for ameliorating resistance to the sharing of genetic bio-material by empowering those who provide their genetic heritage with more direct, technological oversight and control over how the derived information is used, who uses, when they use it, etc.
I'm not saying that all American indigenous tribes would jump on the band wagon in providing their genetic material and information. That is, most people put their money in banks but there will always be a few who only put their money under their mattress, right? But there are technological means arising within the context of a data web that are specifically designed to address personal and societal fear factors that you well point out.
Hope to hear back from you.
Best regards,
Steve
It will be interesting to see if I receive a response from Gary Stix.
The explosive demand for providing global data access and integrated business solutions
The following quoted text (indented at the bullet) is taken from the statement of prior art in US Patent 6,988,109 entitled System, method, software architecture, and business model for an intelligent object based information technology platform and filed in 2001 by IO Informatics, Inc.
- As demand for Information Technology (IT) software and hardware to
provide global data access and integrated business solutions has
exploded, significant challenges have become evident. A central problem
poses access, integration, and
utilization of large amounts of new and valuable information generated
in each of the major industries. Lack of unified, global, real-time
data access and analysis is detrimental to crucial business processes,
which include new product discovery,
product development, decision-making, product testing and validation,
and product time-to-market.
With the completion of the sequence of the human genome and the continued effort in understanding protein expression in the life sciences, a wealth of new genes are being discovered that will have potential as targets for therapeutic intervention. As a result of this new information, however, Biotech and Pharmaceutical companies are drowning in a flood of data. In the Life Sciences alone, approximately 1 Terabyte of data is generated per company and day, of which currently the vast majority is unutilized for several reasons.
First, data are contained in diversified system environments using different formats, heterogeneous databases and have been analyzed using different applications. These applications may each apply different processing to those data. Competitive software, based on proprietary platforms for network and applications analysis, have utilized data platform technologies such as SQL with open database connectivity (ODBC), component object model (COM), Object Linking and Embedding (OLE) and/or proprietary applications for analysis as evidenced in patents from such companies as Sybase, Kodak, IBM, and Cellomics in U.S. Pat. Nos. 6,161,148, 6,132,969, 5,989,835, 5,784,294, for data management and analysis, each of which patents are hereby incorporated by reference. Because of this diversity, despite the fact, that the seamless integration of public, legacy and new data is crucial to efficient drug discovery and life science research, current data mining tools cannot handle all data simultaneously. There is a significant lack of data handling methods, which can utilize these data in a secure, manageable way. The shortcomings of these technologies are evident within heterogeneous software and hardware environments with global data resources. Despite the fact that the seamless integration of public, legacy and new data is crucial to efficient research (particularly in the life sciences), product discovery (such as for example drug, or treatment regime discovery) and distribution, current data mining tools cannot handle or validate all diverse data simultaneously.
Second, with the expansion of high numbers of dense data in a global environment, user queries often require costly massive parallel or other supercomputer-oriented processing in the form of mainframe computers and/or cluster servers with various types of network integration software pieced together for translation and access functionality as evidenced by such companies as NetGenics, IBM and ChannelPoint in U.S. Pat. Nos. 6,125,383[,] 6,078,924, 6,141,660, 6,148,298, each of which patents are herein incorporated by reference--(e.g. Java, CORBA, "wrapping", XML) and networked supercomputing hardware as evidenced by such companies as IBM, Compaq and others in patents such as for example U.S. Pat. Nos. 6,041,398, 5,842,031, each of which is hereby incorporated by reference. Even with these expensive software and hardware infrastructures, significant time-delays in result generation remain the norm.
Third, in part due to the flood of data and for other reasons as well, there is a significant redundancy within the data, making queries more time consuming and less efficient in their results.
Fourth, an additional consideration, which is prohibitive to change towards a more homogenous infrastructure, is cost. The cost to bring legacy systems up to date, to retool a company's Intranet based software systems, to carry out analysis with existing tools, or even to add new applications can be very expensive. Conventional practices require retooling and/or translating at application and hardware layers, as evidenced by such companies as Unisys and IBM in U.S. Pat Nos. 6,038,393, 5,634,015.
Because of the constraints outlined above, it is nearly impossible to extract useful, relevant information from the entity of data within reasonable computing time and efforts. For this reason, the development of architecture to overcome these obstacles is needed.
These are not the only limitations. With the advent of distinct differentiations in the field of genomics, proteomics, bioinformatics and the need for informed decision making in the life sciences, the state of object data is crucial for their overall validation and weight in complex, multi-disciplinary queries. This is even more important due to inter-dependencies of a variety of data at different states. Furthermore, because biological data describe a "snapshot" of complex processes at a defined state of the organism, data obtained at any time refer to this unique phase of metabolism. In order to account for meaningful comparison, thus, only data in similar states can be utilized. Therefore, there is a growing need for a object data state processing engine, which allows to continuously monitor, govern, validate and update the data state based on any activities of intelligent molecular objects in real-time.
Data translation processes between different data types are time-consuming and require provision of information on data structure and dependencies, in spite of advances in information technology. These processes, although available and used, have a number of shortcomings. Data contained in diversified system environments may use different formats, heterogeneous databases and different applications, each of which may apply different processing to those data. Because of that, despite the fact that the seamless integration of public, legacy and new data is crucial to efficient drug discovery and life science research, several different applications and/or components have to be designed in order to translate each of those data sets correctly. These require significant effort and resources in both, software development and data processing. With the advent of distinct differentiations in the field of genomics, proteomics, bioinformatics and the need for informed decision making in the life sciences, access to all data is crucial for overall validation and weight in complex, multi-disciplinary queries. This is even more important due to inter-dependencies of a variety of data at different states. The current individual data translation approach does not support these needs. Because biological data describe a "snapshot" of complex processes at a defined state of the organism, data obtained at any time refer to this unique phase of metabolism. In order to account for meaningful comparison, thus, only data in similar states can be utilized. The latter requires real-time processing and automated, instant data translation of data from different sources. Therefore, there is a growing need for an object data translation engine, which allows for bi-directional translation of multidimensional data from various sources into intelligent molecular objects in real-time.
The flood of new and legacy data results in a significant redundancy within the data making queries more time consuming and less efficient in their results. There is a lack of defined sets of user interaction and environment definition protocols, which are needed to provide means for intelligent data mining and optimization in result validation towards real solutions and answers. An additional consideration, which is prohibitive to change towards a more homogeneous infrastructure is the missing of object representation definition protocols to prepare and present data objects for interaction within heterogeneous environments. Lastly, data currently are interacted with and presented in diverse user interfaces with dedicated, unique features and protocols preventing universal, unified user access. Thus, a homogeneous, unified presentation such as a web-enabled graphical user interface which integrates components from diverse applications and laboratory systems environments is highly desirable, but currently non-existent for objects in real-time.
Because of these constraints, it is nearly impossible to extract useful, relevant information from the entity of data within reasonable computing time and efforts. For this reason, the development of an architecture and unifying user interface to overcome these obstacles is needed.
The drive towards peer-to-peer mass communications
The following quoted text (indented at the bullet) is taken from the statement of prior art in US Patent 5,706,434 entitled Integrated request-response system and method generating responses to request objects formatted according to various communication protocols and filed in 1995 by Electric Classifieds, Inc.
- Open Systems Interconnection (OSI) Communications Model
As will be appreciated by those skilled in the art, communication networks and their operations can be described according to the Open Systems Interconnection (OSI) model. This model includes seven layers: an application, presentation, session, transport, network, link, and physical layer. The OSI model was developed by the International Organization for Standardization (ISO) and is described in "The Basics Book of OSI and Network Management" by Motorola Codex from Addison-Wesley Publishing Company, Inc., 1993 (First Printing September 1992).
Each layer of the OSI model performs a specific data communications task, a service to and for the layer that precedes it (e.g., the network layer provides a service for the transport layer). The process can be likened to placing a letter in a series of envelopes before it's sent through the postal system. Each succeeding envelope adds another layer of processing or overhead information necessary to process the transaction. Together, all the envelopes help make sure the letter gets to the right address and that the message received is identical to the message sent. Once the entire package is received at its destination, the envelopes are opened one by one until the letter itself emerges exactly as written.
In a data communication transaction, however, each end user is unaware of the envelopes, which perform their functions transparently. For example, an automatic bank teller transaction can be tracked through the multilayer OSI system. One multiple layer system (Open System A) provides an application layer that is an interface to a person attempting a transaction, while the other multiple layer system (Open System B) provides an application layer that interfaces with applications software in a bank's host computer. The corresponding layers in Open Systems A and B are called peer layers and communicate through peer protocols. These peer protocols provide communication support for a user's application, performing transaction related tasks such as debiting an account, dispensing currency, or crediting an account.
Actual data flow between the two open systems (Open System A and Open System B), however, is from top to bottom in one open system (Open System A, the source), across the communications line, and then from bottom to top in the other open system (Open System B, the destination). Each time that user application data passes downward from one layer to the next layer in the same system more processing information is added. When that information is removed and processed by the peer layer in the other system, it causes various tasks (error correction, flow control, etc.) to be performed.
The ISO has specifically defined all seven layers, which are summarized below in the order in which the data actually flows as they leave the source:
Layer 7, the application layer, provides for a user application (such as getting money from an automatic bank teller machine) to interface with the OSI application layer. That OSI application layer has a corresponding peer layer in the other open system, the bank's host computer.
Layer 6, the presentation layer, makes sure the user information (a request for $50 in cash to be debited from your checking account) is in a format (i.e., syntax or sequence of ones and zeros) the destination open system can understand.
Layer 5, the session layer, provides synchronization control of data between the open systems (i.e., makes sure the bit configurations that pass through layer 5 at the source are the same as those that pass through layer 5 at the destination).
Layer 4, the transport layer [also known as the Transmission Control Protocol (TCP) layer], ensures that an end-to-end connection has been established between the two open systems and is often reliable (i.g., layer 4 at the destination "confirms the request for a connection," so to speak, that it has received from layer 4 at the source).
Layer 3, the network layer [also known as the Internet Protocol (IP) layer], provides routing and relaying of data through the network (among other things, at layer 3 on the outbound side an "address" gets slapped on the "envelope" which is then read by layer 3 at the destination).
Layer 2, the data link layer, includes flow control of data as messages pass down through this layer in one open system and up through the peer layer in the other open system.
Layer 1, the physical interface layer, includes the ways in which data communications equipment is connected mechanically and electrically, and the means by which the data moves across those physical connections from layer 1 at the source to layer 1 at the destination.
The particular focus of the following discussion is on media access control (MAC) for communication networks which is performed in the OSI network and data link layers. It will be appreciated by those skilled in the art that various applications and components operating in the other OSI layers may be interchangeably used with the particular MAC described below so long as these applications and components adhere to the OSI design structures. For example, many different OSI physical layer components (e.g., a parallel bus, a serial bus, or a time-slotted channel) can be used in conjunction with the same MAC so long as each of the OSI physical layer components passes the particular information required by OSI design parameters to the OSI data link layer.
Standard Data Communication Network Protocols
Standard data communication network protocols, such as that which is described above, offer new abilities and corresponding technological problems. Standard network protocols suites such as the Transmission Control Protocol/Internet Protocol suite (TCP/IP) allow for the easy creation of transport-layer protocols. These transport protocols and accompanying data languages allow for a diverse set of client applications which communicate using them. This ability to support a diverse client base is a boon to the commercial and mainstream potential of data communications networks because diversity is a necessary condition for a product in the marketplace. Diversity, in some cases being helpful, can also be a problem. The main problem with the diverse client base is that not every client knows every version of every protocol or every dialect of every data language. Thus, coordination between a server and these clients can be a difficult problem. Electronic mail (email) on the Internet, for example, uses Simple Mail Transport Protocol (SMTP) and adheres to the Request for Comments 822 (RFC822) message standard.
Common email clients for the Internet are Udora, Elm, PINE, PRODIGY Mail, and AMERICA ONLINE Mail. The protocols and languages used are all generally the same email clients. However, each client has different properties and capabilities which make the general process of creating and serving objects via email difficult. For example, email clients differ in how wide each line of a message may be (email messages used by the PRODIGY e-mail client are 60 characters wide, whereas those used by the AMERICA ONLINE email client are 49). They also differ in terms of what extensions they support--some email clients support the Multipurpose Internet Mail Extensions (MIME), but most do not. Similarly, the World Wide Web (WWW), an internet-distributed hypermedia (text, image, sound, video) network, primarily uses Hypertext Transfer Protocol (HTTP) and Hypertext Markup Language (HTML) for its communication.
The WWW has the same problem as email with regard to clients. There exist different versions of HTTP and different dialects of HTML, and most clients do not know all of them. For example, Netscape Communications Corporation has put forth its own extensions to HTML for features such as background images behind text and centered text. These features are not official industry standards but are becoming just as good in the sense that they are de facto standards. Another problem of the easy creation of new transport-layer protocols is that new transport-layer protocols and data languages (either standard or custom) continue materializing. These protocols and languages either solve new communications problems (such as HTTP and HTML enhancing the Internet with hypermedia), or better solve older ones (e.g., Sun Microsystems' new HOT JAVA extensions to HTML and the JAVA programming language promise to be the next best feature for the WWW).
The Importance of an Integrated System
With the diversity of data communication protocols and languages, there is a tendency for engineers to try to build a system for each of the many protocols and languages, rather than to build a single system to address all of them. This is because in a certain sense it is easier to write an individual system with a more limited domain than an integrated system with a more expanded domain; one does not have to expend the effort necessary to abstract out the common features across a diverse set. However, it is very expensive to maintain many individual systems and usually much cheaper to maintain a single integrated system. Also, it is much more difficult to maintain feature parity and share data between many individual systems as opposed to within an integrated system. An additional benefit of an integrated system would be that, because the step has already been taken to abstract out common features of various protocols and languages, it is much easier to adapt to newer ones, which will most likely be abstractly similar enough to the older ones to allow for easy integration.
Two-Way Communication and the Drive Towards Peer-To-Peer Mass Communications
New communication models emerging from usage of data communications networks such as the Internet are causing changes in the relationship between data producers and data consumers. It used to be that with the one-to-many, one-way model of television and radio, content was produced by a small elite of entertainer-business persons and was consumed by the masses. The two-way nature of data communications networks, however, allows for the more intimate participation of the consumer. Even to the point of blurring the distinction between consumer and producer: because of the ability to participate, the old consumer can now be both a consumer and a producer on networks such as the Internet. Relationships on data communications networks are much flatter and more egalitarian in the sense that each participant is a peer (both a producer and consumer). One important outgrowth of this elevated status of the individual on a data communications network is that the individual now demands more personalized attention. For example, if a peer provides another with knowledge about him or herself (e.g., geographic location, gender, age, interests), then he or she expects that responses should take this knowledge into account. A peer can no longer be treated like a demographic average as in the world of television and radio.
The Technological Problems in Need of Solution
Given these new data communications networks and their technological and social implications, it is evident that new systems should provide solutions, for example, to the following problem: How does one design an integrated system that uses multiple protocols and data languages and serves data in a way that takes advantage of knowledge about clients and users?
Description of the Prior Art
The ability to create and serve objects has been around ever since the birth of the client/server model. Also, the notion of providing services to general users through data communications networks has been around at least since the early days of VideoTex. However, this technology was limited and was more focused on building specialized VideoTex terminals that fit some particular mold required by particular servers (see, for example, U.S. Pat. No. 4,805,119) rather than being focused on making servers be flexible in handling a variety of client types. This is probably due to the fact that work on VideoTex was done by individuals with the television frame of mind--content would be created in a central way and then broadcast to the masses. The cultural importance of peer-to-peer communications was not fully recognized at that time.
Integrated services platforms have been developed for telephone networks (see, for example, U.S. Pat. No. 5,193,110) but still only focus on telephone calls (essentially a single protocol as opposed to many). In recent years, a number of online service providers--the Prodigy Service Company, America Online, CompuServe, and others--have developed their own means to create and serve objects in a similar vein. Technologically, these companies are not all that different from the older VideoTex companies. They require users to obtain custom software clients which speak custom protocols in order to interact with their servers, even if their software can be used on different personal computers to make their services personal computer-independent (see, for example, U.S. Pat. No. 5,347,632). Because of these custom clients and protocols, these services are mutually incompatible.
What is not addressed by services like these is the growing usage of standard communication protocols and languages (like SMTP, HTTP, and HTML) in providing services to standard clients. Ultimately, this usage of proprietary clients and protocols leads to self-destruction in a marketplace which demands standardization, decentralized control, and diversity. With regard to the personalization of service, attention has lately been paid to the need to support customized content to clients, such as customized television commercials (see, for example, U.S. Pat. No. 5,319,455). But one can see limitations in the philosophy of this work in that clients are still seen as "viewers" in a one-way communications model, rather than as participants in a two-way model. Also, technologies have been developed to abstract data and present it in dynamic ways based upon user parameters (see, for example, U.S. Pat. Nos. 5,165,030 and 4,969,093). However, this effort has not been focused on protocol-independence and language-independence of this abstracted data.[emphasis added]
I am filing this entry in the Reference Library to this blog.

