2017-05-25 14 views
0

私はアンドロイドデバイス(CPU、メモリ、バッテリー)の容量とネットワークとデータの状態をスキャンして決定を下すアンドロイドアプリケーションを開発しています雲かどうか)。 オフロードを行うには、すべての情報(CPU、バッテリー、...)が不十分であることを確認する必要があります。例えば: (バッテリー容量が< 10%、現在のラムが100 MB以上の場合など) オフロードを行う。 //エッジまたはクラウドサーバーでメソッドを実行する else ローカル実行。最適化アルゴリズムを使用して決定する方法

今まで私はデバイスとネットワークに関するすべての情報を入手しましたが、私はどのように決定するのか分かりません。私は、最適化アルゴリズムは私を助けることができると思うが、私はどのようにJavaでこのアルゴリズムを実装するkhowしないでください。 賢い決断を下すのを助けてください。

+0

あなたが見ている可能性のあるハードな制限を確認するためにテストを実行しましたか?つまり、私はx RAM未満でこの計算を行うことはできませんか?この計算にはx時間がかかります。バッテリー残量が少なすぎるのでしょうか?ネットワークがダウンしている、私は雲に計算を送信することはできません? – Eric

答えて

0

あなたが既に述べたようなルール/アルゴリズムのセットを持っている場合、つまり(電池容量<が10%、現在のRAMが100 MB以上の場合など)、オフロードします。 Javaアプリケーションにそれを書くために、その些細な、例えば

if((remaining_battery_perc<10)&&(average_ram_usage_mb>100)){ 

    //Start a new thread to offload the data 

    } 

    else{ 

    // local execution 
    } 

    //wait for the threads to finish their job 
    // display the result 

だから、データを処理し、あなたが戻っ結果送信リクエストを待っているサーバがある、それは動作します提供しました。ただし、オフロードを繰り返すと、送信する必要のある帯域幅とデータ量に応じて、かなりのエネルギーを消費する可能性があることに注意する必要があります。

オフローディングアルゴリズムがない場合は未解決の問題ですが、解決する方法の1つはMarkov Decision Process (MDP)としてモデル化し、それを解決して決定ルールを取得することです。

関連する問題