(58)【調査した分野】(Int.Cl.,DB名)
前記予測されたサービス時点は、前記一組の履歴サービス時点が、該予測されたサービス時点に照らして統計的に最小のエラー分布を有するような時刻である、請求項1に記載のシステム。
前記エラー分布は、一組の時間差を含み、各時間差は、前記予測されたサービス時点と前記一組の履歴サービス時点のうちの1つの履歴サービス時点との間の差に関連付けられ、
前記サービス時点を予測するために、前記論理回路は、更に、
前記一組の時間差に関連付けられた離散パラメーターを求め、
前記離散パラメーターの最小値に対応する時刻を求め、
前記時刻を前記予測されたサービス時点として決定する、
請求項8に記載のシステム。
少なくとも1つのオンライン輸送サービス提供プラットフォームを通じて輸送サービスを使用する乗客の一組の履歴サービス時点を少なくとも1つの電子デバイスによって取得することであって、前記履歴サービス時点は前記乗客の配車行動を記録することによって取得されることと、
前記履歴サービス時点に関連付けられた分布情報を前記少なくとも1つの電子デバイスによって求めることと、
前記分布情報に基づいてサービス時点を前記少なくとも1つの電子デバイスによって予測することであって、前記サービス時点は前記乗客が前記輸送サービスを使用したい開始時刻であることと、
前記予測されたサービス時点よりも前の所定の期間内に、前記輸送サービスに関連付けられた情報を前記乗客に前記少なくとも1つの電子デバイスによってプッシュすることと、
を含む、方法。
前記予測されたサービス時点は、前記一組の履歴サービス時点が、該予測されたサービス時点に照らして統計的に最小のエラー分布を有するような時刻である、請求項12に記載の方法。
前記エラー分布は、一組の時間差を含み、各時間差は、前記予測されたサービス時点と前記一組の履歴サービス時点のうちの1つの履歴サービス時点との間の差に関連付けられ、
前記サービス時点を前記予測することは、
前記一組の時間差に関連付けられた離散パラメーターを前記少なくとも1つの電子デバイスによって求めることと、
前記離散パラメーターの最小値に対応する時刻を前記少なくとも1つの電子デバイスによって求めることと、
前記時刻を前記予測されたサービス時点として前記少なくとも1つの電子デバイスによって決定することと、
を含む、請求項19に記載の方法。
【発明の概要】
【0003】
本開示の一態様によれば、システムが、1つ以上の記憶媒体と、この1つ以上の記憶媒体と通信するように構成された1つ以上の処理部(プロセッサ)とを備えることができる。1つ以上の記憶媒体は、輸送サービスを使用する乗客のサービス時点を予測する一組の命令を含むことができる。1つ以上の処理部が一組の命令を実行すると、1つ以上の処理部は、次の動作のうちの1つ以上を実行するように指示されることができる。1つ以上の処理部は、少なくとも1つのオンライン輸送サービス提供プラットフォームを通じて輸送サービスを使用する乗客の一組の履歴サービス時点を取得することができる。1つ以上の処理部は、履歴サービス時点に関連付けられた分布情報を求めることができる。1つ以上の処理部は、分布情報に基づいてサービス時点を予測することができる。1つ以上の処理部は、予測されたサービス時点よりも前の所定の期間内に、輸送サービスに関連付けられた情報を乗客にプッシュすることができる。
【0004】
幾つかの実施の形態では、1つ以上の処理部は、一組の履歴サービス時点に基づいて複数の第1のベクトルを求めることができ、各第1のベクトルは、一組の履歴サービス時点からの1つの履歴サービス時点に関連付けることができる。1つ以上の処理部は、複数の第1のベクトルに基づいて第2のベクトルを求めることができる。1つ以上の処理部は、第2のベクトルに基づいてサービス時点を予測することができる。
【0005】
幾つかの実施の形態では、第2のベクトルは、複数の第1のベクトルの和に基づいて求めることができる。
【0006】
幾つかの実施の形態では、複数の第1のベクトルのそれぞれは、対応する履歴サービス時点を単位円の文字盤に投影する単位ベクトルとすることができる。
【0007】
幾つかの実施の形態では、複数の第1のベクトルのそれぞれは、直交座標系に関連付けることができる。直交座標系は、0時を指す正の水平座標と、12時を指す負の水平座標と、6時を指す正の垂直座標と、18時を指す負の垂直座標とを含むことができる。
【0008】
幾つかの実施の形態では、複数の第1のベクトルは、正の水平座標に対する複数の第1の角度に対応することができる。
【0009】
幾つかの実施の形態では、1つ以上の処理部は、正の水平座標に対する第2のベクトルの第2の角度を求めることができる。1つ以上の処理部は、第2の角度に基づいてサービス時点を予測することができる。
【0010】
幾つかの実施の形態では、予測されたサービス時点は、一組の履歴サービス時点が、この予測されたサービス時点に照らして統計的に最小のエラー分布を有することができるような時刻とすることができる。
【0011】
幾つかの実施の形態では、エラー分布は、一組の時間差を含むことができ、各時間差は、予測されたサービス時点と一組の履歴サービス時点のうちの1つの履歴サービス時点との間の差に関連付けることができる。1つ以上の処理部は、一組の時間差に関連付けられた離散パラメーターを求めることができる。1つ以上の処理部は、離散パラメーターの最小値に対応する時刻を求めることができる。1つ以上の処理部は、この時刻を予測されたサービス時点として決定することができる。
【0012】
幾つかの実施の形態では、1つ以上の処理部は、離散パラメーターの1次微分を求めることができる。1つ以上の処理部は、1次微分に基づいて離散パラメーターの最小値に対応する時刻を求めることができる。
【0013】
幾つかの実施の形態では、離散パラメーターは、一組の時間差の二乗和(quadratic sum)、一組の時間差の分散(variance)、及び/又は一組の時間差の標準偏差を含むことができる。
【0014】
本開示の別の態様によれば、方法が、以下の動作のうちの1つ以上を含むことができる。コンピューターサーバーは、少なくとも1つのオンライン輸送サービス提供プラットフォームを通じて輸送サービスを使用する乗客の一組の履歴サービス時点を取得することができる。コンピューターサーバーは、履歴サービス時点に関連付けられた分布情報を求めることができる。コンピューターサーバーは、分布情報に基づいてサービス時点を予測することができる。コンピューターサーバーは、予測されたサービス時点よりも前の所定の期間内に、輸送サービスに関連付けられた情報を乗客にプッシュすることができる。
【0015】
幾つかの実施の形態では、コンピューターサーバーは、一組の履歴サービス時点に基づいて複数の第1のベクトルを求めることができ、各第1のベクトルは、一組の履歴サービス時点からの1つの履歴サービス時点に関連付けることができる。コンピューターサーバーは、複数の第1のベクトルに基づいて第2のベクトルを求めることができる。コンピューターサーバーは、第2のベクトルに基づいてサービス時点を予測することができる。
【0016】
幾つかの実施の形態では、第2のベクトルは、複数の第1のベクトルの和に基づいて求めることができる。
【0017】
幾つかの実施の形態では、複数の第1のベクトルのそれぞれは、対応する履歴サービス時点を単位円の文字盤に投影する単位ベクトルとすることができる。
【0018】
幾つかの実施の形態では、複数の第1のベクトルのそれぞれは、直交座標系に関連付けることができる。直交座標系は、0時を指す正の水平座標と、12時を指す負の水平座標と、6時を指す正の垂直座標と、18時を指す負の垂直座標とを含むことができる。
【0019】
幾つかの実施の形態では、複数の第1のベクトルは、正の水平座標に対する複数の第1の角度に対応することができる。
【0020】
幾つかの実施の形態では、コンピューターサーバーは、正の水平座標に対する第2のベクトルの第2の角度を求めることができる。コンピューターサーバーは、第2の角度に基づいてサービス時点を予測することができる。
【0021】
幾つかの実施の形態では、予測されたサービス時点は、一組の履歴サービス時点が、この予測されたサービス時点に照らして統計的に最小のエラー分布を有することができるような時刻とすることができる。
【0022】
幾つかの実施の形態では、エラー分布は、一組の時間差を含むことができ、各時間差は、予測されたサービス時点と一組の履歴サービス時点のうちの1つの履歴サービス時点との間の差に関連付けることができる。コンピューターサーバーは、一組の時間差に関連付けられた離散パラメーターを求めることができる。コンピューターサーバーは、離散パラメーターの最小値に対応する時刻を求めることができる。コンピューターサーバーは、この時刻を予測されたサービス時点として決定することができる。
【0023】
幾つかの実施の形態では、コンピューターサーバーは、離散パラメーターの1次微分を求めることができる。コンピューターサーバーは、1次微分に基づいて離散パラメーターの最小値に対応する時刻を求めることができる。
【0024】
幾つかの実施の形態では、離散パラメーターは、一組の時間差の二乗和、一組の時間差の分散、及び/又は一組の時間差の標準偏差を含むことができる。
【0025】
追加の特徴は、以下の説明に一部が述べられ、以下の内容及び添付図面を検討することで当業者には部分的に明らかになるか、又はそれらの例の作成若しくは動作によって知得することができる。本開示の特徴は、以下で論述される詳細な例に述べられる方法論、手段及び組み合わせの様々な態様の実施又は使用によって実現及び達成することができる。
【0026】
本開示を例示的な実施形態について更に説明する。これらの例示的な実施形態は、図面を参照して詳細に説明される。これらの実施形態は、非限定の例示的な実施形態であり、同様の参照符号は、図面の幾つかの図を通して同様の構造体を表している。
【発明を実施するための形態】
【0028】
以下の説明は、いずれの当業者も本開示内容を製造及び使用することができるように提示され、特定の用途及びその要件に関して提供されている。開示された実施形態に対する様々な変更は、当業者に容易に明らかであり、本明細書において規定される一般的な原理は、本開示の趣旨及び範囲から逸脱することなく他の実施形態及び用途に適用することができる。したがって、本開示は、提示された実施形態に限定されるものではなく、特許請求の範囲と一致した最も広い範囲を与えられることになる。
【0029】
本明細書において用いられる術語は、特定の例示の実施形態を説明することのみを目的としており、限定することを意図するものではない。個数が特定されていないものが本明細書において用いられているとき、それらは、文脈が明らかに別のことを示していない限り、単数のもの及び複数のものを含む。「備える」及び/又は「含む」という用語は、本明細書において用いられるとき、明示された特徴、完全体、ステップ、動作、要素、及び/又は構成要素が存在することを明記しているが、1つ以上の他の特徴、完全体、ステップ、動作、要素、構成要素、及び/又はそれらの群が存在すること又は追加されることを排除するものではないことが更に理解されるであろう。
【0030】
本開示のこれらの特徴及び特性並びに他の特徴及び特性、更には、構造の関連した要素及び部分の組み合わせの動作の方法及び機能並びに製造の経済性は、添付図面(複数の場合もある)を参照しながら以下の説明を検討することでより明らかになり得る。添付図面(複数の場合もある)の全ては、本明細書の一部をなす。一方、図面(複数の場合もある)は、例示及び説明のみを目的としたものにすぎず、本開示の範囲を限定することを意図するものではないことが明らかに理解されるであろう。なお、図面は、一律の縮尺でないことが理解される。
【0031】
本開示において用いられるフローチャートは、システムが本開示における幾つかの実施形態に従って実施する動作を示している。フローチャートの動作は、順序どおりに実施されない場合があることが明らかに理解されるであろう。逆に、それらの動作は、逆の順序で実施される場合もあるし、同時に実施される場合もある。その上、1つ以上の他の動作が、フローチャートに追加される場合がある。1つ以上の動作がフローチャートから除去される場合がある。
【0032】
その上、本開示におけるシステム及び方法は、主として目標の車両/提供者を決定することに関して説明されているが、これは1つの例示的な実施形態にすぎないことも理解されるべきである。本開示のシステム又は方法は、他の任意の種類のオンデマンドサービスに適用することができる。例えば、本開示のシステム又は方法は、陸上、海上、航空宇宙空間等、又はそれらの任意の組み合わせを含む種々の輸送システムに適用することができる。輸送システムの車両は、タクシー、自家用車、ヒッチハイク、バス、列車、弾丸列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人車両等、又はそれらの任意の組み合わせを含むことができる。輸送システムは、管理及び/又は配送を適用する任意の輸送システム、例えば、速達便を送付及び/又は受領するシステムも含むことができる。本開示のシステム又は方法の用途のシナリオは、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部解析システム、人工知能ロボット等、又はそれらの任意の組み合わせを含むことができる。
【0033】
本開示における「乗客」、「要求者」、「サービス要求者」、及び「顧客」という用語は、サービスを要求又はオーダーすることができる個人、団体又はツールを指すために区別なく用いられる。また、本開示における「ドライバー」、「提供者」、「サービス提供者」、及び「供給者」という用語は、サービスを提供することができるか又はサービスの提供を容易にすることができる個人、団体又はツールを指すために区別なく用いられる。本開示における「ユーザー」という用語は、サービスを要求することができる個人、団体若しくはツール、サービスをオーダーすることができる個人、団体若しくはツール、サービスを提供することができる個人、団体若しくはツール、又はサービスの提供を容易にすることができる個人、団体若しくはツールを指すことができる。例えば、ユーザーは、乗客、ドライバー、オペレーター等、又はそれらの任意の組み合わせであってもよい。本開示において、「乗客」及び「乗客端末」は、区別なく用いられる場合があり、「ドライバー」及び「ドライバー端末」は、区別なく用いられる場合がある。
【0034】
本開示における「サービス要求」及び「オーダー」という用語は、乗客、要求者、サービス要求者、顧客、ドライバー、提供者、サービス提供者、供給者等、又はそれらの任意の組み合わせが開始することができる要求を指すために区別なく用いられる。サービス要求は、乗客、要求者、サービス要求者、顧客、ドライバー、提供者、サービス提供者、又は供給者のうちの任意の者が受理することができる。サービス要求は、有料の場合もあるし、無料の場合もある。
【0035】
本開示において用いられる測位技術は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパスナビゲーションシステム(COMPASS)、ガリレオ測位システム、準天頂衛星システム(QZSS)、ワイヤレスフィデリティー(WiFi)測位技術等、又はそれらの任意の組み合わせを含むことができる。上記測位技術のうちの1つ以上は、本開示において区別なく用いられる場合がある。
【0036】
本開示の一態様は、乗客が輸送サービス(例えば、オンラインタクシー配車)を用いるサービス時点を、この輸送サービスに関連したユーザーの履歴オンライン行動に基づいて予測するオンラインシステム及びオンライン方法を提供する。
【0037】
当然ながら、オンラインタクシー配車等のオンラインオンデマンド輸送サービスは、ポストインターネット時代にのみ根差した新たなサービス形態である。この新たなサービス形態は、ポストインターネット時代にのみ出現し得る技術的ソリューションをユーザー及びサービス提供者に提供する。プレインターネット時代では、ユーザーが街路上でタクシーを呼び止めるとき、タクシー要求及び受理は、乗客と、この乗客を認識した1人のタクシードライバーとの間でしか行われない。乗客が電話の呼び出しによってタクシーを呼ぶ場合、サービス要求及び受理は、乗客と1人のサービス提供者(例えば、1つのタクシー会社又は代行業者)との間でしか行われない場合がある。一方、オンラインタクシー配車によると、サービスのユーザーは、ユーザーから離れた距離にある膨大な数の個々のサービス提供者(例えば、タクシー)にサービス要求をリアルタイムで自動的に配信することが可能になる。また、オンラインタクシー配車によると、複数のサービス提供者が、このサービス要求に同時かつリアルタイムに応答することも可能になる。一方で、現代社会では、タクシーサービスは、巨大規模の産業になっている。数百万人の乗客が、オンラインタクシー配車プラットフォームを介して毎日タクシーに乗車している。インターネットの援助を受けることによってのみ、乗客のタクシー乗車行動の行動研究が可能になる。したがって、乗客のオンラインタクシー配車行動を通じたタクシー配車の予測も、ポストインターネット時代にのみ根差した新たなサービス形態である。
【0038】
図1は、幾つかの実施形態に係る一例示的なオンデマンドサービスシステム100のブロック図である。オンデマンドサービスシステム100は、サーバー110と、ネットワーク120と、要求者端末130と、提供者端末140と、データベース150とを備えるオンラインプラットフォームとすることができる。サーバー110は、処理エンジン112を備えることができる。
【0039】
幾つかの実施形態では、サーバー110は、単一のサーバーであってもよいし、サーバーグループであってもよい。サーバーグループは、集中型であってもよいし、分散型であってもよい(例えば、サーバー110は分散型システムであってもよい)。幾つかの実施形態では、サーバー110は、ローカルであってもよいし、リモートであってもよい。例えば、サーバー110は、要求者端末130、提供者端末140、及び/又はデータベース150に記憶された情報及び/又はデータにネットワーク120を介してアクセスすることができる。別の例として、サーバー110は、要求者端末130、提供者端末140、及び/又はデータベース150に直接接続されて、記憶された情報及び/又はデータにアクセスすることができる。幾つかの実施形態では、サーバー110は、クラウドプラットフォーム上で実施されてもよい。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウド等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、サーバー110は、本開示における
図2に示す1つ以上の構成要素を有するコンピューティングデバイス200上で実施されてもよい。
【0040】
幾つかの実施形態では、サーバー110は、処理エンジン112を備えることができる。処理エンジン112は、サービス要求に関する情報及び/又はデータを処理して、本開示において説明する1つ以上の機能を実行することができる。例えば、処理エンジン112は、輸送サービスを使用する乗客の一組の履歴サービス時点に基づいてサービス時点を予測することができる。幾つかの実施形態では、処理エンジン112は、1つ以上の処理エンジン(例えば、シングルコア処理エンジン(複数の場合もある)又はマルチコアプロセッサ(複数の場合もある))を含むことができる。単なる例として、処理エンジン112は、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィックス処理装置(GPU)、物理処理装置(PPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラー、マイクロコントローラーユニット、縮小命令セットコンピューター(RISC)、マイクロプロセッサ等、又はそれらの任意の組み合わせを含むことができる。
【0041】
ネットワーク120は、情報及び/又はデータの交換を容易にすることができる。幾つかの実施形態では、オンデマンドサービスシステム100における1つ以上の構成要素(例えば、サーバー110、要求者端末130、提供者端末140、及びデータベース150)は、ネットワーク120を介してオンデマンドサービスシステム100における他の構成要素(複数の場合もある)に情報及び/又はデータを送信することができる。例えば、サーバー110は、要求者端末130からネットワーク120を介してサービス要求を取得/入手することができる。幾つかの実施形態では、ネットワーク120は、任意のタイプの有線ネットワーク若しくは無線ネットワーク、又はそれらの組み合わせであってもよい。単なる例として、ネットワーク130は、ケーブルネットワーク、ワイヤーラインネットワーク、光ファイバーネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、公衆電話交換網(PSTN)、Bluetooth(登録商標)ネットワーク、ZigBee(登録商標)ネットワーク、近接場通信(NFC)ネットワーク等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、ネットワーク120は、1つ以上のネットワークアクセスポイントを備えることができる。例えば、ネットワーク120は、基地局及び/又はインターネットエクスチェンジポイント120−1、120−2、...等の有線ネットワークアクセスポイント又は無線ネットワークアクセスポイントを備えることができ、これらのアクセスポイントを通じて、オンデマンドサービスシステム100の1つ以上の構成要素は、ネットワーク120に接続されてデータ及び/又は情報を交換することができる。
【0042】
幾つかの実施形態では、要求者は、要求者端末130のユーザーである場合がある。幾つかの実施形態では、要求者端末130のユーザーは、要求者以外の者である場合がある。例えば、要求者端末130のユーザーAは、要求者端末130を用いて、ユーザーBのサービス要求を送信することもできるし、サービス及び/又は情報若しくは命令をサーバー110から受信することもできる。幾つかの実施形態では、提供者は、提供者端末140のユーザーである場合がある。幾つかの実施形態では、提供者端末140のユーザーは、提供者以外の者である場合がある。例えば、提供者端末140のユーザーCは、提供者端末140を用いて、ユーザーDのためにサービス要求、及び/又は情報若しくは命令をサーバー110から受信することができる。幾つかの実施形態では、「要求者」及び「要求者端末」は、区別なく用いられる場合があり、「提供者」及び「提供者端末」は、区別なく用いられる場合がある。
【0043】
幾つかの実施形態では、要求者端末130は、モバイルデバイス130−1、タブレットコンピューター130−2、ラップトップコンピューター130−3、自動車内の組み込みデバイス130−4等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、モバイルデバイス130−1は、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイス等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマート監視デバイス、スマートテレビ、スマートビデオカメラ、インターフォン等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、ウェアラブルデバイスは、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣服、スマートバックパック、スマートアクセサリー等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、スマートモバイルデバイスは、スマートフォン、パーソナルデジタルアシスタント(PDA:携帯情報端末)、ゲーミングデバイス、ナビゲーションデバイス、販売時点(POS)デバイス等、又はそれらの任意の組み合わせを含むことができる。幾つかの実施形態では、仮想現実デバイス及び/又は拡張現実デバイスは、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチ等、又はそれらの任意の組み合わせを含むことができる。例えば、仮想現実デバイス及び/又は拡張現実デバイスは、Google(登録商標) Glass、Oculus Rift(登録商標)、Hololens、Gear VR等を含むことができる。幾つかの実施形態では、自動車内の組み込みデバイス130−4は、オンボードコンピューター、オンボードテレビ等を含むことができる。幾つかの実施形態では、要求者端末130は、要求者及び/又は要求者端末130の場所を突き止める測位技術を有するデバイスであってもよい。
【0044】
幾つかの実施形態では、提供者端末140は、要求者端末130と同様のものであってもよいし、同じデバイスであってもよい。幾つかの実施形態では、提供者端末140は、提供者及び/又は提供者端末140の場所を突き止める測位技術を有するデバイスであってもよい。幾つかの実施形態では、要求者端末130及び/又は提供者端末140は、他の測位デバイスと通信して、要求者、要求者端末130、提供者、及び/又は提供者端末140の場所を求めることができる。幾つかの実施形態では、要求者端末130及び/又は提供者端末140は、測位情報をサーバー110に送信することができる。
【0045】
データベース150は、データ及び/又は命令を記憶することができる。幾つかの実施形態では、データベース150は、要求者端末130及び/又は提供者端末140から取得されたデータを記憶することができる。幾つかの実施形態では、データベース150は、サーバー110が、実行又は使用して、本開示において説明する例示的な方法を実行することができるデータ及び/又は命令を記憶することができる。幾つかの実施形態では、データベース150は、マスストレージ、リムーバブルストレージ、揮発性リードライトメモリ、リードオンリーメモリ(ROM)等、又はそれらの任意の組み合わせを含むことができる。例示的なマスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブ等を含むことができる。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、zipディスク、磁気テープ等を含むことができる。例示的な揮発性リードライトメモリは、ランダムアクセスメモリ(RAM)を含むことができる。例示的なRAMは、ダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T−RAM)、及びゼロキャパシタRAM(Z−RAM)等を含むことができる。例示的なROMは、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(PEROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD−ROM)、及びデジタル多用途ディスクROM等を含むことができる。幾つかの実施形態では、データベース150は、クラウドプラットフォーム上で実施されてもよい。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウド等、又はそれらの任意の組み合わせを含むことができる。
【0046】
幾つかの実施形態では、データベース150は、ネットワーク120に接続されて、オンデマンドサービスシステム100における1つ以上の構成要素(例えば、サーバー110、要求者端末130、提供者端末140等)と通信することができる。オンデマンドサービスシステム100における1つ以上の構成要素は、データベース150に記憶されたデータ又は命令にネットワーク120を介してアクセスすることができる。幾つかの実施形態では、データベース150は、オンデマンドサービスシステム100における1つ以上の構成要素(例えば、サーバー110、要求者端末130、提供者端末140等)に直接接続することもできるし、これらの構成要素と通信することもできる。幾つかの実施形態では、データベース150は、サーバー110の一部分であってもよい。
【0047】
幾つかの実施形態では、オンデマンドサービスシステム100における1つ以上の構成要素(例えば、サーバー110、要求者端末130、提供者端末140等)は、データベース150にアクセスする許可を有することができる。幾つかの実施形態では、オンデマンドサービスシステム100における1つ以上の構成要素は、1つ以上の条件が満たされたとき、要求者、提供者、及び/又は公衆に関する情報を読み出し及び/又は変更することができる。例えば、サーバー110は、サービス後に1人以上のユーザーの情報を読み出し及び/又は変更することができる。別の例として、提供者端末140は、要求者端末130からサービス要求を受信すると、要求者に関する情報にアクセスすることはできるが、提供者端末140は、要求者の関連情報を変更することはできない。
【0048】
幾つかの実施形態では、オンデマンドサービスシステム100における1つ以上の構成要素の情報交換は、サービスの要求を介して達成することができる。サービス要求の対象は、任意の商品(product:生産品)とすることができる。幾つかの実施形態では、この商品は、有形の商品であってもよいし、非物質的な商品であってもよい。有形の商品は、食料品、医薬品、日用品、化学製品、電気器具、衣料品、自動車、家屋物件、高級品等、又はそれらの任意の組み合わせを含むことができる。非物質的な商品は、サービス財、金融商品、知的産物、インターネット商品等、又はそれらの任意の組み合わせを含むことができる。インターネット商品は、個別ホスト商品、ウェブ商品、モバイルインターネット商品、商用ホスト商品、組み込み商品等、又はそれらの任意の組み合わせを含むことができる。モバイルインターネット商品は、モバイル端末のソフトウェア、プログラム又はシステム等、又はそれらの任意の組み合わせにおいて用いることができる。モバイル端末は、タブレットコンピューター、ラップトップコンピューター、モバイルフォン、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、販売時点(POS)デバイス、オンボードコンピューター、オンボードテレビ、ウェアラブルデバイス等、又はそれらの任意の組み合わせを含むことができる。例えば、商品は、コンピューター又はモバイルフォンにおいて用いられる任意のソフトウェア及び/又はアプリケーションであってもよい。このソフトウェア及び/又はアプリケーションは、ソーシャライジング、ショッピング、輸送、娯楽、学習、投資等、又はそれらの任意の組み合わせに関するものであってもよい。幾つかの実施形態では、輸送に関するソフトウェア及び/又はアプリケーションは、旅行ソフトウェア及び/又は旅行アプリケーション、車両スケジューリングソフトウェア及び/又は車両スケジューリングアプリケーション、地図ソフトウェア及び/又は地図アプリケーション等を含むことができる。車両スケジューリングソフトウェア及び/又は車両スケジューリングアプリケーションにおいて、車両は、馬、運搬車、人力車(例えば、一輪手押し車、二輪自転車、三輪自転車等)、自動車(例えば、タクシー、バス、自家用車等)、列車、地下鉄、船舶、航空機(例えば、飛行機、ヘリコプター、スペースシャトル、ロケット、熱気球等)等、又はそれらの任意の組み合わせを含むことができる。
【0049】
図2は、本開示の幾つかの実施形態に係る、サーバー110、要求者端末130、及び/又は提供者端末140を実施することができるコンピューティングデバイス200の例示的なハードウェア構成要素及びソフトウェア構成要素を示す概略図である。例えば、処理エンジン112は、コンピューティングデバイス200上で実施することができ、本開示において開示された処理エンジン112の機能を実行するように構成することができる。
【0050】
コンピューティングデバイス200は、汎用コンピューターであってもよいし、専用コンピューターであってもよく、いずれも、本開示のオンデマンドシステムを実施するのに用いることができる。コンピューティングデバイス200は、本明細書において説明するようなオンデマンドサービスの任意の構成要素を実施するのに用いることができる。例えば、処理エンジン112は、コンピューティングデバイス200上で、そのハードウェア、ソフトウェアプログラム、ファームウェア、又はそれらの組み合わせによって実施することができる。便宜上、1つのそのようなコンピューターしか示されていないが、本明細書において説明するようなオンデマンドサービスに関するコンピューターの機能は、処理負荷を分散させるために、複数の同様のプラットフォーム上に分散形式で実施されてもよい。
【0051】
コンピューティングデバイス200は、例えば、ネットワークに接続されて、接続されたネットワークに対するデータ通信を容易にするCOMポート250を備えることができる。コンピューティングデバイス200は、プログラム命令を実行する1つ以上のプロセッサの形態の中央処理装置(CPU)220も備えることができる。この例示的なコンピュータープラットフォームは、内部通信バス210と、種々の形態のプログラム記憶装置及びデータ記憶装置、例えばディスク270と、このコンピューターによって処理及び/又は送信される様々なデータファイルのためのリードオンリーメモリ(ROM)230又はランダムアクセスメモリ(RAM)240とを備えることができる。この例示的なコンピュータープラットフォームは、CPU220によって実行される、ROM230、RAM240、及び/又は他のタイプの非一時的記憶媒体に記憶されたプログラム命令も有することができる。本開示の方法及び/又はプロセスは、プログラム命令として実施されてもよい。コンピューティングデバイス200は、このコンピューターと、ユーザーインターフェース要素280等の当該コンピューターにおける他の構成要素との間の入力/出力をサポートするI/O構成要素260も備える。コンピューティングデバイス200は、ネットワーク通信を介してプログラミング及びデータも受信することができる。
【0052】
単なる例示として、1つのCPU及び/又はプロセッサのみがコンピューティングデバイス200において説明されている。しかしながら、当然ながら、本開示におけるコンピューティングデバイス200は、複数のCPU及び/又はプロセッサも備えてもよく、したがって、本開示において説明するように1つのCPU及び/又はプロセッサによって実行される動作及び/又は方法ステップは、複数のCPU及び/又はプロセッサによって共同で又は別々に実行されてもよい。例えば、本開示において、コンピューティングデバイス200のCPU及び/又はプロセッサが、ステップA及びステップBの双方を実行する場合、ステップA及びステップBは、コンピューティングデバイス200における2つの異なるCPU及び/又はプロセッサによって共同で又は別々に実行されてもよい(例えば、第1のプロセッサがステップAを実行し、第2のプロセッサがステップBを実行するか、又は、第1のプロセッサ及び第2のプロセッサがステップA及びステップBを共同で実行する)ことが理解されるであろう。
【0053】
図3−Aは、本開示の幾つかの実施形態に係る一例示的な処理エンジン112を示すブロック図である。処理エンジン112は、取得モジュール302と、決定モジュール304と、予測モジュール306とを備えることができる。
【0054】
取得モジュール302は、輸送サービスを使用する乗客の一組の履歴サービス時点を取得するように構成することができる。サービス時点は、本明細書において用いられるとき、乗客が輸送サービスを使用したい開始時刻を指すことができる。
【0055】
決定モジュール304は、一組の履歴サービス時点に関連付けられた分布情報を求めるように構成することができる。例えば、一組の履歴サービス時点のそれぞれについて、決定モジュール304は、直交座標系におけるベクトルを求めることができる。
【0056】
予測モジュール306は、分布情報に基づいてサービス時点を予測するように構成することができる。例えば、予測モジュール306は、一組の履歴サービス時点に対応する複数のベクトルに基づいてサービス時点を予測することができる。幾つかの実施形態では、予測モジュール306は、アプリケーションプログラムインターフェース(API)を介してgolangフレームに従ってサービス時点を予測することができる。
【0057】
幾つかの実施形態では、処理エンジン112は、プッシュモジュール(
図3−Aに図示せず)を更に備えることができる。このプッシュモジュールは、輸送サービスに関連付けられた情報を乗客にプッシュするように構成することができる。例えば、このプッシュモジュールは、予測されたサービス時点よりも前の所定の期間内に、利用可能な提供者に関する情報(例えば、割引情報、交通状況)を乗客にプッシュすることができる。この所定の期間は、10分、15分、30分、45分等とすることができる。
【0058】
処理エンジン112内のモジュールは、有線接続又は無線接続を介して互いに接続又は通信することができる。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブル等、又はそれらの任意の組み合わせを含むことができる。無線接続は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)、ZigBee(登録商標)、近接場通信(NFC)等、又はそれらの任意の組み合わせを含むことができる。これらのモジュールのうちの2つ以上は、単一のモジュールとして組み合わされてもよく、これらのモジュールのうちのいずれか1つは、2つ以上のユニットに分割されてもよい。例えば、取得モジュール302及び決定モジュール304は、一組の履歴サービス時点を取得するとともに一組の履歴サービス時点の分布情報を求めることができる単一のモジュールとして統合されてもよい。
【0059】
図3−Bは、本開示の幾つかの実施形態に係るサービス時点を予測する一例示的なプロセス/方法300を示すフローチャートである。プロセス及び/又は方法300は、オンデマンドサービスシステム100によって実行することができる。例えば、このプロセス及び/又は方法は、記憶装置のROM230又はRAM240に記憶された一組の命令(例えば、アプリケーション)として実施することができる。CPU210は、一組の命令を実行することができ、それに応じて、プロセス及び/又は方法300を実行するように指示を受けることができる。
【0060】
ステップ303において、処理エンジン112は、輸送サービスを使用する乗客の一組の履歴サービス時点を取得することができる。
【0061】
例えば、輸送サービスは、タクシーサービスであってもよい。これらの一組の履歴サービス時点は、24時間制で表すことができる。サービス時点は、乗客が輸送サービスを使用したい開始時刻を指すことができる。処理エンジン112は、オンラインオンデマンドサービスシステム100を介して乗客のタクシー配車行動を記録することによって、乗客の履歴サービス時点を取得することができる。処理エンジン112は、リアルタイム又は或る特定の時間間隔(例えば、10分)で乗客の履歴サービス時点を取得することができる。乗客は、輸送サービスを使用するために、オンデマンドサービスシステム100に輸送サービス要求を送信することができる。輸送サービス要求は、リアルタイム要求及び/又はアポイントメント(appointment:予約)要求を含むことができる。リアルタイム要求は、本明細書において用いられるとき、要求者が現時点において、又は当業者にとって現時点にかなり近い規定時刻において輸送サービスを使用したいという要求とすることができる。例えば、規定時刻が、1分、5分、10分又は20分等の閾値よりも近い時点である場合に、要求はリアルタイム要求とすることができる。アポイントメント要求は、要求者が、当業者にとって現時点からかなり遠い規定時刻において輸送サービスを使用したい要求を指すことができる。例えば、規定時刻が、20分、2時間、又は1日等の閾値よりも遠い時点である場合に、要求はアポイントメント要求とすることができる。幾つかの実施形態では、処理エンジン112は、時間閾値に基づいてリアルタイム要求又はアポイントメント要求を定義することができる。この時間閾値は、システム100のデフォルト設定であってもよいし、異なる状況に応じて調整可能であってもよい。例えば、より多くのサービス需要があるピーク需要期間では、時間閾値は、相対的に小さくすることができ(例えば、10分)、それ以外において、サービス需要が少ないアイドル期間(例えば、午前10:00〜午前12:00)では、時間閾値は、相対的に大きくすることができる(例えば、1時間)。
【0062】
ステップ305において、処理エンジン112は、一組の履歴サービス時点に関する分布情報を求めることができる。
【0063】
例えば、一組の履歴サービス時点のそれぞれについて、処理エンジン112は、座標系におけるベクトルを求めることができる。この座標系は、直交座標系、極座標系、球面座標系、円柱座標系等、又はそれらの組み合わせを含むことができる。別の例として、処理エンジン112は、一組の履歴サービス時点の統計情報を求めることができる。この統計情報は、本明細書において用いられるとき、乗客が、オンラインタクシー配車サービスの実行及び/又は乗客がオンラインで呼んだタクシーへの乗車等のオンラインオンデマンドサービスを使用した履歴サービス時点の離散分布を示すことができる。
【0064】
ステップ307において、処理エンジン112は、この分布情報に基づいてサービス時点を予測することができる。例えば、処理エンジン112は、一組の履歴サービス時点に対応する複数のベクトルの和に基づいてサービス時点を予測することができる。別の例として、処理エンジン112は、一組の履歴サービス時点の統計情報に基づいてサービス時点を予測することができる。処理エンジン112は、リアルタイム又は或る特定の時間間隔(例えば、10分)で、サービス時点を予測することができ、又は予測されたサービス時点を更新することができる。
【0065】
処理エンジン112がサービス時点を予測した後、処理エンジン112は、予測されたサービス時点よりも前の所定の期間内に輸送サービスに関連付けられた情報(例えば、割引情報、交通状況)を乗客にプッシュすることができる。この所定の期間は、システム100のデフォルト設定であってもよいし、異なる状況に応じて調整可能であってもよい。例えば、所定の期間は、10分、15分、30分、45分等とすることができる。
【0066】
図4は、本開示の幾つかの実施形態に係るサービス時点を予測する一例示的なプロセス/方法400を示すフローチャートである。プロセス及び/又は方法400は、オンデマンドサービスシステム100によって実行することができる。例えば、このプロセス及び/又は方法は、記憶装置のROM230又はRAM240に記憶された一組の命令(例えば、アプリケーション)として実施することができる。CPU210は、これらの一組の命令を実行することができ、それに応じて、プロセス及び/又は方法400を実行するように指示を受けることができる。
【0067】
ステップ402において、処理エンジン112は、一組の履歴サービス時点に基づいて複数の第1のベクトルを求めることができる。複数の第1のベクトルのそれぞれは、一組の履歴サービス時点の中の1つの履歴サービス時点に対応する。幾つかの実施形態では、複数の第1のベクトルのそれぞれは、多次元ベクトル(例えば、2次元ベクトル、3次元ベクトル)であってもよい。
【0068】
複数の第1のベクトルは、座標系において表すことができる。この座標系は、直交座標系、極座標系、球面座標系、円柱座標系等、又はそれらの組み合わせを含むことができる。例えば、複数の第1のベクトルのそれぞれは、履歴サービス時点を円形の文字盤に投影することができる。このために、直交座標系は、正の水平座標、負の水平座標、正の垂直座標、及び負の垂直座標を含むことができる。直交座標系では、複数の第1のベクトルのそれぞれは、単位ベクトルとすることができ、複数の第1のベクトルのそれぞれについて、処理エンジン112は、正の水平座標に対する第1の角度(例えば、
図5に示すθ
1)を求めることができる。例えば、処理エンジン112は、i番目の第1のベクトルを(cosθ
i,sinθ
i)として求めることができる。ここで、θ
iは、正の水平座標に対するi番目の第1のベクトルのi番目の第1の角度である。処理エンジン112は、以下の式(1)に従って第1の角度を求めることができる。
【0069】
【数1】
ここで、θ
iは、i番目の第1の角度を指し、X
iは、i番目の履歴サービス時点を指す。例えば、履歴サービス時点が8:30である場合、X
iの値は8.5であり、履歴サービス時点が8:15である場合、X
iの値は8.25である。別の例として、履歴サービス時点が3:00である場合、第1の角度はπ/4であり、履歴サービス時点が22:00である場合、第1の角度は11π/6であり、履歴サービス時点が23:00である場合、第1の角度は23π/12である。したがって、0時と24時との間の任意の時点を、0時〜24時の文字盤上のベクトルとして表すことができる。換言すれば、上記例における第1のベクトル系は、1日の各時点を単位円上の単位ベクトルに投影することができ、その時点は、単位円におけるその単位ベクトルの角度として表される。
【0070】
ステップ404において、処理エンジン112は、複数の第1のベクトルに基づいて第2のベクトルを求めることができる。
【0071】
処理エンジン112は、正の水平座標に対する第2のベクトルの第2の角度を更に求めることができる。幾つかの実施形態では、第2のベクトルは、複数の第1のベクトルの和とすることができる。例えば、処理エンジン112は、以下の式(2)に従って第2のベクトルを求めることができる。
【0072】
【数2】
ここで、(cosθ
t,sinθ
t)は、第2のベクトルを指し、θ
tは、第2の角度を指し、nは、一組の履歴サービス時点の数を指す。
【0073】
幾つかの実施形態では、処理エンジン112は、第2のベクトルを正規化することができる。例えば、処理エンジン112は、第2のベクトルを第2の単位ベクトル(例えば、
図5に示す
【0074】
【数3】
)として変更することができる。
【0075】
ステップ406において、処理エンジン112は、第2のベクトルに基づいてサービス時点を予測することができる。このサービス時点を予測するために、処理エンジン112は、以下の式(3)に従って第2の角度を求めることができる。
【0076】
【数4】
ここで、θ
tは、第2の角度を指す。
【0077】
処理エンジン112が第2の角度を求めた後、処理エンジン112は、第2の角度に基づいて、以下の式(4)に従ってサービス時点を予測することができる。
【0078】
【数5】
ここで、X
tは、予測されたサービス時点を指す。
【0079】
当然ながら、上記説明は、単に例示として提供されているにすぎず、本開示の範囲を限定することを意図するものではない。当業者であれば、本開示の教示の下で複数の変形及び変更を行うことができる。例えば、第2のベクトルは、複数の第1のベクトルの平均又は加重平均であってもよい。ただし、それらの変形及び変更は、本開示の範囲から逸脱するものではない。
【0080】
図5は、本開示の幾つかの実施形態に係る直交座標系における一例示的な第1のベクトル及び一例示的な第2のベクトルを示す概略図である。
【0081】
図示するように、直交座標系は、正の水平座標、負の水平座標、正の垂直座標、及び負の垂直座標を含むことができる。点Oは、直交座標系の原点を指す。処理エンジン112は、原点Oからの単位円を定めることができる。図示するように、単位円と正の水平座標との交点は点Fであり、ベクトル
【0082】
【数6】
は、0時(「0:00」としても表される)を指す。単位円と負の水平座標との交点は点Hであり、ベクトル
【0083】
【数7】
は、12時(「12:00」としても表される)を指す。単位円と正の垂直座標との交点は点Gであり、ベクトル
【0084】
【数8】
は、6時(「6:00」としても表される)を指す。単位円と負の垂直座標との交点は点Mであり、ベクトル
【0085】
【数9】
は、18時(「18:00」としても表される)を指す。
【0086】
処理エンジン112は、第1の履歴サービス時点と、第2の履歴サービス時点と、第3の履歴サービス時点とを取得することができる。処理エンジンは、第1の履歴サービス時点に対応するベクトル
【0087】
【数10】
と、第2の履歴サービス時点に対応するベクトル
【0088】
【数11】
と、第3の履歴サービス時点に対応するベクトル
【0089】
【数12】
とを直交座標系において更に求めることができる。
【0091】
【数13】
について、処理エンジン112は、正の水平座標に対する第3の角度θ
1を求めることができる。同様に、ベクトル
【0092】
【数14】
について、処理エンジン112は、正の水平座標に対する第4の角度θ
2を求めることができる。ベクトル
【0093】
【数15】
について、処理エンジン112は、正の水平座標に対する第5の角度θ
3を求めることができる。
【0094】
さらに、処理エンジン112は、ベクトル
【0097】
【数18】
との和に基づいて、ベクトル
【0098】
【数19】
を求めることができる。そして、ベクトル
【0099】
【数20】
について、処理エンジン112は、正の水平座標に対する第6の角度θ
4を求めることができる。処理エンジン112は、第6の角度θ
4に基づいて、式(3)及び式(4)に従ってサービス時点を予測することができる。
【0100】
幾つかの実施形態では、処理エンジン112は、ベクトル
【0101】
【数21】
を更に正規化することができる。例えば、処理エンジン112は、ベクトル
【0102】
【数22】
と単位円との交点Eを求め、ベクトル
【0103】
【数23】
を正規化ベクトルとして求めることができる。
【0104】
当然ながら、
図5の記載は、例示として提供されており、本開示の範囲を限定することを意図するものではない。複数の第1のベクトル及び第2のベクトルに関連付けられた座標系は、直交座標系に限定されなくてもよい。
【0105】
図6は、本開示の幾つかの実施形態に係るサービス時点を予測する一例示的なプロセス/方法600を示すフローチャートである。プロセス及び/又は方法600は、オンデマンドサービスシステム100によって実行することができる。例えば、このプロセス及び/又は方法は、記憶装置のROM230又はRAM240に記憶された一組の命令(例えば、アプリケーション)として実施することができる。CPU210は、一組の命令を実行することができ、それに応じて、プロセス及び/又は方法600を実行するように指示を受けることができる。
【0106】
ステップ602において、処理エンジン112は、時間変数を求めることができる。
【0107】
この時間変数は、本明細書において用いられるとき、処理エンジン112がサービス時点を予測する際に基づくことができる、求められる変数を指すことができる。
【0108】
ステップ604において、処理エンジン112は、時間変数及び一組の履歴サービス時点に基づいて、以下の式(5)に従って一組の時間差(「エラー分布」とも呼ばれる)を取得することができる。複数の時間差のそれぞれは、一組の履歴サービス時点の中の1つの履歴サービス時点に対応することができる。
【0109】
【数24】
ここで、X
sは、時間変数を指し、X
iは、一組の履歴サービス時点の中のi番目の履歴サービス時点を指し、difference(X
s,X
i)は、時間変数とi番目の履歴サービス時点との間の時間差を指す。
【0110】
|X
s−X
i|≦12であるとき、上記時間差は、以下のように表すことができ、
【0111】
【数25】
|X
s−X
i|>12であるとき、上記時間差は、以下のように表すことができることがわかる。
【0112】
【数26】
ステップ606において、処理エンジン112は、複数の時間差に関する離散パラメーターを求めることができる。この離散パラメーターは、本明細書において用いられるとき、時間変数と一組の履歴サービス時点との分散度(dispersion degree)を示すことができる。離散パラメーターは、分散、標準偏差、二乗和等、又はそれらの組み合わせを含むことができる。例えば、処理エンジン112は、以下の式(8)に従って複数の時間差の二乗和を求めることができる。
【0113】
【数27】
ここで、L(X
s)は、複数の時間差の二乗和を指す。
【0114】
ステップ608において、処理エンジン112は、離散パラメーターに基づいて時間変数の値を求めることができる。処理エンジン112は、離散パラメーターの最小値に対応する時間変数の値を求めることができる。例えば、処理エンジン112は、以下の式(9)に従って離散パラメーターの1次微分を求めることができる。
【0115】
【数28】
ここで、L(X
s)’は、複数の時間差の二乗和の1次微分を指す。
【0116】
式(9)によれば、予測されたサービス時点は、一組の履歴サービス時点が、予測されたサービス時点に照らして統計的に最小のエラー分布を有するような時刻とすることができる。すなわち、予測されたサービス時点は、複数の時間差の二乗和の1次微分を0に等しくする時間変数の値とすることができる。
【0117】
離散パラメーターの1次微分を0に等しくする時間変数の値を求めるために、処理エンジン112は、以下の式(10)及び式(11)に従って時間変数の第1の値を求めることができる。
【0118】
【数29】
上記式(10)及び式(11)によれば、処理エンジン112は、以下のように時間変数の第1の値を求めることができる。
【0119】
【数30】
処理エンジン112は、以下に示す、時間変数の複数の第1の値を含む第1の集合を更に求めることができる。
【0120】
【数31】
ここで、Sは第1の集合を指す。
【0121】
第1の集合には、0以下の第1の要素と、24よりも大きい第2の要素とが存在し得ることがわかる。処理エンジン112は、これらの第1の要素及び第2の要素を第1の集合から除去し、以下に示す第2の集合を求めることができる。
【0122】
【数32】
当然ながら、第2の集合内の要素は順次的である。すなわち、a
i+1の値はa
iの値よりも大きい。第2の集合内の要素の数は2nであることがわかる。
【0123】
処理エンジン112は、要素「0」及び要素「24」を第2の集合に更に加え、以下に示す第3の集合を求めることができる。
【0124】
【数33】
第3の集合内の要素は、数値軸上に配置されていると仮定することができ、この数値軸は、要素によって複数の区画(section)に分割することができる。第3の集合内の要素の数は2n+2であり、複数の区画の数は2n+1であることは明らかである。
【0125】
複数の区画のそれぞれについて、処理エンジン112は、複数の時間差の二乗和の1次微分を0に等しくする、その区画内の時間変数の1つ以上の第2の値(すなわち、その区画内の時間変数の1つ以上の第2の値は、二乗和の最小値に対応する)を求めることができる。時間変数の1つ以上の第2の値を求めるこのプロセスの間、処理エンジン112は、まず、特定の区画を選択し、時間変数の値がこの特定の区画内にあると仮定することができ、次いで、処理エンジン112は、式(9)を解析し、複数の時間差の二乗和の1次微分を0に等しくする時間変数の第3の値を求めることができる。処理エンジン112は、第3の値が上記特定の区画内にあるか否かを判断することができ、第3の値が上記特定の区画内にある場合、処理エンジン112は、この第3の値を記憶することができる。第3の値が上記特定の区画内にない場合、処理エンジン112は、複数の区画が全て選択されるまで、別の区画を選択し、上記プロセスを繰り返すことができる。処理エンジン112は、記憶された第3の値(複数の場合もある)を時間変数の第2の値(複数の場合もある)として決定することができる。
【0126】
ステップ610において、処理エンジン112は、時間変数の第2の値(複数の場合もある)に基づいてサービス時点を予測することができる。例えば、処理エンジン112が、時間変数の第2の値を1つしか求めていない場合、処理エンジン112は、サービス時点を、時間変数のこの求められた第2の値に対応する時点として予測することができる。別の例として、処理エンジン112が、時間変数の第2の値を2つ以上求めている場合、処理エンジン112は、これらの第2の値のうちの1つを選択し、サービス時点を、時間変数のこの選択された第2の値に対応する時点として予測することができる。更なる例として、処理エンジン112は、2つ以上の予測サービス点を決定することができる。予測されたサービス時点のそれぞれは、時間変数の第2の値のうちの1つに対応する。
【0127】
幾つかの実施形態では、処理エンジン112は、ROM230又はRAM240に記憶された一組の命令に基づいて、時間変数の第2の値(複数の場合もある)を求めることができる。例えば、処理エンジン112は、pythonプログラミング言語に従って時間変数の値を求めることができる。
【0128】
例えば、処理エンジン112は、以下に示す複数の区画のそれぞれを表すstruct(構造体)を定義することができる。
【0129】
【数34】
ここで、float minは、区画の始点を指し、float midは、区画の中点を指し、float maxは、区画の終点を指す。例えば、
【0131】
処理エンジン112は、特定の区画に対応する特定のstructを選択することができ、時間変数の値がこの特定のstruct内にあると仮定すると、特定のstructに従って、処理エンジン112は、以下のように式(9)を変更することができる。
【0132】
【数36】
さらに、処理エンジン112は、以下のように、複数の時間差の二乗和の1次微分を0に等しくする時間変数の第4の値を求めることができる。
【0133】
【数37】
処理エンジン112は、時間変数の第4の値が特定のstruct内にあるか否かを更に判断することができ、時間変数の第4の値が特定のstruct内にある場合、処理エンジン112は、第4の値を記憶することができ、時間変数の第4の値が特定のstruct内にない場合、処理エンジン112は、複数のstructが全て選択されるまで、別のstructを選択し、上記プロセスを繰り返すことができる。
【0134】
当然ながら、処理エンジン112は、他のプログラミング言語、例えば、C言語、C++言語、Pascal言語、JAVA(登録商標)言語、SQL言語等、又はそれらの組み合わせに従って時間変数の値を求めてもよい。
【0135】
基本概念を上記のように説明してきたが、この詳細な開示を読んだ後、前述の詳細な開示は、単に例としての提示を意図したものにすぎず、限定ではないことが当業者にはかなり明らかになり得る。本明細書において明示的に述べられていないが、様々な改変、改良、及び変更を行うことができ、これらは当業者に意図されている。これらの改変、改良、及び変更は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の趣旨及び範囲内にある。
【0136】
その上、幾つかの特定の術語が、本開示の実施形態を説明するのに用いられている。例えば、「1つの実施形態」、「一実施形態」、及び/又は「幾つかの実施形態」という用語は、実施形態について説明した特定の特徴、構造又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「一実施形態」、「1つの実施形態」又は「代替の実施形態」への言及が2つ以上あっても、これは、全てが必ずしも同じ実施形態を指しているとは限らないことを強調するとともに、そのことを理解されたい。さらに、特定の特徴、構造又は特性は、本開示の1つ以上の実施形態において適宜組み合わせることができる。
【0137】
さらに、本開示の態様は、任意の新規で有用なプロセス、機械、生産物、若しくは組成物、又はそれらの任意の新規で有用な改良形態を含む任意の複数の特許可能なクラス又はコンテキストのうちのいずれにおいても本明細書で図示及び説明することができることが当業者によって理解されるであろう。したがって、本開示の態様は、全体をハードウェアで実施することもできるし、全体をソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)で実施することもできるし、本明細書において全て「ブロック」、「モジュール」、「エンジン」、「ユニット」、「構成要素」又は「システム」と一般に呼ぶことができるソフトウェア及びハードウェアを組み合わせた実施態様で実施することもできる。さらに、本開示の態様は、具現化されたコンピューター可読プログラムコードを有する1つ以上のコンピューター可読媒体に具現化されたコンピュータープログラム製品の形態を取ることができる。
【0138】
コンピューター可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部分として具現化されたコンピューター可読プログラムコードを有する伝播データ信号を含むことができる。そのような伝播信号は、電磁気、光等、又はそれらの任意の適した組み合わせを含む様々な形態のうちの任意のものを取ることができる。コンピューター可読信号媒体は、コンピューター可読記憶媒体でない任意のコンピューター可読媒体であって、命令実行システム、命令実行装置、若しくは命令実行デバイスによって用いられるか又はこれらに関して用いられるプログラムを通信、伝播、又は搬送することができる任意のコンピューター可読媒体であってもよい。コンピューター可読信号媒体上に具現化されたプログラムコードは、無線、ワイヤーライン、光ファイバーケーブル、RF等、又はそれらの任意の適した組み合わせを含む任意の適切な媒体を用いて送信することができる。
【0139】
本開示の態様の動作を実行するコンピュータープログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等のオブジェクト指向型プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran1703、Perl、COBOL1702、PHP、ABAP等の従来の手続型プログラミング言語、Python、Ruby及びGroovy等の動的プログラミング言語、又は他のプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、スタンドアローンソフトウェアパッケージとして、全体をユーザーのコンピューター上で実行することもできるし、一部をユーザーのコンピューター上で実行することもできるし、一部をユーザーのコンピューター上で、及び一部をリモートコンピューター上で実行することもできるし、全体をリモートコンピューター又はサーバー上で実行することもできる。後半のシナリオでは、リモートコンピューターは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザーのコンピューターに接続することができる。すなわち、この接続は、(例えば、インターネットサービスプロバイダーを用いてインターネットを通じて)外部コンピューターに対して行うこともできるし、クラウドコンピューティング環境において行うこともできるし、サービス型ソフトウェア(SaaS)等のサービスとして提供することもできる。
【0140】
さらに、処理要素若しくは処理シーケンスの列挙した順序、又はそれらの数字、文字、若しくは他の名称の使用は、請求項において指定することができる場合を除いて、請求項に記載のプロセス及び方法をいずれの順序にも限定することを意図するものではない。上記開示は、様々な例を通じて、本開示の様々の有用な実施形態であると現在考えられているものを論述しているが、そのような詳細は、その目的のためのものにすぎず、添付の特許請求の範囲は、開示された実施形態に限定されるものではなく、逆に、開示された実施形態の趣旨及び範囲内にある変更及び均等なアレンジを包含することが意図されていることが理解されるであろう。例えば、上述した様々な構成要素の実施態様は、ハードウェアデバイスに具現化することができるが、ソフトウェアのみのソリューション、例えば、既存のサーバー又はモバイルデバイス上へのインストールとして実施することもできる。
【0141】
同様に、本開示の実施形態の上記説明では、様々な実施形態のうちの1つ以上の理解に役立つ本開示のストリームライン化を目的として、様々な特徴がともに単一の実施形態、その実施形態の図、又はその実施形態の説明にグループ化されることがあることが理解されるであろう。ただし、この開示方法は、請求項に記載の主題が、各請求項に明示列挙されたものよりも多くの特徴を必要とするという意図を反映するものと解釈されるべきでない。逆に、請求項に記載の主題は、上記開示された単一の実施形態の全ての特徴よりも少ない特徴に依拠することができる。