小さなパイプと高額な請求:帯域幅の使用を抑制する

小さなパイプと高額な請求:帯域幅の使用を抑制する

私たちのコンピューターは、遠く離れたインターネットサーバーと一日中通信しており、高速インターネット接続を使用している限り、サーバーがどれだけのデータを送受信しているかを私たちはほとんど意識しません。これは比較的最近のことです。インターネット接続に56Kbps(あるいはそれより遅い!)のモデムに依存していたのも、それほど昔のことではありません。つまり、コンピューターはインターネット接続が断続的制限されていることを前提としていました。ブロードバンドインターネット接続の登場により、コンピューターメーカーはまず常時接続を前提とする方向へと移行し、この10年間で、その前提はソフトウェアやサービスが常に大容量の帯域幅を前提とする方向に進化しました。

しかし、こうした前提は今でも必ずしも当てはまりません。なぜなら、モバイル化が進むにつれて、利用できる帯域幅が少なすぎる場所にいたり、コンピューターが消費する帯域幅に対して高額な料金を支払わなければならない場所にいたりする可能性が高くなるからです。自動バックアップエージェント、同期サービスプログラム、バックグラウンドでのメールチェック、さらにはAppleの自動ソフトウェアアップデートでさえ、ネットワークパフォーマンスに不満を抱いたり、高額な請求書に驚いたりする可能性があります。

帯域幅が限られている状況は、共有地の悲劇にもなりつつあります。少数の人々が他の全員にとっての共有地を台無しにしてしまう可能性があるのです。ホテル、会議場、カフェ、飛行機、クルーズ船など、公共Wi-Fiネットワークは、動画視聴の増加やスマートフォンやiPadの普及などにより、ますます信頼性が低くなっています。アムトラックは、シアトルとポートランド間の電車旅行中にこの記事を執筆中に気づいたのですが、同社の「常時」Wi-Fiサービスでもこの問題について利用者に警告を発しています。


しかし、ソフトウェアが常に高速インターネット接続が利用可能であると想定しているコンピュータにも責任があります。メールの確認や Google ドキュメントでのファイルの編集には十分だったホテルの Wi-Fi が、今では他の人々が Netflix を視聴したり、CrashPlan でバックアップしたり、Dropbox でファイルを同期したりしているせいで、そのような低帯域幅のタスクでさえ苦労しています。これらのシナリオは仮説ではありません。Adam Engst は
2012 年 1 月の Macworld | iWorld 中にホテルのインターネット接続が遅すぎて使用できないことがあり、Joe Kissell は最近の MacMania リバークルーズ中に船上の Wi-Fi を共有した際に大きなフラストレーションを感じました (後者のケースでは、インターネット接続は複数の結合された 3G セルラーデータ接続から得られました)。CSS の第一人者 Eric Meyer は、彼の An Event Apart デザイン カンファレンスで使用された 50 Mbps の接続が、講演者の企業バックアップ ソフトウェアの起動によって誤って占有された話を私に話してくれました。

モバイルブロードバンド接続に切り替えてコンピューターをテザリングすることで、ニーズに十分な帯域幅を確保できる場合もありますが、モバイルブロードバンドの使用量制限により、使用量を気にする必要が生じます。米国では、携帯電話事業者は通常、プラン内のデータ使用量が300MB、2GB、10GBなど一定量を超えると追加料金を課します。他の多くの国では、超過料金を課す代わりに、一定のデータ量を超えると、携帯電話事業者はアカウントの速度を64~256Kbpsに制限します。

(ここでは、ダイヤルアップ モデムまたは低速衛星回線しか利用できないアメリカの奥地や、高額な固定電話回線を介した高額な低速携帯電話回線かダイヤルアップ モデムしか利用できない発展途上国など、永続的に低帯域幅のシナリオにどう対処するかという関連する状況については取り上げません。興味があれば、今後このトピックについて別の記事で取り上げます。)

この記事の残りの部分では、帯域幅が不足したり、料金が高騰したりといった状況に陥った際に、どのアプリケーションが帯域幅を無駄に消費しているのかを特定し、それらを調整、一時停止、または終了する方法を説明します。さらに、必要に応じて帯域幅の使用量を自動的に削減できるユーティリティの提案についても考察します。

通信相手を見つけて追跡する— このテーマを調査する中で私が直面した最大の難関は、多数のデーモン、バックグラウンドアプリケーション、そしてAppleコンポーネントのうち、どれが1日に数キロバイト以上のデータ転送を行っているのかを、いかにして特定するかでした。明らかな犯人は簡単に見つかりましたが、実際のMac OS Xシステムには、必要に応じてバックグラウンドで起動するソフトウェアが溢れており、簡単に見落とされてしまいます。こうしたソフトウェアを見つけ出すツールは数多くありますが、完璧なものはありません。

Mac OS Xのアクティビティモニタ(に含まれています/Applications/Utilities)を使えば、帯域幅の消費状況をリアルタイムで確認できます。起動後、右下の「ネットワーク」ボタンをクリックして、グラフ上の赤と緑の線を確認してください。ただし、グラフからはどのプログラムが帯域幅を消費しているのかは分かりません。転送が行われているということだけが分かります。


不要な使用を検知・停止する方法の一つとして、後ほど使用をお勧めする34.95ドルのトラフィック監視ユーティリティLittle Snitchには、消費された帯域幅の経時変化を表示する魅力的なネットワーク監視画面があり、プログラム別、そしてそのプログラムがアクセスしたドメイン別の使用状況を詳細に確認できます。しかし、そこから抽出できる追加情報は存在しません。このツールで、どのアプリが頻繁に通信しているかを確認したり(過去60分間のみ)、
後で全体的な使用状況を確認したりすることはできますが、設定するルールの策定に役立つような詳細情報は得られません。


この問題に対する、私たちがこれまでに見つけた最善の解決策は、Conceited Software の Rubbernet です。これは、15 日間の無料試用期間が付いた 29.99 ユーロ (約 37 米ドル) の Mac OS X プログラムです。

Rubbernet の実行中、Rubbernet は各アプリケーションのトラフィック(送受信)を要約し、アプリ名、アクティブかどうか、アプリが属するユーザー、ダウンロード速度とアップロード速度、送受信データの合計、最終アクティビティの時刻を表示します。アクティブなアプリをダブルクリック(またはサイドバーでクリック)すると、リモートホスト名、使用ポート、ユーザー、ダウンロード速度とアップロード速度、最終アクティビティが表示されます。


概要ウィンドウは、大量のデータが転送されているかどうかを把握するのに役立ちます。その後、アプリの詳細ビューに移動して、何が起こっているのか(リモートホストとポートの列を調べることで)把握することができます。これは、SkyDriveやTransmitのように、帯域幅を大量に消費する比較的分かりやすいアプリに適しています。(ヒント:Rubbernetの「システム」カテゴリには、無関係なものが大量に含まれています。SafariのRSSチェックまで含まれていることがわかりました。これにより、通常は不可解なドメイン
が定期的にpingされていることが分かりました。)


しかし、Rubbernetにはこのデータの履歴表示機能がありません。Macがスリープ状態になったり再起動したりすると、このデータは消えてしまいます。そのため、その時に他の作業をしていた場合、特定のイベントを把握するのが難しくなることがあります。また、Rubbernetは非アクティブなプログラムの過去のデータ消費量を省略するため、詳細な分析がさらに困難になります。Rubbernetの将来のバージョンでは、データをより長く保持し、特定の転送速度を超えた際にユーザーに警告する機能が追加されることを期待しています。そうすれば、帯域幅の
使用状況を後から確認するのではなく、実際に発生している最中に調査できるようになります。

ネットワーク監視ユーティリティを実行するのに費用がかかりすぎる場合は、どのような種類のソフトウェアが大量のデータを転送するかについて推測することは可能です。原因となりそうなソフトウェアを特定したら、後述するように、それらのソフトウェアを制限、一時停止、または終了させることができます。注意すべき主なソフトウェアの種類は次のとおりです。

  • Box、Dropbox、Google Drive、SkyDriveなど、多くのクラウドベースの同期サービスはバックグラウンドで動作し、ファイルを常に最新の状態に保っています。共同作業者とフォルダを共有している場合、彼らが行った変更はすべてあなたのコンピュータにも直接プッシュされるため、Macの前に座っていなくても大量のデータを取り込むことができます。
  • Backblaze、Carbonite、CloudPull、CrashPlan、Dolly Drive、Mozy、SpiderOakなど、多くのインターネットバックアップサービスもバックグラウンドで実行され、変更されたファイルをクラウドにコピーします。バックアップサービスは継続的に実行されるのではなく、スケジュールに基づいて実行されるため、同期サービスよりも予測しやすいですが、大幅な変更を加えた場合、大きなファイルをダウンロードした場合、カメラから写真や動画をインポートした場合など、大量のデータを作成または変更する操作を行った場合は、使用量が急増する可能性があります。
  • Appleのソフトウェアアップデートは、予期せぬ形で大量のデータ転送を引き起こす可能性があります。システム環境設定の「ソフトウェア・アップデート」パネルでは、アップデートが利用可能になった際に自動的にダウンロードするように設定できます。これらのアップデートの多くはサイズが小さいですが、Mac OS Xや一部のAppleアプリケーションのアップデートは500MBから1GB程度になる場合があります。ソフトウェア・アップデートでは、アップデートのインストール準備が整ったことを通知するまで、ダウンロードが行われていることは表示されません。

  • iCloud の様々な用途は、ユーザーが気付かないうちに、インターネット帯域幅を大量に消費する可能性があります。例えば、iPhoto のフォトストリームは、新しく撮影した写真のダウンロードをいつでも開始する可能性があります。iTunes Match を使用してローカルに保存されていない曲を再生すると、iTunes はバックグラウンドで iCloud からストリーミング再生します。また、iTunes Store や Mac App Store からコンテンツを購入すると、ユーザーが操作しなくても、そのコンテンツが複数のデバイスに自動的にダウンロードされることもあります。ファイルの同期に iCloud を利用するプログラムが増えるにつれて、iCloud がすべてのデバイスを同期しているため、バックグラウンドで相当量の帯域幅が消費されるようになる可能性があります。

  • GoogleはWebベースのアプリケーションを重視するため、デスクトップアプリケーションのほとんど、あるいはすべてをバックグラウンドで自動更新するように設定しています。これにより、ユーザーはアップデートについて意識する必要がなくなり、バグやセキュリティホールから保護されますが、帯域幅が狭い環境でアップデートのダウンロードが開始されると、問題が発生する可能性があります。Googleソフトウェアアップデートがアップデートをチェックしてダウンロードするタイミングと頻度を制御するには、ターミナルを使用する必要があります。

  • Google Chrome や Firefox などの一部のアプリケーションは、起動時に新しいバージョンがダウンロードされ、自動的に更新されます。

Mac 上で大量のデータを転送する可能性のあるソフトウェアを特定したら、無制限の転送が不適切な状況では帯域幅の使用を制限するいくつかの方法を見つけることができます。

調整、一時停止、または終了- 継続的にデータを使用する一部のアプリケーションは、帯域幅の使用量を削減するために調整されたり、一定期間または手動で再開するまで一時停止されたり、アクティビティを完全に防止するために終了されたりする場合があります。

帯域幅制限ソリューションの中で、スロットリングは最も穏やかな方法です。アプリがスロットリングを許可している場合、そのアプリの帯域幅使用量を制限できます。スロットリングは、限られた帯域幅でもある程度有用な作業を実行できるものの、スロットリングを行わないと大量の帯域幅を消費してしまう可能性があるアプリに最適です。スロットリング機能を提供している人気アプリは、DropboxとCrashPlanの2つだけです。

  • Dropbox:Dropboxメニューから「環境設定」を選択し、「ネットワーク」をクリックして、「帯域幅」の「設定の変更」ボタンをクリックします。アップロードとダウンロードの速度を個別に制限できます。
  • CrashPlan:CrashPlanアプリの設定画面で、「ネットワーク」ボタンをクリックします。「送信速度制限」ポップアップメニューで、WAN(自分またはピアバックアップ、あるいはCrashPlan Centralへのリモート接続)の速度を設定できます。最近のほとんどのWi-Fiまたはイーサネットネットワークでは、LANの速度を制限する必要性はほとんどありません。


あまり知られていないアプリケーションにも、同様の機能が搭載されています。SpiderOakでは、アップロード速度をユーザー定義のキロバイト/秒数に制限できます。Dolly Driveでは、利用可能な帯域幅の割合を表すスライダーを設定できます。SugarSyncでは、低、中、高というラベルが付いた同様のスライダーが用意されています。(新しいGoogle Driveと更新されたMicrosoft SkyDriveには、速度制限機能はありません。)

帯域幅調整が利用できない場合は、アプリケーションのデータ転送アクティビティを完全に一時停止できる可能性があります。一時停止は、アプリが帯域幅を一切使用していないことが確認できるため、帯域幅調整よりも多くの場合有効です。ただし、例えば旅行中にソフトウェアを一時停止し、帰宅後に再度有効化することを忘れてしまうことはよくあるので注意が必要です。(アダムは1月のMacworld | iWorld旅行中にDropboxを一時停止し、その後有効化し忘れたため、共有ファイルの古いバージョンで作業することになったため、バージョン管理に混乱が生じました。)ネットワークを集中的に使用するアプリケーションの多くには、メニュー項目またはインターフェースのボタンとして一時停止機能が含まれています。Dropbox、CrashPlan
、その他さまざまなプログラムを一時停止する方法は次のとおりです。

  • Dropbox:Dropboxメニューから「同期を一時停止」を選択します。Dropboxが完全に同期されたことを示す小さな緑色のバッジが消えます。後で同期を再開するには、「同期を再開」を選択します。
  • 画像

  • CrashPlan:CrashPlanを一時停止するには、システム全体のCrashPlanメニューバーアイコンを有効にする必要があります(CrashPlanアプリの設定画面で「起動」をクリック)。そして、「一時停止」サブメニューから一時停止時間を選択します。時間が経過する前にバックアップを再開したい場合は、同じメニューから「再開」を選択します。また、CrashPlanアプリを起動し、右上の家型アイコンをダブルクリックしてCrashPlanのコマンドウィンドウを表示し、「pause;」と入力することでもresumeバックアップを再開できます。


    CrashPlanは、特定のWi-Fiネットワークでのみ動作し、それ以外のネットワークでは一時停止するように設定することもできます。設定画面で「ネットワーク」ボタンをクリックし、「ワイヤレスネットワーク」の右側にある「設定」ボタンをクリックします。CrashPlanを動作させたいネットワークの横にあるチェックボックスをオンにします。接続する新しいネットワークはすべて自動的に有効になるため、低帯域幅のネットワークを無効にするには、ここで設定する必要があります。

  • メールプログラム:多くのメールプログラムでは、メニュー項目やチェックボックスを使ってオフラインにしたり、自動チェックを無効にしたりできます。また、多くのプログラムで一般的に行われているように、ダウンロードファイルの最大サイズを設定することもできます。このサイズを超えると、メッセージの最初の部分のみがプレビューとして取得されます(POPアカウントの場合のオプション)、または添付ファイルなしのメッセージ部分のみが取得されます(IMAPアカウントの場合)。

  • iCloud:iCloudに関しては、Appleはバイナリコントロールしか提供しておらず、Mountain Lionで修正されることを期待していましたが(修正されていませんでした)、重大な欠陥を抱えています。フォトストリーム、書類とデータ、連絡先などのiCloudサービスを無効にすることはできますが、Mac OS Xは(サービスをオフにする前に警告が表示されますが)すべてのローカルコピーを削除します。フォトストリームの場合、iPhotoにインポートされていない写真がすべて削除されます。その他のサービスの場合、データはMacから完全に消去されますが、再度有効にすれば同期できます。iCloudからログアウトすると、さらにひどい状況になります。コンピュータ上の同期コンテンツがすべて削除されます。


最後に、多くのソフトウェアでは、絶え間ない通信を止めるには、終了するかネットワーク機能を無効にするしかありません。ソフトウェアに「終了」コマンドを含む標準メニューがない場合、または少なくともDockに表示されるアイコンがない場合、これは難しい場合があります。そうでない場合は、以下の方法をお試しください。

  • 主にバックグラウンドで動作する多くのアプリケーションは、メニューバーにシステム全体に対応するメニューを提供しています。こうしたアプリケーションのほとんどは「終了」コマンドを提供していますが、アクティビティモニタで、メニューを提供するコンパニオンアプリケーションだけでなく、データを転送しているバックグラウンドプロセスを実際に終了できることを確認することをお勧めします。「終了」コマンドが表示されない場合は、Optionキーを押しながらアプリケーションのメニューバーアイコンをクリックして、メニューが表示されるかどうかを確認してください。
  • システム環境設定で、アプリの設定パネルを確認してください。そこには、サービスの停止、一時停止、終了といった、分かりにくいコントロールが含まれている可能性があります。一部のアプリケーションでは、こうした機能のためにアプリケーションフォルダにコンパニオンアプリをインストールする場合もあります。

  • Apple のソフトウェア アップデートの場合は、システム環境設定パネルを開き、「アップデートを自動的にダウンロードする」オプションのチェックを外します。

  • ブラウザの更新を停止してください。Google Chromeは、Googleソフトウェアアップデートで制限しない限り、バックグラウンドで自動更新を試みます。Firefoxも自動更新に設定されている場合があります。Firefox > 設定 > 詳細 > 更新で自動更新をオフにできます。

  • Twitterクライアントは現在、一般的にTwitterのストリーミングフィードを使用しています。ストリーミングフィードはコンテンツを継続的にポーリングして更新します。全体的な帯域幅の負荷は低いかもしれませんが、時間の経過とともに増加する可能性があります。帯域幅を消費していないことを確認するために、Twitterクライアントを終了してください。

  • 最後の手段として、アクティビティモニタでプロセスを確認し、大量のデータを転送していると思われるプロセスをすべて終了してください。これは力ずくのアプローチであり、データの破損、予期しない動作、全体的な不安定化を引き起こす可能性があるため、日常的に使用すべきではありません。また、このようなデーモンは自動的に再起動する傾向があるため、手動で終了しても長期間効果が持続することはほとんどありません。

特定のプログラムを終了する代わりに、Little Snitchを使ってインターネットとの通信をブロックすることも検討できます。Little Snitchのバージョン3(現在プレビューリリースとして利用可能)以降では、プロファイルの作成と切り替えが可能になりました。そのため、例えば、 httpの場合はポート80、httpsの場合はポート443を介したWebブラウジングなど、特定の条件以外ではネットワークトラフィックを一切許可しない低帯域幅プロファイルを作成できます。

低帯域幅の状況でLittle Snitchを使用してネットワークトラフィックをブロックすることは、アプリケーションファイアウォールの最適な使い方とは言えませんが、効果的です。ただし、この方法で一部のアプリケーションをブロックすると、インターネットに接続できないという警告が繰り返し表示される場合があることに注意してください。

データ転送管理ユーティリティへの期待— 開発者にとって、ユーザーの帯域幅使用量を管理するソフトウェアを開発するのはそれほど難しくないでしょう。(Appleもそうできるはずですが、Mac OS Xにそのような機能が組み込まれていないという事実は、Appleが関心を持っていないことを示唆しています。)必要なのは、監視、通知、ファイアウォール機能を組み合わせたソフトウェアです。そのようなソフトウェアには、以下の機能が必要です。

  • プロトコルとアプリケーションによる帯域幅の使用状況を追跡し、大量のデータを転送しているプログラムを見つけるのに役立ちます。
  • データ転送が事前設定された値に近づいたり超えたりした場合に、アラート ダイアログ、Growl、または Mountain Lion の通知を通じて警告を出します。

  • グローバルに適用することも、特定のアプリケーションにのみ適用することもできる帯域幅調整制御を提供します。

  • 場所に合わせて、または特定の場所にいないときはいつでも、スロットル制御を自動的 (Sidekick や Control Plane など) または手動で (上記の Little Snitch 3 など) 変更するプロファイルを作成して切り替えることができます。

  • ネットワーク環境設定パネルに頼ったり、AirPort アダプタをオフにしたりすることなく、すべての受信および送信ネットワーク接続をブロックするための中央キル スイッチを提供します。

  • 現在の接続を自動的にテストし、利用可能な帯域幅を報告し、ネットワーク状況に応じてアプリを動的に調整できるようにします。(これはより高度な機能ですが、歓迎されます。)

このようなユーティリティの作成にご興味のある方と、ぜひお話させてください。しかし、当面は、ネットワークを大量に使用するアプリケーションの開発者は、帯域幅の使用量が大幅に増加した際にユーザーに通知すること、帯域幅調整機能を提供すること、そして少なくともソフトウェアの一時停止と再開を容易にすることについて、より一層の検討を行う必要があります。こうした認識と制御がなければ、少数のユーザーが他の多くのユーザーが共有している公共の帯域幅を無駄にしてしまうことは容易です。モバイルブロードバンドでテザリングされたコンピューターを使用している個人ユーザーでさえ、ネットワークパフォーマンスの低下に悩まされる可能性があります。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.