2019年4月8日月曜日

ミドルクライアント


サーバー系のコンピューティングは、シンクライアントとリッチクライアントの両極端を、時代と共に行き来してきた。そろそろ中間的なクライアントに落ち着くようなブームが来ても良さそうに思うのだが、どうだろう。

従来のリッチクライアントというのは、できるだけ処理をクライアント側でしてしまう、というものだ。シンクライアントはこの逆で、できるだけサーバ側で行う。これらに対して提案するミドルクライアントは、サーバの負荷とクライアントの能力によって、どちらで処理するかを最適化する。クライアントは基本的にゼロ知識で動かすところは一緒だ。

例えばこんな感じだ。Webページを表示すると、クライアントサイドJavaScriptをダウンロードするところまでは同じだが、このJavaScriptは単純にクライアントで動かすものではない。その内部には、まずクライアントのスペックと負荷をサーバに返す仕掛けがある。単純にメモリやCPUの有無だけでなくて、例えばAIチップの有無やGPUの使用可否などが含まれている。これをサーバ側が判断して、可能な処理はクライアントで行わせ、自らは残りを処理する、というわけだ。

この仕掛けが上手くいけば、PCでもスマホでもレスポンスがほぼ変わらない、端末を変えても体感が変わらない、という経験が得られる。それでは端末を新しくするモチベーションにはならないのでは、というと、通信量は減るのと、ローカルでの学習結果の精度が上がるといったメリットは出る。出先で止むを得ない時はスマホで、普段はPCやChromebookで、などの使い分けは、成立するわけだ。

これは、サーバ側の開発ツールに新たなライブラリなりフレームワークなりが増えるだけでよく、クライアントは従来通りWebサーバでよい。これで新しいサーバクライアントコンピューティングの流れができないだろうか、と思う。

0 件のコメント:

コメントを投稿

注目の投稿:

超音波モーターの原理によるVR用トレッドミル

  VRにおけるリアリティ問題の一つに、その場で動くのではなく移動する場合、つまり歩いたり走ったりすることが挙げられる。実際にはその場にいるので、歩いたかのように足場を調節してやる必要がある。 これを実現する方法として、すり鉢状の滑りやすい足場を作っておく方法と、トレッドミルを使...

人気の投稿: