Category Archives: 研究

Implementation of Conflict-free Collaborative Data Sharing

CCDSAgent is an agent for Conflict-free Collaborative Data Sharing for distributed systems based on our published papers:

Through the implementation of the CCDSAgent, we made several findings in details which are not described in the paper, e.g., Operational Transformation and Concurrent synchronization.

Our implementation reveals the versatility of the CCDS approach:

  • The CCDSAgent does not use any locks for shared data nor has any chances of blocking in message passing.
  • Separation of peer’s application from synchronization of shared data would demonstrate our proposal of “Sharing-Oblivious” design for distributed systems.

 

CCDSAgent for Conflict-free Collaborative Data Sharing

双方向変換を用いたデータ共有システムについて

まったく久しぶりの投稿です。

すでに触れましたが、2018年3月に大学改革支援・学位授与機構の職を離れて、再び、大学に勤めていたときの計算機科学分野の研究を振り返りつつリハビリに努めてきました。

7年間の「空白」もありましたが、やり残していたことも思い出しながら関数プログラミングを楽しんでいます。2018年の秋から「双方向変換を用いたデータ共有システム」に関する研究に取り組んでいます。

情報学研究所 (NII) の胡振江教授(現北京大学・NII教授)が代表として進めている科学研究費補助金による研究のアドバイザを務める傍ら、久しぶりのソフトウェア開発を行って、アイデアの実証を行っています。

2019年の3月頃から3ヶ月ほどで開発して、いくつかの応用システムのプロトタイプによって有効性を実証した「双方向協調型データ共有 (Bidirectional Collaborative Data Sharing, BCDS) システム」の概要を添付しておきます。このシステムはネットワーク通信を含めてすべて関数型言語 Haskell で記述してあります。SQLデータベースとともに使うことを想定したシステムですが、そのためのライブラリ 700行とネットワーク機能を含むデータ共有を実現する800行程度のプログラムで、Mac OS と Windows 10 のもとの(これらが混在した)ローカルネットワークで実行することができます。

最近、いくつかのタクシーの配車サービス(Taxi Dispatching) システムが実用化されていますが、簡単な仕様記述によってそのプロトタイプを作成するなどの実験を行いました。協調型データ共有のアプリケーション構築のための基盤技術の一つとして位置づけています。

BCDS概要