カシオが考える「Thinケータイ」
ケータイに特化したシンクライアントということで開発を始めたのが3年ほど前になります。3年前というと、ビジネスでもITが普及し、ノートパソコンが持ち運ばれるようになって情報漏洩の問題が出始めた時期です。そういった環境でビジネスをする上で、セキュリティを保つためにシンクライアントの仕組みが使えるのでは、ということで開発を開始しました。
既存のシンクライアントでは、クライアントにパソコンやシンクライアント専用端末を使っています。しかし普及しているケータイを有効に使うことが、ビジネスユーザーにとっても使い勝手が良いだろう、ということで、ケータイで使えるシンクライアント技術として開発を始めました。これが最初の切り口です。ビジネスの現場ではパソコンが中心ですが、これからはケータイが中心になるように、というコンセプトで、「Thinケータイ」と名付けて開発をしています。
ビジネスで使われているグループウェアや各種業務アプリケーションは、Webシステムを介して、各個人のパソコンで業務処理が行われています。この構成の中で、Thinケータイのサーバーを設置することで、既存のWebアプリケーションをケータイの通信網から利用できるようにします。
Thinケータイのサーバー上では、ブラウザなどのパソコンのアプリケーションが動作し、その画面だけがケータイに送られるという、いわゆるシンクライアントの仕組みになっています。アプリケーションをケータイではなくサーバー側で動かすことで、ケータイ側にデータを残さずにセキュリティを保つ、という考えです。
Thinケータイのシステム構成
——ケータイを使った既存の業務システムとの違いは?
大塚氏
既存のシステムでは、ケータイ向けにカスタマイズしたWebサーバーが必要になるか、あるいはケータイのフルブラウザを使うことになります。ケータイ向けのWebサーバーを用意する場合、何か変更があったとき、ケータイ向けとパソコン向けの両方のサーバーのメンテナンスが必要になり、管理者の負担が大きくなってしまいます。
フルブラウザを使う場合は、端末側のプラットフォームに依存してしまい、端末のパフォーマンスによって処理が遅くなったり、表示レイアウトが崩れるなどの制約があります。携帯端末は今後、より進化していく可能性はありますが、パソコン側も進化していくので、将来的にもプラットフォームの差はなくならないでしょう。Thinケータイの場合、サーバー側でアプリケーションを実行するので、ケータイが内蔵するフルブラウザに比べ、10分の1程度の時間でWebをレンダリング表示できます。
Thinケータイの技術
——技術的にはどのあたりに特徴があるのでしょうか。
大塚氏
Thinケータイには3つ部分で技術的な特徴があります。1つめは通信面です。ケータイのネットワークを使うのですが、実は現在の3.5Gであれば、スピードに関してはあまり問題はありません。それよりも遅延が問題となります。クライアントからサーバーにリクエストを投げ、レスポンスが返ってくるまでHSDPAでも0.4秒ほどかかります。このままだと、表示するのに時間がかかったり、操作レスポンスが悪くなったりします。この遅延を軽減させるため、通信のやりとりを少なくする独自プロトコルを開発しました。ケータイのネットワークでもサクサク使えることに注力しています。
2つめはサーバー側です。シンクライアントなので、サーバー側でアプリケーションを実行しますが、さらに「Webコンテンツ変換」という機能を搭載しています。ケータイの表示領域は小さいので、拡大表示が必要になります。通常であれば端末側で処理するところですが、パソコンのブラウザ表示をそのまま拡大すると、文章の横幅が画面幅を超えたりと、使いづらい面があります。そこで、意味的なまとまりをサーバー側で解析し、端末の表示領域に合わせて文章の折り返しやフォントの大きさなどを変更してから、端末側に画像を送るようになっています。端末では上下スクロールだけでWebを見ることができます。
3つめはクライアント側です。シンクライアントなのでアプリケーションはサーバー側で動きます。通常はアプリケーションのメニューなどもサーバー側で表示され、その画像がクライアントに転送されるのですが、それだけではなく、クライアント側にもメニューリストを用意し、いちいちメニュー画面を送ってもらわないでも操作できるようになっています。サーバー側でやることの一部をクライアント側に移動させたようなイメージです。また文字入力に関しても、ケータイ側にちゃんとした漢字変換機能があるので、ケータイ側で漢字変換したものをサーバー側に送る、という機能を搭載しています。処理を切り分け、サーバーとクライアントで分散することで、なるべく通信を減らすようにしています。
松原氏
アプリケーションごとにコマンドリストをサーバーからダウンロードします。たとえばブラウザでページを戻るとき、通常はマウスポインタを操作しますが、それはケータイでは面倒なので、ケータイのクライアント側のメニューに「戻る」というコマンドが用意されます。ページの最後に飛ぶ、といったコマンドも用意されています。あと、スクロールバーもクライアント側に持っています。
クライアントが直接コマンドを送れるこの方法だと、通信遅延が起きたときも、レスポンス遅れで余計に押してしまう、といった誤操作を減らすことができます。なるべくコマンド発生のたびのレスポンス遅延をなくすように作り込んでいます。
クライアントの画面。サーバー側で解析されたブロック構造が赤枠で示される
ブロック構造単位で拡大表示させることができる
——ケータイでパソコン向けのWebを見るとなると、ユーザーインターフェイス(UI)面で難しい部分もあるかと思いますが。
大塚氏
いくつかの仕組みを搭載しています。まずWebコンテンツ変換機能ですが、Webコンテンツをサーバー側で解析し、ブロック構造を認識したら、文章の幅や文字サイズを最適化するとともに、ブロック構造単位で表示する場所を選べるようになっています。
また、パソコンではポインタでクリックする仕組みになっていますが、ケータイの場合はマウスがないので、キーでの操作になります。そうなると、クリックするべきオブジェクトにポインタの位置合わせがしにくくなります。そこでサーバー側でリンクオブジェクトを解析して、画像と同時にその座標情報も送っています。端末上でどこにリンクがあるかを認識できるので、メニュー操作のようにカーソルキーでフォーカシング移動できるようになっています。
松原氏
ケータイのフルブラウザだと、レイアウトを完全に変えて縦長にする機能がありますが、その手法では、普段パソコンで使っているのとレイアウトが変わり、わかりにくくなっています。いつもと同じWebアプリケーションをケータイで使う場合、このWebコンテンツ変換機能のように、元のレイアウトを維持する方法の方がよいのではないか、と考えました。
——サポートされているブラウザの種類は? それ以外のアプリケーションのサポート予定もあるのでしょうか?
松原氏
サーバー側で動いているブラウザはFireFoxがベースになっています。それ以外のアプリケーションについては、今後、詰めていくところです。
いまはWebメールも多く、ドキュメントファイルも標準化されてブラウザで見られるものが多くなっているので、まずブラウザのサポートから始めています。サーバーはLinuxを使っているので、そこでオフィススイートなど他のアプリケーションを動かす有効な方法があれば、やっていこうと考えています。
アプリケーションについては、電話帳などもセキュアに使いたいと考えています。データをケータイ側に持ってこない、というのがベースの考えです。
詳細は・・・・・ http://k-tai.impress.co.jp/cda/article/interview/41521.html
株式会社テレジャパン
http://www.telejapan.com/