|
|
|
| United States Patent | 5594910 |
| Link to this page | http://www.wikipatents.com/5594910.html |
| Inventor(s) | Filepp; Robert (Springfield, NJ);
Gordon; Michael L. (Dobbs Ferry, NY);
Bidwell; Alexander W. (New York, NY);
Young; Francis C. (Pearl River, NY);
Wolf; Allan M. (Ridgefield, CT);
Meo; Sam (New York, NY);
Tiemann; Duane (Ossining, NY);
Abrahams; Lawrence (Hastings-on-Hudson, NY);
Silfen; Michael J. (Croton-on-Hudson, NY);
Dalsass; Aldo R. (Oakland, NJ);
Lee; Florence M. (Stamford, CT);
Appleman; Kenneth H. (White Plains, NY) |
| Abstract | A distributed processing, interactive computer network and method of
operation is described. The network is designed to provide very large
numbers of simultaneous users access to large numbers of applications
which feature interactive text/graphic sessions. The network includes one
or more host computers having application data stores; a plurality of
concentrator computers, also including application data stores, the
concentrator computers being connected in groups of one of more to each of
the host computers; and a plurality of reception system computers
connected in groups of one or more to each of the concentrator computers,
the reception system computers being arranged so that respective users can
request interactive applications at the reception system computers. In
accordance with the design, the reception system computers also include
application data stores. The method for operating the network includes
steps for generating the interactive text/graphic sessions from objects
that include data and/or program instructions. Additionally, the method
features steps for distributing objects among the data stores of the
network computers, and, thereafter, permitting the reception system
computer at which an application is requested to selectively collect
objects required for the application from the network and the respective
reception system so that the requested application may be presented at the
reception system based on the objects collected. This operation decreases
processing demand on the higher-level network elements, permitting them to
function primarily as data supply and maintenance resources, thereby
reducing network complexity, cost and response time. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5594910 |
|
|
Interactive computer network and method of operation |
|
| Inventor |
Filepp; Robert (Springfield, NJ);
Gordon; Michael L. (Dobbs Ferry, NY);
Bidwell; Alexander W. (New York, NY);
Young; Francis C. (Pearl River, NY);
Wolf; Allan M. (Ridgefield, CT);
Meo; Sam (New York, NY);
Tiemann; Duane (Ossining, NY);
Abrahams; Lawrence (Hastings-on-Hudson, NY);
Silfen; Michael J. (Croton-on-Hudson, NY);
Dalsass; Aldo R. (Oakland, NJ);
Lee; Florence M. (Stamford, CT);
Appleman; Kenneth H. (White Plains, NY) |
|
|
|
| Publication Date |
January 14, 1997 |
|
|
|
|
|
| Filing Date |
November 26, 1993 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
RELATED APPLICATIONS
This is a division of application Ser. No. 388,156 filed Jul. 28, 1989,
which issued Sep. 13, 1994, as U.S. Pat. No. 5,347,632, application Ser.
No. 388,156 being a continuation in part of application Ser. No. 328,790,
filed Mar. 23, 1989, which itself was a continuation in part of
application Ser. No. 219,931, filed Jul. 15, 1988. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of Use
This invention relates generally to a distributed processing, interactive
computer network intended to provide very large numbers of simultaneous
users; e.g. millions, with access to an interactive service having large
numbers; e.g., thousands, of applications which include pre-created,
interactive text/graphic sessions; and more particularly, to a computer
network in which the interactive text/graphic sessions are comprised of
pre-created blocks of data and program instructions which may be
distributed downwardly in the network for execution at software-enhanced
user terminals that decrease processing demand on the higher-level network
elements, thus permitting the higher-level elements to function primarily
as data supply and maintenance resource and, thereby, reduce network
complexity, cost and response time.
2. Prior Art
Interactive computer networks are not new. Traditionally they have included
conventional, hierarchical architectures wherein a central, host computer
responds to the information requests of multiple users. An illustration
would be a time-sharing network in which multiple users, each at a remote
terminal, log onto a host that provides data and software resource for
sequentially receiving user data processing requests, executing them and
supplying responses back to the users.
While such networks have been successful in making the processing power of
large computers available to many users, problems have existed with them.
For example, in such networks, the host has been required to satisfy all
the user data processing requests. As a result, processing bottle-necks
arise at the host that cause network slowdowns and compel expansion in
computing resources; i.e., bigger and more complex computer facilities,
where response times are sought to be held low in the face of increasing
user populations.
Host size and complexity, however, are liabilities for interactive networks
recently introduced to offer large numbers of the public access to
transactional services such as home shopping, banking, and investment
maintenance, as well as informational services concerning entertainment,
business and personal matters.
As can be appreciated, commercial interactive networks must provide
interesting and desirable transactional and informational services at low
cost and with minimal response times in order to be successful. As a
result, unlike military and governmental networks where, because of the
compulsory nature of the service performed, costs and content are of
secondary concern, in commercial services, the network capital and
maintenance expenses must be kept low in order to make the network
affordable and, the content maintained interesting to attract both users
who would subscribe to the network and merchandisers who would rely on the
service as a channel of distribution for their good and services. Further,
in addition, to maintaining capital and operating costs low, and quality
of content high, it is also essential that network response time be kept
to a minimum in order to not only capture and hold the user's attention,
but also, quickly free the network to satisfy the requests of other users.
Accordingly, and as will be appreciated, the ability of the network to
satisfy large numbers of user requests with minimal resources is
fundamental to the ultimate success of a commercial, interactive network.
While conventional, previously known time-sharing network designs have
attempted to alleviate host complexity and response time problems by
providing some processing at the user site; i.e., "smart terminals",
still, the storage of the principal data and software resources needed for
processing applications at the host continues to create a burden on
network complexity and response time which renders the conventional
approach unsuited for the large numbers of users contemplated for a
commercially viable interactive, informational and transactional network.
SUMMARY OF INVENTION
Accordingly, it is an object of this invention to provide method and
apparatus which permit a very large number of users to obtain access to a
large number of applications which include interactive text/graphic
sessions that have been created to enable the users to obtain
informational and transactional services.
It is a further object of this invention to provide method and apparatus
which permit the data and program instructions necessary to support
applications sessions to be distributed over a computer network.
It is still a further object of this invention to provide method and
apparatus that would permit a user to access informational and
transactional services available over an electronic gateway.
It is yet a further object of this invention to provide method and
apparatus which permit the data and program instructions necessary to
support applications sessions to be updated while at the user cites.
It is another object of this invention to provide method and apparatus that
would permit informational and transactional services to be provided to
users based upon predetermined parameters such as user demographics and/or
locale.
It is yet another object of the invention to provide method and apparatus
capable of collecting data regarding usage of the network and applications
and to condition distribution in the network of data for supporting
applications on user reaction to the applications.
Briefly, to achieve the above and other objects and features, the invention
includes method and apparatus for operating an interactive network that
includes a multiplicity of computer-based user reception systems at which
respective users can request applications that include informational and
transactional services. In preferred form, the method aspect of the
invention includes steps for organizing the applications into objects that
collectively include data and executable program instructions for
generating the applications, as well as steps for distributing selected
objects within the network in accordance with a predetermined plan based
on the likelihood a user will request a particular application. Further,
in preferred form, the method includes steps for supplying objects to a
reception system requesting an application to enable the requesting
reception system to selectively collect objects required for the
application from the network and the requesting reception system so that
the requested application may be presented based on the objects collected.
Further, in the apparatus aspect of the invention, the network in the
preferred form includes one or more host computers, a plurality of
concentrator computers connected in groups of one or more to each of the
host computers, and a plurality of reception system computers connected in
groups of one or more to each of the concentrator computers, the reception
system computers being configured to permit respective users to enter
requests for interactive applications. Additionally, the method aspect of
operating the preferred form of the network apparatus includes steps for
establishing data stores at the host computers, the concentrator computers
and the reception system computers the data stores being substantially the
same in form and, thereafter, distributing application data to data stores
maintained, respectively, at the host computers, the concentrator
computers and the reception system computers in accordance with a
predetermined plan designed to reduce the time required to present a
requested application.
Still further, the method aspect of operating the preferred form of the
network apparatus includes supplying application data to a reception
system computer requesting an application so that the requesting reception
system computer can assemble the data which makes up the requested
application by selectively collecting data from its own data store and the
data stores of the respective host computer and concentrator computer to
which it is connected.
Further, in preferred form, the method aspect of the invention, features
use, of specially structured messages that harmonize and facilitate
communications between the different elements of the network and computing
elements external to the network that may be called upon to supply
information to support the applications.
Also in preferred form, the method aspect of the invention features
specially prepared program instructions within the objects that permit the
objects to be executed at the reception system in conjunction with the
application software.
DESCRIPTION OF THE DRAWINGS
The above and further objects, features and advantages of the invention
will become clear from the following more detailed description when read
with reference to the accompanying drawings in which:
FIG. 1 a block diagram of the interactive computer network in accordance
with the invention;
FIG. 2 is a schematic diagram of the network illustrated in FIG. 1;
FIGS. 3a and 3b are plan views of a display screen presented to a user in
accordance with the invention;
FIGS. 4a, 4b, 4c and 4d are schematic drawings that illustrate the
structure of objects, and object segments utilized within the interactive
network in accordance with the invention;
FIG. 5a is a schematic diagram that illustrates the configuration of the
page template object in accordance with the invention;
FIG. 5b is a schematic diagram that illustrates page composition in
accordance with the invention;
FIG. 6 is a schematic diagram that illustrates the protocol used by the
reception system to support user applications in accordance with the
invention;
FIG. 7 is a schematic diagram that illustrates major layers of the
reception system in accordance with the invention;
FIG. 8 is a block diagram that illustrates native code modules of the
reception system in accordance with the invention;
FIG. 9 is a schematic diagram that illustrates an example of a partitioned
application to be processed by the reception system in accordance with the
invention;
FIG. 10 illustrates generation of a page with a page processing table in
accordance with the invention; and
FIG. 11 is a flow diagram for an aspect of the navigation method in
accordance with the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
GENERAL SYSTEM DESCRIPTION
With reference to FIGS. 1 and 2, the invention features a network 10
including a plurality of reception units within reception layer 401 for
displaying information and providing transactional services. In this
arrangement, many users each access network 10 with a conventional
personal computer; e.g., one of the IBM or IBM-compatible type, which has
been provided with application software in accordance with a preferred
form of the invention to constitute a reception system (RS) 400.
As shown in FIG. 1, interactive network 10 uses a layered structure that
includes an information layer 100, a switch/file server layer 200, and
cache/concentrator layer 300 as well as reception layer 401. This
structure maintains active application databases and delivers requested
parts of the databases on demand to the plurality of RSs 400, shown in
FIG. 2. As seen in FIG. 2, cache/concentrator layer 300 includes a
plurality of cache/concentrator units 302, each of which serve a plurality
of RS 400 units over lines 301. Additionally, switch/file server layer 200
is seen to include a server unit 205 connected to multiple
cache/concentrator units 302 over lines 201. Still further, server unit
205 is seen to be connected to information layer 100 and its various
elements, which act as means for producing, supplying and maintaining the
network databases and other information necessary to support network 10.
Continuing, switch/filer layer 200 is also seen to include gateway systems
210 connected to server 205. Gateways 210 couple layer 200 to other
sources of information and data; e.g., other computer systems. As will be
appreciated by those skilled in the art, layer 200, like layers 401 and
300 could also include multiple servers, gateways and information layers
in the event even larger numbers of users were sought to be served.
Continuing with reference to FIG. 2, in preferred form, each RS 400 is seen
to include a personal computer 405 having a CPU 410 including a
microprocessor (as for example the type made by INTEL Corporation in its
X'86 family of microprocessors), companion RAM and ROM memory and other
associated elements, monitor 412 with screen 414 and a keyboard 424.
Further, personal computer 405 may also include one or two floppy disk
drives 416 for receiving diskettes 426 containing application software in
accordance with this invention for supporting the interactive sessions
with network 10 and diskettes 428 containing operating systems software;
e.g., MS-DOS, suitable for the personal computer 405 being used. Personal
computer 405 may also include a hard-disk drive 420 for storing the
application software and operating system software which may be
transferred from diskettes 426 and 428 respectfully.
Once so configured, each RS 400 provides: a common interface to other
elements of interactive computer network 10; a common environment for
application processing; and a common protocol for user application
conversation which is independent of the personal computer brand used. RS
400 thus constitutes a universal terminal for which only one version of
all applications on network 10 need be prepared, thereby rendering the
applications interpretable by a variety of brands of personal computers of
the IBM or IBM-compatible type.
RS 400 formulated in this fashion is capable of communication with the host
system to receive information containing either of two types of data,
namely objects and messages. Objects have a uniform, self-defining format
known to RS 400, and include data types, such as interpretable programs
and presentation data for display at monitor screen 414 of the user's
personal computer. Applications presented at RS 400 are partitioned into
objects which represent the minimal units available from the higher levels
of interactive network 10 or RS 400. In this arrangement, each application
partition typically represents one screen or a partial screen of
information, including fields filled with data used in transactions with
network 10. Each such screen, commonly called a page, is represented by
its parts and is described in a page template object, discussed below.
Applications, having been partitioned into minimal units, are available
from higher elements of network 10 or RS 400, and are retrieved on demand
by RS 400 for interpretive execution. Thus, not all partitions of a
partitioned application need be resident at RS 400 to process a selected
partition, thereby raising the storage efficiency of the user's RS 400 and
minimizing response time. Each application partition is an independent,
self-contained unit and can operate correctly by itself. Each partition
may refer to other partitions either statically or dynamically. Static
references are built into the partitioned application, while dynamic
references are created from the execution of program logic using a set of
parameters, such as user demographics or locale. Partitions may be chosen
as part of the RS processing in response to user created events, or by
selecting a key word of the partitioned application (e.g., "JUMP" or
"INDEX," discussed below), which provides random access to all services
represented by partitioned applications having key words.
Objects provide a means of packaging and distributing partitioned
applications. As noted, objects make up one or more partitioned
applications, and are retrieved on demand by a user's RS 400 for
interpretive execution and selective storage. All objects are interpreted
by RS 400, thereby enabling applications to be developed independently of
the personal computer brand used.
Objects may be nested within one another or referenced by an object
identifier (object-id) from within their data structure. References to
objects permit the size of objects to be minimized. Further, the time
required to display a page is minimized when referenced objects are stored
locally at RS 400 (which storage is determined by prior usage meeting
certain retention criteria), or have been pre-fetched, or in fact, are
already used for the current page.
Objects carry application program instructions and/or information for
display at monitor screen 414 of RS 400. Application program objects,
called pre-processors and post-processors, set up the environment for the
user's interaction with network 10 and respond to events created when the
user inputs information at keyboard 424 of RS 400. Such events typically
trigger a program object to be processed, causing one of the following:
sending of transactional information to the co-applications in one layer
of the network 10; the receiving of information for use in programs or for
presentation in application-dependent fields on monitor screen 414; or the
requesting of a new objects to be processed by RS 400. Such objects may be
part of the same application or a completely new application.
The RS 400 supports a protocol by which the user and the partitioned
applications communicate. All partitioned applications are designed
knowing that this protocol will be supported in RS 400. Hence, replication
of the protocol in each partitioned application is avoided, thereby
minimizing the size of the partitioned application.
RS 400 includes a means to communicate with network 10 to retrieve objects
in response to events occurring at RS 400 and to send and receive
messages.
RS 400 includes a means to selectively store objects according to a
predetermined storage criterion, thus enabling frequently used objects to
be stored locally at the RS, and causing infrequently used objects to
forfeit their local storage location. The currency of objects stored
locally at the RS 400 is verified before use according to the object's
storage control parameters and the storage criterion in use for version
checking.
Selective storage tailors the contents of the RS 400 memory to contain
objects representing all or significant parts of partitioned applications
favored by the user. Because selective storage of objects is local,
response time is reduced for those partitioned applications that the user
accesses most frequently.
Since much of the application processing formerly done by a host computer
in previously known time-sharing networks is now performed at the user's
RS 400, the higher elements of network 10, particularly layer 200, have as
their primary functions the routing of messages, serving of objects, and
line concentration. The narrowed functional load of the higher network
elements permits many more users to be serviced within the same bounds of
computer power and I/O capability of conventional host-centered
architectures.
Network 10 provides information on a wide variety of topics, including, but
not limited to news, industry, financial needs, hobbies and cultural
interests. Network 10 thus eliminates the need to consult multiple
information sources, giving users an efficient and timesaving overview of
subjects that interest them.
The transactional features of interactive network 10 saves the user time,
money, and frustration by reducing time spent traveling, standing in line,
and communicating with sales personnel. The user may, through RS 400,
bank, send and receive messages, review advertising, place orders for
merchandise, and perform other transactions.
In the preferred embodiment, network 10 provides information and
transaction processing services for a large number of users simultaneously
accessing the network via the public switched telephone network (PSTN),
broadcast, and/or other media with their RS 400 units. Services available
to the user include display of information such as movie reviews, the
latest news, airlines reservations, the purchase of items such as retail
merchandise and groceries, and quotes and buy/sell orders for stocks and
bonds. Network 10 provides an environment in which a user, via RS 400
establishes a session with the network and accesses a large number of
services. These services are specifically constructed applications which
as noted are partitioned so they may be distributed without undue
transmission time, and may be processed and selectively stored on a user's
RS 400 unit.
SYSTEM CONFIGURATION
As shown in FIG. 1, in preferred form interactive computer network 10
includes four layers: information layer 100, switch and file server layer
200, concentrator layer 300, and reception layer 401.
Information layer 100 handles: (1) the production, storage and
dissemination of data and (2) the collection and off-line processing of
such data from each RS session with the network 10 so as to permit the
targeting of information to be presented to users and for traditional
business support.
Switch and file server layer 200 and cache/concentrator layer 300 together
constitute a delivery system 20 which delivers requested data to the RSs
400 of reception layer 401 and routes data entered by the user or
collected at RSs 400 to the proper application in network 10. With
reference to FIG. 2, the information used in a RS 400 either resides
locally at the RS 400, or is available on demand from the
cache/concentrator 300 or the file server 205, via the gateway 210, which
may be coupled to external providers, or is available from information
layer 100.
There are two types of information in the network 10 which are utilized by
the RS 400: objects and messages.
Objects include the information requested and utilized by the RS 400 to
permit a user to select specific parts of applications, control the flow
of information relating to the applications, and to supply information to
the network. Objects are self-describing structures organized in
accordance with a specific data object architecture, described below.
Objects are used to package presentation data and program instructions
required to support the partitioned applications of a RS 400. Objects are
distributed on demand throughout interactive network 10. Objects may
contain: control information; program instructions to set up an
application processing environment and to process user or network created
events; information about what is to be displayed and how it is to be
displayed; references to programs to be interpretively executed; and
references to other objects, which may be called based upon certain
conditions or the occurrence of certain events at the user's personal
computer, resulting in the selection and retrieval of other partitioned
applications packaged as objects.
Messages are information provided by the user or the network and are used
in fields defined within the constructs of an object, and are seen on the
user's RS monitor 412, or are used for data processing at RS 400.
Additionally, and as more fully described hereafter, messages are the
primary means for communication within and without the network. The format
of messages is application dependent. If the message is input by the user,
it is formatted by the partitioned application currently being processed
on RS 400. Likewise, and with reference to FIG. 2, if the data are
provided from a co-application database residing in delivery system 20, or
accessed via gateway 210 or high function system 110 within the
information layer 100, the partitioned application currently being
processed on RS 400 causes the message data to be displayed in fields on
the user's display monitor as defined by the particular partitioned
application.
All active objects reside in file server 205. Inactive objects or objects
in preparation reside in producer system 120. Objects recently introduced
into delivery system 20 from the producer system 20 will be available from
file server 205, but may not be available on cache/concentrator 302 to
which the user's RS 400 has dialed. If such objects are requested by the
RS 400, the cache/concentrator 302 automatically requests the object from
file server 205. The requested object is routed back to the requesting
cache/concentrator 302, which automatically routes it to the
communications line on which the request was originally made, from which
it is received by the RS 400.
The RS 400 is the point of application session control because it has the
ability to select and randomly access objects representing all or part of
partitioned applications and their data. RS 400 processes objects
according to information contained therein and events created by the user
on personal computer 405.
Applications on network 10 act in concert with the distributed partitioned
applications running on RS 400. Partitioned applications constructed as
groups of objects and are distributed on demand to a user's RS 400. An
application partition represents the minimum amount of information and
program logic needed to present a page or window, i.e. portion of a page
presented to the user, perform transactions with the interactive network
10, and perform traditional data processing operations, as required,
including selecting another partitioned application to be processed upon a
user generated completion event for the current partitioned application.
Objects representing all or part of partitioned applications may be stored
in a user's RS 400 if the objects meet certain criteria, such as being
non-volatile, non-critical to network integrity, or if they are critical
to ensuring reasonable response time. Such objects are either provided on
diskettes 426 together with RS 400 system software used during the
installation procedure or they are automatically requested by RS 400 when
the user makes selections requiring objects not present in RS 400. In the
latter case, RS 400 requests from cache/concentrator layer 300 only the
objects necessary to execute the desired partitioned application.
Reception system application software 426 in preferred form is provided for
IBM and IBM-compatible brands of personal computers 405, and all
partitioned applications are constructed according to a single
architecture which each such RS 400 supports. With reference to FIG. 2, to
access network 10, a user preferably has a personal computer 405 with at
least 512K RAM and a single disk drive 416. The user typically accesses
network 10 using a 1,200 or 2,400 bps modem (not shown). To initiate a
session with network 10, objects representing the logon application are
retrieved from the user's personal diskette, including the R.S.
application software, which was previously set up during standard
installation and enrollment procedures with network 10. Once communication
between RS 400 and cache/concentrator layer 300 has been established, the
user begins a standard logon procedure by inputting a personal entry code.
Once the logon procedure is complete, the user can begin to access various
desired services (i.e., partitioned applications) which provide display of
requested information and/or transaction operations.
APPLICATIONS AND PAGES
Applications, i.e. information events, are composed of a sequence of one or
more pages opened at screen 414 of monitor 412. This is better seen with
reference to FIGS. 3a and 3b were a page 255 is illustrated as might
appear at screen 414 of monitor 412. With reference to FIG. 3a, each page
255 is formatted with a service interface having page partitions 250, 260,
280, and 290 (not to be confused with application partitions). Window page
partitions 275, well known in the art, are also available and are opened
and closed conditionally on page 255 upon the occurrence of an event
specified in the application being run. Each page partition 250, 260, 280,
and 290 and window 275 is made up of a page element which define the
content of the partition or window.
Each page 255 includes: a header page partition 250, which has a page
element associated with it and which typically conveys information on the
page's topic or sponsor; one or more body page partitions 260 and window
page partitions 275, each of which is associated with a page element which
as noted gives the informational and transactional content of the page.
For example, a page element may contain presentation data selected as a
menu option in the previous page, and/or may contain prompts to which a
user responds in pre-defined fields to execute transactions. As
illustrated in FIG. 3b, the page element associated with body page
partition 260 includes display fields 270, 271, 272. A window page
partition 275 seen in FIG. 3a represents the same informational and
transactional capability as a body partition, except greater flexibility
is provided for its location and size.
Continuing with reference to FIG. 3a, advertising 280 provided over network
10, like page elements, also include information for display on page 255,
and may be included in any partition of a page. Advertising 280 may be
presented to the user on an individualized basis from queues of
advertising that are constructed off-line by business system 130, and sent
to file server 205 where they are accessible to each RS 400.
Individualized queues of advertising are constructed based upon data
collected on the partitioned applications that were accessed by a user,
and upon events the user generated in response to applications. The data
are collected and reported by RS 400 to a data collection co-application
in file server 205 for later transmission to business system 130. In
addition to application access and use characteristics, a variety of other
parameters, such as user demographics or postal ZIP code, may be used as
targeting criteria. From such data, queues of advertising are constructed
that are targeted to either individual users or to sets of users who fall
into certain groups according such parameters. Stated otherwise, the
advertising presented is individualized to the respective users based on
characterizations of the respective users as defined by the interaction
history with the serv | | |