JP2000105704A - バイト・コ―ドおよびシリアル化オブジェクト・ストリ―ムの適時配信のための方法および装置 - Google Patents
バイト・コ―ドおよびシリアル化オブジェクト・ストリ―ムの適時配信のための方法および装置Info
- Publication number
- JP2000105704A JP2000105704A JP11176517A JP17651799A JP2000105704A JP 2000105704 A JP2000105704 A JP 2000105704A JP 11176517 A JP11176517 A JP 11176517A JP 17651799 A JP17651799 A JP 17651799A JP 2000105704 A JP2000105704 A JP 2000105704A
- Authority
- JP
- Japan
- Prior art keywords
- header
- class
- code
- extracting
- time stamp
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
適時配信の保証が欠落しているものを含む、多様なトラ
ンスポート・メカニズムによるクラスおよび/またはオ
ブジェクトの適時配信を可能とする。 【解決手段】 タイミング情報を含むヘッダをクラスお
よび/またはオブジェクトに付加する。「ロード開始」
時間および「ロード期限」時間をヘッダに指定する。ロ
ードすべき他のクラスおよび/またはオブジェクトもヘ
ッダに指定する。任意選択の圧縮方式、セキュリティ方
式、および/またはエラー回復方式もヘッダに指定す
る。ヘッダを作成し、それをクラスまたはオブジェクト
に付加するためのプロセスを提供する。付加したヘッダ
を備えたクラスまたはオブジェクトを受信し、処理する
ためのプロセスを提供する。
Description
フトウェアの分野に関し、より具体的にはオブジェクト
指向コンピュータ・アプリケーションに関する。
護の対象となるデータを含む。著作権所有者は、米国特
許商標庁のファイルまたは記録に現れる特許文書または
特許開示をどのような人がそのまま複写してもそれに対
して一切異議はないが、その他の点ではすべての著作権
権利を保有する。Sun、Sun Microsyst
ems、Sunのロゴ、Solaris、SPARC、
「Write Once,Run Anywher
e」、Java、JavaOS、JavaStatio
n、すべてのJavaベースの商標およびロゴは、米国
およびその他の国におけるSun Microsyst
ems社の商標または登録商標である。
ト、グラフィック、オーディオなどのメディア情報の配
布を容易にするためのネットワークの使用は、特にイン
ターネットおよびワールド・ワイド・ウェブの場合、大
幅に拡大した。現在の開発努力の焦点分野の1つは、ウ
ェブ・アプリケーションおよびネットワーク・インタラ
クティビティの分野である。HTML定義などの受動的
なメディア・コンテンツに加え、ネットワークに結合さ
れたコンピュータ・ユーザまたは「クライアント」は、
たとえば、ネットワーク上の「サーバ」から、アプレッ
トの形のアプリケーション・コンテンツにアクセスする
かまたはそれをダウンロードすることができる。
ステムの多様性に対処するため、アプリケーションまた
はアプレットは、JavaTMクラス・ファイル・フォー
マットなどのプラットフォーム独立フォーマットで配布
される。オブジェクト指向アプリケーションは、必要に
応じて個別にサーバからアクセスされ、ダウンロードさ
れる複数のクラス・ファイルから形成される。クラス・
ファイルはバイトコード命令を含む。特定のハードウェ
ア・プラットフォーム上で実行される「仮想計算機」プ
ロセスは、個々のクラス・ファイルをロードし、内部に
含まれるバイトコードを実行するものである。
・ローディング・プロセスの問題は、クラス・ファイル
の適時配信を保証するためのメカニズムが一切設けられ
ていないことである。したがって、個々のクラス・ファ
イルの格納、転送、処理のタイミングは、特定の時間フ
レーム内で発生するようにスケジュールまたは保証され
ない。また、1つのアプリケーションは多くのクラス・
ファイルを含む可能性があり、そのすべてが別々のトラ
ンザクションでロードされ処理される。したがって、1
つのクラス・ファイルであっても配信が遅れると、アプ
リケーションが減速し、パフォーマンスが低下する。
指向プログラミングの検討と、現在のネットワーク・ア
プリケーション環境の例から理解することができる。
素を組み合わせ、構成要素間の関係を構築することによ
り、コンピュータ・プログラムを作成する方法である。
オブジェクト指向プログラミング・システムの構成要素
は「オブジェクト」と呼ぶ。オブジェクトは、データ構
造(1つまたは複数のインスタンス変数)とそのデータ
を使用するかまたはそれを左右しうる操作(メソッド)
とをまとめてグループ化するプログラミング単位であ
る。したがって、1つのオブジェクトは、データとその
データ上で実行可能な1つまたは複数の操作または手続
きからなる。データと操作を単一構成要素に結合するこ
とは「カプセル化」と呼ぶ。
ったときにそのメソッドの1つを実行するよう指示され
る。メッセージは、所与のメソッドを実行するようオブ
ジェクトに送られるコマンドまたは命令である。1つの
メッセージは、メソッド選択(たとえば、メソッド名)
と複数の引数からなる。メッセージは、どの操作を実行
すべきかを受取り側オブジェクトに指示するものであ
る。
1つは、メソッドを呼び出す方法である。メッセージが
オブジェクトに送られる場合、メッセージが所与のメソ
ッドを実行する方法をオブジェクトに指示する必要はな
い。オブジェクトがメソッドを実行することを要求する
ことだけが必要である。このため、プログラム開発は大
幅に簡略化される。
に「クラス」方式に基づく。クラスベースのオブジェク
ト指向プログラミング方式については、Lieberm
anの「Using Prototypical Ob
jects to Implement Shared
Behavior in Object−Orien
ted Systems」(OOPSLA 86 Pr
oceedings、1986年9月、214〜223
ページ)に一般的に記載されている。
メソッドの両方を含むオブジェクトのタイプを定義する
ものである。オブジェクト・クラスは、オブジェクトの
特定のインスタンスを作成するために使用する。オブジ
ェクト・クラスのインスタンスは、そのクラス用に定義
された変数とメソッドを含む。1つのオブジェクト・ク
ラスから同じクラスの複数のインスタンスを作成するこ
とができる。そのオブジェクト・クラスから作成される
各インスタンスは同じタイプまたはクラスであると言
う。
は、「氏名」および「給与」インスタンス変数と、「s
et_salary」メソッドとを含むことができる。
従業員オブジェクト・クラスのインスタンスは、組織内
の各従業員ごとに作成することができる。各オブジェク
ト・インスタンスは「従業員」タイプのものであると言
う。各従業員オブジェクト・インスタンスは、「氏名」
および「給与」インスタンス変数と、「set_sal
ary」メソッドとを含む。各従業員オブジェクト・イ
ンスタンス内の「氏名」および「給与」変数に関連する
値は、組織内の従業員の氏名と給与を含む。「set_
salary」メソッドを呼び出して従業員の給与(す
なわち、従業員の従業員オブジェクト内の「給与」変数
に関連する値)を変更するために、従業員の従業員オブ
ジェクト・インスタンスにメッセージを送ることができ
る。
ラス定義が1つまたは複数のサブクラスを持つように定
義することができる。サブクラスは、その親(および祖
父母など)の定義を継承する。階層内の各サブクラス
は、その親クラスによって指定された挙動を拡充しまた
はそれを変更することができる。一部のオブジェクト指
向プログラミング言語は、1つのサブクラスが複数の親
クラスからのクラス定義を継承できる多重継承をサポー
トしている。他のプログラミング言語は単一継承のみを
サポートし、サブクラスは1つの親クラスのみのクラス
定義の継承に限定される。JavaTMプログラミング言
語は、1組の定数および抽象メソッド宣言を含む「イン
タフェース」というメカニズムも提供する。オブジェク
ト・クラスは、インタフェース内に定義された抽象メソ
ッドを実装することができる。単一継承と多重継承はい
ずれもインタフェースにとって使用可能なものである。
すなわち、インタフェースは複数の親インタフェースか
らのインタフェース定義を継承することができる。
含むモジュールを指すためにオブジェクト指向プログラ
ミング環境で使用する総称である。ソフトウェア・アプ
リケーションは、それによりプログラムの機能性がオブ
ジェクトによって実現されるオブジェクト指向プログラ
ミング言語を使用して作成することができる。
ースから構成される。プログラムがマシン依存の実行可
能プログラム・コードにコンパイルされる多くのプログ
ラミング言語とは異なり、JavaTMクラスはマシン独
立バイトコード・クラス・ファイルにコンパイルされ
る。各クラスは、クラス・ファイル・フォーマットとい
うプラットフォーム独立フォーマットのコードおよびデ
ータを含む。実行手段(executive vehi
cle)として動作するコンピュータ・システムは仮想
計算機というプログラムを含み、そのプログラムはJa
va TMクラスでそのコードの実行を担当する。仮想計算
機は、バイトコード・クラスのマシンの独立性と下にあ
るコンピュータ・ハードウェアのマシン依存命令セット
との間のあるレベルの抽象化を可能にする。仮想計算機
内の「クラス・ローダ」は、必要に応じてバイトコード
・クラス・ファイルのロードを担当し、インタプリタが
そのバイトコードをそのまま実行するかまたは「ジャス
トインタイム」(JIT)コンパイラがそのバイトコー
ドをマシン・コードに変換し、プロセッサによって実行
できるようにする。
ケーション環境 図1は、JavaTMアプリケーションまたはアプレット
の実行のためにJavaTMクラス・ファイルにアクセス
するためにネットワーク101によりサーバ100に結
合されたクライアント・プラットフォーム102を含む
サンプルJavaTMネットワーク環境を示すブロック図
である。
ション用のJavaTMクラス・ファイルを作成する際に
使用するためのJavaTM開発環境104を含む。Ja
va TM開発環境104は、クラス・ファイルを生成し、
アプレットをプレビューするためのエディタおよびアプ
レット・ビューアなどのメカニズムを提供する。1組の
JavaTMコア・クラス103は、他の/新しいJav
aTMクラスを含むソース・ファイルによって参照可能な
JavaTMクラスのライブラリを含む。JavaTM開発
環境104から1つまたは複数のJavaTMソース・フ
ァイル105が生成される。JavaTMソース・ファイ
ル105は、データ構造、メソッド・インプリメンテー
ション、他のクラスへの参照を含むプログラマ可読クラ
ス定義を含む。JavaTMソース・ファイル105はJ
avaTMコンパイラ106に供給され、そのコンパイラ
はJavaTMソース・ファイル105をコンパイルし、
JavaTM仮想計算機によって実行可能なバイトコード
を含むコンパイル済み「.class」ファイル107
を作成する。バイトコード・クラス・ファイル107
は、サーバ100上に(たとえば、一時または永久記憶
装置に)格納され、ネットワーク101によるダウンロ
ード用として使用可能になる。
JavaTM仮想計算機(JVM)111を含み、その仮
想計算機は、使用可能なネイティブ・オペレーティング
・システム(O/S)呼出し112の使用により、バイ
トコード・クラス・ファイルを実行し、実行中に必要に
なったときにネイティブO/S呼出しを実行することが
できる。
HTML(ハイパーテキスト・マークアップ言語)文書
内のアプレット・タグで識別される。ウェブ・サーバ・
アプリケーション108はサーバ100上で実行され、
「ウェブ・ページ」とも呼ばれるHTML文書へのUR
L(ユニバーサル・リソース・ロケータ)を含むHTT
P(ハイパーテキスト・トランスポート・プロトコル)
要求に応答する。ウェブ・サーバ108にURL109
を転送することなどにより、クライアント・プラットフ
ォーム102上で実行されるブラウザ・アプリケーショ
ンがHTML文書を要求すると、ブラウザはHTML文
書のアプレット・タグで識別されるクラス・ファイル1
07のダウンロードを自動的に開始する。クラス・ファ
イル107は通常、必要に応じて個別にサーバからダウ
ンロードされ、仮想計算機111内にロードされる。
ムの実行中のできるだけ遅い時期にロードされることは
一般的なことであり、それらは、JavaTMプログラム
の実行中に最初に参照されたときにネットワークから
(サーバ上に格納されている)またはローカル・ファイ
ル・システムから要求があり次第、ロードされる。仮想
計算機は、各クラス・ファイルを突き止めてロードし、
クラス・ファイル・フォーマットを解析し、そのクラス
の様々な構成要素用にメモリを割り振り、そのクラスを
すでにロードされた他のクラスとリンクする。このプロ
セスにより、クラス内のコードは仮想計算機によって容
易に実行可能なものになる。
トを適時にクライアントに配信しなければならない様々
なアプリケーションが存在する。たとえば、JavaTM
バイト・コードを使用して、プッシュ・シナリオで時間
意識の強いメディアを制御するときには、バイト・コー
ドの適時配信を保証することは不可欠である。
カニズムは一切使用されていなかった。現在、バイト・
コードを配信するための技法は、伝送制御プロトコル
(TCP)を使用してサーバからクライアントにバイト
・コードを伝送している。TCPは、情報の適時配信を
保証するものではない。
の時間に敏感なデータ(たとえば、オーディオ、ビデオ
など)を作成するために使用可能な方式(たとえば、M
PEG−1、MPEG−2、MPEG−4などのMot
ion Picture Experts Group
(MPEG)規格)がいくつか存在する。同様に、「時
間意識の強い」メディア・ストリームを適時に配信する
ために、リアルタイム・トランスポート・プロトコル
(RTP)およびMPEG−2トランスポート・ストリ
ームのような方式がいくつか存在する。「時間意識の強
い」情報とは、ある情報の使用に関連するタイミングを
表す追加情報をその情報とともに伝達する情報である。
たとえば、ある方法で処理されなければならないデッド
ラインを示すタイム・スタンプを含む情報は、「時間意
識の強い」情報と見なされる。
イト・コードではなく、オーディオおよびビデオ・デー
タなどのメディア・ストリームを配信するように設計さ
れている。メディア・ストリームは通常、本質的に破損
または完全性の喪失に対して抵抗力のある情報を含む。
たとえば、数ミリ秒分のオーディオまたはビデオ・デー
タが一時的に破損しても、聴取者または視聴者にとって
はわずかに気が散るだけである。しかし、実行可能なバ
イト・コードの破損は最も軽微なものでも適切な実行を
妨げる可能性がある。
コードは、適切な実行のために他のクラス・ファイルに
依存する場合が多い。メディア・ストリームの適時配信
のための既存の技法は、このような依存関係に対する備
えを含んでいない。したがって、バイト・コードの適時
配信を可能にするための技法が必要になっている。
化オブジェクト)を時間意識の強いストリームに変換す
るための技法も必要である。JavaTMバイト・コード
・ストリームが時間意識の強いものになっている場合、
RTPのような他のリアル・タイム・トランスポート・
メカニズムを使用して、そのストリームを適時に移送す
ることができるだろう。このような方式は、マルチキャ
ストまたは同報通信シナリオでのバイト・コードの使用
を促進するだろう。このため、ユーザ・データグラム・
プロトコル(UDP)のようなインターネット・プロト
コルを使用してバイト・コードを伝送することが可能に
なるだろう。このような方式がない場合、UDPはバイ
ト・コードの配信に不適当なものである。というのは、
UDPは信頼できないプロトコル(データの配信を保証
しないもの)であるからである。信頼できないプロトコ
ルによりバイト・コードを伝送すると、バイト・コード
の一部分が喪失し、それにより、バイト・コードを適切
に実行できなくなるであろう。
リームの適時配信を可能にするための方法および装置を
提供することが本発明の課題である。すなわち、既存の
トランスポート技法の欠点、たとえば、配信の時期はず
れおよび不信頼性を回避することが課題である。
チャネルの有無に関わらずマルチキャスト/同報通信シ
ナリオでのJavaTMバイト・コードの適時配信が可能
になる。同じメカニズムは、(シリアル化)オブジェク
トの配信にも使用することができる。マルチキャストに
より、特別にアドレス指定したデータ・ストリームを多
くのユーザに伝送することができる。マルチキャストの
場合、データ・ストリームは各ユーザに個別に伝送する
必要がない。むしろ、ユーザは、たとえば、特別にアド
レス指定したデータ・ストリームのアドレスを指定する
ことにより、マルチキャスト・サービスに加入すること
ができる。同報通信により、マルチキャストの加入プロ
セスなしにユーザに伝送することができる。
しに情報がユーザに伝送される「プッシュ」メディアで
の使用に適している。「プッシュ」メディアは、ユーザ
がメディアのソースに返答できるようにするためのバッ
ク・チャネルが一切設けられていない環境でも伝送する
ことができる。また、本発明は、ユーザがメディアのソ
ースから情報を要求する「プル」メディアでの使用にも
適している。
ード(クラス・ファイル内の)を「時間意識の強いも
の」にする働きをする。バイト・コードの適時配信を保
証するため、コンテンツとともに適切なデッドラインが
タイム・スタンプとしてクライアントに伝達される。こ
れらのタイム・スタンプは、このような配信メカニズム
を促進するためにヘッダで使用する。ヘッダはバイト・
コードに付加され、バイト・コード・ストリームの適時
配信を可能にする。
態様の1つはパケット喪失である。従来の技法では、J
avaTMバイト・コード・ストリーミングの場合にパケ
ット喪失から回復する方法を一切提供していない。考え
られる手法の1つは、バック・チャネルがない場合に、
一定の間隔でクラス全体を再伝送するものである。これ
は、メディアの場合にランダム・アクセス・ポイントを
促進するのに役立つだろう。しかし、これは、クライア
ントの数が多すぎる場合またはクラス(またはオブジェ
クト)が非常に大きく、再伝送が法外なものになる場合
には不可能になる。
ト喪失をサーバに通知することができ、喪失パケットを
再伝送することができる。信頼できるマルチキャスト方
式を使用すると、サーバ以外の場所からデータを再伝送
することもできる。
可能な、固有の冗長性を備えたエラー回復方式(err
or resilient schemes)がいくつ
か存在する。たとえば、順方向エラー訂正のような方式
を使用することができる。また、パケット喪失問題は、
何らかの信頼できるマルチキャスト方式を使用すること
により、部分的に解決することができる。本発明の実施
態様は、パケット喪失を克服するために任意のエラー回
復または任意の信頼できるマルチキャスト・アルゴリズ
ムの使用を促進する。
面である。クライアントの安全を保証するため、バイト
・コードは本物である必要がある。バイト・コードが本
物であることを保証するために使用可能なセキュリティ
方式はいくつか存在する。本発明の実施態様は、Jav
aTMセキュリティAPIのセキュリティ・モデル内で任
意のセキュリティ方式を使用することを扱う。
は、所与の量の情報を伝送するために必要な時間を短縮
することにより、配信の効率を高める。効率のためにク
ラス・ファイルを圧縮するために、LZW、LZSなど
のいくつかの圧縮方式が使用可能である。
リームの適時配信を可能にするための方法および装置を
提供する。以下の説明では、本発明をより完全に理解で
きるようにするために多数の具体的な詳細を示す。しか
し、当業者にとっては、このような具体的な詳細がなく
ても本発明を実施できることは明らかになるだろう。他
の事例では、本発明を不必要に不明確にしないために、
周知の特徴については詳細に記載していない。
実施形態 本発明の実施形態は、図2に示すコンピュータ200な
どの汎用コンピュータ上で実行されるコンピュータ可読
プログラム・コードの形またはこのようなコンピュータ
上で動作する仮想計算機によって実行可能なバイトコー
ド・クラス・ファイルの形でコンピュータ・ソフトウェ
アとして実現することができる。キーボード210およ
びマウス211は双方向システム・バス218に結合さ
れている。このキーボードおよびマウスは、ユーザ入力
をコンピュータ・システムに導入し、そのユーザ入力を
中央演算処理装置(CPU)213に連絡するためのも
のである。マウス211およびキーボード210に加え
またはその代わりに、他の適当な入力装置を使用するこ
ともできる。双方向システム・バス218に結合された
I/O(入力/出力)ユニット219は、プリンタ、A
/V(オーディオ/ビデオ)I/OなどのI/O要素を
表す。
14と、メイン・メモリ215と、大容量記憶装置21
2とを含み、いずれもキーボード210、マウス21
1、CPU213とともに双方向システム・バス218
に結合されている。大容量記憶装置212は、磁気記憶
システム、光学記憶システム、または磁気光学記憶シス
テムあるいは使用可能な他の大容量記憶技術などの固定
メディアと取外し可能メディアの両方を含むことができ
る。バス218は、ビデオ・メモリ214またはメイン
・メモリ215をアドレス指定するために、たとえば、
32本のアドレス線を含むことができる。また、システ
ム・バス218は、CPU213、メイン・メモリ21
5、ビデオ・メモリ214、大容量記憶装置212など
の構成要素間でデータを転送するために、たとえば、3
2ビットのデータ・バスも含む。あるいは、別々のデー
タ線とアドレス線の代わりに、多重データ/アドレス線
を使用することもできる。
は、680X0プロセッサなどのMotorola(登
録商標)製のマイクロプロセッサあるいは80X86ま
たはPentium(登録商標)プロセッサなどのIn
tel(登録商標)製のマイクロプロセッサあるいはS
un Microsystems(登録商標)のSPA
RC(登録商標)マイクロプロセッサである。しかし、
他のどのような適当なマイクロプロセッサまたはマイク
ロコンピュータでも使用することができる。メイン・メ
モリ215は、ダイナミック・ランダム・アクセス・メ
モリ(DRAM)からなる。ビデオ・メモリ214は、
デュアルポート式ビデオ・ランダム・アクセス・メモリ
である。ビデオ・メモリ214の1つのポートはビデオ
増幅器216に結合されている。ビデオ増幅器216
は、陰極線管(CRT)ラスタ・モニタ217を駆動す
るために使用する。ビデオ増幅器216は、当技術分野
では周知のものであり、適切などのような装置も使用で
きる。この回路は、ビデオ・メモリ214に格納された
ピクセル・データをモニタ217が使用するために適し
たラスタ信号に変換する。モニタ217は、グラフィッ
ク・イメージを表示するのに適したタイプのモニタであ
る。
合された通信インタフェース220も含んでいる。通信
インタフェース220は、ネットワーク・リンク221
によりローカル・ネットワーク222に結合する両方向
データ通信を可能にする。たとえば、通信インタフェー
ス220が統合サービス・ディジタル網(ISDN)カ
ードまたはモデムである場合、通信インタフェース22
0は、ネットワーク・リンク221の一部を含む対応す
るタイプの電話回線へのデータ通信接続を可能にする。
通信インタフェース220がローカル・エリア・ネット
ワーク(LAN)カードである場合、通信インタフェー
ス220は、ネットワーク・リンク221により互換性
のあるLANへのデータ通信接続を可能にする。ワイヤ
レス・リンクも可能である。このような実施形態のいず
れにおいても、通信インタフェース220は、様々なタ
イプの情報を表すディジタル・データ・ストリームを伝
達する電気信号、電磁信号、または光学信号を送受信す
ることができる。
つまたは複数のネットワークによる他のデータ装置への
データ通信を可能にする。たとえば、ネットワーク・リ
ンク221は、ローカル・ネットワーク222によりホ
スト・コンピュータ223またはインターネット・サー
ビス・プロバイダ(ISP)224が運営するデータ機
器へ接続することができる。ISP224は、一般に
「インターネット」225と呼ばれるワールド・ワイド
・パケット・データ通信ネットワークによりデータ通信
サービスである。ローカル・ネットワーク222および
インターネット225はどちらもディジタル・データ・
ストリームを伝達する電気信号、電磁信号、または光学
信号を使用する。様々なネットワークによる信号ならび
にネットワーク・リンク221上および通信インタフェ
ース220による信号は、コンピュータ200との間で
ディジタル・データを伝達するものであり、情報を移送
する搬送波の例示的な形式である。
数も可)、ネットワーク・リンク221、通信インタフ
ェース220により、メッセージを送信し、プログラム
・コードを含むデータを受信することができる。インタ
ーネットの例では、サーバ226は、インターネット2
25、ISP224、ローカル・ネットワーク222、
通信インタフェース220により、アプリケーション・
プログラム用の要求されたコードを伝送するだろう。本
発明によれば、このようなダウンロードされたアプリケ
ーションの1つは、本明細書に記載するクラス・ファイ
ルを前処理し、パッケージングするための装置である。
213によって実行するか、または後で実行するために
大容量記憶装置212または他の不揮発性記憶装置に格
納するか、あるいはその両方を行うことができる。この
ようにして、コンピュータ200は、搬送波の形でアプ
リケーション・コードを獲得することができる。
みを目的とするものである。本発明の実施形態は、どの
ようなタイプのコンピュータ・システムあるいはプログ
ラミング環境または処理環境でも実現することができ
る。
と、本発明の実施形態をより十分に理解することができ
る。JavaTMクラス・ファイル・フォーマットの説明
を以下に示す。JavaTMクラス・ファイル・フォーマ
ットの追加説明は、1996年9月にAddison−
Wesleyから発行されたTim Lindholm
およびFrank YellinのThe JavaTM
Virtual Machine Specific
ation((C)Sun Microsystem
s,Inc.)の第4章「The class Fil
e Format」および第5章「Constant
Pool Resolution」に記載されている。
8ビット・バイトから構築した16ビット構造、32ビ
ット構造、64ビット構造の8ビット・バイトのストリ
ームからなる。そのクラス・ファイルには、単一のクラ
スまたはインタフェース・ファイル構造が含まれてい
る。このクラス・ファイル構造は以下の通りである。
バイト量と4バイト量を意味する。この構造については
図3に図示する。
トのマジック値301と、2バイトのマイナー・バージ
ョン番号302と、2バイトのメジャー・バージョン番
号303と、2バイトの定数プール・カウント値304
と、可変長要素からなる定数プール・アレイに対応する
定数プール・テーブル305と、2バイトのアクセス・
フラグ値306と、2バイトの「このクラス」識別子3
07と、2バイトのスーパ・クラス識別子308と、2
バイトのインタフェース・カウント値309と、2バイ
トの要素からなるインタフェース・アレイに対応するイ
ンタフェース・テーブル310と、2バイトのフィール
ド・カウント値311と、可変長要素からなるフィール
ド・アレイに対応するフィールド・テーブル312と、
2バイトのメソッド・カウント値313と、可変長要素
からなるメソッド・アレイに対応するメソッド・テーブ
ル314と、2バイトの属性カウント値315と、可変
長要素からなる属性アレイに対応する属性テーブル31
6とを含む。上記の構造のそれぞれについて、以下に簡
単に説明する。
ォーマットを識別する番号を含む。JavaTMクラス・
ファイル・フォーマットの場合、マジック番号は0xC
AFEBABEという値を有する。マイナー・バージョ
ン番号302とメジャー・バージョン番号303は、ク
ラス・ファイルの生成を担当するコンパイラのマイナー
・バージョン番号とメジャー・バージョン番号を指定す
る。
ール・テーブル305内の項目数を識別する。定数プー
ル・テーブル305は、ClassFile構造内で参
照される様々なストリング定数、数値定数、クラス名、
フィールド名、その他の定数を表す可変長データ構造の
テーブルである。定数プール・テーブル内の各項目は以
下の一般構造を有する。
数タイプを指定する。info[]アレイのフォーマッ
トは定数タイプに基づいて異なる。info[]アレイ
は、整数定数および浮動小数点定数用などの数値、スト
リング定数用のストリング値、定数プール・テーブル内
の異なる定数タイプの他の項目を指すインデックスにす
ることができる。定数プール・テーブル構造および定数
タイプの詳細については、The JavaTM Vir
tual Machine Specificatio
n(上記)の第4章に記載されている。
びインタフェース宣言で使用する変更子からなるマスク
である。「このクラス」値307は、このクラス・ファ
イルが定義するクラスまたはインタフェースを表す定数
タイプ構造を指す定数プール・テーブル305内のイン
デックスである。スーパ・クラス値308は、そのクラ
スがjava.lang.Objectのサブクラスで
あることを示す0であるか、またはこのクラス・ファイ
ルが定義するクラスのスーパクラスを表す定数タイプ構
造を指す定数プール・テーブル内のインデックスであ
る。
のクラスまたはインタフェースの直接スーパインタフェ
ースの数を識別し、したがって、インタフェース・テー
ブル310内の要素の数を識別する。インタフェース・
テーブル310は、定数プール・テーブル305内の2
バイトのインデックスを含む。定数プール・テーブル3
05内の各対応項目は、このクラス・ファイルが定義す
るクラスまたはインタフェースの直接スーパインタフェ
ースであるインタフェースを表す定数タイプ構造であ
る。
ルド・テーブル312内の構造の数を示す。フィールド
・テーブル312内の各項目は、クラス・タイプ内のフ
ィールドの記述を示す可変長構造である。フィールド・
テーブル312は、このクラス・ファイルが定義するク
ラスまたはインタフェースが宣言するフィールドのみを
含む。
・テーブル314内の構造の数を示す。メソッド・テー
ブル314の各要素は、クラスまたはインタフェース内
のメソッドの記述およびそのメソッド用の仮想計算機コ
ードを示す可変長構造である。
16内の属性の数を示す。属性テーブル316内の各要
素は可変長構造である。属性構造については、The
JavaTM Virtual Machine Spe
cification(上記)の第4章の4.7項に記
載されている。
ルの有無に関わらずマルチキャスト/同報通信シナリオ
でのJavaTMバイト・コードの適時配信が可能にな
る。同じメカニズムは、(シリアル化)オブジェクトの
配信にも使用することができる。マルチキャストによ
り、特別にアドレス指定したデータ・ストリームを多く
のユーザに伝送することができる。マルチキャストの場
合、データ・ストリームは各ユーザに個別に伝送する必
要がない。むしろ、ユーザは、たとえば、特別にアドレ
ス指定したデータ・ストリームのアドレスを指定するこ
とにより、マルチキャスト・サービスに加入することが
できる。同報通信により、マルチキャストの加入プロセ
スなしにユーザに伝送することができる。
する必要なしに情報がユーザに伝送される「プッシュ」
メディアでの使用に適している。「プッシュ」メディア
は、ユーザがメディアのソースに返答できるようにする
ためのバック・チャネルが一切設けられていない環境で
も伝送することができる。また、本発明の実施形態は、
ユーザがメディアのソースから情報を要求する「プル」
メディアでの使用にも適している。
コード(クラス・ファイル内の)を「時間意識の強いも
の」にする働きをする。バイト・コードの適時配信を保
証するため、コンテンツとともに適切なデッドラインが
タイム・スタンプとしてクライアントに伝達される。こ
れらのタイム・スタンプは、このような配信メカニズム
を促進するようにヘッダで使用する。ヘッダはバイト・
コードに付加され、バイト・コード・ストリームの適時
配信を可能にする。
の1つは、パケット喪失である。従来の技法では、Ja
vaTMバイト・コード・ストリーミングの場合にパケッ
ト喪失から回復する方法を一切示していない。考えられ
る手法の1つは、バック・チャネルがない場合に一定の
間隔でクラス全体を再伝送することを含む。これは、メ
ディアの場合にランダム・アクセス・ポイントを促進す
るのに役立つだろう。しかし、これは、クライアントの
数が多すぎる場合またはクラス(またはオブジェクト)
が非常に大きく、再伝送が法外なものになる場合には不
可能になる。
ト喪失をサーバに通知することができ、喪失パケットを
再伝送することができる。信頼できるマルチキャスト方
式を使用すると、サーバ以外の場所からデータを再伝送
することもできる。
可能な、固有の冗長性を備えたエラー回復方式がいくつ
か存在する。たとえば、順方向エラー訂正のような方式
を使用することができる。また、パケット喪失問題は、
何らかの信頼できるマルチキャスト方式を使用すること
により、部分的に解決することができる。本発明の実施
形態は、パケット喪失を克服するために任意のエラー回
復または任意の信頼できるマルチキャスト・アルゴリズ
ムの使用を促進する。
ある。クライアントの安全を保証するため、バイト・コ
ードは本物である必要がある。バイト・コードが本物で
あることを保証するために使用可能なセキュリティ方式
はいくつか存在する。本発明の実施形態は、Javaセ
キュリティAPIのセキュリティ・モデル内で任意のセ
キュリティ方式を使用することができる。
圧縮は、所与の量の情報を伝送するために必要な時間を
短縮することにより、配信の効率を高める。効率のため
にクラス・ファイルを圧縮するのに、LZW、LZSな
どのいくつかの圧縮方式が使用可能である。
クラス・ファイルを配信するための技法を示す概略図で
ある。クラス・ファイル(またはオブジェクト)501
が用意される。クラス・ファイル(またはオブジェク
ト)501は、1つまたは複数の適当な任意選択の圧縮
方式、エラー回復方式、セキュリティ方式により処理さ
れる場合もあれば、処理されない場合もある。ヘッダ5
02がクラス・ファイル(またはオブジェクト)501
に追加される。ヘッダ502を備えたクラス・ファイル
(またはオブジェクト)501は、他へ配信するために
トランスポート・メカニズム508に渡される。トラン
スポート・メカニズム508はパケッタイザ503を使
用して、ヘッダ502を備えたクラス・ファイル(また
はオブジェクト)501を一連のパケット504、50
5、506、507として移送する。トランスポート・
メカニズム508は、ヘッダ502を備えた所与のクラ
ス・ファイル(またはオブジェクト)501を移送する
ためのパケットの適切な数を決定する。
信を保証するクラス・ファイルまたは(シリアル化)オ
ブジェクト用のヘッダを示す図である。このヘッダは、
バイト・コード・ヘッダとして示され、図5に示すよう
にパケット化される前にクラス・ファイルに付加され
る。パケット化後、「時間意識の強い」トランスポート
・メカニズム(たとえば、RTP、MPEG−2トラン
スポート・ストリームなど)を使用すると、そのデータ
をクライアント側に移送することができる。この方式
は、圧縮方式、セキュリティ方式、エラー回復方式用の
テーブルを定義することにより、特定のメディア・コン
テンツ(たとえば、MPEG−1、MPEG−2など)
およびトランスポート・メカニズム(MPEG−2トラ
ンスポート・ストリーム、RTPなど)用に採用するこ
とができる。
ージョン、クラスまたはオブジェクトを示すフラグ、必
要なクラスの数、「ロード開始」タイム・スタンプ、
「ロード期限(load by)」タイム・スタンプ、
クラスのサイズ、使用中の圧縮のタイプ、使用中のセキ
ュリティ方式のタイプ、使用中のエラー訂正のタイプ、
その他のタイプ情報、クラス識別子(ID)の長さ、ク
ラス識別子(ID)、必要なクラスのそれぞれのクラス
IDの長さ、必要なクラスのそれぞれのクラスIDを表
す情報を含む。
適時配信を可能にするためにバイト・コード・ファイル
に追加されたヘッダのサイズをバイト単位で示す16ビ
ットを含む。バージョン情報402の一実施形態は、バ
イト・コード・ファイルの適時配信を可能にするために
使用する方式のバージョンを示す2ビットを含む。クラ
ス/オブジェクト・フラグ403の一実施形態は、ヘッ
ダが付加されるバイト・コード・ファイルがクラスであ
るかオブジェクトであるかを示す1ビットを含む。たと
えば、1はクラスを表し、0はオブジェクトを表す。
は、このクラスをロードする前に(または、オブジェク
トの場合はインスタンス化の前に)必要なクラスの数を
示す13ビットを含む。「ロード開始」タイム・スタン
プ405の一実施形態は、クラスが受信され、完全にア
センブルし直されたときにその後でクラスのロードを開
始できる時間を示す64ビットを含む。タイム・スタン
プの長さは、NTPタイム・スタンプに対処するために
64ビットに設定されている。64ビットの長さを満た
すために、ビット数の少ないタイム・スタンプは余分な
ビットで埋め込まれる。各方式は、端数のタイム・スタ
ンプを表すために小数点の位置を定義することができ
る。クロック・ティックを使用する場合(MPEG−
2)、64ビットをすべて使用することができる。
時間の表現を含むことができる。たとえば、タイム・ス
タンプは、実際の時刻またはその他の絶対時間量を表す
ことができ、あるいはタイム・スタンプは、セッション
の開始以降の経過時間、事象の発生、またはその他の相
対時間量を表すことができる。
一実施形態は、クラスを絶対的にロードしなければなら
ない時間を示す64ビットを含む。クラスのサイズ情報
407の一実施形態は、伝送中のデータのサイズをバイ
ト単位で示す16ビットを含む。
を含む。圧縮タイプ・フィールド408は、使用する圧
縮のタイプを指定するための4ビットを含む(オブジェ
クトの場合またはいかなる圧縮も使用しない場合は00
00)。セキュリティ・タイプ409フィールドは、使
用するセキュリティ方式を指定するための4ビットを含
む(いかなる方式も使用しない場合は0000)。エラ
ー訂正タイプ・フィールド410は、使用するエラー訂
正方式を指定するための4ビットを含む(いかなる方式
も使用しない場合は0000)。タイプ・フィールド4
11は、今後の使用のために予約されている4ビットを
含む。
クラスID情報413の長さをバイト単位で示す32ビ
ットを含む。クラスID情報413は、クラスを識別す
る可変長ストリングを含む(各セッションごとに固
有)。クラスID長情報412とクラスID情報413
との組合せの長さが32ビットの倍数になるように、ス
トリングが埋め込まれる。
れぞれのクラスIDと、クラスID長とを含む。クラス
ID1長情報414は、第1の必要なクラス用のクラス
IDの長さを示す16ビットの情報を含む。クラスID
1情報415は、第1の必要なクラスを識別し、クラス
ID1長情報414とクラスID1情報415とを組み
合わせた長さが32ビットの倍数になるように埋め込ま
れた可変長ストリングを含む。
のクラスID長情報およびクラスID情報は、クラスI
D1情報415に続き、領域416を占める。クラスI
Dn長情報417は、16ビットを含み、n番目の必要
なクラス用のクラスIDの長さを指定する。クラスID
n情報418は、n番目の必要なクラスを識別し、次の
32ビット境界まで埋め込まれた可変数のビットを含
む。
ユニットとしてパッケージングされる。したがって、適
時配信を可能にするために各クラスにヘッダが付加され
る。適時配信は、クラスをロードすべき時間フレームを
設けることによって促進される。「ロード開始」タイム
・スタンプは、クラスをロードできる時間を示すために
各クラスごとに用意される。「ロード期限」タイム・ス
タンプは、各クラスをロードする必要がある時間を示す
ために各クラスごとに用意される。「ロード期限」タイ
ム・スタンプは、そのクラスがアプリケーション側で使
用可能になるものと期待できる保証時間を示す。
は、クラス(圧縮済みまたは未圧縮)またはインスタン
スにすることができる。効率がよく安全で信頼性を与え
るためにヘッダ内には3つのタイプ・フィールドが存在
し、これがデータの属性(クラスまたはオブジェクト)
を指定する。
実施形態とともに使用することができる。ヘッダの一部
分(たとえば、4ビット)は、使用する圧縮方式のタイ
プを識別するように指定されている。たとえば、ビット
・パターン0000は圧縮なしであることを示すために
使用し、ビット・パターン0001〜1111は特定の
圧縮技法を示すために使用する。
本発明の実施形態とともに使用することができる。ヘッ
ダの一部分(たとえば、4ビット)は、使用するセキュ
リティ方式のタイプを識別するように指定されている。
たとえば、ビット・パターン0000はセキュリティ方
式を使用しないことを示すために使用し、ビット・パタ
ーン0001〜1111は特定のセキュリティ方式を示
すために使用する。
発明の実施形態とともに使用することができる。ヘッダ
の一部分(たとえば、4ビット)は、使用するエラー回
復方式のタイプを識別するように指定されている。たと
えば、ビット・パターン0000はエラー回復方式を使
用しないことを示すために使用し、ビット・パターン0
001〜1111は特定のエラー回復方式を示すために
使用する。ヘッダの一部分(たとえば、4ビット)は今
後の使用のために予約されている。
は、バイト・コードを伝送するためにUDPなどの信頼
できないプロトコルを使用できることである。不完全で
あるかまたはエラーによる影響を受けているバイト・コ
ードは適切に実行されない。UDPなどの信頼できない
プロトコルは、完全かつエラーのない情報配信を保証す
るものではない。しかし、エラー回復方式を追加するこ
とにより、完全性を検証し、バイト・コードを実行する
前にエラーを訂正することができる。したがって、バイ
ト・コードの伝送はもはや信頼できるトランスポート・
メカニズムのみに拘束されない。
て識別される。このIDを使用すると、それを何度も受
け取ったときにクラスを識別することができる。これ
は、それぞれがインスタンスであるクラスを識別するた
めにオブジェクトが使用することができる。JavaTM
クラス名はIDとして使用する。これらは可変長ストリ
ングであるので、ストリングの長さもヘッダに含まれ
る。クラスIDとその長さ(16ビット)の組合せは次
の32ビット境界まで埋め込まれる。
トも用意している。それぞれの必要なクラスの「ロード
期限」時間は、それを必要とするクラスの「ロード開
始」時間より前である必要がある。クラス/オブジェク
ト・データをロード/インスタンス化する前に必要にな
るクラスの数を指定するために13ビット使用する。必
要なクラスはそれぞれのクラスID(それぞれのクラス
IDの長さとともに)によって指定する。
信のためにバイト・コードを作成するプロセスを示す流
れ図である。このプロセスはステップ601から始ま
る。ステップ602では、配信すべきバイト・コードを
用意する。ステップ603では、そのバイト・コードに
ついて所望の圧縮方式、エラー回復方式、セキュリティ
方式を実行する。圧縮方式、エラー回復方式、セキュリ
ティ方式のどのような組合せも任意の順序で実行するこ
とができる。たとえば、セキュリティ方式を適用し、次
にエラー回復方式が続き、圧縮を使用しないことが可能
である。したがって、圧縮方式、エラー回復方式、セキ
ュリティ方式、またはそのサブセットのどのような順列
も使用することができる。ステップ604では、バイト
・コードにヘッダを付加する。このヘッダはバイト・コ
ードに関する情報を含む。このようなヘッダの一実施形
態については、上記の図4に関連して説明する。ヘッダ
は、ヘッダ情報がバイト・コードの前に付くようにバイ
ト・コードに付加されているものとして記載されている
が、バイト・コードに対して任意の位置に、たとえば、
バイト・コードの終わり、バイト・コードの部分間に配
置するか、またはバイト・コードによってインタリーブ
することができる。
えたバイト・コードをトランスポート・メカニズムによ
り配信する。どのような適当なトランスポート・メカニ
ズムも使用することができる。たとえば、TCPなど、
単独で配信を保証するが、配信のタイミングは保証しな
いトランスポート・メカニズムを使用することができ
る。あるいは、RTPなど適時性を保証するトランスポ
ート・メカニズムを使用することもできる。もう1つの
代替例として、UDPなど、配信を保証しないトランス
ポート・メカニズムを使用することもできる。ステップ
606では、プロセスが終了する。
より適時にバイト・コードを受信し、使用するプロセス
を示す流れ図である。このプロセスはステップ701か
ら始まる。ステップ702では、付加したヘッダを備え
たバイト・コードをトランスポート・メカニズムにより
受信する。トランスポート・メカニズムはどのようなト
ランスポート・メカニズムでもよい。ステップ703で
は、ヘッダに含まれる情報を読み取る。ステップ704
では、バイト・コードを実行する前に追加のクラスをロ
ードする必要があるか否かについて判断を行う。この判
定を行うために使用する情報はヘッダから抽出すること
ができる。追加のクラスをロードする必要がある場合、
プロセスはステップ706に継続する。
「ロード開始時間」がすでに経過したか否かについて判
断を行う。まだ経過していない場合、プロセスはステッ
プ706に戻り、「ロード開始時間」に達するまで待
つ。「ロード開始時間」に達した場合、プロセスは参照
B707によりステップ708に継続する。ステップ7
08では、必要なクラスをロードする。ステップ709
では、必要なすべてのクラスがロードされたか否かにつ
いて判断を行う。すべてがロードされたわけではない場
合、プロセスはステップ710に継続する。ステップ7
10では、ヘッダに指定した「ロード期限時間」が経過
したか否かについて判断を行う。「ロード期限時間」が
経過していない場合、プロセスはステップ708に戻
り、そこで必要なクラスのロードを続行する。ステップ
710で「ロード期限時間」がすでに経過した場合、プ
ロセスはステップ712に継続する。ステップ712で
は、ロード遅れエラーを処理する。このロード遅れエラ
ー処理は、「ロード期限時間」デッドラインまでに必要
なクラスを正常にロードできなかったという通知を含む
ことができる。この通知に基づき、(たとえば、新しい
「ロード期限時間」デッドラインを指定することによ
り)ロードを再スケジュールすべきかどうか(または
(バイト・コードを実行せずに)ロード・プロセスを取
り消すべきかどうか)について判断を行うことができ
る。ステップ712から、プロセスはステップ713で
終了する。
ロードされた場合、プロセスはステップ711に継続す
る。また、ステップ704で追加のクラスを一切ロード
する必要がない場合、プロセスは参照A705によりス
テップ711に継続する。ステップ711では、バイト
・コードを実行する。バイト・コードについてセキュリ
ティ方式、圧縮方式、および/またはエラー回復方式を
実行した場合、バイト・コードの実行は追加のステップ
を含む場合がある。所与の追加ステップを含むプロセス
の一例を図8に示す。ステップ711から、プロセスは
ステップ713で終了する。
たバイト・コードを実行するために作成し、実行するプ
ロセスを示す流れ図である。このプロセスはステップ8
01から始まる。ステップ802では、セキュリティ方
式を使用したか否かについて判断を行う。セキュリティ
方式を使用した場合、プロセスはステップ803に継続
する。ステップ803では、使用したセキュリティ方式
を識別し、そのセキュリティ方式に応じてバイト・コー
ドを処理する。セキュリティ方式の識別は、ステップ7
03で読み取ったものなど、ヘッダ情報で検出される情
報に基づいて実行することができる。ステップ803か
ら、プロセスはステップ804に継続する。ステップ8
02でいかなるセキュリティ方式も使用しなかったと判
定された場合、プロセスはステップ804に継続する。
か否かについて判断を行う。圧縮方式を使用した場合、
プロセスはステップ805に継続する。ステップ805
では、使用した圧縮方式を識別し、その圧縮方式に応じ
てバイト・コードを圧縮解除する。圧縮方式の識別は、
ステップ703で読み取ったものなど、ヘッダ情報で検
出される情報に基づいて実行することができる。ステッ
プ805から、プロセスはステップ806に継続する。
ステップ804でいかなる圧縮方式も使用しなかったと
判定された場合、プロセスはステップ806に継続す
る。
用したか否かについて判断を行う。エラー回復方式を使
用した場合、プロセスはステップ807に継続する。ス
テップ807では、使用したエラー回復方式を識別し、
発生している可能性のあるエラーまたは脱落を訂正また
は補正する。圧縮方式の識別は、ステップ703で読み
取ったものなど、ヘッダ情報で検出される情報に基づい
て実行することができる。ステップ806から、プロセ
スはステップ808に継続する。ステップ806でいか
なるエラー回復方式も使用しなかったと判定された場
合、プロセスはステップ808に継続する。
行する。本発明の一実施形態ではバイト・コードの実行
を試みる前に必要なすべてのクラスがロードされること
を保証するためのメカニズムを用意しているので、バイ
ト・コードの正常実行が行われる。ステップ809で
は、プロセスが終了する。
施形態に関連して、バイト・コード・ストリームの適時
配信を可能にするための方法および装置を説明してき
た。本発明は特許請求の範囲およびそれと同等の範囲全
体によって定義される。
境の実施形態を示す図である。
きるコンピュータ・システムの実施形態のブロック図で
ある。
ブロック図である。
ためのクラス・ファイルまたは(シリアル化)オブジェ
クト用のヘッダを示す図である。
イルを配信するための技法を示す概略図である。
イト・コードを作成するプロセスを示す流れ図である。
ドを受信し、使用するプロセスを示す流れ図である。
ドを受信し、使用するプロセスを示す流れ図である。
ードを実行用に作成し、実行するプロセスを示す流れ図
である。
Claims (23)
- 【請求項1】 バイト・コードを配信するための方法で
あって、 前記バイト・コードをヘッダとともに移送するステップ
と、 ロードすべき追加のクラスを記述した追加のクラス情報
を前記ヘッダから抽出するステップと、 前記ヘッダから第1のタイム・スタンプを抽出するステ
ップと、 前記ヘッダから第2のタイム・スタンプを抽出するステ
ップと、 前記第1のタイム・スタンプによって指定された第1の
時間の後であって前記第2のタイム・スタンプによって
指定された第2の時間の前に前記追加のクラスをロード
するステップとを含む方法。 - 【請求項2】 前記ヘッダからセキュリティ・コードを
抽出するステップと、 前記セキュリティ・コードによって識別されたセキュリ
ティ方式を実行するステップとをさらに含む請求項1に
記載の方法。 - 【請求項3】 前記ヘッダから圧縮コードを抽出するス
テップと、 前記圧縮コードによって識別された圧縮方式に応じて前
記バイト・コードを圧縮解除するステップとをさらに含
む請求項1に記載の方法。 - 【請求項4】 前記ヘッダからエラー訂正コードを抽出
するステップと、 前記エラー訂正コードによって識別されたエラー訂正方
式に応じてエラー補正を実行するステップとをさらに含
む請求項1に記載の方法。 - 【請求項5】 前記ヘッダからフラグ値を抽出するステ
ップと、 前記フラグ値に基づいて、前記バイト・コードがクラス
・ファイルを含むかまたはオブジェクト・ファイルを含
むかを判定するステップとをさらに含む請求項1に記載
の方法。 - 【請求項6】 前記追加のクラス情報を抽出するステッ
プが、前記追加のクラスの数を表す値を抽出するステッ
プを含む請求項1に記載の方法。 - 【請求項7】 前記追加のクラス情報を抽出するステッ
プが、 クラス識別子長値を抽出するステップと、 前記クラス識別子長値を使用してクラス識別子を抽出す
るステップとを含む請求項1に記載の方法。 - 【請求項8】 バイト・コードを配信するためにその内
部で実施されるコンピュータ・プログラム・コードを有
するコンピュータ可読媒体であって、 前記バイト・コードをヘッダとともに移送し、 ロードすべき追加のクラスを記述した追加のクラス情報
を前記ヘッダから抽出し、 前記ヘッダから第1のタイム・スタンプを抽出し、 前記ヘッダから第2のタイム・スタンプを抽出し、 前記第1のタイム・スタンプによって指定された第1の
時間の後であって前記第2のタイム・スタンプによって
指定された第2の時間の前に前記追加のクラスをロード
することをコンピュータに指示するように構成されたコ
ンピュータ・プログラム・コードを含むコンピュータ可
読媒体を含む、コンピュータ・プログラム製品。 - 【請求項9】 前記コンピュータ・プログラム・コード
が、 前記ヘッダからセキュリティ・コードを抽出し、 前記セキュリティ・コードによって識別されたセキュリ
ティ方式を実行するよう前記コンピュータに指示するよ
うにさらに構成されている請求項8に記載のコンピュー
タ・プログラム製品。 - 【請求項10】 前記コンピュータ・プログラム・コー
ドが、 前記ヘッダから圧縮コードを抽出し、 前記圧縮コードによって識別された圧縮方式に応じて前
記バイト・コードを圧縮解除するよう前記コンピュータ
に指示するようにさらに構成されている請求項8に記載
のコンピュータ・プログラム製品。 - 【請求項11】 前記コンピュータ・プログラム・コー
ドが、 前記ヘッダからエラー訂正コードを抽出し、 前記エラー訂正コードによって識別されたエラー訂正方
式に応じてエラー補正を実行することを前記コンピュー
タに指示するようにさらに構成されている請求項8に記
載のコンピュータ・プログラム製品。 - 【請求項12】 前記コンピュータ・プログラム・コー
ドが、 前記ヘッダからフラグ値を抽出し、 前記フラグ値に基づいて、前記バイト・コードがクラス
・ファイルを含むかまたはオブジェクト・ファイルを含
むかを判定することを前記コンピュータに指示するよう
にさらに構成されている請求項8に記載のコンピュータ
・プログラム製品。 - 【請求項13】 前記追加のクラス情報を抽出すること
が、前記追加のクラスの数を表す値を抽出することを含
む請求項8に記載のコンピュータ・プログラム製品。 - 【請求項14】 前記追加のクラス情報を抽出すること
が、 クラス識別子長値を抽出すること、および前記クラス識
別子長値を使用してクラス識別子を抽出することを含む
請求項8に記載のコンピュータ・プログラム製品。 - 【請求項15】 バイト・コード・ファイルにヘッダを
付加するように構成されたサーバを含み、 前記ヘッダが、第1のタイム・スタンプと、第2のタイ
ム・スタンプと、ロードすべき追加のクラスを記述した
クラス情報とを含み、 前記ヘッダとともに前記バイト・コード・ファイルを受
信するクライアントであって、前記第1のタイム・スタ
ンプによって指定された第1の時間の後であって前記第
2のタイム・スタンプによって指定された第2の時間の
前に前記追加のクラスをロードするように構成されたク
ライアントをさらに含む装置。 - 【請求項16】 前記ヘッダが、セキュリティ方式を識
別するセキュリティ・コードをさらに含む請求項15に
記載の装置。 - 【請求項17】 前記ヘッダが圧縮コードをさらに含
み、 前記クライアントが、前記圧縮コードに基づいて前記バ
イト・コード・ファイルを圧縮解除するようにさらに構
成されている請求項15に記載の装置。 - 【請求項18】 前記ヘッダがエラー訂正コードをさら
に含み、 前記クライアントが、前記エラー訂正コードに基づいて
前記バイト・コード・ファイルのエラー訂正を実行する
ようにさらに構成されている請求項15に記載の装置。 - 【請求項19】 前記ヘッダが、前記バイト・コード・
ファイルがクラス・ファイルを含むかまたはオブジェク
ト・ファイルを含むかを識別するフラグ値をさらに含む
請求項15に記載の装置。 - 【請求項20】 前記ヘッダが、前記追加のクラスの数
を識別する値をさらに含む請求項15に記載の装置。 - 【請求項21】 前記ヘッダが、 クラス識別子長値と、 前記追加のクラスの1つに対応するクラス識別子とをさ
らに含み、前記クライアントが前記クラス識別子長値に
基づいて前記クラス識別子を抽出するように構成されて
いる請求項15に記載の装置。 - 【請求項22】 前記サーバと前記クライアントとの間
のトランスポート・メカニズムをさらに含み、前記トラ
ンスポート・メカニズムが前記ヘッダとともに前記バイ
ト・コード・ファイルを含む1つまたは複数のパケット
を伝送するように構成されている請求項15に記載の装
置。 - 【請求項23】 バイト・コードを配信するための装置
であって、 前記バイト・コードをヘッダとともに移送する手段と、 ロードすべき追加のクラスを記述した追加のクラス情報
を前記ヘッダから抽出する手段と、 前記ヘッダから第1のタイム・スタンプを抽出する手段
と、 前記ヘッダから第2のタイム・スタンプを抽出する手段
と、 前記第1のタイム・スタンプによって指定された第1の
時間の後であって前記第2のタイム・スタンプによって
指定された第2の時間の前に前記追加のクラスをロード
する手段とを含む装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/105963 | 1998-06-26 | ||
US09/105,963 US6092120A (en) | 1998-06-26 | 1998-06-26 | Method and apparatus for timely delivery of a byte code and serialized objects stream |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000105704A true JP2000105704A (ja) | 2000-04-11 |
JP4397460B2 JP4397460B2 (ja) | 2010-01-13 |
Family
ID=22308743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17651799A Expired - Lifetime JP4397460B2 (ja) | 1998-06-26 | 1999-06-23 | バイト・コードおよびシリアル化オブジェクト・ストリームの適時配信のための方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US6092120A (ja) |
EP (3) | EP1233335A3 (ja) |
JP (1) | JP4397460B2 (ja) |
KR (2) | KR100438143B1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007004608A (ja) * | 2005-06-24 | 2007-01-11 | Fuji Xerox Co Ltd | 連携処理システム及び装置及び方法 |
US8205193B2 (en) | 2001-06-11 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Runtime updating of virtual machine class files |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591305B2 (en) * | 1998-06-30 | 2003-07-08 | Sun Microsystems, Inc. | Method and system for delivering data from a server object to a client object using a non-proprietary data transfer protocol |
US6366898B2 (en) * | 1998-09-21 | 2002-04-02 | Sun, Microsystems, Inc. | Method and apparatus for managing classfiles on devices without a file system |
GB2343021A (en) * | 1998-10-19 | 2000-04-26 | Ibm | Class loading model for object oriented programming |
US6460086B1 (en) | 1998-12-01 | 2002-10-01 | Sun Microsystems, Inc. | Method and apparatus for delivery of a bytecode embedded within a transport stream |
US6305012B1 (en) * | 1998-12-03 | 2001-10-16 | International Business Machines Corporation | Method and apparatus for dynamic selection of instructions for compiling using tags |
US6336213B1 (en) * | 1998-12-03 | 2002-01-01 | International Business Machines Corporation | Method and apparatus for dynamic selection of which bytecodes should be just in time compiled |
US6438751B1 (en) * | 1999-02-18 | 2002-08-20 | Joseph F. Voyticky | Integrated television and internet information system |
FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
US8464302B1 (en) | 1999-08-03 | 2013-06-11 | Videoshare, Llc | Method and system for sharing video with advertisements over a network |
GB9921720D0 (en) * | 1999-09-14 | 1999-11-17 | Tao Group Ltd | Loading object-oriented computer programs |
JP3730835B2 (ja) * | 2000-03-03 | 2006-01-05 | 株式会社エヌ・ティ・ティ・ドコモ | パケット伝送方法、中継装置およびデータ端末 |
WO2001067772A2 (en) | 2000-03-09 | 2001-09-13 | Videoshare, Inc. | Sharing a streaming video |
GB2363866B (en) * | 2000-05-31 | 2002-11-06 | Intamission Ltd | Data processing apparatus, method and system |
DE60109376T2 (de) * | 2000-08-01 | 2006-01-19 | Command Audio Corp., Redwood City | Verfahren und Signal zur Übertragung eines Rundfunkprogramms an einen drahtlosen Empfänger |
US7386238B2 (en) * | 2000-08-15 | 2008-06-10 | Lockheed Martin Corporation | Method and system for infrared data communications |
WO2002015438A1 (en) * | 2000-08-15 | 2002-02-21 | Lockheed Martin Corporation | Infrared data communication system |
US6996813B1 (en) * | 2000-10-31 | 2006-02-07 | Sun Microsystems, Inc. | Frameworks for loading and execution of object-based programs |
US7140016B2 (en) * | 2000-11-29 | 2006-11-21 | Texas Instruments Incorporated | Media accelerator quality of service |
EP1227666A1 (en) * | 2001-01-18 | 2002-07-31 | Sony Service Centre (Europe) N.V. | Method and device for downloading application data |
FI110973B (fi) * | 2001-05-15 | 2003-04-30 | Digita Oy | Menetelmä sovellusten lähettämiseen digitaalisessa yleislähetysverkossa |
US6799147B1 (en) * | 2001-05-31 | 2004-09-28 | Sprint Communications Company L.P. | Enterprise integrated testing and performance monitoring software |
US20030115363A1 (en) * | 2001-12-06 | 2003-06-19 | Yared Peter A. | Method and apparatus for packaging a trimmed object graph |
FR2836317A1 (fr) * | 2002-02-19 | 2003-08-22 | Michel Francis Monduc | Procede de transmission de messages audio ou video sur le reseau internet |
US7386723B2 (en) * | 2002-11-22 | 2008-06-10 | Intel Corporation | Method, apparatus and system for compressing IPSec-protected IP packets |
US7073171B2 (en) * | 2003-02-28 | 2006-07-04 | Bea Systems, Inc. | EJB implementation class loading with removed dependencies with ability to replace EJB implementation class without full redeployment |
US20050063575A1 (en) * | 2003-09-22 | 2005-03-24 | Ge Medical Systems Global Technology, Llc | System and method for enabling a software developer to introduce informational attributes for selective inclusion within image headers for medical imaging apparatus applications |
GB0424756D0 (en) * | 2004-11-10 | 2004-12-08 | Ibm | Executing a native software routine in a virtual machine |
US7581216B2 (en) * | 2005-01-21 | 2009-08-25 | International Business Machines Corporation | Preserving platform independence with native accelerators for performance critical program objects |
CN101390051B (zh) * | 2005-12-30 | 2016-05-25 | 美国医软科技公司 | 通过数据封装在医学成像的独立系统/应用程序之间共享进程 |
WO2007145366A1 (en) * | 2006-06-15 | 2007-12-21 | Kabushiki Kaisha Toshiba | Portable electronic device and control method thereof |
US20080111977A1 (en) * | 2006-11-14 | 2008-05-15 | Asml Holding N.V. | Compensation techniques for fluid and magnetic bearings |
US8533611B2 (en) * | 2009-08-10 | 2013-09-10 | Voxer Ip Llc | Browser enabled communication device for conducting conversations in either a real-time mode, a time-shifted mode, and with the ability to seamlessly shift the conversation between the two modes |
US8180029B2 (en) | 2007-06-28 | 2012-05-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20110019662A1 (en) | 2007-06-28 | 2011-01-27 | Rebelvox Llc | Method for downloading and using a communication application through a web browser |
US20100198923A1 (en) * | 2009-01-30 | 2010-08-05 | Rebelvox Llc | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication |
US11095583B2 (en) | 2007-06-28 | 2021-08-17 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8825772B2 (en) | 2007-06-28 | 2014-09-02 | Voxer Ip Llc | System and method for operating a server for real-time communication of time-based media |
US9178916B2 (en) | 2007-06-28 | 2015-11-03 | Voxer Ip Llc | Real-time messaging method and apparatus |
US8645477B2 (en) * | 2009-01-30 | 2014-02-04 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US8688789B2 (en) * | 2009-01-30 | 2014-04-01 | Voxer Ip Llc | Progressive messaging apparatus and method capable of supporting near real-time communication |
US20090277226A1 (en) * | 2007-10-16 | 2009-11-12 | Santangelo Salvatore R | Modular melter |
US8855276B2 (en) * | 2007-10-19 | 2014-10-07 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8380874B2 (en) | 2007-10-19 | 2013-02-19 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US7751362B2 (en) | 2007-10-19 | 2010-07-06 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US8145780B2 (en) | 2007-10-19 | 2012-03-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8699678B2 (en) | 2007-10-19 | 2014-04-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8682336B2 (en) | 2007-10-19 | 2014-03-25 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8706907B2 (en) | 2007-10-19 | 2014-04-22 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8699383B2 (en) | 2007-10-19 | 2014-04-15 | Voxer Ip Llc | Method and apparatus for real-time synchronization of voice communications |
US8782274B2 (en) * | 2007-10-19 | 2014-07-15 | Voxer Ip Llc | Method and system for progressively transmitting a voice message from sender to recipients across a distributed services communication network |
US8559319B2 (en) * | 2007-10-19 | 2013-10-15 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US8250181B2 (en) * | 2007-10-19 | 2012-08-21 | Voxer Ip Llc | Method and apparatus for near real-time synchronization of voice communications |
US8001261B2 (en) * | 2007-10-19 | 2011-08-16 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8111713B2 (en) * | 2007-10-19 | 2012-02-07 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8090867B2 (en) | 2007-10-19 | 2012-01-03 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8099512B2 (en) * | 2007-10-19 | 2012-01-17 | Voxer Ip Llc | Method and system for real-time synchronization across a distributed services communication network |
US7751361B2 (en) | 2007-10-19 | 2010-07-06 | Rebelvox Llc | Graceful degradation for voice communication services over wired and wireless networks |
US8321581B2 (en) | 2007-10-19 | 2012-11-27 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US8391312B2 (en) | 2007-10-19 | 2013-03-05 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
US20090103529A1 (en) * | 2007-10-19 | 2009-04-23 | Rebelvox, Llc | Telecommunication and multimedia management method and apparatus |
US8542804B2 (en) | 2008-02-08 | 2013-09-24 | Voxer Ip Llc | Voice and text mail application for communication devices |
US8321582B2 (en) | 2008-02-08 | 2012-11-27 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US9054912B2 (en) | 2008-02-08 | 2015-06-09 | Voxer Ip Llc | Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode |
US8401582B2 (en) * | 2008-04-11 | 2013-03-19 | Voxer Ip Llc | Time-shifting for push to talk voice communication systems |
US8325662B2 (en) * | 2008-09-17 | 2012-12-04 | Voxer Ip Llc | Apparatus and method for enabling communication when network connectivity is reduced or lost during a conversation and for resuming the conversation when connectivity improves |
US8270950B2 (en) * | 2008-12-05 | 2012-09-18 | Voxer Ip Llc | Mobile communication device, method, and system for reducing exposure to radio frequency energy during transmissions by transmitting media in/out while the mobile communication device is safe distance away from user |
US8849927B2 (en) | 2009-01-30 | 2014-09-30 | Voxer Ip Llc | Method for implementing real-time voice messaging on a server node |
US9043684B2 (en) * | 2012-03-22 | 2015-05-26 | Lsi Corporation | Systems and methods for variable redundancy data protection |
US10635307B2 (en) * | 2015-06-30 | 2020-04-28 | International Business Machines Corporation | Memory state indicator |
US10884945B2 (en) * | 2015-06-30 | 2021-01-05 | International Business Machines Corporation | Memory state indicator check operations |
KR102599885B1 (ko) | 2015-10-15 | 2023-11-08 | 삼성전자주식회사 | 냉장고 |
CN111082951B (zh) * | 2019-12-30 | 2022-04-22 | 中国联合网络通信集团有限公司 | 故障诊断方法、装置、设备及存储介质 |
US12086119B2 (en) * | 2022-03-04 | 2024-09-10 | The Boeing Company | Discovering contexts and structured data structures from hazy data |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4989133A (en) * | 1984-11-30 | 1991-01-29 | Inmos Limited | System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof |
CA1337132C (en) * | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
US6018771A (en) * | 1992-11-25 | 2000-01-25 | Digital Equipment Corporation | Dynamic assignment of multicast network addresses |
JP4279905B2 (ja) | 1994-02-18 | 2009-06-17 | ソニー株式会社 | 放送システムおよび受信端末 |
JP2950432B2 (ja) * | 1994-03-16 | 1999-09-20 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 複数データ・ストリームおよび実時間タスクの同期およびスケジューリングの方法および装置 |
US5689560A (en) * | 1994-04-25 | 1997-11-18 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for allowing a try-and-buy user interaction |
FR2723653B1 (fr) * | 1994-08-11 | 1996-09-13 | Cegelec | Procede pour ordonnancer des taches successives qui ne subissent que des contraintes du type delais |
JP3575100B2 (ja) * | 1994-11-14 | 2004-10-06 | ソニー株式会社 | データ送信/受信装置及び方法並びにデータ記録/再生装置及び方法 |
US5630066A (en) * | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
JPH096695A (ja) | 1995-06-26 | 1997-01-10 | Hitachi Ltd | 情報処理システムの通信方法およびプログラム間通信方法 |
US6282578B1 (en) * | 1995-06-26 | 2001-08-28 | Hitachi, Ltd. | Execution management method of program on reception side of message in distributed processing system |
JPH0934710A (ja) * | 1995-07-18 | 1997-02-07 | Fuji Xerox Co Ltd | オブジェクト指向プログラミング方法 |
EP0847199B1 (en) * | 1995-09-29 | 1999-04-28 | Matsushita Electric Industrial Co., Ltd. | Method, disc and device for encoding seamless-connection of telecine-converted video data |
TW335480B (en) * | 1995-09-29 | 1998-07-01 | Matsushita Electric Ind Co Ltd | Method and apparatus for encoding a bistream for multi-angle connection |
TW385431B (en) * | 1995-09-29 | 2000-03-21 | Matsushita Electric Ind Co Ltd | A method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information useful in multimedia optical disk |
JPH09191453A (ja) | 1995-11-07 | 1997-07-22 | Sony Corp | データ送受信、データ記録再生のための装置及びその方法並びに記録媒体 |
KR100501017B1 (ko) * | 1995-11-24 | 2008-11-10 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 복수의데이터아이템들을전송,수신,처리하는방법,수신기및전송기,및복수의데이터아이템들을포함하는데이터신호 |
GB9600823D0 (en) * | 1996-01-16 | 1996-03-20 | British Telecomm | Distributed processing |
JP3684262B2 (ja) * | 1996-01-17 | 2005-08-17 | 富士通株式会社 | ネットワークシステム及び集線装置 |
US6047027A (en) * | 1996-02-07 | 2000-04-04 | Matsushita Electric Industrial Co., Ltd. | Packetized data stream decoder using timing information extraction and insertion |
US6134603A (en) * | 1998-03-20 | 2000-10-17 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
JPH09311781A (ja) * | 1996-05-24 | 1997-12-02 | Toshiba Corp | プログラム開発支援方法およびシステム |
US5907372A (en) * | 1996-06-28 | 1999-05-25 | Hitachi, Ltd. | Decoding/displaying device for decoding/displaying coded picture data generated by high efficiency coding for interlace scanning picture format |
US6260078B1 (en) * | 1996-07-03 | 2001-07-10 | Sun Microsystems, Inc. | Using a distributed object system to find and download java-based applications |
EP1309190B1 (en) | 1996-09-11 | 2004-11-24 | Matsushita Electric Industrial Co., Ltd. | Apparatus for controlling the display of data |
JP3431465B2 (ja) | 1996-09-11 | 2003-07-28 | 松下電器産業株式会社 | データの提示を制御するデータ提示制御装置、データの提示を制御するために用いる情報を送信するデータ送信装置 |
KR100487012B1 (ko) | 1996-09-11 | 2005-06-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 프로그램의일부만수신한상태에서도당해프로그램을실행개시할수있는프로그램수신실행장치및그를위한프로그램송신장치 |
US6173317B1 (en) * | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6269475B1 (en) * | 1997-06-02 | 2001-07-31 | Webgain, Inc. | Interface for object oriented programming language |
US6292827B1 (en) * | 1997-06-20 | 2001-09-18 | Shore Technologies (1999) Inc. | Information transfer systems and method with dynamic distribution of data, control and management of information |
US6208665B1 (en) * | 1997-08-25 | 2001-03-27 | Intel Corporation | Data synchronization unit for a headend |
US6031584A (en) * | 1997-09-26 | 2000-02-29 | Intel Corporation | Method for reducing digital video frame frequency while maintaining temporal smoothness |
US6502137B1 (en) * | 1997-10-09 | 2002-12-31 | International Business Machines Corporation | System and method for transferring information over a computer network |
US6181713B1 (en) * | 1997-10-27 | 2001-01-30 | Sun Microsystems, Inc. | Selectable depacketizer architecture |
-
1998
- 1998-06-26 US US09/105,963 patent/US6092120A/en not_active Expired - Lifetime
-
1999
- 1999-06-21 EP EP02006233A patent/EP1233335A3/en not_active Withdrawn
- 1999-06-21 EP EP99304835A patent/EP0967547A3/en not_active Withdrawn
- 1999-06-21 EP EP02006229A patent/EP1233334A3/en not_active Withdrawn
- 1999-06-23 KR KR10-1999-0023824A patent/KR100438143B1/ko not_active IP Right Cessation
- 1999-06-23 JP JP17651799A patent/JP4397460B2/ja not_active Expired - Lifetime
-
2000
- 2000-07-11 US US09/614,996 patent/US7185102B1/en not_active Expired - Fee Related
-
2001
- 2001-12-29 KR KR1020010087967A patent/KR20020022044A/ko not_active Application Discontinuation
-
2005
- 2005-06-06 US US11/146,357 patent/US8312167B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8205193B2 (en) | 2001-06-11 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Runtime updating of virtual machine class files |
JP2007004608A (ja) * | 2005-06-24 | 2007-01-11 | Fuji Xerox Co Ltd | 連携処理システム及び装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US8312167B2 (en) | 2012-11-13 |
EP0967547A3 (en) | 2003-01-15 |
JP4397460B2 (ja) | 2010-01-13 |
US6092120A (en) | 2000-07-18 |
EP1233335A3 (en) | 2003-01-15 |
EP0967547A2 (en) | 1999-12-29 |
EP1233334A2 (en) | 2002-08-21 |
US20120266160A1 (en) | 2012-10-18 |
EP1233334A3 (en) | 2003-01-15 |
EP1233335A2 (en) | 2002-08-21 |
KR20020022044A (ko) | 2002-03-23 |
KR20000006395A (ko) | 2000-01-25 |
KR100438143B1 (ko) | 2004-07-01 |
US7185102B1 (en) | 2007-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4397460B2 (ja) | バイト・コードおよびシリアル化オブジェクト・ストリームの適時配信のための方法および装置 | |
JP4444510B2 (ja) | トランスポート・ストリームに埋め込まれたバイトコードの配信のための方法およびその装置 | |
US6181713B1 (en) | Selectable depacketizer architecture | |
US6480880B2 (en) | Method and apparatus for automatically optimizing execution of a computer program | |
US11500946B2 (en) | Apparatus for providing browsing capability between remote/virtual windows and from remote/virtual windows to conventional hypertext documents | |
US7269833B2 (en) | Scriptable plug-in application programming interface | |
US6347342B1 (en) | Method and apparatus for dynamically brokering object messages among object models | |
EP0913769B1 (en) | Method and apparatus for pre-processing and packaging class files | |
US7644415B2 (en) | Application programming interface to the simple object access protocol | |
US6457066B1 (en) | Simple object access protocol | |
US20030126311A1 (en) | Application programming interface for connecting a platform independent plug-in to a web browser | |
US20040028049A1 (en) | XML encoding scheme | |
EP1310868A2 (en) | Method and apparatus for a platform independent plug-in | |
US20060259949A1 (en) | Policy based composite file system and method | |
WO2000079365A2 (en) | Cross-platform framework-independent synchronization abstraction layer | |
STANDARD | Declarative Data Essence—Content Level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050906 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090219 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090624 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090824 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091021 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4397460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |