|
Claims  |
|
|
We claim:
1. A subscriber terminal for use in a multimedia communication network that has a multimedia system connected to said subscriber terminal, said multimedia communication network
coordinating a transfer of multimedia scenes between said multimedia system and said subscriber terminal, said multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each
of said multimedia scenes as to be transferable, said partitioned executable program being executable and using said partitioned audio and data, said subscriber terminal comprising:
means for sending to said multimedia system a first message requesting a first multimedia scene in response to a subscriber selection;
means for concurrently sending to said multimedia system a second message requesting a second multimedia scene;
means for receiving said first and second multimedia scene;
means for executing said executable program included in said first multimedia scene upon a receipt of said first multimedia scene; and
means for receiving said second multimedia scene in a background as said executable program is executed.
2. A subscriber terminal of claim 1, wherein said executable application runs said audio and displays said data including an image, graphic, animation, hypertext and hypermedia.
3. A subscriber terminal of claim 1, wherein said multimedia communication network manages a plurality of communication channels between said multimedia system and said subscriber terminal.
4. A subscriber terminal of claim 3, wherein said multimedia communication network transfer said audio over one of said communication channels while transferring said audio over another of said communication channels.
5. A subscriber terminal of claim 3, wherein said multimedia communication network allows telephony functions between said multimedia system and said subscriber terminal over one of said communication channels while transferring said multimedia
scenes over another of said communication channels.
6. A subscriber terminal of claim 3, wherein said multimedia communication network selects said second multimedia scene based on availability of said communication channels.
7. A subscriber terminal of claim 3, wherein said second multimedia message is formed based on a subscriber selection probability.
8. A subscriber terminal of claim 1, further comprising means for collecting said multimedia scenes and sending said multimedia scenes to said multimedia system.
9. A multimedia system for use in a communication network, said multimedia system connected to at least one subscriber terminal, said multimedia communication network coordinating a transfer of multimedia scenes between said multimedia system
and said at least one subscriber terminal, said multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each of said multimedia scenes as to be transferable, said
partitioned executable program being executable and using said partitioned audio and data, said multimedia system comprising:
means for storing said multimedia scenes;
means for receiving from said subscriber terminal messages requesting said multimedia scenes;
means for retrieving from said storage means said executable program and for retrieving said audio and data necessary for executing said executable program at said subscriber terminal; and
means for sending said multimedia scenes to said subscriber terminal.
10. A multimedia system in claim 9, wherein said multimedia communication network manages a plurality of communication channels between said multimedia system and said at least one subscriber terminal.
11. A multimedia system of claim 10, wherein said multimedia system assigns one of said communication channels to transfer said audio and assigns another of said communication channels to said data and executable program.
12. A multimedia system of claim 10, further comprising means for playing said audio over said communication channel.
13. A multimedia system of claim 10, further comprising:
said receiving means for receiving said multimedia scenes from said subscriber; and
said storage means for storing said multimedia scenes from said subscriber.
14. A communication network having a multimedia system connected to at least one subscriber terminal and coordinating a transfer of multimedia scenes between said multimedia system and said at least one subscriber terminal, said multimedia
scenes including audio, data and executable program, said multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each of said multimedia scenes as to be transferable, said
partitioned executable program being executable and using said partitioned audio and data, said multimedia communication network comprising:
at least one database connected to said multimedia system for storing said multimedia scenes;
means located at said at least one subscriber terminal for sending to said multimedia system messages requesting multimedia scene in response to subscriber selections;
means located at said multimedia system for receiving from said subscriber terminal said messages, for retrieving from said database said multimedia scenes including said executable program and said audio and data necessary for executing said
executable program and for sending said multimedia scenes to said subscriber terminal; and
means located at said at least one subscriber terminal for receiving said multimedia scenes, for executing said executable program, means for receiving another multimedia scene in a background while executing said executable program.
15. A subscriber terminal for use in a multimedia communication network having a multimedia system connected to said subscriber terminal, said multimedia communication network coordinating a transfer of multimedia scenes between said multimedia
system and said subscriber terminal, said multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each of said multimedia scenes as to be transferable, said partitioned
executable program being executable and using said partitioned audio and data, said subscriber terminal comprising:
an audio speaker;
a display device; and
a processor connected to said audio speaker and display device for formulating a first message requesting a first multimedia scene, for concurrently formulating a second message requesting a second multimedia scene, for sending said first and
second messages to said multimedia system, for receiving said first multimedia scene, for executing said executable program, for playing said audio on said audio speaker, for displaying said data on said display device and for receiving said second
multimedia scene in a background while executing executable program.
16. A subscriber terminal of claim 15, further comprising:
a subscriber input device connected to said processor; and
said processor for formulating said messages in response to a subscriber input.
17. A subscriber terminal of claim 15, further comprising:
an audio input device to collect audio; and
said processor for formulating a third message requesting said multimedia system to store said audio and for sending said audio with said third message to said multimedia system.
18. A multimedia system for use in a multimedia communication network having at least one server connected to at least one subscriber terminal, said multimedia communication network coordinating a transfer of multimedia scenes between said at
least one server and said at least one subscriber terminal, said multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each of said multimedia scenes as to be
transferable, said partitioned executable program being executable and using said partitioned audio and data, said multimedia system comprising:
at least one database for storing said multimedia scenes; and
said at least one server for receiving from said at least one subscriber terminal messages requesting said multimedia scenes, for retrieving from said at least one database said executable program, for retrieving said audio and data necessary for
said executable program and for sending said multimedia scenes to said at least one subscriber terminal.
19. A multimedia system of claim 18, wherein said at least one database includes a first database for storing said audio and a second database for storing said executable program and said data including an image, graphic, animation, hypertext
and hypermedia.
20. A multimedia system of claim 19, wherein said at least one server comprises:
a data server for accessing said first database and for retrieving said image, graphic, animation, hypertext and hyper media;
an application controller for accessing said first database and said second database, for retrieving said application and for retrieving said audio and said data necessary for said executable program; and
an audio server for accessing said second database and for retrieving said audio and for playing said audio over said communication network.
21. A multimedia communication network having at least one server connected to at least one subscriber terminal and coordinating a transfer of multimedia scenes between said at least one server and said at least one subscriber terminal, said
multimedia scenes including a combination of audio, data and executable program, said audio, data and executable program partitioned into each of said multimedia scenes as to be transferable, said partitioned executable program being executable and using
said partitioned audio and data, said multimedia communication network comprising:
a subscriber processor located at said at least one subscriber terminal for formulating a first message requesting a first multimedia scene in response to a subscriber selection, for concurrently formulating a second message requesting a second
multimedia scene and for sending said first and second messages to said at least one server;
at least one database located at said multimedia system for storing said multimedia scenes;
said at least one server for receiving from said subscriber terminal said first and second messages requesting said multimedia scenes, for retrieving from said at least one database said first and second multimedia scenes and for sending said
first and second multimedia scenes to said subscriber terminal; and
said subscriber processor for receiving said first multimedia scene, displaying said first multimedia scene and for receiving said second multimedia scene while displaying said first multimedia scene.
22. A multimedia communication network of claim 21, further comprising an application provider for providing said executable program to said multimedia system.
23. A multimedia communication network of claim 22, wherein said multimedia system comprising an application development platform for conducting a test on said application program and for correcting an error detected during said test. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
TECHNICAL FIELD
The invention relates to a multimedia telecommunications system.
BACKGROUND OF THE INVENTION
A number of new services have been introduced as a result of the implementation of ISDN in the telecommunications network. One such service involves multimedia, the transmission of video (i.e., images) and corresponding voice signals. As a
result of multimedia applications, a calling and called party may view and hear each other during a telephone conversation over an ISDN communications path. Multimedia includes other service applications that may be presented to a caller over the ISDN,
for example, applications that entertain a caller such as motion video with accompanying sound. It can appreciated that such multimedia service applications will most likely be developed by different multimedia application providers. If that turns out
to be the case, then it would be desirable to allow a user to access different multimedia applications developed by different providers thereof, regardless of the type of equipment, e.g., computer terminal, that the user employs to effectuate such
access.
It can be appreciated that developing a multimedia application is not an easy task, and typically entails designing the application, "debugging" it and then storing it on a multimedia system for presentation to a user. It is often the case that
the application will need additional "debugging" after it has been stored in the multimedia system to deal with interface problems that might occur between the newly designed multimedia application and multimedia system. A designer/provider of an
multimedia application may deal with the latter problem by duplicating the multimedia system and using the system as a tool during the design/development and debugging phases of a multimedia application. It can be appreciated, however, that duplicating
a multimedia system for the purpose of using it to design and debug multimedia application could prove out to be expensive and somewhat unnecessary.
SUMMARY OF THE INVENTION
The provisioning of multimedia services is enhanced by using a communications protocol which allows a multimedia application to be divided into a plurality of segments for presentation in an order requested by a user. Specifically, the inventive
communications protocol is embedded in a plurality of messages defining respective functions (telecommunications, data, audio, etc.,) in a way that allows a multimedia application to be segmented into a number of logical blocks for presentation to the
user. Thus, in accord with the invention, when the user interfaces with a particular multimedia application and has entered a particular request indicative of one of the aforementioned functions, then the user's associated data terminal generates a
message defining the function and sends the message to the multimedia system, which responds thereto by performing the requested function with respect to a particular one of the blocks forming the multimedia application that the user is accessing.
In accord with another aspect of the invention, a provider of a multimedia application may send the application to the multimedia system via the telecommunications network for storage thereon and then interact with the stored application via the
telecommunications network for a number of different purposes, including "debugging" and/or developing the application.
BRIEF DESCRIPTION OF THE DRAWINGS
In the drawing:
FIG. 1 shows a multimedia system in which the principles of the invention may be practiced;
FIGS. 2 through 7 illustrate in flow chart form the program which implements the principles of the invention in the user terminal of FIG. 1;
FIGS. 8 through 21 illustrate in flow chart form the program which implements the principles of the invention in the audio server of FIG. 1,
FIGS. 22 through 31 illustrate in flow chart form the program which implements the principles of the invention in the data server of FIG. 1; and
FIG. 32 illustrates in flow chart form the program which implements the principles of the invention in the application controller of FIG. 1.
DETAILED DESCRIPTION
Turning now to FIG. 1, there is shown a broad block diagram of multimedia system 100 embodying the principles of our invention. In particular, system 100 includes a number of controllers which cooperate with one another to present a particular
multimedia application to a user. Such controllers include data server 10, application controller 20, audio server 30, workstation 40, development platform 150 and operation support system 50. Data server 10, which may be, for example, the 386-WGS
workstation available from AT&T, operates under the MS DOS operating system and is programmed to provide a data function in conjunction with the presentation of a multimedia application. More particularly, data server 10 interfaces with the user via
communications path 11-1 and responds to receipt of a request from the user by determining whether it will process the request itself or pass the request to either application controller 20 or audio server (controller) 30. For example, if the request is
directed to (a) audio, such as a particular selection of music, then data server 10 passes the request via LAN 45 to audio server 30 for processing; or (b) a particular multimedia application, then data server 10 passes the request to application
controller 20 via LAN 45. If the request relates to a data function, for example, particular data stored in memory 61, then data server 10 unloads the data from memory 61 and transmits the data to the user via path 11-1. In an illustrative embodiment
of the invention, such data may be, for example, digitized images, text, graphic primitives, animation primitives, executable programs, etc., stored in database 61. In an illustrative embodiment of the invention, such data may be stored in database 61
in a compressed format. (As will be explained below, the decompression of such data is performed by terminal Ti before it is presented to a user.) The interface that data server 10 presents to the user also operates to recognize the receipt of an
incoming call via path 11-1. In an illustrative embodiment of the invention, path 11-1 may be, for example, an ISDN Primary Rate Interface (PRI) communications path comprising 23 B channels and one D channel. As is well-known, each B channel is used
for transporting a telephone call (voice or data) and the D channel is used to convey signaling information relating to the calls that are transported over the B channels. Communications paths 11-2, 11-3 and 152 may also be ISDN PRI.
Specifically, when the user places a call to multimedia system 100, telephone network 200 processes the call in a conventional manner and alerts system 100 to the incoming call via an ISDN D signaling channel extending to data server 10 via path
11-1. Such alerting includes notifying data server 10 of the identity (number) of the ISDN B channel that will carry the call. Server 10, in turn, responds to such signaling by sending a call accept message to network 200 via the signaling channel,
thereby establishing a communications connection between system 100 and the user. At that point, the user and system 100 may begin to exchange messages with one another, as will be explained below.
Application controller 20, more particularly, is responsible for executing all multimedia applications that system 100 (controller 20) sends to the user's terminal, e.g., terminal T1. That is, controller 20, which may be, for example, the
386-WGS computer available from AT&T, operates under the control of the Unix operating system to present a multimedia application to the user, in which the application may include data and/or voice (audio). As mentioned above, such data may include
digitized images, text, graphics primitives, animation primitives, executable programs, etc., stored in database 61. The accompanying analog portion of such data is stored in digital form in database 60. For the data portion of an application,
controller 20 directs data server 10 via LAN 45 to unload the data from memory 61 and present the data to the user via path 11-1. For the audio portion of the application, controller 20 directs audio server 30 via LAN 45 to unload the associated
digitized audio from memory 60 and present the audio to the user via an ISDN channel of path 11-2. Application controller 20 may also direct server 10 (30) to expect receipt of a data (audio) file that is to be entered by the user and to store the file
in memory 61 (60). Application controller 20 transmits information to the user by placing that information on LAN 45 for delivery to the user via data server 10. Such information may relate to the status of a requested application or an error
associated therewith.
Audio server 30, which may also be 386-WGS and which also operates under the UNIX operating system, provides an interface between the user or application controller 20 and memory 60. In an illustrative embodiment of the invention, digitized
audio associated with respective applications and/or digitized audio provided by a user is stored in memory 60. Audio server 30 is therefore responsible for the storage and "playback" of audio that is associated with a respective multimedia application.
Operations Support System (OSS) 50, which may be, for example, the CompuLert system available from AT&T, monitors the overall operating status of system 100. Specifically, data server 10, application controller 20 and audio server 30 are
arranged to periodically send a status message to OSS 50 via communications links 10-1, 20-1 and 30-1, respectively. Such status messages (which are sometimes referred to as "heartbeat" messages) indicate to the OSS that the respective controller or
server is still operational. If OSS 50 fails to receive such a message within a predetermined period of time, e.g., once each minute, then OSS 50 assumes that the controller or server which failed to send the status message may be faulty, and therefore
notifies a system 100 administrator by outputting an appropriate message to a system terminal (not shown). If a controller or server detects an error itself, e.g., a possible fault in path 11-1, memory 60 or 61, or LAN 45, then the controller or server
notifies OSS 50 of that fact via a respective one of links 10-1, 20-1 or 30-1. OSS 50, in turn, outputs a message identifying the fault to the aforementioned system terminal.
The user may access system 100 by operating terminal T1, which may be, for example, a 386 or 486 based processor operating under the control of the MSDOS operating system. Specifically, terminal T1 includes a library of multimedia functions
associated with system 100 and conventional telephony circuitry so that it may interface with network 200. Such circuitry, which may be, for example, the model IDC circuit board available from DGM&S Inc., of Mount Laurel, N.J., implements an ISDN Basic
Rate Interface (BRI) interface represented in the FIG. by communications path 9. Such functions include, inter alia, decompressing data received over one or both of the BRI B channels of path 9 from system 100. The decompressed data may then be
displayed on the terminal T1 display 12 or stored in memory internal to T1, such as floppy or hard disk memory. In an illustrative embodiment of the invention, the decompressed data may be an executable program that is to be run on terminal T1 after it
has been stored and then executed in terminal T1.
It is seen in FIG. 1 that terminal T1 is associated with station set S1 and optional audio system 5. Audio system 5, more particularly, operates to present audio information to the user, in which the audio information is received from system 100
via either one of the two B channels of path 9. Alternatively, a user may present audio information to system 100 for storage in memory 60 by speaking into the station S1 handset. The speech signals received by station S1 are then presented to the
aforementioned IDC circuitry where they are digitized and then transmitted to system 100 over a B channel of path 9. It is also seen from the FIG. that terminal T1 may be associated with a conventional television monitor, or video display, 8. In this
way, information that is displayed on display 12 of terminal T1 may also be displayed on monitor 8. To do so, terminal T1 includes a conventional circuit for converting VGA formatted signals into NTSC video signals for display on monitor 8. As such,
information may be displayed on either or both terminal display 12 or monitor 8.
The user may also employ audio input device (or recorder) 6 as a means of transmitting audio via terminal T1 to system 100 for storage in memory 60 as an audio file. As such, audio input device 6 may be, for example, a microphone or an audio
tape recorder. Audio signals outputted by the microphone (or recorder) 6 are presented to amplifier 3 which then sends the signals to the IDC circuitry of terminal T1 for transmission to path 9 as discussed above.
(It is noted that the user may also store data on database 61, associated with server 10, as will be discussed below).
In an illustrative embodiment of the invention, a library of multimedia functions forming a unique multimedia protocol is provided to support the development and presentation of a multimedia application to a user via a telecommunications network. Specifically, the protocol is arranged, in accord with an aspect of the invention, so that it is independent of the architecture of system 100, the multimedia application and terminal T1. Because of this, different multimedia functions may be seamlessly
distributed between system 100 and terminal T1. The protocol thus facilitates communications among the elements forming a networked multimedia system including a user's terminal. Advantageously, then, a multimedia application developed in accord with
the protocol may be run on most multimedia systems as long as the systems support the inventive protocol.
The protocol, more particularly, includes messages for invoking (a) telecommunications functions, (b) data access functions, (c) audio functions, and (d) distributed application functions. The telecommunications functions include a set of
messages for establishing a communications connection between terminal T1 and system 100 and for establishing a conferencing connection. This message set includes (a) connect, (b) disconnect, (c) bridge call, and (d) unbridge call. The data access
functions includes a set of messages comprising (a) download data file, (b) upload data file, (c) stop data download, (d) stop data upload, (e) resume data download and (f) resume data upload. The audio functions include (a) play audio file, (b) pause
audio playback, (c) resume audio playback, (d) skip audio playback, (e) adjust volume, (f) stop audio playback, (g) record audio, (h) pause audio record, (i) resume audio record and (j) stop audio record. The distributed application functions includes a
set of messages comprising a (a) start application, (b) stop application, (c) pause application and (d) resume application. (The various commands associated with the audio server are shown in Appendix A. The format and function of the data server and
application controller commands are similar to those shown in Appendix A.)
As a result of the inventive protocol, a multimedia application may be, in accord with an aspect of the invention, segmented into logical components, or blocks, the presentation of which is under the control of the user. Advantageously, then,
only those blocks of the multimedia application called for by the user are downloaded to the user's terminal, thereby making efficient use of the telecommunications network bandwidth. Advantageously, such segmentation allows the components of the
application to be stored and transmitted in a manner most suitable to the type of data being transmitted. For example, audio information may be stored in database 60 in a predetermined format, e.g., an ADPCM format, which may be easily decoded and
coverted into a voice signal for transmission over the telephone network to the user.
As a result of the protocol, an application may be partitioned (segmented) into respective blocks. What this means is that an application is presented to a user in an efficient and rapid manner. For example, particular blocks of an application
may be downloaded to terminal T1 in a background mode and stored therein such that the blocks may be quickly brought up on terminal display 12 as they are called for by the user. For example, a block of the application program supporting a displayed
menu item having the highest probability of user selection may be downloaded in the background first, the block supporting the menu item having the next highest probability of user selection may be downloaded next, and so on. Accordingly, it is likely
that when the user selects a displayed menu item, the application data and/or software supporting that selection will be resident (stored) in the user's terminal. (Alternatively, the blocks may be downloaded sequentially based on their respective sizes,
rather than their selection probability. Still, the application blocks supporting displayed menu items may be downloaded in parallel and in the background mode (i.e., preloading), in which the network bandwidth is allocated among the blocks based on the
probability of their associated menu items being selected by the user. As another alternative, such bandwidth allocation may be based on the size of a data block. The order in which such blocks are downloaded sequentially or in parallel in the
background may also be specified explicitly by the application provider. That is, a larger portion of the bandwidth is allocated to a large data block than to a smaller data block. Conversely, a larger portion of the bandwidth may be allocated to a
smaller data block to ensure that the block is resident on the user's terminal before the user makes a menu selection.)
With the foregoing in mind, we now discuss the manner in which a multimedia application is requested and presented to a user associated with station S1 and terminal T1. Specifically, when the user enters a command to invoke the multimedia
function, terminal T1 displays a request for the user to enter a unique system 100 identifier, e.g., a conventional login, assigned to the user and to enter the user's password. Responsive to the user complying with the request, terminal T1 causes its
associated telephone circuitry to place an ISDN data call via network 200 to system 100. When system 100 (data server 10) accepts the call, then network 200 establishes a connection between one of two B channels of path 9 and an idle B channel of path
11-1. Once the ISDN connection is established, then terminal T1 transmits the login and password that the user entered. Upon receipt thereof, data server 10 returns an acknowledgement to terminal T1 if it finds that the received login and password are
valid. Otherwise, data server 10 returns an invalidity message to terminal T1 and then disconnects from the call.
In addition to the acknowledgement, data server 10 returns a menu of the multimedia applications that are resident on system 100, in which the menu is in a compressed format. Data server 10 also sends with the menu information identifying where
each of the multimedia applications associated with respective ones of the menu items are located in memory 61 and/or memory 60. Upon receipt thereof, terminal T1 using a conventional decompression algorithm decompresses the data (menu) and displays the
decompressed menu on terminal display 12. Terminal T1 also stores the decompressed application locating information in its internal memory.
The displayed menu of multimedia applications may include, for example, a travelogue, games, catalog shopping, education, etc. The menu may also include a multimedia application relating to the well-known Sesame Street (trademark of the Childrens
Television Workshop Corporation) television program. Accordingly, the following will be discussed in the context of the latter application. (It is understood, however, that the following discussion equally pertains to the other multimedia applications,
e.g., the multimedia applications mentioned above.)
If the user selects the Sesame Street application, such as by pointing a conventional mouse cursor to that displayed menu item and operating an associated mouse button, then terminal T1 obtains application locating information relating thereto
from its internal memory and forms a message containing a request to transmit the Sesame Street application and the locating information relating thereto. Terminal T1 then transmits the message to system 100 over the ISDN connection established by
network 200. Upon receipt of the message, data server 10 extracts the locating information from the message and uses that information to de | | |