著者
宮下 剛輔 栗林 健太郎 松本 亮介
雑誌
研究報告インターネットと運用技術(IOT)
巻号頁・発行日
vol.2014-IOT-24, no.15, pp.1-6, 2014-02-20

システムの大規模・複雑化に伴い,サーバの構築・運用を効率化するために,サーバの状態をコードで記述する手法が数多く提供されている.それらの手法を効率良く扱うプロセスとして,テスト駆動開発の手法をサーバ構築に応用した Test-Driven Infrastructure が提案されている.このプロセスを支援するテストフレームワークもいくつか登場しているが,あるものは特定の構成管理ツールに依存,またあるものは OS 毎の違いを自ら吸収しなければならないなど,汎用性に難がある.そこで,本論文では,特定の構成管理ツールや OS に依存することなく,サーバの状態を汎用的かつ可読性の高いコードでテスト可能なテストフレームワークを提案する.提案手法では,汎用性を高めるために,これまでの OS や構成管理ツール固有の振る舞いを整理して一般化し,運用業務で発生するコマンド群,特に確認作業に関するコマンド群を体系化・抽象化した汎用コマンド実行フレームワークを定義する.続いて,テストコード記述の抽象度を高め可読性を上げるために宣言的かつ自然言語に近い記法で汎用コマンド実行フレームワークを操作できる制御テストフレームワークを定義する.これにより,管理者が OS や構成管理ツールの違いを気にすることなくサーバの状態を容易にテストできるようになり,サーバの運用・管理コストを低減できる.また,フレームワークを用途別に分離して定義することにより,制御テストフレームワークを独自の記述に変更する事も容易である.提案するテストフレームワークを serverspec と名付けた.
著者
松本 亮介 栗林 健太郎 岡部 寿男
出版者
The Institute of Electronics, Information and Communication Engineers
雑誌
電子情報通信学会論文誌 B (ISSN:13444697)
巻号頁・発行日
vol.J101-B, no.1, pp.16-30, 2018-01-01

Webサービスのハードウェアコストや運用管理コストを低減するために採用される高集積マルチテナントアーキテクチャは,複数のユーザを同居させる特性上,ユーザ単位でセキュリティを担保するために,適切な権限分離を行う必要がある.そして,ホストに配置されるWebコンテンツを事業者が管理できないことを前提に,コンテンツに依存することなく基盤技術でセキュリティと性能を両立させるアーキテクチャが必要である.これまでに,実用上十分なセキュリティを担保しつつハードウェアの性能とリソース効率を最大化するための手法が数多く提案されてきた.また,マルチテナントアーキテクチャでは,ホスト間で権限分離だけでなく適切なリソース分離が行われる必要がある.リソース分離が不十分な場合,収容するホスト数が増えるにつれ,管理者により高負荷の原因となっているホストを特定し対処する作業の必要が生じ,運用管理コストが逆に増大してしまう.そのような運用上の問題の生じないリソース分離が可能なマルチテナントアーキテクチャの必要性も高まっている.更に,高集積マルチテナントアーキテクチャ採用時に,セキュリティを担保し,リソース分離を適切に行いながら,付随して生じる運用・保守に関するコストを低減させるためには,いかに運用技術を改善していくかが重要である.本論文では,Webサーバの高集積マルチテナントアーキテクチャにおいて,Webコンテンツをサービス事業者が管理できないことを前提に,高い性能とリソース効率を維持しつつハードウェアや運用管理コストを低減させるためのアーキテクチャについて,これまでの研究を概観するとともに,著者らによる最新の研究成果について紹介する.
著者
松本 亮介 平原 正裕 三宅 悠介 力武 健次 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2017-IOT-39, no.13, pp.1-8, 2017-09-22

インターネットの利用に際して,ユーザーや企業においてセキュリティ意識が高まっている.また,HTTP のパフォーマンス上の問題を解消するために,HTTP / 2 が RFC として採択された.それらを背景に,常時 HTTPS 化が進む中で,高集積マルチテナント方式の Web サーバで管理している大量のホストも HTTPS 化を進めていく必要がある.同方式は単一のサーバプロセスで複数のホストを管理する必要があるが,Web サーバの標準的な設定を用いて事前にホスト数に依存した数の証明書を読み込んでおく方法では,常に確保しておく必要のあるメモリ使用量が増大することで,リソース効率が低くなり,収容数が低下する.そこで,Server Name Indication (SNI) を利用可能である条件下において,事前にサーバプロセスに証明書を読み込んでおくことなく,SSL / TLS ハンドシェイク時にホスト名から動的にホストに紐づく証明書を読み込み,メモリ使用量を低減させる手法を提案する.実装には,我々が開発した,mruby を用いて高速かつ少ないメモリ使用量で Web サーバの機能を拡張するモジュール ngx_mruby を採用して,動的にサーバ証明書を選択する機能を実装した.また,筆者が所属する GMO ペパボ株式会社のホスティングサービスにおいて本手法を導入し,証明書の数やサーバリソースの使用量の関係性,性能に関する評価を行った.
著者
宮下 剛輔 栗林 健太郎 松本 亮介
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.61, no.3, pp.677-686, 2020-03-15

システムの大規模・複雑化にともない,サーバの構築・運用を効率化するために,サーバの設定状態をコードで記述する手法が数多く提供されている.それらの手法を効率良く扱うプロセスとして,テスト駆動開発の手法をサーバ構築に応用したProvisioning Testingという手法が提案されている.この手法を支援するテストフレームワークもいくつか登場しているが,あるものは特定の構成管理ツールに依存,またあるものはOSごとの違いを自ら吸収しなければならないなど,汎用性に難がある.シェルコマンドを直接記述する必要があり,可読性に難があるものも存在する.そこで本論文では,生産性や保守性を向上するために,サーバの設定状態を汎用的かつ可読性の高い宣言的なコードでテスト可能なテストフレームワークを提案する.提案手法では,汎用性を高めるために,OSや構成管理ツール固有の振舞いを整理して一般化し,運用業務で発生するコマンド群を体系化・抽象化した汎用コマンド実行フレームワークを定義する.続いて,テストコード記述の抽象度を高め可読性を上げるために宣言的な記法で汎用コマンド実行フレームワークを操作できる制御テストフレームワークを定義する.これにより,管理者がOSや構成管理ツールの違いを気にすることなく,可読性の高いコードでサーバの設定状態を容易にテストできるようになり,サーバの運用・管理コストを低減できる.提案するテストフレームワークをServerspecと名付けた.提案手法の評価は,生産性,保守性に加え,拡張性,実装公開後の影響の4つの観点で行った.
著者
松本 亮介 中田 裕貴 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2018-IOT-42, no.1, pp.1-8, 2018-06-21

スマートフォンや PC のモバイル化,SNS の爆発的普及に伴い,個人の Web サイトであってもコンテンツ次第でアクセスが集中する機会が増大してきている.我々は,サービス利用者に専門的な知識を要求せず,アクセス数や負荷に応じて反応的かつ高速にリソースをインスタンスに再割当てすることで,サービス利用者や事業者に手間を強いることなく突発的なアクセス集中に耐えうる FastContainer アーキテクチャを提案した.一方で,従来のホスティングサービスやクラウドサービスと同様に,インスタンスの収容サーバ障害時に,HTTP タイムアウトが生じない程度での可用性を担保しサービスを継続提供するためには,複数収容サーバに横断して,それぞれ複数インスタンスを立ち上げておく必要があった.そのため,利用者にとってはサービス利用コストの増加に繋がっていた.本研究では,HTTP リクエスト処理時において,単一のインスタンスであっても,収容サーバの状態に応じて自動的にインスタンスを別の収容サーバに再配置しサービスを継続させる,HTTP リクエスト単位での低コストで高速なインスタンススケジューリング手法を提案する.高速にインスタンスを再配置するために,Web サーバソフトウェア自体を拡張することなく,Web サーバプロセス起動時に実行されるシステムコールを監視して,起動完了する直前のシステムコール実行前の段階でプロセスイメージを作成しておくことにより,インスタンス再配置時には高速に Web サーバプロセスをそのイメージから起動させる.
著者
松本 亮介 田中 諒介 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2018-IOT-41, no.13, pp.1-8, 2018-05-10

クラウドサービスの普及に伴い,個人の Web サイトでもクラウドサービスに類する機能を利用して,突発的なアクセス集中に耐性があり,かつ,利用したリソース使用量に応じて課金するサービスの提供が求められている.我々はその要求に応じるために,Web サイトをコンテナ上に構築し,コンテナの起動や停止,複製やリソース割り当てといった状態の変更を素早く実行できるコンテナ管理アーキテクチャ FastContainer を提案した.一方で,単一のコンテナが特定のサーバに収容されている状態で,サーバが過負荷に陥ったり停止したりするような状況においては,障害時にコンテナの収容サーバ情報の変更を手動で構成管理データベースに反映させる必要があった.本研究では,HTTP リクエスト処理時において,収容サーバ,および,その経路までの状態に応じて,自動的にコンテナを収容するサーバを決定し,サービスを継続させる,HTTP リクエスト単位でのコンテナスケジューリング手法を提案する.提案手法では,FastContainer の状態変化の高速性に基づいて,コンテナが頻繁に収容サーバを変更されてもサービスに影響がないことを利用する.それによって,プロキシサーバから収容サーバに 1 個の ICMP パケットで応答速度を計測し,少ないパケット数と短いタイムアウトで収容サーバの反応時間を計測できる.そのことで,HTTP リクエスト単位でのコンテナスケジューリングを実現する.
著者
松本 亮介 近藤 宇智朗 三宅 悠介 力武 健次 栗林 健太郎
雑誌
インターネットと運用技術シンポジウム論文集
巻号頁・発行日
vol.2017, pp.89-97, 2017-11-30

クラウドサービスや Web ホスティングサービスの低価格化と性能の向上に伴い,コンテナ型の仮想化技術を活用することにより,複数のユーザ環境の収容効率を高めると同時に,セキュリティの担保とリソース管理を適切に行うことが求められている.一方で,障害時の可用性やアクセス集中時の負荷分散については依然として各システムに依存している.本研究では,HTTP リクエスト毎に,コンテナの起動,起動時間,起動数およびリソース割り当てをリアクティブに決定する,実行環境の変化に素早く適応できる恒常性を持つシステムアーキテクチャを提案する.提案手法により,アクセス集中時にはコンテナが HTTP リクエストを契機に,アクセス状況に応じて複製 ・ 破棄されることで,迅速に自動的な負荷分散が可能となる.さらに,コンテナが一定期間で破棄されることにより,収容効率を高め,ライブラリが更新された場合には常に新しい状態へと更新される頻度が高くなる.
著者
三宅 悠介 松本 亮介 力武 健次 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2017-IOT-37, no.4, pp.1-8, 2017-05-18

BtoC の EC サイトで取り扱う商品の種類の増加に伴い,EC サイト利用者の通常の行動では全ての商品を見て回ることは困難であるため,多くの EC サイトでは効率的に商品を閲覧できるよう関連性のある商品を動線上に表示している.購買履歴等の情報が蓄積されないと関連商品を選定できない問題を解決するため,商品の持つ様々なメタデータを利用する手法や,視覚的な訴求力の強い商品画像を元にした,畳み込みニューラルネットワークを始めとした深層学習による精度の高い関連商品の選定手法が提案されている.しかし,適切な粒度のメタデータの整備に手間を要する問題や,深層学習のための大量の訓練データセットと計算時間が必要となる問題から,これらが導入への大きな障壁となっている.本報告では,画像分類用の学術ベンチマークであり,EC サイト商品画像特性と類似する ImageNet において高い成績を出した Inception-v3 モデルを学習済みネットワークとして採用し,一般物体の特徴を強く表現する識別層に近い手前のプーリング層までから得られる特徴量をもとに近似最近傍探索により類似度を比較することで,特徴抽出器の学習と購買履歴を必要としない類似画像による関連商品検索システムを提案する.EC サイトにこの類似画像による関連商品検索システムを導入し,画像のクリック率を商品カテゴリごとに計測することで類似画像による関連商品の有効性を検証した.
著者
近藤 宇智朗 松本 亮介 栗林 健太郎
雑誌
第80回全国大会講演論文集
巻号頁・発行日
vol.2018, no.1, pp.19-20, 2018-03-13

インターネットが普及し、突発的アクセス増などに耐えられるサーバアーキテクチャが求められる中、起動やスケールアウトが容易なLinuxコンテナに注目が集まっている。筆者は、HaconiwaというLinuxコンテナランタイムを新しく開発した。特徴として、コンテナの様々な機能を作成時に自由に取捨選択して組み合わせができ、豊富なフック機構を備える。さらに、Haconiwaはスクリプト言語mrubyを内蔵しており、これらの設定をプログラミングにより統一的に記述でき、様々なシステムやアーキテクチャ的要求に応じたコンテナを作成可能になる。また筆者らはHaconiwaを中心に据えてシステムの循環を自動的に行い、安全な運用ができるウェブホスティングシステムも開発した。そのアーキテクチャについても応用例として論ずる。
著者
松本 亮介 三宅 悠介 力武 健次 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2017-IOT-37, no.1, pp.1-8, 2017-05-18

インターネットの利用に際して,ユーザーや企業においてセキュリティ意識が高まっている.また,HTTP のパフォーマンス上の問題を解消するために,HTTP/2 が RFC として採択された.それらを背景に,常時 HTTPS 化が進む中で,高集積マルチテナント方式の Web サーバで管理している大量のホストも HTTPS 化を進めていく必要がある.同方式は単一のサーバプロセスで複数のホストを管理する必要があるが,Web サーバの標準的な設定を用いて事前にホスト数に依存した数の証明書を読み込んでおく方法では,必要なメモリ使用量が増大することで,サーバプロセスの起動時や,CGI のようなプロセスの複製時に OS のページテーブルのエントリ数に依存するシステムコールの性能が著しく低下する.そこで,Server Name Indication (SNI) を利用可能である条件下において,事前にサーバプロセスに証明書を読み込んでおくことなく,SSL / TLS ハンドシェイク時にホスト名から動的にホストに紐づく証明書を読み込み,メモリ使用量を低減させる手法を提案する.実装には,我々が開発した,mruby を用いて高速かつ少ないメモリ使用量で Web サーバの機能を拡張するモジュール ngx mruby を採用して,動的にサーバ証明書を選択する機能を実装した.また,サーバ証明書データは,Redis によるキャッシュサーバによって管理し,本手法の有効性を評価した.
著者
栗林 健太郎 三宅 悠介 力武 健次 篠田 陽一
雑誌
インターネットと運用技術シンポジウム論文集
巻号頁・発行日
vol.2021, pp.48-55, 2021-11-18

物理空間上のセンサーやアクチュエーター等のデバイスとサイバー空間上の計算処理とを架橋する IoT システムにおいては,物理空間とサイバー空間との間における双方向のデータフローの構成が重要な課題となる.デバイス層,エッジ層,クラウド層の 3 層からなる IoT システムのアーキテクチャーモデルにおいては,設計・実装における構造的な複雑さが課題となる.その要因として(1)プログラミング言語や通信プロトコルの選択肢が多様であること,(2)データの取得方式が多様かつデータフローが双方向性を持つ,(3)IoT システムの全体を通じたデータフローの見通しが悪くなることの 3 つがある.本研究は,課題のそれぞれに対して(1)3 層を同一のプログラミング言語と通信プロトコルを用いて統合的に設計・実装できる手法,(2)push,pull,demand 方式のいずれにも対応し使い分けられる基盤,(3)3 層からなるデータフローを一望のもとに把握できる記法を提案する.提案のそれぞれに対して(1)提案手法を用いて 3 層からなる IoT システムを実際に統合的に設計・実装できること,(2)提案手法を用いるとデータの取得方式のいずれにも容易に対応できること,(3)提案する記法がデータフロー全体を十分に表現できることを評価することで,提案手法の有効性を示す.
著者
栗林 健太郎 山崎 進 力武 健次 丹 康雄
雑誌
研究報告ソフトウェア工学(SE) (ISSN:21888825)
巻号頁・発行日
vol.2021-SE-207, no.32, pp.1-8, 2021-02-22

IoT デバイスは多様な用途において増え続け,2030 年にはその数が 1250 億に達すると見込む調査報告がある.増え続ける多様な需要を満たすためには,IoT デバイスの開発効率の向上が必要であり,そのための開発プラットフォームが多数現れている.IoT デバイス内アプリケーションの開発において,開発者によるコードの変更を適用することで生じる動作の変更が意図した通りであるかどうかを確認するためには,変更内容をターゲットとなるデバイスへ適用し実際に動作させる必要がある.既存方式では,更新内容の生成および適用に加えて,デバイスの再起動に時間を要するため,迅速な開発サイクルの実現が困難である.本研究では,先行研究に基づきコードの変更をデバイスへ適用する方式について(1)ファームウェアイメージの全体を適用する方式,(2)ファームウェアイメージの差分を適用する方式,(3)アプリケーションコードを動的に適用する方式の 3 つに分類した.その上で,開発効率の向上を目的として(3)を動的な性質を持つ言語によって実装し得る方式として位置づけ直して提案するとともに実装し,各方式について更新に要する時間を比較検討した.その結果,提案方式は既存方式に比べて更新に要する時間が 95% 短くなった.
著者
栗林 健太郎 三宅 悠介 力武 健次 篠田 陽一
出版者
情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.64, no.3, pp.635-649, 2023-03-15

物理空間上のセンサやアクチュエータ等のデバイスとサイバー空間上の計算処理とを架橋するIoTシステムにおいては,双方向のデータフローの構成が重要な課題となる.本研究は,階層的なアーキテクチャからなるIoTシステム全体を,単一のプログラミング言語で統合的に構築することを可能とするデータフロー基盤を提案する.その実現のために解決すべき課題として,(1)IoTシステム全体を構築可能なプログラミング言語としてどの言語を選択するか,(2)選択したプログラミング言語によって多様かつ双方向性を持つデータ取得方式に対応できるか,(3)IoTシステムの階層的なアーキテクチャにおけるデータフローを見通し良く扱えるか,の3点を示した.各課題に対して,(1)各層の実装に用いるプログラミング言語としてElixirを選択する,(2)Elixirを用いて多様かつ双方向性を持つデータ取得方式に対応できる基盤としてPratipadを提案する,(3)Pratipadにおいて階層的なアーキテクチャにおけるデータフローを一望のもとに把握できる記法を提供する,という3点の提案手法により解決を図った.提案手法について,有効性および適用可能性について評価した.その結果,提案手法が本研究の目的を実現するとともに,実用的な機能および規模を持つIoTシステムの構築に適用可能であることを示した.
著者
三宅 悠介 栗林 健太郎
雑誌
インターネットと運用技術シンポジウム論文集
巻号頁・発行日
vol.2020, pp.1-8, 2020-11-26

多腕バンディット問題は,腕と呼ばれる複数の候補から得られる報酬を最大化する問題である.同問題の Web サービスにおける広告配信や推薦システムへの応用では,腕となる利用者の嗜好傾向が多様である課題に対処するため,利用者の文脈を考慮した線形な問題設定への拡張と解法が提案されている.一方で,時間の経過に従い報酬分布が変化する非定常な課題に対処するため,変化検出の手法を組み合わせ報酬の変化を観察することで変化に追従する解法が提案されている.しかしながら,線形な問題設定にこの解法を適用する場合,文脈の増加に伴い各文脈での報酬の観測回数が低下するため,文脈ごとに報酬の変化を観測する方式では,変化の検出と追従が遅れてしまう.加えて,変化の検出と追従に必要な文脈ごとの報酬の履歴データのサイズも文脈の増加に伴い肥大化する.本研究では,多様な文脈であっても腕の報酬分布の変化に迅速に追従可能な,線形かつ非定常な多腕バンディット問題の解法を提案する.提案手法では,文脈ごとの報酬からではなく,文脈の数によらない固定数の値の推移のみから報酬分布の変化を検出することで,腕の報酬分布の変化に迅速に追従する.さらに,過去期間の値を要約するデータ構造を導入することで,報酬分布の変化検出と追従に必要な履歴データのサイズの肥大化を抑制する.評価では,線形かつ非定常な多腕バンディット問題を設定し,提案手法を用いない場合と比較して変化への追従性が高いこと,履歴データのサイズの肥大化が抑えられることを確認した.
著者
松本 亮介 田平 康朗 山下 和彦 栗林 健太郎
雑誌
研究報告インターネットと運用技術(IOT) (ISSN:21888787)
巻号頁・発行日
vol.2017-IOT-36, no.26, pp.1-8, 2017-02-24

Web ホスティングサービスにて管理者がテナントごとのコンテンツを制御できないような高集積マルチテナント Web サーバ環境では,ホスト間のリソース競合を減らすことが安定運用にとって不可欠である.しかしホスト数が増えるにつれ,サーバ内の原因となるホストの監視や制御のコストも増加するため運用は難しくなる.本論文ではリソースの各指標の時系列データの変化点検出,ならびにサーバ内ホストやプログラムの各指標の重みづけによって,システムリソース逼迫状況下で多量のリソースを消費するリクエストを同定し隔離する自律的アーキテクチャを提案する.