研究紹介

先端情報学研究科 先端情報学専攻 林原尚浩准教授 インタビュー

「様々なサービスを産み出す分散システムの可能性を探る」In search of the capability of distributed systems which provide various services

 

分散システムとは、ネットワークで結合したコンピュータの集まりで、それらが協調して動作をすることによって処理速度や信頼性の向上を可能にするシステムの構成です。ソーシャル・ネットワーキング・サービス(SNS)や公的なサービス(各種申請や証明書の発行)など、現在多くのサービスが分散システムによって提供され、社会的なインフラとして機能しているものもあります。しかし、システムの内部では日常的に故障が起こります。ひとたびサービスが停止するとユーザや企業に大きな打撃を与えるとともに、社会生活が混乱することも考えられます。

研究テーマとしては、分散システムにおいて、故障が起こった場合でもサービスを安定的に提供し続けることができる耐故障性や、多くのユーザにサービスを提供することができるスケーラビリティを持ったシステムを構築するためのアルゴリズムやシステムの構成法に焦点をあてています。

Distributed systems consist of computational nodes interconnected with network and improve the performance and reliability of services in cooperation with these nodes. Many services including Social Networking Services (SNS) and various public services (e.g., government office application, certification, etc.) are run on such systems and some of them are already identified as a social infrastructure. However, once they stop by some failures in the underlying systems, it might lead to the serious confusion in our social life.

We focus on algorithms and methodology to construct dependable and scalable distributed systems.

正確な故障検出に向けて Toward precise failure detection

故障の検出は分散システムにおけるディペンダビリティにおいて重要な問題です。近年、故障検出サービスをDNSや時刻同期(NTP)などのように一般的なサービスとして提供する試みがなされていました。この試みが上手くいかなかった要因として、従来の故障検出器では複数のアプリケーションの要求を同時に満たすことが困難であるということと、不安定なネットワーク環境において高精度で安定的な故障検出を提供できないという事が挙げられます。

Detecting failures is a fundamental issue for dependability of distributed systems. Recently, many people have come to realize and attempted to provide failure detection as some form of generic service, similar to IP address lookup (DNS) or time synchronization (NTP).

One of the reasons why this attempt is not easy is the difficulty to satisfy several application requirements simultaneously when using classical failure detectors.

It is also difficult to offer stable and high-precision failure detection under unstable network traffic.

アクルーアル故障検出方式(Accrual Failure Detectors)では、監視対象のノードiの故障レベル φi (suspicion level)をネットワークの状態から算出し、監視しているユーザやアプリケーションに提供します。 ユーザやアプリケーション側では、タイムアウトの代わりに、φi に対するしきい値 Φi を個別に設定し、そのしきい値を元にそれぞれ独自の故障判定を行うことで柔軟な故障検出を実現しています。 故障レベルは、監視対象が現在どれだけ故障が疑われているかを示しています。これを用いることによって、従来の故障検出器では実現できなかった、「監視対象が90%以上の確率で故障が疑われる場合は故障と判定する」などのように、与えられた故障検出の精度(この例では90%)を元に故障判定をすることができます。 従来の故障検出方式で用いられていた固定されたタイムアウトでは時々刻々と変化するネットワークの状況に対応することはできませんが、アクルーアル故障検出方式において、ユーザが要求する故障検出の精度(つまり故障レベルφ)を固定することで実際はタイムアウトがネットワークの状況に応じて変化し、ネットワーク環境に対応した柔軟な故障検出を行うことができます。 また、多数の監視対象に対しても、それぞれに異なるタイムアウトの値を設定するのではなく、一律にしきい値 Φ を設定することで、個々の監視対象に適した故障検出ができます。

We proposed novel failure detection mechanism called “Accrual Failure Detector” to address these problems. It computes the suspicion level (expressed as φi ∈ [0;1] for the node i) for each monitoring target based on interaction with the target and provides φi to applications.

Each application has a threshold Φi for suspicion level φi instead of binary nature (i.e., timeout) and it realizes the flexible failure detection based on the threshold. The suspicion level is the degree of the target node that is suspected to have crashed. The accrual failure detector realizes the failure detection with the certain condition such as when the node should be suspected if it is suspected to have crashed with more than 90% confidence though existing timeout-based failure detectors just have a timeout value for the target node and answer whether it crashed or not (i.e., binary information).

Our proposed approach can provide the precise failure detection by adapting to the network condition that is changing over time.

In the case that we have many target nodes, an uniform threshold Φ* can be set for those nodes in our approach, instead of corresponding timeout values for them.

図 アクルーアル故障検出方式

現在では、Facebookなどで用いられている分散キーバリューストアApache Cassandraを始め、並列処理ライブラリAkka、 サーバサイドJavascript環境Node.js、リスボン大学で開発されているサービス指向フレームワークAPPIAなどで実装され、多くのサービスの基盤をサポートしています。

Nowadays, the notion of the accrual failure detector is implemented as a component of various platforms, such as the key-value store Apache Cassandra, the cluster membership service Akka, the Service Oriented Architecture (SOA) based framework APPIA developed by the University of Lisbon, etc.

3Dモデルを共有する新たなサービス Novel service to share 3D models

画像や動画のようなコンテンツはWeb上で無数に共有され、検索エンジンなどを用いて必要とするものを容易に探し出すことができます。3Dプリンタの普及により、3Dモデルも同様に共有される事が予想されます。しかし、2次元のコンテンツである画像や動画と違い、3Dモデルは見ている視点位置により、見え方が大きく変わるという問題があります。例えば、3Dモデルを上から見ている場合と下から見ている場合は全く違う形をしていることがあります。そのため、その3Dモデルを見ている「視点」を考慮した情報の付加が3Dモデルの共有には必須になります。

Many pictures and videos have been shared on the Web. Those are possible to easily find what you need by using a search engine. Then, when sharing such content, by adding comments or annotations, communication style to convey taste or impressions of other viewers has been established.

我々は、3Dモデルにおけるカメラの視点に着目し、カメラの視点と他の情報を紐付ける3Dモデルのアノテーション(コメントなど)の共有を行うシステムの提案とプロトタイプの実装を行っています。

We focus on the camera viewpoint to be important in the case of the sharing of 3D models. We propose a method of adding an annotation to a 3D model. We also propose a method to realize synchronization mechanism of a 3D model by sharing the camera viewpoint based on Publish/Subscribe model.

このシステムでは、アノテーションを付けた際のカメラ視点位置をアノテーションと共に保存し、カメラ位置がそのアノテーションを付けた位置と近接すると表示されるようにしています。それによって、異なるユーザが付けたアノテーションであっても、そのアノテーションがどの部分に対して付加したものなのかをより明確に共有することができます。

The proposed system stores an annotation with the current camera position and is able to display according to operations (rotation, zoom, etc.) to 3D models. Thus, it is possible to have a better understanding of a certain annotation which has been put by another user.

図 上から右からの視点

またこのシステムでは、Publish/Subscribeモデルに基づいて、複数のユーザ間でカメラの視点を同期する機構の実装も行い、その性能評価も行っています。

The system also provides the perspective sharing of 3D models based on Publish/Subscribe communication model, and we evaluate its performance.

カメラの視点の同期を行うことによって、複数のユーザが同じ3Dモデルへの視点を共有することができ、3Dモデルに対するリアルタイムなコミュニケーションを可能にします。例えば、医療現場における臓器の3Dモデルを用いた外科手術の遠隔ミーティングや遠隔地の複数のユーザによる3Dモデリングされた遺跡のバーチャルツアーなどが考えられます。

Sharing the perspectives gives the same view of a certain 3D model to multiple users and then realizes real-time communication of 3D models. This is useful, for example, in the teleconference for surgical operations using 3D models of organs obtained by fMRI, and in the virtual tour of historical heritage scanned by a 3D scanner.

図 医療現場における臓器の3Dモデルを用いた外科手術の遠隔ミーティング

学生へのメッセージ Messages to Students

本大学院では、修士課程・博士課程ともに、海外からの学生を幅広く受け入れるため、英語での講義や研究指導を行っております。様々なバックグラウンドを持った学生同士で切磋琢磨しあう環境が整っています。

In the graduate school, we provide lectures and research supervision on computer science in English and accept students from abroad. We offer well-organized course environment for studying together with people with diverse backgrounds.

修士課程では、自分の研究テーマについて、研究室のセミナーなど学生同士、学生教員間で議論する機会を通してその関連研究の分析やそれらの問題点の明確化を行います。研究テーマをよりロジカルに深く理解する能力と、既存研究の問題点を解決する能力を養います。

研究成果は国際会議やジャーナルで発表することを目的として研究を進めていきます。世界中ではたくさんの研究者が同様の研究を行っており、国際会議などで研究発表を行うことで、専門家から有用な意見をいただくことができます。

本大学院では、英文論文執筆のためのセミナーや相談をはじめ、国際会議などに参加するためのスカラシップも充実しており、大学院修了後に国際舞台で活躍できる人材の育成に力を入れています。

In the Master’s Program graduate students discuss their research in seminars to understand specific theme deeply. We aim to publish our research papers at international conferences and in journals. Specially, discussion with experts at such conferences must give our graduate students a great insight into your research area.

We have several facilities for improving writing and presentation skills and scholarships for attending international conferences. The curriculum is designed for our graduate students to obtain an extensive knowledge of information science and to prepare their future careers, such as world-class researchers and engineers.

博士課程では、分散システム、ネットワークサービス、耐故障性などの分野において最先端の研究を行うために、学生が主体となって研究室内でのディスカッションを行い、研究分野の俯瞰的な見方を養います。また、国内外の研究者とのディスカッションを行い、国際的な舞台で活躍できる科学者としての素養を磨きます。

In the Doctoral Program, students acquire a comprehensive knowledge and understanding on the area of distributed systems, dependable systems, networking and software through the state-of-the-art research work to become scientists who succeed in the world.

研究には無限の可能性があります.その可能性の扉を開くのはあなたかも知れません。豊かな発想力とアグレッシブな行動力で新たな世界の扉を開きましょう。

We believe that there exist unlimited possibilities in the research field of computer science. It might be you who open the door leading to the new frontier. Let us take the first step to it.

PAGE TOP