特許第6309546号(P6309546)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

<>
  • 特許6309546-操作のための残り時間の推定 図000002
  • 特許6309546-操作のための残り時間の推定 図000003
  • 特許6309546-操作のための残り時間の推定 図000004
  • 特許6309546-操作のための残り時間の推定 図000005
  • 特許6309546-操作のための残り時間の推定 図000006
  • 特許6309546-操作のための残り時間の推定 図000007
  • 特許6309546-操作のための残り時間の推定 図000008
  • 特許6309546-操作のための残り時間の推定 図000009
  • 特許6309546-操作のための残り時間の推定 図000010
  • 特許6309546-操作のための残り時間の推定 図000011
  • 特許6309546-操作のための残り時間の推定 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6309546
(24)【登録日】2018年3月23日
(45)【発行日】2018年4月11日
(54)【発明の名称】操作のための残り時間の推定
(51)【国際特許分類】
   G06F 12/00 20060101AFI20180402BHJP
   G06F 3/14 20060101ALI20180402BHJP
   G06F 11/32 20060101ALI20180402BHJP
   G04F 3/00 20060101ALI20180402BHJP
【FI】
   G06F12/00 515B
   G06F3/14 320D
   G06F11/32 180
   G04F3/00 301J
【請求項の数】12
【全頁数】22
(21)【出願番号】特願2015-558900(P2015-558900)
(86)(22)【出願日】2014年2月18日
(65)【公表番号】特表2016-517058(P2016-517058A)
(43)【公表日】2016年6月9日
(86)【国際出願番号】US2014016746
(87)【国際公開番号】WO2014130401
(87)【国際公開日】20140828
【審査請求日】2017年2月2日
(31)【優先権主張番号】13/774,901
(32)【優先日】2013年2月22日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】アルヴァレス・カヴァゾス,フランシスコ
(72)【発明者】
【氏名】モラ,ジョルディ
【審査官】 田中 啓介
(56)【参考文献】
【文献】 特開2008−171043(JP,A)
【文献】 特開平11−296413(JP,A)
【文献】 国際公開第2010/038455(WO,A1)
【文献】 特開2012−198724(JP,A)
【文献】 特開2012−083870(JP,A)
【文献】 特開2009−086838(JP,A)
【文献】 特開2006−309288(JP,A)
【文献】 特開平05−181688(JP,A)
【文献】 特開平06−027777(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G04F1/00−5/16
G06F3/01、3/048−3/0489
G06F3/14−3/153
G06F11/07、11/28−11/34
G06F11/36−12/00
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスによる実行に応答して、前記コンピューティングデバイスに、
操作の状態を確認するステップと、
前記操作について完了した作業単位の数前記操作の状態及び前記操作について完了した前記数の作業単位に適用される重み付け関数に基づいて、前記操作のための残り時間を推定するステップと、
前記操作のための前記推定された残り時間に基づいて、前記操作についての時間推定インジケーターを更新するステップと
を含む動作を実行させる命令が格納される1つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項2】
前記操作の状態は、
前記操作の開始における開始状態、
前記操作に影響を及ぼす1つ又は複数のイベントに基づいて生じる警告状態、又は
前記開始状態の後、警告イベントを経験することなく、前記操作が特定の期間の間進行しているときに生じる通常の状態
のうちの少なくとも1つを含む請求項1に記載の1つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項3】
前記推定するステップは、
前記操作の状態に基づいて、計算間隔及び速度パラメーターを取得するステップと、
速度間隔にわたって前記操作についての1つ又は複数の速度測定値を計算するステップと、
前記速度パラメーターを前記1つ又は複数の速度測定値に適用して、パラメーター化された速度測定値を得るステップと、
前記パラメーター化された速度測定値及び前記操作のための残りの作業単位の量に基づいて、前記残り時間を推定するステップと
を含む請求項1に記載の1つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項4】
前記操作の状態は、前記操作が停止された後の再開状態を含み、前記更新するステップは、前記操作のための前記残り時間が再計算されているという視覚的表示を提供するステップを含む請求項1に記載の1つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項5】
前記操作の状態は、異なる操作が開始されること、異なる操作が完了されること、異なる操作が停止されること、又は異なる操作が再開されることのうちの少なくとも1つに応答して生じる警告状態を含む請求項1に記載の1つ又は複数のコンピューター読み取り可能な記憶媒体。
【請求項6】
デバイスであって、
少なくとも1つのプロセッサーと、
前記少なくとも1つのプロセッサーによる実行に応答して、前記デバイスに、
速度間隔にわたって操作の速度測定値を計算するステップと、
パラメーター化された速度測定値を得るために速度パラメーターを前記速度測定値に適用するステップであって、前記速度パラメーターは前記操作の状態に少なくとも部分的に基づき、前記速度パラメーターは前記速度測定値に適用される重み付け関数を含む、ステップと、
前記パラメーター化された速度測定値及び前記操作のための残りの作業単位の量に基づいて、前記操作のための残り時間を推定するステップと
を含む動作を実行させる命令が格納される1つ又は複数のコンピューター読み取り可能な記憶媒体と
を備えるデバイス。
【請求項7】
前記速度間隔は、前記操作の状態に基づいて決定される前記操作中の指定された時間間隔を含む請求項に記載のデバイス。
【請求項8】
記適用するステップは前記重み付け関数が適用された後に前記速度測定値を平均化するステップを含む請求項に記載のデバイス。
【請求項9】
前記操作の状態は、
前記操作の開始における開始状態、
前記操作に影響を及ぼす1つ又は複数のイベントに基づいて生じる警告状態、又は
前記開始状態の後、警告イベントを経験することなく、前記操作が特定の期間の間進行しているときに生じる通常の状態
のうちの少なくとも1つを含む請求項に記載のデバイス。
【請求項10】
前記操作の状態は、異なる操作が開始されること、異なる操作が完了されること、異なる操作が停止されること、又は異なる操作が再開されることのうちの少なくとも1つに応答して生じる警告状態を含む請求項に記載のデバイス。
【請求項11】
前記動作は、前記操作についての残り時間インジケーターを前記残り時間によって更新するステップをさらに含む請求項に記載のデバイス。
【請求項12】
操作の進捗についての視覚的なしるしを含むグラフィカルユーザーインターフェイスを出力するステップと、
前記操作の状態の表示を受け取るステップと、
前記操作の状態に基づいて、速度パラメーター及び速度間隔を取得するステップと、
前記速度間隔にわたって前記操作の速度測定値を計算するステップと、
パラメーター化された速度測定値を得るために前記速度パラメーターを前記速度測定値に適用するステップであって、前記速度パラメーターは前記速度測定値に適用される重み付け関数を含む、ステップと、
前記パラメーター化された速度測定値及び前記操作のための残りの作業単位の量に基づいて、前記操作のための残り時間を推定するステップと、
前記残り時間に基づいて、前記視覚的なしるしのうちの1つ又は複数を更新するステップと
を含む、コンピューターにより実施される方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操作のための残り時間の推定に関する。
【背景技術】
【0002】
[0001]様々な操作について、操作が完了するのにどの程度時間がかかるか及び/又は操作完了のためにどの程度の時間が残されているかを知ることは非常に有用となることがある。例えば、コンピューティングデバイス上でのデータ操作(例えば、データの移動、データの削除、データのコピーなど)はデバイスのリソースを利用することができる。したがって、データ操作がいつ完了するかについての正確な推定を提供することで、関連付けられるデバイスのリソースが他の操作やタスクのためにいつ解放されるかを算定する際にユーザーを支援することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、操作のための残り時間の推定を可能にする。
【課題を解決するための手段】
【0004】
[0002]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化された形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴や不可欠な特徴を特定することを意図するものではなく、特許請求される主題の範囲を決定する際の助けとして使用されることも意図されていない。
【0005】
[0003]操作のための残り時間を推定する技術が説明される。例示的な操作は、ファイル移動操作、ファイルコピー操作などのファイル操作を含む。多種多様な異なる操作が特許請求される実施例に従って考慮され、そのさらなる例が以下で説明される。少なくともいくつかの実施形態では、操作のための残り時間の推定は、操作の状態に基づいてもよい。操作の状態は、例えば、操作が開始されること、操作が停止されること、操作が再開されることなどの操作自体に関連するイベントに基づいてもよい。操作の状態はまた、他の操作に関連するイベントに基づいてもよい。
【0006】
[0004]詳細な説明は添付の図面を参照して記載される。図面において、参照番号の左端の数字は、参照番号が最初に現れる図面を特定する。明細書及び図面の中で異なる例において同じ参照番号を使用することで、類似の又は同一の項目が示されてもよい。
【図面の簡単な説明】
【0007】
図1】[0005]本明細書で説明する技術を使用するように動作可能である例示的な実施形態における環境の図である。
図2】[0006]1つ又は複数の実施形態による例示的な実施の状況を示す。
図3】[0007]1つ又は複数の実施形態による例示的な実施の状況を示す。
図4】[0008]1つ又は複数の実施形態による例示的な実施の状況を示す。
図5】[0009]1つ又は複数の実施形態による例示的な実施の状況を示す。
図6】[0010]1つ又は複数の実施形態による例示的な実施の状況を示す。
図7】[0011]1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
図8】[0012]1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
図9】[0013]1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
図10】[0014]1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。
図11】[0015]図1を参照して説明されるような、本明細書に記載される技術の実施形態を実施するように構成された例示的なシステム及びコンピューティングデバイスを示す。
【発明を実施するための形態】
【0008】
概説
[0016]操作のための残り時間を推定する技術が説明される。例示的な操作は、ファイル移動操作、ファイルコピー操作などのファイル操作を含む。多種多様な異なる操作が特許請求される実施例に従って考慮され、そのさらなる例が以下で説明される。少なくともいくつかの実施形態では、操作のための残り時間の推定は、操作の状態に基づいてもよい。操作の状態は、例えば、操作が開始されること、操作が停止されること、操作が再開されることなどの操作自体に関連するイベントに基づいてもよい。操作の状態はまた、他の操作に関連するイベントに基づいてもよい。
【0009】
[0017]例えば、ファイルの記憶位置の間など、ファイルがある場所から別の場所に移動されることを含む例示的なシナリオについて考える。様々な実施形態によれば、ファイル移動操作に関する様々な情報についての視覚的なしるし(兆候、indicia)を含むグラフィカルユーザーインターフェイスを提示することができる。このような情報の例は、操作のために行われるべき作業の量、例えば、ファイルの数及び/又は移動するべきデータの量を含む。情報はまた、ファイル移動操作が発生している速度、操作の進捗状況(例えば、いくつのファイル及び/又はどのくらいのデータが移動されたか)、操作のために行われるべき作業がどのくらい残っているかなどを含む。
【0010】
[0018]例示的なシナリオに加えて、グラフィカルユーザーインターフェイスは、操作のための推定される残り時間についての視覚的な表示を含む。例えば、残り時間は、時間、分、秒などの単位で示すことができる。様々な操作の状態に基づいて、操作のための残り時間は、定期的に及び/又は操作に影響を与える様々なイベントに応答するなどして推定することができる。残り時間についての視覚的表示は、推定される残り時間を反映するように更新することができる。本明細書中で詳述するように、操作のための残り時間を推定する技術は、操作の進捗を監視するための安定したユーザーエクスペリエンスを提供しつつ、操作状態の変化を説明するために用いることができる。
【0011】
[0019]以下の説明では、本明細書に記載される技術を使用するように動作可能である例示的な環境について最初に説明する。次に、「例示的な実施のシナリオ」と題するセクションで、1つ又は複数の実施形態によるいくつかの例示的な実施のシナリオを説明する。これに続いて、「例示的な手順」と題するセクションで、1つ又は複数の実施形態によるいくつかの例示的な方法を説明する。次に、「他の実施形態」と題するセクションにおいて、1つ又は複数の実施形態による、本明細書において説明される技術のいくつかの更なる例示的な実施について説明する。最後に、「例示的なシステム及びデバイス」と題するセクションにおいて、1つ又は複数の実施形態による、本明細書において説明する技術を使用するように動作可能である例示的なシステム及びデバイスを説明する。
【0012】
[0020]1つ又は複数の実施形態による例示的な実施形態の概要を提示したが、ここで、例示的な実施例を使用することができる例示的な環境について考える。
例示的な環境
[0021]図1は、本明細書に記載される、操作のための残り時間を推定する技術を使用するように動作可能である例示的な実施形態における環境100の図である。図示される環境100は、様々な方法で構成することができるコンピューティングデバイス102を含む。例えば、コンピューティングデバイス102は、図11に関連してさらに説明されるような、従来のコンピューター(例えば、デスクトップパーソナルコンピューター、ラップトップコンピューターなど)、移動局、娯楽機器、テレビに通信可能に接続されたセットトップボックス、携帯電話、ネットブック、ゲームコンソール、ハンドヘルドデバイスなどとして構成されていてもよい。
【0013】
[0022]したがって、コンピューティングデバイス102は、十分なメモリー及びプロセッサーリソースを備えたフルリソースデバイス(例えば、パーソナルコンピューター、ゲーム機、スレート又はタブレット形式のファクターデバイス)から、限られたメモリー及び/又は処理リソースを備える低リソースデバイス(例えば、従来のセットトップボックス、ハンドヘルドゲームコンソール)まで、多岐にわたってもよい。コンピューティングデバイス102はまた、本明細書に記載されるように、コンピューティングデバイス102に1つ又は複数の操作を実行させるソフトウェアを含む。
【0014】
[0023]コンピューティングデバイス102は、コンピューティングデバイス102を介して様々なタスクを実行するための機能を表すアプリケーション104及びサービス106を含む。アプリケーション104の例は、ワードプロセッサーアプリケーション、電子メールアプリケーション、コンテンツ編集アプリケーション、ウェブブラウジングアプリケーションなどを含む。サービス106は、ファイル操作、データ処理動作、イベント通知などのタスクを実行するためにコンピューティングデバイス102によって使用することができる機能を表す。サービス106によって実行及び/又は管理することができるファイル操作の例は、ファイルのコピー、ファイルの移動、ファイルの削除、ファイルのダウンロード及び/又はアップロード、ファイルの再利用、ファイルの名前変更、ファイル属性の変更(例えば、ファイルのメタデータに対する変更)などを含む。
【0015】
[0024]コンピューティングデバイス102は、さらに、アプリケーション104、サービス106などについての、コンピューティングデバイス102のための様々な操作を管理する機能を表す操作マネージャーモジュール108を含む。このような操作の例は、(例えば、上記のような)ファイル操作、診断操作、更新操作、セキュリティ操作などを含む。多種多様な他の操作は、特許請求される実施形態に従って、操作マネージャーモジュール108を介して管理することができる。
【0016】
[0025]コンピューティングデバイス102の一部として推定モジュール110がさらに含まれ、これは、本明細書で説明される操作のための残り時間を推定する技術の少なくともいくつかの態様を実行するための機能を表す。例えば、様々な操作の状態の視覚的表示を提供する操作チャート114を含むユーザーインターフェイス(UI)112を考える。例えば、操作チャート114は、操作が現在発生している速度を示すことができる。操作チャート114はまた、例えば、操作の何パーセントが完了したか及び/又はどの程度の操作が完了されないまま残っているかなど、操作の進捗状況を示す。
【0017】
[0026]操作UI112は、操作チャート114によって追跡されている特定の操作に関する情報を含む説明部116を含む。この例では、説明部116は、ファイルコピー操作の状態が追跡されていることを示す。この操作は例示のみの目的のために提示されるものであり、多種多様な異なる操作及び/又はリソースを、特許請求される実施形態に従って追跡することができる。
【0018】
[0027]操作チャート114は、さらに、停止コントロール118及びキャンセルコントロール120を含む。停止コントロール118は、操作チャート114によって追跡されている操作を一時中断するために選択することができ、キャンセルコントロール120は、そのような操作をキャンセルするために選択することができる。本明細書の他の箇所で説明されるように、停止コントロール118が選択されて操作が中断されると、操作を再開するために選択することができる再開コントロールが表示されてもよい。
【0019】
[0028]値マーク(value mark)122は、操作チャート114の一部として含まれ、追跡されている操作についての現在の値のグラフィカルな表示を提供する。例えば、値マーク122は、データレートなどの、操作の速度についての特定の値又は値の範囲に対応することができる。この例では、値マーク122は、ファイルのダウンロード操作についての現在のダウンロード速度を示す。値マーク122は、操作の値の変化を視覚的に示すために、操作チャート114内で上下に移動することができる。
【0020】
[0029]操作チャート114はさらに、進捗マーク124及び履歴ライン126を含む。進捗マーク124は、完了すべき全体の操作単位を参照するなどして、現在の操作の進捗状況を示すように配置される。例えば、進捗マーク124は、操作について様々な進捗状況の点を示すために、操作チャート114内において様々な点に配置することができる。
【0021】
[0030]履歴ライン126は、操作についての履歴の値(historical value)を表す。例えば、履歴ライン126は、時間的に進捗マーク124の前に生じる値に対応するデータ点をつなげることができる。したがって、少なくともいくつかの実施例では、進捗マーク124は、操作が進むにつれて、操作チャート114内で左から右に横断してもよい。さらに、進捗マーク124が操作チャート114内で横断するとき、履歴ライン126は、例えば別の進捗点における以前の値などの、以前の操作の値を示すことができる。
【0022】
[0031]操作UI112はまた、時間推定128及び残り項目インジケーター(items remaining indicator)130を含む。時間推定128は、操作チャート114に関連付けられる操作が完了するまでの残りの推定時間についての視覚的表示を含む。様々な実施形態によれば、推定モジュール110は、様々な情報や異なるパラメーターに基づいて、操作完了までの残り時間を推定することができる。例えば、推定モジュール110は、操作状態を監視し、操作状態の変化に基づいて操作についての残り時間の推定を調整することができる。したがって、操作が完了に向けて進み及び/又は他のイベントが生じるとき、時間推定128は、操作の進捗の変化を反映するように更新することができる。推定モジュール110のさらなる動作態様は本明細書の他の箇所で詳述される。
【0023】
[0032]残り項目インジケーター130は、操作においてまだ完了されていない操作項目の数を示す。例えば、残りの項目は、まだコピーされていないファイルの数、まだコンピューティングデバイス102を介して送信又は受信されていないバイトの数などの、まだ完了されていない作業単位の数を指してもよい。したがって、少なくともいくつかの実施形態において、操作は作業単位の総数として抽象化することができる。残り項目インジケーター130は、作業単位の総数のうちまだ完成されていない作業単位の数を表示することができる。代替的に又は加えて、残り項目インジケーターは、特定の操作進捗時点での完了した作業単位の数を示す、完了項目インジケーターとして実施することができる。
【0024】
[0033]本明細書に記載の技術が動作することができる例示的な環境について説明したが、ここで、1つ又は複数の実施形態によるいくつかの実施例のシナリオの説明を検討する。
例示的な実施のシナリオ
[0034]以下の説明は、1つ又は複数の実施形態による、操作のための残り時間を推定するためのいくつかの例示的な実装のシナリオについて説明する。以下の説明の一部において、図1の環境100の様々な態様が参照される。
【0025】
[0035]図2は、概して200において例示的な実施のシナリオを示す。シナリオ200の上部は、操作に関する情報を表示するように構成される操作UI202を含む。操作UI202は、進行しているファイルコピー操作に関する情報を表示する操作チャート204を含む。時間推定206は、ファイルコピー操作のための残りの推定時間を表示し、残り項目インジケーター208は、操作の一部としてまだコピーされていないアイテム(例えば、ファイル)の数を表示する。
【0026】
[0036]操作UI202は、さらに、進行しているファイルアップロード操作に関する情報を表示する操作チャート210を含む。時間推定212は、ファイルアップロード操作の残りの推定時間を表示し、残り項目インジケーター214は、まだアップロードされていないアイテム(例えば、ファイル)の数を表示する。図示されるように、時間推定212は、アップロード操作の完了まであと約2秒であり、したがってほとんど完了していることを示す。
【0027】
[0037]シナリオ200の下部に進むと、操作チャート210に関連付けられるファイルアップロード操作が完了しており、したがって、操作チャート210は操作UI202から除去されている。さらに、操作チャート210がもう表示されていないので、操作UI202はサイズ変更されている。
【0028】
[0038]操作チャート210に関連付けられるアップロード操作の完了により、操作チャート204に関連付けられるファイルコピー操作についての推定される完了時間の再計算が引き起こされる。例えば、ファイルアップロード操作の完了によって引き起こされる操作状態の変化の通知が生成されて、推定モジュール110に送られてもよい。通知に応答して、推定モジュール110は、操作チャート204に関連付けられたファイルコピー操作のための残りの推定時間を再計算することができる。時間推定206は、再計算された推定時間に基づいて更新することができる。
【0029】
[0039]例えば、操作チャート210に関連付けられる現在完了しているアップロード操作を実行するのに使用されていたリソース(例えば、デバイスリソース、ネットワークリソースなど)が現在利用可能であるとする。そのようなリソースは、操作チャート204に関連付けられたファイルコピー操作を完了するために利用可能になり、したがって、ファイルコピー操作が進行する速度の増加を引き起こす。したがって、完了までの推定時間がその増加した操作速度に基づいて再計算されて、以前の速度に基づいて提供されるものよりもより正確な推定値を提供する。更なる詳細は、様々なイベントに基づく残り時間の推定に関して以下で紹介される。
【0030】
[0040]再計算された推定完了時間に基づいて、時間推定206は、完了までの新たな推定時間を反映するように更新される。残り項目インジケーター208は、まだコピーされていない項目の数を反映するように更新される。
【0031】
[0041]図3は、概して300において、例示的な実施のシナリオを示す。シナリオ300の上部は、操作チャート304及び操作チャート306を有する操作UI302を含む。図示されるように、操作チャート304は、ファイルダウンロード操作の進捗状況を追跡し、操作チャート306は、ファイル削除操作の進捗状況を追跡する。
【0032】
[0042]シナリオ300において、さらに、ユーザーは、操作チャート306に関連付けられる停止コントロール308を選択する。停止コントロール308を選択することで、ファイル削除操作が停止、例えば一時停止される。
【0033】
[0043]シナリオ300の下部へと続いて、ファイル削除操作を停止することで、操作チャート304に関連付けられるファイルダウンロード操作の完了時間の再計算が引き起こされる。例えば、現在停止されている削除操作を実行するために使用されていたリソースは、ファイルダウンロード操作を実行するために利用することができる。リソースの増加により、ファイルダウンロード操作が進む速度の対応する増加が引き起こされてもよい。
【0034】
[0044]ファイルダウンロード操作の完了時間の再計算に応答して、ファイルダウンロード操作の時間推定310は、再計算された時間を反映するように更新される。
[0045]さらに図示されるように、停止コントロール308が選択されると、再開コントロール312が表示される。再開コントロール312は、例えば、ファイル削除操作が停止された時点からファイル削除操作を再開させるために選択することができる。
【0035】
[0046]少なくともいくつかの実施形態では、操作は、操作中に生じる競合などのイベントに応答して、自動的に停止される。操作を自動的に停止する例示的な実施例を以下で説明する。
【0036】
[0047]図4は、概して400において、例示的な実施例のシナリオを示す。シナリオ400の上部は、今度は操作チャート404を有する操作UI402を含む。図示されるように、操作チャート404は、ファイルコピー操作の進捗状況を追跡する。
【0037】
[0048]時間推定406が示すように、ファイルコピー操作が完了するまでの残りの推定時間は20秒であり、現在は停止状態にある。例えば、操作チャート404に関連付けられる停止コントロールが選択されていてもよい。操作UI402はまた、ファイルコピー操作を停止状態から再開するために選択することができる再開コントロール408を含む。
【0038】
[0049]シナリオ400の中央部へと続いて、再開コントロール408が、例えばユーザー入力を介して選択される。再開コントロール408の選択に応答して、ファイルコピー操作が再開する。時間推定406は、例えばファイルコピー操作が再開されたことに応答して、残り時間が現在推定されていることを示す。さらに、再開コントロール408は、停止コントロール410に置き換えられる。
【0039】
[0050]シナリオ400の下部へと続いて、残り時間が本明細書に記載される技術に従って再計算され、時間推定406は、ファイルコピー操作についての再計算された残り時間を反映するように更新される。図示されるように、「推定中」の表示が時間推定406から削除されて、残り時間が再計算されて表示されたことが反映される。
【0040】
[0051]このように、シナリオ400は、様々な操作を停止して再開するために実施形態を使用することができることを示し、本明細書で説明する技術が、操作が一時停止状態から再開されたときに当該操作についての残り時間を正確に再推定できることを示す。
【0041】
[0052]図5は、概して500において、例示的な実施例のシナリオを示す。少なくともいくつかの実施形態によれば、シナリオ500は、追加の操作の開始によって、現在進行している操作の推定残り時間の再計算が引き起こされる実装例を説明する。
【0042】
[0053]シナリオ500の上部は、操作チャート504を有する操作UI502を含む。図示されるように、操作チャート504は、ファイル移動操作の進捗状況を追跡する。操作UI502は、さらに、ファイル移動操作が完了するまでの推定時間を示す時間推定506を含む。
【0043】
[0054]シナリオ500の下部へと続いて、ファイルアップロード操作が、ファイル移動操作に加えて開始される。例えば、ファイル移動操作が進行している間に、ユーザー及び/又は他のエンティティは、ファイルアップロード操作を開始することができる。ファイル移動操作の開始に応答して、操作チャート508が操作UI502に追加されて、ファイルアップロード操作の進捗状況を追跡する。
【0044】
[0055]ファイルアップロード操作の開始はまた、操作チャート504に関連付けられたファイル移動操作の残り時間の再計算を引き起こす。例えば、ファイル移動操作を実行するために使用されている少なくともいくつかのリソースは、ファイルアップロード操作の実行を支援するために流用することができる。したがって、ファイル移動操作は、リソースの減少に基づいて、よりゆっくりと進行することになり得る。
【0045】
[0056]ファイル移動操作のための残り時間の再計算を反映するために、時間推定506は、残り時間が推定されていること(「推定中」)を示す。したがって、時間推定506は、イベント(例えば、ファイルアップロード操作の開始)によってファイル移動操作の進捗状況の変化が生じたこと及びファイル移動操作の完了までの推定時間が現在推定されていることについての視覚的な表示を提供することができる。
【0046】
[0057]ここでは明示的に示されないが、ファイル移動操作の残り時間が再計算されることに応答して、時間推定506を残り時間で更新することができる。さらに、「推定中」の表示を時間推定506から除去して、新たに再計算された推定時間が表示されることを示すことができる。
【0047】
[0058]図6は、概して600において、例示的な実施例のシナリオを示す。少なくともいくつかの実施形態によれば、シナリオ600は、操作の競合が解決された後に操作が再開する実施例を示す。
【0048】
[0059]シナリオ600の上部は、様々な態様の操作を追跡する操作UI602を示す。この例では、操作UI602は、ファイルコピー操作に関する情報を含む。シナリオ600においてさらに、ファイルコピー操作中に競合が生じる。競合通知604によって示されるように、コピーされているファイルと既にコピー先に格納されているファイルとの間で名前の競合が生じる。
【0049】
[0060]競合に応答して、競合を解決する機会を提供するためにファイルコピー操作が自動的に停止される。例えば、競合を処理するための選択肢を提示する競合オプション606が提示される。少なくともいくつかの実施形態では、競合オプション606は、選択されると関連付けられるアクションを生じさせる選択可能なコントロールである。
【0050】
[0061]シナリオ600の中央部へ進み、対応するアクションを生じさせてファイルコピー操作を再開させる、競合オプション606のうちの1つが選択される。例えば、操作チャート608は、進捗インジケーター、レートインジケーターなどの動きによるなどして、ファイルコピー操作が再開したという視覚的な表示を提供する。
【0051】
[0062]ファイルコピー操作の残り時間が計算されていることを示す時間推定610が含まれる。ファイルコピー操作の再開に応答して、例えば、本明細書で説明される技術に従って、以前に計算された推定時間から残り時間を再計算することができる。
【0052】
[0063]シナリオ600の下部へと続いて、ファイルコピー操作のための残り時間が再計算され、時間推定610は、再計算された推定時間を反映するように更新される。したがって、操作の競合が発生するとき、競合が除去及び/又は解決された後に操作のための残り時間を再計算するために技術を利用することができる。
【0053】
[0064]本明細書において説明されるシナリオ及びユーザーインターフェイスは例示的な実施例として提示されるものであり、本明細書において説明される実施形態は、多種多様な異なる実施例のシナリオに従って、本明細書において明示的に示されず説明されていない様々な別の視覚化を利用して、使用することができる。技術は、例えば、プログレスバー、円グラフ、様々なグラフの実施例などの様々な進捗インジケーターとともに利用することができる。例えば、上述したユーザーインターフェイスの視覚的な態様は、特許請求される実施形態の趣旨及び範囲から逸脱することなく、様々な方法で実施し、組み合わせることができる。
【0054】
[0065]いくつかの例示的な実施例のシナリオについて説明したが、ここで、1つ又は複数の実施形態によるいくつかの例示的な手順の説明を検討する。
例示的な手順
[0066]以下の議論は、1つ又は複数の実施形態による、操作のための残り時間を推定するいくつかの例示的な手順を説明する。例示的な手順は、図1の環境100、図11のシステム1100及び/又は任意の他の適切な環境において使用することができる。上述した実施例のシナリオは、例えば、例示的な手順の様々な態様を利用して実施することができる。
【0055】
[0067]図7は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。ステップ700は、操作がアクティブであることを確認する。例えば、操作マネージャーモジュール108は、操作が開始されるか及び/又はアクティブであると判断することができる。少なくともいくつかの実施形態では、操作に関連付けられるアプリケーション及び/又はサービスが、操作が開始されること及び/又はアクティブであることの通知を生成することができる。
【0056】
[0068]ステップ702は、操作のために完了するべき作業単位の総量を決定する。操作のためのデータの量などの様々な種類の作業単位が考慮され得る。データの量は、ビット、バイトなどの様々な異なる単位を用いて測定することができる。別の例として、単位は、ファイルのインスタンス、データのブロックなどの個別のアイテムに基づいてもよい。例えば、ある場所から別の場所へデータを移動させる操作に関して、作業単位は、データ単位での移動されるべきデータの総量、移動されるべきデータファイルの総数などを指してもよい。特許請求される実施形態に従って、様々な他の作業単位を利用することができる。
【0057】
[0069]ステップ704は、完了した作業単位の数を決定する。例えば、完了した作業単位の数は、動作中の様々な進行の時点で決定することができる。
[0070]ステップ706は操作の状態を確認する。以下でより詳細に議論されるように、操作は様々な状態を有することができる。操作状態の例は、操作の開始、(例えば、他のイベントに応答する)操作警告(operation alert)、操作の正常な進捗などを含む。
【0058】
[0071]ステップ708は、まだ完了していない作業単位の数及び操作の状態に基づいて、操作のための残り時間を推定する。例えば、残り時間の推定値は、異なる操作状態に基づいて変化し得るパラメーター及び他のファクターに基づいて計算することができる。残り時間の推定に関するさらなる詳細が以下に提供される。
【0059】
[0072]ステップ710は、完了までの推定時間に基づいて、時間推定インジケーターを更新する。例えば、残り時間についての視覚的表示は、操作の完了までの推定時間を反映するように更新することができる。可聴式のインジケーターなどの他の種類の時間推定インジケーターを、追加的又は代替的に使用することができる。
【0060】
[0073]ステップ712は、操作が完了したかどうかを確認する。操作が完了していない場合(「いいえ」)、プロセスはステップ700に戻る。例えば、操作が進行するとき、操作が完了するまで、操作のための残り時間が継続的に及び/又は追加的に推定されて更新されてもよい。操作が完了した場合(「はい」)、ステップ714は動作を終了する。
【0061】
[0074]図8は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。少なくともいくつかの実施形態によれば、方法は、図7のステップ708に関連して説明されたものなどの、操作のための残り時間を推定するための時間推定パラメーターを決定する例示的な実施例を説明する。例えば、時間推定パラメーターは、図7のステップ706において決定される操作状態に基づいて決定することができる。
【0062】
[0075]ステップ800は、操作が開始状態であるか否かを判定する。例えば、開始状態は、操作の開始時における最初の期間に対応してもよい。少なくともいくつかの実施形態では、最初の期間は、1秒、2秒、5秒などの、操作の開始から測定される特定の時間増分を使用して規定することができる。
【0063】
[0076]操作が開始状態にある場合(「はい」)、ステップ802は、開始状態についての計算パラメーター及び計算間隔を取得する。様々な実施形態によれば、計算パラメーターは、操作のための残り時間を推定するために使用される様々な測定にどれくらいの重みが与えられるかを指定する。例えば、計算パラメーターは、操作のための速度測定値及び/又は時間推定値に適用することができる重み付け関数を含むことができる。
【0064】
[0077]様々な実施形態によれば、計算間隔は、速度測定値、完了した作業単位の数の測定値などの測定値が取得される期間を指す。したがって、様々な計算間隔を様々な操作状態に対して使用することができ、これは以下に詳細に説明される。
【0065】
[0078]操作が開始状態にない場合(「いいえ」)、ステップ804は、操作が警告状態にあるか否かを判定する。警告状態は、例えば、特定のイベントが発生したこと、発生していること、及び/又は発生しようとしていることの通知などの様々なイベントの兆候に対応する。このようなイベントの例は、操作停止イベント、操作再開イベント、操作完了イベント、新しい操作イベントなどの、操作についての操作状態の変化を含む。警告は、残り時間が推定されているイベントに対する変更に基づいて、及び/又は同時に発生している操作などの異なる操作に対して、生成することができる。
【0066】
[0079]警告はまた、リソース変更イベント、ユーザーアクティビティイベントなどの他のイベントに基づいて生成することができる。リソース変更イベントの例は、ネットワーク帯域幅の増減、プロセッサーの可用性の変化などを含む。ユーザーアクティビティイベントの例は、アプリケーション、サービスなどの様々な機能とのユーザーインタラクションを含む。したがって、少なくともいくつかの実施形態では、警告を生成することができ、バックグラウンドのイベントなどのユーザーに対して明示的に表示されていないイベントに基づいて残り時間を再計算することができる。
【0067】
[0080]操作が警告状態にある場合(「はい」)、ステップ806は、警告状態についての計算パラメーター及び計算間隔を取得する。操作が警告状態にない場合(「いいえ」)、ステップ808は、通常の状態に対して計算パラメーター及び計算間隔を取得する。様々な実施形態によれば、正常な状態とは、操作開始後、警告イベントを経験することなく、操作が特定の時間期間の間進行しているときに生じる操作状態を指す。例えば、正常な状態とは、操作のための「通常の」操作状態を指してもよい。
【0068】
[0081]例えば、正常な状態は、操作開始時に及び/又は警告後に開始するタイマーに基づいてもよい。タイマーが(例えば、警告から中断することなく)終了するとき、操作は正常な状態にあると考えることができる。タイマーが経過している間に警告状態が発生する場合、タイマーはリセット及び/又は再スタートされてもよい。2秒、5秒などの任意の適切な期間を利用することができる。
【0069】
[0082]ステップ810は、取得されたパラメーター及び間隔に基づいて、操作のための残り時間を推定する。パラメーター及び間隔に基づく残り時間の計算の詳細な例が以下に提示される。
【0070】
[0083]図9は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。少なくともいくつかの実施形態によれば、方法は、図8のステップ810に関連して説明されるものなどの、操作のための残り時間を計算する例示的な実施例を説明する。
【0071】
[0084]ステップ900は、速度間隔(スピードインターバル、speed interval)にわたる操作についての速度測定値を計算する。速度とは、一般に、操作が行われる速度(レート)を指す。例えば、速度は、データレート、ビットレート、データ転送レートなどに関して測定することができる。速度はまた、ファイルのインスタンスなどの、オブジェクトの個別のインスタンスに関して測定することができる。例えば、ファイルコピー操作は、ファイルからのデータがコピーされる速度に関して及び/又は特定の時間期間にわたってコピーされるファイルのインスタンスの数に関して、測定することができる。
【0072】
[0085]速度間隔は、上記の計算間隔のうちの1つに対応する。少なくともいくつかの実施形態では、異なる速度間隔が、異なる操作状態に対して定義することができ、速度測定値をとることができる指定された時間間隔に対応することができる。例えば、開始状態についての速度間隔は、警告状態や正常状態についての速度間隔よりも短くすることができる。速度間隔は、ミリ秒、秒、(例えば、フレームレート及び/又はリフレッシュレートに関連して)フレームなどの、任意の適切な単位を用いて定義することができる。したがって、少なくともいくつかの実施形態では、複数の速度測定値を、定義された測定期間に従うなどして、速度間隔中に取ることができる。1つ又は複数の実施形態によれば、単一の速度測定がとられるように、ゼロ(0)の速度間隔を設定することができる。
【0073】
[0086]ステップ902は、速度パラメーターを速度測定値に適用して、パラメーター化された速度測定値を得る。一般に、速度パラメーターは、上述の計算パラメーターの実施例に対応する。したがって、少なくともいくつかの実施形態では、異なる操作状態は異なる速度パラメーターに関連付けることができる。
【0074】
[0087]上述のように、速度パラメーターは、全体の加重値を決定するために異なる値に異なる重みを適用する重み付け関数として実施することができる。例えば、上述のように、複数の速度測定値が速度間隔中に取り込まれるとする。重み付け関数は、操作の実際の速度を決定する際に測定値のうちのいくつかが他とは異なる重み付けをされるように、速度測定に適用することができる。
【0075】
[0088]例えば、速度間隔中に10個の速度測定値が取られるシナリオを考える。最初の5つの測定値が次の5つよりもより大きく重み付けされるように、重み付け関数を速度測定値に適用することができる。少なくともいくつかの実施形態では、これにより、全体の速度計算に対して過度に影響を及ぼすことから生じ得る操作速度の急上昇を防ぐことができる。このシナリオは、例示のみの目的のために提示されるものであり、様々な実施形態に従って、多種多様な異なる重み付け関数を適用することができる。
【0076】
[0089]速度パラメーターを適用することに関して、さらに、速度間隔中に取得された及び/又は重み付け関数に従って重み付けされた速度測定値は、パラメーター化された速度測定値を得るために平均化することができる。
【0077】
[0090]ステップ904は、パラメーター化された速度測定値及び残りの作業単位の量に基づいて、操作のための残り時間を推定する。例えば、残りの作業単位の量は、操作のための作業単位の合計から完了した作業単位の量の値を差し引くことによって決定することができる。残りの作業単位の量は、操作のための残り時間の推定量を得るために、上記の計算されたパラメーター化された速度測定値によって除算することができる。
【0078】
[0091]例えば、全体の作業単位が1000メガバイトであり、200メガバイトが完了しており、毎秒50メガバイトの速度が計算されるシナリオを考える。この状況では、推定される残り時間は16秒、すなわち、毎秒50メガバイトにおける800メガバイトであると決定される。
【0079】
[0092]次いで、推定された残り時間は様々な方法で出力することができ、その例は上述され又は以下で説明される。
[0093]上記の方法は、操作のための残り時間を推定するほんの1つだけの例示的な実施例を提供するものである。例えば、別の実施例において、本発明の実施形態は、操作のための残りの作業単位の量を単に決定して、それを現在の操作の速度で(例えば、個々の測定値として)割ることで、操作のための推定される残り時間を決定してもよい。代替的に又は加えて、上述の重み付け関数は必要に応じて省略されてもよく、その結果、推定される残り時間を計算するために、複数の速度測定値の単純平均が利用される。
【0080】
[0094]さらに、少なくともいくつかの実施形態は、平均値から一定量だけ変化する測定値(例えば、速度測定値)を除外するフィルターを使用してもよい。例えば、(上で詳述したような)速度間隔中に一群の速度測定値が取得される場合、測定値のうちの他のものから一定の割合だけ変化する測定値が、測定値を一緒に平均化して全体的な速度測定値を得る目的のために無視されてもよい。
【0081】
[0095]図10は、1つ又は複数の実施形態による方法におけるステップを説明する流れ図である。少なくともいくつかの実施形態によれば、方法は、図7のステップ710に関して説明したものなどの、推定される残り時間を出力する例示的な実施例を説明する。
【0082】
[0096]ステップ1000は、操作のための推定される残り時間を受け取る。例えば、残り時間は、本明細書で説明した技術を利用して推定することができる。ステップ1002は、更新タイマーが終了しているか否かを判定する。少なくともいくつかの実施形態では、操作のためにどのくらいの時間が残っているかに基づいて、異なる更新タイマーを使用することができる。例えば、更新タイマーは、様々な残り時間閾値に基づいて指定することができる。
【0083】
[0097]例えば、操作が完了するまでに1時間より多くの時間が残っている場合、1分の更新タイマーを指定することができる。操作の残り時間が1時間未満であるが10分より多い場合、30秒の更新タイマーを指定することができる。操作の残り時間が10分未満であるが1分より多い場合、15秒の更新タイマーを指定することができる。操作の残り時間が1分未満である場合、5秒の更新タイマーを指定することができる。これらの更新タイマーは、例示のみを目的として提示されるものであり、特許請求される実施例に従って、多種多様な異なるタイマーを実施することができる。
【0084】
[0098]更新タイマーが終了していない場合、ステップ1004は、操作のための残り時間を推定し続ける。例えば、上述の方法は、最新の残り時間の推定値を決定するために繰り返すことができる。
【0085】
[0099]更新タイマーが終了した場合(「はい」)、ステップ1006は、操作のための推定される残り時間の表示を出力する。出力は、視覚表示、可聴出力、及び/又は任意の他の適切な形態の出力を含むことができる。
【0086】
[00100]ステップ1008は、操作が完了したか否かを判定する。動作が完了している場合(「はい」)、ステップ1010は動作を終了する。操作が完了していない場合(「いいえ」)、処理はステップ1004に進み、操作のための残り時間を推定し続ける。様々な実施形態によれば、ステップ1004の実行により、図7のステップ700へ戻り、操作が完了するまで、より最近の残り時間の値を推定することができ、推定される残りの時間のしるしを出力することができる。
他の実施形態
[00101]本明細書で説明される実施形態は、上述したようなファイル操作やデータ操作以外の目的のために使用することができる。例えば、実施形態は、製品開発、構築、データ処理(例えば、タスクのコンパイル)、社会学的現象(例えば、集団移動)、製品出荷などの様々な他の種類のタスク及び/又は操作の完了までの値、進捗、及び時間を追跡するために利用することができる。したがって、本明細書において説明した実施形態によれば、完了時間を推定し、再推定することができる。
例示的なシステム及びデバイス
[00102]図11は、本明細書に記載される様々な技術を実施することができる1つ又は複数のコンピューティングシステム及び/又はデバイスを表す例示的なコンピューティングデバイス1202を含む例示的なシステムを1100において概して示す。例えば、図1に関連して上述したコンピューティングデバイス102は、コンピューティングデバイス1102として具体化することができる。コンピューティングデバイス1102は、例えば、サービスプロバイダーのサーバー、クライアントに関連付けられるデバイス(例えば、クライアントデバイス)、オンチップシステム、及び/又は任意の他の適切なコンピューティングデバイスもしくはコンピューティングシステムであってもよい。
【0087】
[00103]図示される例示的なコンピューティングデバイス1102は、互いに通信可能に接続される、処理システム1104、1つ又は複数のコンピューター読み取り可能な媒体1106、及び1つ又は複数の入出力(I/O)インターフェイス1108を含む。図示していないが、コンピューティングデバイス1102は、さらに、様々なコンポーネントを互いに結合するシステムバス又は他のデータ及びコマンド転送システムを含んでもよい。システムバスは、メモリーバスもしくはメモリーコントローラー、周辺バス、ユニバーサルシリアルバス、及び/又は様々なバスアーキテクチャーのうちの任意のものを利用するプロセッサーもしくはローカルバスなどの、様々なバス構造の任意の1つ又は組み合わせを含むことができる。制御線及びデータ線などの様々な他の例もまた考慮される。
【0088】
[00104]処理システム1104は、ハードウェアを使用して1つ又は複数の動作を実行する機能を表す。従って、処理システム1104は、プロセッサー、機能ブロックなどとして構成することができるハードウェアコンポーネント1110を含むものとして示される。これは、特定用途向け集積回路又は1つもしくは複数の半導体を用いて形成された他の論理デバイスとしてのハードウェアでの実施を含むことができる。ハードウェア要素1110は、それらが形成される材料や、それらの中で使用される処理機構によって限定されるものではない。例えば、プロセッサーは、半導体及び/又はトランジスター(例えば、電子集積回路(IC))で構成することができる。そのようなコンテキストでは、プロセッサー実行可能命令は電子的に実行可能な命令であってもよい。
【0089】
[00105]コンピューター読み取り可能な媒体1106は、メモリー/ストレージ1112を含むものとして示される。メモリー/ストレージ1112は、1つ又は複数のコンピューター読み取り可能な媒体に関連付けられるメモリー/ストレージ容量を表す。メモリー/ストレージ1112は、(ランダムアクセスメモリー(RAM))などの揮発性媒体及び/又は(リードオンリーメモリー(ROM)、フラッシュメモリー、光ディスク、磁気ディスクなどの)不揮発性媒体を含んでもよい。メモリー/ストレージ1112は、固定媒体(例えば、RAM、ROM、固定ハードドライブなど)のほか、取り外し可能な媒体(例えば、フラッシュメモリー、取り外し可能なハードドライブ、光ディスクなど)を含むことができる。コンピューター読み取り可能な媒体1106は、以下にさらに説明される様々な他の方法で構成することができる。
【0090】
[00106]入出力インターフェイス1108は、ユーザーがコンピューティングデバイス1102にコマンド及び情報を入力することを可能にし、また、様々な入出力デバイスを使用して情報をユーザー及び/又は他のコンポーネントやデバイスに提示することを可能にする機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロフォン(例えば、音声認識及び/又は音声入力用のもの)、スキャナー、タッチ機能(例えば、物理的接触を検出するように構成される容量センサー又は他のセンサー)、(例えば、タッチを含まない動きをジェスチャーとして検出するために可視波長や赤外線周波数などの非可視波長を使用することができる)カメラなどを含む。出力デバイスの例は、表示デバイス(例えば、モニター又はプロジェクター)、スピーカー、プリンター、ネットワークカード、触覚応答デバイスなどを含む。このように、コンピューティングデバイス1102は、ユーザーインタラクションをサポートするために、以下でさらに説明するような様々な方法で構成することができる。
【0091】
[00107]様々な技術が、ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的な文脈で本明細書において説明することができる。一般に、そのようなモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本明細書において使用されるとき、「モジュール」、「機能」、及び「コンポーネント」という用語は、ソフトウェア、ファームウェア、ハードウェア又はそれらの組み合わせを一般的に表す。本明細書に記載される技術の特徴はプラットフォームに依存しない。これは、本技術が、様々なプロセッサーを有する様々な市販のコンピューティングプラットフォーム上で実装できることを意味する。
【0092】
[00108]本明細書に記載されるモジュール及び技術の実施例は、何らかの形式のコンピューター読み取り可能な媒体上に格納されてもよいし、何らかの形式のコンピューター読み取り可能な媒体にわたって送信されてもよい。コンピューター読み取り可能な媒体は、コンピューティングデバイス1102によってアクセスすることができる様々な媒体を含み得る。限定ではなく例として、コンピューター読み取り可能な媒体は、「コンピューター読み取り可能な記憶媒体」及び「コンピューター読み取り可能な信号媒体」を含むことができる。
【0093】
[00109]「コンピューター読み取り可能な記憶媒体」とは、単なる信号伝送、搬送波又は信号自体とは対照的に、情報の永続的な記憶を可能にする媒体及び/又はデバイスを指すことができる。したがって、コンピューター読み取り可能な記憶媒体は信号そのものを含まない。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、論理素子/回路又は他のデータなどの情報を記憶するのに適した方法又は技術で実施される、揮発性及び不揮発性の、取り外し可能な及び取り外し不能な媒体及び/又はストレージデバイスなどのハードウェアを含む。コンピューター読み取り可能な記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリーもしくは他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、又は他のストレージデバイス、有形の媒体、又は所望の情報を格納するのに適しておりコンピューターによってアクセスすることができる製品を含み得るが、これらに限定されない。
【0094】
[00110]「コンピューター読み取り可能な信号媒体」とは、ネットワークを介するなどしてコンピューティングデバイス1102のハードウェアに命令を送るように構成される信号担持媒体を指すことができる。信号媒体は、通常、搬送波、データ信号又は他の搬送機構などの変調データ信号に、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを具現化することができる。信号媒体はまた、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号内に情報を符号化するように設定又は変更された1つ又は複数の特性を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、無線周波数(RF)、赤外線、及び他の無線媒体などの無線媒体を含む。
【0095】
[00111]前述したように、ハードウェア要素1110及びコンピューター読み取り可能な媒体1106は、本明細書に記載される技術の少なくともいくつかの態様を実施するためにいくつかの実施形態において使用することができる、ハードウェアの形態で実装される命令、モジュール、プログラム可能なデバイス論理回路及び/又は固定デバイス論理回路を表す。ハードウェア要素は、集積回路又はオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD)、及びシリコン又は他のハードウェアデバイスでの他の実施例のコンポーネントを含んでもよい。この文脈において、ハードウェア要素は、ハードウェア要素によって具現化される命令、モジュール及び/又は論理によって定義されるプログラムタスクを実行する処理デバイスとして、並びに、例えば前述のコンピューター読み取り可能な記憶媒体などの、実行のための命令を記憶するために使用されるハードウェアデバイスとして、動作してもよい。
【0096】
[00112]上記の組み合わせはまた、本明細書に記載される様々な技術及びモジュールを実施するために使用することができる。したがって、ソフトウェア、ハードウェア、又はプログラムモジュール及び他のプログラムモジュールは、何らかの形式のコンピューター読み取り可能な記憶媒体上で及び/又は1つもしくは複数のハードウェア要素1110によって具現化される1つもしくは複数の命令及び/又は論理として実施されてもよい。コンピューティングデバイス1102は、ソフトウェア及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実装するように構成されてもよい。従って、コンピューティングデバイス1102によって実行可能なモジュールをソフトウェアとして実装することは、例えば、コンピューター読み取り可能な記憶媒体及び/又は処理システムのハードウェア要素1110の使用により、ハードウェアで少なくとも部分的に達成することができる。命令及び/又は機能は、本明細書に記載の技術、モジュール及び実施例を実現するために、1つ又は複数の製品(例えば、1つ又は複数のコンピューティングデバイス1102及び/又は処理システム1104)によって実行可能/動作可能であってもよい。
【0097】
[00113]図11にさらに示すように、例示的なシステム1100は、パーソナルコンピューター(PC)、テレビジョンデバイス、及び/又はモバイルデバイス上でアプリケーションを実行するときにシームレスなユーザーエクスペリエンスのためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用したり、ビデオゲームをプレイしたり、ビデオを見たりしながらあるデバイスから次のデバイスへと移行するときの共通のユーザーエクスペリエンスのために、すべての環境において実質的に同様に実行される。
【0098】
[00114]例示的なシステム1100において、複数のデバイスが中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスに対してローカルであってもよいし、複数のデバイスから離れて配置されてもよい。1つの実施形態では、中央コンピューティングデバイスは、ネットワーク、インターネット又は他のデータ通信リンクを介して複数のデバイスに接続された1つ又は複数のサーバーコンピューターのクラウドであってもよい。
【0099】
[0115]1つの実施形態では、この相互接続アーキテクチャーは、複数のデバイスのユーザーに対して共通のシームレスなエクスペリエンスを提供するために、機能が複数のデバイス間で分配されることを可能にする。複数のデバイスの各々は異なる物理的要件及び能力を有していてもよく、中央コンピューティングデバイスは、デバイスに合わせて調整され且つそれでもなおすべてのデバイスに対して共通であるエクスペリエンスをデバイスに供給することを可能にするためのプラットフォームを使用する。1つの実施形態では、ターゲットデバイスのクラスが作成され、エクスペリエンスは全体的なデバイスのクラスに合わせられる。デバイスのクラスは、物理的特徴、使用の種類又はデバイスの他の共通の特性によって定義することができる。
【0100】
[00116]様々な実施例では、コンピューティングデバイス1102は、コンピューター1114、モバイル1116及びテレビ1118の用途のためなど、様々な異なる構成をとってもよい。これらの構成の各々は、一般に様々な構造及び能力を有することができるデバイスを含み、したがって、コンピューティングデバイス1102は、1つ又は複数の異なるデバイスクラスに従って構成することができる。例えば、コンピューティングデバイス1102は、パーソナルコンピューター、デスクトップコンピューター、マルチスクリーンコンピューター、ラップトップコンピューター、ネットブックなどを含むデバイスのコンピューター1114のクラスとして実施されてもよい。
【0101】
[00117]コンピューティングデバイス1102はまた、携帯電話、携帯音楽プレーヤー、携帯用ゲーム機、タブレットコンピューター、マルチスクリーンコンピューターなどのモバイルデバイスを含むデバイスのモバイル1116クラスとして実施することができる。コンピューティングデバイス1102はまた、カジュアルな視聴環境において一般に大画面を有するか又はそれに接続されるデバイスを含む、デバイスのテレビ1118クラスとして実施されてもよい。これらのデバイスは、テレビ、セットトップボックス、ゲーム機などを含む。
【0102】
[00118]本明細書に記載される技術は、コンピューティングデバイス1102のこれらの様々な構成によってサポートすることができ、本明細書に記載される技術の特定の例に限定されない。例えば、操作マネージャーモジュール108及び/又は推定モジュール110に関連して説明された機能は、以下に説明するようなプラットフォーム1122により「クラウド」1120を介するなど、分散型システムの使用を通じて全て又は一部を実施することができる。
【0103】
[00119]クラウド1120は、リソース1124のためのプラットフォーム1122を含み及び/又は表す。プラットフォーム1122は、クラウド1120のハードウェア(例えば、サーバー)リソース及びソフトウェアリソースの基本的な機能を抽象化するものである。リソース1124は、コンピューティングデバイス1102から離れたサーバー上でコンピューター処理が実行される間に利用することができるアプリケーション及び/又はデータを含んでもよい。リソース1124はまた、インターネットを介して及び/又はセルラーネットワークやWi−Fiネットワークなどの加入者ネットワークを介して提供されるサービスを含むことができる。
【0104】
[00120]プラットフォーム1122は、コンピューティングデバイス1102を他のコンピューティングデバイスと接続するためのリソース及び機能を抽象化してもよい。プラットフォーム1122はまた、プラットフォーム1122を介して実施されるリソース1124について直面する需要に対して対応するレベルのスケールを提供するために、リソースのスケーリングを抽象化するのに役立ち得る。したがって、相互接続されたデバイスの実施形態において、本明細書に記載された機能の実施がシステム1100の全体にわたって分散されてもよい。例えば、機能は、コンピューティングデバイス1102上で、及びクラウド1120の機能を抽象化するプラットフォーム1122を介して、部分的に実施されてもよい。
【0105】
[00121]本明細書に記載される技術を実行するように実施することができる多くの方法が説明された。方法の態様は、ハードウェア、ファームウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。方法は、1つ又は複数のデバイスによって実行される動作を特定するブロックの組として示され、それぞれのブロックによって動作を実行するために示された順序に必ずしも限定されない。さらに、特定の方法に関連して示された動作は、1つ又は複数の実施例に従って異なる方法の動作と組み合わせ及び/又は交換することができる。方法の態様は、環境100に関連して上述した様々なエンティティ間の相互作用を介して実現することができる。
まとめ
[00122]操作のための残り時間を推定する技術が説明された。実施形態は構造的特徴及び/又は方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲に規定される実施形態は説明された特定の特徴又は動作に必ずしも限定されるものではないことを理解すべきである。むしろ、特定の特徴及び動作は、特許請求される実施形態を実現する例示的形態として開示されるものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11