JP3561016B2 - Multimedia system - Google Patents
Multimedia system Download PDFInfo
- Publication number
- JP3561016B2 JP3561016B2 JP31390394A JP31390394A JP3561016B2 JP 3561016 B2 JP3561016 B2 JP 3561016B2 JP 31390394 A JP31390394 A JP 31390394A JP 31390394 A JP31390394 A JP 31390394A JP 3561016 B2 JP3561016 B2 JP 3561016B2
- Authority
- JP
- Japan
- Prior art keywords
- multimedia
- program
- request
- application
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000011161 development Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 52
- 238000012545 processing Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 241000207961 Sesamum Species 0.000 description 6
- 235000003434 Sesamum indicum Nutrition 0.000 description 6
- 230000006837 decompression Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/103—Media gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/104—Signalling gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/148—Interfacing a video terminal to a particular transmission medium, e.g. ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0435—Details
- H04Q11/0457—Connection protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0435—Details
- H04Q11/0464—Primary rate access circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
【0001】
【産業上の利用分野】
本発明は、マルチメディア通信システムに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
公衆遠隔通信網におけるISDNの提供の結果、多くの新規なサービスが導入されている。前記サービスの1つは、マルチメディア、すなわち映像(すなわち画像)及び対応する音声信号の伝送を伴う。マルチメディアアプリケーションの結果として、発呼者及び被呼者は、ISDN通信パスを介して電話会話中にお互いを見たり聞いたりすることができる。マルチメディアは、ISDNを介して発呼者に提供することができる他のサービスアプリケーション、例えば、音声付き動画のような、発呼者を楽しませるアプリケーション、を含む。このようなマルチメディアサービスアプリケーションは、おそらく種々のマルチメディアアプリケーション提供者によって開発されていると思われる。それが実情とわかれば、使用者に、アクセスを遂行するのに用いる機器の形式、例えばコンピュータ端末、にかかわらず、種々の提供者により開発された種々のマルチメディアアプリケーションをアクセスするのを許すことが望ましい。
【0003】
マルチメディアアプリケーションの開発は容易な仕事ではなく、典型的には、アプリケーションの設計、“デバッギング”、そして使用者への提供のためのマルチメディアシステムへの格納を伴うことが認められる。アプリケーションは、新たに設計されたマルチメディアアプリケーションとマルチメディアシステム間に生じるかもしれないインターフェース問題を処理するために、マルチメディアシステムに格納された後で追加の“デバッギング”を要する場合がある。マルチメディアアプリケーションの設計者/提供者は、マルチメディアシステムを複製し、そのシステムをマルチメディアアプリケーションの設計/開発及びデバッギング段階の間のツールとして用いることによって、後者の問題を処理することができる。しかし、マルチメディアアプリケーションの設計及びデバッグに用いる目的でマルチメディアシステムを複製するのは、費用がかかりかつ多少無益なものとなると認められる。
【0004】
【課題を解決するための手段】
マルチメディアサービスの提供は、マルチメディアアプリケーションを使用者への提供のための複数の区分に分割させる通信プロトコルを用いることによって強化される。詳細には、本発明の通信プロトコルは、マルチメディアアプリケーションを使用者への提供のための多数の論理ブロックに分割させる方法で、各機能(遠隔通信、データ、音声等)を定義する複数のメッセージに埋め込まれる。したがって、本発明によれば、使用者が、特定のマルチメディアアプリケーションとインターフェースして、上述の機能のうちの1つを表わす特定の要求を入力した場合、使用者の関連データ端末は、その機能を定義するメッセージを発生してマルチメディアシステムに送り、該マルチメディアシステムは、使用者がアクセス中のマルチメディアアプリケーションを構成するプログラムブロックのうちの特定のブロックに関して要求された機能を実行することによって、それに応答する。
【0005】
本発明の他の態様によれば、マルチメディアアプリケーションの提供者は、前記アプリケーションを遠隔通信網を介して格納のためマルチメディアシステムに送り、前記アプリケーションの“デバッギング”及び/または開発を含む多数の異なる目的のために遠隔通信網を介して格納されているアプリケーションと対話させることができる。
【0006】
【実施例】
さて、図1を参照すると、本発明の原理を具体化したマルチメディアシステム100の主要ブロック図が示されている。詳細には、システム100は、使用者に特定のマルチメディアアプリケーションを提供するために互いに協動する多数の制御装置を含む。前記制御装置は、データサーバー10、アプリケーション制御装置20、音声サーバー30、ワークステーション40、開発プラットフォーム150及び動作援助装置50を含む。データサーバー10は、例えばAT&Tから入手できる386−WGSワークステーションとすることができ、MSDOSオペレーティングシステムのもとに動作して、マルチメディアアプリケーションの提供に関連するデータ機能を与えるようにプログラムされている。より詳細には、データサーバー10は、通信パス11−1を介して使用者とインターフェースし、使用者からの要求の受信に応じて、前記要求そのものを処理するかまたは前記要求をアプリケーション制御装置20もしくは音声サーバー(制御装置)30に送るかを決定する。例えば、要求が(a)音楽の特定の選択のような音声に向けられたものならば、データサーバー10は前記要求を処理するためにLAN45を介して音声サーバー30に送り、あるいは要求が(b)特定のマルチメディアアプリケーションに向けられたものならば、データサーバー10は前記要求をLAN45を介してアプリケーション制御装置20に送る。要求がデータ機能、例えばメモリ61に格納されている特定データ、に関するものならば、データサーバー10は、メモリ61から前記データをおろし、前記データを通信パス11−1を介して使用者に送る。本発明の実施例では、前記データは、例えば、データベース61に格納されている数値化された画像、文書、図形原線、アニメーション原線、実行可能なプログラム等でも良い。本発明の実施例では、前記データは圧縮されたフォーマットでデータベース61に格納することができる。(下記に説明されるように、前記データの圧縮解除は、データが使用者に提供される前に端末T1で行なわれる。)
【0007】
また、データサーバー10が使用者に与えるインターフェースは、通信パス11−1を介して到来する呼の受信を確認するように動作する。本発明の実施例では、通信パス11−1は、例えば、23のBチャンネルと1つのDチャンネルからなるISDN一次群速度インターフェース(PRI)通信パスとすることができる。周知のように、各Bチャンネルは電話呼(音声またはデータ)を転送するために用いられ、Dチャンネルは、Bチャンネルを介して転送される呼に関する信号情報を運ぶために用いられる。また、通信パス11−2、11−3及び152もISDN PRIとすることができる。
詳細には、使用者がマルチメディアシステム100に呼をかけると、電話通信網200は従来通りにその呼を処理し、通信パス11−1を介してデータサーバー10まで伸びているISDN D信号チャンネルを経由して到来する呼に対してシステム100を待機させる。前記待機は、呼を運ぶISDN Bチャンネルの身元(番号)のデータサーバー10への通知を含む。次に、データサーバー10は、前記信号に応じて、信号チャンネルを介して網200に呼受付メッセージを送り、それにより、システム100と使用者間の通信接続を確立する。その時点で、使用者及びシステム100は、下記に述べるように、互いにメッセージを交換し始めることができる。
【0008】
アプリケーション制御装置20は、より詳細には、システム100(制御装置20)が使用者の端末例えば端末T1に送る全てのマルチメディアアプリケーションを実行する責任がある。すなわち、制御装置20は、例えばAT&Tから入手できる386−WGSコンピュータとすることができ、Unixオペレーティングシステムの制御のもとに動作して、使用者にマルチメディアアプリケーションを提供する。ここで、アプリケーションはデータ及び/または声(音)を含むことができる。上述のように、前記データは、データベース61に格納されている数値化された画像、文書、図形原線、アニメーション原線、実行可能なプログラム等を含むことができる。前記データ中に付属しているアナログ部分はデジタル形式でデータベース60に格納される。アプリケーションのデータ部分については、制御装置20は、メモリ61からデータをおろして通信パス11−1を介して使用者に提供するように、LAN45を介してデータサーバー10に命令する。アプリケーションの音声部分については、制御装置20は、メモリ60から数値化された音声をおろして通信パス11−2のISDNチャンネルを介して使用者に提供するように、LAN45を介して音声サーバー10に指示する。また、アプリケーション制御装置20は、使用者により入力されることになるデータ(音声)ファイルの受信を待ち設けて前記ファイルをメモリ61(60)に格納するように、サーバー10(30)に指示する。アプリケーション制御装置20は、情報を、データサーバー10を介して使用者に運ぶためにLAN45上にのせることにより、使用者にその情報を送る。前記情報は、要求されたアプリケーションの状態またはそれと関連するエラーに関するものでも良い。
【0009】
音声サーバー30は、同様に386−WGSとしてUNIXオペレーティングシステムのもとに動作するものとすることができ、使用者またはアプリケーション制御装置20とメモリ60間のインターフェースを提供する。本発明の実施例では、各アプリケーションと関連する数値化された音声及び/または使用者より与えられる数値化された音声がメモリ60に格納される。したがって、音声サーバー30は、各マルチメディアアプリケーションと関連する音声の格納及び“再生”の責を負う。
【0010】
動作援助装置(OSS)50は、例えばAT&Tから入手できるCompuLert 装置とすることができ、システム100の総合動作状態を監視する。詳細には、データサーバー10、アプリケーション制御装置20及び音声サーバー30は、それぞれ通信リンク10−1、20−1及び30−1を介してOSS50に状態メッセージを周期的に送るように手配される。前記状態メッセージ(“心拍”メッセージと呼ばれることがある)は、制御装置またはサーバーがそれぞれまだ動作中であることをOSSに示す。OSS50は、予め決められた時間内に、例えば1分につき1回、前記メッセージを受け取ることができなかった場合は、状態メッセージを送ることができなかった制御装置またはサーバーが不良であると推定し、システム端末(図示しない)に適当なメッセージを出力してシステム100管理者に通知する。制御装置またはサーバーは、エラーそのもの、例えば通信パス、メモリ60か61、またはLAN45に起こり得る故障、を検出した場合は、リンク10−1、20−1または30−1の各リンクを介してその事をOSS50に通知する。次いで、OSS50は故障確認メッセージを上述のシステム端末に出力する。
【0011】
使用者は端末T1を操作してシステム100にアクセスすることができる。他端末T1は、例えば、MSDOSオペレーティングシステムの制御のもとに動作する、386または486をベースとした処理装置とすることができる。詳細には、端末T1は、システム100と関連するマルチメディア機能のライブラリと、網200とインターフェースできるようにするための従来の電話回路網を含む。前記回路網は、例えば、ニュージャージー州マウントローレルのDGM&S社から入手できるモデルIDC回路基板とすることができ、図において通信パス9で表わされているISDN基本速度インターフェース(BRI)インターフェースを実行する。前記機能は、とりわけ、システム100から通信パス9のBRIBチャンネルのうちの一方または両方を介して受信されるデータの圧縮解除を含む。次いで、圧縮解除されたデータは、端末T1の表示装置12に表示するか、またはフロッピーまたはハードディスクメモリのようなT1の内部メモリに格納することができる。本発明の実施例では、圧縮解除されたデータは、端末T1に格納された後で端末T1にランされ次いで実行されるべき実行可能なプログラムとすることができる。
【0012】
図1では、端末T1は端末機S1及び任意の音声装置5と関連しているのがわかる。音声装置5は、より詳細には、使用者の音声情報を提供するように動作し、この音声情報は、通信パス9の2つのBチャンネルのうちのいずれか一方を介してシステム100から受信される。その代わり、使用者は、端末機S1のハンドセットに話すことによって、メモリ60に格納するためにシステム100に音声情報を提供することができる。次いで、端末機S1から受信された通話信号は、上述のIDC回路網に提供されて数値化され、通信パス9のBチャンネルを介してシステム100に送信される。また、図1から、端末T1は、従来のテレビモニタすなわち映像表示装置8と関連することもできることがわかる。このように、端末T1の表示装置12に表示される情報はモニタ8に表示することもできる。それを行なうために、端末T1は、VGAフォーマット化信号をモニタ8への表示用のNTSC映像信号に変換するための従来回路を含む。そのようなものとして、情報は端末表示装置12またはモニタ8のどちらかまたは両方に表示することができる。
【0013】
また、使用者は、音声ファイルとしてメモリ60に格納するためにシステム100に端末T1を介して音声を送信する手段として、音声入力装置(またはレコーダ)6を用いることができる。そのようなものとして、音声入力装置6は例えばマイクロフォンまたはオーディオテープレコーダとすることができる。マイクロフォン(またはレコーダ)6より出力される音声信号は増幅器3に提供され、増幅器3は、上記に説明した通信パス9への送信のため、前記信号を端末T1のIDC回路網に送る。
【0014】
(使用者は同様に、下記に説明されるように、サーバー10と関連するデータベース61にデータを格納することができることが注目される。)
本発明の実施例では、独特のマルチメディアプロトコルを構成するマルチメディア機能のライブラリが、通信網を介する使用者へのマルチメディアアプリケーションの開発及び提供を援助するために与えられる。詳細には、このプロトコルは、本発明の態様に従って、システム100、マルチメディアアプリケーション及び端末T1と無関係になるように取り決められる。このため、種々のマルチメディア機能をシステム100と端末T1間に継ぎ目なく分配することができる。したがって、プロトコルは、使用者端末を含む網状マルチメディアシステムを構成する構成要素間の通信を容易にする。そして、好都合にも、前記プロトコルにしたがって開発されたマルチメディアアプリケーションは、システムが本発明のプロトコルを維持するかぎり、たいていのマルチメディアシステムにランさせることができる。
【0015】
このプロトコルは、より詳細には、(a)遠隔通信機能、(b)データアクセス機能、(c)音声機能、及び(d)分散アプリケーション機能を呼び出すためのメッセージを含む。遠隔通信機能は、端末T1とシステム100間の通信接続を確立したり会議接続を確立したりするメッセージ群を含む。このメッセージ群は、(a)接続、(b)切断、(c)ブリッジ呼、及び(d)非ブリッジ呼を含む。データアクセス機能は、(a)データファイルのダウンロード、(b)データファイルのアップロード、(c)データダウンロードの停止、(d)データアップロードの停止、(e)データダウンロードの再開、及び(f)データアップロードの再開からなるメッセージ群を含む。音声機能は、(a)音声ファイルの再生、(b)音声再生の中断、(c)音声再生の再開、(d)音声再生のスキップ、(e)音量調整、(f)音声再生の停止、(g)録音、(h)録音の中断、(i)録音の再開、及び(j)録音の停止を含む。分散アプリケーション機能は、(a)アプリケーション開始、(b)アプリケーション停止、及び(c)アプリケーション中断、及び(d)アプリケーション再開からなるメッセージ群を含む。(音声サーバーに関連する種々の命令は付属書類Aに示される。データサーバー命令及びアプリケーション制御装置命令のフォーマットと機能は、付属書類Aに示されるものと同じである。)
【0016】
本発明のプロトコルの結果として、また本発明の態様にしたがって、マルチメディアアプリケーションは論理構成要素すなわちブロックに分割することができるが、その提供は使用者の管理下にある。好都合にも、使用者より要求されるマルチメディアアプリケーションのこれらのブロックのみが使用者の端末にダウンロードされ、それにより遠隔通信網帯域の効率的な利用が行なわれる。好都合にも、前記分割は、アプリケーションの構成要素が、送信されるデータ形式に最も適する方法で格納され送信されるのを許す。例えば、音声情報を予め決められたフォーマット、例えばADPCMフォーマット、でデータベース60に格納することができる。前記ADPCMフォーマットは、使用者への電話通信網を介する送信のための音声信号に容易に復調、変換することができるものである。
【0017】
前記プロトコルの結果として、アプリケーションを各ブロックに区分け(分割)することができる。これが意味することは、アプリケーションは効率的かつ迅速な方法で使用者に提供されるということである。例えば、アプリケーションの特定のブロックをバックグラウンドモードで端末T1にダウンロードし、前記ブロックを、使用者が要求した時に端末表示装置12に迅速に持ち出せるように端末T1に格納することができる。例えば、使用者選択の見込みが最も高い表示メニューアイテムを援助するアプリケーションプログラムのブロックを、バックグラウンドにまずダウンロードすることができ、使用者選択の見込みが次に高いメニューを援助するアプリケーションプログラムのブロックを次にダウンロードすることができ、以下同様である。したがって、使用者が表示メニューアイテムを選択する時、その選択を援助するアプリケーションデータ及び/またはソフトウェアが、使用者の端末に内在(格納)されているのが適当である。
【0018】
(その代わりとして、ブロックを、選択の見込みよりむしろ各々のサイズに基づいて順次ダウンロードすることができる。なお、表示メニューアイテムを援助するアプリケーションブロックを、並列にバックグラウンドモード(すなわちプリローディング)でダウンロードすることができ、ここでは、網帯域幅は、使用者により選択される関連メニューアイテムの見込みに基づいてブロック間に割り当てられる。他の代替物として、前記帯域幅割当てはデータブロックのサイズに基づくことができる。前記ブロックがバックグラウンドにおいて順次または並列にダウンロードされる順番は、アプリケーション提供者によって明快に指定される。すなわち、帯域幅の大部分は小さい方のデータブロックより大きいデータブロックに割当てられる。反対に、帯域幅の大部分は、使用者がメニュー選択を行なう前にブロックが使用者の端末に内在しているということを確実にするために、小さい方のデータブロックに割当てることもできる。)
【0019】
前記のことを心に留めておいて、次に、マルチメディアアプリケーションが端末機S1及び端末T1と関連する使用者に要求され提供される方法を説明する。詳細には、使用者がマルチメディア機能を呼び出すための命令を入力すると、端末T1は、使用者に割当てられた唯一のシステム100識別子、例えば従来のログイン、を入力し、次に使用者のパスワードを入力するよう、使用者への要求を表示する。使用者がその要求に応じると、それに応じて、端末T1は、その関連電話回路網に網200を介してシステム100にISDNデータ呼をかけさせる。システム100(データサーバー10)が前記呼を受け付けると、網200は、通信パス9のBチャンネルのうちの1チャンネルと通信パス11−1の休止Bチャンネル間の接続を確立する。いったんISDN接続が確立されれば、端末T1は、使用者が入力したログイン及びパスワードを送信する。その受信に基づき、データサーバー10は、受信したログイン及びパスワードを有効と認めた場合端末T1に受取通知を返送する。さもなければ、データサーバー10は無効メッセージを端末T1に返送し、前記呼から切り離す。
【0020】
受取通知に加えて、データサーバー10は、システム100に内在するマルチメディアアプリケーションのメニューを返送する。システム100では、メニューは圧縮されたフォーマットになっている。また、データサーバー10は、メニューと共に、メニューアイテムのそれぞれと関連する各マルチメディアアプリケーションがメモリ61及び/またはメモリ60にあることを確認する情報も送る。その受信に基づき、端末T1は、従来の圧縮解除アルゴリズムを用いてデータ(メニュー)を圧縮解除し、この圧縮解除されたメニューを端末表示装置12に表示する。また、端末T1は圧縮解除されたアプリケーション位置情報をその内部メモリに格納する。
【0021】
表示されるマルチメディアアプリケーションのメニューは、例えば、紀行映画、ゲーム、カタログショッピング、教育等を含む。また、このメニューには、良く知られているセサミ ストリート(Childrens Television Workshop Corporation の商標)テレビ番組に関連があるマルチメディアアプリケーションを入れることもできる。よって、以下、セサミ ストリート アプリケーションに関連して説明する。(しかし、以下の説明は他のマルチメディアアプリケーション、例えば上述のマルチメディアアプリケーション、に平等に関係があることがわかる。)
【0022】
使用者が、例えばその表示されたメニューアイテムに従来のマウスカーソルを合わせて関連マウスボタンを操作することによって、セサミ ストリート アプリケーションを選ぶと、端末T1は、その内部メモリからそれに関する“アプリケーション位置情報”を得て、セサミ ストリート アプリケーション及びそれに関する位置情報を送信するための要求を含むメッセージを生成する。次いで、端末T1は、このメッセージを網200で確立されたISDN接続を介してシステム100に送信する。メッセージの受信に基づき、データサーバー10は、メッセージから位置情報を抽出し、この情報を用いて、データベース61における要求されたアプリケーションの第1ブロックの格納位置を確認する。次いで、データサーバー10は、アプリケーションの第1ブロックを降ろして、その圧縮された形式のものを端末T1に送信する。ここで、第1ブロックは、(a)端末T1に表示されることになる仕切りと、(b)実行可能なプログラムとからなる。第1ブロックの受信に基づき、端末T1は前記データを圧縮解除し、受信したプログラムを実行する。受信したプログラムは、順次、付随の仕切りを表示装置12に表示させ、セサミ ストリートの番組主題歌の再生を始めるための要求を音声サーバーに送る。
【0023】
前記仕切りは、種々の対象物、例えば、ボール、汽車、本箱、アーケードゲーム等、で満たされた部屋を示す。各対象物はメニュー選択を表わす。例えば、(a)ボールを選択すると、弾むボールが関連の音響効果を伴って表示され、(b)汽車を選択すると、円形軌道を走る汽車が関連の音響効果を伴って表示され、(c)本箱を選択すれば、物語の本機能が表示される。本発明の一態様として、システム100は、上述のように、使用者がどのメニューアイテムを選ぶかを決める間、考慮中のアプリケーション部分をダウンロードすることができる。例えば、ボールと汽車は、使用者がメニューアイテムを選択する前にダウンロードすることができるアニメーション型アプリケーションである。
【0024】
使用者が例えば汽車マルチメディアアプリケーション(動画プラス音)を選択すると、その選択を援助するアプリケーションブロックは既に端末T1に内在する。したがって、端末T1は、その使用者選択に迅速に応じて、汽車アニメーションと関連の音響効果の再生を表示することができる。汽車アニメーションは、より詳細には、やや円形の軌道上を動いている汽車を、汽笛を表わす音を伴って表示する。一方、使用者が本箱メニューアイテムを選択すると、端末T1はそのアプリケーションを援助するメニューを表示する。ここで、前記メニューは、プリ−ダウンローディング フィーチャの結果として既に端末T1に格納されている。本箱メニューは、表示装置12に表示される場合、各々が各本の書名を含む種々の本の表紙を描く画像を示す。このメニューは背景音すなわちセサミ ストリート番組主題歌を伴う。前記本は各々、一連の絵と、物語を話す音から構成される。使用者がどのメニューアイテムを選択するか決める間、システム100は、上記に説明したように、前記各本の第1ページを端末T1にダウンロードする。使用者が本を選択した場合は、端末T1は、予め格納されている選択された本の第1ページを表示する。さらに、端末T1は、選択された第1ページと関連する音声ファイルの名前を含むメッセージを生成し、このメッセージを通信パス9を介してシステム100に送る。アプリケーションは、音声チャンネルを必要とする場合(これは上述の音響効果を再生する場合である)、データサーバー10を介して音声サーバー30にその音響効果の要求を送る。音声サーバー30は、この要求に応じて、特定の命令を網200に送って通信パス11−2を確立させる。
【0025】
前記メッセージの受信に基づき、データサーバー10はこの要求をLAN45を介して音声サーバー30に送る。サーバー30は、順次、メモリ60から確認されるファイルを降ろし、網200を経由して端末T1間で伸びる通信パス11−2の関連Bチャンネルを介して、連続(等時)ビットストリームとして前記ファイルを送信する。端末T1は次に、受信したビットストリームをアナログ信号に変換して端末機S1または音声装置5に提供する。同様に、使用者が音声を聞きながらそのページを見ている間、システム100は選択されたほんの次のページを端末T1にダウンロードする。端末T1及びシステム100は、選択された本の最終ページが使用者に提供されるまで上記のように動作し続ける。その時点で、使用者は本メニューの再表示を要求して、上記に説明したように続けることができる。その代わりとして、本選択メニューが表示された時、使用者はメインメニューを選択することができる。
【0026】
本発明の一態様として、使用者、例えば端末機S1及び端末T1と関連する使用者、は特定のマルチメディアアプリケーションを見ながら、“本物の”代理者、例えば旅行代理業者、にアクセスすることができる。例えば、使用者は、端末機S1または案末T1のどちらかに出力される音声を伴う表示装置12上のマルチメディア紀行映画アプリケーションを見ていて、旅行代理業者との接続を望む場合、システム100にこのような接続の要求を入力することができる。使用者は、紀行映画と共に表示されている特定のアイコンにスクリーンカーソルを合わせてそのアイコンを従来のやり方で選択することにより、この事を行なうことができる。端末T1はこれに応じてブリッジ呼メッセージ(下記に説明される)をシステム100に送る。そのメッセージの受信に基づき、データサーバー10はLAN45を介して音声サーバー30に指示して、通信パス11−2の利用できるISDN Bチャンネルを介する呼を、前記アプリケーションと関連する代理者(操作者)、例えば案内者すなわち操作者225、にかけさせる。前記呼が応答されると、音声サーバー30は網200に信号を出し、その呼を通信パス9を介してシステム100に届く使用者の呼に橋渡しさせる。次いで、音声サーバー30はブリッジ呼の接続を断ち、紀行映画アプリケーションは、代理者への呼が完了するまで一時停止される。前記呼が完了すると、音声サーバー30は通信パス11−2を介して端末T1に再接続する。次いで、システム100は紀行映画の提供を継続する。
【0027】
図1からわかるように、システム100は、ワークステーション40とアプリケーション開発プラットフォーム(ADP)150も含み、これらは、システムと、それぞれアプリケーション供給装置125及び175のような、マルチメディアアプリケーションの開発者と関連するマルチメディアアプリケーション開発設備をインターフェースさせるために用いられる。本発明の実施例では、ワークステーション40は、例えばゲートウェイ(Gateway) 社から入手できるゲートウェイ2000コンピュータとすることができ、アプリケーション供給装置例えば供給装置125がシステム100(データベース60及び61)に開発中のアプリケーションを格納することができるメカニズムを提供する。供給装置125は、BRI ISDNパス126を介してISDN呼をかけてワークステーション40との接続を確立することにより、その通り行なうことができる。いったん接続が確立されれば、供給装置125はワークステーション40とやり取りして、メモリ60及び/または61にアプリケーションを格納するようにワークステーション40に指示することができる。システム100へのアプリケーションの転送を有効にするために、供給装置125は、データのアップロード命令(下記に説明される)を用いて、アプリケーションを構成する各ファイルをパス126を介してワークステーション40に送信する。ワークステーション40は、ファイルの受信に応じて、受信したファイルのデータ(音またはデジタルデータ)の形式に基づいてメモリ60または61にそのファイルを格納する。前記ファイルの全てがシステム100に格納されると、供給装置125は、パス126を介してアプリケーション開発プラットフォーム(ADP)150に呼をかけることによって、格納されたアプリケーションを“デバッグ”することができる。
【0028】
ADP150は、同様にゲートウェイ2000コンピュータとすることができ、呼に応答して、まるで供給装置が使用者例えば端末機S1や端末T1と関連する使用者であるかのように、供給装置の格納されるアプリケーションを供給装置に提供することに関連するシステム100の機能をまねる(エミュレートする)ように、サーバー10及び30と制御装置20を反復させる。したがって、本発明の一態様により、システム100は、アプリケーション供給装置に、供給装置が開発中のアプリケーションをシステム100に格納させ、そのあと遠隔通信網200を介してそのアプリケーションを“デバッグ”する(すなわちエラーを発見して訂正する)ようにシステム100をアクセスさせる機能を提供する。したがって、アプリケーション供給装置は、使用者が最終的にアプリケーションとインターフェースするのと実質的には同じように関連アプリケーションとインターフェースする。
【0029】
マルチメディアアプリケーションを働かせるソフトウェアは端末T1とシステム100間で分割することができる。図2を参照すると、端末T1に格納されて、端末T1を操作する使用者にマルチメディアシステムすなわちプラットフォーム100にアクセスさせるメインメニュープログラムが示される。より詳細には、使用者が名メニュープログラムを呼び出すと、プログラムはブロック300に入って、ブロック301に進み、使用者にログイン及びパスワードの入力を促す。使用者がそれを行なうと、プログラムはブロック302に進み、上述のISDN基板の動作を制御するソフトウェアばかりでなく該基板も初期化する。次いで、プログラムは、基本速度ISDNチャンネルの2チャンネルのうちの一方を用いてマルチメディアプラットフォーム100への電話呼を確立する(ブロック303)。電話呼が確立されると、メインメニュープログラムとシステム(プラットフォーム)100は互いに通信する。前記通信は、プラットフォーム100に入力されるパスワード及びログオンの通過を含む。プラットフォーム100がログオンを無効と認めると、プラットフォーム100はISDN接続を終わらせる。プログラムは、それに応じて、その事を表わすメッセージを表示し、退出する。しかし、プラットフォームは、入力されたログオンを有効と認めると、その事をプログラムに通知し(ブロック304)、使用者がアクセスできるマルチメディアサービスのメニューをダウンロードする。その受信に基づき、プログラム(ブロック305)は前記サービスを表示し、使用者が選択を入力するのを待つ(ブロック306)。使用者が選択を入力すると、プログラム(ブロック306)はその選択をプラットフォーム100に送り、そのあと、下記に説明されるように、プラットフォーム100から受信された時にその選択をランする(ブロック307)。マルチメディア選択が終わると、プログラムはサービスのメニューを表示し(ブロック308)、使用者が次の選択を入力するのを待ち受ける。使用者が選択を入力すると、上記に説明したように、プログラムは入力された選択をマルチメディアプラットフォームに送る。(ブロック306)。一方、使用者がその活動期間を終わらせることを望んで、その事を表わす識別子、例えばquitの“q”を入力した場合は、プログラムはそれをプラットフォームに通知してISDN接続を終わらせる。
【0030】
メインメニュープログラムは、バックグラウンドモードでランするように設計されている多くの他のプログラムすなわちタスクによって援助される。前記プログラムの1つは、図3に示されるようなISDNタスクを実行する。詳細には、このタスクは、ブロック400で入力されると、多数の機能の初期化に進む(ブロック401)。前記初期化は、選択されたアプリケーションに関連するデータファイルの格納のために必要な待ち行列の設定を含む。前記データファイルは、プラットフォームから使用者の端末への及びその逆のファイルのダウンローディングを含む。また、初期化は、データ圧縮及び圧縮解除タスクを呼び出すことも含む。次いで、プログラムは、アプリケーションからの要求すなわち次のデータファイルを“得る”ための要求の受信を待ち受ける。また、ISDNタスクは、いわゆる簿記タスクの呼出し(ブロック408)を含む。この簿記タスクは、下記に説明されるような種々のISDN機能ばかりでなく、使用者の端末がプラットフォームとの通信中に実行するログオン及びログオフ機能をたどるものである。また、ISDNタスクはデータ転送機能も呼び出す(ブロック405)。このデータ転送機能は、使用者の端末とプラットフォーム間でデジタルデータファイルを転送するように動作する(ブロック409)。同様に、ISDNタスクは音声機能も呼び出す(ブロック406)。この音声機能は、選択されたアプリケーションの指令を受けて、アプリケーションプラットフォームからの数値化音声ファイルを受信してスピーカ4でこの音声を“再生”する用に動作する(ブロック410)。選択されたアプリケーションからの受信される要求に上記機能(ブロック403、405または406)がなければ、ISDNタスクはいわゆる否定的な受取通知をアプリケーションに送り(ブロック407)、選択されたアプリケーションからの次の要求を待ち受ける(ブロック402)。
【0031】
上述の簿記機能403のフローチャートは図4に示される。詳細には、簿記機能は、呼び出されると(ブロック500)、受信された要求が上述のISDNハードウェアを初期化するための要求かどうかを確認する(ブロック501)。そうであった場合は、プログラムはISDNハードウェアを初期化する(ブロック506)。前記初期化を行なうための要求は、通常、アプリケーションプログラムが、使用者の端末とプラットフォーム100間のISDN通信パスが不明の状態にある、例えば端末が“切られている”、と推断した時に生じる。それが違うならば、プログラム(ブロック502/503)は、要求が特定形式のISDN接続/切断のための要求かどうかを知るためにチェックする。接続要求については、プログラム(ブロック507)は、プラットフォーム100への特定の接続を定義するパラメータを含む、いわゆる接続命令を送る。切断要求については、プログラム(ブロック508)は、プラットフォーム100との切断を定義するパラメータを含む切断命令を送る。特定の機能(すなわちブロック506、507または508)が首尾良く実行された場合は(ブロック504)、プログラムは、“VAL”と呼ばれる識別子を、要求された機能が首尾良く完了したことを表わす1にセットし(ブロック505)、そのあとブロック402に戻る。さもなければ、プログラムは、VALを、要求された機能405が失敗したことを表わす0にセットする(ブロック509)。
【0032】
上述のデータ機能のフローチャートは図5に示される。詳細には、データ機能は、呼び出されると(ブロック600)、選択されたアプリケーションから受信されたデータ要求の形式を確認する。データ要求が、いわゆるプラットフォームから使用者の端末へデータをダウンロードするための要求とわかった場合(ブロック601)は、プログラムは、いわゆるダウンロード処理待ち行列にこの要求を加え(ブロック604)、そのあと図3のブロック402に戻る。一方、要求が、使用者の端末からプラットフォームへデータをアップロードするための要求とわかった場合(ブロック602)は、プログラムは、いわゆるアップロード処理待ち行列にこの要求を加え(ブロック605)、そのあとブロック402に戻る。プログラムは、要求が、ダウンロードまたはアップロード以外の何か、すなわち、処理のために既に待ち行列に並んでいる特定の要求の取消し、であるとわかった場合は、この特定の要求のために状態を更新する(ブロック606)。プログラムは、この特定の要求に関する取消しメッセージをプラットフォームすなわちデータまたは音声サーバーに送る(ブロック607)。そのあと、プログラムはブロック402に戻る。
【0033】
図6は、データファイルダウンローディング機能を実行するためにバックグラウンドモードでランするタスクすなわちプログラムをフローチャート形式で示す。呼び出されると(ブロック700)、プログラム(ブロック701)は、プラットフォームから使用者の端末へファイルをダウンロードするための要求を受信したかどうかを知るためにチェックする。それがその通りならば、プログラム(ブロック703)は、関連待ち行列にこの要求を格納し、そのあとブロック702に進む。次いで、プログラム(ブロック702)は、現在プラットフォームからデータを受信中かどうかを知るためにチェックし、そうであるとわかればブロック701に戻る。そうでなければ、プログラム(ブロック704)は、その関連待ち行列が空いているかどうかを知るためにチェックし、空いていればブロック701に戻る。さもなければ、プログラム(ブロック705)は、(a)プラットフォームから受信したデータファイルを読み取って圧縮解除し、(b)そのあと前記ファイルに含まれている命令に従って前記ファイルを処理するためのものであるタスクを呼び出す(生成する)。そのあと、プログラムはブロック701に戻る。
【0034】
図7は、データファイルアップローディング機能を実行するためにバックグラウンドモードでランするタスクすなわちプログラムをフローチャート形式で示す。図7に示されるプログラムは、図6に示されるプログラムに多少類似しているが、異なる機能を実行する。詳細には、呼び出されると(ブロック800)、プログラム(ブロック801)は、使用者の端末からプラットフォームすなわちデータまたは音声サーバーへ特定のファイルを送信するための要求を受信したかどうかを知るためにチェックする。それがその通りならば、プログラム(ブロック803)は、関連待ち行列にこの要求を格納し、そのあとブロック802に進む。次いで、プログラム(ブロック802)は、現在プラットフォームにデータを送信中かどうかを知るためにチェックし、それがその通りとわかればブロック801に戻る。プログラムは、アップロードモードにないことがわかれば、その関連待ち行列が空いているかどうかを知るためにチェックし(ブロック804)、空いているとわかればブロック801に戻る。さもなければ、プログラム(ブロック805)は、アップロードされるべきデータファイルを圧縮し、このファイルをプラットフォームに送信する(生成する)。そのあと、プログラムはブロック701に戻る。
【0035】
図8乃至図19は、音声サーバー30(図1)において本発明を実行するプログラムをフローチャート形式で示す。詳細には、図8を参照すると、アナログサーバーがオンにされて“役立てられる”と、プログラムはブロック900に入り、網と音声サーバーをインターフェースするインターフェース(I/F)回路基板の初期化に進む(ブロック901)。また、プログラムは多数のプログラム変数も初期化して、使用者の端末に網200を介して接続されるべき音声ISDN_Bチャンネルを要求するデータサーバーからのメッセージの受信を待ち受ける(ブロック902)。このメッセージの受信に応じて、プログラム(ブロック903)はB_チャンネル_サーバー処理を生成し、下記に説明されるように、後者の処理を使用者の端末に接続されたB_チャンネルと関連させる。次いで、プログラム(ブロック904)は新しく生成された処理と関連する待ち行列に受信したメッセージを格納し、そのあとブロック902に戻って、データサーバー10からの次の接続メッセージの受信を待ち受ける。
【0036】
図9は、音声サーバーに接続される特定のISDN_Bチャンネルを使えるようにするために生成されるB_チャンネル_サーバー処理をフローチャート形式で示す。すなわち、B_チャンネル_サーバー処理は前記各接続に役立つように生成される。詳細には、生成された場合、B_チャンネル_サーバー処理(“プログラム”)はブロック1000に入り、特定のISDN_Bチャンネルを使えるようにするために用いる多数のプログラム変数を初期化する。次いで、プログラム(ブロック1001)はその関連待ち行列から要求メッセージを降ろし、そのあとメッセージに含まれている要求の形式に基づいて分岐する(ブロック1002)。前記分岐は、プログラムを、図に示される1016を介して14のサブルーチンのうちの1つ1003に分岐せしめる。プログラムは、要求メッセージが不明の形式からなる場合は最後の前記サブルーチン1017に分岐する。サブルーチン1017はエラーを記録し、そのあと、関連待ち行列に格納されている次の要求メッセージを処理すべくブロック1001に戻る。
【0037】
残っている1016を介するサブルーチン1003について次に説明する。詳細には、ブロック1003の拡大したものが図10に示される。プログラム獲得ブロック1003は、要求メッセージが音声サーバーと使用者の端末間の一次群(PRI)速度Bチャンネル音声接続を確立するための要求であることを意味する。その通り行なうために、プログラム(ブロック1003−2)はまず、データ及びアナログサーバーの両方でアクセスされる、いわゆる包括情報テーブルをチェックして、使用者に割当てることができる2Bチャンネルが、データサーバー10及び/または音声サーバー30によりデータパスとして既に割当てられているかどうかを確認する。それがその通りならば、プログラムは接続メッセージに応じることができない。さもなければ、プログラムは休止Bチャンネルを接続に割当て、そのあと、割当てられたチャンネルが使用中であることを示すために関連メモリテーブルを更新する。次いで、プログラム(ブロック1003−3)は、(上述のように)ISDN網と音声サーバーをインターフェースするインターフェース(I/F)回路基板とのBチャンネル接続を確立するための命令を送る。ここでは、命令は応答側電話番号と選択されたBチャンネルのチャンネル番号とを含む。I/F回路は、次に、関連ISDN_Dチャンネルを介して前記電話番号及びチャンネル番号を含む呼設定メッセージを送り、それにより使用者の端末に呼を効果的に掛ける。次いで、プログラム(ブロック1003−4)は、各々の実際の使用者と、各使用者により選択されたアプリケーションに割当てることができるISDNチャンネルの2チャンネルの状態を追跡するのに用いられる上述の包括情報テーブルを更新する。そのあと、プログラムはブロック1001に戻る。
【0038】
ブロック1004の拡大したものが図11に示され、これは、受信された要求が特定のアナログファイルを再生するための要求に関連する場合に入る(ブロック1004−1)。入った場合、プログラム(ブロック1004−2)は、再生サーバーが、同一の前の要求の結果として既に作動(生成)中であるかどうかを知るためにチェックする。それがその通りならば、プログラム(ブロック1004−3)は、音声アプリケーション、例えば接続されたBチャンネルを介する音楽ファイルの再生、のための使用者の要求に役立つように生成された再生サーバーの待ち行列に現在の要求を格納する。次に、プログラム(ブロック1004−4)は、使用者の要求に役立つ再生サーバールーチン(再生_サーバー)を生成し、そのあとブロック1004−3に進む。
【0039】
ブロック1004−4(図11)で生成されるプログラムは図12に示される。詳細には、入った場合、プログラム(ブロック1004−41)は、ランニング時間中に用いる多数の変数及びリスト、例えば再生リスト、を初期化する。プログラム(ブロック1004−42)は、次に、使用者に対して“再生される”準備を整えているファイルの1つ以上の再生要求を含むかどうかを知るためにその待ち行列をチェックする待ち行列が空いていれば、プログラムは退出する。(すなわち、プログラムは、関連待ち行列にエントリが入っている限りランし続ける。)さもなければ、プログラム(ブロック1004−43)は、ファイルを“再生”できることを表わすインジケータと関連するファイル、例えば数値化された音楽または物語を含むファイル、のリストを作成する。より詳細には、“ファイルの再生”は、プログラムが、ファイルを構成する数値化データをその関連音声メモリ60から降ろしてI/F基板に供給することを意味する。I/F基板は、次に、数値化データをアナログ形式に変換して、割当てられたアナログBチャンネルを介して使用者に送信する。インジケータが意味するものは、ファイルの再生、中断、スキップ、または再開(それぞれブロック1005、1007及び1006)のための要求である。ファイルを確認する要求であって、ファイルの再生を中断するための、待ち行列に並んでいる他の要求(インジケータ)と関連する要求は、待ち行列から除去されず、ファイルの再生を再開するための要求が受信されて関連待ち行列に格納されるまで前記待ち行列内に留まる。ファイルの再生の停止(ブロック1007)のための要求、またはファイル内容の“再生”の終了は、プログラムに、前記再生を停止させ、そのファイルを確認する関連要求を退けさせる。
【0040】
プログラムが、このようなリストの作成が終わると、プログラム(ブロック1004−45)は、上述のように、リスト中の各ファイルを再生せしめる、すなわち使用者に送信せしめる、再生_リスト処理に入る(図13のブロック451)。実際のファイル再生は、ブロック454で生成される、ファイル_プレーヤ処理で行なわれる。しかし、ファイル_プレーヤ処理が既に能動状態にあれば(ブロック452)、プログラムは前記要求をファイルプレーヤの待ち行列に加える。図12に戻ると、再生リストが空いていれば(ブロック1004−44)、プログラム(ブロック1004−46)は、新しいエントリ(すなわち再開または再生要求)が関連要求待ち行列に格納されるまで待機する。前記通知の受信に基づき、プログラムはブロック1004−42に戻る。
【0041】
ブロック454で生成されるファイル_プレーヤ処理は図14に示され、ブロック454−1から入る。詳細には、プログラム(ブロック454−1)は、種々のソフトウェア変数を初期化し、次いで、その関連待ち行列が空いているかどうかを確認する(ブロック454−2)。もしその通りならば、プログラムは退出する。さもなければ、プログラムは、使用者がある番号ファイルの再生(すなわち再生モード)を要求したことを書き留めるために使用者の情報テーブルを更新する。次いで、プログラムは、上記に説明した方法で、すなわちファイル内容を降ろしてI/F基板に送ることによって、そのファイルを“再生”する。前記降ろし作業中、プログラムは、ファイル終了(EOF)インジケータに行き当たったかどうかまたはファイルの再生停止ための使用者要求を受信したかどうかを調べるために追求する。プログラム(ブロック454−5)が、ファイルの再生を停止するための使用者要求(RQST)に行き当たった場合、プログラム(ブロック454−6)は、ファイルの送信を終わらせるための命令をI/F基板に送り、その結果、そのファイルの再生が終了する。さもなければ、プログラムはブロック454−2に戻る。
【0042】
上記に説明したように、マルチメディアプラットフォーム100の多才さは、使用者が音楽のようなアナログファイルをディスクファイル60に格納するのを許すオプションを備えたアプリケーション開発装置を提供する。そのために、使用者は、ディスクに音声ファイルを格納するための要求を入力することによって前記オプションを呼び出すことができ、ここでは、この要求はデータ及び音声サーバーを介してBチャンネルサーバーに運ばれる。(使用者により創作されたファイルをディスクメモリ60に格納するというアイデアは、ここではファイルの“記録”と呼ばれる。)前記要求の受信に応じて、図9のBチャンネルサーバーは、ブロック1009に分岐して要求を処理する。ブロック1009の拡大したものは図15に示される。入った場合(ブロック1009−1)、記録_要求ルーチンは、記録サーバーが使用者の要求を処理するために既に生成されているかどうかを知るためにチェックする(ブロック1009−2)。それがその通りならば、プログラム(ブロック1009−3)は、使用者の要求を記録_サーバー処理と関連する待ち行列に格納する。また、プログラムは、待ち行列に、使用者の記録を格納するために用いられるファイルの身元(位置)も格納する。そのあと、プログラムはブロック1001に戻る。サーバーがそのように生成されていなければ、プログラム(ブロック1009−4)は、前記要求を処理するためのサーバーの複製を生成し、そのあとブロック1009−3に進む。
【0043】
図16は、図15のブロック1009−4で生成される記録_サーバー処理をフローチャート形式で示す。この記録_サーバー処理は、使用者が将来使用するために、例えば音楽の特性を表わすアナログデータをディスク60に格納するためのものである。詳細には、入った場合(ブロック1009−41)、プログラムは、多数の変数及びその現在のエントリ中に用いるリスト、例えば記録リスト、を初期化する。次いで、プログラム(ブロック1009−42、1009−43、1009−44及び1009−45)は、使用者のためにメモリに格納される準備ができているファイルの1つ以上の記録要求を含むかどうかを知るために、待ち行列をチェックする。待ち行列が空いていれば、プログラムは退出する。(すなわち、プログラムは、エントリがその関連待ち行列に含まれている限りランし続ける。)さもなければ、プログラム(ブロック1009−43)は、インジケータと関連するファイルであって、プログラムがメモリ60への格納のためにI/F基板を介して受信するのを期待するファイルのリストを作成する。より詳細には、“ファイルの記録”とは、プログラムが、使用者に接続されたBチャンネルと関連するI/F基板からファイルを構成するデータを受信して、使用者のためにメモリ60に格納することを意味する。I/F基板は、関連Bチャンネルを介するアナログデータの受信に基づき、該アナログデータをデジタル形式に変換する。次いで、記録_サーバー(すなわち下記に説明される記録_リスト処理)は、上記に説明されるように、数値化データを格納する。インジケータが意味するものは、(a)ファイルの“記録”、(b)ファイルの記録の“中断”(ブロック1010)、(c)ファイルの記録の“再開”(ブロック1011)、及び(d)ファイルの記録の“停止”(ブロック1012)のための要求である。ファイルを確認する要求であって、ファイルの記録を中断するための、待ち行列に並んでいる要求(インジケータ)と関連する要求は、待ち行列から除去されず、前記記録を再開するための要求が受信されて関連待ち行列に格納されるまで前記待ち行列内に留まる。ファイルの記録の停止のための要求は、またはファイルを構成するデータの最後の受信に基づき、プログラムに前記記録を停止させる。プログラムの一態様(ブロック1009−46)は、図17に示される記録_リスト処理に入いることである。
【0044】
記録_リスト処理の構成は、図13に示される再生_リスト処理の構成に類似しているのがわかる。そのようなものとして、記録_リスト処理の動作は、図13及び図17の両方を参照することによって容易に理解することができるので、図17についてはここでは説明しない。しかし、記録_リスト処理は、(a)ファイル_レコーダ処理を、まだ能動状態になっておらず使用者に役立つ場合に生成し、(b)該ファイル_レコーダ処理の待ち行列に前記記録リストを加え、そのあとブロック1009−42に戻る、と言うにとどめておく。
図18は、記録_リスト処理で生成されるファイル_レコーダ処理をフローチャート形式で示す。図18から、ファイル_レコーダ処理の構成はファイル_プレーヤ処理の構成に多少類似しているのがわかる。したがって、ファイル_レコーダ処理を構成する多数のブロックで実行される機能は、その類似性とファイル_プレーヤ処理の前記説明との結果として容易に確かめることができるので、図18についてはここでは説明しない。
【0045】
使用者が前記ファイルを聞いていて、再生音量が高すぎるかまたは低過ぎる場合には、使用者は音量調整のための要求を入力することができる。この要求の受信に応じて、図9のブロック1013のB_チャンネルプログラムは、使用者に接続されたBチャンネルと関連するI/F基板に命令して、そのチャンネルを介して使用者に送信中の情報、例えば音楽、の音量を増減する。
いくつかのアプリケーション例えば紀行映画アプリケーションでは、使用者は、アプリケーションと関連する本物の操作者または代理者との交信を求めることができる。例えば、紀行映画に関連するマルチメディアアプリケーションを見ていて、使用者は、旅行代理業者と交信して、アプリケーションにおいて見渡される観光“場所”についてさらなる詳細を得たいと思うかもしれない。その通りならば、アプリケーションは、使用者に、アプリケーションと関連する旅行代理業者と交信するための要求を入力させるのが適当である。したがって、このような要求に応じて、プログラムは、会議機能を実行するためのものである図9のブロック1014に分岐する。ブロック1014の拡大したものは図19に示される。図19に示されるサブルーチンすなわちプログラムは、図10に示されるサブルーチンに多少類似しているのがわかる。しかし、ブリッジ_呼プログラムは多少異なる動作を行なう。詳細には、このプログラムは、入った場合(ブロック1014−1)、休止Bチャンネルを入手し(1014−2)、チャンネル割当て表において話中として該チャンネルに符号をつける。次いで、プログラムは、インターフェース基板に命令を送って、要求メッセージに含まれる電話番号とのBチャンネルを介する電話呼を確立する。このメッセージは、この場合にはデータサーバーによって起こされたものである。また、プログラムは、前記命令に、使用者に割当てられたアナログBチャンネルで新たに確立される呼と会議する(ブリッジする)ための要求も含む。次いで、プログラム(ブロック1014−4)は、アプリケーションの状態を追求してBチャンネルの割当てを記録する包括使用者情報テーブルを更新する。そのあと、プログラムはブロック1001に戻る。
【0046】
この時点で、I/F基板が第三者(例えば旅行代理業者)との接続を確立すれば、使用者と第三者は互いに交信することができることがわかる。使用者と第三者の会話が終わった時、使用者は第三者との接続を終わらせる(ブリッジをやめる)ための要求を入力することができる。このような要求は、使用者により入力されるほとんどの要求と同様に、使用者の端末とデータサーバー間のISDN接続によりBチャンネルサーバーに運ばれる。このような要求の受信に基づき、B_チャンネル_サーバープログラムは、ブロック1015で表わされる非ブリッジ呼ルーチンに分岐する。ブロック1015の拡大したものは図20に示される。より詳細には、非ブリッジ呼ルーチンは、入った場合(ブロック1015−1)、第三者との呼を確立するために用いられたISDN Bチャンネルの身元を使用者の情報テーブルから得る。次いで、プログラム(ブロック1015−2)は、Bチャンネル接続を終わらせるための命令をI/F基板に送る。ここで、この命令はBチャンネルを確認するためのものである。次いで、プログラム(ブロック1015−3)は、(a)Bチャンネルが休止して使用者情報テーブルを更新すること、(b)第三者との接続は切断されたこと、及び(c)使用者に割当てられたBチャンネルはブリッジされていないことを示すためにチャンネル割当てテーブルを更新する。そのあと、プログラムは図9のブロック1001に戻る。
【0047】
使用者と関連するアナログBチャンネルがもはや必要がなくなった場合は、プログラムは図9のブロック1016に分岐する。ブロック1016の拡大したものは図21に示される。入った場合(図21のブロック1016−1)、プログラムは、関連Bチャンネルを切断するための切断命令をI/F基板に送る(ブロック1016−2)。ここで、この命令は関連Bチャンネルを確認するためのものである。次いで、I/F基板は、切断命令中の情報を用いて信号メッセージを生成し、関連信号(D)チャンネルを介して送る。次いで、プログラム(ブロック1016−3)は、Cチャンネルが休止し、それに応じて使用者情報テーブルを更新することしを示すために割当てテーブルを更新する。そのあと、プログラムはブロック1001に戻る。
【0048】
データサーバーを働かせるプログラムは、下記に見られるように、音声サーバーを働かせるプログラムに多少類似している。詳細には、データサーバーに電力が印加されて“使えるようになる”と、図22に示される処理を生じさせて、マルチメディアプラットフォーム(図1)に役立つBチャンネルの各チャンネルと関連させるために、簡単なプログラム(図示しない)が入力される。図22のプログラムは、より詳細には、まずBチャンネル管理者ルーチンを入力する(ブロック2001)簡単なループ配置である。Bチャンネル管理者ルーチンがそのタスクを終了すると、プログラムはBチャンネルサーバールーチンに入る(ブロック2002)。ブロック2001の拡大したものは図23に示される。詳細には、入った場合(ブロック2003)、プログラムは関連Bチャンネルからのメッセージの受信を待ち受ける。関連Bチャンネルに接続されたI/F基板からのメッセージの受信により、プログラムは、受信したメッセージの形式に基づいて、多数の異なるルーチンのうちの1つに分岐する。メッセージ形式が不明の場合は、プログラムはブロック2004に分岐し、ここで、プラットフォーム管理者による処理のために受信メッセージを格納するOSシステム50にエラーを送る。次いで、プログラムはブロック2003に戻り、関連Bチャンネルを介する新たなメッセージの受信を待ち受ける。
【0049】
受信メッセージが到来呼に関するものならば、プログラムは接続ルーチンに分岐する(ブロック2005)。ブロック2005の拡大したものは図24に示される。入った場合(ブロック2005−1)、接続ルーチンは、関連BチャンネルとインターフェースするI/F基板に、Bチャンネルとインターフェース基板間の接続を確立する方法としてDチャンネルを介して応答監視信号メッセージを送るためのメッセージを送る。次いで、このルーチンは、発呼者(例えば図1の端末T1)が既に他のBチャンネルに接続されているかどうかを知るためにチェックする(ブロック2005−3)。(すなわち、受信メッセージは第2のBチャンネルのための要求である。)それが違っていれば、ルーチン(プログラム)(ブロック2005−4)は、新たな接続に役立つB_チャンネルサーバーを生成し、次に、上記に説明したように、チャンネルが話中であることを示すためにB_チャンネル割当てテーブルを更新する(ブロック2005−5)。そのあと、ルーチンは図23のブロック2003に戻る。発呼者が既に接続されていれば、ルーチン(ブロック2005−6)は、いわゆるチャンネルメッセージを、該メッセージがブロック2003で受信されたBチャンネルと関連するBチャンネルサーバーの待ち行列に加える。
【0050】
到来メッセージが切断要求の場合は、図23のブロック2003のプログラムは代わりにブロック2006に進み、ここで、Bチャンネルが休止していることを示すためにBチャンネル割当てテーブルを更新する。しかし、到来メッセージが発呼を掛けることに向けられていれば、B_チャンネル管理者はブロック2007に進む。ブロック2007の拡大したものは図31に示される。詳細には、入った場合、プログラムはブロック2007−1からブロック2007−2に進み、ここで、休止Bチャンネルを、受信メッセージ中に確認される発呼に割当てる。次いで、プログラムは、メッセージに含まれる電話番号をダイヤルするようにI/F基板に指示し、次に、I/F基板より返送される、発呼を掛けることに関する状態情報を処理する(ブロック2007−4)。その時点で、プログラムはブロック2003に戻る。
【0051】
図25に示されるB_チャンネルサーバープログラムがブロック2005−4で生成されると、関連Bチャンネルを介してその後受信される全メッセージは、B_チャンネル管理者プログラムよりむしろ生成されたB_チャンネルサーバーに送られることが注目される。詳細には、そのように生成されると(図24のブロック2005−4)、図25のプログラムはブロック2400に入り、ここで、関連Bチャンネルを介するメッセージの受信を待ち受ける。メッセージの受信により、プログラムは、受信したメッセージの形式に基づいて多数の異なるルーチン(ブロック2401乃至2404)のうちの1つに分岐する。メッセージが既知の形式のものでなければ、プログラム(ブロック2404)はこのイベントをエラーとして符号をつけ、このエラーをOSシステムに送る。そのあと、プログラムはブロック2400に戻り、次のメッセージの受信を待ち受ける。メッセージ形式がアプリケーション制御装置プログラム(下記に説明される)に関するものならば、プログラム(ブロック2401)は、前記メッセージをこのプログラムの待ち行列に格納する。同様に、メッセージ形式が音声サーバープログラムと関連する機能に関するものならば、プログラム(ブロック2402)は、前記メッセージをこのプログラムの待ち行列に格納する。メッセージ形式がデータサーバー機能に関するものならば、プログラム(ブロック2403)は、前記メッセージをいわゆるデータサーバー命令処理装置の待ち行列に格納する。図25は、ブロック2401乃至2404の各々がそれぞれのタスクを終了した後ブロック2400に戻ることを示している。
【0052】
データ_サーバー_命令プログラム(データ_サーバー_cmd)(ブロック2403)は図26にフローチャート形式で示される。詳細には、ブロック2500でそのように入った場合、プログラムは多数の局部変数を初期化する。次いで、プログラムは、メッセージがその中に格納されているかどうかを知るためにその関連待ち行列をチェックする。格納されていなければ、プログラムは退出し、そのあと、予め決められた時間、例えば25ミリ秒、が経過した後再度入る。待ち行列にメッセージが入っていれば、プログラムは、上記に説明したB_処理と同様に、それぞれブロック2501乃至2514で表わされる多数の異なるルーチンのうちの1つに前記メッセージの形式に基づいて分岐する。まずブロック2514を、次にブロック2501乃至2513の各々を調べると、プログラムは、メッセージ形式が不明なイベントについてはブロック2514に分岐する。ブロック2514では、プログラムはエラーをOSシステム50に送り、そのあとブロック2400に戻る。
【0053】
メッセージが、第2のBチャンネルがデータ送信のために使用者に割当てられていることを示す場合は、プログラムはブロック2501に分岐し、ここで、そのトランザクションを追求するために使用者の関連情報テーブルを更新し、そのあとブロック2400に戻る。メッセージが接続要求に関するものならば、プログラムは接続を確立するためのブロック2502に分岐する。詳細には、プログラムは、まず、音声接続を要求しているかどうかを確認するためにメッセージをチェックし、その通りならばメッセージをアナログサーバーに送る。その通りでなければ、プログラムは、上述の包括情報テーブルをチェックして、2Bチャンネルが既に使用者に割当てられているかどうかを確認する。その通りならば、プログラムは、両チャンネルがデータチャンネルとして割当てられているかどうかを知るためにチェックする。その通りならば、プログラムは接続メッセージに応じることができず、ブロック2400に戻る。さもなければ、プログラムは、上記に説明した方法で休止Bチャンネルを使用者に割当てるか、または既に使用者に割当てられているBチャンネルの状態を変更し、次いで、この場合はあるかもしれない、割当てチャンネルがデータチャンネルとして使用中であることを示すために、包括情報チャンネル割当てテーブルを更新する。そのあと、プログラムはブロック2400に戻る。
【0054】
使用者が端末T1でランしているアプリケーションが、音声またはデータモードのいずれかに使用中のBチャンネルをもはや必要としない場合は、メッセージは前記チャンネルを切断するための要求になり、それにより、プログラムをブロック2503に進ませる。ブロック2503では、プログラムは、メッセージが、音声用に用いられていたBチャンネルを切断するための要求かどうかを知るためにチェックする。その通りならば、プログラムは前記メッセージを音声サーバーに送り、そのあとブロック2400に戻る。さもなければ、プログラムは、音声サーバーに関する上記に説明したように、休止モードにつかせることによって前記チャンネルを切断する。次いで、プログラムは上述の種々のテーブルを更新し、そのあとブロック2400に戻る。
【0055】
メッセージが、特定のデータファイルを使用者の端末にダウンロードするためのアプリケーションプログラムからの要求である場合は、プログラムはブロック2504に進む。ブロック2504では、プログラムは、“ダウンロード”処理が、現在、使用者により選択されたアプリケーションのランニングと関連しているかどうかを確認する。もしそうなら、プログラムはそのダウンロード処理の待ち行列に前記要求を加え、そのあとブロック2400に戻る。さもなければ、プログラムはダウンロード処理を生成して、受信メッセージで確認されるデータファイルをダウンロードする。次いで、プログラムは、新たに生成されたダウンロード処理の待ち行列に受信メッセージを格納し、そのあとブロック2400ニモドル。ダウンロード処理のフローチャートは図27に示される。詳細には、入った場合(ブロック2600)、プログラムは、使用する種々の変数を初期化し、次に、その要求待ち行列が空いているかどうかを確認する(ブロック2601)。もし空いていれば、プログラムは退出する。さもなければ、プログラム(ブロック2602)は、使用者の端末にダウンローディングされるファイル名のリスト(INPROG_LIST)を作成する。それを行なう際、プログラムは、下記に説明されるように、マルチメディアプラットフォームと使用者の端末間に接続される2Bチャンネル(または1Bチャンネル)の現形態を考慮する。次いで、プログラム(ブロック2603)は、INPROG_LISTが空いているかどうかを知るためにチェックする。リストが空いていなければ、プログラムはサブルーチンXMIT_LISTに入り、INPROG_LISTで確認された各ファイルを送信する。プログラムは、INPROG_LISTが空いていることがわかれば、同様に、新たな要求が待ち行列に格納されているBチャンネルサーバーからの通知を待ち受け(ブロック2605)、前記通知の受信によりブロック2601に戻る。
【0056】
XMIT_LISTサブルーチンすなわちプログラムは図28に示される。詳細には、入った場合(ブロック2604−1)、プログラムは、INPROG_LISTからファイル名を除去し、ディスクメモリからファイルを構成するデータを降ろし始める。それを行なう際、プログラムは、降ろしたデータを、関連Bチャンネルに役立つI/F基板と関連する関連送信バッファ(xmit_バッファ)に格納する。すなわち、もし2Bチャンネルが使用中ならば、データは、これらの2チャンネルに用いられるI/F基板送信バッファに格納される。この方法では、送信帯域幅が2倍になり、そのためデータファイルの送信速度が早まる。Bチャンネルの1チャンネルだけがデータ用に用いられている場合は、降ろされたファイルは、そのチャンネルに用いられるI/F基板送信バッファに格納される。また、ファイル番号がダウンロードされることになった場合は、2チャンネルまたは1チャンネルの帯域幅がファイルのダウンローディングに割当てられる。例えば、2つのファイルがダウンロードされることになって、2Bチャンネルが使用中の場合である。それなら、一方のファイルを一方のチャンネルに、他方のファイルを他方のチャンネルに割当てることができる。他の例として、1つのファイルを1.5チャンネルに割当てることができる。これが意味することは、前記ファイルの一部が一方のチャンネルを介して送信され、前記ファイルの他の部分ともう1つのファイルが他方のチャンネルを介して多重化されることである。他の例として、一方のBチャンネルだけが利用可能な場合は、該チャンネルの帯域幅の3/4を一方のファイルの専用とし、残りの帯域幅を他方のファイルの専用とすることもできる。Bチャンネル帯域幅の前記分割は、前記プログラムで計算され、INPROG_LISTに記録される。
【0057】
続いて、前記の降ろし作業中、プログラム(ブロック2604−3)がファイル終了(EOF)を表わすデータに行き当たると、ファイルを閉じ、INPROG_LIST及び要求待ち行列から前記ファイルの身元を削除する(2604−7)。次いで、プログラム(ブロック2604−4)は、I/F基板に、xmit_バッファの内容を送信するよう基板に指示する命令を送る。次いで、プログラム(ブロック2604−5)は、新たな要求がその関連要求待ち行列に格納されていることを表わす通知メッセージを受信したかどうかを知るためにチェックする。もしそうならば、プログラムは図27のブロック2601に戻る。さもなければ、プログラム(ブロック2604−6)は、INPROG_LISTが空いているかどうかを知るためにチェックし、その通りならばブロック2601に戻る。さもなければ、ブロック2604−2に戻る。
プログラム(図26)は、ブロック2505、2506または2507に進む場合は、それぞれ、特定ファイルのダウンローディングを取消し、中断または再開するようにダウンロード処理(図27)に命令する。受信メッセージが、使用者の端末からマルチメディアプラットフォームへのデータファイルのダウンローディングに関するものならば、プログラムはブロック2508に進み、ここで、マルチメディアプラットフォームすなわちディスクメモリに格納するために、使用者の端末からのデータファイルを受信するように設定する。すなわち、プログラムは、降ろし処理に入り、降ろし処理の待ち行列に受信メッセージを格納する。
【0058】
ブロック2508から入る処理は図29に示される。降ろし処理はダウンロード処理(図27)に多少類似していることがわかる。したがって、図29については簡単に説明する。同様に、プログラムは、入った場合(ブロック2800)、使用している種々の変数を初期化し、次いで、関連要求待ち行列が空いていれば退出する。さもなければ、プログラムは、その関連待ち行列に含まれかつ関連Bチャンネルの形態に基づいたメッセージ(使用者から受信されるファイル名)のリスト(INPROG_LIST)を作成する(ブロック2802)。次いで、プログラム(ブロック2803)はそのINPROG_LISTをチェックし、リストが空いている場合の通知メッセージの受信を待ち受ける(ブロック2805)。さもなければ、プログラムは、使用者の端末より送信されるファイルを受信するための処理(RCV_LIST)に入る。
【0059】
RCV_LIST処理は、図30にフローチャート形式で示される。I/F基板は、関連Bチャンネルからファイルを受信し、該ファイルを受信したとたんに関連受信バッファ(RCV_BUF)に格納する設備である。バッファがいっぱいになると、I/F基板はRCV_LIST処理を通知する。RCV_LIST処理すなわちプログラム(ブロック2901)はそれに応じてバッファを空にする。次いで、プログラム(ブロック2902)は、バッファメモリから降ろされたデータをディスクメモリ61に格納する。前記データは1つ以上のファイルと関連させることができ、ここでは、チャンネル形態は、1つ以上のファイルが降ろされている場合に、チャンネル帯域幅はファイル間でどのように分割されたかを表わすことが注目される。前記降ろし及び格納作業中に、プログラムがEOFに行き当たった場合は(ブロック2903)、ファイルを閉じてその関連待ち行列及びINPROG_LISTからファイル名を削除する(ブロック2906)。そのあと、プログラムはブロック2801に戻る。さもなければ、プログラム(ブロック2904)は、新たな降ろし要求メッセージがその待ち行列に格納されているかどうかを知るためにチェックし、その通りならば、図示のように2801に戻る。それが違っていれば、プログラム(ブロック2905)は、INPROG_LISTが空いていないことがわかった場合にブロック2901に戻る。さもなければ、プログラムはブロック2801に戻る。
【0060】
図26において、プログラムがブロック2509、2510または2511に進む場合は、それぞれ、特定ファイルのアップローディングを中断、再開または取消しするようにアップロード処理(図29)に命令する。
図26のブロック2512は、データサーバープログラムとアプリケーションプログラム間のインターフェースを提供する。すなわち、ブロック2512は、それにより、プログラムが、アプリケーションプログラムから受信される要求に応じて、特定のダウンロードまたはアップロードが終了する度にアプリケーションプログラムに通知する手段となる。詳細には、ブロック2512におけるプログラムは、アプリケーションプログラムから受信される要求に含まれるファイル名のためのダウンロード及びアップロード処理と関連する要求待ち行列をサーチする。プログラムが、どちらの待ち行列にも関連ファイル名を見い出した場合は、データ転送が終了していなかった(または転送が停止された)ことを表わすためにアプリケーションプログラムに第1のフラグ、例えば間違った値、を戻す。さもなければ、プログラムはアプリケーションプログラムに第2のフラグ、例えば正しい値、を戻す。
【0061】
図26のデータサーバープログラムは、メッセージの形式が、使用者と関連していた2Bチャンネルを再構成するための要求である場合には、ブロック2513に進む。すなわち、この要求は、典型的には、2B_チャンネルを再構成する、例えばB_チャンネルのうちの1チャンネルを落とす、ためのアプリケーションプログラムからのものである。詳細には、ブロック2513におけるプログラムは、再構成要求に従うために使用者情報テーブル及びチャンネル割当てテーブルを更新する。次いで、プログラムは、チャンネル再構成が生じたことをダウンロード及びアップロード処理に通知し、前記更新の間、ダウンロード及びアップロード処理のランニングを停止させる。
【0062】
使用者選択に応答するアプリケーションのエントリは、アプリケーション制御装置に備わっているアプリケーション制御装置プログラムの制御を受ける。より詳細には、アプリケーション制御装置が使用可能にされると、アプリケーション制御装置プログラム(APP_CTLR)図32がブロック300から入り、ここで、特定のアプリケーション、すなわち既に入っているアプリケーションの停止、中断または再開、の使用者の選択を確認する要求メッセージの受信を待ち受ける。より詳細には、要求の受信により、プログラム(ブロック3001)は、受信されるメッセージの形式に基づいて多数の異なるサブルーチン(ブロック3002乃至3006)のうちの1つに分岐する)。メッセージ形式が不明の場合は、プログラムはそのメッセージをエラーとみなし、処理のためOSシステム50に送る(ブロック3006)。そのあと、プログラムはブロック3000に戻り、次のアプリケーション関連要求の受信を待ち受ける。
【0063】
要求が特定のアプリケーションの開始のためのものであれば、プログラムはブロック3002に進み、ここで、そのアプリケーションを呼び出す。さらに、プログラムは、呼び出されたアプリケーションプログラムに、使用者と関連するBチャンネルの構成を送る。次いで、制御装置プログラムは、選択されたアプリケーションを確認するために使用者情報テーブルを更新する。そのあと、プログラムはブロック3000に戻る。要求が、呼び出されたアプリケーションプログラムの停止に向けられたものならば、制御装置は、その効果のためのメッセージをアプリケーションプログラムに送り、それに応じて使用者情報テーブルを更新する(ブロック3003)。同様に、制御装置プログラムは、中断(再開)のための要求に応じて、その効果のためのメッセージを前記アプリケーションに送る(ブロック3004または3005)。次に、アプリケーションは、(ブロック3003、3004または3005を介して送られた)前記要求の受信に応じて、要求された動作を行なう。
下記は、音声ファイルを再生するために音声サーバーに命令する(要求する)ものである。
int play_audio_file(int handle,char *ap,cha *tune)
handleは、下記にさらに説明されるように、接続が確立された時に接続機能により返送される値、apは、アプリケーション名を指定するストリングの指針、tuneは、音声ファイル名を指定するストリングの指針である。以上は前に確立されたBチャンネル音声接続に関するものである。
下記は、現時点で音声ファイルの再生を中断するために音声サーバーに命令するものである。
int pause_audio_playback(int handle)
下記は、中断された音声ファイルの再生を再開するために音声サーバーに命令するものである。
int resume_audio_playback(int handle)
下記は、再生リストにある次の音声ファイルの初めにスキップしてそれの再生を開始するために音声サーバーに命令するものである。
int skip_audio_playback(int handle)
下記は、Bチャンネル音声接続を介して送信される音声の音量を調整するために音声サーバーに命令するものである。
int adjust_volume(int handle)
下記は、Bチャンネル音声接続を介して再生中の音声ファイルの再生を阻止するために音声サーバーに命令するものである。
int stop_audio_playback(int handle)
下記は、Bチャンネル音声接続上に他の音声接続を橋渡しするために音声サーバーに命令するものである。
int bridge_call(int handle)
下記は、発呼上に以前に橋渡しされていた音声接続を除去するために音声サーバーに命令するものである。
int unbridge_call(int handle)
下記は、音声接続を介して受信中の音声を音声ファイルに記録するために音声サーバーに命令するものである。
record_audio(int handle)
下記は、現時点で音声ファイルの記録を中断するために音声サーバーに命令するものである。
int pause_audio_record(int handle)
下記は、中断された音声ファイルの記録を再開するために音声サーバーに命令するものである。
int resume_audio_record(int handle)
下記は、音声ファイルの記録を停止するために音声サーバーに命令するものである。
int stop_audio_record(int handle)
上記について、命令“handle”は、接続が確立された時に接続機能により返送される値であり、確立成功なら0を、不成功なら−1を返送する。
【図面の簡単な説明】
【図1】本発明の原理を実施することができるマルチメディアシステムを示す。
【図2】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図3】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図4】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図5】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図6】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図7】図1の使用者端末において本発明の原理を実行するプログラムをフローチャート形式で示す。
【図8】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図9】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図10】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図11】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図12】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図13】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図14】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図15】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図16】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図17】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図18】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図19】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図20】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図21】図1の音声サーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図22】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図23】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図24】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図25】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図26】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図27】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図28】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図29】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図30】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図31】図1のデータサーバーにおいて本発明の原理を実行するプログラムをフローチャート形式で示す。
【図32】図1のアプリケーション制御装置において本発明の原理を実行するプログラムをフローチャート形式で示す。
【符号の説明】
10 データサーバー
20 アプリケーション制御装置
30 音声サーバー
40 ワークステーション
50 動作援助装置
150 開発プラットフォーム[0001]
[Industrial applications]
The present invention relates to multimedia communication systems.
[0002]
Problems to be solved by the prior art and the invention
As a result of the provision of ISDN in the public telecommunications network, many new services have been introduced. One of the services involves the transmission of multimedia, ie, video (ie, images) and corresponding audio signals. As a result of the multimedia application, the calling and called parties can see and hear each other during a telephone conversation via the ISDN communication path. Multimedia includes other service applications that can be provided to the caller via the ISDN, for example, applications that entertain the caller, such as video with audio. Such multimedia service applications are probably developed by various multimedia application providers. If that is the case, allow the user to access various multimedia applications developed by various providers, regardless of the type of equipment used to perform the access, such as a computer terminal. Is desirable.
[0003]
It is recognized that developing a multimedia application is not an easy task and typically involves designing the application, "debugging", and storing it in a multimedia system for presentation to the user. The application may require additional "debugging" after being stored in the multimedia system to handle interface issues that may arise between the newly designed multimedia application and the multimedia system. Multimedia application designers / providers can address the latter problem by duplicating the multimedia system and using the system as a tool during the multimedia application design / development and debugging phases. However, duplicating a multimedia system for use in designing and debugging multimedia applications is perceived to be expensive and somewhat useless.
[0004]
[Means for Solving the Problems]
Provision of multimedia services is enhanced by using a communication protocol that divides a multimedia application into multiple sections for provision to a user. In particular, the communication protocol of the present invention comprises a plurality of messages that define each function (telecommunications, data, voice, etc.) in a manner that divides a multimedia application into a number of logical blocks for presentation to a user. Embedded in Thus, according to the present invention, when a user interfaces with a particular multimedia application and enters a particular request representing one of the functions described above, the user's associated data terminal will Generates and sends a message to the multimedia system, which performs the required function on a particular block of program blocks that make up the multimedia application being accessed by the user. And respond to it.
[0005]
In accordance with another aspect of the invention, a multimedia application provider sends the application to a multimedia system for storage via a telecommunications network and provides a number of "debugging" and / or development of the application. It can interact with stored applications via a telecommunications network for different purposes.
[0006]
【Example】
Referring now to FIG. 1, there is shown a main block diagram of a
[0007]
The interface provided by the
In particular, when a user places a call to the
[0008]
The
[0009]
[0010]
The operating assistance device (OSS) 50 may be, for example, a CompuLert device available from AT & T and monitors the overall operating status of the
[0011]
The user can operate the terminal T1 to access the
[0012]
In FIG. 1, it can be seen that terminal T1 is associated with terminal S1 and
[0013]
In addition, the user can use the voice input device (or recorder) 6 as a means for transmitting voice to the
[0014]
(It is noted that the user can also store data in the
In an embodiment of the present invention, a library of multimedia functions comprising a unique multimedia protocol is provided to assist in developing and providing multimedia applications to users over a communications network. In particular, this protocol is arranged to be independent of the
[0015]
The protocol more specifically includes messages to invoke (a) telecommunications functions, (b) data access functions, (c) voice functions, and (d) distributed application functions. The remote communication function includes a group of messages for establishing a communication connection and a conference connection between the terminal T1 and the
[0016]
As a result of the protocol of the present invention, and in accordance with aspects of the present invention, multimedia applications can be divided into logical components, or blocks, but their provision is under the control of the user. Advantageously, only those blocks of the multimedia application requested by the user are downloaded to the user's terminal, thereby making efficient use of the telecommunications network bandwidth. Advantageously, the partitioning allows the components of the application to be stored and transmitted in a manner that best suits the data format to be transmitted. For example, audio information can be stored in the
[0017]
As a result of the protocol, an application can be partitioned (divided) into blocks. This means that the application is provided to the user in an efficient and quick way. For example, a specific block of the application can be downloaded to the terminal T1 in the background mode and the block can be stored in the terminal T1 so that it can be quickly taken to the
[0018]
(Alternatively, blocks can be downloaded sequentially based on their size rather than the likelihood of selection. Note that application blocks that assist in displaying menu items can be downloaded in parallel in background mode (ie, preloading). Where the network bandwidth is allocated between blocks based on the likelihood of a relevant menu item selected by the user.As another alternative, the bandwidth allocation is based on the size of the data block. The order in which the blocks are downloaded sequentially or in parallel in the background is explicitly specified by the application provider, ie a large part of the bandwidth is allocated to data blocks larger than the smaller data blocks. Conversely, most of the bandwidth may be allocated to smaller data blocks to ensure that the blocks are inherent in the user's terminal before the user makes a menu selection. )
[0019]
With the foregoing in mind, the following describes how multimedia applications are requested and provided to users associated with terminal S1 and terminal T1. Specifically, when the user enters a command to invoke the multimedia function, the terminal T1 enters a
[0020]
In addition to the acknowledgment, the
[0021]
The displayed menu of the multimedia application includes, for example, travel movies, games, catalog shopping, education, and the like. The menu may also include multimedia applications related to the well-known Sesame Street (trademark of Children's Television Workscorp) television program. Therefore, the following description will be made in connection with the Sesame Street application. (However, it will be understood that the description below is equally relevant to other multimedia applications, such as the multimedia applications described above.)
[0022]
When the user selects the Sesame Street application by, for example, positioning the conventional mouse cursor on the displayed menu item and operating the associated mouse button, the terminal T1 will retrieve its "application location information" from its internal memory. To generate a message containing a request to send the Sesame Street application and its location information. Terminal T1 then sends this message to
[0023]
The partition indicates a room filled with various objects, such as balls, trains, bookcases, arcade games, and the like. Each object represents a menu selection. For example, when (a) a ball is selected, a bouncing ball is displayed with associated sound effects, (b) when a train is selected, a train running on a circular track is displayed with associated sound effects, and (c) If you select a bookcase, the book function of the story is displayed. In one aspect of the invention, the
[0024]
When the user selects, for example, a train multimedia application (movie plus sound), an application block for assisting the selection already exists in the terminal T1. Therefore, the terminal T1 can promptly display the train animation and the reproduction of the sound effects related to the user selection. More specifically, the train animation displays a train moving in a slightly circular orbit, with a sound indicating a whistle. On the other hand, when the user selects the bookcase menu item, the terminal T1 displays a menu supporting the application. Here, the menu is already stored in terminal T1 as a result of the pre-downloading feature. The bookcase menu, when displayed on
[0025]
Upon receiving the message, the
[0026]
In one aspect of the present invention, a user, eg, a user associated with terminal S1 and terminal T1, may access a “real” agent, eg, a travel agent, while viewing a particular multimedia application. it can. For example, if a user is watching a multimedia travel movie application on
[0027]
As can be seen from FIG. 1, the
[0028]
The
[0029]
The software running the multimedia application can be split between the terminal T1 and the
[0030]
The main menu program is assisted by a number of other programs or tasks that are designed to run in background mode. One of the programs performs an ISDN task as shown in FIG. In particular, the task, when entered at
[0031]
A flowchart of the
[0032]
A flowchart of the above data function is shown in FIG. In particular, the data function, when invoked (block 600), verifies the format of the data request received from the selected application. If the data request is found to be a request to download data from a so-called platform to the user's terminal (block 601), the program adds this request to a so-called download processing queue (block 604) and then proceeds to FIG. Returning to block 402 of FIG. On the other hand, if the request is found to be a request to upload data from the user's terminal to the platform (block 602), the program adds this request to a so-called upload processing queue (block 605) and then blocks Return to 402. If the program finds that the request is something other than a download or upload, that is, a cancellation of a particular request that is already queued for processing, it will set the status for this particular request. Update (block 606). The program sends a cancellation message for this particular request to the platform or data or voice server (block 607). Thereafter, the program returns to block 402.
[0033]
FIG. 6 illustrates, in flowchart form, a task or program that runs in a background mode to perform a data file downloading function. When called (block 700), the program (block 701) checks to see if it has received a request to download a file from the platform to the user's terminal. If so, the program (block 703) stores the request in the associated queue and then proceeds to block 702. The program (block 702) then checks to see if data is currently being received from the platform, and if so, returns to block 701. Otherwise, the program (block 704) checks to see if its associated queue is free, and returns to block 701 if it is. Otherwise, the program (block 705) is for (a) reading and decompressing the data file received from the platform, and (b) thereafter processing the file according to the instructions contained in the file. Call (create) a task. Thereafter, the program returns to block 701.
[0034]
FIG. 7 illustrates, in flowchart form, a task or program that runs in a background mode to perform a data file upload function. The program shown in FIG. 7 is somewhat similar to the program shown in FIG. 6, but performs different functions. Specifically, when invoked (block 800), the program (block 801) checks to see if it has received a request from the user's terminal to send a particular file to the platform or data or voice server. I do. If so, the program (block 803) stores the request in the associated queue and then proceeds to block 802. The program (block 802) then checks to see if data is currently being sent to the platform, and if so, returns to block 801. If the program finds that it is not in upload mode, it checks to see if its associated queue is free (block 804), and if so, returns to block 801. Otherwise, the program (block 805) compresses the data file to be uploaded and sends (generates) this file to the platform. Thereafter, the program returns to block 701.
[0035]
8 to 19 show, in the form of a flowchart, a program for executing the present invention in the voice server 30 (FIG. 1). Referring specifically to FIG. 8, when the analog server is turned on and "helped", the program enters block 900 and proceeds to initialize an interface (I / F) circuit board that interfaces the network with the voice server. (Block 901). The program also initializes a number of program variables and waits for a message from the data server requesting a voice ISDN_B channel to be connected to the user's terminal via the network 200 (block 902). In response to receiving this message, the program (block 903) creates a B_Channel_Server process and associates the latter process with the B_Channel connected to the user's terminal, as described below. The program (block 904) then stores the received message in a queue associated with the newly created process, and then returns to block 902 to wait for the next connection message from the
[0036]
FIG. 9 illustrates, in flowchart form, a B_Channel_Server process that is generated to enable the use of a particular ISDN_B channel connected to a voice server. That is, a B_Channel_Server process is created to serve each of the connections. In particular, if created, the B_Channel_Server process (“program”) enters block 1000 and initializes a number of program variables used to make a particular ISDN_B channel available. The program (block 1001) then drops the request message from its associated queue and then branches based on the type of request contained in the message (block 1002). The branch causes the program to branch to one of the 14
[0037]
Next, the remaining
[0038]
An expanded version of
[0039]
The program generated in block 1004-4 (FIG. 11) is shown in FIG. Specifically, upon entry, the program (blocks 1004-41) initializes a number of variables and lists, such as playlists, to use during the running time. The program (blocks 1004-42) then checks its queue to see if it contains one or more playback requests for the file that is ready to be "played" for the user. If the queue is empty, the program exits. (I.e., the program continues to run as long as the entry is in the associated queue.) Otherwise, the program (blocks 1004-43) returns an indicator indicating that the file can be "played", such as a numeric value. Create a list of files, including encrypted music or stories. More specifically, "playing a file" means that the program drops the digitized data constituting the file from its associated
[0040]
When the program finishes creating such a list, the program (blocks 1004-45) enters play_list processing, which causes each file in the list to be played, ie, sent to the user, as described above (block 1004-45).
[0041]
The file_player process generated at
[0042]
As explained above, the versatility of
[0043]
FIG. 16 illustrates, in flowchart form, the record_server process generated in block 1009-4 of FIG. This recording_server processing is for storing analog data representing, for example, the characteristics of music on the
[0044]
It can be seen that the configuration of the record_list process is similar to the configuration of the playback_list process shown in FIG. As such, the operation of the record_list process can be easily understood by reference to both FIG. 13 and FIG. 17, so FIG. 17 is not described here. However, the record_list process generates (a) a file_recorder process if it is not yet active and is useful to the user, and (b) the record list is queued in the file_recorder process. In addition, only return to block 1009-42 after that.
FIG. 18 is a flowchart illustrating a file_recorder process generated in the recording_list process. From FIG. 18, it can be seen that the configuration of the file_recorder process is somewhat similar to the configuration of the file_player process. Accordingly, FIG. 18 will not be described here because the functions performed by the many blocks making up the file_recorder process can be easily ascertained as a result of their similarity and the above description of the file_player process. .
[0045]
If the user is listening to the file and the playback volume is too high or too low, the user can enter a request for volume control. In response to receiving this request, the B_channel program in
In some applications, such as travelogue applications, a user may seek to interact with a genuine operator or agent associated with the application. For example, watching a multimedia application related to a travel movie, a user may wish to contact a travel agent to obtain more details about the touristic "places" seen in the application. If so, the application suitably allows the user to enter a request to communicate with a travel agent associated with the application. Thus, in response to such a request, the program branches to block 1014 of FIG. 9 for performing the conference function. An enlargement of
[0046]
At this point, if the I / F board establishes a connection with a third party (for example, a travel agency), it can be seen that the user and the third party can communicate with each other. When the conversation between the user and the third party ends, the user can input a request to terminate the connection with the third party (stop the bridge). Such requests, like most requests entered by the user, are carried to the B-channel server by an ISDN connection between the user's terminal and the data server. Upon receiving such a request, the B_Channel_Server program branches to the non-bridge call routine represented by
[0047]
If the analog B channel associated with the user is no longer needed, the program branches to block 1016 of FIG. An enlargement of
[0048]
The program that runs the data server is somewhat similar to the program that runs the voice server, as seen below. In particular, when power is applied to the data server and it becomes "usable," the process shown in FIG. 22 occurs to associate with each of the B channels serving the multimedia platform (FIG. 1). , A simple program (not shown) is input. More specifically, the program of FIG. 22 is a simple loop arrangement that first enters a B channel manager routine (block 2001). When the B-channel administrator routine has completed its task, the program enters the B-channel server routine (block 2002). An enlarged version of
[0049]
If the received message is for an incoming call, the program branches to a connection routine (block 2005). An enlargement of
[0050]
If the incoming message is a disconnect request, the program of
[0051]
When the B_Channel server program shown in FIG. 25 is generated in block 2005-4, all messages subsequently received over the associated B channel are sent to the generated B_Channel server rather than the B_Channel manager program. It is noted that. In particular, when so generated (block 2005-4 of FIG. 24), the program of FIG. 25 enters
[0052]
The data_server_command program (data_server_cmd) (block 2403) is shown in flowchart form in FIG. In particular, if so entered at
[0053]
If the message indicates that the second B channel has been assigned to the user for data transmission, the program branches to block 2501 where the user's relevant information to pursue the transaction. Update the table and then return to block 2400. If the message is for a connection request, the program branches to block 2502 for establishing a connection. Specifically, the program first checks the message to see if it is requesting a voice connection, and if so, sends the message to the analog server. If not, the program checks the above comprehensive information table to see if the 2B channel has already been assigned to the user. If so, the program checks to see if both channels have been assigned as data channels. If so, the program cannot respond to the connect message and returns to block 2400. Otherwise, the program assigns the dormant B channel to the user in the manner described above, or changes the state of the B channel already assigned to the user, then there may be cases, The global information channel assignment table is updated to indicate that the assigned channel is in use as a data channel. Thereafter, the program returns to block 2400.
[0054]
If the application that the user is running on terminal T1 no longer needs the B-channel in use for either voice or data mode, the message will be a request to disconnect said channel, whereby: The program proceeds to block 2503. At
[0055]
If the message is a request from an application program to download a particular data file to the user's terminal, the program proceeds to block 2504. At
[0056]
The XMIT_LIST subroutine or program is shown in FIG. In particular, if entered (block 2604-1), the program removes the file name from the INPROG_LIST and begins dropping the data making up the file from disk memory. In doing so, the program stores the dropped data in an associated transmit buffer (xmit_buffer) associated with the I / F board serving the associated B channel. That is, if the 2B channels are in use, the data is stored in the I / F board transmit buffer used for these two channels. In this way, the transmission bandwidth is doubled, thereby increasing the data file transmission speed. If only one of the B channels is used for data, the unloaded file is stored in the I / F board transmission buffer used for that channel. If the file number is to be downloaded, the bandwidth of channel 2 or
[0057]
Subsequently, when the program (block 2604-3) encounters data representing the end of file (EOF) during the unloading operation, the file is closed, and the identity of the file is deleted from the INPROG_LIST and the request queue (2604). 7). The program (block 2604-4) then sends an instruction to the I / F board instructing the board to transmit the contents of the xmit_buffer. The program (block 2604-5) then checks to see if it has received a notification message indicating that a new request is stored in its associated request queue. If so, the program returns to block 2601 of FIG. Otherwise, the program (block 2604-6) checks to see if INPROG_LIST is free, and returns to block 2601 if so. Otherwise, return to block 2604-2.
When the program (FIG. 26) proceeds to block 2505, 2506 or 2507, the program (FIG. 27) instructs the download process (FIG. 27) to cancel the downloading of the particular file and suspend or resume, respectively. If the received message is for downloading a data file from the user's terminal to the multimedia platform, the program proceeds to block 2508, where the user's terminal is stored for storage on the multimedia platform or disk memory. Set to receive data files from. That is, the program enters the unloading process, and stores the received message in the queue of the unloading process.
[0058]
The process entering from
[0059]
The RCV_LIST process is shown in a flowchart form in FIG. The I / F board is a facility for receiving a file from the related B channel and storing the file in the related reception buffer (RCV_BUF) as soon as the file is received. When the buffer becomes full, the I / F board notifies the RCV_LIST processing. The RCV_LIST process or program (block 2901) empties the buffer accordingly. Next, the program (block 2902) stores the data dropped from the buffer memory in the
[0060]
In FIG. 26, if the program proceeds to block 2509, 2510 or 2511, it respectively instructs the upload process (FIG. 29) to interrupt, resume or cancel uploading of the particular file.
[0061]
The data server program of FIG. 26 proceeds to block 2513 if the format of the message is a request to reconfigure the 2B channel associated with the user. That is, the request is typically from an application program to reconfigure the 2B_channel, eg, drop one of the B_channels. Specifically, the program at
[0062]
The application entry responding to the user selection is controlled by an application control device program provided in the application control device. More specifically, when the application controller is enabled, the application controller program (APP_CTLR) FIG. 32 enters from
[0063]
If the request is for the initiation of a particular application, the program proceeds to block 3002, where the application is invoked. In addition, the program sends the configuration of the B channel associated with the user to the called application program. Next, the control device program updates the user information table to confirm the selected application. Thereafter, the program returns to block 3000. If the request is for termination of the called application program, the controller sends a message to the application program for the effect and updates the user information table accordingly (block 3003). Similarly, in response to a request for interruption (resume), the controller program sends a message for the effect to the application (block 3004 or 3005). The application then performs the requested action in response to receiving the request (sent via
The following instructs (requests) the audio server to play the audio file.
int play_audio_file (int handle, char * ap, cha * tune)
handle is the value returned by the connection function when the connection is established, ap is a string pointer that specifies the application name, and tune is the string pointer that specifies the audio file name, as described further below. It is. The above is for a previously established B-channel audio connection.
The following is an instruction to the audio server to interrupt the playback of the audio file at this time.
int pause_audio_playback (int handle)
The following instructs the audio server to resume playing the interrupted audio file.
int resume_audio_playback (int handle)
The following instructs the audio server to skip to the beginning of the next audio file in the playlist and start playing it.
int skip_audio_playback (int handle)
The following is an instruction to the audio server to adjust the volume of the audio transmitted over the B-channel audio connection.
int adjust_volume (int handle)
The following is an instruction to the audio server to prevent the playback of the audio file being played over the B channel audio connection.
int stop_audio_playback (int handle)
The following instructs the audio server to bridge another audio connection over a B-channel audio connection.
int bridge_call (int handle)
The following instructs the voice server to remove the voice connection previously bridged on the call.
int unbridge_call (int handle)
The following instructs the audio server to record the audio being received over the audio connection into an audio file.
record_audio (int handle)
The following instructs the audio server to interrupt recording of the audio file at this time.
int pause_audio_record (int handle)
The following instructs the audio server to resume recording the interrupted audio file.
int resume_audio_record (int handle)
The following instructs the audio server to stop recording the audio file.
int stop_audio_record (int handle)
Regarding the above, the command "handle" is a value returned by the connection function when the connection is established, and returns 0 if the connection is successful and -1 if the connection is not successful.
[Brief description of the drawings]
FIG. 1 illustrates a multimedia system that can implement the principles of the present invention.
FIG. 2 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 3 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 4 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 5 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 6 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 7 is a flowchart showing a program for executing the principle of the present invention in the user terminal of FIG. 1;
FIG. 8 is a flowchart showing a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 9 is a flowchart showing a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 10 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 11 is a flowchart illustrating a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 12 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 13 is a flowchart illustrating a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 14 is a flowchart illustrating a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 15 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 16 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 17 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 18 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 19 is a flowchart showing a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 20 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 21 shows, in the form of a flowchart, a program for executing the principle of the present invention in the voice server of FIG. 1;
FIG. 22 is a flowchart illustrating a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 23 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 24 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 25 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 26 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 27 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 28 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 29 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 30 shows, in a flowchart form, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 31 shows, in the form of a flowchart, a program for executing the principle of the present invention in the data server of FIG. 1;
FIG. 32 is a flowchart showing a program for executing the principle of the present invention in the application control device of FIG. 1;
[Explanation of symbols]
10. Data server
20 Application control device
30 voice server
40 workstation
50 Operation support device
150 Development Platform
Claims (20)
前記マルチメディアアプリケーションの各々を、前記端末の使用者への提供のために各々の論理ブロックに分割することができるように、遠隔通信、データアクセス、音声及び分配アプリケーション機能をそれぞれ定義する複数のメッセージと、
前記データ端末に内蔵され、前記マルチメディアアプリケーションのうちの1つにインターフェースしかつ前記機能のうちの1つを指示する要求を入力する前記使用者に応じて、使用者が要求した機能を特徴づける前記メッセージのうちの1つを発生して前記メッセージを前記マルチメディアシステムに送る手段と、
前記マルチメディアシステムに内蔵され、前記メッセージの受信に応答して、前記1つのマルチメディアアプリケーションの前記ブロックのうちの特定のものに関して要求された機能を実行する手段とからなることを特徴とする通信プロトコル。A multimedia communication protocol used in a multimedia system, wherein the communication protocol operates to transfer different segments of a multimedia application from the multimedia system to a data terminal having a display device.
A plurality of messages respectively defining telecommunications, data access, voice and distribution application functions so that each of the multimedia applications can be divided into respective logical blocks for provision to a user of the terminal. When,
Characterize the function requested by the user in response to the user being incorporated into the data terminal and interfacing with one of the multimedia applications and entering a request to indicate one of the functions Means for generating one of said messages and sending said message to said multimedia system;
Means embedded in the multimedia system for performing a requested function for a particular one of the blocks of the one multimedia application in response to receiving the message. protocol.
前記システムを遠隔通信網とインターフェースするための手段と、
メモリに種々のマルチメディアアプリケーションを格納し、前記遠隔通信網を介した前記アプリケーションのうちの1つを識別する要求の受信に応じて、加入者に前記アプリケーションの個々のアプリケーションに関するマルチメディア信号を前記遠隔通信網を介して提供するための手段と、
マルチメディアアプリケーションの提供者からの発呼の受信に応じて、前記遠隔通信網を介して前記マルチメディアアプリケーションを受信し、前記受信されたマルチメディアアプリケーションを前記メモリに格納して、前記加入者が格納されたマルチメディアアプリケーションを要求することができるようにするための手段とからなることを特徴とするマルチメディアシステム。In multimedia systems,
Means for interfacing the system with a telecommunications network;
Stores various multimedia applications in the memory, in response to said receiving a request identifying the one of the application that through the telecommunications network, the multimedia signal for individual applications of the subscriber application Means for providing via a telecommunications network;
Receiving the multimedia application over the telecommunications network in response to receiving a call from a multimedia application provider; storing the received multimedia application in the memory; Means for enabling a request for a stored multimedia application.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17131193A | 1993-12-21 | 1993-12-21 | |
US171311 | 1993-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07202981A JPH07202981A (en) | 1995-08-04 |
JP3561016B2 true JP3561016B2 (en) | 2004-09-02 |
Family
ID=22623285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31390394A Expired - Lifetime JP3561016B2 (en) | 1993-12-21 | 1994-12-19 | Multimedia system |
Country Status (5)
Country | Link |
---|---|
US (1) | US5754784A (en) |
EP (1) | EP0660576B1 (en) |
JP (1) | JP3561016B2 (en) |
CA (1) | CA2118278C (en) |
DE (1) | DE69432287T2 (en) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995034170A1 (en) * | 1994-06-08 | 1995-12-14 | Futurevision Of America Corp. | Interactive broadband multimedia system |
US6226785B1 (en) * | 1994-09-30 | 2001-05-01 | Apple Computer, Inc. | Method and apparatus for storing and replaying creation history of multimedia software or other software content |
US7349976B1 (en) | 1994-11-30 | 2008-03-25 | Realnetworks, Inc. | Audio-on-demand communication system |
US5793980A (en) * | 1994-11-30 | 1998-08-11 | Realnetworks, Inc. | Audio-on-demand communication system |
IL115263A (en) * | 1995-09-12 | 1999-04-11 | Vocaltec Ltd | System and method for distributing multi-media presentations in a computer network |
US5813014A (en) * | 1996-07-10 | 1998-09-22 | Survivors Of The Shoah Visual History Foundation | Method and apparatus for management of multimedia assets |
JP3409652B2 (en) * | 1996-09-02 | 2003-05-26 | 松下電器産業株式会社 | Multimedia information providing device |
US6199076B1 (en) * | 1996-10-02 | 2001-03-06 | James Logan | Audio program player including a dynamic program selection controller |
US6758755B2 (en) | 1996-11-14 | 2004-07-06 | Arcade Planet, Inc. | Prize redemption system for games executed over a wide area network |
US6072857A (en) * | 1996-12-19 | 2000-06-06 | Bellsouth Intellectual Property Management Corporation | Methods and system for monitoring the operational status of a network component in an advanced intelligent network |
US5898839A (en) * | 1997-03-17 | 1999-04-27 | Geonet Limited, L.P. | System using signaling channel to transmit internet connection request to internet service provider server for initiating and internet session |
US7167857B2 (en) | 1997-04-15 | 2007-01-23 | Gracenote, Inc. | Method and system for finding approximate matches in database |
US7308485B2 (en) * | 1997-04-15 | 2007-12-11 | Gracenote, Inc. | Method and system for accessing web pages based on playback of recordings |
US5987525A (en) * | 1997-04-15 | 1999-11-16 | Cddb, Inc. | Network delivery of interactive entertainment synchronized to playback of audio recordings |
DE19741885A1 (en) * | 1997-09-23 | 1999-03-25 | Cit Alcatel | Device for assigning transmission channels at the end points of a service-on-demand system |
US5996015A (en) * | 1997-10-31 | 1999-11-30 | International Business Machines Corporation | Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory |
AU2487799A (en) * | 1998-01-30 | 1999-08-16 | Trustees Of Columbia University In The City Of New York, The | Method and system for client-server interaction in interactive communications |
US6460076B1 (en) * | 1998-12-21 | 2002-10-01 | Qwest Communications International, Inc. | Pay per record system and method |
US20020048224A1 (en) * | 1999-01-05 | 2002-04-25 | Dygert Timothy W. | Playback device having text display and communication with remote database of titles |
US7415102B2 (en) * | 1999-01-22 | 2008-08-19 | Pointset Corporation | Method and apparatus for setting programmable features of an appliance |
US20100185614A1 (en) * | 1999-11-04 | 2010-07-22 | O'brien Brett | Shared Internet storage resource, user interface system, and method |
US6366907B1 (en) | 1999-12-15 | 2002-04-02 | Napster, Inc. | Real-time search engine |
US6742023B1 (en) | 2000-04-28 | 2004-05-25 | Roxio, Inc. | Use-sensitive distribution of data files between users |
US7310629B1 (en) | 1999-12-15 | 2007-12-18 | Napster, Inc. | Method and apparatus for controlling file sharing of multimedia files over a fluid, de-centralized network |
US20030115546A1 (en) * | 2000-02-17 | 2003-06-19 | Dubey Stuart P. | Method and apparatus for integrating digital media assets into documents |
JP2002094472A (en) * | 2000-05-30 | 2002-03-29 | Matsushita Electric Ind Co Ltd | Data acquisition device and method |
US6564229B1 (en) * | 2000-06-08 | 2003-05-13 | International Business Machines Corporation | System and method for pausing and resuming move/copy operations |
US7089301B1 (en) | 2000-08-11 | 2006-08-08 | Napster, Inc. | System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer |
MXPA02003991A (en) | 2000-08-23 | 2002-12-13 | Koninkl Philips Electronics Nv | Method of enhancing rendering of a content item, client system and server system. |
JP2002132818A (en) * | 2000-10-26 | 2002-05-10 | Seiko Epson Corp | Service providing system, service providing terminal, client terminal, and storage medium |
US8091112B1 (en) * | 2001-02-28 | 2012-01-03 | Keen Personal Technologies, Inc. | System and a method for transmitting and receiving a program with improved efficiency |
US7185094B2 (en) | 2001-03-30 | 2007-02-27 | Sandcherry, Inc. | Media session framework using a control module to direct and manage application and service servers |
US20020156900A1 (en) * | 2001-03-30 | 2002-10-24 | Brian Marquette | Protocol independent control module |
US6751454B2 (en) * | 2001-05-29 | 2004-06-15 | Leap Wireless International, Inc. | System and method for sampling audio recordings on a wireless communication device |
WO2002096023A1 (en) * | 2001-05-21 | 2002-11-28 | Leap Wireless International, Inc. | System and method for sampling audio recordings on a wireless communication device |
US7398209B2 (en) * | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7693720B2 (en) | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US20040177167A1 (en) * | 2003-03-04 | 2004-09-09 | Ryuichi Iwamura | Network audio systems |
US20070058943A1 (en) * | 2003-11-10 | 2007-03-15 | Disclive, Inc. | System, method and apparatus for rapid mass production of content-inclusive physical media |
WO2005076907A2 (en) * | 2004-02-04 | 2005-08-25 | Moving Records, Llc | Recording, editing, encoding and immediately distributing a live performance |
US20050194456A1 (en) | 2004-03-02 | 2005-09-08 | Tessier Patrick C. | Wireless controller with gateway |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7199706B2 (en) * | 2005-02-22 | 2007-04-03 | Sony Corporation | PLC intercom/monitor |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
EP1934971A4 (en) * | 2005-08-31 | 2010-10-27 | Voicebox Technologies Inc | Dynamic speech sharpening |
US7730164B1 (en) * | 2005-11-23 | 2010-06-01 | Adobe Systems Incorporated | Bootstrap approaches to downloading data in response to a download indication |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US8224147B2 (en) * | 2007-04-15 | 2012-07-17 | Avid Technologies, Inc. | Interconnected multimedia systems with synchronized playback |
JP2009044416A (en) * | 2007-08-08 | 2009-02-26 | Sony Corp | Content playback device, content playback method, program, and content playback system |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US8589161B2 (en) * | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
US9502025B2 (en) | 2009-11-10 | 2016-11-22 | Voicebox Technologies Corporation | System and method for providing a natural language content dedication service |
US9594602B1 (en) | 2009-12-31 | 2017-03-14 | Lenovoemc Limited | Active folders |
US9959150B1 (en) * | 2009-12-31 | 2018-05-01 | Lenovoemc Limited | Centralized file action based on active folders |
US9313237B2 (en) * | 2013-05-15 | 2016-04-12 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and communication system for allocating and managing voice channels |
EP3195145A4 (en) | 2014-09-16 | 2018-01-24 | VoiceBox Technologies Corporation | Voice commerce |
WO2016044321A1 (en) | 2014-09-16 | 2016-03-24 | Min Tang | Integration of domain information into state transitions of a finite state transducer for natural language processing |
WO2016061309A1 (en) | 2014-10-15 | 2016-04-21 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1341310C (en) * | 1988-07-15 | 2001-10-23 | Robert Filepp | Interactive computer network and method of operation |
US5208745A (en) * | 1988-07-25 | 1993-05-04 | Electric Power Research Institute | Multimedia interface and method for computer system |
US4974254A (en) * | 1989-05-10 | 1990-11-27 | Perine Michael C | Interactive data retrieval system for producing facsimile reports |
US5195086A (en) * | 1990-04-12 | 1993-03-16 | At&T Bell Laboratories | Multiple call control method in a multimedia conferencing system |
US5307456A (en) * | 1990-12-04 | 1994-04-26 | Sony Electronics, Inc. | Integrated multi-media production and authoring system |
DE69124596T2 (en) * | 1991-04-22 | 1997-08-21 | Ibm | Collision-free insertion and removal of circuit-switched channels in a packet-switching transmission structure |
US5283638A (en) * | 1991-04-25 | 1994-02-01 | Compuadd Corporation | Multimedia computing and telecommunications workstation |
US5333299A (en) * | 1991-12-31 | 1994-07-26 | International Business Machines Corporation | Synchronization techniques for multimedia data streams |
US5333266A (en) * | 1992-03-27 | 1994-07-26 | International Business Machines Corporation | Method and apparatus for message handling in computer systems |
FR2690260B1 (en) * | 1992-04-17 | 1997-01-03 | Bull Sa | USE OF A VERY HIGH LEVEL BIDIRECTIONAL PROTOCOL FOR COMMUNICATION BETWEEN A HYPERMEDIA SYSTEM AND A PLURALITY OF EDITORS. |
US5375068A (en) * | 1992-06-03 | 1994-12-20 | Digital Equipment Corporation | Video teleconferencing for networked workstations |
US5361261A (en) * | 1992-11-02 | 1994-11-01 | National Semiconductor Corporation | Frame-based transmission of data |
US5406559A (en) * | 1992-11-02 | 1995-04-11 | National Semiconductor Corporation | Isochronous link protocol |
US5289461A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corporation | Interconnection method for digital multimedia communications |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
WO1994030017A1 (en) * | 1993-06-03 | 1994-12-22 | Target Technologies, Inc. | Videoconferencing system |
US5500929A (en) * | 1993-08-30 | 1996-03-19 | Taligent, Inc. | System for browsing a network resource book with tabs attached to pages |
US5594911A (en) * | 1994-07-13 | 1997-01-14 | Bell Communications Research, Inc. | System and method for preprocessing and delivering multimedia presentations |
US5630066A (en) * | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
-
1994
- 1994-10-17 CA CA002118278A patent/CA2118278C/en not_active Expired - Lifetime
- 1994-12-14 EP EP94309352A patent/EP0660576B1/en not_active Expired - Lifetime
- 1994-12-14 DE DE69432287T patent/DE69432287T2/en not_active Expired - Lifetime
- 1994-12-19 JP JP31390394A patent/JP3561016B2/en not_active Expired - Lifetime
-
1996
- 1996-08-15 US US08/698,300 patent/US5754784A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07202981A (en) | 1995-08-04 |
EP0660576A2 (en) | 1995-06-28 |
DE69432287T2 (en) | 2004-01-15 |
EP0660576B1 (en) | 2003-03-19 |
DE69432287D1 (en) | 2003-04-24 |
EP0660576A3 (en) | 1999-03-10 |
CA2118278A1 (en) | 1995-06-22 |
US5754784A (en) | 1998-05-19 |
CA2118278C (en) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3561016B2 (en) | Multimedia system | |
US6222838B1 (en) | Method and system for delivering audio and data files | |
RU2531859C2 (en) | System, method of reproduction and server of services for media resources | |
US20050262254A1 (en) | Dynamic redirection of streaming media between computing devices | |
US20060206580A1 (en) | Multimedia distribution apparatus and method | |
JP2002091863A (en) | Information providing method | |
JP5095455B2 (en) | Content reproduction apparatus, content reproduction method, program, and recording medium | |
JP2002199019A (en) | Communication controller, communication control method and recording medium recorded with communication control program | |
JP2007166572A (en) | Group reproduction method, computer system and computer-readable medium applied on network | |
KR20010012170A (en) | Interactive display system | |
CN1972447A (en) | Multi-image player based on stream media technology and its playing method | |
EP0848879B1 (en) | Phone based dynamic image annotation | |
CN114025230B (en) | Terminal video playing method and related device | |
US20110051718A1 (en) | Methods and apparatus for delivering audio content to a caller placed on hold | |
JP2017204856A (en) | Computer program and communication method for using ring back tone in VoIP call service | |
JPH11252255A (en) | Call recording system | |
CN111726282B (en) | Communication method and device of web application, electronic equipment and storage medium | |
JP7594673B2 (en) | Video greeting playback method, system, server and storage medium | |
US20230231895A1 (en) | System and method for accessing streaming data | |
JPH09510331A (en) | Selectable audio / video (A / V) distribution | |
JP3937346B2 (en) | Terminal, answering machine system and program | |
KR101399324B1 (en) | System and Method for Managing Message related to Music Contents | |
JP2000224557A (en) | Presentation system, its method, presentation terminal and recording medium | |
JP2005012343A (en) | Information processing system, apparatus and method for processing information, and program | |
JP3605760B2 (en) | Voice mail transfer method for communication terminal using browser and transfer method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040506 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040527 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090604 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090604 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100604 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100604 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110604 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120604 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120604 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130604 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |