(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスのユーザに関連する情報に基づいて、前記ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを、コンピューティングシステムによって推測するステップと、
前記移動を完了するために前記ユーザが使用できる輸送サービスを、前記コンピューティングシステムによって選択するステップと、
前記移動を完了するための前記輸送サービスに関連する車両を要求すべき予測時刻を、前記コンピューティングシステムによって決定するステップであって、
前記予測時刻において送られる前記車両の要求は、前記車両に最終出発時刻までに前記将来の位置に到着させる可能性の程度がしきい値を満たすものであり、
前記最終出発時刻は、前記ユーザが、前記移動を完了し前記将来の時刻までに前記将来の目的地に到着するために、前記将来の位置からの走行を開始する必要があると予測される最も遅い時刻である、ステップと、
現在時刻が前記車両を要求すべき前記予測時刻のしきい値時間量内にあるという決定に応答して、前記移動を完了するための前記輸送サービスに関連する前記車両を求める予約要求を、前記コンピューティングシステムによって、前記輸送サービスに関連する予約システムに送るステップと、
前記予約要求が満たされ得ることを示す確認応答の、前記予約システムからの受信に応答して、前記車両が前記最終出発時刻までに前記将来の位置に到着するようにスケジュールされていることを前記ユーザに通知するための情報を、前記コンピューティングシステムによって前記コンピューティングデバイスに送るステップと
を備える方法。
【請求項２】
前記車両を要求すべき前記予測時刻を決定するステップが、
前記移動を完了するための前記輸送サービスに関連する推定移動継続時間を、前記コンピューティングシステムによって決定するステップと、
前記推定移動継続時間に基づいて、前記ユーザが、前記移動を完了し前記将来の時刻までに前記将来の目的地に到着するために、前記将来の位置からの走行を開始する必要があると予測される前記最も遅い時刻であるものとして、前記最終出発時刻を前記コンピューティングシステムによって決定するステップと、
前記最終出発時刻に基づいて、前記予約要求を送った後に前記車両が前記将来の位置に到着すると予測されるまでの推定予約遅延を、前記コンピューティングシステムによって決定するステップと、
少なくとも前記推定予約遅延だけ前記最終出発時刻よりも早いものとして、前記予測時刻を前記コンピューティングシステムによって決定するステップとを備える、
請求項1に記載の方法。
【請求項３】
前記車両を要求すべき前記予測時刻を決定するステップが、
前記予測時刻が、前記輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、前記時間期間を避けるように前記予測時刻を前記コンピューティングシステムによって調整するステップを備える、
請求項1または2のいずれか一項に記載の方法。
【請求項４】
前記予約要求が、前記移動を完了するために要求されるサービスの特定のクラスを指定し、前記方法が、
前記予測時刻が、前記輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、前記輸送サービスにとっての最低価格を取得するために、前記特定のクラスを前記コンピューティングシステムによって選択するステップをさらに備える、
請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記ユーザに関連する前記情報が、カレンダー情報、通信情報、センサー情報、および位置情報のうちの少なくとも1つを含むコンテキスト情報を備える、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記輸送サービスが最小コストサービスであるという決定に応答して、前記移動を完了するために前記ユーザが使用できる1つまたは複数の利用可能なサービスの中から前記輸送サービスが選択される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記将来の時刻、前記最終出発時刻、または前記車両に前記最終出発時刻までに前記将来の位置に到着させる前記可能性の程度のうちの、少なくとも1つに対する変化の検出に応答して、前記予測時刻を前記コンピューティングデバイスによって更新するステップ
をさらに備える、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記ユーザが前記移動を行うつもりであることを確認する表示を前記コンピューティングシステムが前記コンピューティングデバイスから受信することに応答して、前記予約要求がさらに送られる、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記ユーザが前記移動を行うつもりであることを確認する前記表示が、前記コンピューティングデバイスが前記将来の位置のしきい値距離内にあることを示す位置情報を備える、請求項8に記載の方法。
【請求項１０】
前記予約要求を送る前に、前記ユーザが前記移動を行うつもりであることを確認する要求を、前記コンピューティングシステムによって前記コンピューティングデバイスに送るステップをさらに備え、
前記ユーザが前記移動を行うつもりであることを確認する前記表示が、前記要求に応答して前記コンピューティングデバイスから受信される確認応答を備える、
請求項8または9のいずれか一項に記載の方法。
【請求項１１】
最終目的地位置が、前記将来の位置から最小距離しきい値よりも遠く最大距離しきい値よりも近いという決定に応答して、前記輸送サービスが選択され、
前記最小距離しきい値が、前記ユーザが通常はイベントまで歩く第1の最大距離に少なくとも部分的に基づいて決定され、
前記最大距離しきい値が、前記ユーザが通常はイベントまで車に乗って行く第2の最大距離に少なくとも部分的に基づいて決定される、
請求項1から10のいずれか一項に記載の方法。
【請求項１２】
少なくとも1つのプロセッサと、
少なくとも1つのモジュールと
を備えるコンピューティングシステムであって、前記少なくとも1つのモジュールが、前記少なくとも1つのプロセッサによって、
コンピューティングデバイスのユーザに関連する情報に基づいて、前記ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測することと、
前記移動を完了するために前記ユーザが使用できる輸送サービスを選択することと、
前記移動を完了するための前記輸送サービスに関連する車両を要求すべき予測時刻を決定することであって、
前記予測時刻において送られる前記車両の要求は、前記車両に最終出発時刻までに前記将来の位置に到着させる可能性の程度がしきい値を満たすものであり、
前記最終出発時刻は、前記ユーザが、前記移動を完了し前記将来の時刻までに前記将来の目的地に到着するために、前記将来の位置からの走行を開始する必要があると予測される最も遅い時刻であることと、
現在時刻が前記車両を要求すべき前記予測時刻のしきい値時間量内にあるという決定に応答して、前記移動を完了するための前記輸送サービスに関連する前記車両を求める予約要求を、前記輸送サービスに関連する予約システムに送ることと、
前記予約要求が満たされ得ることを示す確認応答の、前記予約システムからの受信に応答して、前記車両が前記最終出発時刻までに前記将来の位置に到着するようにスケジュールされていることを前記ユーザに通知するための情報を、前記コンピューティングデバイスに送ることとを行うように動作可能である、
コンピューティングシステム。
【請求項１３】
前記少なくとも1つのモジュールが、前記少なくとも1つのプロセッサによって、
前記ユーザが前記移動を行うつもりであることを確認する第1の表示を前記コンピューティングデバイスから受信することに応答して、前記予約要求を送り、
前記ユーザが前記移動を行うつもりでないことを確認する第2の表示を前記コンピューティングデバイスから受信することに応答して、前記予約要求を送ることを控えるようにさらに動作可能である、
請求項12に記載のコンピューティングシステム。
【請求項１４】
請求項1から11に記載の方法のいずれか1つを実行するための手段を備えるコンピューティングシステム。
【請求項１５】
実行されたとき、コンピューティングシステムの少なくとも1つのプロセッサに、請求項1から11に記載の方法のいずれか1つを実行させる命令を備えるコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティングデバイスのユーザは、オンデマンド輸送サービス(たとえば、オンラインタクシーサービス)と対話して、位置間で走行するための早急な輸送を手配し得る。たとえば、コンピューティングデバイスは、ユーザが空港に向かうべき時間にカレンダー警報を生成し得る。警報に応答して、ユーザは、コンピューティングデバイスにおいて実行するアプリケーションと対話して、現在位置から空港まで走行するための車を予約し得る。しばらく待った後に、車がピックアップ位置に到着し得、アプリケーションは、車がピックアップ位置において待機中であることをユーザに通知する通知を、コンピューティングデバイスに出力させ得る。
【０００２】
オンデマンド輸送サービスは、いくらかの利便性(たとえば、価格、スケジューリングフレキシビリティなど)を与えるが、ユーザは、サービスに関連する車両が時間通りにピックアップ位置に到着するとともにそこから出発することを確実にするように、やはり適時にオンデマンド輸送サービスと忘れずに対話する必要がある。しばしば、交通量および他の不測の事情に応じて、車両は実際にピックアップ位置に到着するまでに遅れることがある。ユーザが直ちに(たとえば、その人が輸送サービスを予約した時刻に)出発する必要があるならば、追加の遅延はユーザが時間通りに最終目的地に到着することを妨げることがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
一例では、本開示は、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを、コンピューティングシステムによって推測するステップと、移動を完了するためにユーザが使用できる輸送サービスを、コンピューティングシステムによって選択するステップと、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を、コンピューティングシステムによって決定するステップとを含む方法を対象とする。予測時刻において送られる車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻である。方法は、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、コンピューティングシステムによって、輸送サービスに関連する予約システムに送るステップと、予約要求が満たされ得ることを示す確認応答の、予約システムからのコンピューティングシステムによる受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングシステムによってコンピューティングデバイスに送るステップとをさらに含む。
【０００４】
別の例では、本開示は、少なくとも1つのプロセッサと、少なくとも1つのモジュールとを含むコンピューティングシステムを対象とし、少なくとも1つのモジュールは、少なくとも1つのプロセッサによって、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測し、移動を完了するためにユーザが使用できる輸送サービスを選択し、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定するように動作可能である。予測時刻において送られる車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻である。少なくとも1つのモジュールは、少なくとも1つのプロセッサによって、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、輸送サービスに関連する予約システムに送り、予約要求が満たされ得ることを示す確認応答の、予約システムからの受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイスに送るように、さらに動作可能である。
【０００５】
別の例では、本開示は、命令を含むコンピュータ可読記憶媒体を対象とし、命令は、実行されたとき、コンピューティングシステムの少なくとも1つのプロセッサに、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測させ、移動を完了するためにユーザが使用できる輸送サービスを選択させ、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定させる。予測時刻において送られる車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻である。命令は、実行されたとき、さらにコンピューティングシステムの少なくとも1つのプロセッサに、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、輸送サービスに関連する予約システムに送らせ、予約要求が満たされ得ることを示す確認応答の、予約システムからの受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイスに送らせる。
【０００６】
1つまたは複数の例の詳細が、添付図面および以下の説明に記載される。本開示の他の特徴、目的、および利点は、説明および図面ならびに特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【０００７】
【図１】本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するための例示的なシステムを示す概念図である。
【図２】本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するように構成された例示的なコンピューティングシステムを示すブロック図である。
【図３】本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するように構成された、例示的なコンピューティングシステムによって実行される例示的な動作を示すフローチャートである。
【図４】本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するように構成された、例示的なコンピューティングシステムによって実行される例示的な動作を示すフローチャートである。
【図５】本開示の1つまたは複数の態様による、輸送サービスに関連する車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を受信するように構成された、例示的なコンピューティングデバイスによって実行される例示的な動作を示すフローチャートである。
【図６Ａ】本開示の1つまたは複数の態様による、輸送サービスに関連する車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を受信するように構成されている、例示的なコンピューティングデバイスによって提示される例示的なグラフィカルユーザインターフェースを示す概念図である。
【図６Ｂ】本開示の1つまたは複数の態様による、輸送サービスに関連する車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を受信するように構成されている、例示的なコンピューティングデバイスによって提示される例示的なグラフィカルユーザインターフェースを示す概念図である。
【発明を実施するための形態】
【０００８】
概して、本開示の技法は、位置間で走行するための「オンデマンド輸送サービス」(または、略して単に「輸送サービス」)をユーザがいつ必要とし得るのかを、コンピューティングシステムが(たとえば、コンピューティングデバイスのユーザのカレンダー情報、通信情報、および他の情報に基づいて)推測することを可能にし得る。オンデマンド輸送サービスの例は、商業的所有なのか、私的所有なのか、公的所有なのか、政府所有なのか、軍事的所有なのか、それとも任意の他の機関によって所有および/または編成されるのかにかかわらず、車両(たとえば、自動車、鉄道車両、地下鉄車両、路面電車、トロリ、バス、タクシー、シャトル、モノレール、飛行機、フェリー、ボート、船、水上タクシー、自動運転車、または任意の他のタイプの輸送車両)を使用して、ある地理的位置から別の地理的位置に1人または複数の乗客を運ぶための個々の要求に対応する、任意の輸送サービスを含む。本明細書で使用する「オンデマンド輸送サービス」および「輸送サービス」という用語は、ユーザが選ぶ特定の時間において、ユーザの現在位置からユーザをピックアップし、ユーザが選ぶ特定の位置までユーザを連れて行くタイプの輸送サービスを指す。言い換えれば、通常はユーザが、座席を事前手配または予約し、専用の停留所、駅、または輸送サービスに関連する他の場所まで移動して、あらかじめスケジュールされた出発時刻に輸送サービスの車両を迎えることを必要とする、他のタイプの輸送サービスとは異なり、オンデマンド輸送サービスは、特定の場所において、しばしば早急に、またはユーザによって選ばれた特定の時刻において、車両をユーザに提供する。たとえば、車両は、ユーザが選ぶ場所および時刻においてユーザをピックアップし、その人を目的地まで連れて行く、(たとえば、コンピュータまたは機械によって運転される)自動運転車であってよい。
【０００９】
いくつかの例では、コンピューティングシステムは、車両が時間通りにピックアップ位置に到着し、すぐにユーザを最終目的地まで連れて行くことができる機会を増やすように、輸送サービスに関与するとともに位置間で走行するための輸送サービスに関連する車両を要求すべき、最良の時刻を予測し得る。予測時刻において、コンピューティングシステムは、輸送サービスに関連する予約システムと自動的に通信し得、ユーザに代わって輸送サービスを予約し得る。いくつかの例では、システムは、コンピューティングデバイスの移動情報および/または位置情報に基づいて、ユーザが依然として最終目的地まで移動するつもりであるのかどうか、かつそれに応じて輸送サービスを予約すべきかそれとも予約するのを控えるべきかを決定し得る。いくつかの例では、コンピューティングシステムは、ユーザについての情報および/または周囲のコンテキストが変化するにつれて、予測時刻を調整し得る。いずれの場合も、コンピューティングシステムは、ユーザに代わって手配された車両をいつ、どこで迎えるべきかをユーザに警報するための情報を、コンピューティングデバイスに送り得る。
【００１０】
本開示全体にわたって、コンピューティングデバイスが、情報を分析するためにコンピューティングデバイスのユーザから承認を受け取る場合のみ、コンピューティングデバイスおよび/またはコンピューティングシステムが、コンピューティングデバイスおよびコンピューティングデバイスのユーザに関連する情報(たとえば、コンテキスト、場所、速度、検索クエリなど)を分析する例が、説明される。たとえば、以下で説明する状況において、コンピューティングデバイスまたはコンピューティングシステムが、ユーザに関連する情報を収集できるかまたはそれを利用し得る前に、コンピューティングデバイスおよび/またはコンピューティングシステムのプログラムまたは機能が、ユーザ情報(たとえば、ユーザの現在位置、現在の速度などについての情報)を収集でき、それを利用し得るかどうかを制御するための、あるいはデバイスおよび/またはシステムが、ユーザに関連し得るコンテンツを受信し得るかどうか、かつ/またはどのように受信し得るのかを規定するための、入力を提供するための機会がユーザに与えられ得る。加えて、いくつかのデータは、コンピューティングデバイスおよび/またはコンピューティングシステムによって記憶または使用される前に、個人特定可能情報が除去されるように1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、個人特定可能情報がユーザについて決定され得ないように扱われてよく、またはユーザの地理的位置は、ユーザの特定の位置が決定され得ないように位置情報が取得される所(市レベル、郵便番号レベル、または州レベルなどの)に一般化されてよい。したがって、ユーザは、どのように情報がユーザについて収集されコンピューティングデバイスおよびコンピューティングシステムによって使用されるのかを制御し得る。
【００１１】
図1は、本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求すべき時刻を予測するための例示的なシステムとしてシステム100を示す概念図である。システム100は、ネットワーク130を経由して輸送サーバシステム(「TSS」)180およびコンピューティングデバイス110と通信している情報サーバシステム(「ISS」)160を含む。ISS160は、コンピューティングデバイス110のユーザがいつ輸送サービスの車両を要求する必要がありそうかを予測し得、ユーザがそれを必要とする時刻および場所に妥当な車両を招来する可能性が高いとISS160が予測する時刻において、TSS180を通じて車両を要求し得る。車両を要求した後、ISS160は、車両がスケジュールされていること、進行中であること、および/またはユーザを最終目的地まで連れて行くための位置に到着していることをユーザに警報するための情報を、コンピューティングデバイス110に出力し得る。
【００１２】
ネットワーク130は、コンピューティングシステム、サーバ、およびコンピューティングデバイスの間でデータを送信するための、任意の公衆通信ネットワークまたはプライベート通信ネットワーク、たとえば、セルラー、Wi-Fi、および/または他のタイプのネットワークを表す。ネットワーク130は、動作可能に相互結合されており、それによって、ISS160、TSS180、およびコンピューティングデバイス110の間で情報の交換を行う、1つまたは複数のネットワークハブ、ネットワークスイッチ、ネットワークルータ、または任意の他のネットワーク機器を含み得る。コンピューティングデバイス110、TSS180、およびISS160は、任意の好適な通信技法を使用してネットワーク130を越えてデータを送信および受信し得る。
【００１３】
ISS160、TSS180、およびコンピューティングデバイス110は各々、それぞれのネットワークリンクを使用してネットワーク130に動作可能に結合され得る。コンピューティングデバイス110、TSS180、およびISS160をネットワーク130に結合するリンクは、イーサネット(登録商標)、ATM、または他のタイプのネットワーク接続であってよく、そのような接続は、ワイヤレス接続および/または有線接続であってよい。
【００１４】
コンピューティングデバイス110は、個々のモバイルまたは非モバイルのコンピューティングデバイスを表す。コンピューティングデバイス110の例は、モバイルフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、メインフレーム、セットトップボックス、テレビジョン、装着型デバイス(たとえば、コンピュータ化ウォッチ、コンピュータ化アイウェア、コンピュータ化グローブなど)、ホームオートメーションデバイスもしくはシステム(たとえば、インテリジェントサーモスタットまたはホームアシスタント)、携帯情報端末(PDA)、ポータブルゲーミングシステム、メディアプレーヤ、電子ブックリーダー、モバイルテレビジョンプラットフォーム、自動車ナビゲーションおよびエンターテインメントシステム、またはネットワーク130などのネットワークを経由して情報を受信するように構成された任意の他のタイプのモバイル、非モバイル、装着型、および非装着型のコンピューティングデバイスを含む。
【００１５】
コンピューティングデバイス110は、ユーザインターフェースデバイス(UID)112およびユーザインターフェース(UI)モジュール120を含む。加えて、コンピューティングデバイス110は、通知モジュール122を含む。モジュール120〜122は、それぞれのコンピューティングデバイス110の中に存在し、かつ/またはそれぞれのコンピューティングデバイス110において実行する、ソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの組合せを使用して、説明する動作を実行し得る。コンピューティングデバイス110は、複数のプロセッサまたは複数のデバイスを用いてモジュール120〜122を実行し得る。コンピューティングデバイス110は、その下にあるハードウェア上で実行する仮想機械としてモジュール120〜122を実行してよい。モジュール120〜122は、オペレーティングシステムまたはコンピューティングプラットフォームの1つまたは複数のサービスとして実行してよい。モジュール120〜122は、コンピューティングプラットフォームのアプリケーションレイヤにおける1つまたは複数の実行可能プログラムとして実行してよい。
【００１６】
コンピューティングデバイス110のUID112は、コンピューティングデバイス110用の入力デバイスおよび/または出力デバイスとして機能し得る。UID112は、様々な技術を使用して実装され得る。たとえば、UID112は、抵抗性タッチスクリーン、表面弾性波タッチスクリーン、静電容量性タッチスクリーン、投影型静電容量タッチスクリーン、圧力敏感スクリーン、音響パルス認識タッチスクリーン、または別の存在敏感ディスプレイ技術などの、存在敏感入力スクリーンを使用して、入力デバイスとして機能し得る。加えて、UID112は、マイクロフォン技術、赤外線センサー技術、またはユーザ入力を受信する際に使用するための他の入力デバイス技術を含んでよい。
【００１７】
UID112は、液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、e-ink、または視認できる情報をコンピューティングデバイス110のユーザに出力することが可能な類似のモノクロディスプレイもしくはカラーディスプレイなどの、任意の1つまたは複数のディスプレイデバイスを使用して、出力(たとえば、ディスプレイ)デバイスとして機能し得る。加えて、UID112は、スピーカー技術、ハプティックフィードバック技術、または情報をユーザに出力する際に使用するための他の出力デバイス技術を含んでよい。
【００１８】
UID112は各々、コンピューティングデバイス110のユーザから触覚入力を受け取り得る、それぞれの存在敏感ディスプレイを含み得る。UID112は、ユーザからの1つまたは複数のジェスチャー(たとえば、ユーザが指またはスタイラスペンを用いてUID112の1つまたは複数の位置をタッチまたはポイントすること)を検出することによって、触覚入力の表示を受信し得る。UID112は、たとえば、それぞれの存在敏感ディスプレイにおいて、出力をユーザに提示し得る。UID112は、コンピューティングデバイス110によって提供される機能性に関連し得るグラフィカルユーザインターフェース(たとえば、ユーザインターフェース114)として、出力を提示し得る。たとえば、UID112は、照会モジュール122、あるいはコンピューティングデバイス110において実行し、またはコンピューティングデバイス110からアクセス可能な、コンピューティングプラットフォーム、オペレーティングシステム、アプリケーション、および/またはサービスの他の機能(たとえば、電子メッセージアプリケーション、インターネットブラウザアプリケーション、モバイルまたはデスクトップオペレーティングシステムなど)によって提供される、検索機能に関係する様々なユーザインターフェース(たとえば、ユーザインターフェース114)を提示し得る。
【００１９】
UIモジュール120は、UID112およびコンピューティングデバイス110の他の構成要素とのユーザ対話を管理し得る。コンピューティングデバイス110のユーザがUID112において出力を閲覧し、かつ/または入力を与えるとき、UIモジュール120は、表示用のユーザインターフェース114(または、他の例示的なユーザインターフェース)などのユーザインターフェースをUID112に出力させ得る。異なる時間において、かつユーザおよびコンピューティングデバイス110が異なる位置にあるとき、UIモジュール120およびUID112は、ユーザがユーザインターフェースと対話するとき、ユーザからの入力の1つまたは複数の表示を受信し得る。UIモジュール120およびUID112は、UID112において検出された入力を解釈し得、UID112において検出された入力についての情報を、たとえば、コンピューティングデバイス110に機能を実行させるために、コンピューティングデバイス110において実行する1つまたは複数の関連するプラットフォーム、オペレーティングシステム、アプリケーション、および/またはサービスに中継し得る。
【００２０】
UIモジュール120は、コンピューティングデバイス110、ならびに/あるいはISS160および/またはTSS180などの1つまたは複数のリモートコンピューティングシステムにおいて実行する、1つまたは複数の関連するプラットフォーム、オペレーティングシステム、アプリケーション、および/またはサービスから、情報および命令を受信し得る。加えて、UIモジュール120は、コンピューティングデバイス110を用いて出力(たとえば、グラフィックス、ライトのフラッシュ、音、触覚応答など)を生み出すために、コンピューティングデバイス110において実行する1つまたは複数の関連するプラットフォーム、オペレーティングシステム、アプリケーション、および/またはサービスと、コンピューティングデバイス110の様々な出力デバイス(たとえば、スピーカー、LEDインジケータ、オーディオデバイス、または静電触覚出力デバイスなど)との間の媒介として働き得る。
【００２１】
図1の例では、ユーザインターフェース114は、ISS160によって提供されコンピューティングデバイス110によってアクセスされる予測サービスに関連するグラフィカルユーザインターフェースである。以下で詳細に説明するように、ユーザインターフェース114は、グラフィカル情報(たとえば、テキスト、画像など)を含み、グラフィカル情報は、コンピューティングデバイス110のユーザが、ISS160がユーザに代わって要求している車両についてユーザに警報するために必要とし得るとISS160が予測する情報を表す。ユーザインターフェース114は、コンピューティングデバイス110のユーザが、ISS160がユーザに代わって要求している車両についてユーザに警報するために必要とし得ると予測される情報の視覚的記述などの、様々な他のタイプのグラフィカル表示を含み得る。UIモジュール120は、UIモジュール120がISS160からネットワーク130を経由して受信するデータに基づいて、ユーザインターフェース114をUID112に出力させ得る。UIモジュール120は、UID112におけるユーザインターフェース114内でグラフィカル情報を提示するために、ユーザインターフェース114を提示するためのグラフィカル情報(たとえば、テキストデータ、画像データなど)を、ISS160からの入力としてISS160からの命令と一緒に受信し得る。
【００２２】
通知モジュール122は、コンピューティングデバイス110のための通知管理関連の機能を実行する。通知モジュール122は、コンピューティングデバイス110において実行するアプリケーションおよびサービスから情報(たとえば、通知データ)を、ならびにISS160から通知関連のデータを受信し得、それに応答して、UID112における提示のために情報の表示をUIモジュール120に出力し得る。通知モジュール120は、ISS160によって提供されコンピューティングデバイス110によってアクセスされる予測サービスから、通知データを受信し得る。予測サービスは、TSS180に紐付けられている輸送サービスに関連する、ISS160がユーザに代わって要求している車両についてコンピューティングデバイス110のユーザに警報するための情報を含む通知データを、通知モジュール122に送り得る。通知モジュール120は、ISS160から受信された車両情報をフォーマットし得、UID112における(たとえば、ユーザインターフェース114としての)提示のために、フォーマットされた車両情報の表示を(たとえば、テキストおよび/またはグラフィカル画像として)UIモジュール120に出力し得る。
【００２３】
本開示全体にわたって使用する「通知データ」という用語は、コンピューティングデバイス110などの1つまたは複数のコンピューティングデバイスにおける実行環境内で実行する様々なプラットフォーム、アプリケーション、およびサービスに関連するイベントの発生を示し得る、様々なタイプの情報を表すために使用される。たとえば、通知データは、限定はしないが、コンピューティングデバイスに関連するメッセージングアカウントによる通信メッセージ(たとえば、電子メール、インスタントメッセージ、SMSなど)の受信、コンピューティングデバイス110に関連するソーシャルネットワーキングアカウントによる情報の受信、コンピュータデバイス110のカレンダーアカウントに関連するカレンダーイベント(会議、アポイントメントなど)のリマインダ、コンピューティングデバイス110において実行するサードパーティアプリケーションによって生成および/または受信される情報、コンピューティングデバイス110において実行するプラットフォーム、アプリケーション、および/またはサービスの2つ以上の構成要素の間での構成要素間通信の送信および/または受信などの、イベントを指定する情報を含み得る。上記で説明した様々なイベントなどの特定のイベントについての情報を含むことに加えて、通知データは、通知データの様々な特性を指定し通知データ内に埋め込まれた様々な属性またはパラメータを含み得る。たとえば、通知データは、通知データの起点(たとえば、通知データを生成したプラットフォーム、アプリケーション、および/またはサービス)を指定するデータの一部分(たとえば、ビット、メタデータ、フィールドなど)、優先度レベル、通知データに関連する警報を出力すべき時刻、または他の特性を含み得る。
【００２４】
ISS160およびTSS180は、ネットワーク130などのネットワークとの間での情報の送信と受信の両方が可能な、1つまたは複数のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、クラウドコンピューティングシステムなどの、任意の好適なリモートコンピューティングシステムを表す。ISS160は、コンピューティングデバイス110のユーザがいつ輸送サービスに関連する車両を必要とし得るのかを予測するための予測システムをホストし(または、少なくともそこへのアクセスを提供し)、TSS180は、ISS160がユーザに代わってそこから車両を予約できる、輸送サービスに関連する予約システムをホストする(または、少なくともそこへのアクセスを提供する)。
【００２５】
コンピューティングデバイス110は、ネットワーク130を経由してISS160と通信して、ISS160によって提供される予測システムにアクセスし得、そうする際に、TSS180によって提供される予約システムに間接的にアクセスし得る。いくつかの例では、コンピューティングデバイス110は、ネットワーク130を経由してTSS180と通信して、TSS180によって提供される予約システムに直接アクセスし得る。いくつかの例では、ISS160および/またはTSS180は、クラウドを経由してアクセス可能なサービスとして予測システムおよび予約システムへのアクセスを提供する、クラウドコンピューティングシステムを表す。
【００２６】
図1の例では、TSS180は予約モジュール182を含み、予約モジュール182は、輸送サービスに関連する車両を要求および予約するために、TSS180が、ISS160、コンピューティングデバイス110、およびネットワーク130に接続された他のコンピューティングデバイスにとってアクセス可能にさせる予約サービスに関係する動作を実行する。モジュール182は、TSS180の中に存在し、かつ/またはTSS180において実行する、ソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの組合せを使用して、説明する動作を実行し得る。TSS180は、その下にあるハードウェア上で実行する仮想機械として、かつ/またはオペレーティングシステムもしくはコンピューティングプラットフォームの1つもしくは複数のサービスとして、複数のプロセッサ、複数のデバイスを用いてモジュール182を実行し得る。いくつかの例では、モジュール182は、TSS180上で実行中のコンピューティングプラットフォームのアプリケーションレイヤにおける1つまたは複数の実行可能プログラムとして実行し得る。
【００２７】
モジュール182は、ステータス更新をスケジュールし、ステータス更新を行うとともに、輸送サービスに関連する他の情報に対処するための、動作を実行し得る。たとえば、TSS180は、オンデマンド輸送サービスに関連する車両を求める要求を、ネットワーク130を経由して受信し得る。要求は、ユーザを最終目的地まで連れて行くために車両がコンピューティングデバイス110のユーザをピックアップすべき、ピックアップ位置およびピックアップ時刻を指定し得る。要求に応答して、TSS180は、要求されたピックアップ時刻およびピックアップ位置を輸送サービスに関連する運転手に通知するために、たとえば、ジョブボード(job-board)に要求を入力すること、または輸送サービスに関連するいくつかの他のスケジューリングシステムと対話することによって、車両をスケジュールし得る。TSS180は、要求された時刻において車両がピックアップ位置にいることができるという決定に応答して、予約要求が満たされ得ることを示す確認応答をネットワーク130を経由して送ることによって、要求に応答し得る。
【００２８】
図1の例では、ISS160は、コンテキストモジュール162および予測モジュール164を含む。一緒に、モジュール162および164は、コンピューティングデバイス110のユーザが、輸送サービスに関連する車両をいつ必要とし得るのかを予測するために、コンピューティングデバイス110、およびネットワーク130に接続された他のコンピューティングデバイスがアクセス可能な、予測サービスを提供する。モジュール162および164は、ISS160の中に存在し、かつ/またはISS160において実行する、ソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの組合せを使用して、説明する動作を実行し得る。ISS160は、その下にあるハードウェア上で実行する仮想機械として、またはオペレーティングシステムもしくはコンピューティングプラットフォームの1つもしくは複数のサービスとして、複数のプロセッサ、複数のデバイスを用いてモジュール162および164を実行し得る。いくつかの例では、モジュール162および164は、ISS160のコンピューティングプラットフォームのアプリケーションレイヤにおける1つまたは複数の実行可能プログラムとして実行し得る。
【００２９】
ISS160のコンテキストモジュール162は、コンピューティングデバイス110に関連するコンテキスト情報を処理および分析して、コンピューティングデバイス110のコンテキストを規定し得る。コンピューティングデバイス110のコンテキストは、コンピューティングデバイス110のユーザ、ならびに様々な場所および時間におけるその人の物理的環境および/または仮想的環境に関連する、1つまたは複数の特性を指定し得る。たとえば、コンテキストモジュール162は、特定の時間におけるコンピューティングデバイス110に関連する物理的位置を、その特定の時間からのコンピューティングデバイス110に関連するコンテキスト情報に基づいて、コンピューティングデバイス110のコンテキストの一部として決定し得る。コンテキスト情報が(たとえば、時間による移動を示すセンサー情報に基づいて)変化するとき、コンテキストモジュール162は、コンピューティングデバイス110の決定されたコンテキストにおける物理的位置を更新し得る。
【００３０】
特定の位置および/または時間に対するコンピューティングデバイスのコンテキストを規定する情報のタイプは、列挙するには数が多すぎる。いくつかの例として、コンピューティングデバイスのコンテキストは、様々な場所および時間における、位置、移動軌跡、方向、速度、施設の名称、ストリートアドレス、場所のタイプ、建物、気象条件、および交通条件を指定し得る。コンピューティングデバイスのコンテキストは、様々な場所および時間に関連する会議またはイベントを規定するカレンダー情報、様々な場所および時間において閲覧されたウェブページアドレス、様々な場所および時間において閲覧されたウェブページのデータフィールドの中で行われたテキストエントリ(たとえば、検索履歴またはブラウジング履歴)、ならびに様々な場所および時間に関連する他のアプリケーション使用データをさらに含んでよい。コンピューティングデバイスのコンテキストは、様々な場所および時間においてコンピューティングデバイスによってアクセスされたオーディオストリームおよび/またはビデオストリームについての情報、様々な場所および時間においてコンピューティングデバイスによってアクセスされたテレビ放送またはケーブル放送/衛星放送、ならびに様々な場所および時間においてコンピューティングデバイスによってアクセスされた他のサービスについての情報をさらに含んでよい。
【００３１】
本開示全体にわたって使用する「コンテキスト情報」という用語は、特定の時間においてコンピューティングデバイスのユーザによって行われている1つまたは複数の観察できる物理的または仮想的なアクションに加えて、コンピューティングデバイスおよび/またはコンピューティングデバイスのユーザに関連する1つまたは複数の物理的かつ/または仮想的な環境特性を規定するために、ISS160およびコンピューティングデバイス110などのコンピューティングシステムおよび/またはコンピューティングデバイスによって使用され得る情報を表すために使用される。言い換えれば、コンテキスト情報とは、特定の時間において特定の位置に対してユーザが経験している仮想的かつ/または物理的な出来事を形成する環境を示す「ユーザコンテキスト」を決定するために、コンピューティングデバイスおよび/またはコンピューティングシステムによって使用され得る任意のデータを表す。コンテキスト情報の例は、過去、現在、および将来の物理的位置、移動の程度、移動に関連する変化の大きさ、気象条件、交通条件、旅行のパターン、移動のパターン、アプリケーション使用、カレンダー情報、購入履歴、インターネットブラウジング履歴などを含む。いくつかの例では、コンテキスト情報は、コンピューティングデバイス110などのコンピューティングデバイスの1つまたは複数のセンサー(たとえば、ジャイロスコープ、加速度計、近接度センサー)によって取得されたセンサー情報、コンピューティングデバイスの1つまたは複数の通信ユニットおよび/または無線(たとえば、全地球測位システム(GPS)、セルラー、Wi-Fi)から取得された無線送信情報、コンピューティングデバイスの1つまたは複数の入力デバイス(たとえば、カメラ、マイクロフォン、キーボード、タッチパッド、マウス)によって取得された情報、ならびにネットワーク/デバイス識別子情報(たとえば、ネットワーク名、デバイスインターネットプロトコルアドレス)を含み得る。いくつかの例では、コンテキスト情報は、電子メールメッセージ、テキストメッセージ、音声メールメッセージ、または音声会話から導出された情報などの通信情報、カレンダーエントリ、タスクリスト、ソーシャルメディアネットワーク関連の情報、およびユーザコンテキストの決定をサポートできる、ユーザまたはコンピューティングデバイスについての任意の他の情報を含み得る。
【００３２】
コンテキストモジュール162は、コンピューティングデバイス110のユーザに関連する過去および将来のコンテキスト履歴を保守し得る。コンテキストモジュール162は、過去において様々な場所および時間におけるコンピューティングデバイス110の以前のコンテキストをカタログ化および記録し得、以前に記録されたコンテキストから、様々な将来の場所および将来の時刻におけるコンピューティングデバイス110の将来のコンテキストを企画または推測し得る。コンテキストモジュール162は、コンピューティングデバイス110のユーザに関連する将来のコンテキスト履歴を構築するために、将来の日および将来の時刻を、前の日および時刻の、繰り返し発生するコンテキストに関連付け得る。
【００３３】
たとえば、ユーザは、仕事の場所と自宅の場所との間の典型的な経路に沿って移動するので、コンピューティングデバイス110の過去のコンテキスト履歴に含まれる情報は、ユーザの典型的な週間労働時間中のユーザの位置を示し得る。過去のコンテキスト履歴に基づいて、コンテキストモジュール162は、過去のコンテキスト履歴に記録された実際の位置を反映する、将来の週間労働時間中のユーザの予想位置を示す情報を含む将来のコンテキスト履歴を生成し得る。加えて、コンテキストモジュール162は、コンテキスト履歴の中に追加の情報、たとえば、ユーザが通常は、異なる位置からどのくらい遠くへ行くために歩き、異なる位置の間でどのくらい遠くへ車に乗って行くのかについての情報を含み得る。言い換えれば、情報は、ユーザの、好ましい運転距離にまさる、好ましい歩ける距離を推測するために使用され得る。
【００３４】
コンテキストモジュール162は、コンピューティングデバイス110のユーザに関連する将来のコンテキスト履歴を、電子カレンダーに記憶されている情報、またはコンピューティングデバイス110に関連する他の通信情報から採掘された情報で補い得る。たとえば、電子カレンダーは、ユーザが通常は自宅の場所にいる将来の時間または日において発生するイベントまたはアポイントメントに関連する位置を含み得る。イベントの将来の時間または日の間の自宅の場所を、将来のコンテキスト履歴における予想位置として含めるのではなく、コンテキストモジュール162は、ユーザがイベントに参加すると推測してよく、イベント位置を、イベントの将来の時間または日の間の予想位置として含めてよい。
【００３５】
コンテキストモジュール162は、過去および将来のコンテキスト履歴を予測モジュール164と共有し得、予測モジュール164は、コンピューティングデバイスのユーザが、将来の目的地まで走行するためにいつオンデマンド輸送サービスを要求する必要がありそうかを、より良く予測、推測、または確認するために、過去および将来の位置履歴を使用し得る。コンテキストモジュール162は、コンピューティングデバイス110の現在または将来のコンテキストを指定するデータを予測モジュール164に出力することによって、コンピューティングデバイス110に関連する現在のコンテキストおよび/またはコンピューティングデバイス110に関連する将来のコンテキストを求める、ISS160の予測モジュール164からの要求に応答し得る。
【００３６】
コンテキストモジュール162によって決定された過去、現在、および将来のコンテキストに基づいて、ISS160の予測モジュール164は、コンピューティングデバイス110などのコンピューティングデバイスのユーザが様々なコンテキストの各々に対して実行し得る、過去、現在、および将来のアクションを学習および予測し得る。たとえば、予測モジュール164は、コンピューティングデバイス110の将来のコンテキストに基づいて、コンピューティングデバイス110のユーザがいつ輸送サービスに関連する車両を必要とし得るのかを決定し得る。予測モジュール164は、将来のコンテキストにおける2つの位置間の距離が、ユーザが歩く典型的な距離よりも大きく、ユーザが飛行機に乗るかまたは列車に乗る典型的な距離よりも小さいとき、ユーザが2つの位置間で走行するためにオンデマンド輸送サービスを必要とし得ると決定し得る。予測モジュール164は、予測についての情報を(たとえば、ユーザへの最終的な提示のために)コンピューティングデバイス110に出力し得る。たとえば、予測モジュール164は、コンピューティングデバイス110に、輸送サービスに関連する車両がユーザに代わっていつ予約されているのかをユーザに警報させるデータを、コンピューティングデバイス110に送ってよい。
【００３７】
予測モジュール164は、追加の図に関してより詳細に説明される。要約すれば、予測モジュール164は、コンピューティングデバイス110および他のコンピューティングデバイスのユーザが、通常は様々なコンテキストに対して行うアクションを学習およびモデル化するために、機械学習および/または他の人工知能技法を使用し得る。様々なコンテキストに対するアクションの学習およびモデル化を通じて、予測モジュール164は、コンピューティングデバイス110のユーザが様々なコンテキストに対して行うアクションを予測するための、1つまたは複数のルールを生成し得る。たとえば、予測モジュール164は、コンテキストモジュール162から受信された現在のコンテキストに基づいて、現在のコンテキストに対してユーザが何をしているのかを予測することができ、コンテキストモジュール162から受信された将来のコンテキストに基づいて、将来のコンテキストに対してユーザが何をしようとしているのかを予測することができる。
【００３８】
一例として、予測モジュール164は、コンピューティングデバイス110が特定の日に特定の走行経路に沿って移動しているとき、ユーザが「仕事場まで車に乗って行く」かまたは「自宅から通勤している」と推測してよい。別の例として、予測モジュール164は、コンピューティングデバイス110が秋および冬の季節における日曜日の午後にユーザのリビングルームに位置するとき、ユーザが特定のスポーツ放送を見ていると決定してよい。また別の例として、予測モジュール164は、コンピューティングデバイス110が1日のうちの晩遅くまたは朝早い時間の間に長い時間期間にわたって静止しているとき、ユーザが眠っていると予測してよい。別の例として、予測モジュール164は、コンピューティングデバイス110が空港において列に並んでいるとき、ユーザがゲートセキュリティチェックを通って移動していると予測してよい。そしてさらに別の例として、予測モジュール164は、コンピューティングデバイス110が特定の時刻に仕事の場所において一続きの階段を降りて移動しているとき、ユーザが次にスケジュールされた会議に向かっていると予測してよい。
【００３９】
将来のコンテキストに対してユーザが行い得る将来のアクションの学習およびモデル化を通じて、予測モジュール164は、将来のアクションを首尾よく実行する際にコンピューティングデバイス110のユーザを支援し得る有用な情報を決定し得る。予測モジュール164は、予測についての情報をユーザに警報するための通知データまたは他の情報を、コンピューティングデバイス110の通知モジュール122に自動的に出力し得る。たとえば、予測モジュール164が通知モジュール122に送る情報は、コンピューティングデバイス110にUID112におけるグラフィカルユーザインターフェース114を出力させ得る。
【００４０】
本開示の技法によれば、ISS160は、コンピューティングデバイス110のユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測し得る。たとえば、コンテキストモジュール162は、コンピューティングデバイス110の将来のコンテキストが所与の平日における午後6時に特定のレストランの位置にユーザを置くことを、電子メールメッセージ、電子カレンダー、および/またはコンピューティングデバイス110のユーザについて取得された他の情報から決定し得る。コンテキストモジュールは、コンピューティングデバイス110のコンテキスト履歴に基づいて、コンピューティングデバイス110のユーザが通常はその特定の平日における午後5時30分までその人の自宅の外で働くことをさらに決定し得る。予測モジュール164は、コンテキストモジュール162によって決定された2つの将来のコンテキストの表示を受信し得、ユーザが、午後6時までにレストランの位置に到着するために、その人の自宅から移動を行い走行する必要がありそうと決定し得る。
【００４１】
ISS160は、移動を完了するためにユーザが使用できる輸送サービスを選択し得る。たとえば、予測モジュール164は、レストランの位置が、ユーザがその人の自宅から徒歩で移動する典型的な距離の外側、かつユーザがオンデマンド輸送サービス(たとえば、シャトル、タクシーなど)を用いることを好む典型的な距離内にあると決定し得る。したがって、予測モジュール164は、ユーザがレストランの位置までの移動を完了するために輸送サービスを用いることを希望すると決定し得る。
【００４２】
ISS160は、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定する。詳細には、予測モジュール164は、ユーザが、移動を完了し将来の時刻(たとえば、午後6時)までに将来の目的地(たとえば、レストランの位置)に到着するために、将来の位置(たとえば、自宅)からの走行を開始する必要があると予測される最も遅い時刻であるものとして、最終出発時刻を決定し得る。案内として最終出発時刻を使用して、予測モジュール164は、予測時刻において送られる要求が、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値(たとえば、90パーセント、50パーセント、0よりも大きいスコア、正のスコアなど)を満たす(たとえば、スコア、確率、またはパーセンテージとして規定される)ような、オンデマンド輸送サービスに関連する車両を要求すべき時刻を予測し得る。言い換えれば、ISS160は、ユーザがそれを必要とする時刻および場所において、輸送サービスに関連する車両が用意されユーザを待っている機会を増やすために、TSS180に関与すべき最良の時刻を予測し得る。
【００４３】
たとえば、予測モジュール164は、ユーザが、走行を開始することをユーザが希望または必要とするときに待っている車両を有することを確実にする、輸送サービスを予約するための時間ウィンドウを決定し得る。予測モジュール164は、自宅およびレストランの位置をルールベースモデルまたはナビゲーションルールに入力して、自宅の位置とレストランの位置との間の推定走行時間(たとえば、20分)を決定し得る。予測時刻を決定するために、予測モジュール164は、ユーザが将来の位置にいる必要があると予測モジュール164が決定する将来の時刻から推定走行時間を減算してよく、その特定の時刻において輸送サービスに関連する車両を要求するときに経験する典型的な待ち時間をさらに減算してよい。たとえば、予測モジュール164は、推定走行時間が20分でしかないが、輸送サービスに関連する車両が通常は平日における午後5時と午後6時との間ではユーザの自宅近くのピックアップ位置に到着するのに5分または10分かかるので、要求された車両が時間通りにピックアップ位置に到着するのに十分な時間を与えるために、午後5時40分ではなく午後5時30分にTSS180に要求が送られるべきと決定し得る。
【００４４】
いくつかの例では、予測モジュール164は予測時刻を更新し得る。たとえば、予測モジュール164は、価格高騰を避けること、車両がさほど利用可能でない混雑した時間を避けること、交通量の変化に対して回避または調整すること、繰り返し発生する交通渋滞に対して回避または調整することなどのために、ユーザが車両に乗るための時間などの他の考慮事項にさらに基づいて、予測された要求時刻を調整し得る。
【００４５】
予測モジュール164が予測時刻を更新することの追加の例として、コンテキストモジュール162は、ユーザのコンテキストについての追加の情報、更新済み交通情報、更新済み気象情報、および車両を要求すべき最良の時刻を決定するために予測モジュール164によって使用されるルールの出力を変えることができる他の情報を提供し得る。たとえば、車両の予想走行経路に沿って事故が発生した場合、予測モジュール164がすでに予測時刻を決定した後、予測モジュール164は、コンテキストモジュール162からの更新済み情報に基づいて、ユーザがもっと早く出発する必要があると予測してよく、したがって、もっと多くの走行時間を与えるように予測時刻を調整してよい。
【００４６】
現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、ISS160は、移動を完了するための輸送サービスに関連する車両を求める予約要求を予約モジュール182に送り得る。たとえば、予測モジュール164は、予測時刻の前に、TSS180が、車両がユーザを彼の自宅からレストランまで連れて行くことを求める要求の表示(たとえば、データ)を含め、要求を予約モジュール182に送るように、通信メッセージを自動的に(すなわち、ユーザ介入なしに)フォーマットし得る。いくつかの例では、予測モジュール164は、予測時刻において要求を送ってよく、他の例では、予測モジュール164は、予測時刻の前または後のしきい値時間量(たとえば、1秒以上、1分以上、1時間以上、1日以上など)内で要求を送ってよい。
【００４７】
予約要求が満たされ得ることを示す確認応答の、予約モジュール182からの受信に応答して、ISS160は、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイス110に送り得る。たとえば、予測モジュール164は、車両が予約されており途中にいることが示されるデータを、TSS180から受信し得る。データは、ユーザの自宅の場所における予想到着時刻の表示を含み得る。予測モジュール164は、コンピューティングデバイス110に、スケジュールされた車両についてユーザに警報させるための通知情報を、コンピューティングデバイス110に送り得る。たとえば、通知情報は、ユーザが屋外に向かい車を迎えるべきときに、コンピューティングデバイス110にユーザインターフェース114を提示させ得る。ユーザインターフェースは、「あなたを現在の場所から次の会議の場所まで連れて行くための車を手配しています。表玄関へ移動を始めて縁石で車を迎えてください」と表明する例示的なテキストを含み得る。
【００４８】
したがって、本明細書で説明する例示的なコンピューティングシステムによって提供されるもののような、例示的な予測サービスを使用するコンピューティングデバイスのユーザは、最終目的地に向かうためにオンデマンド輸送サービスをもはや忘れずに予約する必要がない。加えて、ユーザは、その人がすぐに出発できるときに忘れずにオンデマンド輸送を予約しても、ピックアップ位置に到着する際に車両を遅らせることがあるか、またはさもなければユーザが時間通りに最終目的地に到着することを妨げることがある、不測の事情を心配する必要がなく、あるいはそうした事情によって影響を受ける必要がない。本開示の技法による例示的なコンピューティングシステムは、ユーザ介入なしに、ユーザがオンデマンド輸送サービスを予約する必要があるかどうかを自動的に決定し得、そうである場合、コンピューティングシステムは、ユーザが時間通りに最終目的地に到着するように十分早く車両が到着する機会を増やす予測時刻において、サービスを自動的に予約する。したがって、ユーザは、その人が輸送を予約する必要があることを意識する必要さえなく、ユーザがさほどストレスを受けなくてよく、走行手配を行う時間をさほど費やさなくてよいように、システムが自動的に輸送を予約する。
【００４９】
まさに妥当な時間においてユーザのオンデマンド走行を自動的に手配することによって、例示的なシステムは、コンピューティングデバイスが、情報を求めて検索するとともにオンデマンド輸送を予約するユーザから、より少ない入力しか受け取らないことを可能にし得る。ユーザとの間でより少ない入力しか伴わずに、例示的なシステムは、オンデマンド輸送を手作業で予約するための機能をユーザに提供するにすぎない他のシステムと比較して、コンピューティングデバイスが、エネルギーを温存するとともにより少ないバッテリー電力しか使用しないことを可能にし得る。
【００５０】
図2は、本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するように構成された例示的なコンピューティングシステムとしてISS260を示すブロック図である。ISS260は、図1のISS160のより詳細な例であり、図1のシステム100のコンテキスト内において以下で説明される。図2は、ISS260の特定の一例しか示さず、ISS260の他の多くの例が、他の事例において使用されてよく、例示的なISS260に含まれる構成要素のサブセットを含んでよく、または図2に示さない追加の構成要素を含んでよい。
【００５１】
ISS260は、ユーザが最終目的地までの走行を開始する必要があるそのときに、予測されるピックアップ位置において輸送サービスの車両が用意され待っていることを確実にするように、コンピューティングデバイス110などのコンピューティングデバイスが、オンデマンド輸送サービスの車両を自動的に手配するための予測サービスにそれを通じてアクセスし得る導管(conduit)を、コンピューティングデバイス110に提供する。図2の例に示すように、ISS260は、1つまたは複数のプロセッサ270、1つまたは複数の通信ユニット272、および1つまたは複数の記憶デバイス274を含む。ISS260の記憶デバイス274は、コンテキストモジュール262および予測モジュール264を含む。予測モジュール264内では、記憶デバイス274が輸送モジュール266を含む。モジュール262および264は、それぞれ、図1のモジュール162および164と少なくとも同じ機能を、そうでない場合はより多くの機能を含む。
【００５２】
ISS260の記憶デバイス274は、ユーザ情報データ記憶装置268A、コンテキスト履歴データ記憶装置268B、ルールデータ記憶装置268C、および輸送サービスデータ記憶装置268D(総称して「データ記憶装置268」)をさらに含む。通信チャネル276は、構成要素間通信のために構成要素270、272、および274の各々を(物理的に、通信可能に、かつ/または動作可能に)相互接続し得る。いくつかの例では、通信チャネル276は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための任意の他の方法を含み得る。
【００５３】
ISS260の1つまたは複数の通信ユニット272は、図1のネットワーク130などの1つまたは複数のネットワーク上でネットワーク信号を送信および/または受信することによって、図1のコンピューティングデバイス110などの外部のコンピューティングデバイスと通信し得る。たとえば、ISS260は、ネットワーク130を越えて無線信号を送信および/または受信して、コンピューティングデバイス110および/またはTSS180と情報を交換するために、通信ユニット272を使用し得る。通信ユニット272の例は、(たとえば、イーサネット(登録商標)カードなどの)ネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、GPS受信機、または情報を送信および/もしくは受信できる任意の他のタイプのデバイスを含む。通信ユニット272の他の例は、短波無線、セルラーデータ無線、ワイヤレスイーサネット(登録商標)ネットワーク無線、ならびにユニバーサルシリアルバス(USB)コントローラを含み得る。
【００５４】
記憶デバイス274は、ISS260の動作中に処理するための情報を記憶し得る(たとえば、ISS260は、ISS260における実行中にモジュール262、264、および266によってアクセスされるデータを記憶し得る)。いくつかの例では、記憶デバイス274は一時的なメモリであり、そのことは、記憶デバイス274の主目的が長期間の記憶でないことを意味する。ISS260上の記憶デバイス274は、揮発性メモリとして情報の短期間の記憶のために構成されてよく、したがって、電源切断された場合、記憶された内容を保持しないことがある。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当技術分野で知られている他の形態の揮発性メモリを含む。
【００５５】
記憶デバイス274はまた、いくつかの例では、1つまたは複数のコンピュータ可読記憶媒体を含む。記憶デバイス274は、揮発性メモリよりも大量の情報を記憶するように構成され得る。記憶デバイス274は、さらに、不揮発性メモリ空間として情報の長期間の記憶のために構成されてよく、電力オン/オフサイクルの後、情報を保持し得る。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、フラッシュメモリ、または電気的プログラマブルメモリ(EPROM)もしくは電気的消去可能プログラマブル(EEPROM)メモリの形態を含む。記憶デバイス274は、モジュール262、264、および266に関連するプログラム命令および/またはデータを記憶し得る。
【００５６】
1つまたは複数のプロセッサ270は、ISS260内で機能性を実施し得、かつ/または命令を実行する。たとえば、ISS260上のプロセッサ270は、モジュール262、264、および266の機能性を実行する記憶デバイス274によって記憶される命令を受信および実行し得る。プロセッサ270によって実行されるこれらの命令は、プログラム実行中、ISS260に記憶デバイス274内で情報を記憶させ得る。プロセッサ270は、モジュール262、264、および266の命令を実行して、コンピューティングデバイスのユーザが、様々なコンテキストに対して、同じコンテキストに対して他のコンピューティングデバイスの他のユーザの以前のアクションに与えられた将来のアクションを行うことができるかどうかを予測し得、予測に基づいて情報を他のコンピューティングデバイスに自動的に提供し得る。すなわち、モジュール262、264、および266は、本明細書で説明するISS270の様々なアクションまたは機能を実行するように、プロセッサ270によって動作可能であり得る。
【００５７】
データ記憶装置268において記憶される情報は、検索可能であってよく、かつ/またはカテゴリー分類されてよい。たとえば、1つまたは複数のモジュール262、264、および266は、データ記憶装置268のうちの1つまたは複数に情報を要求する入力を提供し得、入力に応答して、データ記憶装置268において記憶される情報を受信し得る。情報サーバシステム260は、コンピューティングデバイス110などの、ネットワーク130に接続されたデバイスへのクラウドベースのデータアクセスサービスとして、データ記憶装置268において記憶される情報へのアクセスを提供し得る。データ記憶装置268が個々のユーザに関連する情報を含むとき、または情報が複数のユーザにわたって一般名として用いられるとき、情報を個々の人々に戻してリンクさせる、氏名、住所、電話番号、および/または電子メールアドレスなどのすべての個人特定可能情報は、情報サーバシステム260において記憶される前に除去され得る。情報サーバシステム260は、そこに記憶されたいかなる情報へのアクセスも防止するために、データ記憶装置268において記憶される情報をさらに暗号化してよい。加えて、情報サーバシステム260は、コンピューティングデバイスのユーザが情報のそのような収集を肯定的に承諾する場合、それらのユーザに関連する情報のみを記憶し得る。情報サーバシステム260は、ユーザが承諾を取り下げる機会をさらに提供し得、その場合、情報サーバシステム260は、その特定のユーザに関連する情報を収集または別の方法で保持することを中止してよい。
【００５８】
データ記憶装置268Aは、図1のコンピューティングデバイス110などのコンピューティングデバイスのユーザに関する検索可能な情報を記憶するための、任意の好適な記憶媒体を表す。ユーザ情報データ記憶装置268Aおよび輸送サービスデータ記憶装置268Cは、予測モジュール264によって主に保守されてよく、概してコンテキストモジュール262によって保守されるコンテキスト履歴データ記憶装置268Bの一部であってよく、またはそれとは別個であってよい。
【００５９】
ユーザ情報データ記憶装置268Aは、図1のコンピューティングデバイス110などのコンピューティングデバイスの個々のユーザに関連する様々なタイプの情報を編成する1つまたは複数の検索可能なデータベースまたはデータ構造を含み得る。いくつかの例では、ユーザ情報データ記憶装置268Aは、ユーザ検索履歴、電子メールメッセージ、テキストベースメッセージ、音声メッセージ、ソーシャルネットワーキング情報、写真、アプリケーションデータ、アプリケーション使用情報、購入履歴に関する情報、ならびにユーザおよびコンピューティングデバイス110などのコンピューティングデバイスとのユーザの対話に関連する任意およびすべての他の情報を含む。データ記憶装置268Aにおいて記憶されるユーザ情報は、検索可能であり得る。たとえば、コンテキストモジュール262は、データ記憶装置268Aへの入力として特定の日付および/または時刻を提供し得、入力に関するユーザ情報の断片を出力として受信し得る。たとえば、コンテキストモジュール262は、特定の日を入力として提供し得、コンピューティングデバイス110のユーザの予約確認電子メールにおいて示されるフライトについての情報を受信し得る。または、別の例として、コンテキストモジュール262は、キーワードクエリ(たとえば、文字列)の表示を受信し得、キーワードに関連するアポイントメント、購入を出力し得る。
【００６０】
データ記憶装置268Bは、日付および時間によって編成されたコンテキスト情報(たとえば、位置、時刻、気象情報、交通情報、ナビゲーション情報、デバイス状態情報、ユーザ情報など)を含む検索可能なコンテキスト履歴を記憶するための、任意の好適な記憶媒体を表す。データ記憶装置268Bは、過去のコンテキスト履歴および/または将来のコンテキスト履歴を含み得る。情報サーバシステム260、詳細には、コンテキストモジュール262は、コンピューティングデバイス110などのコンピューティングデバイスに関連するコンテキスト情報を収集し得、収集されたコンテキスト情報をデータ記憶装置268Bにおいて記憶し得る。コンテキストモジュール262は、ユーザまたはコンピューティングデバイス110などのコンピューティングデバイスのコンテキストを決定するために、コンテキスト履歴データ記憶装置268Bにおいて記憶される情報に依拠し得る。
【００６１】
データ記憶装置268Cは、様々なコンテキストに対してコンピューティングデバイスのユーザによって行われ得るアクションを予測するための(たとえば、予測モジュール264に関連する機械学習システムまたは人工知能システムの)ルール、ならびに予測されるアクションをユーザが完了できる可能性の程度を高め、またはそうした確率を改善するための、他の情報を記憶し得る。データ記憶装置268Cは、コンテキストを入力として受信し得、コンテキストにおいてユーザによって行われている予測されるアクションを出力として提供し得る。たとえば、特定の日に対するユーザの将来のコンテキストを入力することは、ユーザがその特定の日にオンデマンド輸送サービスを必要とするという表示を、データ記憶装置268Cに出力させ得る。
【００６２】
データ記憶装置268Cは、予測されるアクションをユーザが完了できる可能性の程度を高めるように、ISS260がユーザに対して予測を行うとともに情報をユーザに提供するために必要とする、時刻、位置、および他の情報を決定するための他のルールを記憶し得る。たとえば、ユーザが特定の日に対してオンデマンド輸送を用いる必要があるという表示の、データ記憶装置268Cへの入力に応答して、データ記憶装置268Cは、輸送サービスに関連する車両に、将来のコンテキストによって規定された最終出発時刻までに、将来のコンテキストによって規定された将来の位置に到着させる、可能性の程度がしきい値(たとえば、50パーセントよりも大きいなど)を満たす予測時刻の表示を出力し得る。
【００６３】
輸送サービスデータ記憶装置268Dは、コンピューティングデバイスのユーザが位置間での走行を行い得るオンデマンド情報サービスに関する情報を記憶し得る。データ記憶装置268Dに含まれる情報は、限定はしないが、時間関連情報(たとえば、異なる暦日における様々な地理的領域にとっての典型的な応答時間)、輸送のコスト、サービスの異なるクラスまたはレベルならびに関連するコストおよびそれぞれに関連する応答時間、ならびに他の情報を含む。データ記憶装置268Dにおいて記憶される他の情報は、様々な位置の間の予測移動継続時間、位置間の予測走行経路、オンデマンド輸送サービスに対する市場価格の変動、およびオンデマンド輸送サービスに関する他の情報を含み得る。予測モジュール264は、コンピューティングデバイス110などのコンピューティングデバイスのユーザに予測オンデマンド輸送サービスを提供するために、ルールデータ記憶装置268Cにおいて記憶される情報および輸送サービスデータ記憶装置268Dにおいて記憶される情報に依拠し得る。
【００６４】
輸送モジュール266は、予測モジュール264からの輸送サービス関連情報を求める要求に応答して、輸送サービスデータ記憶装置268Dにおいて記憶される情報にアクセスし得る。たとえば、オンデマンド輸送サービスに関連する車両を要求すべき時刻を評価する際に、予測モジュール264は、2つの位置間での移動を完了するためのオンデマンド輸送サービスに関連する2つの地理的位置の間の推定移動継続時間を、輸送モジュール266に照会し得る。要求に応答して、輸送モジュール266は、データ記憶装置268Dにおいて記憶され要求に答える情報(たとえば、距離、走行の時間など)を、予測モジュール264に提供し得る。
【００６５】
予測モジュール264は、予約要求をオンデマンド輸送サービスに送った後に、オンデマンド輸送サービスに関連する車両が将来の位置に到着すると予測されるまでの、オンデマンド輸送サービスに関連する推定予約遅延を輸送モジュール266に照会し得る。要求に応答して、輸送モジュール266は、車両を求める要求が輸送サービスの予約システムに送り出された後に、オンデマンド輸送サービスに関連する車両が将来の位置に到着するまでに通常は経過する時間量を、予測モジュール264に提供し得る。
【００６６】
予測モジュール264は、通常は輸送サービスに関連する価格の高騰に関連する時間期間を、輸送モジュール266に照会し得る。要求に応答して、輸送モジュール266は、価格高騰を回避するようにオンデマンド輸送サービスを予約するのを回避すべき様々な時間および日を、予測モジュール264に提供し得る。
【００６７】
動作において、ISS260は、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測し得る。たとえば、予測モジュール264は、コンピューティングデバイス110のユーザに関連する2つの将来のコンテキストの表示を受信し得る。2つの将来のコンテキストのうちの第1のものは、ユーザの電子カレンダーに記載された仕事の会議をユーザが終了しつつあることを示し得、2つの将来のコンテキストのうちの第2のものは、ユーザが町の反対側の位置において1時間後に会議を開始しつつあることを示し得る。
【００６８】
予測モジュール264は、2つの位置間の走行情報を輸送モジュール266に照会し得る。輸送モジュール266は、推定移動距離、推定移動継続時間、および2つの位置間でオンデマンド輸送サービスを使用する移動についての他の情報を、データ記憶装置268Dに照会し得、情報を予測モジュール264に送り得る。予測モジュール264は、最終目的地位置が他の将来の位置から最小距離しきい値(たとえば、2ブロック、2分の1マイル、2分の1キロメートルなど)よりも遠く、他の将来の位置から最大距離しきい値(たとえば、100マイル、200キロメートルなど)よりも近いと決定し得る。詳細には、最小距離しきい値は、ユーザがイベントまで通常は歩く第1の最大距離(たとえば、数ブロック、大まかに1マイルまたは数キロメートル)に少なくとも部分的に基づいてよく、最大距離しきい値は、ユーザがイベントまで通常は車に乗って行く第2の最大距離(たとえば、数マイルまたは数キロメートル)に少なくとも部分的に基づいてよい。最大しきい値および最小しきい値は、位置履歴、およびユーザが通常はどのくらい遠く位置間で歩き車に乗って行くのかについての追加の情報を含む、コンテキスト履歴情報に基づいてよい。2つの位置間の距離が最大距離しきい値と最小距離しきい値との間に入る限り、予測モジュール164は、ユーザが2つの位置間でオンデマンド走行サービスを用いることを望むと決定してよい。
【００６９】
ISS260は、移動を完了するためにユーザが使用できる輸送サービスを選択し得る。たとえば、ユーザがオンデマンド走行サービスを用いることを望むと決定した後、予測モジュール264は、将来の位置の間でユーザを連れて行くことができ、時間通りに最終目的地までユーザを行かせることができる異なるオンデマンド輸送サービスについての情報を、輸送モジュール266に照会し得る。輸送サービスモジュール266は、移動を完了できる輸送サービスについての情報を、データ記憶装置268Dに照会し得る。いくつかの例では、輸送モジュール266は、価格、満足のレベルなど、およびデータ記憶装置268Dにおいて記憶される情報によって示される他の特性に従って、様々な輸送サービスをランク付けし得る。輸送サービスモジュール266は、様々な利用可能な輸送サービスおよびそれらの関連するランク付けの表示を、予測モジュール264に出力し得る。予測モジュール264は、輸送サービスモジュール266によって提供された情報に基づいて、輸送サービスのうちの1つを選択し得る。いくつかの例では、予測モジュール264は、移動を完了するためにユーザが使用できる1つまたは複数の利用可能なサービスの中から、最小コストサービスである輸送サービスを選択し得る。たとえば、予測モジュール264は、2つ以上の異なるオンデマンド輸送サービスに対する価格設定情報にアクセスし得、2つ以上のサービスに対する価格設定を比較し得、価格が最低のサービスを自動的に選択し得る。
【００７０】
ISS260は、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定し得、ここで、予測時刻において送られる車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻である。たとえば、予測モジュール264は、ユーザの電子カレンダー記載された仕事の会議が第1の時刻において終了すること、および電子カレンダーに記載された第2の会議が第2の時刻において開始することを、上記で示した2つの将来のコンテキストのうちの第1のものから決定してよく、第1の時刻と第2の時刻との間にほぼ1時間あると決定し得る。
【００７１】
輸送モジュール266から取得された情報から、予測モジュール264は、ユーザが走行する必要があることになる時間における、2つの会議の間のオンデマンド輸送サービスに関連する推定移動継続時間が、ほぼ40分であると決定してよい。加えて、輸送モジュール266から取得された情報から、予測モジュール264は、選択された輸送サービスが、ユーザが走行する必要があることになる時間において、ユーザを第2の位置まで連れて行くための第1の位置(たとえば、ピックアップ位置)に到着するのに、通常は30分かかると決定してよい。したがって、予測モジュール264は、ユーザが第2の位置に到着する必要がある少なくとも1時間10分前に、オンデマンド輸送サービスへの要求がTSS180に送られる必要があると決定してよい。予測モジュール264は、会議の1時間10分前よりもさらに早く(たとえば、車両に第1の会議が終了するときにピックアップ位置に到着させるように1時間30分までに)要求をオンデマンド輸送サービスに送ることによって、ユーザが会議を行うために第2の位置に遅れずに到着する可能性がさらに高いと決定し得る。
【００７２】
いくつかの例では、予測モジュール264は、輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に予測時刻が一致すると決定すること、およびその時間期間を避けるように予測時刻を調整することによって、車両を要求すべき予測時刻を決定し得る。言い換えれば、予測モジュール264は、要求をTSS180に送る前に、予測時刻(たとえば、第2の会議の1時間30分前)が、オンデマンド輸送サービスの高騰した価格設定時間期間と一致するかどうかという表示を、輸送モジュール266に照会し得る。高騰した価格設定時間期間は、オンデマンド輸送サービスにとっての需要が利用可能性を上回る何らかの時刻であってよく、したがって、高騰した価格設定時間中にサービスを予約するための価格は、類似のサービスがもっと早いかまたはもっと遅い時刻に予約された場合よりもずっと高い。輸送モジュール266は、将来の時間期間が、高騰した価格設定期間(たとえば、多くの人々が自宅へ走行する休暇期間中、通勤するラッシュアワー中、まさに通勤時間中など)と一致するときを予測するモデルを含む、利用可能なサービスにわたる価格の履歴を経時的に保守し得る。予測時刻が、高騰した価格設定シナリオと一致することを示す情報を輸送モジュール266が提供することに応答して、予測モジュール264は、高騰した価格を避けるように予測時刻を調整し得る。たとえば、予測モジュール264は、第2の会議にユーザを時間通り間に合わせるという要件を満たすことを依然として試みながら、もっと早くまたはもっと遅く車両を要求してよい。
【００７３】
いくつかの例では、予測時刻が、輸送サービスに関連する市場価格の高騰に通常は関連する時間期間内に一致するという決定に応答して、ISS160は、輸送サービスにとっての最低価格を取得するように、特定のクラスのオンデマンド輸送サービスを選択し得る。たとえば、予測モジュール264は、コンピューティングデバイス110のユーザがオンデマンド輸送サービスに関連する節約レベルのサービスを通常は使用することを、ユーザ情報データ記憶装置268Aから決定してよい。予想走行時間が、高騰した価格設定条件と一致するかどうかについて輸送モジュール266と協議する際に、予測モジュール264は、推定走行時間に対して、サービスのレベルに従って様々な価格のオンデマンドサービスをさらに決定し得る。ユーザが通常用いるサービスよりも高いかまたは低いクラスのサービスの価格がずっと安い(たとえば、ある率で安い、またはいくらかの他の所定量だけ安い)という決定に応答して、あるいは異なるレベルのサービスが時間通りにピックアップ位置に到着する可能性が高いという決定に応答して、予測モジュール164は、オンデマンド走行サービスに関連する車両を、TSS180を通じて要求するときに、異なるレベルのサービスを指定してよい。
【００７４】
いずれの場合も、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、ISS160は、移動を完了するための輸送サービスに関連する車両を求める予約要求を、輸送サービスに関連する予約システムに送り得る。たとえば、予測モジュール264は、第2の会議の1時間30分前に情報をTSS180に送ってよい。情報は、TSS180を通じて提供される輸送サービスに関連する車両を求める要求を含み得る。TSS180は、要求を受信し得、直ちに車両をピックアップ位置まで配車する。
【００７５】
予約要求が満たされ得ることを示す確認応答の、予約システムからの受信に応答して、ISS160は、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイスに送ってよい。たとえば、要求をTSS180に送った後、予測モジュール264は、車両が途中にいることおよび予想到着時刻を示す確認応答メッセージを受信し得る。ISS160は、通知モジュール122およびUIモジュール120に、車両の差し迫った到着についてコンピューティングデバイス110のユーザに警報させる、到着する車両についての情報をコンピューティングデバイス110に送ってよい。
【００７６】
図3および図4は、本開示の1つまたは複数の態様による、輸送サービスに関連する車両を要求するための時刻を予測するように構成された、例示的なコンピューティングシステムによって実行される例示的な動作300〜430を示すフローチャートである。図3および図4は、図1のシステム100のコンテキストにおいて以下で説明される。たとえば、ISS160は、本開示の1つまたは複数の態様による動作300〜430を実行し得る。
【００７７】
図3に示すように、動作において、ISS160は、コンピューティングデバイスのユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測し得る(300)。たとえば、予測モジュール164は、コンピューティングデバイス110のユーザに関連する電子メールまたは電子カレンダーが、ユーザが空港に着陸した2時間後に会議にいる必要があることを示す情報を、コンテキストモジュール162から受信し得る。
【００７８】
ISS160は、最終目的地が、将来の位置から最小しきい値距離よりも遠く最大しきい値距離よりも近いかどうかを決定し得る(310)。たとえば、予測モジュール164は、ユーザまたは他のユーザが通常は目的地の間を徒歩で移動する典型的な距離を決定し得、会議の場所が、空港から離れてユーザまたは他のユーザが通常は徒歩で移動する典型的な距離よりも遠いと決定し得る。加えて、予測モジュール164は、(たとえば、オンデマンド輸送サービスを使用する長距離走行は、法外なコストがかかることがあるので)ユーザまたは他のユーザが通常はオンデマンド輸送サービスを避ける典型的な距離を決定し得、会議の場所が、空港から離れてユーザまたは他のユーザが通常はオンデマンド輸送サービスを避ける典型的な距離よりも近いと決定し得る。
【００７９】
ISS160は、移動を完了するためにユーザが使用できる輸送サービスを選択し得る(320)。たとえば、予測モジュール164は、ナビゲーションデータベースを検索してよく、または空港から出発する利用可能なオンデマンド輸送サービスに関係する情報を求めてインターネット上で検索してよく、利用可能な輸送サービスのうちの1つを選択し得る。
【００８０】
ISS160は、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定し得る(330)。たとえば、予測モジュール164は、ルールベースアルゴリズムを使用して、ユーザが会議まで移動するのに車両を必要とするときに車両が空港にいる可能性を高める、輸送サービスに関連する車両を要求すべき最良の時刻を決定し得る。予測モジュール164は、オンデマンド輸送サービスに関連する車両が、通常は空港から5分でしかないと決定し得、したがって、車両を要求すべき最良の時刻は、ユーザが(たとえば、手荷物受取所を通って横断しデボーディング(de-boarding)プロセスを通過した後に)空港を出発すると予想されるときの5分前であると推測し得る。予測モジュール164は、飛行機が空港に着陸した後、他のユーザがオンデマンド車両の位置において空港を出るのに通常は10分かかることを、1つまたは複数のルールから決定してよく、したがって、車両を要求すべき最良の時刻は、ユーザを運ぶ飛行機が着陸した5分後であると決定し得る。
【００８１】
ISS160は、現在時刻が予測時刻のしきい値時間量内にあるかどうかを決定し得る(340)。たとえば、予測モジュール164は、オンデマンド輸送サービスを求める要求のキューを作ってよいが、予測時刻の直前または直後まで要求を送ることを控えてよい。予測モジュール164は、(たとえば、ユーザを運ぶ飛行機のフライトステータスに対する変更、市場価格設定に対する変更などに基づいて)予測時刻を周期的に更新し得る。
【００８２】
現在時刻が予測時刻のしきい値時間量内にあるという決定に応答して、ISS160は、輸送サービスに関連する車両を求める予約要求を送り得る(350)。たとえば、予測時刻が予測時刻のしきい値時間量(たとえば、1分など)内にある(たとえば、プラスまたはマイナス)という決定に応答して、予測モジュール164は、車両を求める要求をTSS180に送ってよく、TSS180は、予約モジュール182にユーザのための車両を空港まで配車させ得る。
【００８３】
ISS160は、予約が満たされ得ることを示す確認応答を予約システムから受信し得る(360)。たとえば、車両を配車した後、TSS180は、車両の予想到着時刻およびピックアップ位置についての情報を用いて、予測モジュール164からの要求に返答し得る。
【００８４】
確認応答の受信に応答して、ISS160は、車両が将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイス110に送り得る(370)。たとえば、予測モジュール164は、予測サービスの一部として、通知モジュール122がフォーマットし、到着車両についてコンピューティングデバイス110のユーザに警報する通知をUID112における表示のためにUIモジュール120に出力させる情報を提供し得る。通知を見ること、感じること、または聞くことに応答して、コンピューティングデバイス110のユーザは、車両を迎えるために空港を通って歩き始めてよい。
【００８５】
いくつかの例では、予約要求を送る前に、ISS160は、ユーザが移動を行うつもりであることを確認する要求を、コンピューティングデバイスに送ってよい。いくつかの例では、ユーザが移動を行うつもりであることを確認する表示は、要求に応答してコンピューティングデバイスから受信される確認応答を備える。たとえば、予測モジュール164は、コンピューティングデバイス110に、輸送サービスに関連する車両を予約するためにユーザから承諾を求める警報を出力することによってユーザに警告させ得る。車両の予約を許可するユーザからの入力の受信に応答して、コンピューティングデバイス110は、車両を要求するための許可を確認する情報をISS160に送ってよい。
【００８６】
図4は、図3の動作320のより詳細な例である。図4に示すように、ISS160は、動作400〜430を実行することによって、オンデマンド輸送サービスに関連する車両を要求すべき予測時刻を決定し得る。
【００８７】
ISS160は、移動を完了するための輸送サービスに関連する推定移動継続時間を決定し得る(400)。たとえば、予測モジュール164は、オンデマンド輸送サービスによって提供されたタイプの車両が空港から会議場所まで移動を行うために通常はかかる時間の推定継続時間を、インターネットを経由してアクセスされるナビゲーションサービスを使用して決定し得る。
【００８８】
ISS160は、推定移動継続時間に基づいて、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻であるものとして、最終出発時刻を決定し得る(410)。たとえば、予測モジュール164は、平均するとオンデマンド輸送サービスに関連する車両が空港から会議の場所まで走行するのに約1時間かかると決定してよく、したがって、会議の始まりの1時間前であるものとして、予想「最終出発」時刻を決定し得る。
【００８９】
ISS160は、最終出発時刻に基づいて、予約要求を送った後に車両が将来の位置に到着すると予測されるまでの推定予約遅延を決定し得る(420)。たとえば、予測モジュール164は、使用中の車両オンデマンド輸送サービスが、要求が会議の1時間前に送られたときに要求されてから通常は5分以内に空港に応答することを、他のユーザによって行われ以前に観測された移動に基づいて、機械学習システムの1つまたは複数のルールから決定し得る。
【００９０】
ISS160は、少なくとも推定予約遅延だけ最終出発時刻よりも早いものとして、予測時刻を決定し得る(430)。たとえば、車両が時間通りに空港にいて会議まで1時間の移動を行うことを確実にするために、予測モジュール164は、会議の少なくとも1時間5分前に、オンデマンド輸送サービスに関連する車両を要求し得る。
【００９１】
いくつかの例では、予測モジュール164は、ISS160が取得する他の情報、ならびにコンピューティングデバイス110のコンテキストに対する変更に基づいて、更新された予測時刻を決定し得る。たとえば、車両のピックアップ位置が空港であるとき、予測モジュール164は、地上交通量に対する変化に基づいて、フライト遅延に応じて、予想されるよりも早いフライトの出発または到着に応じて、車両が空港に到着するのにかかる時間からの推定予約遅延に対する変更に応じるなどして、要求を予約システムに送る前に予測時刻を更新し得る。言い換えれば、コンピューティングデバイス110がオフラインでありコンピューティングデバイス110の所在について更新されたコンテキスト情報をコンテキストモジュール162に提供中でなくても、予測モジュール164は、環境に応じて車両がもっと早くまたはもっと遅く要求される必要があると推測し得る。言い換えれば、ISS160および予測モジュール164は、ユーザが最終目的地にいる必要がある将来の時刻、ユーザが最終目的地までの走行を始めるために出発する必要があると予測される最終出発時刻、および/または車両に最終出発時刻までに将来の位置に到着させる可能性の程度のうちの、少なくとも1つに対する変化の検出に応答して、(たとえば、交通量、気象、または他の環境の変化が車両に時間通りに到着してユーザを最終目的地まで連れて行く可能性をますます低くさせ得ると、予測モジュール164が決定する場合)予測時刻を更新し得る。
【００９２】
図5は、本開示の1つまたは複数の態様による、輸送サービスに関連する車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を受信するように構成された、例示的なコンピューティングデバイスによって実行される例示的な動作500〜530を示すフローチャートである。図5は、図1のシステム100のコンテキストにおいて以下で説明される。たとえば、コンピューティングデバイス110は、本開示の1つまたは複数の態様による動作500〜530を実行し得る。
【００９３】
動作において、コンピューティングデバイス110は、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを示すユーザ情報を、コンピューティングシステムに送り得る(500)。たとえば、コンピューティングデバイス110は、周期的にまたは時々、コンピューティングデバイス110のユーザに関連する過去および将来のコンテキスト履歴を構築するためにコンテキストモジュール162が使用する情報を、ISS160に送ってよい。予測モジュール164は、ユーザがオンデマンド輸送サービスをスケジュールする必要があり得るイベントについての情報を得るために、ユーザに関連するコンテキスト履歴を構文解析し得る(たとえば、空港、鉄道の駅からの移動、自宅の場所から遠くにおそらく本人自らの輸送を伴わずに移動するときなど)。
【００９４】
コンピューティングデバイス110は、移動に関連する最終出発時刻の前にコンピューティングデバイス110が将来の位置のしきい値距離内にあることを示す追加の情報を、コンピューティングシステムに送り得る(510)。たとえば、コンピューティングデバイス110に関連する移動データは、ユーザのコンテキストが、オンデマンド輸送サービスがそこから必要となりそうな、ユーザの予測される将来の位置の歩ける距離内であることを、コンテキストモジュール162に示し得る。ユーザが将来の位置のしきい値距離内(たとえば、歩ける距離内)にいる場合、予測モジュール164は、ユーザが次のイベントに向かっていそうである(または、次のイベントまで走行するためのオンデマンド輸送サービスにユーザがそこから間に合うことができる位置である)と決定してよく、したがって、予測時刻において、オンデマンド輸送サービスに関連する車両を予約する。反対に、ユーザがしきい値距離の外側にいる(たとえば、ユーザが、異なる州にいるか、またはその人がいると予測されるときから数マイルもしくは数キロメートル離れている)場合、予測モジュール164は、おそらくユーザが結局は移動を行うことを望まないという想定に基づいて、車両を要求することを控えてよい。
【００９５】
コンピューティングデバイス110は、輸送サービスに関連する車両が、将来の位置に到着してユーザを将来の目的地まで連れて行くように自動的にスケジュールされていることを、ユーザに通知するための情報を、コンピューティングシステムから受信し得る(520)。たとえば、予測時刻において、ISS160は、ユーザを将来の目的地まで連れて行くための車両を、TSS180を通じて予約してよく、TSS180からの、要求の確認応答の受信に応答して、車両が予約され途中にいることを示す情報を、コンピューティングデバイス110に送ってよい。
【００９６】
コンピューティングデバイス110は、情報に基づいて、将来の位置まで歩いて車両を迎えるべき時間であることをユーザに通知するための警報を出力し得る(530)。たとえば、通知モジュール122は、情報をISS160から受信してよく、情報をフォーマットして通知形式にしてよく、フォーマットされた情報をUID112における表示のためにUIモジュール120に(たとえば、図1のユーザインターフェース114によって示すように)出力させてよい。
【００９７】
いくつかの例では、本開示の技法に従って動作するコンピューティングシステムは、ユーザのカレンダーにおけるイベントがフライトであると決定してよく、フライトの目的地においてオンデマンド輸送サービスを使用してピックアップを自動的にスケジュールし得る。いくつかの例では、コンピューティングシステムは、交通量に対する変化、フライト遅延またはフライトが早く出発すること、到着の輸送推定時間に対する変化(たとえば、予約遅延)などに基づいて、ピックアップ時刻を変更し得る。いくつかの例では、コンピューティングシステムは、ユーザのコンピューティングデバイスがオフラインであり得るとともにネットワークアクセスを有しないことがあるような、オフラインサポートを提供し得、例示的なコンピューティングシステムは、空港および/または他の固定点位置に対してやはり輸送を手配することができる。いくつかの例では、コンピューティングシステムは、いつ輸送が利用可能であり利用可能でないのか、あるいは必要とされまたは必要とされないのかを決定するために、イベントを自動的にフィルタ処理し得る。いくつかの例では、コンピューティングシステムは、ユーザがすでに彼らの途中にいるか、またはすでに将来の目的地の近くにいるとシステムが決定する場合、オンデマンド輸送サービスの予約を自動的に控えてよい。たとえば、システムは、周期的な位置更新を受信し得、ユーザが、ユーザがオンデマンド輸送を必要としない、おおよそ将来の目的地に(たとえば、歩ける距離内に)いるかどうかを推測し得る。いくつかの例では、事前手配された車両の運転手がピックアップを消去していること、または輸送システムが場合によっては要求を遂行できないかどうかを、システムが輸送サービスから学習する場合、コンピューティングシステムは、異なるオンデマンド輸送サービスを用いて自動的に再予約し得る。いくつかの例では、コンピューティングシステムは、可能な場合、サービスのレベルまたはサービスプロバイダを変更することによって、高騰した価格設定を避けてよい。
【００９８】
一例では、ユーザに関連するカレンダーは、ユーザが午後6時に最終目的地において予約された夕食会をスケジュールしていることを示し得る。普通は、ユーザの現在位置から夕食会までオンデマンド輸送サービスを使用して走行するのに20分かかるが、そこまでの途中に自動車衝突事故がある。ユーザが普通は輸送サービスに関連する車両をちょうど午後5時40分に予約しようとすることになるので、ユーザは、衝突事故のために遅れることがある。いくつかの例では、コンピューティングシステムは、衝突事故を自動的に認識し得、時間通りに(たとえば、午後6時までに)ユーザに到着させるように、システムがユーザのための車を自動的に予約していることを、午後5時20分にユーザに警報し得る。
【００９９】
別の例では、コンピューティングシステムは、ユーザを運ぶ飛行機が空港に到着した後、ユーザを最終目的地まで連れて行くように、コンピューティングデバイスのユーザのためのオンデマンド輸送サービスを自動的に予約し得る。ユーザのコンピューティングデバイスがオフラインである間(たとえば、ユーザが、ネットワークアクセスを有しない空中にいる間)、例示的なコンピューティングシステムは、飛行機が遅れているか、または早く到着するようにスケジュールされていることを学習し、サービスの車両がちょうど適時に到着してユーザを最終目的地まで連れて行くように、輸送サービスを予約するための予測時刻を自動的に更新する。
【０１００】
図6Aおよび図6Bは、本開示の1つまたは複数の態様による、輸送サービスに関連する車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を受信するように構成されている、例示的なコンピューティングデバイス610Aおよび610Bによって提示される例示的なグラフィカルユーザインターフェースを示す概念図である。図6Aおよび図6Bは、図1のシステム100および図5の動作500〜530のコンテキストにおいて以下で説明される。たとえば、コンピューティングデバイス610Aおよび610Bは、図1からのコンピューティングデバイス110の例であり、図5で説明したものと類似の動作を実行し得る。
【０１０１】
図6Aの例では、コンピューティングデバイス610Aは、ユーザインターフェース614Aを提示するためのUID612Aを含む、モバイル電話またはタブレットデバイスである。ISS160は、コンピューティングデバイス610Aのユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了するための、輸送サービスに関連する車両を求める予約要求を自動的にTSS180に送り得る。ただし、ISS160は、ユーザが移動を行うつもりであることを確認する表示を待ってよく、コンピューティングデバイス610Aからのそうした表示の受信に応答してのみ予約要求を送ってもよい。
【０１０２】
いくつかの例では、ユーザが移動を行うつもりであることを確認する表示は、コンピューティングデバイス610Aが将来の位置のしきい値距離内にあることを示す位置情報を備える。他の例では、ユーザが移動を行うつもりであることを確認する表示は、要求に応答してコンピューティングデバイスから受信される確認応答を含む。たとえば、予約要求を送る前に、ISS160は、ユーザが移動を行うつもりであることを確認する要求を、コンピューティングデバイス610Aに送り得る。
【０１０３】
ISS160からの要求の受信に応答して、コンピューティングデバイス610Aは、その人の次のアポイントメントまで彼らを連れて行くために車を向かわせることを彼らが好むことになることを確認するためにコンピューティングデバイス610Aのユーザに尋ねる、ユーザインターフェース614Aを出力し得る。「助かります。車を向かわせてください」と標示された、ユーザインターフェース614Aの中のグラフィカル要素の選択の検出に応答して、コンピューティングデバイス610Aは、確かにユーザが移動を行うことを希望するという表示をISS160に送ってよく、したがって、ISS160は、車を求める要求をTSS180に送ってよい。「ご配慮に感謝しますが、私は車が必要ではありません」と標示された、ユーザインターフェース614Aの中のグラフィカル要素の選択の検出に応答して、コンピューティングデバイス610Aは、ユーザが移動を行うことを希望しないという表示をISS160に送ってよく、したがって、ISS160は、車を求める要求をTSS180に送ることを控えてよい。
【０１０４】
図6Bの例では、コンピューティングデバイス610Bは、ユーザインターフェース614Bを提示するためのUID612Bを含む、ウォッチデバイスである。他の例では、図6Aからのコンピューティングデバイス610Aが、ユーザインターフェース614Aを提示するとともにユーザが移動を行うつもりであるという確認応答を受信した後、ユーザインターフェース614Bを提示してもよい。
【０１０５】
コンピューティングデバイス610Bは、輸送サービスに関連する車両が、コンピューティングデバイス610Bの将来の位置に到着してユーザを将来の目的地まで連れて行くように自動的にスケジュールされていることを、コンピューティングデバイス610Bのユーザに通知するための情報を、ISS160から受信し得る。図6Bに示すように、情報は、ユーザが行う必要があることをその人にさせるメッセージ、「中央通りを表玄関へ向かってあなたの車を迎えてください。その車はまもなく到着してあなたを目的地まで連れて行くように自動的にスケジュールされています」を含む。コンピューティングデバイス610Bは、情報に基づいて、将来の位置まで歩いて車両を迎えるべき時間であることをユーザに通知するための警報としてユーザインターフェース614Bを出力し得る。
【０１０６】
第1条。コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを、コンピューティングシステムによって推測するステップと、移動を完了するためにユーザが使用できる輸送サービスを、コンピューティングシステムによって選択するステップと、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を、コンピューティングシステムによって決定するステップであって、予測時刻における車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻である、ステップと、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、コンピューティングシステムによって、輸送サービスに関連する予約システムに送るステップと、予約要求が満たされ得ることを示す確認応答の、予約システムからのコンピューティングシステムによる受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングシステムによってコンピューティングデバイスに送るステップとを備える方法。
【０１０７】
第2条。車両を要求すべき予測時刻を決定するステップが、移動を完了するための輸送サービスに関連する推定移動継続時間を、コンピューティングシステムによって決定するステップと、推定移動継続時間に基づいて、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻であるものとして、最終出発時刻をコンピューティングシステムによって決定するステップと、最終出発時刻に基づいて、予約要求を送った後に車両が将来の位置に到着すると予測されるまでの推定予約遅延を、コンピューティングシステムによって決定するステップと、少なくとも推定予約遅延だけ最終出発時刻よりも早いものとして、予測時刻をコンピューティングシステムによって決定するステップとを備える、第1条の方法。
【０１０８】
第3条。車両を要求すべき予測時刻を決定するステップが、予測時刻が、輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、その時間期間を避けるように予測時刻をコンピューティングシステムによって調整するステップを備える、第1〜2条のうちのいずれかの方法。
【０１０９】
第4条。予約要求が、移動を完了するために要求されるサービスの特定のクラスを指定し、方法が、予測時刻が、輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、輸送サービスにとっての最低価格を取得するために、特定のクラスをコンピューティングシステムによって選択するステップをさらに備える、第1〜3条のうちのいずれかの方法。
【０１１０】
第5条。ユーザに関連する情報が、カレンダー情報、通信情報、センサー情報、および位置情報のうちの少なくとも1つを含むコンテキスト情報を備える、第1〜4条のうちのいずれかの方法。
【０１１１】
第6条。輸送サービスが最小コストサービスであるという決定に応答して、移動を完了するためにユーザが使用できる1つまたは複数の利用可能なサービスの中から輸送サービスが選択される、第1〜5条のうちのいずれかの方法。
【０１１２】
第7条。将来の時刻、最終出発時刻、または車両に最終出発時刻までに将来の位置に到着させる可能性の程度のうちの、少なくとも1つに対する変化の検出に応答して、予測時刻をコンピューティングデバイスによって更新するステップをさらに備える、第1〜6条のうちのいずれかの方法。
【０１１３】
第8条。ユーザが移動を行うつもりであることを確認する表示をコンピューティングシステムがコンピューティングデバイスから受信することに応答して、予約要求がさらに送られる、第1〜7条のうちのいずれかの方法。
【０１１４】
第9条。ユーザが移動を行うつもりであることを確認する表示が、コンピューティングデバイスが将来の位置のしきい値距離内にあることを示す位置情報を備える、第8条の方法。
【０１１５】
第10条。予約要求を送る前に、ユーザが移動を行うつもりであることを確認する要求を、コンピューティングシステムによってコンピューティングデバイスに送るステップをさらに備え、ユーザが移動を行うつもりであることを確認する表示が、要求に応答してコンピューティングデバイスから受信される確認応答を備える、第8〜9条のうちのいずれかの方法。
【０１１６】
第11条。最終目的地位置が、将来の位置から最小距離しきい値よりも遠く最大距離しきい値よりも近いという決定に応答して、輸送サービスが選択され、最小距離しきい値が、ユーザが通常はイベントまで歩く第1の最大距離に少なくとも部分的に基づいて決定され、最大距離しきい値が、ユーザが通常はイベントまで車に乗って行く第2の最大距離に少なくとも部分的に基づいて決定される、第1〜10条のうちのいずれかの方法。
【０１１７】
第12条。実行されたとき、コンピューティングシステムの少なくとも1つのプロセッサに、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測することと、移動を完了するためにユーザが使用できる輸送サービスを選択することと、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定することであって、予測時刻における車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻であることと、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、輸送サービスに関連する予約システムに送ることと、予約要求が満たされ得ることを示す確認応答の、予約システムからの受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイスに送ることとをさせる命令を備えるコンピュータ可読記憶媒体。
【０１１８】
第13条。命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、少なくとも、移動を完了するための輸送サービスに関連する推定移動継続時間を決定することと、推定移動継続時間に基づいて、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻であるものとして、最終出発時刻を決定することと、最終出発時刻に基づいて、予約要求を送った後に車両が将来の位置に到着すると予測されるまでの推定予約遅延を決定することと、少なくとも推定予約遅延だけ最終出発時刻よりも早いものとして、予測時刻をコンピューティングシステムによって決定することとによって、車両を要求すべき予測時刻を決定させる、第12条のコンピュータ可読記憶媒体。
【０１１９】
第14条。命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、少なくとも、予測時刻が、輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、その時間期間を避けるように予測時刻を調整することによって、車両を要求すべき予測時刻を決定させる、第12〜13条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２０】
第15条。予約要求が、移動を完了するために要求されるサービスの特定のクラスを指定し、命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、予測時刻が、輸送サービスに関連する市場価格の高騰に関連すると決定された時間期間内に一致するという決定に応答して、輸送サービスにとっての最低価格を取得するために、特定のクラスを選択させる、第12〜14条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２１】
第16条。ユーザに関連する情報が、カレンダー情報、通信情報、センサー情報、および位置情報のうちの少なくとも1つを含むコンテキスト情報を備える、第12〜15条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２２】
第17条。命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、輸送サービスが最小コストサービスであるという決定に応答して、移動を完了するためにユーザが使用できる1つまたは複数の利用可能なサービスの中から輸送サービスを選択させる、第12〜16条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２３】
第18条。命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、将来の時刻、最終出発時刻、または車両に最終出発時刻までに将来の位置に到着させる可能性の程度のうちの、少なくとも1つに対する変化の検出に応答して、予測時刻を更新させる、第12〜17条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２４】
第19条。命令が、実行されたとき、さらにその少なくとも1つのプロセッサに、ユーザが移動を行うつもりであることを確認する第1の表示をコンピューティングデバイスから受信することに応答して、予約要求を送らせ、ユーザが移動を行うつもりでないことを確認する第2の表示をコンピューティングデバイスから受信することに応答して、予約要求を送ることを控えさせる、第12〜18条のうちのいずれかのコンピュータ可読記憶媒体。
【０１２５】
第20条。少なくとも1つのプロセッサと、予測モジュールとを備えるコンピューティングシステムであって、予測モジュールが、少なくとも1つのプロセッサによって、コンピューティングデバイスのユーザに関連する情報に基づいて、ユーザが、将来の位置からの走行による移動を、将来の時刻までに将来の目的地に到着するように完了する必要があることを推測することと、移動を完了するためにユーザが使用できる輸送サービスを選択することと、移動を完了するための輸送サービスに関連する車両を要求すべき予測時刻を決定することであって、予測時刻における車両の要求は、車両に最終出発時刻までに将来の位置に到着させる可能性の程度がしきい値を満たすものであり、最終出発時刻は、ユーザが、移動を完了し将来の時刻までに将来の目的地に到着するために、将来の位置からの走行を開始する必要があると予測される最も遅い時刻であることと、現在時刻が車両を要求すべき予測時刻のしきい値時間量内にあるという決定に応答して、移動を完了するための輸送サービスに関連する車両を求める予約要求を、輸送サービスに関連する予約システムに送ることと、予約要求が満たされ得ることを示す確認応答の、予約システムからの受信に応答して、車両が最終出発時刻までに将来の位置に到着するようにスケジュールされていることをユーザに通知するための情報を、コンピューティングデバイスに送ることとを行うように動作可能である、コンピューティングシステム。
【０１２６】
第21条。第1〜11条の方法のうちのいずれかを実行するための手段を備えるコンピューティングシステム。
【０１２７】
第22条。実行されたとき、コンピューティングシステムの少なくとも1つのプロセッサに、第1〜11条の方法のうちのいずれかを実行させる、さらなる命令を備える、第12条のコンピュータ可読記憶媒体。
【０１２８】
第23条。第1〜11条の方法のうちのいずれかを実行するための手段を備える、第20条のコンピューティングシステム。
【０１２９】
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されてよく、またはコンピュータ可読媒体を介して送信されてよく、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当する1つもしくは複数のコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１３０】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または所望のプログラムコードを命令もしくはデータ構造の形態で記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の記憶媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、1つまたは複数のコンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１３１】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な統合論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明した機能性は、専用ハードウェアおよび/またはソフトウェアモジュール内に設けられてよい。また、技法は、1つまたは複数の回路または論理要素の中に完全に実装され得る。
【０１３２】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置の中で実施され得る。開示する技法を実行するように構成されたデバイスの機能態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示で説明されるが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、ハードウェアユニットの中で組み合わせられてよく、あるいは上記で説明したような1つまたは複数のプロセッサを好適なソフトウェアおよび/またはファームウェアとともに含む、相互動作可能なハードウェアユニットの集合によって設けられてよい。
【０１３３】
様々な実施形態が説明されている。これらおよび他の実施形態は、以下の特許請求の範囲内にある。
【符号の説明】
【０１３４】
100  システム
110  コンピューティングデバイス
112  ユーザインターフェースデバイス
114  ユーザインターフェース
120  ユーザインターフェースモジュール
122  通知モジュール
130  ネットワーク
160  情報サーバシステム
162  コンテキストモジュール
164  予測モジュール
180  輸送サーバシステム
182  予約モジュール
260  情報サーバシステム
262  コンテキストモジュール
264  予測モジュール
266  輸送モジュール
268A  ユーザ情報データ記憶装置
268B  コンテキスト履歴データ記憶装置
268C  ルールデータ記憶装置
268D  輸送サービスデータ記憶装置
270  プロセッサ
272  通信ユニット
274  記憶デバイス
276  通信チャネル
【図１】
0006567773.tif 000002
【図２】
0006567773.tif 000003
【図３】
0006567773.tif 000004
【図４】
0006567773.tif 000005
【図５】
0006567773.tif 000006
【図６Ａ】
0006567773.tif 000007
【図６Ｂ】
0006567773.tif 000008