Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
5113496
McCalley , ; et al.
May 12, 1992
Title
Bus interconnection structure with redundancy linking plurality of groups of processors, with servers for each group mounted on chassis
Abstract
An interactive system for the transmission of media presentations has an interchassis communications system capable of quickly transmitting large amounts of data between its components. High efficiency of transmission is achieved by providing an industry standard interface for various types of chassis and processors forming the system. The processors and their interfaces used to transmit data within the system are interconnected so as to allow completion of the transmission of data between any two points within the system by no more than three hops between chassis.
Inventors:
McCalley; Karl W.
(South Barrington,
IL
)
, Wilson; Steven D.
(Chicago,
IL
)
, Szeplaki; Victor J.
(East Dundee,
IL
)
Appl. No.:
320502
Filed:
March 8, 1989
Current U.S. Class:
710/305
714/4
340/2.1
Field of Search:
364/2MSFile,9MSFile 340/825.01,825.03,825.47,825.52 371/8.2,11.2 361/394,399
U.S. Patent Documents
3746780
July 1973
Stetten et al.
3909512
September 1975
Omori et al.
4008369
February 1977
Theurer et al.
4028733
June 1977
Ulicki
4073368
February 1978
Mustapick
4120003
October 1978
Mitchell et al.
4148070
April 1979
Taylor et al.
4254473
March 1981
Galdun et al.
4264924
April 1981
Freeman
4264925
April 1981
Freeman et al.
4295154
October 1981
Hata et al.
4381522
April 1983
Lambert
4417276
November 1983
Bennett et al.
4439784
March 1984
Furukawa et al.
4450477
May 1984
Lovett
4450481
May 1984
Dickinson
4504927
March 1985
Callan
4538176
August 1985
Nakajima et al.
4547851
October 1985
Kurland
4553222
November 1985
Kurland et al.
4555781
November 1985
Baldry et al.
4734764
March 1988
Pocock et al.
4819159
April 1989
Shipley et al.
4875037
October 1989
Escolar
4882702
November 1989
Struger et al.
4897874
January 1990
Lidinsky et al.
4918588
April 1990
Barrett et al.
4918589
April 1990
Floro et al.
4974144
November 1990
Long et al.
4994963
February 1991
Rorden et al.
Foreign Patent Documents
1112380
Nov., 1981
CA
1152206
Aug., 1983
CA
2062419
May., 1981
GB
Primary Examiner:
Lee; Thomas C.
Assistant Examiner:
Kim; Ken S.
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATION
This application is a division of co-pending application Ser. No. 271,086, filed Nov. 14, 1988, and entitled "AN INTERACTIVE MULTIMEDIA PRESENTATION AND COMMUNICATIONS SYSTEM" which itself is a continuation-in-part of application Ser. No. 081,189, filed Aug. 4, 1987, now U.S. Pat. No. 4,792,849.
Claims
What is claimed is:
1. An interchassis communications system which minimizes the number of interconnections while also minimizing the number of hops required to communicate data between any two processors of a plurality of processors contained in a plurality of chassis, said plurality of chassis including a plurality of first groups each having a maximum number of chassis, and a second group having one or more chassis, said interchassis communications system comprising:
(a) first means for communicating data between processors located on the same chassis,
(b) second means for interconnecting the chassis within each of the first groups to each other and to one of the chassis in the second group for communicating data therebetween, and
(c) third means for interconnecting, in a point-to-point two terminal manner, each of said chassis of said second group to every other chassis of said second group for communicating data therebetween, said system thereby communicating data between any two processors of said system in no more than three hops.
2. The interchassis communications system of claim 1 wherein said first means comprises an intrachassis data bus.
3. The interchassis communications system of claim 2 wherein said interchassis data bus is located on a common backplane of each chassis.
4. The interchassis communications system of claim 2 wherein said intrachassis data bus is an industry standard Multibus II data bus.
5. The interchassis communications system of claim 1 wherein said second means includes:
a) at least one communications server located on each of said plurality of chassis, said communications server communicating via said first means with processors on the same chassis; and
b) a data bus connecting said communications servers of said first group to a communications server of a chassis in said second group, for communicating data therebetween.
6. The interchassis communications system of claim 5 wherein each of said first groups has no more than seven chassis, and wherein each data bus of said plurality of data buses comprises an industry standard Small Computer System Interface (SCSI) data bus.
7. The interchassis communications system of claim 1 wherein said second means includes:
a) two or more communications servers located on each of said plurality of chassis, said communications servers communicating via said first means with processors on the same chassis; and
b) a plurality of data buses, two or more of which are connected to said communication servers of each of said first groups, each data bus connected between said first group and a different chassis of said second group, thereby providing redundancy in the communications pathways.
8. The interchassis communications system of claim 6 wherein each of said first groups has no more than seven chassis, and wherein each data bus of said plurality of data buses comprises an industry standard Small Computer System Interface (SCSI) data bus.
9. The interchassis communications system of claim 1 wherein said third means comprises a second plurality of data buses for interconnecting in a point-to-point two terminal manner each of said chassis of said second group to every other chassis of said second group.
10. The interchassis communications system of claim 9 wherein each data bus of said second plurality of data buses further comprises an industry standard Small Computer System Interface (SCSI) data bus.
11. The interchassis communications system of claim 1 wherein processors which require large quantities of data from other processors of said system are positioned in chassis of said second group, thereby being able to obtain said large quantities of data from said other processors in no more than two hops.
12. An interchassis communications system which minimizes the number of interconnections while also minimizing the number of hops required to communicate data between any two processors of a plurality of processors contained in a plurality of chassis, said plurality of chassis including a plurality of first groups, each of said first groups having a maximum number of chassis, and a second group having one or more chassis, said interchassis communications system comprising:
(a) an intrachassis data bus located on each chassis for communicating data between processors on the same chassis;
(b) a communications server located on each chassis of said plurality of first groups, said communications server connected via said intrachassis data bus to other processors on the same chassis;
(c) one or more communications servers located on each chassis of said second group;
(d) a first plurality of data buses, each of said first groups having one of said first plurality of data buses interconnecting said communications servers on each chassis within a first group to each other and to a communications server on a chassis in said second group to communicate data therebetween; and
(e) a second plurality of data buses, each connecting a communications server on said chassis comprising said second group in a point-to-point two terminal manner to a communications server on every other chassis of said second group for communicating data therebetween, said system thereby communicating data between any two processors of said system in no more than three hops.
13. The interchassis communications system of claim 12, which further comprises:
(a) a second of said communication servers located on each chassis of said plurality of first groups; and
(b) a third plurality of data buses, each of said first groups having one of said third plurality of data buses interconnecting said second of said communications servers on each chassis within said first group to each other and to a communications server on a chassis in said second group which is not connected by one of said first plurality of data buses to said first group, thereby providing redundant communications pathways.
14. The interchassis communications system of claim 12 wherein processors which require large quantities of data from other processors of said system are positioned in chassis of said second group, thereby being able to obtain said large quantities of data from said other processors in no more than two hops.
15. In an interactive multimedia presentation and communications system having one or more local operating centers for preparing, storing and processing data for transmission to a plurality of subscribers, each of said local operating centers including a plurality of processors contained in a plurality of chassis, said plurality of chassis including a plurality of first groups each having one or more chassis, an interchassis communications system which minimizes the number of chassis interconnections while also minimizing the number of hops required to communicate data between any two processors of said plurality of processors, said interchassis communications system comprising;
(a) an intrachassis data bus located on each chassis for communicating data between processors on the same chassis;
(b) a communications server located on each chassis of said plurality of first groups, said communications server connected via said intrachassis data bus to other processors on the same chassis;
(c) one or more communications servers located on each chassis of said second group;
(d) a first plurality of data buses, each of said first groups having one of said first plurality of data buses interconnecting said communications servers on each chassis within a first group to each other and to a communications server on a chassis in said second group to communicate data therebetween; and
(e) a second plurality of data buses, each connecting a communications server on said chassis comprising said second group in a point-to-point two terminal manner to communications servers on every other chassis of said second group for communicating data therebetween, said interchassis communication system thereby communicating data between any two processors of said interactive multimedia presentation and communications system in no more than three hops.
16. The interchassis communications system of claim 15 which further comprises:
(a) a second of said communications servers located on each chassis of said plurality of first groups; and
(b) a third plurality of data buses, each of said first groups having one of said third plurality of data buses interconnecting said second of said communications servers on each chassis within said first group to each other and to a communications server on a chassis in said second group which is not connected by one of said first plurality of data buses to said first group, thereby providing redundant communications pathways.
17. The interchassis communications system of claim 15 wherein processors which require large quantities of data from other processors of said system are positioned in chassis of said second group, thereby being able to obtain said large quantities of data from said other processors in no more than two hops.
18. The interchassis communications system of claim 17, wherein said processors which require large quantities of data are one or more channel servers which obtain data for transmission to said plurality of subscribers.
19. A method for communicating data between any two processors of a plurality of processors contained in a plurality of chassis, said method minimizing the number of interconnections while also minimizing the number of hops required for communicating said data, said method comprising the steps of:
(a) dividing said plurality of chassis into a plurality of first groups, each of said first groups having a maximum number of chassis, and a second group having one or more chassis;
(b) providing an intrachassis data bus on each chassis for communicating data between processors on the same chassis;
(c) providing a communications server on each chassis of said plurality of first groups, said communications server connected via said intrachassis data bus to other processors on the same chassis and further connected to a data bus;
(d) providing one or more communications servers on each chassis of said second group;
(e) providing each of said first groups with a data bus which interconnects said communications servers on each chassis within a first group to each other and to a communications server on a chassis in said second group to communicate data therebetween;
(f) providing a second plurality of data buses, each of which connects a communications server on a chassis of said second group in a point-to-point two terminal manner to a communications server on every other chassis of said second group for communicating data therebetween, and communicating data between any two processors in said system in no more than three hops.
20. The method of claim 19, wherein processors which require large quantities of data from other processors of said system are positioned in chassis of said second group, thereby being able to obtain said large quantities of data from said other processors in no more than two hops.
Description
FIELD OF THE INVENTION
The present invention relates to an interactive multimedia presentation and communications system which can deliver to a subscriber's television set particular video images depicting information about items of interest which the subscriber has requested, along with accompanying audio commentary or music. In broad terms, a subscriber who uses the system (generally transmitted on cable TV) tunes his TV set to a predetermined channel, telephones a local number, follows log-on instructions given over the telephone, and then uses the Touch-Tone keypad of his telephone to navigate through an electronic information system which displays multimedia presentations in the form of video images and accompanying audio on various items selected by the subscriber. The invention relates to the apparatus and means by which these presentations are selectively transmitted to particular subscribers, and not to the specific subject matter described in the presentations.
In particular, this type of interactive multimedia presentation and communications system is well suited, though not at all limited, to providing the functions and capabilities of an electronic shopping mall. In this context, a subscriber generally sees video images and hears an audio commentary about shopping products he has chosen to look at and possibly purchase. In addition to audio commentary, background music and other general information may be available. Limited forms of motion video which may include short sequences of panning, zooming, and live motion are also provided. Thus, the system permits a shopper, in the comfort of his home, to browse through an "electronic mall" of different shops, obtain detailed information on particular items, and make purchases. More particularly, this invention relates to and describes an interactive multimedia presentation and communications system ("IMPACS"), in which all the video and audio information is stored, processed and transmitted to the locality of the subscriber in digital form.
BACKGROUND OF THE INVENTION
Home shopping by use of the television has been growing in popularity in recent years. Generally, home shopping channels are transmitted on a community antenna television (CATV) facility. The CATV facility, which has the capacity for transmitting a large number of commercial and public television signals, is usually connected to homes via a network of coaxial cables. In most of the home shopping systems being offered to date, subscribers passively view the home shopping channel, watch items and pricing being presented by television sales people, and if interested in a particular item, place an order over the telephone or by mail. Similarly, televised real estate offerings which present still-video pictures and information about homes for sale in a particular area are also becoming a popular method of communicating such information to a mass audience. These systems are non-interactive, in the sense that a viewer may passively watch items as they are presented on the television screen, but cannot control the course of the presentation.
More advanced interactive systems have been designed and implemented, wherein viewers are able to request a display of particular items in which they have an interest, and can control their information retrieval or perform individualized shopping as they proceed. A system of this sort is described in U.S. Pat. No. 4,734,764, entitled "Cable Television System Selectively Distributing Pre-Recorded Video and Audio Messages". This prior art invention describes a system which conveys still-frame television-quality video with overlaid graphics information and an audio message (when appropriate), to a multiplicity of CATV subscribers who tune to a specific cable channel. The subscriber, by use of a Touch-Tone telephone, transmits particular codes in response to message prompts which are displayed in menu form on the TV screen, and is able to request video displays and information on specific products as well as make purchases. The user of this system requires no additional equipment at his location other than a Touch-Tone telephone and a television set.
In order to interactively operate this type of prior art system, a subscriber tunes to the CATV channel which is being used for transmission, and dials a telephone number to gain access to the system. Each subscriber is given a particular identification number upon subscribing to the service. When this identifying number is entered via the Touch-Tone telephone keypad, the system recognizes the subscriber and his location. Graphic overlays which depict menus and directories of "electronic stores" that are on the system are then displayed, and by responding to these menus with a sequence of keystrokes on the Touch-Tone telephone keypad, the subscriber may, by means of selected video images, enter and browse through a particular store of his choice (or follow other shopping paradigms such as going down a particular aisle in a supermarket), select a particular product of interest, make purchases or request additional information or help. By selecting from a list of menu prompts which are displayed on the television screen, and which the subscriber enters on the Touch-Tone keypad, his television screen displays still-frame video, having overlaid graphics where appropriate, and possibly accompanied by a sound track that presents information about the requested item.
This prior art system uses a CATV cable network to transmit the requested video presentations and accompanying audio messages to its subscribers. In conventional television transmission, video images are transmitted at the rate of 30 frames per second (the North American or Japanese standard), or 25 frames per second (the European standard). A video frame is an interleaved composition of two video fields, with each video field being further composed of a plurality of scan lines which contain the video image information and a smaller plurality of scan lines referred to as the "vertical blanking interval". The interactive system described in U.S. Pat. No. 4,734,764 makes use of the vertical blanking interval (which consists of the first 21
lines of the video field) to store information which identifies the particular subscriber's reception device to which the requested video images and audio commentary are addressed. The control center of the CATV system (the CATV headend) transmits the frames of video and audio data, with this addressing information encoded in the vertical blanking interval, along the main "trunk" coaxial cables of the system in analog form. In order to compensate for signal losses which naturally occur as a result of transmission, CATV cable systems utilize amplifiers positioned at various locations downstream from the control center. At each of these locations, the signals from the control center are amplified and further transmitted down a plurality of secondary distribution cables. At points along the secondary distribution cables are "taps", at which the signals are split into a plurality of "drop" cables which terminate at subscriber's television sets.
To accommodate a large number of concurrent subscribers, the interactive system described in U.S. Pat. No. 4,734,764 utilizes a reception device known as a frame store unit, or "frame grabber", typically located near each amplifier of the distribution system. Each frame store unit services a small number of cable drops, and functions to capture the information that is destined for a subscriber whose particular identification code, encoded in the vertical blanking interval, matches an identification code associated with the frame store unit. The video and audio information is transmitted to the frame store unit on two separate channels. The frame store unit captures the analog video and audio information which has the appropriate address encoded in the vertical blanking interval of the frames and stores the information into its memory. The frame store unit then replays the stored video information 30 times per second (according to the U.S. National Television Standards Committee (NTSC) requirement), and transmits the video along with any accompanying audio message to the particular subscriber that it is servicing.
In the prior art system of U.S. Pat. No. 4,734,764, which has been briefly described above, the video and audio presentation which comprises a particular merchandise offering by a commercial client, must first be prepared and encoded onto conventional laser video discs. A plurality of conventional video disc players at the central system site comprise the data storage and playback portion of a subsystem which transmits the appropriate video and audio information in analog form, under control of a central processing unit. The video information is time-multiplexed in the proper sequence, and the audio is appropriately modulated and frequency-division multiplexed for transmission down the CATV cable network.
Numerous problems and limitations are associated with this type of "analog" interactive system, even though the small amount of data that is generated may be transmitted with a link having much less bandwidth. First, a large number of video disc players are required, making the physical size of the electronics for this prior art system cumbersome. Adding to this cost is the utilization of a full bandwidth telephone link for each connection between a subscriber and the host computer of the system, even though the small amount of data that is generated may be transmitted with a link having much less bandwidth. Second, the response time between a subscriber entering a particular code on the telephone keypad and the appearance of a display in response to that code is too slow to establish a comfortable interactive session. The response time in the analog system is limited primarily by the time it takes the video disc player to access a particular location on the disc and can be on the order of several seconds. The slow response time may be exacerbated by the graphics overlay process, in which a graphics decoder receives graphics information that is associated with a particular video frame from the central processing unit, generates the appropriate graphics display data and routes this data to a video combiner. The video combiner must first receive the video frame from the video player and then overlay the graphics information onto the frame.
Further, in the prior art analog system, the audio information is stored on the video disc in the electronic format of a video frame, each frame holding a maximum of ten seconds of audio. This imposes a costly buffering requirement needed to accommodate longer segments of audio during playback. In many cases, this time limitation is too restrictive for practical use. In other cases it is wasteful of space.
An additional limitation arises from the choice of a laser disc as the storage medium for the video and audio data. A commercial client who desires to market his merchandise or services on the interactive system of the prior art must undertake a lengthy premastering procedure, required to convert his advertising material (possibly in the format of catalog photographs, video tape information, etc.) into a format which can be encoded onto a video disc master. Multiple copies of the master disc must then be made so that each video disc player in the system can have a copy of the information when it is called upon to deliver a particular presentation to a subscriber. This premastering and duplication process is a time-consuming, linear and batch-oriented procedure, generally taking up to 10 weeks from initial setup to final product. The process provides no mechanism for making minor modifications to audio or video images at a later date. If changes are required, a new video disc must be mastered and reproduced. Thus, no reusable archiving is possible.
The prior art analog system is structured with an overly complicated pathway between the subscriber and host computer system which does not generate adequate feedback to either the subscriber or the system. For example, when a subscriber enters a particular sequence of keystrokes, he has no acknowledgment that the sequence has been properly received by the system. Similarly, the system has no feedback that a subscriber has received whatever was transmitted to him. Further, when help from a consumer service representative is requested by a subscriber, the consumer service representative can hear what the subscriber is saying over the telephone, but cannot see what is being displayed on the subscriber's TV screen.
Another important drawback of the prior art system is the manner in which the analog data is distributed from the system to the CATV center and the subscribers. The cost of transmitting data from the host computer to the CATV is expensive and the prior art system makes sub-optimal use of the distribution channel capacity. In the prior art system, the video information is time-multiplexed onto one distribution channel while the audio is frequency-division multiplexed onto another distribution channel. Thus, the CATV headend must allocate two distribution channels to the system. Not only are these channels costly to acquire, but many CATV companies may not have enough channel capacity for all their users, and from a business perspective, may be hesitant to sell more than one channel to a single user.
Finally, the prior art system has problems which are fundamentally related to the storing, copying and transmission of data in analog form. Analog signals are more prone to degradation by noise sources that generally arise in any electronic system. Degradation of analog signals as they are transmitted down the long lengths of coaxial line which comprise the transmission network of the CATV system is inevitable. Additionally, the maximum signal-to-noise of the video signals which are attainable at the output of a video disc player is much lower than the noise figure for studio quality video broadcast. This adds to the degradation in quality of the final video images seen by the subscriber.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a new and improved digital interactive multimedia presentation and communications system for interactively distributing information to subscribers via television.
It is a further object of the present invention to overcome the deficiences of the prior art analog system described above, by providing a digital interactive multimedia presentation and communications system in which all relevant data, from inception to final presentation, is processed, stored, and distributed in digital form, thereby permitting accurate reproduction of the original signals.
It is another object of this invention to provide for a digital interactive multimedia presentation and communications system which is considerably more cost effective and physically smaller in size than the prior art analog system described above.
It is yet another object of this invention to provide for a digital interactive multimedia presentation and communications system which responds rapidly to a subscriber's input, and which does not impose severe constraints on the length of audio information which can be transmitted.
It is still another object of the invention to provide for a digital interactive system in which commercial clients have a facility whereby their presentations may be rapidly produced and stored in digital form, thereby obviating the cumbersome premastering and duplication procedure necessary in the prior art analog system.
Another object of this invention is to provide a digital interactive presentation and communications system in which digital mass storage is used for storing and retrieving all relevant data, thereby obviating the need to prepare masters and multiple copies of video discs, as required in the prior art.
It is an additional object of this invention to provide a digital interactive system which more efficiently utilizes the full bandwidth of the telephone connections, so that an inexpensive telephone link can be maintained between subscribers and the system.
A further object of this invention is to provide a digital interactive system wherein appropriate feedback indications are rapidly transmitted between the system and the subscriber, to confirm the integrity of the data transmissions on both ends.
Yet another object of this invention is to provide a digital interactive system which has the capability of displaying parts of a presentation using motion video.
A still further object of this invention is to provide a digital interactive system wherein the communications connections between all the computer processors which comprise the system are designed to permit rapid data transfer between any two processors within the system.
An additional object of the invention is to provide a data transmission means which more efficiently utilizes the available distribution channel capacity to permit many active subscribers to be concurrently supported by the system, and which only requires one distribution channel for transmission of all data to the subscribers.
It is still another object of the invention to provide a digital interactive system which can be readily expanded to encompass multiple operating centers. Now data can be acquired by an operating center by importing and storing data on demand from other operating centers of the system, thus maintaining a simple and inexpensive systems architecture.
It is yet another object of this invention to provide a digital interactive system wherein presentations may be tailored to particular markets, based upon demographic information about the subscribers which is stored on the system.
In general terms, the present invention is directed to an interactive multimedia presentation and communications system which is accessible to a plurality of subscribers, wherein each subscriber may select a particular multimedia presentation for viewing on his television set that is chosen from a plurality of such presentations available on the system. Each of these presentations generally includes a sequence of video images, accompanying audio, and a menu of choices related to the presentation which appears as a graphics overlay. In response to viewing the presentation, the subscriber may make a selection of one of the choices offered in the menu to either perform transactions related to the presentation, or to select yet another particular presentation for viewing on his television set.
The interactive multimedia presentation and communications system of the present invention comprises a computing means for preparing, storing and processing digital data that is related to and representative of the plurality of multimedia presentations and which can perform various transactions. In response to the subscriber's selections, the computing means can either perform chosen transactions, or can retrieve and process digital data related to a particular multimedia presentation that has been chosen. Input means are available to each of the subscribers for communicating their selections to the computing means. Signal transmission means are provided for transmitting digital data between the computing means and a signal processing means. The signal processing means receives, stores and further processes the digital data that is related to a particular multimedia presentation that has been selected by a subscriber, converts the digital data into analog TV signals and then transmits the analog TV signals to the television set of the subscriber who has selected that particular multimedia presentation.
A preferred embodiment of the present invention is directed to a digital interactive multimedia presentation and communications system in which a subscriber enters codes via a standard Touch-Tone telephone keypad in response to menus, graphics, and audio which are presented on a television screen, and by so doing selects a presentation which comprises video images and audio commentary about particular items that are displayed on the TV screen.
The present invention manipulates, processes and transmits all data destined for a particular subscriber in digital format. In order to reach a subscriber's TV set, the digital data is transmitted from a particular local operating center to the CATV company's headend on a high speed digital link comprising a single distribution channel. Transmission of all the digital audio, video, graphic overlay and control information on a single distribution channel results in efficient use of the channel's capacity. At the CATV headend, the data is block converted onto a CATV distribution frequency, and transmitted to a plurality of field devices which are locally distributed throughout the area serviced by the system. These field devices, known as "presentation players", each have their own identification ("ID") number, and can identify and intercept the digital data addressed to them. When a subscriber requests a particular presentation, the interactive system ensures that the particular digital data required to construct that presentation is transmitted to the subscriber's local presentation player. At this local presentation player, the digital data is transformed into an analog format which is compatible with television transmission and playback. The presentation player then transmits the analog information along a short section of cable between the presentation player and the subscriber's television set. Thus, the data, from the time it is produced by the commercial client until it is received at a presentation player is maintained in digital form, thereby ensuring that the integrity and visual quality of the presentations is far superior to that available in the prior art analog system.
In general, and as will be more fully described below, the basic hardware structure of a typical local operating center is comprised of a plurality of single board computers or processors which are installed in a plurality of chassis. A large local operating center may have hundreds of processors which are distributed among many chassis to form a system which can support several thousand concurrently active subscribers. This invention further discloses an interchassis communications system which embodies an interconnection scheme that provides an efficient communications pathway between these processors, so that any processor on any chassis of the system can communicate with any other processor on the system in a manner which minimizes the number of hops (data transfers between two chassis) which are required to move data to any point within the system. In addition, this interchassis communications system uses a scheme which provides high data throughput without incurring high latency effects which often become pronounced when high volumes of data are transferred. In addition, the interchassis communications system described herein can be implemented with a relatively small number of interconnections, and provides good reliablity and efficient utilization of all data pathways.
As shown more particularly below, the interchassis communication system of this invention may best be described by considering the chassis which comprise the local operating center to be arbitrarily divided into a plurality of first groups of chassis, each first group containing a predetermined number of chassis, and a second group of chassis. Communications between processors located on the same chassis is provided by an intrachassis data bus which, in a preferred embodiment, is located on the backplane of each chassis. Each of the first groups has a data bus which links all the chassis within the group to each other and to a chassis in the second group. The second group of chassis are connected in a point-to-point two terminal manner by other data buses, so that each chassis of the second group is directly connected to every other chassis of the second group.
In an alternate embodiment, each of the first groups has two or more data buses which connect to different chassis in the second group. In this manner, if one bus or chassis in the second group fails, a redundant connection is provided so that an alternate communications pathway still exists.
Thus, the interchassis communications scheme provides for a first means for communicating data between processors located on the same chassis, second means for interconnecting the chassis within each of the first groups to each other and to one of the chassis in the second group, and third means for interconnecting in a point-to-point two terminal manner each of the chassis of the second group to every other chassis of the second group. Careful consideration of this interconnection scheme shows that any processor on any chassis of the system can communicate data to any other processor of the system in no more that three hops between chassis. Further, processors located in the second group of chassis can communicate with any other processor of the system in at most two hops. In order to reduce latency and provide for high data throughput, it is desirable that those processors which require large amounts of data from other processors of the system be placed within chassis that form the second group.
BRIEF DESCRIPTIONS OF THE DRAWINGS
For a fuller understanding of the nature and objects of the invention, reference should be made to the following detailed description, as illustrated in the accompanying drawings wherein:
FIG. 1 represents an overview, in schematic form, of the various elements which form the digital interactive multimedia presentation and communications system, and their relationship to each other.
FIG. 2 illustrate a local operating center (LOC) of the digital interactive system, and illustrates the signal pathways between a subscriber, the local operating center, the CATV distribution network, and the presentation player.
FIG. 3 shows, in block diagram form, a 20-slot chassis which holds the single board computers that comprise the local operating center. The different types of peripherals which connect to some of these single board computers are specifically illustrated.
FIG. 4 illustrates the message flow which occurs during the log-on process, and the relationship between the log-on server and other servers which provide the software functions that establish the environment of an electronic shopping mall.
FIG. 5 illustrates the message flow which occurs between the session server and other servers of the system, during a typical shopping session.
FIGS. 6(A), (B) and (C) illustrate the physical layout of the chassis and peripheral equipment within a small local operating center of the system.
FIG. 7 schematically illustrates an intra-LOC communications scheme, wherein chassis are redundantly interconnected by SCSI buses.
FIG. 8 shows an intra-LOC communications scheme which supports a large number of chassis, without redundancy.
FIG. 9 illustrates an intra-LOC communications scheme designed for a local operating center which can service up to three thousand concurrent subscribers.
FIG. 10 illustrates, in block format, the typical data flow from the channel server to the presentation player. More particularly, FIG. 10 schematically illustrates how stream data sources and block data sources are multiplexed prior to transmission to the CATV headend, and how these sources are demultiplexed at the presentation player.
FIG. 11 schematically illustrates the manner in which stream data sources are sequentially passed through the multiplexers, each of which services a plurality of channel servers within the local operating center.
FIG. 12 shows the block data channels and the stream data channels as a function of time, and indicates the framing and multiplexing technique in which stream data channels are interspersed with the block data for transmission along with error correction code to the CATV headend.
FIG. 13 shows the main functional components of the channel multiplexer in block form.
FIG. 14 shows the main functional components of the presentation player.
FIG. 15 illustrates, in block form, the components which comprises the converter of the presentation player.
FIG. 16 illustrates, in block form, the main components of the converter controller subsection of the presentation player.
FIG. 17 shows the format of the channel status message that is transmitted, at regular intervals, by a channel server on its distribution channel.
FIG. 18 illustrates, in block form, the main components which are included in each of the subscriber servers that comprises the presentation player.
FIG. 19 illustrates, in block diagram form, the various types of subscriber servers that can be incorporated in the digital interactive multimedia presentation and communications system.
FIG. 20 illustrates, in block diagram form, the various types of client services servers that can be incorporated in the digital interactive multimedia presentation and communications system.
FIG. 21 illustrates, in block diagram form, the various types of network servers that can be incorporated in the digital interactive multimedia presentation and communications system.
FIG. 22 illustrates, in block diagram form, the various types of systems management and applications servers that can be incorporated in the digital interactive multimedia presentation and communications system.
DECRIPTION OF A PREFERRED EMBODIMENT
It is helpful at this point to define some particular terms used in this disclosure which relate to the presently preferred embodiment of the interactive multimedia presentation and communications system.
1. Data Object: A data object represents the essential unit of information used by the system, and is a generic term for any string of data. The data object string generally includes structural information about itself (e.g. its length and what type of object it is). The largest data objects stored by the system are compressed video images, which may be 20,000-80,000 bytes in length. Keystroke echo characters, sent to the subscriber's TV screen to provide visual feedback of the subscriber's keystroke entries are examples of small data objects, typically only several bytes in length. Other data objects may contain audio data, processing information, e.g. instructions for generating graphics overlays, etc.
2. Script: A script is a data object, generally of several hundred to several thousand bytes in length, which contains information that defines the time sequence for the display of particular video images and audio accompaniment which constitute a presentation. The script is used to not only determine when and for how long video images and audio will be displayed, but also what graphics or text will be overlaid onto the video images. The information in the scripts is utilized to structure a presentation.
The digital interactive system of the present invention, when configured and operated as an electronic shopping system, electronically simulates many aspects of "live" shopping in a mall. Moreover, a number of interesting features not possible in "live" shopping excursions are also provided. For example, the digital interactive system of the present invention permits a commercial client who displays his goods or services in the "electronic" mall to select his viewing audience based upon demographic data which is stored in the system. The demographic data may consist of information which is readily available, e.g. the postal zip code of a subscriber, or may consist of information which the subscriber has volunteered during his initial log-on to the system. Such information may include data of a more personal nature such as ethnic background, earnings capacity, particular interests and hobbies, etc.
This customized "market segment" approach to shopping is useful both to the commercial clients who display their products on the system, and to the subscribers who utilize the system for their shopping. From the perspective of the commercial clients, the market segment capability permits them to tailor and transmit presentations to only that market segment which is believed to be most likely to purchase their products. From the perspective of the subscribers, providing the system with personal data as to hobbies and interests, allows them to view customized presentations which relate to those interests.
The digital interactive system of the present invention is designed to service many subscribers who reside in different geographical locations, and may be incrementally expand into a nationwide network. A plurality of local operating centers service various geographical localities within a region. These local operating centers are linked to each other, and to a regional operating center, via high speed data communications pathways.
A novel design philosophy incorporated into the digital interactive system of the present invention involves the notion of "storage on demand". This capability is important in establishing a system which can easily expand in size and adapt to changing requirements without burdensome external supervision. When a subscriber requests data from his local operating center, the local operating center checks to see whether the requested data are present in local storage, and if not, requests that the data be imported from other local operating centers to which it is connected. If none of the local operating centers which form the regional network have the data, it is imported from the regional operating center, one of whose functions is to store a full set of data for the entire region.
By storing data upon demand from subscribers, the local operating center is assured of always having the most frequently requested data ready for rapid and inexpensive retrieval. When necessary to free up storage capacity, the least frequently used data is deleted from the local operating center. Thus, the notion of "storage on demand" ensures that data in the local operating centers is dynamically optimized over time to be the most often requested data. This is done with minimal human supervision over the data flow. Moreover, as the system expands geographically, and new local operating centers are established, these new centers can automatically acquire the data to service the local subscribers, as needed.
Easy maintenance and expandibility of the system is further assured by a system architecture which embodies the main functionality of the system in a plurality of identical computer processors which operate on an equally ranked basis to provide a powerful and efficient distributed processing capability at each of the operating centers. These processors are loosely coupled to each other in the sense that they communicate with each other to avoid conflicts and share data from a common database, but nevertheless have independently executing processes which establish the environment and provide the different functions required by the system.
The digital interactive multimedia presentation and communications system ("IMPACS") of the present invention is composed of a number of interrelated functional elements depicted in FIG. 1. With reference to that figure, a subscriber to the system, denoted by reference numeral 20, uses a Touch-Tone telephone to communicate with one of a plurality of local access points ("LAP's") 22, which are geographically distributed throughout the region served by the digital interactive system, and are designed to minimize telephone connection charges. The local access points have facilities which decode the standard Dual-Tone Multi-Frequency ("DTMF") signals generated by Touch-Tone keypads and convert these signals into standard ASCII-formatted data packets which can be more readily interpreted by digital systems. In order to reduce telephone costs, many of these small data packets from different active subscribers 20 are combined for transmission via a modem along a single telephone line to a local operating center ("LOC") 24 of the digital interactive multimedia presentation and communications system. Consequently, the number of long distance telephone lines required, and their attendant costs, are kept to a minimum.
The LAP 22 may also be connected to a consumer service center 26, so that when the occasion arises, subscribers 20 who require help with their shopping may talk over the telephone to a consumer service representative. For example, consider the case where a subscriber 20 is shopping for tickets to a particular concert. The system has displayed a seating chart for the auditorium where the concert will be held, and the subscriber 20 has selected a particular seating section. When the subscriber
20 wishes to purchase a ticket, a telephone bridge may be made automatically between the subscriber 20 and a ticket agent, who will receive the call and provide up-to-date ticket availability information to the would-be ticket purchaser. In a preferred embodiment of this invention, the consumer service representative situated at the consumer service center 26 also has a TV set connected to the system, and sees exactly what the subscriber 20 sees on the TV screen.
Another example illustrating the usefulness of the consumer service center 26 occurs when a new subscriber 20 to the home shopping service dials in and begins using the system. If a formal enrollment procedure has not yet been executed by the subscriber 20, the consumer service center 26 will be automatically bridged to the subscriber 20 via LAP 22 so that a formal sign-up can be made wherein certain demographic and credit card information will be solicited from the subscriber 20.
In addition to providing standard shopping presentations consisting of still-video displays and accompanying audio, the digital interactive multimedia presentation and communications system of the present invention provides for a motion video capability. For example, when assistance from the consumer service center 26 is requested by a subscriber, this capability can be used to provide a more "user-friendly" human interface by showing a "live" video image of the consumer service representative in a corner of the television screen.
The local operating center ("LOC") 24 contains the centralized part of the hardware and software elements which are required to service a local community having from several hundred to several thousand concurrent subscribers actively engaged in individual shopping sessions on the system. Information keyed in by a particular subscriber 20 via a Touch-Tone phone is transmitted by the local access point 22 to the LOC 24. LOC 24 searches its local data base for the appropriate video and audio information that is being requested, and transmits this digital data in modulated analog format and in the appropriate sequence along a distribution channel 23 to one of the cable television companies 25 which services subscriber 20. LOC 24 may be connected to a number of different cable television companies 25 which service different geographical regions. These companies remodulate the distribution channel onto transmission frequencies which they have assigned to the digital interactive multimedia presentation and communications system and thus transmit the data to appropriate presentation players 54 which are distributed in the field to service subscribers 20. As will be more fully described herein, each presentation player 54 accepts the digital data which is addressed to it, and processes the data to produce the final presentation. The presentation player 54 further converts the data into a standard television signal format, and transmits the presentation to the TV set of the particular subscriber who has requested the information.
The local operating center 24 typically has a data storage capacity of up to 0.4 terabytes, depending on what is required to contain the data objects necessary to accommodate subscribers who are serviced by that center. The mix of product presentation stored at a given LOC 24 depends upon what subscribers have requested to see and upon what commercial clients wish to have shown to subscribers based upon the subscribers' demographics. The product presentations as well as product data, customer data and software to operate the LOC 24 are generally stored locally within the LOC 24, but if not available, can be obtained from other interconnected LOC's in the system on demand.
Depending upon the size of the subscriber population being served, the digital interactive multimedia presentation and communications system of the present invention may be configured to have multiple LOC's 24, each LOC 24 serving a particular geographical area, and connected to other LOC's 24 in a hierarchical manner so that shopping presentations which are not available at one particular LOC can be acquired upon demand from other LOC's in the system. The digital interactive multimedia presentation and communications system of the present invention is generally further configured to have a regional operating center ("ROC") 28 to which a multiplicity of local operating centers are connected. Typically, one ROC 28 will service approximately 12 LOC's. ROC 28 is operationally similar to LOC's 24, but has additional data storage to store all the possible presentations that are available within the region. The data storage at such a regional operating center will vary up to approximately one terabyte of storage capacity.
A nationwide system in the United States of approximately 60 LOC's and ROC's would be needed to service approximately 20 million subscribers. This integrated system would be able to service 40,000 subscribers concurrently. It would allow any subscriber to have access within less than one second to any one of approximately 800,000 product presentations locally stored at various LOC's, which would typically consist of ten seconds of audio commentary, three video images, and appropriate background music.
The local operating centers 24 and regional operating centers 28 are interconnected by high speed data transmission gateways so that presentations not available within a particular LOC 24 can be imported from another LOC 24 or ROC 28 and stored in the local operating system without significant transmission delay. A response time of 1.5 seconds is provided for non-local presentations which have to be imported from other LOC's 24 or ROC's 28. As storage capacity at a LOC 24 approaches its limit, the least frequently requested presentations are deleted from the LOC 24. By incorporating this kind of "storage on demand" protocol into the system environment, the system automatically ensures that LOC 24 will contain those presentations which have been requested most recently by subscribers 20 within the local geographical area serviced by the LOC 24. Re-allocation of data is performed dynamically as new presentations are added to the system, so that the optimum mix of presentations is always stored within each LOC 24, with minimal human intervention.
Commercial clients who wish to display their goods and services on the digital interactive multimedia presentation and communications system use the store manager facility ("SM") 30, to prepare pictures, text and audio accompaniment for viewing by subscribers 20. In effect, the store manager facility 30 is a production tool with which commercial clients can construct and maintain the presentations depicting their electronic stores. To meet this need, the store manager facility 30 incorporates computer systems which can capture and manipulate video images and audio segments from materials which may originate in any number of different formats (e.g. photographs, drawings, textual material, compact discs, video tape etc.), add information about the products by appropriate graphics overlays, and tailor an appropriate audio accompaniment. Store manager facility 30 provides the commercial client 34 with a flexible way of combining this information, so that a complete presentation may be easily produced, modified, verified for accuracy, and stored in the LOC 24 for viewing by subscriber 20 without undue delay.
In the preferred embodiment, the store manager facility 30 includes a production facility for preparing presentations which can capture and store images in digital form and perform common manipulations on these images, such as shrinking, stretching, rotating, coloring, etc. The digital image can then be compressed in the store manager facility 30 from 500K bytes to about 40K bytes. In addition, the store manager facility 30 has the capability of adding, deleting and concatenating audio segments. The store manager facility 30 is also used to construct appropriate initial scripts and menus. These initial scripts are finalized during the shopping session by utilizing the subscriber's demographic information which is stored within the LOC 24. When the final presentation is composed, it may be previewed by the commercial client 34 in the same manner as it will appear to the subscribers 20. After verification and approval by the commercial client 34, the script, video images, and audio information representing the complete presentation is transmitted in digital form to the mass storage system of the LOC 24, where it is stored for distribution upon request to subscribers 20.
A client network services facility 32 is provided by the digital interactive multimedia presentation and communications system of the present invention to permit information exchange between the system and the commercial clients 34 who have presentations on the system. The information exchange may include lists of product orders which are delivered from the system to the commercial clients for fulfillment, and associated order acknowledgments transmitted back to LOC 24 from the commercial clients 34. The client network services facility 32 provides a way in which order status information used by the system for servicing customer inquiries may be updated. The information exchange also supplies product availability data requested by subscribers 20, and product information which may be used by the LOC 24 to maintain up-to-date product information such as in stock or out-of-stock conditions. Credit authorization and settlement information for credit card purchasers may also be transmitted via this facility.
The digital interactive multimedia presentation and communications system of the present invention fulfills a number of design philosophies and criteria, aimed at successfully serving all the constituencies which transact business on the system. These business constituents include consumers, who are represented by the cable TV subscribers that use the digital interactive multimedia presentation and communications system; commercial clients, whose goods and services are sold through the system; and the CATV companies who provide access to their cable network, and who permit the presentation players to be installed in the field at various locations on the cable network.
From the consumer's perspective, the system provides a number of distinct advantages over prior art systems which are presently available. The present system provides the consumer with fast response time and positive feedback. The response time in most situations is designed to be less than 0.8 seconds for local transactions. Local transactions are those which require no access to data other than what is stored at the local LOC 24 serving the subscriber 20. Transactions requiring access to a remote center, such as another LOC 24 or ROC 28, may take up to one second longer. This time includes approximately 500 milliseconds of propagation delay for satellite transmission. In addition, the subscriber 20 is provided a means for sensing that each of his commands has been received. Input characters corresponding to Touch-Tone input signals may be displayed on the TV screen in a designated location in approximately 100 milliseconds from the time the Touch-Tone key is released. The intent is to provide immediate feedback to the consumer. Erroneous entries can be echoed as a beep, message or other indicator. Further, the architecture of the digital interactive system of the present invention permits a wide breadth of products to be displayed through a friendly and feature-rich user interface, and permits enhanced features to be developed quickly and inexpensively.
The present invention gives commercial clients the ability to design and maintain their "electronic stores" from their own premises. The store manager facility 30 permits the commercial clients to construct, augment, or modify a presentation in such a manner that results can be readily viewed as changes are entered. Further, the present invention has storage means for saving presentation materials in a way which permits these materials to be retrieved, modified, and reactivated at a later date.
From the perspective of the CATV companies, the digital interactive system as a whole, and in particular the presentation players which are installed in field locations near the homes of the subscribers they service, are designed to be installed and maintained in a non-intrusive manner so that normal cable company service is not affected should they fail. As a further aid in servicing, the presentation players incorporate self testing procedures, which they use to diagnose and report their own failures via built-in transponders.
HARDWARE IMPLEMENTATION OF THE MULTIMEDIA PRESENTATION AND COMMUNICATIONS SYSTEM
The innovative architecture of the preferred embodiment of the LOC 24 fulfills the design criteria outlined above. Additionally, the architecture as a whole is capable of being scaled in small increments, i.e. it is possible to add or remove performance capability in an operating LOC 24 a small piece at a time. By adopting the architecture described herein, the LOC 24 is rendered highly fault tolerant, and remains functional after any single point failure and many multi-point failures. The loss of functional capability caused by failures incrementally degrades the overall system performance, and can usually be compensated for by idle equipment resident in LOC 24.
The overall architecture of a typical local operating center 24 is schematically depicted in FIG. 2. With reference to that figure, a subscriber 20 uses a Touch-Tone telephone 42 to communicate with the local operating center (LOC) 24. As already described, the signals transmitted from Touch-Tone telephone 42 are carried over conventional telephone lines to a to the local operating center 24. LOC 24 may be part of a network consisting of a plurality of such LOC's, interconnected so that information may be shared. The LAP 22 transforms Touch-Tone signals into packets of ASCII characters, and then combines the packets from a plurality of other subscribers for transmission via a modem to the voice network interface ("VNI") 46 of the LOC
24. The packets are received by VNI 46, interpreted, and then sent to a high speed data bus 44 which connects all the functional elements of the LOC 24.
LOC 24 is comprised of a plurality of single-board computers ("SBC's") or processors, which are interconnected by the high speed data bus 44, and which support approximately thirty or more different processes that provide the software functions which define the environment of the system. Each single-board computer is a fully configured processor having a central processing unit ("CPU"), random access memory ("RAM"), a clock and input/output facilities, and is loaded with specialized software by the system.
The single-board computers comprising the LOC 24 are housed in a plurality of industry standard 20-slot chassis. All of the single-board computers on a chassis communicate with each other through an industry Multibus II system bus, which is provided on the chassis backplane. An industry standard Small Computer System Interface ("SCSI") link, whose specific chassis interconnect architecture will be described more fully below, provides the communications link between different chassis of the system. In a preferred embodiment of the invention, the single-board computers communicate via the combination of SCSI and Multibus II links to each other at transmission speeds of at least four million bytes per second. The smallest practical local operating center 24 generally accommodates about 40 concurrent subscribers who require about 100 processes. A more typical LOC 24 comprises approximately 100 20-slot chassis, and supports up to 3000 concurrent subscribers requiring about 4000 processes.
Although all the SBC's comprising the LOC 24 are physically identical processors, some of the SBC's have different peripherals connected to them via industry standard interfaces. FIG. 3 shows a representative layout of a single chassis, and more clearly illustrates the different peripherals that may be connected to some of the SBC's. As indicated in FIG. 3, the Multibus II backplane of the chassis can accommodate twenty individual slots. Nineteen of these slots may be filled with single-board computers. The twentieth slot contains a central services module ("SCM") which performs housekeeping functions for the chassis, and which is a required component in the Multibus II system. In particular, some single board computers, such as SBC 12 in slot #2 (in the example illustrated by FIG. 3), are connected via the SCSI interface module 14 to a disk drive controller 16, which is in turn connected to a high capacity disk drive 18 via an industry standard Enhanced Small Disk Interface ("ESDI") connection. A plurality of disk drives such as disk drive 18, connected as in the foregoing sentence, comprise the local data base of the LOC 24. The SBC's which have these peripherals act as "volume managers" to control the reading and writing of data to and from the data base. Other SBC's which may be allocated the role of communications devices (or communications servers), as exemplified in FIG. 3 by SBC 11 in slot #n, generally have a high speed SCSI interface link as shown, which connects to other communications servers on other chassis of the system. Likewise, SBC's which act as gateways to provide communications with other LOC's or ROC's will generally be connected as shown in slot #19 of FIG. 3, wherein SBC 13 is provided with a serial interface module 15 for communication with a gateway device 17 to a satellite transponder or other communications pathway. In order to transfer data from the LOC to the distribution channel of the CATV headend, certain SBC's, such as SBC 19 in slot #3
of FIG. 3, are provided with additional hardware that perform the multiplexing of various types of data prior to transmission onto a distribution channel. In particular, SBC 19 is provided with a serial interface module 10, which transfers data to a multiplexer 9, and from there to a modulator 8, and a transmitter 7, from which the data is distributed to the CATV headend 38. The particular reasons and method for performing the multiplexing will be more fully described below. Finally, SBC's which may be called upon to provide the functionality of a voice network interface, are provided with an appropriate modem connection through an industry standard RS232 interface, so that data may be transmitted along telephone lines. This particular peripheral connection is illustrated for SBC 6 of a slot #18 in FIG. 3. Slot #1 of FIG. 3 illustrates an SBC 5 which has no peripherals connected to it. This SBC would be chosen to run processes which do not require external peripherals.
Apart from the different peripherals which may be attached to some SBC's, all the SBC's in the system are identical units. Depending upon the particular demands of the system at any point in time, they may be allocated any software task, provided that they have appropriate peripherals to satisfy that task. This architecture permits the system to dynamically reconfigure the mix of processes which are distributed among the SBC's so that system performance is always optimized in response to the varying demands placed on the system as a function of time.
If enough memory or other computing resources are available, any single-board computer may be called upon to perform more than one concurrent process. The existence of more than one process on an SBC is transparent to most other processes in the system. A loose coupling exists in the sense that any process sending a message to another does so in a uniform manner, but without knowledge of whether the receiving process is on the same processor, or on another processor located elsewhere in the system. An example of a single-board computer which meets the operating requirements of LOC 24 is Model Number ISBC 386/100 computer manufactured by Intel Corporation of Santa Clara, Calif.
In the present context, a process is a continuously executing program which has sufficient resources allocated to it to accomplish its task, and is generally referred to as a "server". Some of the various categories of servers typically implemented in the LOC 24 to establish the environment of an electronic shopping mall are denoted in FIG. 2 as subscriber services 45, client services 47, network services 49, and systems management and applications 51. The specific servers which comprise these categories are more fully described below.
Two servers in particular are explicitly depicted in FIG. 2. The channel servers 36 are part of the group of network services 49, and provide an interface between LOC 24 and the CATV headends 38 of the cable television companies that are connected to the LOC 24. Each channel server 36 receives digital video, audio and control information which is destined to particular subscribers served by the channel server's 36 distribution channel 41. Each channel server 36 supports a single distribution channel 41 which comprises a high speed digital pathway for transmitting this information on a baseband frequency to the CATV headend 38 to which the channel server is connected. An LOC 24 may typically support between 1 and 16 CATV distribution channels 41, with each distribution channel being served by one channel server process. The process itself, as described above, may be physically distributed over more than one SBC.
Each CATV headend 38 modulates the data onto a particular distribution frequency for transmission through the cable television network. Trunk lines 40 emanate from each CATV headend 38 and constitute the primary distribution paths. At prescribed positions along each trunk line, generally corresponding to distances which result in a signal attenuation of 22 db, are bridge amplifiers 48 which boost the signals to compensate for this attenuation. Secondary distribution feeder cables 50
emanate from the bridge amplifiers 48. Along these secondary distribution feeder cables are taps where the signals are split off to supply approximately 40 homes via drop cables 52, each of which terminates at a particular home. Presentation players 54
are generally located in the field adjacent to bridge amplifiers 48, and are positioned in parallel with the secondary feeder cables 50.
The digital data containing the video and audio presentations is addressed to a specific presentation player 54 which is connected via drop cable 52 to the television set of the subscriber who has requested the information. Each presentation player 54 receives the modulated digital data from the CATV headend 38, converts the data into video and audio presentations having the appropriate television signal format and transmits the particular presentations that have been requested by a subscriber on a predetermined display channel frequency to which the subscriber's television is tuned. Up to 500 presentation players 54 may have active sessions at any one time on a given CATV distribution channel 41 served by LOC 24. The distribution of presentation data to all these presentation players 54 is handled by one channel server process 36.
The second server explicitly shown in FIG. 2 is the disk volume manager server 35. SBC's which are attached to disk drive peripherals may function as volume managers 35. The plurality of disk drives serves as the storage means for storing all the digital data in the LOC 24, and as such constitute a repository for all the presentations and other data objects stored in the LOC 24. The plurality of disk drives thus establishes the data base 33 for the LOC 24. The basic building block of the data base 33 is a disk storage volume, which comprises a disk drive unit such as the Maxtor 760 megabyte device, a controller for the disk drive unit, and a single board computer which acts as the disk volume manager 35. As will be more fully described below, the disk volume managers 35 have the function of storing, retrieving and deleting data objects. Further, each disk volume manager 35 also stores a record of the object name index of its associated disk storage volume for retrieval and recovery purposes.
SOFTWARE IMPLEMENTATION OF THE INTERACTIVE MULTIMEDIA PRESENTATION AND COMMUNICATIONS SYSTEM
As referred to above, the software functions which provide the environment for the digital interactive multimedia presentation and communications system are continually executing processes or "servers" which are dynamically distributed as needed among the single board computers which comprise the local operating center. The functions provided by these servers define the system and provide appropriate interfaces both for subscribers and commercial clients. In addition, the servers provide the capabilities required for systems management and applications, consumer services, and overall network supervision. An overview of some of the various servers and the different functions which they provide is now presented to illustrate one way in which the system may operate. The servers are broadly characterized into categories of subscriber services, client services, and network services. The context of an electronic mall is again chosen as a specific embodiment of the system, although it will be clear to a person skilled in the art that other applications having different contexts are possible.
Within the context of an electronic mall, it is useful to view each position within the mall to which a subscriber may possibly navigate, as consituting a "node" of the system. Each node has a unique appearance and structure. The appearance of the node constitutes what the subscriber is being shown and told at that point of his shopping excursion. The underlying structure of the node is represented by data which enable a particular subscriber to make particular choices. For example, the node may contain structural data which denote the particular markets that are available to the subscriber, based on his demographic information, and the choices available to the subscriber may be accordingly limited to only those markets.
As the subscriber navigates to different nodes of the system, an automatic look-ahead is performed, and the next set of possible nodes to which the subscriber may navigate is obtained. The data objects necessary to rapidly implement this next set of nodes are pre-fetched, in order to reduce overall system response time.
Operation of the system may be more fully understood and appreciated, upon consideration of the detailed functions supplied by various servers which would be used to establish the environment of an electronic mall, as presented herein.
SUBSCRIBER SERVICES (FIG. 19) LOGON
After the subscriber dials a telephone number displayed on the television screen, a logon server 76 within LOC 24 gives the subscriber access to the digital interactive multimedia presentation and communications system of the present invention. If the digital interactive system is broadcasting on two or more display channels, each channel displays a different telephone number for system access. Generally, the local access point will have the ability to automatically deliver the calling telephone number to the LOC. However, should this ability not be implemented, the subscriber can be prompted by the logon server 76 to manually enter his telephone number on the Touch-Tone keypad. Once initial communication is complete, the system checks its available resources to see if it has the resources necessary to support the subscriber and then proceeds to allocate these resources. If any necessary resource is currently in use, the subscriber is prompted via telephone to enter the latest time he would like to be called back.
The logon server 76 uses a market segmenter function to determine which markets are available to a subscriber to allow the system to configure different stores and malls for different subscribers based on their demographics and shopping history, and according to the commercial clients' specifications.
Once the logon server 76 has determined that sufficient resources exist to support the subscriber, it proceeds to send data to a session server 74 which is allocated to the subscriber for the duration of the shopping session. This data includes information identifying the subscriber, a market segment table defining the markets which this particular subscriber may view, and the identity of the channel server which will provide the distribution path to the subscriber.
If proper resources are not presently available on the system, the subscriber's identifying information is transmitted to a call-back manager server 71 and a voice network server 70 so that the subscriber may be contacted when resources become available.
CALL-BACK MANAGER
When insufficient system resources exist to support a subscriber at logon time, the call-back manager server 71 allows the system to call the subscriber back when resources are available. The call-back manager 71 has two main functions. First, it obtains times, suitable to the subscriber, to perform the actual call-back, and second, it periodically checks to see whether the necessary system resources are now available, and if so, it initiates a call-back procedure through voice network server
70 (FIG. 21).
CHANNEL CALCULATOR
When a subscriber has a choice of at least two display channels which broadcast the digital interactive multimedia presentation and communications system on his television, each channel specifies a different dial-up telephone number to be used when gaining access to the system. The channel calculator server 78 determines which display channel the subscriber is tuned to so that this information can be sent to the presentation player which services the subscriber to ensure that it will broadcast on the correct display channel frequency. Additionally, the channel calculator 78 determines which channel server 36 (FIG. 2 and FIG. 21) to use.
MARKET SEGMENTER AND MARKET CHECKER
The market segmenter server 75 and market checker server 85 work together to provide a market-specific mall to the subscriber. To do so, the market segmenter compares demographic information which the consumer has previously entered with the demographic requirements specified by commercial clients to determine which markets the consumer may access. The market segmenter server 75 then builds a table of market entries with an indication as to whether or not the subscriber is eligible for a particular market entry. This table is used by the market checker server 85 as the subscriber navigates the mall. The market checker server 85 and market segmenter server 75 work in conjunction with each other to provide a specific mall environment for a subscriber based on his particular demographic information. The market checker server 85 compares the market segment table entry with information in the navigation nodes to determine what should be displayed to the particular subscriber, and where within the mall he may navigate. Markets in this sense also determine which of several prices are displayed for a given product.
SUBSCRIBER ENROLLMENT
New subscribers are permitted to browse the mall but cannot purchase items until they have been properly enrolled in the system. When a new subscriber attempts to purchase an item, he is automatically bridged to the consumer services center by the subscriber enrollment server 87. Consumer service creates identifying information for the subscriber and provides him with a personal identification number ("PIN"). The subscriber is prompted to enter the PIN number before utilizing any shopping functions. Thus, in addition to demographic information, credit card numbers and personal directories can be maintained for individual household members.
SESSION SERVER
The session server 74 accommodates navigation through the electronic mall, updates the subscriber's records, and controls what the subscriber is shown. It also arranges for support services from other processes such as cashiering, stock availability checking and the consumer service center.
As such, the session server 74 maintains the complete context of the subscriber's shopping session and provides the means for the subscriber to navigate through the mall. When a subscriber logs on to the system, he is allocated a session server
74 for his exclusive use for the duration of the shopping session. The session server 74 provides the software capability necessary to retrieve all required data objects, including consumer and client information. The session server 74 maintains this data in the local data base of the LOC. To increase its efficiency, during idle processing, e.g. while waiting for the subscriber to respond, the session server 74 initiates pre-fetches of objects it is most likely to require to respond to the subscriber's next action.
The session server 74 not only receives the subscriber's keystrokes, but also sends appropriate scripts and keystrokes to the relevant channel server 36 for immediate echo-back to the subscriber, thereby providing an important feedback function. Additionally, it maintains the history of the subscriber's navigation through the mall, as a means for easily reversing direction to previous nodes of the system.
The session servers 74 maintain those portions of the subscriber's records which deal with demonstrated shopping preferences. This information is used to personalize the shopping navigation for subsequent shopping sessions.
Purchases may be made by adding items to a "shopping cart". Servers are provided which allow a subscriber during a shopping session to add items to the shopping cart, and review or modify the contents of the shopping cart, and review or modify the contents of the shopping cart.
CASHIER
Subscribers may split items in the shopping cart into groups which utilize different payment methods and shipping instructions. Further, subscribers who have purchased items from grocery store clients may specify their desired delivery date, time, and address. Once all the options have been determined, the cashier server 84 sends a summary screen of the entire order to the subscriber, which includes information on total cost, estimated taxes, delivery and shipping charges.
ORDER POSTING
The order posting server 98 performs the saving of consumer orders to disk, so that in the event of network failures, the orders can be recovered and delivered at some later time.
Customized servers which add more functions to the basic subscriber services may be easily added to the digital interactive multimedia presentation and communications system. Such services may include a personal directory for keeping customized list of items which cross store boundaries. For example, a subscriber may keep lists of groceries he regularly buys so that he can add the entire list to his shopping cart. Other customized shopping services which may be easily implemented by appropriate servers include a bridal registry server, maintained on a mall-wide basis, a product search server to provide subscribers with the ability to easily find products in a store based upon various input information, e.g. price, sex, age, etc., and a size reminder server, which allows subscribers to keep information on clothing sizes for various individuals. Other specialized subscriber servers may be easily added as the system grows to provide additional individualized software functions.
CLIENT SERVICES (FIG. 20)
The digital interactive multimedia presentation and communications system supplies a number of servers which provide useful software functions to the commercial clients who are on the system. Several illustrative examples of such client servers
47 in a preferred embodiment of the invention are:
CLIENT DATA BASE
The client database server 99 maintains a data base of client information. It provides the ability to add, change, and delete clients, maintain client billing rates, client history and provide data base reports. This server also supplies the capability to initiate a transmission of new or changed client information to a particular LOC of the system.
STATISTICS REPORTING
The statistical reporting server 107 provides information required for marketing analysis. Data is captured during each subscriber's shopping session, and is used to generate logs of demographic information as to purchasing activity in different markets. Additional information on how subscribers navigate through the mall is also available. Reports providing statistical information generated from these logs are produced and provided to commercial clients.
Other client services servers 47 on the system provide for the production of billing reports to the clients, settlement functions for all credit card purchases, and various end of day reconciliation functions.
NETWORK SERVICES (FIG. 21)
In a preferred embodiment of the invention, a number of specialized network servers 49 (FIG. 2) provide software functions which define and support the overall multimedia presentation and communications system and are exemplified below:
VOICE NETWORK SERVER
The voice network server 70 ("VNS") is the interface between the subscriber's response and the software necessary to service his session. For fault tolerance, each LOC may be configured to have at least two telephone data lines, connected via modem interfaces from the local access point ("LAP") to at least two voice network servers 70 on separate chassis. The voice network server 70 controls the modems, retrieves the subscriber's key presses and sends the key presses to the subscriber's session server 74. If a bridge to the consumer services center is required, the voice network server 70, upon instruction from the session server 74, initiates the bridge through the local access point.
CHANNEL SERVER
The channel server 36 has the important role of fetching data objects require by the scripts representing presentations chosen by subscribers to view. The channel server 36 then meters these data objects out to the distribution channel modulator at a rate which will not overrun the storage capacity of the presentation players. The modulator and transmitter then send the data from the LOC to the CATV headend 38. By using the channel information obtained during consumer logon, the channel server
36 associates a shopping session with a particular presentation player 54. The channel server is supplied with a presentation script object which it uses to request the objects it requires to make up the presentation, and transmits them as they are received directly from other applications to the presentation player 54 along with a copy of the script object. The channel server 36 obtains large objects, such as video images, directly from a volume manager 35. Other objects, such as variable text may be received from other applications servers. The channel server 36 is designed to recognize high priority objects, such as echo-back key presses, pause/resume navigation commands and any presentation player commands, and expedites their delivery. Since the distribution channel associated with a particular channel server 36 services multiple presentation players 54, the channel server 36 generally processes requests for multiple concurrent sessions.
IMPORT/EXPORT GATEWAY
The import/export gateway server 77 permits transfer of data between local operating centers (LOC's) and regional operating centers (ROC's). Since an entire collection of data objects for the system is maintained only at the ROC, an LOC must import objects not currently resident. If an LOC receives a request for an object it does not have, the import/export gateway server 77 tries to obtain the object from the next LOC in the network hierarchy. Further, when data updates occur at an LOC, the import/export gateway server 77 is used to ensure that other LOC's receive the same update. In the event that insufficient resources are available at an LOC to accommodate an object, the least-recently used object will be purged from the LOC to provide space for the new object. In this manner, the system provides for dynamic reallocation of stored objects. In a preferred embodiment, the LOC is configured with sufficient resources to accommodate the anticipated volume of data, so that such reallocation does not have to be performed during a shopping session.
Additional network servers 49 are provided to handle order delivery, report on inventory availability, verify credit authorization, and provide automatic bridging and linked-shopping to consumer services, so that consumer services personnel may view the context of the shopping presentation.
SYSTEM MANAGEMENT (FIG. 22)
A number of systems management and applications servers 51 provide system management functions for the digital interactive multimedia presentation and communications system. For example, an operations interface server provides a human interface with the system. It permits the system to accept data from operators via terminals, and to return both solicited and unsolicited information to the terminals. The operations interface server allows operators to kill processes, install a new mall, store, or presentation, and initiate file uploads or downloads. Other examples of system management servers, in a preferred embodiment of the invention, are:
COMMISSIONER
The main purpose of the commissioner server 140 is to configure an LOC. During start-up, an empty LOC is recognized and a single board computer (SBC) is randomly allocated by a countdown process to serve as a commissioner server 140. The commissioner server 140 then broadcasts its presence and identity, and uses a configuration table to assign other single-board computers to provide the capabilities of the various servers, with the allocation mix being dependent upon the historical use of servers at other LOC's. In addition to setting the initial system configuration, the commissioner server 140 also can dynamically recommission single board computers during system operation using the operational configuration data objects supplied by a configuration manager in response to the activity of the system.
ACTIVITY RECORDER
All processes "report in to" the activity recorder server 73, either to record a specific event, or at specified times. The activity recorder server 73 maintains a table of the status of all single board computers in the system. As they report in, processes include activity and status data. The activity recorder server 73 buffers, and during idle processing stores this data for use by the activity monitor server 142 and configuration manager 143. Typical of reported data are systems statistics maintained by such servers as the object locator and volume manager. The activity recorder server 73 further receives information from the subscriber services applications that reflect subscriber activity.
ACTIVITY MONITOR
The activity monitor server 142 provides activity reports on the LOC either at set periods or on an as-requested basis. Some of this information is used to redistribute objects across volume managers and thereby provide for better load leveling. The activity monitor server 142 has sufficient information to calculate subscriber response times. An analysis of this information can indicate when performance at the LOC is degrading to unacceptable levels. When this occurs, an alert is sent to the operations interface.
CONFIGURATION MANAGER
The function of the configuration manager server 143 is to update a configuration table to be used by the commissioner server 140 to determine which processes are needed to serve the LOC. The configuration manager server 143 periodically accesses the activity table produced by the activity recorder. The activity table is then compared with the current operations configuration table. A new configuration table is then generated based on usage profiles by day-of-week and time-of-day contained in the configuration table and based on conclusions drawn when the configuration manager analyzes the activity table to predict future requirements. The configuration manager server 143 adjusts the configuration data object accordingly to obtain a more efficient distribution of applications. As part of this analysis, a specified percentage of idle applications, as the norm, is compared with a permitted normal variance.
PRE-LOAD
Certain objects, such as main indices, screen objects used in the buying process, and system parameters are always required to be resident at the local operating center (LOC). The pre-load server 144 is a process which obtains these objects when the LOC is configured, thereby reducing the overhead and degradation of response times that would occur if all objects were imported on a demand basis. The pre-load server 144 accesses an object which is itself a list of all objects to be pre-loaded to the LOC. Using statistics reported by the object locator server 148 and volume manager server 149 to the activity recorder server 73, this pre-load object is dynamically maintained so that the pre-load server 144 runs at a low priority and does not preclude subscribers from using the system.
JOB SCHEDULER
The job scheduler server 145 is used to control batch-type applications such as end-of-day processing. It can schedule applications by mouth, by week, by day-of-week and by time of day.
HIT MAN
The hit man server 146 is used to specify the deletion of outdated objects from an LOC. Periodically, the hit man server 146 accesses a list of objects to be deleted from an LOC. The list is imported via the import/export gateway server 77. The hit man server 146 interfaces with the object locators and volume managers to ensure that the objects are deleted.
PLACEMENT AGENT
The placement agent server 72 is the coordinator of applications which require the assistance of other applications. Applications that are not being utilized volunteer to one of several placement agent servers 72 strategically commissioned by the system. These applications are maintained as a table of single-board computers known to that particular placement agent server 72. When an application requires the services of another application, it sends a request for assistance to a placement agent server 72. If that placement agent has a volunteer of the application type requested in its table, it provides communication between the two applications. If a placement agent server 72 cannot satisfy the request, it sends the request to other placement agents on the system.
OBJECT LOCATOR
The object locator server 148 allows the system to access a data object. The object locator server 148 determines the volume on which a data object is expected to reside, based on an algorithm using the object's name. The object locator server
148 maintains a table which maps particular data object groups to particular volume manager servers 149. The object locator server 148 first applies a formula to the requested object's name in order to determine to which of about 10,000 groups the data object belongs. Each volume manager server 149 maintains a list of each of the data objects it contains together with the disk storage location and other maintenance statistics. This information is then sufficient to locate any specific objects within the LOC storage facility.
VOLUME MANAGER
The volume manager server 149 is an application managing all the data objects on a single disk drive. It provides both read and write access of data objects for use by other applications as well as data use statistics. If an object is not found, a request to import the object is generated. Some requests, such as from the cache requester server 150 may not be to return an object, but only to cache it in controller main memory in preparation for a future request. These requests are performed during the volume manager server's idle processing. During idle processing, or when disk utilization has reached a specified limit, the volume manager server 149 may delete infrequently used objects. Data services 79 (FIG. 5) comprises the object locator servers 148, the volume manager servers 149 and the cache requester servers 150.
CACHE REQUESTER
The cache requester server 150 initiates pre-fetches of objects likely to be required in the future. This is done to assure quick access to the data objects thus cached when an actual request to retrieve such an object is made.
All the server processes execute within an application programming environment ("APE"). In this environment, processes generally have no knowledge of the context of any other process, nor do the processes have access to global data areas. Although processes may reside on the same SBC, the same chassis, or possibly in different cabinets within an LOC, the location of any process is transparent to the other processes.
Whereas session servers 74 must be specifically allocated to a subscriber during a session, other servers are available directly through the application programming environment. Examples of servers which may be obtained directly through a request to the application programming environment are the placement agent servers 72, and the hitman servers 146. Further, requests which require the reading and writing of data from the data base, and therefore require use of the object locator server
148 and volume manager servers 149, may also be directly requested through the APE, by placing a request for "data services". Message passing from one application to another, and memory allocation and deallocation may also be requested directly through the APE.
In order to provide a better understanding of the interplay between the different servers described above during operation of the digital interactive system, it is useful to specifically describe the chain of events which might occur during the system's operation by giving some specific examples. The first example illustrates the events which occur during the logon process, in which initial communications between the subscriber and the system are established, and whereby specific servers, such as a session server, are assigned to handle the subscriber's requests. The second illustrative example describes the sequence of events which occurs during a simple series of shopping transactions made by the subscriber.
The message flow during the logon procedure is outlined in block diagram form in FIG. 4. With reference to that figure, the logon procedure is initiated when LAP 22 connects a subscriber's phone line to the voice network interface, which is controlled by a voice network server ("VNS") 70. The voice network server 70 in turn sends a message to the placement agent server 72, requesting an available logon server 76. The placement agent server 72 responds to the voice network server 70 with the address of the available logon server 76. The voice network server 70 also requests the placement agent server 72 to find an available session server 74. Again, the placement agent server 72 acts to return the address of an available session server
74 to the voice network server 70. The voice network server 70 then performs an initializing handshake communication with the logon server 76, in which the address of the session server 74 is passed to the logon server 76.
The logon server 76 next initiates a request to the voice network server 70 that the voice network interface produce a voice message asking the subscriber to enter his phone number on his Touch-Tone telephone keypad. LAP 22 receives the key presses and passes them to the voice network server 70, which in turn transmits this data to the logon server 76. The logon server 76 next sends a message to data services 79 requesting the subscriber's household data object (which contains specific information on the subscriber, e.g. his personal identification number, etc.). If data services 79 is unable to locate this object, the logon server 76 is informed and then sends a message to the import/export server 77 requesting that the subscriber's household object be imported from other LOC's. If this object is not found at the other LOC's, the logon server 76 then initiates a request to the voice network server 70 which asks the subscriber to enter a sequence of digits displayed on his television as part of the "attractor" screen. These digits represent routing information to the system which identifies the particular presentation player that is servicing the subscriber. LAP 22 accepts the subscriber's keypress responses and passes them to the voice network server 70, which transmits the information (the presentation player ID) to the logon server 76.
The logon server 76 next requests the placement agent server 72 to give it the address of an available channel calculator server 78. Logon server 76 then sends a message to the selected channel calculator 78, providing it with the presentation player ID and the subscriber's display channel and obtains from the channel calculator 78 the ID of the distribution channel required to service the subscriber's presentation player. The distribution channel ID also defines a particular channel server
36 that will be allocated to the subscriber. Through communication with placement agent server 72, the logon server 76 is given the address of the appropriate channel server 36. The channel server 36 determines if the appropriate presentation player is available and returns this information to the logon server 76.
At this point, if resources are not available, the logon server 76 places the subscriber into call-back status by communication with callback manager 71. Assuming that all resources are available, the logon server 76 then requests the placement agent 72 to find an available market segmenter 75 and communicates with the market segmenter 75 to obtain the market segmentation table for that subscriber. Logon server 76 then initiates a handshake communications with the session server 74, and passes the subscriber's household data object, the market segment table, channel server data and all addresses of associated servers to the session server 74. The logon server 76 then sends a message to data services 79 to obtain a script designed to display a "welcome" presentation to the subscriber. The script is returned to the logon server 76, which in turn sends the script, the distribution channel ID and the presentation player ID to the channel server 36. The channel server 36 then obtains from data services 79 the particular welcome presentation objects, which it assembles and sends to the subscriber's presentation player.
When this is done, the channel server 36 responds to the logon server 76 that the welcome presentation has been presented to the subscriber. The logon server 76 responds with an appropriate message to the activity recorder 73. Finally, the logon server 76 sends a message to voice network server 70 informing it that the subscriber is now logged onto the system and that a specified session server 74 is in use. At this stage, the logon server 76 is free, and volunteers its services to the placement agent 72. Future key presses from the subscriber will be forwarded in regular fashion by the LAP 22 to the voice network server 76, which will in turn forward the key presses directly to the appropriate session server 74 that has been allocated to the subscriber.
Once logon has been established, and the subscriber has gained access to the system, navigation to different nodes of the system where shopping transactions are performed is supervised by the session server 74. What follows is an example illustrating the sequence of events which occurs when a simple series of transactions is made by a subscriber. In a real shopping session, many more transactions would occur, and many more servers would be involved. However, the following example serves to further demonstrate the nature of the interactions between the session server and other servers within the digital interactive multimedia presentation and communication system of the present invention.
In this example, the logon procedure, as described above, has resulted in a particular session server 74 being assigned to the subscriber. The identification of the session server is known to the voice network server 70. The voice network server 70 also knows the identification of the physical port on the telephone interface equipment which the subscriber is using. With this information, the voice network server 70 can route digits entered by the subscriber via the Touch-Tone keypad on his telephone to the correct session server 74.
The illustrative example of a simple series of transactions begins with the voice network server 70 passing on the digital characters which result when the subscriber 20 makes a choice from a menu displayed on the television screen. The interaction between the session server 74 and other servers of the system during the shopping session is illustrated in block form in FIG. 5. The sequence of events which typically occurs is now described, and may be best understood with reference to that figure.
The digital characters corresponding to the key presses are transmitted to a local access point 22 and via modem 27 to a voice network server 70. These signals are then sent by voice network server 70 to the particular session server 74 that has been allocated to the subscriber 20. In order to provide rapid feedback of the key presses to the subscriber 20, the session server 74 constructs a script to display the digits that have been entered by the subscriber, and sends the script to the channel server 36 which services that particular subscriber. The channel server 36 in turn sends the script to the multiplexer/modulator 81 and transmitter 83 for transmission to the CATV headend 38, and from there to the particular presentation player
54 which is connected to the television set being used by subscriber 20.
Meanwhile, the session server 74 fetches a script shell, which comprises a partially formed script, from data services 79, and which relates to the selection made by the subscriber 20. The session server 74 updates the script shell with the subscriber current market data, perhaps excluding some products not offered to the subscriber because of demographic considerations, or perhaps changing the price of some display product to correspond to the subscriber's situation. The completed script is then sent on to the channel server 36. Upon receipt of the script, channel server 36 requests the necessary audio and video image objects from data services 79, and proceeds to send a copy of the script to the subscriber's presentation player 54.
Data services 79 delivers the requested objects to the channel server 36, which then sends the objects through the multiplexer/modulator 81 and transmitter 83, and on to the subscriber's presentation player 54. At this point, we assume that the subscriber again sees a menu, and makes his choice by entering Touch-Tone signals on his telephone. These Touch-Tone signals are converted to digital characters at the local access point 22, and are delivered through the voice network server the subscriber's session server 74. In this particular example, we assume that the subscriber 20 has chosen to purchase an item.
To complete the purchase request, session server 74 interacts with the client's network server 82 to access the client's inventory system and verify that the particular selected item is available. For purposes of this example, we assume that the merchandise item is available. The session server 74 then requests a cashier server 84 from the placement agent 72. The placement agent 72 returns the name of an available cashier server 84 to the session server 74. The session server 74 then interacts with the cashier server 84 and with a credit authorization server (not shown) which would normally be provided via the client network server 82 and the gateway 86, to authorize the sale if payment is to be made by credit card. The session server 74 proceeds to interact with the cashier server 84 to "ring up" the sale. This would normally include certain calculations such as sales tax and would include certain subscriber interactions, such as delivery information specification, which are not shown here. When the cashier server 84 is finished with the sale, it volunteers itself back to the placement agent 72. A sale confirmation script is constructed by the session server 74 and sent to the channel server 36 for transmission to the subscriber 20.
The order for the merchandise is sent to the client network server 82, and then on to the particular client through gateway 86. The channel server 36 proceeds to send the sale confirmation script, and accompanying audio or video images to the subscriber presentation player 54 via the multiplexer/modulator 81 and transmitter 83. Meanwhile, the session server 74 has pre-fetched the script shell from data services 79 for each possible choice that the subscriber is offered in the sale confirmation presentation. The subscriber 20 makes a choice from the menu presented (such as suggestions for synergistic sales). His choice reaches the session server 74 via the voice network server 70. Session server 74 proceeds to update the script shell which has been pre-fetched, with the information representing the subscriber's choice, and sends it to the channel server 36.
As before, channel server 36 sends a copy of the script to the subscriber's presentation player 54. Channel server 36 also requests the audio and video objects called for by the script from the data services 79. For illustrative purposes, we assume here that one of the image objects is not present in the local operating center 24. To obtain the required data object, data services 79 sends an import request to the import/export server 77 to obtain the