JP3884102B2 - 中央演算処理装置へフォーマット済みデータを供給するための装置 - Google Patents
中央演算処理装置へフォーマット済みデータを供給するための装置 Download PDFInfo
- Publication number
- JP3884102B2 JP3884102B2 JP17140996A JP17140996A JP3884102B2 JP 3884102 B2 JP3884102 B2 JP 3884102B2 JP 17140996 A JP17140996 A JP 17140996A JP 17140996 A JP17140996 A JP 17140996A JP 3884102 B2 JP3884102 B2 JP 3884102B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- computer system
- module
- signal
- section
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4013—Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
-
- 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/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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
- 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
- H04N7/17318—Direct or substantially direct transmission and handling of requests
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、リトルエンディアンまたはビッグエンディアンどちらかの方式で動作する中央演算処理装置(CPU)へ共通フォーマットを有するデータを供給するための対話型テレビジョン放送システムのようなマルチメディア装置に関する。
【0002】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第08/497,492号(1995年6月30日出願)の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【0003】
【従来の技術】
今日のほとんど全てのコンピュータ・システムはデータのバイト(8ビット単位)に個別にアドレス可能なロケーションを提供するメモリ・システムを含んでいる。ここで、バイトがアドレス可能な最小単位のデータであることを表わしている。もっと長いデータ単位は、ワード(16ビット)および/またはロングワード(32ビット)と呼ばれることがあり、CPUで隣接したメモリ・ロケーションにバイトのシーケンスとしてアクセス、処理、記憶される。CPUはこのような長いデータ単位をアクセスしてメモリに記憶するために2つの方法のどちらか一方を使用する。第1の方法は最下位バイトから最上位バイトへとメモリアドレスを増加して長いデータ単位を記憶するものである。長いデータ単位のアクセスと記憶のためにこの方法を使用するCPUは一般にリトルエンディアンと呼ばれる方法で動作する。第2の方法は最上位バイトから最下位バイトへとメモリ・アドレスを増加して長いデータ単位を記憶するものである。この方法を長いデータ単位のアクセスと記憶のために使用するCPUは一般にビックエンディアンと呼ばれる方法で動作する。
【0004】
【表1】
【0005】
表1はリトルエンディアンとビッグエンディアン構成の両方でメモリ内のロケーション×1000でのロング・ワード(32ビット)変数0X12345678の記憶の例を示したものである。表1に示したシステムはバイトレベルでアドレス可能なメモリを含む。つまり、バイトが最小限アドレス可能なデータ単位、または、別の言い方をすれば、各バイトが独立してアドレス可能なロケーションに記憶されている。ロング・ワード変数0×12345678はロケーション0×1000から始まる連続したメモリ・ロケーションに記憶される。リトルエンディアン・システムでは、最下位バイト(即ち0×78)がもっとも下のメモリ・ロケーション(即ち0×1000)に記憶され、連続的により上位のバイトが連続したメモリ・ロケーションに記憶される。ビッグエンディアン・システムでは最上位バイト(即ち0×12)が最下位のメモリ・ロケーション(即ち0×1000)に記憶され、より下位バイトが連続したメモリ・ロケーションに順次に記憶される。
【0006】
プログラムの正しい実行のためにはそのプログラムを実行するCPUにとって正しい構成でメモリ内にデータが格納されることが重要である。現行システムにおいては、これは問題ではない。その理由は、全てのCPUがソース・プログラム(たとえばアセンブリ言語または高級言語)をそのCPU本来の機械語符号に翻訳するための、定数または初期変数データをメモリ内に正しいフォーマットで配置することを含めたプログラム開発ツールを含むからである。CPUがリトルエンディアン方式CPUの場合、これらのツールはそのCPUに対して適切なリトルエンディアン・フォーマットでデータを放出する。同様に、CPUがビッグエンディアン方式CPUの場合、これらのツールはそのCPUに対して適切なビッグエンディアン・フォーマットでデータを放出する。
【0007】
【発明が解決しようとする課題】
しかし最近ではマルチメディア(対話型)システム等の分散システムが提案され、コンピュータ・プログラムが中心のロケーションから遠隔のロケーションに送信される。遠隔のロケーションのCPU、および特に長いデータ単位で遠隔のロケーションのCPUが使用するエンディアン・フォーマットは中心のロケーションで未知である。実際に、両方のエンディアン・フォーマットを使用するCPUが送信されたコンピュータ・プログラムを受信して実行できると予想される。特に、対話型テレビジョン・システムが提案され、ビデオ、オーディオ、およびコンピュータ・プログラム要素が中心のロケーションから衛星リンクを経由して個別の加入者の所在地に放送される。各加入者の所在地は受信したビデオおよびオーディオ情報を表示するためのテレビ受像機と、受信したコンピュータ・プログラム情報を実行するためのCPUとを含む。別の加入者の所在地は別のエンディアン・フォーマットを使用する別のCPUを有することがある。
【0008】
コンピュータ・プログラムの符号部分は加入者の所在地にあるCPUに実装されたインタプリータが解釈できるような中間符号となるものと予想されている。しかし、それぞれの加入者所在地にあるCPUは共通の作業を実行するためいくつかの予め符号化したルーチンがこれに利用できると予想される。このようなルーチンは加入者の所在地にあるCPUの本来の符号で実装されて実行速度を最大にする。これらの本来の符号ルーチンでアクセスする全てのデータはそのCPUのエンディアン・フォーマットで記憶しなければならない。
【0009】
1つの解決策は中心のロケーションから2つのバージョンのコンピュータ・プログラムを送信することで有り得る:1つはビッグエンディアンCPU向け、もう1つはリトルエンディアンCPU向けとする。しかしこの解決方法では全てのコンピュータ・プログラムのデータを衛星リンク経由で、ビッグエンディアン・フォーマットで1回とリトルエンディアン・フォーマットでもう1回の2度送信しなければならない。これは帯域幅の無駄である。衛星リンク経由で1回だけデータを送信するが、ビッグエンディアンとリトルエンディアン両方のフォーマットを使用するCPUでそのデータを使用できるようにすることが望ましい。
【0010】
【課題を解決するための手段】
請求項1の発明は、分散コンピュータ・システムを含むマルチメディア送信システムであって、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクション(144)と、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクション(146)とを含むモジュールを表す信号を生成する中央コンピュータ・システムと、前記モジュールを表わす信号を受信する遠隔コンピュータ・システムであって、前記モジュールを抽出し、および前記スワップセクションに表された前記相対ロケーションにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップするローダ(40)を含む遠隔コンピュータ・システムと、前記中央コンピュータ・システムから前記遠隔コンピュータ・システムへ前記モジュールを表わす信号を送信するための伝送リンク(30)とを具えたことを特徴とする。
【0011】
請求項2の発明は、前記ローダは、前記データセクションの長いデータ単位に含まれる最小のデータ単位の順序を反転することにより、該長いデータ単位に含まれる該最小のデータ単位をスワップすることを特徴とする。
【0012】
請求項3の発明は、前記伝送リンクは、前記中央コンピュータ・システム内の送信器と、前記遠隔コンピュータ・システム内の受信器と、前記送信器および前記受信器の間に接続された衛星回線とを含むことを特徴とする。
【0013】
請求項4の発明は、前記中央コンピュータ・システムは、テレビジョンのビデオとオーディオ信号の供給源をさらに含み、前記送信器は、前記モジュールを表わす信号と前記テレビジョンのビデオとオーディオ信号を組み合わせて、複合オーディオ/ビデオ/対話型(AVI)信号を形成するためのマルチプレクサをさらに含み、前記遠隔コンピュータ・システムは、前記テレビジョンのビデオとオーディオ信号および前記モジュールを、前記受信した複合AVI信号から分離するためのデマルチプレクサと、前記テレビジョンのビデオとオーディオ信号を使用する手段とをさらに含むことを特徴とする。
【0014】
請求項5の発明は、対話型テレビジョンシステムであって、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクション(54)と、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクション(56)とを含む信号モジュールの供給源(30)と、前記信号モジュールを抽出し、前記スワップセクションに表された前記相対ロケーションにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップするためのローダ(40)プログラムを含む受信器とを具えたことを特徴とする。
【0015】
請求項6の発明は、前記受信器は、伝送リンクに接続されて前記信号モジュールを含む信号を検出するための検出器を含むことを特徴とする。
【0016】
請求項7の発明は、前記受信した信号モジュールは、多重化したテレビジョンのビデオとオーディオ信号を含み、前記受信器は、前記信号モジュールから前記テレビジョンのビデオとオーディオ信号を分離するためのデマルチプレクサと、前記受信したテレビジョンのビデオとオーディオ信号を使用する手段をさらに含むことを特徴とする。
【0017】
請求項8の発明は、前記最小のデータ単位がバイト変数であり、前記長いデータ単位が2バイトから構成されるワード変数と4バイトから構成されるロングワード変数のいずれかであり、前記データセクションは、連続した整列ロングワードに分割され、前記最小のデータ単位と前記長いデータ単位のいずれかが記憶され、前記スワップセクションは、複数のエントリを含み、それぞれのエントリは前記データセクションの前記整列ロングワード内のデータ単位のパターンを識別するデータを含む部分を含むことを特徴とする。
【0018】
請求項9の発明は、前記スワップセクションは、さらに前記データ部分の前記整列ロングワードのシーケンスでデータ単位を識別する複数のシーケンス・エントリをさらに含むことを特徴とする。
【0019】
請求項10の発明は、前記スワップセクションは、それまでに挿入されたシーケンス・エントリに戻るバック・ポインタ・オフセットを表わすデータを含むエントリを含み、前記ローダは、前記バック・ポインタ・オフセットに応じて、それぞれのシーケンス・エントリにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップすることを特徴とする。
【0020】
請求項11の発明は、整列したロングワード内部のデータ単位のパターンが、
4つの連続したバイト変数、
2つの連続したバイト変数に続くワード変数、
ワード変数に続く2つの連続したバイト変数、
2つの連続したワード変数、
ロングワード変数
のうちの1つを含むことを特徴とする。
【0021】
請求項12の発明は、マルチメディア送信システムにおける中央コンピュータ・システムにおいて、コンピュータ(12)プログラムデータの第1の供給源と、前記第1の供給源に結合されて、前記コンピュータプログラムデータを走査するポストリンカであって、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクション(144)と、前記データセクションのデータのフォーマットに応じて、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを有するスワップセクション(146)とを含む前記データ・モジュールを生成するポストリンカ(20)とを具えたことを特徴とする。
【0022】
請求項13の発明は、伝送リンクに接続されて前記データ・モジュールを放送するための送信器をさらに具えたことを特徴とする。
【0023】
請求項14の発明は、テレビジョンのビデオとオーディオ信号の第2の供給源と、前記第2の供給源に接続され、前記データ・モジュールと前記テレビジョンのビデオとオーディオ信号とを含む複合信号を生成するためのマルチプレクサとをさらに具えたことを特徴とする。
【0024】
請求項15の発明は、前記第1の供給源は、オブジェクトファイル内のシンボル・テーブルであることを特徴とする。
【0025】
請求項16の発明は、中央コンピュータ・システムと、遠隔コンピュータ・システムと、前記中央コンピュータ・システムおよび前記遠隔コンピュータ・システムの間に接続された伝送リンクとを含むマルチメディア送信システムにおいて、前記中央コンピュータ・システムを動作させるための方法であって、シンボル・テーブルを含むオブジェクトファイルを生成するステップと、前記オブジェクトファイルを走査して、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションを含むモジュールを生成するステップと、前記シンボル・テーブルを走査して、前記モジュールにスワップセクションを生成するステップであって、前記スワップセクションは、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むステップと、前記モジュールを表わす信号を生成するステップと、前記伝送リンクを経由して、前記遠隔コンピュータ・システムに前記モジュールを表わす信号を送信するステップとを含むことを特徴とする。
【0026】
請求項17の発明は、前記中央コンピュータ・システムは、オーディオ信号供給源とビデオ信号供給源とを含み、前記モジュールを表わす信号を生成するステップの後で、前記オーディオ信号と、前記ビデオ信号と、前記モジュールを表わす信号とを多重化して複合AVI信号を形成するステップをさらに含むことを特徴とする。
【0027】
請求項18の発明は、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションと、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクションとを含むモジュールを表わす信号を生成するための中央コンピュータ・システムと、遠隔コンピュータ・システムと、前記中央コンピュータ・システムおよび前記遠隔コンピュータ・システムの間に接続され、前記中央コンピュータ・システムから前記遠隔コンピュータ・システムへ前記モジュールを表わす信号を送信するための伝送リンクとを含むマルチメディア送信システムにおいて、前記遠隔コンピュータ・システムを動作させるための方法であって、前記モジュールを表わす信号を受信するステップと、前記モジュールを表わす信号から前記データセクションを抽出するステップと、前記モジュールを表わす信号から前記スワップセクションを抽出するステップと、前記スワップセクションのデータをトラバースするステップと、前記長いデータ単位の1つを含むと識別された前記データセクションのそれぞれの相対ロケーションにおいて、前記長いデータ単位に含まれる最小のデータ単位をスワップするステップとを具えたことを特徴とする。
【0028】
請求項19の発明は、前記中央コンピュータ・システムは、前記モジュールを表わす信号と、ビデオ信号とオーディオ信号とを組み合わせた複合オーディオ/ビデオ/対話型(AVI)信号を生成し、前記受信ステップが、前記複合AVI信号を受信するステップと、前記オーディオ信号、前記ビデオ信号、および前記モジュールを表わす信号を前記複合AVI信号から分離するステップと、前記オーディオ信号成分と前記ビデオ信号成分を使用する手段に供給するステップとを含むことを特徴とする。
【0029】
請求項20の発明は、前記スワップするステップは、前記長いデータ単位に含まれる最小のデデータ単位の順序を反転するステップを含むことを特徴とする。
【0030】
【作用】
本発明の原理によれば、分散コンピュータ・システムは中心のロケーションと複数の遠隔のロケーションを含む。中心のロケーションのコンピュータ・システムは1つまたはそれ以上のモジュールから構成され、それぞれが複数のデータ単位を含むデータ部分を含むコンピュータ・プログラムを生成する。データ単位のそれぞれは最小限アドレス可能なデータ単位またはもっと長いデータ単位のいずれかとする。それぞれの長いデータ単位は複数の最小限アドレス可能なデータ単位を含む。該モジュールはデータ部分(セクション)内部の長いデータ単位のロケーションを識別するデータを含むスワップ部分も含む。遠隔のロケーションのコンピュータ・システムはモジュールを受信し、またローダを含む。ローダはデータ部分の長いデータ単位の最小限アドレス可能なデータ単位をスワップする。伝送リンクは中心のロケーションのコンピュータ・システムから遠隔のロケーションのコンピュータ・システムへモジュールを送信する。
【0031】
【発明の実施の形態】
以下に、図面を参照して本発明の実施の形態を詳細に説明する。
【0032】
図1は本発明を使用する分散コンピュータ・システムのブロック図である。図1において、中心のロケーションは遠隔のロケーションへ送信するためのコンピュータ・プログラムの符号とデータを準備するためのコンピュータ・システムを含む。コンピュータ・システムは互いに周知の方法でシステム・バス経由で一緒に結合してある中央演算処理装置(CPU)、読み書き両用メモリ(RAM)、読み出し専用メモリ(ROM)、入出力装置たとえばCRT端末や印刷装置を含むがいずれも図示していない。コンピュータ・システムはさらに周知の方法で動作し周知の方法でシステム・バスに接続される大容量記憶装置10も含む。
【0033】
動作において、コンピュータ・システムをプログラマが使用して中心のロケーションから複数の遠隔のロケーションへ分配しようとするコンピュータ・プログラムを生成する。プログラム開発で普通に行なわれるように、アプリケーション・プログラマは周知の方法でコンピュータ・システムを使用してソース文書(図示していない)を生成し、これは1つまたはそれ以上のソースおよび/または制御ファイル(図示していない)から構成してもよい。ソース文書はコンピュータ・システム上で実行される各種プログラム(たとえばコンパイラ)が周知の方法で処理し、そのそれぞれが中間結果を発生することができ、遠隔のロケーションへすぐに分配することのできるような最終モジュールを生成する。大容量記憶装置10はプログラム開発工程の中間結果たとえば1つまたはそれ以上のオブジェクトファイル12等と、プログラム開発工程の1つまたはそれ以上の最終モジュールたとえばモジュール14を表わすデータを保持する。図1において、ポストリンカ・ルーチン20は入力としてオブジェクト・モジュール12を取り出し、以下でさらに詳細に説明するような方法で、出力としてモジュール14を生成する。
【0034】
たとえば対話型テレビジョン・システムにおいて、視聴者と放送テレビジョン信号の相互作用に影響するアプリケーション・プログラムが中心のロケーションのプログラム開発ツールを使用するアプリケーション・プログラマによって開発される。プログラム開発ツールの中間結果の1つがオブジェクト・ファイル12である。オブジェクトファイル12は実行可能な符号(図示していない)とシンボル・テーブル122を表わすデータを含む。シンボル・テーブル122はそれぞれの変数名、データ形式、プログラム実行時にその変数が記憶されるメモリ内のアドレスに関係するデータを含む。シンボル・テーブル122はさらにシンボル・テーブル122内の各データ形式を前述したように、バイト、ワード、ロングワードのような基本データ形式に関連させる情報も含む。
【0035】
ポストリンカ20は周知の方法で実行可能符号(図示していない)を表わすオブジェクトファイル12のデータを処理し、モジュール14の中間符号部分(セクション)142に周知の構造の中間符号を生成する。ポストリンカ20はさらに周知の方法でオブジェクト・モジュール12のシンボル・テーブル122の情報を分析して、モジュール14における符号部分142に含まれるプログラム符号が遠隔のロケーションで実行された場合にメモリに記憶されることになるシンボル・テーブル122のデータ・イメージを表わすデータを含むデータ部分144を発生する。
【0036】
モジュール14(および図示していないそれ以外の全てのモジュール)は伝送リンク30を経由して複数の遠隔のロケーションに送信される。伝送リンク30はたとえば中心のロケーションのコンピュータ・システムのシステムバスに接続してある出力アダプタ、スケジューラ、パケッタイザ、マルチプレクサ、RF衛星アップリンク、衛星トランスポンダ、RF衛星ダウンリンク、デマルチプレクサ、遠隔のロケーションのコンピュータ・システムのシステムバスに接続された入力アダプタ(いずれも図示していない)などの周知の要素から構成される。伝送リンクは周知の方法で動作してモジュール14を中心のロケーションから遠隔のロケーションに必要に応じて送信する。
【0037】
対話型テレビジョンシステムにおいて、中心のロケーションはモジュール14で表わされるコンピュータ・プログラム(および図示していないその他全てのモジュール)に付随させるテレビのビデオおよびオーディオ信号の供給源も含む。テレビのビデオとオーディオ信号はモジュール14と一緒にパケット化、多重化されて複合対話型テレビ信号を形成する。この複合信号が遠隔のロケーションの全部に、たとえば周知の方法で衛星リンク経由により放送される。遠隔のロケーションはこの複合信号を検出・提供するための検出器を含む受信器と、たとえばテレビのビデオとオーディオ信号からモジュールを非多重化するための逆伝送プロセッサ等を含む。テレビのビデオとオーディオ信号は周知の方法で処理され、これらの信号を使用できるシステムに提示される。たとえば、テレビのビデオとオーディオ信号は加入者所在地でテレビ受像機またはVTRへ供給することができる。さらに、遠隔のロケーションのコンピュータがモジュールで表わされたコンピュータ・プログラムを実行することもさらに可能で、プログラム実行の結果として画像ビデオ信号と音声オーディオ信号を生成することができる。これらのコンピュータが生成したビデオとオーディオ信号はテレビのビデオとオーディオ信号にそれぞれ組み合せてテレビとコンピュータを組み合せたマルチメディア表現を生成することができる。さらに、ユーザが実行可能なコンピュータ・プログラムと相互作用して(たとえば遠隔のロケーションの制御ユニットの使用により)表示されたマルチメディア表現と相互作用することも可能である。対話型テレビジョン・システム設計の当業者には上記の全部をどのように実行できるかが理解されよう。
【0038】
前述のように、それぞれの遠隔のロケーションはCPU70、RAM50、ROM60、各種の入出力装置(図示していない)を含み全部が周知の方法でシステムバス(図示していない)経由で相互に接続され、周知の方法で動作するコンピュータ・システムを有している。1つの入力装置(図示していない)は伝送リンク30の出力をシステムバスへ接続する。ローダ処理ルーチン40はCPU上で実行し、この入力装置の動作を制御する。伝送リンク30から所望のモジュールを受信すると、ローダ40が符号部分(セクション)52とデータ部分(セクション)54をRAM50に転送する。
【0039】
受信したモジュールがRAM50に完全に転送されると、ROM60に永久的に記憶されているインタプリータ・ルーチン62が符号部分52の中間符号(前述した)にアクセスし、周知の方法でこれを解釈して実行する。符号部分52のいくつかの命令はデータ部分54に記憶されているデータを参照する。これらの命令を実行すると、インタプリータ62はデータ部分54の所望のデータにアクセスしてプログラムを実行する。
【0040】
インタプリータはプログラムの実行のためには非常に遅い手段であることが周知である。速度は必ずしも重要ではないが、速度が所望されるような機能が存在する。このような機能を実行するため、遠隔のロケーションのコンピュータ・システムは遠隔のロケーションのCPUの本来の符号で符号化したルーチンのライブラリ64を含む。
【0041】
しかし、前述したように、別の遠隔のロケーションにあるそれぞれのCPUは別のエンディアン・フォーマットで動作させることもできる。つまり、いくつかの遠隔のCPUはビッグエンディアン・フォーマットで動作するが、他のCPUはリトルエンディアン・フォーマットで動作することがある。データ部分が生成されエンディアン・フォーマットの1つに、たとえばビッグエンディアン・フォーマットに変換された場合、ビッグエンディアン・フォーマットで動作する遠隔のロケーションのCPUのための本来のライブラリ64は利用できるもっとも効率的な多バイト読み書きの本来の命令を直接使用してデータ部分54に記憶されている長いデータ単位にアクセスすることがある。しかしリトルエンディアン・フォーマットで動作する遠隔のロケーションのCPUの本来のライブラリ64は1度に1バイトづつ長いデータ単位をアクセスしなければならず、またデータ自体を処理する前にビッグエンディアン・フォーマットからリトルエンディアンフォーマットへバイトをスワップすることによって再構成しなければならない。これによりできる限り高速に実行しなければならないこれらのルーチンに実質的なオーバヘッドが追加される。
【0042】
本発明の原理によれば、中心のロケーションで生成されたモジュール14はさらにスワップ部分146を含む。スワップ部分(セクション)146はデータ部分(セクション)144の長いデータ単位がどこに記憶されているかを表わすデータを含む。ポストリンカ20はオブジェクトファイル12のシンボル・テーブル122を分析するのと同時に、データ部分のどこにこれらの長いデータ単位が記憶されているかを決定できる。ポストリンカ20は、長いデータ単位を識別した時点で、テーブルにエントリを作り長いデータ単位があるデータ部分144内の相対ロケーションを表わす。オブジェクトファイル12を完全に分析した時点で、このテーブルを表わすデータがモジュール14のスワップ部分146に記憶され、伝送リンク30を介して中間符号部分142およびデータ部分144と一緒に遠隔のロケーション送信される。
【0043】
図示した実施例において、データはデータ部分144にビッグエンディアン・フォーマット専用に記憶されている。スワップ部分146はデータ部分144内のどこに長いデータ単位が記憶されているかを表わすデータを含む。遠隔のロケーションにおいて、ローダ40は受信したモジュールの符号部分52、データ部分54、スワップ部分56をRAM50に記憶する。遠隔のロケーションのCPUがビッグエンディアン・フォーマットで動作する場合には、スワップ部分56を含むRAM50のロケーションは不要であり、他の目的に使用するために解放できる。ローダ40はこれの機能の完了を報告しインタプリータ62と本来のライブラリ64がそれぞれ遠隔のロケーションのCPUで使用するビッグエンディアン・フォーマットのデータにアクセスする。
【0044】
他方、遠隔のロケーションのCPUがリトルエンディアン・フォーマットで動作するとすると、ローダ40は処理を完了する前にスワップ部分56のデータを分析する。スワップ部分56が示すように、より長いデータ単位を含むデータ部分54内の全てのロケーションにおいて、ローダ40はデータ単位のバイトをスワップし、そのデータ単位をビッグエンディアン・フォーマットからリトルエンディアン・フォーマットへ変換する。より長いデータ単位全部がリトルエンディアン・フォーマットに変換された後は、スワップ部分56を含むRAM50のロケーションはもはや不要になるので、他の目的に使用するように解放することができる。ローダはこれの機能の完了を報告し、インタプリータ62と本来のライブラリ64の実行を開始させる。この遠隔のロケーションのデータは現在全部がリトルエンディアン・フォーマットになっているので、本来のライブラリ64のルーチンはもっとも効率的な多バイト読み書きの本来の利用可能な命令を使用して動作できる。
【0045】
本発明による対話型テレビジョン・システムでは遠隔のロケーションでビッグエンディアンとリトルエンディアン両方のフォーマットで動作するCPUが本来のモードで送信データにアクセスすることができ、中心のロケーションから1回はビッグエンディアン・フォーマットでまたもう1回リトルエンディアン・フォーマットでと2回にわたりデータを送信する必要がない。必要なことは、中心のロケーションのポストリンカにより小さいスワップ部分を各モジュールに生成することと、送信データのフォーマットとは異なるエンディアン・フォーマットで動作するCPUを含む遠隔のロケーションのローダルーチンに読み込み終了前に長いデータ単位をスワップするステップを追加することである。
【0046】
図2はデータ部分144の配置と別の対応するスワップデータ部分146aおよび146bを表わすメモリ配置図である。図2ではデータ部分144が図面の中央にコラムとして図示してある。各変数はこのコラム内部の四角形で表わされ、その四角形の大きさが変数の大きさに対応する。さらに詳しくは、いちばん上の2つの変数はそれぞれがバイト変数である。第3の変数はワード変数で連続2バイトから構成されるように図示してある。第4の変数はバイト変数である。第5の変数はロングワード変数で、連続4バイトから構成されるように図示してある。第6の変数はバイト変数である。第7の変数はワード変数で、連続2バイトから構成されるように図示してある。当然ながらデータ部分144には他の変数も存在し、これはバイト変数、ワード変数、またはロングワード変数とすることもできる。
【0047】
図の左側のコラムはスワップデータ部分146aの第1の実施を表わしている。この実施において、データ部分144のそれぞれの変数に対するエントリがあり、データ部分に出現する順序でそれぞれのエントリが対応する変数の大きさを表わしている。スワップ部分146aでは、データ部分144に図示した7変数に対応して7つのエントリがある。各エントリの内容は対応する変数の種類を表わす文字で図示してある。詳しくは、第1の2エントリは表記「B」を含み、これは第1の2エントリがバイト変数であることを表わす。次のエントリは表記「W」を含み、これは第3の変数がワード変数であることを表わす。次のエントリは表記「B」を含みこれは第4の変数がバイト変数であることを表わす。次のエントリは表記「L」を含み、これは第5の変数がロングワード変数であることを表わす。以下同様に続く。理解されるように、この実施において、変数について3種類の可能な長さ(B、W、またはL)が存在し、長さは2ビットで表わされ、このような表示4種類を単一のバイト内に組み込むことができる。
【0048】
あるいはまた、データ部分の長いデータ単位のロケーションだけをスワップ部分に含めることができる。これが図2の右手に図示してあるスワップ部分146bに図示してある。データ部分144の図示した部分において、1つのエンディアン・フォーマットから別のフォーマットにスワップする必要があるデータ部分144の長いデータ単位が3つ存在する。146bに図示したスワップ部分の各エントリは長いデータ単位のデータ部分144内でのロケーションを示すオフセット値と、その単位の種類を含む。詳しくは、スワップ部分146bの第1のエントリは第3の変数のロケーションへのポインタと、これがワード変数(2バイト)であることの表示を含む。次のエントリはデータ部分144内の第5の変数を示し、この変数がロングワード変数(4バイト)であることの表示を含む。次のエントリは第7の変数を示し、その変数がワード変数(2バイト)であることの表示を含む。この実施によるスワップ部分のそれぞれのエントリはデータ部分内部のロケーションへのオフセットポインタとそのロケーションの種類の表示を格納するだけ充分に大きくする必要がある。しかし、全てのデータ単位についてではなく長いデータ単位についてのエントリしかない。これ以外に変数の各種類ごとに別のリストを用いる、即ちワード変数用に1つのリスト、ロングワード変数用に別のリストを用いることができる。このようなリストそれぞれの各エントリはデータ部分144の変数のロケーションへのオフセットポインタだけを含めば良い。
【0049】
このようないずれかの実施において、(図1の)ポストリンカ20はシンボル・テーブルを分析し、前述のように長いデータ単位のデータ部分144での場所を識別するためのスワップ部分146を生成する。ローダ40は第1にスワップ部分56を読み込み、データ部分54の長いデータ単位のエンディアン・フォーマットを変換する必要があればスワップ部分56のデータをトラバースないし走査し、長いデータ単位のデータ部分54でのロケーションを識別し、これらのロケーションのバイトをスワップする。146aに図示したようなスワップ部分では、データ部分144全体を走査し、場所が長いデータ単位(ワードまたはロングワード変数)を含むとスワップ部分146aのエントリが示している場合にはこれらのバイトをスワップする。146bに図示したスワップ部分では、スワップ部分の各エントリがデータ部分144で指示されたロケーションでバイトをスワップすることにより処理される。
【0050】
近代的なプログラミング言語では、変数は前述したような基本バイト、ワード、ロングワード変数から形成され、ストラクチャ、アレイ、ストラクチャのアレイ、および/またはアレイを含むストラクチャに配置された複雑な変数であることが多い。このようなデータの構成は同じ種類のデータの反復、またはデータの種類のパターンの反復を発生する。スワップ部分の大きさは特別な符号化により反復する変数の種類または変数のパターンを効率的に表現できるようにすることで減少可能である。
【0051】
図3は本発明によるスワップ部分146のそれぞれの部分の符号化を表わすメモリ配置図である。図3に図示したスワップ部分146の構成は(図2の)スワップ部分146aに対応し、データ部分の各バイトについてスワップ部分にエントリが存在する。同じ種類のデータの反復とデータの種類のパターンの反復を利用することで図3に図示したようにスワップ部分146でさらなる圧縮が達成される。
【0052】
図3において、遠隔のロケーションは3種類の基本的な変数の種類、バイト、ワード、ロングワードを有し、長いデータ単位(ワードまたはロングワード)が整列する必要のあるCPUを含む。これは、バイト変数ならメモリ内のどこに記憶することもできるが、ワード変数は偶数アドレスを有するバイト・ロケーションにだけ記憶でき、ロングワード変数は4で割ることのできるアドレスを有するバイト・ロケーションにだけ記憶できる。このような構成は周知であり、コンピュータ・システム設計の当業者には理解されよう。
【0053】
ポインタと呼ばれる特別なロングワードは図3において別に「P」として表わされている。ポインタは周知のプログラミング構造で、読み込み処理中に特別に処理される。ポインタはロングワードと同じ大きさ、即ち4バイトで、4で割ることのできるアドレスを有するバイト・ロケーションだけに記憶する必要があり、またエンディアン・フォーマットを変更する必要があればバイトをスワップしなければならない。さらに、これらの値はデータ部分が記憶される遠隔のロケーションのRAMの絶対ロケーションを反映するように、再配置として周知の処理で変更する必要がある。再配置処理は周知でありこれ以上詳細に本明細書では説明しない。
【0054】
データ部分におけるデータの配置は後述するような方法で符号化された一連のバイトとしてスワップ部分146に表わされている。図3に図示したスワップ部分146の符号化の方式では、データ部分(図示していない)を整列したロングワードに分割されたものとまず考える。図3は左手上方に表202を含み、唯一許容されるバイト変数(「B」で表わされる)、整列したワード変数(「W」で表わされる)、整列したロングワード変数(ロングワードでは「L」、ポインタは「P」で表わされる)の配置を示している。表202の左側のアドレスはデータ部分のロングワード整列(4で除算可能な)アドレスを表わし、データ部分の実際のアドレスを表わしているものではない。
【0055】
理解されるように、整列ロングワード内には6種類の許容可能な変数配置が存在する。いちばん上のエントリ、右側で「0」番の番号は整列ロングワードが4つの独立したバイト変数(B)を含むことを示している。第2の、「1」番のエントリは整列ロングワードが2バイト変数(B)に続けてワード変数(W)を含むことを表わす。第3の「2」番のエントリは整列ロングワードがワード変数(W)に続けて2つのバイト変数(B)を含むことを表わす。第4の「3」番のエントリは整列ロングワードが2つのワード変数(W)を含むことを表わす。第5の「4」番のエントリは、整列ロングワードがロングワード変数(L)を含むことを表わす。第6の「5」番のエントリは整列ロングワードがポインタ(P)を含むことを表わす。他の配置は許容されない。
【0056】
図3のa)を参照するに、データ部分の整列ロングワードをスワップ部分146のエントリで表わすことができる。表202のエントリの右側の数値は、整列ロングワード等の内部の変数パターンを表わしており、周知の方法で3ビットに2進符号化される。これら3ビットはその整列ロングワードに対応するスワップ部分146のエントリ204の最上位3ビット(ビット7:6:5)に挿入される。スワップ部分の各エントリ204がメモリ内の連続した整列ロングワードの個数を表わすことができ、それぞれが同じ変数のパターンを含むことにより、スワップ部分で圧縮の目安が達成される。残りのビット(ビット4:3:2:1:0)208は最上位3ビットで表わされるパターンの反復回数を表わす2進符号化した数値Nを含む。数値Nは0から31までの値をとることができる。この数値Nはパターンの反復回数−1を表わす。数値Nが「0」は反復値1、即ちデータ部分におけるパターン206の1回だけの発生を表わす。数値Nが「1」は反復値2を表わし、数値Nが「31」では反復値32を表わす。つまり、スワップ部分146の1バイトのエントリ204で表わすことができる2進符号化された値206で表わされるパターンの反復回数は1から32までをとることができる。
【0057】
前述のように、プログラム内の変数は基本的なデータ形式の複雑な組み合わせで、ストラクチャ、アレイ、ストラクチャのアレイ、および/またはアレイを含むストラクチャを含むことがある。これらの複雑な組み合わせは特定の方法で構成した基本的なデータ形式のシーケンスから構成される。表202からパターンの符号化に使用されない2進値、即ち「6」「7」を、それぞれ、たとえばこのようなストラクチャとアレイの反復発生から得られる等の基本データ形式のシーケンスの符号化と、すでに定義したパターンの反復に使用する。図3のb)は表202からパターンの反復シーケンスを表わすスワップ部分146の一部の符号化を表わす。このようなシーケンスが識別された場合(たとえば図1のポストリンカ20によりシンボル・テーブル122から)、2進符号化値「6」がスワップ部分146の第1バイト210の上位3ビット(7:6:5)に配置されてスワップ部分146でこのエントリがシーケンスを表わし、図3のa)のような基本的データ形式のパターンではないことを示す。図3のa)と同様に、第1バイト210の最下位5ビットは特定シーケンスの反復回数を表わす2進符号化した値Nである。この場合、2進符号化した数値Nはシーケンスの反復回数−2を表わす。つまり、識別したシーケンスの反復回数は2から33までとなる。
【0058】
スワップ部分の次のバイト212はスワップ部分146のシーケンスの長さ−1を含み、後述するような方法で決定される。シーケンス長さバイト212の次は一連のバイト214で、図3のa)に関連して前述したように符号化される。バイト列214のバイト数が決定されバイト列においてバイト数−1に等しい数Nが2進符号化され前述したようにシーケンス長さバイト212に挿入される。
【0059】
複雑なストラクチャが定義される、たとえば(図1の)シンボル・テーブル122のような場合、そのストラクチャを表わすのに必要な基本的データ形式の構成はポストリンカ20によって決定できる。このようなデータ構造の発生がシンボル・テーブル122で定義されると、図3のb)に図示したようなエントリがスワップ部分146に作成される。このようなストラクチャのアレイはそのデータ構造の反復回数で表わすことができ、前述のように反復回数を表わす2進符号化した数値N−2で指定される。
【0060】
そのデータ形式の別の例が(図1の)シンボル・テーブル122で定義される場合には、図3のb)のようにすでに挿入したシーケンスのエントリを挿入しなおすのではなく、別のエントリ、バック・ポインタと呼ばれるエントリをスワップ部分146に挿入して以前のシーケンス・エントリへ戻り参照する。図3のc)はバック・ポインタ・エントリの符号化を示す。バック・ポインタ・エントリでは、2進値「7」が第1バイト216の最上位3ビットに符号化される。図3のa)および図3のb)と同様に、第1バイト216の最下位5ビットはバック・ポインタ・エントリで表わされるすでに定義したシーケンスの反復回数を表わす2進符号化した数値Nを含む。図3のc)において、数値Nは反復回数−2で、反復回数2から33を表わしている。
【0061】
次のバイト218は図3のb)で説明したように、それまでに挿入したシーケンス・エントリに戻るスワップ部分146のオフセットを表わす。オフセットは現在のバック・ポインタ・エントリとそれまでに定義したシーケンス・エントリとの間のバイト数を表わす。このオフセットは、図3のc)のバック・ポインタ・オフセットバイト218から図3のb)のシーケンス長バイト212までの矢印で示してあるように、すでに定義したシーケンス・エントリでのシーケンス長バイト212を指している。図3に図示した符号化方式を使用して、基本的データの種類、バイト、ワード、ロングワードのデータ部分内でのロケーションを、スワップ部分146でのエントリをトラバースすることによってローダ40によって(図1)が簡単に決定できる。長いデータ単位、ワード、ロングワード、およびポインタは、これらのデータ単位のエンディアン・フォーマットを変更する必要があれば発見してバイトスワップすることができる。
【0062】
図4はデータ部分144と図3にしたがって符号化した対応するスワップ部分146の例を示すメモリ配置図である。図4において、データ部分144の一部が図面の右側に図示してあり、対応するスワップ部分146の一部が図面の左側に図示してある。スワップ・テーブルのエントリを形成するバイトは水平方向の四角で図示してある。バイトのいくつかは四角形内部の縦線で表わされるように部分に論理的分割される。各部分を含むビットはスワップ部分146の上に図示してある。データ部分144のそれぞれの水平方向の四角形は4バイトを含むメモリ内の整列ロングワードに対応する。これらのバイトB1、B2、B3、B4はデータ部分144の上に図示してある。第1の6つの整列ロングワードそれぞれの左側のアドレスはロングワードが整列されていることを表わすだけで、データ部分での絶対ロケーションを表わしているものではない。それぞれ図示した整列ロングワード内の基本的変数の形式の構成は、バイト変数が「B」、隣接する2バイトからなるワード変数が「W」、隣接する4バイトからなるロングワード変数が「L」、また隣接する4バイトからなるポインタが「P」で表わしてある。
【0063】
図4のデータ部分144の第1の6つの整列ロングワードは図3のa)の表202に図示した基本的データ形式の同じパターンの変数を含む。第1の6つのロングワードの右側の「0」から「5」までの表記は表202に図示してあるように対応するロングワードのパターンの個数である。
【0064】
スワップ部分146における第1のエントリはデータ部分144の第1の整列ロングワードに対応する。この整列ロングワードはアドレス0x0000にあり、4バイトの変数「B」を含む。2進符号化したこのパターンの表現は「0」で、これが最上位3ビット7:6:5に符号化される。このような連続パターンは1回だけなので、反復回数は1である。最下位5ビット4:3:2:1:0に符号化された数値Nは反復回数(1)−1、または0である。スワップ部分146の次の5つのエントリはデータ部分144の次の5つの整列ロングワードに対応し同様に符号化されている。
【0065】
スワップ部分146において次に図示したエントリは3回反復するデータ部分144のパターンに対応する。この場合、反復パターンはワード変数Wであり、それに続いて2つの順次のバイト変数Bがある。このパターンは2進符号化した値「2」で、図3の表202に図示したように表わされている。2進符号化した値「2」は最上位3ビット7:6:5に記憶される。この場合の反復回数は3である。最下位5ビット4:3:2:1:0に符号化される数値Nは反復回数(3)−1または2である。
【0066】
スワップ部分146において次に図示したエントリは連続5バイトで構成され、パターンの反復シーケンスを表わしている。このシーケンスは同じパターンを含む2つの連続した整列ロングワードから構成される。ワード変数Wに続けて2つの連続バイト変数Bである。これに連続2つのワード変数Wのパターンを含む整列ロングワードが続き、これにロングワード変数Lのパターンを含む整列ロングワードが続く。このシーケンスが2回反復されている。スワップ部分146の対応するエントリにおいて、第1バイトは図3のb)に図示したように最上位3ビットで2進値「6」を含む。下位5ビットは図3のb)に図示したように反復回数−2に等しい数値Nで符号化される。この場合、数値Nは反復回数(2)−2または0である。次のバイトはシーケンスの長さ−1を表わすエントリの2進符号化した個数を含む。この場合シーケンスを記述する後続の3エントリがある(後述する)ので、シーケンス長バイトに記憶される値はエントリ数(3)−1または2である。
【0067】
次の3バイトはシーケンス自体を記述し、図3のa)に図示したように符号化してある。データ部分144の対応する部分に図示したシーケンスは2つの連続した整列ロングワードで始まり、各ロングワードはワード変数Wのパターンを含み、それに続いて2つのバイト変数Bのパターンがある。これは2という番号のついたパターンの2回の反復である。従って、スワップ部分146でシーケンスを記述する第1バイトは最上位3ビット7:6:5において2を有し、最下位5ビット4:3:2:1:0は1(反復回数(2)−1)を有する。データ部分144のシーケンス内の次の整列ロングワードは2つの連続したワード変数Wのパターンを含む。これは3で表わしたパターンの1回の反復である。このパターンをスワップ部分146で記述するバイトは最上位3ビット7:6:5に3を有し、下位5ビット4:3:2:1:0に0を有する。データ部分144のシーケンスにおいて最後の整列ロングワードは単一のロングワード変数Lのパターンを含む。これは4番目のパターンの1回の反復である。スワップ部分146でこのパターンを記述するバイトは最上位3ビット7:6:5が4、最下位5ビット4:3:2:1:0が0を有する。
【0068】
スワップ部分146で次に図示したエントリは2バイトから構成され、データ部分144で説明したシーケンスの3回の反復を表わす。スワップ部分146のこのエントリは最上位3ビット7:6:5に「7」を含むバイトである。下位5ビット4:3:2:1:0は反復回数(3)−2または1を含む。次のバイトはスワップ部分146のすでに図示したエントリにおけるシーケンス長バイト(2を含む)への矢印で表わしてあるように、本来シーケンスが記述されていたスワップ部分146のエントリのシーケンス長バイトへのバック・ポインタを表わすオフセットを含む。
【0069】
このように、データ部分144の全てのバイトに含まれる変数の種類がスワップ部分146の対応するエントリで表わされる。スワップ部分146は、前述したように、シンボル・テーブル122を分析して、シンボル・テーブル122において参照される変数を構成する基本的変数のデータ形式を表わすスワップ部分146でのエントリを生成することにより、(図1の)ポストリンカ20によって生成してもよい。受信したスワップ部分56をローダ40によって分析し、そして受信したデータ部分54における適当な長いデータ単位を適切に位置させ、およびそれらのバイトをスワップすることによって、それらを適当なエンディアン・フォーマットに変換する。
【0070】
【発明の効果】
本発明によれば、モジュールはデータ部分とスワップ部分とを含み、遠隔ロケーションのコンピュータ・システムのローダによって、スワップ部分のデータで識別されたロケーションに、データ部分における長いデータ単位の最小限アドレス可能なデータ単位をスワップすることによって、中心のコンピュータ・システムから遠隔のコンピュータ・システムへモジュールを表わす信号を送信するようにしたので、たとえば、衛星リンク経由で1回だけデータを送信するが、ビッグエンディアンとリトルエンディアン両方のフォーマットを使用するCPUでそのデータを共通フォーマットとして使用することができる。
【図面の簡単な説明】
【図1】本発明を用いた分散コンピュータ・システムのブロック図である。
【図2】データ部分とこれに代わる対応スワップデータ部分の配置を例示するメモリ配置図である。
【図3】本発明の実施例によるスワップ部分の符号化を例示するメモリ配置図である。
【図4】図3にしたがって符号化したデータ部分および対応するスワップ部分の例を示すメモリ配置図である。
【符号の説明】
10 大容量記憶装置
12 オブジェクト・ファイル
14 モジュール
20 ポストリンカ
30 伝送リンク
40 ローダ
50 RAM
52 符号部分
54 データ部分
56 スワップ部分
60 ROM
62 インタプリータ
64 ライブラリ
70 CPU
122 シンボル・テーブル
142 符号部分
144 データ部分
146 スワップ部分
Claims (20)
- 分散コンピュータ・システムを含むマルチメディア送信システムであって、
複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションと、
前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクションと
を含むモジュールを表す信号を生成する中央コンピュータ・システムと、
前記モジュールを表わす信号を受信する遠隔コンピュータ・システムであって、前記モジュールを抽出し、および前記スワップセクションに表された前記相対ロケーションにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップするローダを含む遠隔コンピュータ・システムと、
前記中央コンピュータ・システムから前記遠隔コンピュータ・システムへ前記モジュールを表わす信号を送信するための伝送リンクと
を具えたことを特徴とするマルチメディア送信システム。 - 前記ローダは、前記データセクションの長いデータ単位に含まれる最小のデータ単位の順序を反転することにより、該長いデータ単位に含まれる該最小のデータ単位をスワップすること
を特徴とする請求項1に記載のマルチメディア送信システム。 - 前記伝送リンクは、
前記中央コンピュータ・システム内の送信器と、
前記遠隔コンピュータ・システム内の受信器と、
前記送信器および前記受信器の間に接続された衛星回線と
を含むことを特徴とする請求項1に記載のマルチメディア送信システム。 - 前記中央コンピュータ・システムは、テレビジョンのビデオとオーディオ信号の供給源をさらに含み、
前記送信器は、前記モジュールを表わす信号と前記テレビジョンのビデオとオーディオ信号を組み合わせて、複合オーディオ/ビデオ/対話型(AVI)信号を形成するためのマルチプレクサをさらに含み、
前記遠隔コンピュータ・システムは、前記テレビジョンのビデオとオーディオ信号および前記モジュールを、前記受信した複合AVI信号から分離するためのデマルチプレクサと、前記テレビジョンのビデオとオーディオ信号を使用する手段とをさらに含むことを特徴とする請求項1に記載のマルチメディア送信システム。 - 対話型テレビジョンシステムであって、
複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションと、
前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクションとを含む信号モジュールの供給源と、
前記信号モジュールを抽出し、前記スワップセクションに表された前記相対ロケーションにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップするためのローダプログラムを含む受信器と
を具えたことを特徴とする対話型テレビジョンシステム。 - 前記受信器は、伝送リンクに接続されて前記信号モジュールを含む信号を検出するための検出器を含むことを特徴とする請求項5に記載の対話型テレビジョンシステム。
- 前記受信した信号モジュールは、多重化したテレビジョンのビデオとオーディオ信号を含み、
前記受信器は、前記信号モジュールから前記テレビジョンのビデオとオーディオ信号を分離するためのデマルチプレクサと、前記受信したテレビジョンのビデオとオーディオ信号を使用する手段をさらに含むこと
を特徴とする請求項5に記載の対話型テレビジョンシステム。 - 前記最小のデータ単位がバイト変数であり、
前記長いデータ単位が2バイトから構成されるワード変数と4バイトから構成されるロングワード変数のいずれかであり、
前記データセクションは、連続した整列ロングワードに分割され、前記最小のデータ単位と前記長いデータ単位のいずれかが記憶され、
前記スワップセクションは、複数のエントリを含み、それぞれのエントリは前記データセクションの前記整列ロングワード内のデータ単位のパターンを識別するデータを含む部分を含むこと
を特徴とする請求項5に記載の対話型テレビジョンシステム。 - 前記スワップセクションは、さらに前記データ部分の前記整列ロングワードのシーケンスでデータ単位を識別する複数のシーケンス・エントリをさらに含むことを特徴とする請求項8に記載の対話型テレビジョンシステム。
- 前記スワップセクションは、それまでに挿入されたシーケンス・エントリに戻るバック・ポインタ・オフセットを表わすデータを含むエントリを含み、
前記ローダは、前記バック・ポインタ・オフセットに応じて、それぞれのシーケンス・エントリにおいて、前記データセクションの長いデータ単位に含まれる最小のデータ単位をスワップすることを特徴とする請求項9に記載の対話型テレビジョンシステム。 - 整列したロングワード内部のデータ単位のパターンが、
4つの連続したバイト変数、
2つの連続したバイト変数に続くワード変数、
ワード変数に続く2つの連続したバイト変数、
2つの連続したワード変数、
ロングワード変数
のうちの1つを含むことを特徴とする請求項8に記載の対話型テレビジョンシステム。 - マルチメディア送信システムにおける中央コンピュータ・システムにおいて、
コンピュータプログラムデータの第1の供給源と、
前記第1の供給源に結合されて、前記コンピュータプログラムデータを走査するポストリンカであって、
複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションと、
前記データセクションのデータのフォーマットに応じて、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを有するスワップセクションとを含む前記データ・モジュールを生成するポストリンカと
を具えたことを特徴とする中央コンピュータ・システム。 - 伝送リンクに接続されて前記データ・モジュールを放送するための送信器をさらに具えたことを特徴とする請求項12に記載の中央コンピュータ・システム。
- テレビジョンのビデオとオーディオ信号の第2の供給源と、
前記第2の供給源に接続され、前記データ・モジュールと前記テレビジョンのビデオとオーディオ信号とを含む複合信号を生成するためのマルチプレクサと
をさらに具えたことを特徴とする請求項13に記載の中央コンピュータ・システム。 - 前記第1の供給源は、オブジェクトファイル内のシンボル・テーブルであることを特徴とする請求項12に記載の中央コンピュータ・システム。
- 中央コンピュータ・システムと、遠隔コンピュータ・システムと、前記中央コンピュータ・システムおよび前記遠隔コンピュータ・システムの間に接続された伝送リンクとを含むマルチメディア送信システムにおいて、前記中央コンピュータ・システムを動作させるための方法であって、
シンボル・テーブルを含むオブジェクトファイルを生成するステップと、
前記オブジェクトファイルを走査して、複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションを含むモジュールを生成するステップと、
前記シンボル・テーブルを走査して、前記モジュールにスワップセクションを生成するステップであって、前記スワップセクションは、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むステップと、
前記モジュールを表わす信号を生成するステップと、
前記伝送リンクを経由して、前記遠隔コンピュータ・システムに前記モジュールを表わす信号を送信するステップと
を含むことを特徴とする方法。 - 前記中央コンピュータ・システムは、オーディオ信号供給源とビデオ信号供給源とを含み、前記モジュールを表わす信号を生成するステップの後で、前記オーディオ信号と、前記ビデオ信号と、前記モジュールを表わす信号とを多重化して複合AVI信号を形成するステップをさらに含むことを特徴とする請求項16に記載の方法。
- 複数のデータ単位を含むデータセクションであって、各データ単位は、アドレス可能な最小のデータ単位と該最小のデータ単位より長いデータ単位のいずれかであり、それぞれの長いデータ単位は、複数の前記最小のデータ単位を含むデータセクションと、前記データセクションの前記長いデータ単位が記憶されている相対ロケーションを表すデータを含むスワップセクションとを含むモジュールを表わす信号を生成するための中央コンピュータ・システムと、遠隔コンピュータ・システムと、前記中央コンピュータ・システムおよび前記遠隔コンピュータ・システムの間に接続され、前記中央コンピュータ・システムから前記遠隔コンピュータ・システムへ前記モジュールを表わす信号を送信するための伝送リンクとを含むマルチメディア送信システムにおいて、前記遠隔コンピュータ・システムを動作させるための方法であって、
前記モジュールを表わす信号を受信するステップと、
前記モジュールを表わす信号から前記データセクションを抽出するステップと、
前記モジュールを表わす信号から前記スワップセクションを抽出するステップと、
前記スワップセクションのデータをトラバースするステップと、
前記長いデータ単位の1つを含むと識別された前記データセクションのそれぞれの相対ロケーションにおいて、前記長いデータ単位に含まれる最小のデータ単位をスワップするステップと
を具えたことを特徴とする方法。 - 前記中央コンピュータ・システムは、前記モジュールを表わす信号と、ビデオ信号とオーディオ信号とを組み合わせた複合オーディオ/ビデオ/対話型(AVI)信号を生成し、前記受信ステップが、
前記複合AVI信号を受信するステップと、
前記オーディオ信号、前記ビデオ信号、および前記モジュールを表わす信号を前記複合AVI信号から分離するステップと、
前記オーディオ信号成分と前記ビデオ信号成分を使用する手段に供給するステップと
を含むことを特徴とする請求項18に記載の方法。 - 前記スワップするステップは、前記長いデータ単位に含まれる最小のデデータ単位の順序を反転するステップを含むことを特徴とする請求項18に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/497,492 US5778406A (en) | 1995-06-30 | 1995-06-30 | Apparatus for delivering CPU independent data for little and big endian machines |
US497492 | 1995-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0934817A JPH0934817A (ja) | 1997-02-07 |
JP3884102B2 true JP3884102B2 (ja) | 2007-02-21 |
Family
ID=23977110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17140996A Expired - Lifetime JP3884102B2 (ja) | 1995-06-30 | 1996-07-01 | 中央演算処理装置へフォーマット済みデータを供給するための装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5778406A (ja) |
EP (1) | EP0751655B1 (ja) |
JP (1) | JP3884102B2 (ja) |
KR (1) | KR100397873B1 (ja) |
CN (1) | CN1158608C (ja) |
DE (1) | DE69626726T2 (ja) |
MX (1) | MX9602530A (ja) |
SG (1) | SG40881A1 (ja) |
TW (1) | TW299408B (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6835898B2 (en) * | 1993-11-16 | 2004-12-28 | Formfactor, Inc. | Electrical contact structures formed by configuring a flexible wire to have a springable shape and overcoating the wire with at least one layer of a resilient conductive material, methods of mounting the contact structures to electronic components, and applications for employing the contact structures |
US5778406A (en) * | 1995-06-30 | 1998-07-07 | Thomson Consumer Electronics, Inc. | Apparatus for delivering CPU independent data for little and big endian machines |
US6393548B1 (en) * | 1997-02-14 | 2002-05-21 | Advanced Micro Devices, Inc. | Variable 16 or 32 bit PCI interface which supports steering and swapping of data |
KR100313758B1 (ko) * | 1997-04-16 | 2001-12-28 | 박종섭 | 패킷데이터스왑장치 |
US6578193B1 (en) * | 1998-03-24 | 2003-06-10 | Novell, Inc. | Endian-neutral loader for interpretive environment |
US6351750B1 (en) | 1998-10-16 | 2002-02-26 | Softbook Press, Inc. | Dynamic conversion of byte ordering for use on different processor platforms |
AU3758600A (en) * | 1999-03-18 | 2000-10-04 | Webtv Networks, Inc. | Application program interfaces for electronic program guide data services |
US6990677B1 (en) | 1999-03-18 | 2006-01-24 | Microsoft Corporation | Application program interfaces for electronic program guide data services |
US6904609B1 (en) | 1999-03-18 | 2005-06-07 | Microsoft Corporation | Systems and methods for electronic program guide data services |
EP1058193A1 (en) * | 1999-05-31 | 2000-12-06 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for pre-processing data packets in a bus interface unit |
DE60038264T2 (de) | 1999-05-31 | 2009-04-23 | Thomson Licensing | Verfahren zur Vorverarbeitung von Datenpaketen in einer Busschnittstelle |
EP1059590B1 (en) * | 1999-05-31 | 2008-03-12 | Thomson Licensing | Method for pre-processing packets in a bus interface |
US6691307B2 (en) * | 1999-08-03 | 2004-02-10 | Sun Microsystems, Inc. | Interpreter optimization for native endianness |
KR100565042B1 (ko) * | 1999-09-10 | 2006-03-30 | 삼성전자주식회사 | 복수개의 디지털 a/v 프로그램에 대한 동시 녹화 및/또는 재생을 위한 장치 및 방법 |
US7164661B2 (en) | 2000-04-14 | 2007-01-16 | Hughes Networks Systems, Llc | System and method for providing a two-way satellite system |
US6650869B2 (en) | 2000-04-14 | 2003-11-18 | Hughes Electronics Corporation | System and method for managing return channel bandwidth in a two-way satellite system |
US6441782B2 (en) | 2000-04-14 | 2002-08-27 | Hughes Electronics Corporation | Method and system of directing an antenna in a two-way satellite system |
US7463582B2 (en) | 2000-04-14 | 2008-12-09 | Hughes Network Systems, Llc | System and method for scaling a two-way satellite system |
US6987741B2 (en) | 2000-04-14 | 2006-01-17 | Hughes Electronics Corporation | System and method for managing bandwidth in a two-way satellite system |
US6965581B2 (en) | 2000-04-14 | 2005-11-15 | Hughes Electronics Corp. | Transceiver in a two-way satellite system |
US20010048669A1 (en) * | 2000-04-14 | 2001-12-06 | Frank Kelly | System interfaces in a two-way satellite system |
US7031622B2 (en) * | 2002-06-07 | 2006-04-18 | Canon Kabushiki Kaisha | Memory storing information relating to the condition of a cartridge, and image forming apparatus and cartridge having such memory |
US7552427B2 (en) * | 2004-12-13 | 2009-06-23 | Intel Corporation | Method and apparatus for implementing a bi-endian capable compiler |
JP4437464B2 (ja) | 2005-06-01 | 2010-03-24 | 株式会社ルネサステクノロジ | 半導体装置及びデータ処理システム |
US8856851B2 (en) * | 2008-12-19 | 2014-10-07 | David Marshall Davis | Apparatus and method for controlling a network-connected device in one peer network from an infrared device connected to another peer network using TCP/IP and infrared signals |
CN102228343B (zh) * | 2011-06-30 | 2013-01-02 | 苏州托克斯冲压设备有限公司 | 倾斜式抽屉 |
CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2229832B (en) * | 1989-03-30 | 1993-04-07 | Intel Corp | Byte swap instruction for memory format conversion within a microprocessor |
DE69124437T2 (de) * | 1990-08-09 | 1997-07-03 | Silicon Graphics Inc | Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner |
US5389963A (en) * | 1992-02-05 | 1995-02-14 | Dynacom, Inc. | System for selectively interconnecting audio-video sources and receivers |
JP3187539B2 (ja) * | 1992-07-28 | 2001-07-11 | 株式会社東芝 | データ転送装置 |
JPH07505972A (ja) * | 1992-12-21 | 1995-06-29 | オリヴェッティ・アドヴァンスト・テクノロジー・センター・インコーポレーテッド | 異なるバイト順序を有する要素間の通信を容易にする装置,システム及び方法 |
US5790937A (en) * | 1993-02-11 | 1998-08-04 | Thomson Multimedia S.A. | Method and apparatus for the distribution of multi-media documents |
US5519842A (en) * | 1993-02-26 | 1996-05-21 | Intel Corporation | Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system |
US5450140A (en) * | 1993-04-21 | 1995-09-12 | Washino; Kinya | Personal-computer-based video production system |
US5524256A (en) * | 1993-05-07 | 1996-06-04 | Apple Computer, Inc. | Method and system for reordering bytes in a data stream |
US5574923A (en) * | 1993-05-10 | 1996-11-12 | Intel Corporation | Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor |
US5563648A (en) * | 1994-04-28 | 1996-10-08 | Thomson Consumer Electronics, Inc. | Method for controlling execution of an audio video interactive program |
US5581706A (en) * | 1994-06-30 | 1996-12-03 | Rca Thomson Licensing Corporation | Method forming an audio/video interactive data signal |
US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
US5687337A (en) * | 1995-02-24 | 1997-11-11 | International Business Machines Corporation | Mixed-endian computer system |
US5634013A (en) * | 1995-05-03 | 1997-05-27 | Apple Computer, Inc. | Bus bridge address translator |
US5778406A (en) * | 1995-06-30 | 1998-07-07 | Thomson Consumer Electronics, Inc. | Apparatus for delivering CPU independent data for little and big endian machines |
-
1995
- 1995-06-30 US US08/497,492 patent/US5778406A/en not_active Expired - Lifetime
-
1996
- 1996-02-26 TW TW085102163A patent/TW299408B/zh not_active IP Right Cessation
- 1996-06-19 EP EP96109837A patent/EP0751655B1/en not_active Expired - Lifetime
- 1996-06-19 DE DE69626726T patent/DE69626726T2/de not_active Expired - Lifetime
- 1996-06-27 KR KR1019960024370A patent/KR100397873B1/ko not_active IP Right Cessation
- 1996-06-28 MX MX9602530A patent/MX9602530A/es unknown
- 1996-06-28 CN CNB961086599A patent/CN1158608C/zh not_active Expired - Lifetime
- 1996-06-28 SG SG1996010176A patent/SG40881A1/en unknown
- 1996-07-01 JP JP17140996A patent/JP3884102B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1177774A (zh) | 1998-04-01 |
EP0751655A3 (en) | 1999-03-24 |
DE69626726T2 (de) | 2003-11-06 |
US5778406A (en) | 1998-07-07 |
JPH0934817A (ja) | 1997-02-07 |
SG40881A1 (en) | 1997-06-14 |
EP0751655B1 (en) | 2003-03-19 |
EP0751655A2 (en) | 1997-01-02 |
KR970002688A (ko) | 1997-01-28 |
KR100397873B1 (ko) | 2004-06-24 |
MX9602530A (es) | 1998-04-30 |
CN1158608C (zh) | 2004-07-21 |
DE69626726D1 (de) | 2003-04-24 |
TW299408B (ja) | 1997-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3884102B2 (ja) | 中央演算処理装置へフォーマット済みデータを供給するための装置 | |
MXPA96002530A (en) | Apparatus for delivering formatted data to center processing units | |
US5870084A (en) | System and method for efficiently storing and quickly retrieving glyphs for large character set languages in a set top box | |
US6141002A (en) | System and method for downloading and rendering glyphs in a set top box | |
KR100455011B1 (ko) | 정값화처리및포화연산처리로이루어진라운딩처리를적합하게행할수있는프로세서 | |
US6438745B1 (en) | Program conversion apparatus | |
GB2293467A (en) | Trace analysis of data processing | |
KR100537258B1 (ko) | 디버그지원장치,프로그램번역장치,컴퓨터판독가능한디버그지원프로그램을기록한기록매체,프로그램번역프로그램을기록한기록매체 | |
CA2082068A1 (en) | System and method for automatically interfacing call conventions between two dissimilar program units | |
EP0055392A2 (en) | Microprogrammed control unit with multiple branch capability | |
CN112511551A (zh) | 面向多种类型数据流的通信应用层协议解析方法及系统 | |
US20030120897A1 (en) | Multiple function unit processor using distributed variable length instruction words | |
US6314564B1 (en) | Method for resolving arbitrarily complex expressions at link-time | |
US3938103A (en) | Inherently micro programmable high level language processor | |
US5313632A (en) | Method for processing data in a distributed processing system | |
US5838971A (en) | Process for implementing dynamic data types in distributed computing networks using an OSF/DCE platform | |
US5623556A (en) | System and method of extracting binary image data | |
US8464235B2 (en) | Adaptive production of assembler | |
EP0945795B1 (en) | Computer system having a multi-pointer branch instruction and method | |
US5886712A (en) | Data channel extraction in a microprocessor | |
JP4260895B2 (ja) | マイクロコントローラにおける複数フォーマットアドレス指定 | |
US20030106048A1 (en) | Displaying user readable information during linking | |
CN118429177A (zh) | 共享内存访问方法、单元、图形处理器及通用图形处理器 | |
CN117579726A (zh) | 一种以太网通讯报文协议的通用解析处理系统 | |
RU2010319C1 (ru) | Устройство для обработки символьной информации |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060421 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060721 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060721 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060815 |
|
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: 20061006 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061106 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061116 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091124 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |