報道関係者各位
平成 16 年 8 月 5 日
株式会社 ソフィア・クレイドル
代表取締役社長 杉山和徳
ソフィア・クレイドル、携帯Java圧縮ツール「SophiaCompress(Java)」をバージョンアップ、圧縮性能が大幅に向上
〜クラス融合とインストラクション最適化という新しいソフトウェア技術により、圧縮性能が平均20〜50%と飛躍的に向上〜
[概要]
株式会社ソフィア・クレイドル(本社:京都市、代表取締役社長:杉山和徳、以下 ソフィア・クレイドル)は、2004 年 8 月 5 日より、「クラス融合」と「インストラクション最適化」などの新機能を搭載した、携帯 Java アプリを圧縮する「SophiaCompress(Java) 3.0」【※1】を出荷開始します。バージョンアップした結果、平均圧縮率は 20 〜 50 % となり、圧縮性能が大きく向上しました。2004 年 8 月 5 日より、ソフィア・クレイドル社サイトにて、本製品の無料評価版の申し込みを受付開始します。
<SophiaCompress(Java) Version 3.0 の操作画面>
[詳細]
ソフィア・クレイドルは、国内全てのキャリアの携帯電話向け Java の仕様に対応した、Java アプリ圧縮ツール「SophiaCompress(Java)」を 3.0 にバージョンアップし、2004 年 8 月 5 日より出荷開始します。 今回のバージョンの大きな特長は、「クラス融合」【※2】と「インストラクション最適化」【※3】の二つの新しいソフトウェア技術が搭載されていることです。
1) 「クラス融合」とは、複数のクラスを一つのクラスにまとめる機能のことです。これにより、これまで Java アプリのサイズ圧縮のために、『人手に頼ったクラス数の削減作業が不要』になります。Java アプリが大容量化するなか、クラスの数を少なくして開発された Java アプリは、保守性が非常に悪く大きな問題になっていました。「クラス融合」という機能によりクラス数は自動的に極小化されるので、開発者が分かり易い単位の大きさのクラスに細かく分割してJavaアプリを開発しても、サイズは肥大化しません。
2) 「インストラクション最適化」とは、Java コンパイラでコンパイルされた結果のモジュールのプログラム命令群を、より小さなサイズになるような同等のプログラム命令群に置き換える機能のことです。この機能により、『プログラムサイズを究極のレベルで小さくすること』が可能となります。
ソフィア・クレイドルの社内調査では、これまでのバージョンで平均圧縮率 15 〜 30 % であったものが、今回のバージョンアップにより、平均圧縮率 20 〜 50 % となり、圧縮性能が大幅に向上しました。圧縮性能改善の効果はクラス数の多い大容量Javaアプリで特に顕著に現れます。
本製品の価格は 1 ライセンス 30 万円(消費税抜き)から。既存顧客のバージョンアップも含め、今後1年間で 500 ライセンスを販売する計画です。期間限定のキャンペーンとして、2004 年 9 月末までは本製品の年間保守契約を締結している既存顧客は1ライセンス 1 万円でバージョンアップを受け付けます。2004 年 10 月以降は本製品の購入価格の半額でのバージョンアップとなります。
なお、下記のソフィア・クレイドル社サイトのURLにて、2004 年 8 月 5 日より、バージョンアップした本製品の無料評価版の申し込み受け付けを開始します。
「SophiaCompress(Java) 3.0」無料評価版申し込み URL :
/form/trial_scj.html
本プレスリリース URL :
/news/pressrelease/2004/20040805.html
以上
■ 用語の説明
ソフィア・クレイドル社が 2002 年 7 月に発表した、国内全てのキャリアの携帯電話向け Java の仕様に対応した、世界初の携帯電話専用の Java アプリ圧縮技術。コンパイル後の JAR 形式の Java アプリをそのまま圧縮し、実行できる世界初の携帯 Java アプリ専用の圧縮ツール。大手コンテンツプロバイダや大手ゲームメーカー、大手システムインテグレータなどを中心に多数の導入実績があり、事実上の業界標準 Java アプリ圧縮ツールとなっている。
詳細情報 URL :/products/sophiacompress_java/
クラス融合とは、二つ以上の Java のクラスファイルを、全部の機能をあわせ持った一つのクラスファイルに統合する機能です。プログラム内の全てのクラスファイルがクラス融合できるわけではありません。しかし、クラス融合が可能な場合、それぞれのクラスファイルの持つ情報を共有することができるため、融合されるクラスの数が多ければ多いほど高い圧縮率が期待できるのです。携帯Javaアプリが大容量化される背景にあって、この機能は有効です。
(*)クラスとは Java アプリケーションを構成するモジュール(部品)のこと
<クラス融合による圧縮のイメージ図>
インストラクションとは、プログラムをコンパイルした後の命令列のことです。インストラクションの最適化とは、命令を変更することでクラスファイルのサイズを小さくすることです。今回のバージョンでは下記のインストラクション最適化機能を実装しています。
- NOP の削除
- 使用されないコードの削除
- 不必要な例外テーブルの削除
- GOTO の削除、書き換え
- System.out.print[ln] の削除
- ローカル変数の並び順の変更
- 不必要なスタック操作の削除
- メソッドのインライン展開
- クラス変数の配列化
<インストラクション最適化のイメージ図>
★以前のバージョンとの違いについて:
一般に、アプリケーションは複数のモジュール(Javaでは「クラス」と呼ぶ)から構成されます。そして、各モジュールは『データの部分』とそのデータを操作する『プログラムの部分』の二つに大きく分類することができます。
これまでのバージョンの「SophiaCompress(Java)」では、Java アプリを構成する各モジュール単位で、そのモジュールの『データの部分』のみに関して、共有できる要素は共有し、使用されない不要な要素はそれを削除するアプローチによって、Javaアプリの圧縮を実現していました。
<データ最適化のイメージ図>
今回の新バージョンではモジュールの『プログラムの部分』についても圧縮対象に含め、長いプログラムを短いプログラムに置き換える、或いは使用されない不要な命令はそれを削除するなどのアプローチによって、Java アプリを圧縮し、その圧縮性能を向上させました。
更に、複数のモジュールを一つのモジュールに統合することによって、複数のモジュール群に跨った『データの部分』と『プログラムの部分』の両方で、共有できる要素を共有したり、使用されない不要な要素はそれを削除する、或いは長いプログラムを短いプログラムに置き換えることが可能になりました。この結果、特に、最近の携帯アプリで主流となりつつある、たくさんのモジュールで構成される大容量 Java アプリでは、その圧縮性能が大幅に高まります。
<SophiaCompress(Java) 3.0 イメージ図>
会社の説明
株式会社 ソフィア・クレイドル |
|
---|---|
代表者: | 代表取締役社長 杉山和徳 |
設立日: | 2002 年 2 月 22 日 |
所在地: | 京都市左京区田中関田町 2 番地 7 |
資本金: | 2645 万円 |
従業員数: | 16 名 |
事業内容: | モバイルインターネットに関する: 1.ソフトウェア基礎技術の研究開発 2.ソフトウェア製品の製造及び販売 3.システム企画及びインテグレーション |
ホームページ: | / |