(58)【調査した分野】(Int.Cl.,DB名)
前記複数の注文の前記特徴は、出発位置、目的地、総マイル数、乗客数、ピックアップ時間、推定料金、貨物情報、または車両情報を含み、少なくとも出発位置、目的地、およびピックアップ時間を含む、請求項2に記載のシステム。
前記第1の特徴は、第1の出発位置、第1の目的地、または第1の貨物情報のうちの少なくとも1つを含み、前記第1の貨物情報は、貨物のタイプ、前記貨物の長さ、前記貨物の幅、前記貨物の高さ、または前記貨物の重量のうちの少なくとも1つを含む、請求項7に記載のシステム。
前記複数の第2の特徴の各々は、前記プロバイダの位置、前記未決注文の第2の目的地、または第2の車両情報のうちの少なくとも1つを含み、前記第2の車両情報は、トラック容積または積載能力のうちの少なくとも1つを含む、請求項8に記載のシステム。
前記複数の注文の前記特徴は、出発位置、目的地、総マイル数、乗客数、ピックアップ時間、推定料金、貨物情報、または車両情報を含み、少なくとも出発位置、目的地、およびピックアップ時間を含む、請求項12に記載の方法。
前記第1の特徴は、第1の出発位置、第1の目的地、または第1の貨物情報のうちの少なくとも1つを含み、前記第1の貨物情報は、貨物のタイプ、前記貨物の長さ、前記貨物の幅、前記貨物の高さ、または前記貨物の重量のうちの少なくとも1つを含む、請求項16に記載の方法。
前記複数の第2の特徴の各々は、前記プロバイダの位置、前記未決注文の第2の目的地、または第2の車両情報のうちの少なくとも1つを含み、前記第2の車両情報は、トラック容積または積載能力のうちの少なくとも1つを含む、請求項17に記載の方法。
【発明を実施するための形態】
【0033】
以下の説明は、任意の当業者が本開示を作製および使用することを可能にするために提示され、特定の用途およびその要件の文脈において提供される。開示される実施形態に対する種々の変更は、当業者には容易に明らかであり、本明細書において定義される概則は、本開示の趣旨および範囲から逸脱することなく、他の実施形態および用途に適用することができる。したがって、本開示は、示される実施形態に限定されるものではなく、特許請求の範囲と一致する最も広い範囲が与えられるものである。
【0034】
本明細書において使用される用語は、特定の実施例の実施形態を説明する目的のためだけのものであり、限定することを意図するものではない。本明細書において使用される際、単数形「a」、「an」、および「the」は、別様に文脈が明確に示さない限り、複数形を同様に含むことが意図され得る。「備える(comprise)」、「備える(comprises)」、および/または「備えている(comprises)」、「含む(include)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書において使用される際、記載される特徴、整数、ステップ、動作、要素、および/または構成要素の存在を特定するものであるが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在もしくは追加を排除するものではないことがさらに理解されるであろう。
【0035】
これらのおよび他の特徴、本開示の特性、構造の関連要素と部品の組み合わせの動作方法および機能、ならびに製造の経済性は、添付の図面であって、それらのすべてが本開示の一部を形成する添付の図面に関する以下の説明の検討の後でより明らかになり得る。しかしながら、図面は例示および説明のためだけのものであり、本開示の範囲を限定することを意図するものではないことを明白に理解されたい。図面は縮尺通りではないことを理解されたい。
【0036】
本開示において使用されるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実装する動作を説明する。フローチャートの動作は、順不同で実装され得ることを明白に理解されたい。逆に、動作を逆の順序でまたは同時に実装することができる。さらに、1つ以上の他の動作をフローチャートに追加することができる。1つ以上の動作をフローチャートから除去することができる。
【0037】
さらに、本開示におけるシステムおよび方法は、主に、共有可能な注文のセットを割り当てることに関して説明されるが、これは単なる例示的な一実施形態であることもまた理解されたい。本開示のシステムまたは方法は、任意の他の種類のオンデマンドサービスに適用することができる。例えば、本開示のシステムまたは方法は、陸、海、航空宇宙など、またはそれらの任意の組み合わせを含む異なる環境の輸送システムに適用することができる。輸送システムの車両は、タクシー、自家用車、ヒッチハイク、バス、列車、超特急列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人車両など、またはそれらの任意の組み合わせを含むことができる。輸送システムはまた、管理および/または分配のための任意の輸送システム、例えば、速達便を送信および/または受信するためのシステムを含むことができる。本開示のシステムまたは方法の用途は、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部分析システム、人工知能ロボットなど、またはそれらの任意の組み合わせを含むことができる。
【0038】
本開示では、「乗客」、「要求元(requester)」、「サービス要求元(requester)」、および「顧客」という用語を交互に使用して、サービスを要求または注文し得る個々、実体、またはツールを指す。本開示ではまた、「運転手」、「プロバイダ」、「サービスプロバイダ」、および「供給元」という用語を交互に使用して、サービスを提供するか、またはサービスの提供を容易にし得る個々、実体、もしくはツールを指す。本開示では、「ユーザ」という用語は、サービスを要求し、サービスを注文し、サービスを提供し、またはサービスの提供を容易にし得る個々、実体、またはツールを指す場合がある。例えば、ユーザは、乗客、運転手、オペレータなど、またはそれらの任意の組み合わせであってもよい。本開示では、「乗客」と「乗客端末」とを交互に使用することができ、「運転手」と「運転手端末」とを交互に使用することができる。
【0039】
本開示では、「サービス要求」および「注文」という用語を交互に使用して、乗客、要求元(requester)、サービス要求元(requester)、顧客、運転手、プロバイダ、サービスプロバイダ、供給元など、またはそれらの任意の組み合わせによって開始され得る要求を指す。サービス要求は、乗客、要求元(requester)、サービス要求元(requester)、顧客、運転手、プロバイダ、サービスプロバイダ、または供給元のいずれか1人によって受諾されてもよい。サービス要求は、有料であっても、または無料であってもよい。
【0040】
本開示において使用される測位技術は、全地球測位システム(GPS:global positioning system)、全地球ナビゲーション衛星システム(GLONASS:global navigation satellite system)、コンパスナビゲーションシステム(COMPASS:compass navigation system)、ガリレオ測位システム、準天頂衛星システム(QZSS:quasi−zenith satellite system)、ワイヤレスフィデリティ(WiFi:wireless fidelity)測位技術など、またはそれらの任意の組み合わせに基づき得る。上記の測位システムのうちの1つ以上を本開示において交互に使用することができる。
【0041】
本開示の一態様は、タクシー配車などの共有可能および/または組み合わせ可能な輸送取引を見つけるためのオンラインシステムならびに方法に関する。本システムおよび方法は、複数の注文のマッチング情報を決定し、マッチング情報に基づいて共有可能な注文のセットを決定し、共有可能な注文のセットを割り当てることによってそうすることができる。共有可能な注文のセットを割り当てるとき、本システムおよび方法は、複数の関連性値を決定し、複数の関連性値に基づいて共有可能な注文のセットを割り当てることができる。
【0042】
タクシー配車組み合わせサービスを含むオンラインタクシー配車などのオンラインオンデマンド輸送サービスは、ポストインターネット時代にのみ根ざした新しい形態のサービスであることに留意されたい。ポストインターネット時代にのみ向上させることができるであろう、ユーザおよびサービスプロバイダへの技術的な解決策を提供する。プレインターネット時代では、ユーザが路上でタクシーを呼び止める場合、タクシーの要求および受諾は、乗客とその乗客を見たタクシー運転手との間でのみ発生する。乗客が電話でタクシーを配車した場合、サービスの要求および受諾は、乗客と一サービスプロバイダ(例えば、一タクシー会社または代理店)との間でのみ生じ得る。しかしながら、オンラインタクシーは、サービスユーザが、サービス要求を、ユーザから離れた距離の膨大な数の個々のサービスプロバイダ(例えば、タクシー)へリアルタイムかつ自動的に分配することを可能にする。これはまた、複数のサービス提供が、サービス要求に同時にかつリアルタイムで応答することを可能にする。したがって、インターネットを介して、オンラインオンデマンド輸送システムは、従来のプレインターネット輸送サービスシステムでは決して満たすことができないユーザおよびサービスプロバイダのためのはるかに効率的な取引プラットフォームを提供することができる。
【0043】
図1は、いくつかの実施形態による例示的なオンデマンドサービスシステム100のブロック図である。例えば、オンデマンドサービスシステム100は、タクシー配車、運転代行サービス、速達便車、カープール、バスサービス、運転手の雇用、およびシャトルサービスなどの輸送サービスのためのオンライン輸送サービスプラットフォームであってもよい。オンデマンドサービスシステム100は、サーバ110、ネットワーク120、要求元端末130、プロバイダ端末140、およびデータベース150を含むオンラインプラットフォームであってもよい。サーバ110は、処理エンジン112を含むことができる。
【0044】
いくつかの実施形態では、サーバ110は、単一のサーバであっても、またはサーバグループであってもよい。サーバグループは、集中型または分散型であり得る(例えば、サーバ110は、分散型システムであってもよい)。いくつかの実施形態では、サーバ110は、ローカルであっても、またはリモートであってもよい。例えば、サーバ110は、ネットワーク120を介して、要求元端末130、プロバイダ端末140、および/またはデータベース150内に格納された情報および/またはデータにアクセスすることができる。別の例として、サーバ110は、要求元端末130、プロバイダ端末140、および/またはデータベース150に直接接続して、格納された情報および/またはデータにアクセスすることができる。いくつかの実施形態では、サーバ110は、クラウドプラットフォーム上に実装することができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、サーバ110は、本開示において
図2に説明される1つ以上の構成要素を有するコンピューティングデバイス200上に実装することができる。
【0045】
いくつかの実施形態では、サーバ110は、処理エンジン112を含むことができる。処理エンジン112は、サービス要求に関連する情報および/またはデータを処理して、本開示において説明される1つ以上の機能を遂行することができる。例えば、処理エンジン112は、複数の注文のマッチング情報を決定し、マッチング情報に基づいて共有可能な注文のセットを決定し、共有可能な注文のセットを割り当てることができる。いくつかの実施形態では、処理エンジン112は、1つ以上の処理エンジン(例えば、単一コア処理エンジン(複数可)またはマルチコアプロセッサ(複数可))を含むことができる。単なる例として、処理エンジン112は、中央処理装置(CPU:central processing unit)、特定用途向け集積回路(ASIC:application−specific integrated circuit)、特定用途向け命令セットプロセッサ(ASIP:application−specific instruction−set processor)、グラフィックス処理装置(GPU:graphics processing unit)、物理処理装置(PPU:physics processing unit)、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、プログラマブルロジックデバイス(PLD:programmable logic device)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC:reduced instruction−set computer)、マイクロプロセッサなど、またはそれらの任意の組み合わせを含むことができる。
【0046】
ネットワーク120は、情報および/またはデータの交換を容易にすることができる。いくつかの実施形態では、オンデマンドサービスシステム100内の1つ以上の構成要素(例えば、サーバ110、要求元端末130、プロバイダ端末140、およびデータベース150)は、ネットワーク120を介して、情報および/またはデータをオンデマンドサービスシステム100内の他の構成要素(複数可)に送信することができる。例えば、サーバ110は、ネットワーク120を介して、要求元端末130からのサービス要求を取得/獲得することができる。いくつかの実施形態では、ネットワーク120は、任意のタイプの有線もしくは無線ネットワーク、またはそれらの組み合わせであってもよい。単なる例として、ネットワーク130は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、テレコミュニケーションネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、無線ローカルエリアネットワーク(WLAN:wireless local area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、ワイドエリアネットワーク(WAN:wide area network)、公衆電話交換網(PSTN:public telephone switched network)、ブルートゥース(登録商標)ネットワーク、ZigBeeネットワーク、近距離通信(NFC:near field communication)ネットワークなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、ネットワーク120は、1つ以上のネットワークアクセスポイントを含むことができる。例えば、ネットワーク120は、基地局および/またはインターネットエクスチェンジポイント120−1、120−2、…などの有線または無線ネットワークアクセスポイントであって、それを通じてオンデマンドサービスシステム100のうちの1つ以上の構成要素がネットワーク120に接続されて、データおよび/または情報を交換することができる、ネットワークアクセスポイントを含むことができる。
【0047】
いくつかの実施形態では、要求元は、要求元端末130のユーザであってもよい。いくつかの実施形態では、要求元端末130のユーザは、要求元以外の誰かであってもよい。例えば、要求元端末130のユーザAは、要求元端末130を使用して、ユーザBのためのサービス要求を送信するか、あるいはサービス、および/またはサーバ110からの情報もしくは命令を受信することができる。いくつかの実施形態では、プロバイダは、プロバイダ端末140のユーザであってもよい。いくつかの実施形態では、プロバイダ端末140のユーザは、プロバイダ以外の誰かであってもよい。例えば、プロバイダ端末140のユーザCは、プロバイダ端末140を使用して、ユーザDのためのサービス要求、および/またはサーバ110からの情報もしくは命令を受信することができる。いくつかの実施形態では、「要求元」と「要求元端末」とを交互に使用することができ、「プロバイダ」と「プロバイダ端末」とを交互に使用することができる。
【0048】
いくつかの実施形態では、要求元端末130は、モバイルデバイス130−1、タブレットコンピュータ130−2、ラップトップコンピュータ130−3、自動車内の内蔵デバイス130−4など、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、モバイルデバイス130−1は、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイスなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビ、スマートビデオカメラ、インターホンなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、ウェアラブルデバイスは、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣類、スマートバックパック、スマートアクセサリーなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、スマートモバイルデバイスは、スマートフォン、携帯情報端末(PDA:personal digital assistance)、ゲームデバイス、ナビゲーションデバイス、ポイントオブセールス(POS:point of sale)デバイスなど、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態では、仮想現実デバイスおよび/または拡張現実デバイスは、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチなど、またはそれらの任意の組み合わせを含むことができる。例えば、仮想現実デバイスおよび/または拡張現実デバイスは、Google Glass、Oculus Rift、Hololens、Gear VRなどを含むことができる。いくつかの実施形態では、自動車内の内蔵デバイス130−4は、車載コンピュータ、車載テレビなどを含むことができる。いくつかの実施形態では、要求元端末130は、要求元および/または要求元端末130の位置を検出するための測位技術を備えたデバイスであってもよい。
【0049】
いくつかの実施形態では、プロバイダ端末140は、要求元端末130と同様のまたは同じデバイスであってもよい。いくつかの実施形態では、プロバイダ端末140は、プロバイダおよび/またはプロバイダ端末140の位置を検出するための測位技術を備えたデバイスであってもよい。いくつかの実施形態では、要求元端末130および/またはプロバイダ端末140は、他の測位デバイスと通信して、要求元、要求元端末130、プロバイダ、および/またはプロバイダ端末140の位置を決定することができる。いくつかの実施形態では、要求元端末130および/またはプロバイダ端末140は、測位情報をサーバ110に送信することができる。
【0050】
データベース150は、データおよび/または命令を格納することができる。いくつかの実施形態では、データベース150は、要求元端末130および/またはプロバイダ端末140から取得したデータを格納することができる。いくつかの実施形態では、データベース150は、サーバ110が実行または使用して、本開示において説明される例示的な方法を遂行することができるデータおよび/または命令を格納することができる。いくつかの実施形態では、データベース150は、マスストレージ、リムーバブルストレージ、揮発性読み取り書き込みメモリ、読み取り専用メモリ(ROM:read−only memory)など、またはそれらの任意の組み合わせを含むことができる。例示的なマスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含むことができる。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、ジップディスク、磁気テープなどを含むことができる。例示的な揮発性読み取り書き込みメモリは、ランダムアクセスメモリ(RAM:random access memory)を含むことができる。例示的なRAMは、ダイナミックRAM(DRAM:dynamic RAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM:double date rate synchronous dynamic RAM)、スタティックRAM(SRAM:static RAM)、サイリスタRAM(T−RAM:thyristor RAM)、ゼロキャパシタRAM(Z−RAM:zero−capacitor RAM)などを含むことができる。例示的なROMは、マスクROM(MROM:mask ROM)、プログラマブルROM(PROM:programmable ROM)、消去可能プログラマブルROM(PEROM:erasable programmable ROM)、電気的消去可能プログラマブルROM(EEPROM:electrically erasable programmable ROM)、コンパクトディスクROM(CD−ROM:compact disk ROM)、デジタルバーサタイルディスクROMなどを含むことができる。いくつかの実施形態では、データベース150は、クラウドプラットフォーム上に実装することができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組み合わせを含むことができる。
【0051】
いくつかの実施形態では、データベース150は、ネットワーク120に接続されて、オンデマンドサービスシステム100内の1つ以上の構成要素(例えば、サーバ110、要求元端末130、プロバイダ端末140など)と通信することができる。オンデマンドサービスシステム100内の1つ以上の構成要素は、ネットワーク120を介して、データベース150内に格納されたデータまたは命令にアクセスすることができる。いくつかの実施形態では、データベース150は、オンデマンドサービスシステム100内の1つ以上の構成要素(例えば、サーバ110、要求元端末130、プロバイダ端末140など)に直接接続されるか、またはそれらと通信することができる。いくつかの実施形態では、データベース150は、サーバ110の一部であってもよい。
【0052】
いくつかの実施形態では、オンデマンドサービスシステム100内の1つ以上の構成要素(例えば、サーバ110、要求元端末130、プロバイダ端末140など)は、データベース150にアクセスするための許可を有することができる。いくつかの実施形態では、オンデマンドサービスシステム100内の1つ以上の構成要素は、1つ以上の条件が満たされたときに、要求元、プロバイダ、および/または社会に関する情報を読み取り、および/または変更することができる。例えば、サーバ110は、サービスの後に、1つ以上のユーザ情報を読み取り、および/または変更することができる。別の例として、プロバイダ端末140は、要求元端末130からのサービス要求を受信したときに、要求元に関する情報にアクセスすることができるが、プロバイダ端末140は、要求元の関連情報を変更することはできない。
【0053】
いくつかの実施形態では、オンデマンドサービスシステム100内の1つ以上の構成要素の情報交換は、サービスを要求することによって達成することができる。サービス要求の対象は、任意の製品であってもよい。いくつかの実施形態では、製品は、有形の製品であっても、または無形の製品であってもよい。有形の製品は、食品、薬剤、商品、化学製品、電気器具、衣類、車、住宅、贅沢品など、またはそれらの任意の組み合わせを含むことができる。無形の製品は、サービス製品、金融商品、知識製品、インターネット製品など、またはそれらの任意の組み合わせを含むことができる。インターネット製品は、個々のホスト製品、ウェブ製品、モバイルインターネット製品、商用ホスト製品、組み込み製品など、またはそれらの任意の組み合わせを含むことができる。モバイルインターネット製品は、モバイル端末のソフトウェア、プログラム、システムなど、またはそれらの任意の組み合わせにおいて使用することができる。モバイル端末は、タブレットコンピュータ、ラップトップコンピュータ、携帯電話、携帯情報端末(PDA:personal digital assistance)、スマートウォッチ、ポイントオブセールス(POS:point of sale)デバイス、車載コンピュータ、車載テレビ、ウェアラブルデバイスなど、またはそれらの任意の組み合わせを含むことができる。例えば、製品は、コンピュータまたは携帯電話において使用される任意のソフトウェアおよび/またはアプリケーションであってもよい。ソフトウェアおよび/またはアプリケーションは、社会的活動への参加、ショッピング、輸送、娯楽、学習、投資など、またはそれらの任意の組み合わせに関連し得る。いくつかの実施形態では、輸送に関するソフトウェアおよび/またはアプリケーションは、移動ソフトウェアおよび/またはアプリケーション、車両スケジューリングソフトウェアおよび/またはアプリケーション、マッピングソフトウェアおよび/またはアプリケーションなどを含むことができる。車両スケジューリングソフトウェアおよび/またはアプリケーションにおいて、車両は、馬、馬車、人力車(例えば、手押し車、自転車、三輪車など)、車(例えば、タクシー、バス、自家用車など)、列車、地下鉄、船舶、航空機(例えば、飛行機、ヘリコプター、スペースシャトル、ロケット、熱気球など)など、またはそれらの任意の組み合わせを含むことができる。
【0054】
図2は、本開示のいくつかの実施形態に従って、サーバ110、要求元端末130、および/またはプロバイダ端末140が実装され得るコンピューティングデバイス200の例示的なハードウェアおよびソフトウェア構成要素を説明する概略図である。例えば、処理エンジン112は、コンピューティングデバイス200上に実装することができ、本開示において開示される処理エンジン112の機能を遂行するように構成することができる。
【0055】
コンピューティングデバイス200は、汎用コンピュータであっても、または専用コンピュータであってもよく、両方を使用して、本開示のためのオンデマンドシステムを実装することができる。コンピューティングデバイス200を使用して、本明細書において説明されるオンデマンドサービスの任意の構成要素を実装することができる。例えば、処理エンジン112は、そのハードウェア、ソフトウェアプログラム、ファームウェア、またはそれらの組み合わせを介して、コンピューティングデバイス200上に実装することができる。便宜上、1つのかかるコンピュータのみが示されているが、本明細書において説明されるオンデマンドサービスに関するコンピュータ機能は、処理負荷を分散するために、多数の同様のプラットフォーム上に分散するやり方で実装することができる。
【0056】
コンピューティングデバイス200は、例えば、データ通信を容易にするように、COMポート250であって、そこに接続されたネットワークに、およびそのネットワークから接続されたCOMポート250を含むことができる。コンピューティングデバイス200はまた、プログラム命令を実行するための、1つ以上のプロセッサの形態の中央処理装置(CPU:central processing unit)220を含むことができる。例示的なコンピュータプラットフォームは、コンピュータによって処理および/または伝達される種々のデータファイルのための内部通信バス210、異なる形態、例えば、ディスク270、および読み取り専用メモリ(ROM:read only memory)230またはランダムアクセスメモリ(RAM:random access memory)240のプログラムストレージならびにデータストレージを含むことができる。例示的なコンピュータプラットフォームはまた、ROM230、RAM240、および/またはCPU220によって実行される他のタイプの非一時的ストレージ媒体内に格納されたプログラム命令を含むことができる。本開示の方法および/またはプロセスは、プログラム命令として実装することができる。コンピューティングデバイス200はまた、コンピュータと、その中のユーザインターフェース要素280などの他の構成要素との間の入出力をサポートするI/O構成要素260を含む。コンピューティングデバイス200はまた、ネットワーク通信を介して、プログラミングおよびデータを受信することができる。
【0057】
単に説明のために、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とを一緒に実行する)ことを理解されたい。
【0058】
図3は、本開示のいくつかの実施形態による例示的な処理エンジン112を説明するブロック図である。処理エンジン112は、獲得モジュール302、決定モジュール304、マッチングモジュール306、および割り当てモジュール308を含むことができる。
【0059】
獲得モジュール302は、複数の要求元から複数の注文を取得するように構成することができる。本明細書において使用される際、システム100は、要求元によって送信されたオンデマンドサービスについての要求に基づいて、注文を生成することができる。本開示では、注文と要求との間に実質的な差異はないことに留意されたい。
【0060】
オンデマンドサービスは、タクシー、自家用車両、バス、トラック、試乗、指名運転など、またはそれらの組み合わせのための輸送サービスであってもよい。いくつかの実施形態では、オンデマンドサービスは、食事の予約、ショッピングなど、またはそれらの組み合わせなどの任意のオンラインサービスであってもよい。いくつかの実施形態では、要求元は、オンデマンドサービスの要求において、サービスを他の要求元と共有することに同意するか否かを選択することができる。例えば、要求元は、いかなる状況においてもサービスを他の要求元と共有することに反対することができる。別の例として、要求元は、いくつかの状況下(例えば、交通のピークの時間帯)では、サービスを他の要求元と共有することに同意することができる。
【0061】
獲得モジュール302は、ネットワーク120を介して、複数の注文を要求元端末130から取得することができる。獲得モジュール302は、複数の注文の特徴(例えば、出発位置、目的地)をさらに取得することができる。
【0062】
決定モジュール304は、特徴に基づいて複数の注文のマッチング情報を決定するように構成することができる。決定モジュール304は、複数の注文のうちの任意の2つの間のマッチング情報を決定することができる。マッチング情報は、2つの注文が共有可能であるか否かを示すことができる。
【0063】
マッチングモジュール306は、マッチング情報に基づいて共有可能な注文のセットを決定するように構成することができる。本明細書において使用される際、共有可能な注文は、他の注文(複数可)と組み合わせることができる注文を指すことができる。例えば、注文Aおよび注文Bが同様の出発位置または同様の目的地を含む場合、マッチングモジュール306は、注文Aと注文Bとを共有可能な注文として決定することができる。本明細書において使用される際、同様の出発位置は、当業者に対して、注文Bの出発位置にかなり近い注文Aの出発位置を指すことができる。例えば、注文Aの出発位置と注文Bの出発位置との間の距離が、500メートル、1キロメートル、または1.5キロメートルなどの閾値未満である場合、システム100は、注文Aおよび注文Bが同様の出発位置を含むと決定することができる。同様に、システムは、同様の方法で同様の目的地を決定することができる。
【0064】
割り当てモジュール308は、共有可能な注文のセットをサービスプロバイダに割り当てることができる。例えば、割り当てモジュール308は、共有可能な注文のセットのうちの2つを注文グループとして組み合わせ、その注文グループをサービスプロバイダ(例えば、運転手)に割り当てることができる。
【0065】
処理エンジン112内のモジュールは、有線接続または無線接続を介して、互いに接続または通信することができる。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組み合わせを含むことができる。無線接続は、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、ブルートゥース、ZigBee、近距離通信(NFC:Near Field Communication)など、またはそれらの任意の組み合わせを含むことができる。モジュールのうちの2つ以上を単一のモジュールとして組み合わせることができ、モジュールのいずれか1つを2つ以上のユニットに分割することができる。例えば、獲得モジュール302は、注文の特徴の取得および注文のマッチング情報の決定の両方をすることができる単一のモジュールとして、決定モジュール304に組み込むことができる。
【0066】
図4は、本開示のいくつかの実施形態による共有可能な注文のセットを割り当てるための例示的なプロセス/方法400を説明するフローチャートである。プロセスおよび/または方法400は、オンデマンドサービスシステム100によって実行することができる。例えば、プロセスおよび/または方法は、ストレージのROM230またはRAM240内に格納された命令のセット(例えば、アプリケーション)として実装することができる。CPU210は、命令のセットを実行することができ、したがって、プロセスおよび/または方法400を遂行することを行うように指示されることができる。
【0067】
ステップ402では、処理エンジン112は、複数の注文の特徴を取得することができる。複数の注文の各々を輸送サービスの要求に関連付けることができる。処理エンジン112は、所定の地域内で複数の注文を決定することができる。
【0068】
所定の地域は、行政エリア(例えば、市、市内の地区)であっても、または地理的地域(例えば、定義された中心位置からある特定の半径内)であってもよい。
【0069】
複数の注文は、リアルタイム注文、予約注文、または未決注文を含むことができる。本明細書において使用される際、リアルタイム注文は、要求元が現時点において、または当業者に対して現時点にかなり近い定義された時間においてサービスを得たいと望む注文であってもよい。例えば、定義された時間が1分、5分、10分、または20分などの閾値の値よりも短い場合、注文はリアルタイム注文であってもよい。予約注文は、要求元が、当業者に対して、現時点からかなり遠く離れた定義された時間においてサービスを得たいと望むことを指すことができる。例えば、定義された時間が20分、2時間、または1日などの閾値の値よりも長い場合、注文は予約注文であってもよい。いくつかの実施形態では、処理エンジン112は、時間閾値に基づいてリアルタイム注文または予約注文を定義することができる。時間閾値は、システム100の初期設定であっても、または異なる状況によって調整可能であってもよい。例えば、交通のピークの時間帯では、時間閾値を比較的小さくすることができ(例えば、10分)、別様に、緩慢な時間帯(例えば、10:00〜12:00)では、時間閾値を比較的大きくすることができる(例えば、1時間)。未決注文は、現時点においてサービスプロバイダによって進行中である進行中注文であってもよい。
【0070】
複数の注文の特徴は、基本経路情報、貨物情報、車両情報など、またはそれらの組み合わせを含むことができる。特定の注文について、基本経路情報は、乗客数、出発位置、目的地、総マイル数、ピックアップ時間、推定料金、単価(例えば、1キロメートル当たりまたは1マイル当たりの単価)、経路の混雑部分(例えば、交通ピークによる混雑した道路)など、またはそれらの組み合わせを含むことができる。貨物情報は、貨物のタイプ(例えば、液体または固体、脆弱または非脆弱)、サイズ(例えば、長さ、幅、高さ)、容積、重量など、またはそれらの組み合わせを含むことができる。車両情報は、車両内の座席数、トランク容積、積載能力(すなわち、車両が運ぶことができる製品の重量)など、またはそれらの組み合わせを含むことができる。処理エンジン112は、異なる混雑状況について異なる値を定義することができる。例えば、処理エンジン112は、「大混雑」、「通常混雑」、および「軽度混雑」を示す3つの混雑度を定義することができる。
【0071】
いくつかの実施形態では、出発位置は、要求元端末130によって(例えば、要求元端末130内の全地球側位システム(GPS:Global Position System)によって)取得され得る要求元の現在の位置であっても、または要求元によって定義されてもよい。例えば、要求元は、最初に、要求元端末130を介して、オンラインオンデマンドサービスシステム100にログインすることができ、次いで、要求元端末130を介して、出発位置を手動で入力することができる。別の例として、要求元は、要求元端末130上に示された地図(例えば、Tencent Map、Google Map)上の地理的位置(例えば、バス停、地下鉄駅、交差点、象徴的な建物)を特定することによって、出発位置を手動で定義することができる。さらなる例として、要求元は、地理的位置に掲示されたクイックレスポンス(QR:quick response)コードをスキャンして、彼/彼女の現在の位置を定義することができる。
【0072】
いくつかの実施形態では、ピックアップ時間は、要求元がサービス要求を送信した現在の時間であって、または要求元によって定義されてもよい。例えば、要求元は、要求元端末130を介して、時間を手動で入力することができる。
【0073】
ステップ404では、処理エンジン112は、特徴に基づいて複数の注文のマッチング情報を決定することができる。
【0074】
処理エンジン112は、複数の注文のうちの任意の2つの間のマッチング情報を決定することができる。マッチング情報は、2つの注文の特徴に関連付けることができ、2つの注文が共有可能であり得るか否かを決定するために使用することができる。例えば、処理エンジン112が第1の注文および第2の注文の2つの注文を取得した場合、第1の注文は第1の輸送サービス(例えば、タクシーサービス)に対応し、第2の注文は第2の輸送サービス(例えば、タクシーサービス)に対応する。処理エンジン112は、2つの注文の特徴を取得することができ、次いで、第1の特徴および第2の特徴に基づいて、第1の注文と第2の注文との間のマッチング情報を決定することができる。例えば、処理エンジン112は、第1の出発位置、第1の目的地、第1の出発位置と第1の目的地との間の第1の運転経路、および第1の運転経路の第1の総マイル数などの第1の輸送サービスの第1の注文の特徴(すなわち、第1の特徴)を取得することができる。同様に、処理エンジン112はまた、第2の出発位置、第2の目的地、第2の出発位置と第2の目的地との間の第2の運転経路、および第2の運転経路の第2の総マイル数などの第2の輸送サービスの第2の注文の特徴(すなわち、第2の特徴)を取得することができる。処理エンジン112は、第1の運転経路と第2の運転経路とを比較して、第1の注文と第2の注文とを組み合わせる(すなわち、第1の注文と第2の注文とが「共有可能」である)ように、2つの運転経路が単一の組み合わせられた運転経路に組み合わせ可能であるか否かを決定することができる。処理エンジン112はまた、第1の注文と第2の注文との組み合わせに基づいて、組み合わせられた運転経路の組み合わせられた総マイル数を決定することができる。組み合わせられた総マイル数は、第1の総マイル数または第2の総マイル数と部分的に重複してもよい。組み合わせられた総マイル数は、共有総マイル数を含むことができる。本明細書において使用される際、共有総マイル数は、第1の輸送サービスおよび第2の輸送サービスの両方が進行中である総マイル数を指す。
【0075】
いくつかの実施形態では、処理エンジン112が複数の注文のマッチング情報を決定する前に、処理エンジン112は、要求元がサービスを他の要求元と共有することを望むか否か(例えば、要求元が彼/彼女の運転経路を別の要求元の運転経路と組み合わせることを望むか否か)を決定することができる。要求元は、彼/彼女が要求をシステム100に送信するときに、彼/彼女がサービスを他の要求元と共有することを望むか否かを定義することができる。要求元がサービスを他の要求元と共有することを望まない場合、処理エンジン112は、注文をサービスプロバイダ(複数可)に直接割り当てることができる。
【0076】
ステップ406では、処理エンジン112は、マッチング情報に基づいて共有可能な注文のセットを決定することができる。処理エンジン112は、マッチング情報または複数の注文の特徴を分析することによって、共有可能な注文のセットを決定することができる。例えば、ステップ404に関連して説明されるように、組み合わせられた総マイル数内の共有総マイル数のパーセンテージが所定の閾値(例えば、30%)より大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると示すことができる。
【0077】
別の例として、処理エンジン112が第1の運転経路を第2の運転経路と比較する前に、処理エンジン112は、ステップ402において、第1の注文の第1の乗客数および第2の注文の第2の乗客数を取得することができる。いくつかの実施形態では、処理エンジン112は、第1の注文の第1の乗客数および第2の注文の第2の乗客数の両方が所定の閾値(例えば、2)以下であるか否かを決定することができ、そうであれば、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができ、そうでなければ、処理エンジン112は、第1の注文と第2の注文とが共有可能でないと決定することができる。いくつかの実施形態では、処理エンジン112は、第1の乗客数および第2の乗客数に基づいて総乗客数を決定し、総乗客数を候補車両(例えば、車などの通常の車両)の座席数(例えば、3)と比較することができる。総乗客数が候補車両の座席数よりも少ない場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。いくつかの実施形態では、処理エンジン112は、最初に、総乗客数を候補車両の座席数と比較することができ、乗客数が候補車両の座席数よりも多い場合、処理エンジン112は、第1の注文と第2の注文とが共有可能でないと直接決定することができる。
【0078】
さらなる例として、処理エンジン112は、第1の注文の第1のピックアップ時間および第2の注文の第2のピックアップ時間を取得することができる。第1のピックアップ時間と第2のピックアップ時間との間の差が時間閾値の値(例えば、30分)未満である場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。いくつかの実施形態では、処理エンジン112は、処理エンジン112が第1の運転経路を第2の運転経路と比較する前に、第1のピックアップ時間と第2のピックアップ時間との間の差を決定することができ、第1のピックアップ時間と第2のピックアップ時間との間の差が時間閾値の値よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能でないと直接決定することができる。
【0079】
さらなる別の例として、第1の特徴または第2の特徴は、貨物情報(例えば、第1の貨物情報、第2の貨物情報)を含むことができる。つまり、第1の注文の第1の要求元または第2の注文の第2の要求元は、貨物輸送のための要件を含む。このシナリオでは、処理エンジン112は、第1の貨物情報および/または第2の貨物情報を車両情報とマッチングさせ、次いで、第1の注文と第2の注文とが共有可能であるか否かを決定することができる。例えば、第1の注文と第2の注文とがリアルタイム注文である場合、処理エンジン112は、第1の貨物情報および/または第2の貨物情報(例えば、貨物の合計サイズ)を、候補車両(例えば、車もしくは貨物自動車などの通常の車両、またはバンもしくはピックアップなどの貨物輸送に特化した車両)の車両情報(例えば、トラック容積)と比較することができる。貨物の合計サイズが車両のトラック容積よりも小さい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。通常の車両の車両情報は、経験的な情報であってもよい。処理エンジン112は、データベース150または外部データソース(例えば、ウェブサイト、クラウドストレージ)から、通常の車両の車両情報を取得することができる。例えば、データベース150は、一般的な車両モデルの車両情報を格納することができる。第1の注文がリアルタイム注文であり、第2の注文が未決注文である場合、処理エンジン112は、第2の注文の第2の車両情報を取得し、第1の貨物情報を第2の車両情報とさらに比較することができる。
【0080】
本開示の実施形態に従って、第1の注文および第2の注文はまた、異なる性質のものであってもよい。例えば、第1の注文は、タクシー配車などの乗客を輸送するためのサービス要求を含むことができるが、第2の注文は、速達便配送依頼などの貨物を移動させるためのサービス要求を含むことができる。このシナリオでは、処理エンジン112は、第1の運転経路と第2の運転経路とをマッチングさせて、2つの運転経路が組み合わせ可能であると結論付けることができ、次いで、候補車両が乗客のための十分な利用可能な乗客座席と貨物のための十分な積載空間とを有するか否かを決定することができる。答えが肯定である場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると判断し、2つの注文を候補車両に送信することができる。
【0081】
いくつかの実施形態では、処理エンジン112は、ステップ404を飛び越えて、受信した注文の時間情報(例えば、交通のピークの時間帯もしくは緩慢な時間帯)または位置情報(例えば、行政エリアもしくは地理的地域)に従って、共有可能な注文のセットを決定することができる。例えば、処理エンジン112は、共有可能な注文について、エリア(例えば、タクシーサービスの需要が実質的に供給よりも高い市内の中心業務地区)および/または時間帯(例えば、タクシーサービスの需要が実質的に供給より高い平日の17:00〜19:00)を事前に決定することができる。処理エンジン112は、所定の時間帯におよび/または所定のエリア内で送信された任意の所定のタイプの注文(例えば、リアルタイム注文)について、それらを共有可能な注文のセットとして分類することを直接決定することができる。
【0082】
ステップ408では、処理エンジン112は、共有可能な注文のセットを割り当てることができる。処理エンジン112は、2つの共有可能な注文を含む組み合わせの形態で、共有可能な注文のセットを割り当てることができる。例えば、処理エンジン112は、共有可能な注文のセット内の2つの注文を注文グループに組み合わせ、その注文グループをサービスプロバイダに割り当てることができる。このために、共有可能な注文のセットを割り当てる一方で、処理エンジン112は、共有可能な注文のセットに関連付けられた複数の関連性確率を決定することができる。例えば、処理エンジン112は、共有可能な注文のセット内の2つの共有可能な注文の任意の対についての関連性確率を決定することができる。各関連性確率は、2つの共有可能な注文がどの程度「組み合わせ可能」であるかを示す値である。例えば、関連性確率は、2つの共有可能な注文間の類似性を指すことができ、および/または2つの共有可能な注文が組み合わせられた場合に利益値を表すことができる。本明細書において使用される際、利益値は、2つの共有可能な注文の要求元が節約し得るサービス料金、2つの共有可能な注文の組み合わせによりサービスプロバイダが取得し得る追加所得などを反映することができる。例えば、関連性確率が高いほど、2つの共有可能な注文の組み合わせがサービスプロバイダによって受諾され得る可能性が高くなる。
【0083】
いくつかの実施形態では、処理エンジン112は、共有可能な注文のセットを複数の注文グループに分割することができる。各注文グループは、2つの共有可能な注文の対を含み、各注文グループは、共有可能な注文の対間の関連性確率に対応する。処理エンジン112は、共有可能な注文の複数の対に対応する利益値の和を最大にするグループ化方法によって、複数の注文グループを決定することができる。処理エンジン112は、複数の注文グループに基づいて共有可能な注文のセットを割り当てることができる。例えば、処理エンジン112は、ネットワーク120を介して、注文グループをサービスプロバイダのプロバイダ端末140に送信することができる。
【0084】
いくつかの実施形態では、処理エンジン112は、共有可能な注文のセットを定期的に決定および/または更新することができる。例えば、処理エンジン112は、所定の時間間隔(例えば、1分)に従って、共有可能な注文のセットを決定および/または更新することができる。注文が割り当てられている場合、処理エンジン112は、その注文を共有可能な注文のセットから削除することができる。
【0085】
図5Aは第1の注文の第1の特徴を説明する例示的なリストであり、
図5Bは第2の注文の第2の特徴を説明する例示的なリストであり、
図5Cは第1の注文と第2の注文とのマッチング情報を説明する例示的なリストである。
【0086】
図5Aに説明されるように、第1の注文の第1の特徴は、第1の総マイル数、第1の推定料金、サービスプロバイダが第1の注文を受諾した場合のサービスプロバイダの第1の所得、第1の乗客数、第1の出発位置、第1の目的地、第1のピックアップ時間、第1の貨物情報などを含むことができる。
図5Bに説明されるように、第2の注文の第2の特徴は、第2の総マイル数、第2の推定料金、サービスプロバイダが第2の注文を受諾した場合のサービスプロバイダの第2の所得、第2の乗客数、第2の出発位置、第2の目的地、第2のピックアップ時間、第2の貨物情報などを含むことができる。
【0087】
ステップ404に関連して説明されるように、処理エンジン112は、第1の特徴および第2の特徴に基づいて、第1の注文と第2の注文とのマッチング情報を決定することができる。例えば、処理エンジン112は、第1の注文と第2の注文(すなわち、第1の注文と第2の注文とを含む注文グループ)を組み合わせて、組み合わせられた運転経路を決定することができる。処理エンジン112は、組み合わせられた運転経路に基づいて、第1の注文と第2の注文とのマッチング情報を決定することができる。第1の注文と第2の注文とのマッチング情報は、合計総マイル数、第1の注文の第3の総マイル数、第2の注文の第4の総マイル数、共有総マイル数、第1の注文の第3の推定料金、第2の注文の第4の推定料金、サービスプロバイダが第1の注文と第2の注文との組み合わせを受諾した場合のサービスプロバイダの総所得、総乗客数、組み合わせられた貨物情報などを含むことができる。本明細書において使用される際、合計総マイル数は、組み合わせられた運転経路の総マイル数を指すことができる。第1の注文の第3の総マイル数は、第1の注文で必要とされる輸送サービスを履行するための、組み合わせられた運転経路内の総マイル数を指すことができる。第2の注文の第4の総マイル数は、第2の注文で必要とされる輸送サービスを履行するための、組み合わせられた運転経路内の総マイル数を指すことができる。共有総マイル数は、第1の輸送サービスおよび第2の輸送の両方が進行中である組み合わせられた経路内の総マイル数を指すことができる。第1の注文の第3の推定料金は、サービスプロバイダが第1の輸送サービスを第1の注文と第2の注文との組み合わせによって扱う場合に、第1の要求元が第1の輸送サービスに対して支払う必要のあるサービス料金を指すことができる。第2の注文の第4の推定料金は、サービスプロバイダが第2の輸送サービスを第1の注文と第2の注文との組み合わせによって扱う場合に、第2の要求元が第2の輸送サービスに対して支払う必要のあるサービス料金を指すことができる。
【0088】
いくつかの実施形態では、処理エンジン112は、所定の単価(例えば、1キロメートル当たりまたは1マイル当たりの所定の単価)に基づいて、第1の注文の第3の推定料金または第2の注文の第4の推定料金を決定することができる。例えば、所定の単価は、タクシーがサービスを他の乗客と組み合わせることなく乗客のみを扱う場合に、乗客がタクシーサービスに対して支払う必要のある料金を計算するための1キロメートル当たりの標準価格であってもよい。通常モードにおける第1の注文については、処理エンジン112は、通常単価Pに基づいて第1の推定料金を決定することができるが、第1の注文と第2の注文との組み合わせについては、処理エンジン112は、変更された単価a*Pに基づいて第1の注文の第3の推定料金を決定することができる。ここでは、aは、1未満の正の数である。いくつかの実施形態では、処理エンジン112は、共有可能な注文に対する割引に基づいて、第1の注文の第3の推定料金または第2の注文の第4の推定料金を決定することができる。例えば、通常モードにおける第1の注文について、第1の推定料金は、Fであり得るが、第1の注文と第2の注文との組み合わせについては、処理エンジン112は、第1の注文の第3の推定料金をb*Fとして決定することができる。ここでは、bは、1未満の正の数である。
【0089】
処理エンジン112は、第1の出発位置と第2の出発位置との間の第1の距離、または第1の目的地と第2の目的地との間の第2の距離をさらに決定することができる。処理エンジン112は、第1のピックアップ時間と第2のピックアップ時間との間の差をさらに決定することができる。処理エンジン112は、第1の貨物情報および第2の貨物情報に基づいて、組み合わされた貨物情報をさらに決定することができる。例えば、処理エンジン112は、第1の貨物および第2の貨物の合計サイズを決定することができる。処理エンジン112は、第1の車両情報または第2の車両情報(
図5A〜5Cには図示せず)をさらに決定することができる。例えば、未決注文については、未決注文は車両に対応し、処理エンジン112は車両の残存トラック容積を決定することができる。
【0090】
図6A〜6Cは、本開示のいくつかの実施形態による共有可能な注文のセットを決定するための例示的なプロセス/方法を説明する概略図である。本説明は、2つの輸送サービスを一例として取り、
図5A〜5Cおよびそれらの説明に関連して記載されるように、処理エンジン112が第1の注文および第2の注文を取得したときから始まる。
【0091】
図6Aに説明されるように、A
1は第1の出発位置を指し、A
2は第1の目的地を指す。B
1は第2の出発位置を指し、B
2は第2の目的地を指す。処理エンジン112は、第1の出発位置A
1と第2の出発位置B
1との間の第1の距離、および/または第1の目的地A
2と第2の目的地B
2との間の第2の距離に基づいて、第1の注文と第2の注文とが共有可能であるか否かを決定することができる。例えば、A
1とB
1との間の第1の距離が距離閾値(例えば、1km)未満であり、および/またはA
2とB
2との間の第2の距離が距離閾値(例えば、1km)未満である場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。
【0092】
図6Bに説明されるように、A
3は第1の出発位置を指し、A
4は第1の目的地を指す。B
3は第2の出発位置を指し、B
4は第2の目的地を指す。処理エンジン112は、第1の注文の第1の経路および第2の注文の第2の経路に基づいて、第1の注文と第2の注文とが共有可能であるか否かを決定することができる。説明されるように、A
3からA
4までの通路は第1の経路を指し、B
3からB
4までの通路は第2の経路を指す。例えば、第1の経路が第2の経路と部分的に重複しており、全経路(例えば、A
3からA
4までの通路)内の重複部分(例えば、B
3からB
4までの通路)のパーセンテージがパーセンテージの閾値(例えば、90%)より大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。
【0093】
図6Cに説明されるように、A
5は第1の出発位置を指し、A
6は第1の目的地を指す。B
5は第2の出発位置を指し、B
6は第2の目的地を指す。処理エンジン112は、第1の総マイル数(例えば、A
5からA
6までの距離)および第2の総マイル数(例えば、B
5からB
6までの距離)を決定することができる。処理エンジン112は、第1の注文と第2の注文との組み合わせについての組み合わされた運転経路、例えば、A
5→B
5→A
6→B
6として説明される通路をさらに決定することができる。処理エンジン112は、組み合わされた運転経路(例えば、A
5からB
6までの距離)に基づいて、第1の注文と第2の注文との組み合わせについての合計総マイル数を決定することができる。本開示において使用される「距離」は、空間距離または移動距離を指し得ることに留意されたい。本明細書において使用される際、空間距離は、道路または街路の一部分などの通路であって、それに沿ってサービスプロバイダが車両を運転することができる通路の距離を指すことができる。処理エンジン112は、第1の総マイル数、第2の総マイル数、および合計総マイル数に基づいて、第1の注文と第2の注文とが共有可能であるか否かを決定することができる。例えば、共有総マイル数(例えば、B
5からA
6までの距離)が所定の閾値(例えば、開始価格(例えば、3km)に対応する距離)よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。別の例として、合計総マイル数における第1の総マイル数または第2の総マイル数のパーセンテージが所定の閾値の値(例えば、40%)よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。さらなる例として、第3の総マイル数または第4の総マイル数における共有総マイル数のパーセンテージが所定の閾値の値(例えば、30%)よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。さらなる別の例として、合計総マイル数が第3の総マイル数または第4の総マイル数の所定の倍数(1.5倍)未満である場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。
【0094】
いくつかの実施形態では、
図5A〜5Cおよびそれらの説明に関連して記載されるように、処理エンジン112は、第1の推定料金、第2の推定料金、第3の推定料金、および/または第4の推定料金に基づいて、第1の注文と第2の注文とが共有可能であるか否かを決定することができる。例えば、第3の推定料金が第1の推定料金未満であり、および/または第4の推定料金が第2の推定料金未満である場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。別の例として、第1の注文と第2の注文との組み合わせのサービスプロバイダの総所得が所定の閾値の値(例えば、A
5からB
6までの通常注文の通常所得)よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。さらなる例として、合計総マイル数のサービスプロバイダのユニット所得(例えば、1キロメートル当たりのまたは1マイル当たりのユニット所得)が、A
5からB
6までの総マイル数の通常のユニット所得よりも大きい場合、処理エンジン112は、第1の注文と第2の注文とが共有可能であると決定することができる。
【0095】
図7は、本開示のいくつかの実施形態による共有可能な注文のセットを割り当てるための例示的なプロセス/方法700を説明するフローチャートである。プロセスおよび/または方法700は、オンデマンドサービスシステム100によって実行することができる。例えば、プロセスおよび/または方法は、ストレージのROM230またはRAM240内に格納された命令のセット(例えば、アプリケーション)として実装することができる。CPU210は、命令のセットを実行することができ、したがって、プロセスおよび/または方法700を遂行することを行うように指示されることができる。
【0096】
702では、処理エンジン112は、共有可能な注文のセットを取得することができる。
図4に関連して記載されるように、処理エンジン112は、複数の注文のマッチング情報に基づいて共有可能な注文のセットを決定することができる。
【0097】
ステップ704では、処理エンジン112は、共有可能な注文のセットから、第1の共有可能な注文および第2の共有可能な注文を決定することができる。処理エンジン112は、共有可能な注文のセットから、第1の共有可能な注文および第2の共有可能な注文をランダムに決定することができる。
【0098】
ステップ706では、処理エンジン112は、第1の共有可能な注文および第2の共有可能な注文の複数のパラメータを決定することができる。処理エンジン112は、第1の共有可能な注文および第2の共有可能な注文の特徴および/またはマッチング情報に基づいて複数のパラメータを決定することができる。複数のパラメータは、第1の共有可能な注文と第2の共有可能な注文との間の類似性に関連付けることができる。類似性が高いほど、サービスプロバイダが2つの共有可能な注文の組み合わされた注文を受諾し得る確率が高くなる。
【0099】
ステップ708では、処理エンジン112は、複数のパラメータについての複数の重み付け係数を決定することができる。複数の重み付け係数は、サービスプロバイダによる2つの共有可能な注文の組み合わせの受諾に関する影響度を反映することができる。便宜および説明の目的で、
図5A〜5Cに関連して記載されるように、以下の表1は、複数のパラメータおよび対応する複数の重み付け係数を説明する。
【0101】
本明細書において使用される際、第1の料金節約比率は、以下に説明される比率を指すことができる。
【0103】
同様に、第2の料金節約比率は、以下に説明される比率を指すことができる。
【0105】
サービスプロバイダの追加所得の比率は、以下に説明される比率を指すことができる。
【0107】
式中、通常所得は、第1の共有可能な注文と第2の共有可能な注文との組み合わせと同じの総マイル数または同じ運転経路を含む通常注文に基づくサービスプロバイダの所得を指す。
第1の節約料金は、以下に説明される第1の推定料金と第3の推定料金との間の差を指すことができる。
(第1の推定料金−第3の推定料金)。
第1の迂回総マイル数は、以下に説明される第1の総マイル数と第3の総マイル数との間の差を指すことができる。
(第1の総マイル数−第3の総マイル数)。
第2の節約料金は、以下に説明される第2の推定料金と第4の推定料金との間の差を指すことができる。
(第2の推定料金−第4の推定料金)。
第2の迂回総マイル数は、以下に説明される第2の総マイル数と第4の総マイル数との間の差を指すことができる。
(第2の総マイル数−第4の総マイル数)。
【0108】
表1に説明されるように、「正」および「負」は、2つの共有可能な注文間の類似性に関する正の影響および負の影響をそれぞれ指す。重み付け係数の絶対値は、対応するパラメータの影響度を表し、重み付け係数の絶対値が高いほど、2つの共有可能な注文間の類似性に関する対応するパラメータの影響度が高い。例えば、表1に説明されるように、パラメータ「第1の料金節約比率*第2の料金節約比率」および「サービスプロバイダの追加所得の比率」の重み係数が両方とも1である場合、それは、2つの共有可能な注文間の類似性に関する2つのパラメータの影響度がかなり高いことを示す。
【0109】
ステップ710では、処理エンジン112は、複数のパラメータおよび複数の重み付け係数に基づいて、第1の共有可能な注文と第2の共有可能な注文との関連性確率を決定することができる。いくつかの実施形態では、ステップ408に関連して記載されるように、関連性確率は、共有可能な注文の対の利益値を表すことができる。例えば、上記のように、利益値は、下記の式(1)のように表現することができる。
【0111】
式中、Vは利益値を指し、w
1はパラメータ「第1の料金節約比率*第2の料金節約比率」の重み付け係数を指し、w
2はパラメータ「サービスプロバイダの追加所得の比率」の重み付け係数を指す。この場合、w
1およびw
2の値は両方とも1である。式(1)は説明のためだけに提供されるものであり、利益値は他の形態、例えば、下記の式(2)のように表現することができることに留意されたい。
【0113】
いくつかの実施形態では、処理エンジン112は、シグモイド関数に従って関連性確率を決定することができる。例えば、シグモイド関数は、下記の式(3)のように表現することができる。
【0115】
式中、P
ijは、共有可能な注文i(第iの共有可能な注文とも称す)と共有可能な注文j(第jの共有可能な注文とも称す)との関連性確率を指し、Wは、複数の重み付け係数を含むセット{w
1、w
2、…、w
n}を指し、Xは、複数のパラメータを含むセット{x
1、x
2、…、x
n}を指し、W*Xは、「w
1*x
1+w
2*x
2+…+w
n*x
n」を指し、bは、定数(例えば、経験値)である。式(3)から、関連性確率が範囲(0、1)内であり得ることを確認することができる。
【0116】
例えば、利益値のみを考慮すると、関連性確率は、下記の式(4)のように表現することができる。
【0118】
式中、V
ijは、注文iと注文jとの組み合わせの利益値を指す。いくつかの実施形態では、利益値はW*Xとして定義することができる。この場合、式(4)および式(3)は同一である。
【0119】
いくつかの実施形態では、処理エンジン112は、システム100の初期設定に基づいて、複数の重み付け係数を決定することができる。いくつかの実施形態では、処理エンジン112は、機械学習モデルに基づいて、複数の重み付け係数を決定することができる。機械学習モデルは、ロジスティック回帰モデルであってもよい。処理エンジン112は、第1の共有可能な注文および第2の共有可能な注文に関する履歴データを訓練し、履歴データに基づいて複数の重み付け係数を決定することができる。
【0120】
例えば、処理エンジン112は、下記の式(5)に従ってサンプル空間の尤度関数を決定することができ、サンプル空間については、要素は、y
ijである。つまり、サンプル空間は、処理エンジン112が注文iと注文jとを注文グループとして組み合わせるか否かを表す。
【0122】
式中、Lは、尤度関数を指し、y
ijは、処理エンジン112が注文iと注文jとを注文グループとして組み合わせ得るか否かを指し、そうであれば、y
ijの値は1であり、そうでなければ、y
ijの値は0である。
【0123】
処理エンジン112は、下記の式(6)による対数アルゴリズムによって、サンプル空間の最大尤度関数を決定することができる。
【0125】
式中、Mは、最大尤度関数を指す。最大尤度関数は、好適なサンプル空間(例えば、最も可能性のあるサンプル空間)に対応することができる。処理エンジン112が最大尤度関数を決定すると、処理エンジン112は好適なサンプル空間を決定することができる。処理エンジン112は、好適なサンプル空間に基づいて複数の重み付け係数をさらに決定することができる。
【0126】
いくつかの実施形態では、処理エンジン112は、第1の共有可能な注文および第2の共有可能な注文のものと同様の方法で、共有可能な注文のセットの複数の関連性確率を決定することができ、複数の関連性確率の各々は、共有可能な注文のセット内の2つの共有可能な注文に対応する。例えば、処理エンジン112は、以下に説明される関連性行列を決定することができる。
【0128】
式中、Pは、関連性行列を指し、nは、共有可能な注文のセット内の共有可能な注文の総数を指し、P
ijは、第iの共有可能な注文と第jの共有可能な注文との間の関連性確率を指す。
【0129】
ステップ712では、処理エンジン112は、関連性確率に基づいて関連性値を決定することができる。例えば、第1の共有可能な注文(例えば、注文i)および第2の共有可能な注文(例えば、注文j)について、処理エンジン112は、下記の式(8)に従って関連性値を決定することができる。
R=P
ij*d
ij (8)
式中、Rは、関連性値を指し、d
ijは、処理エンジン112が注文iと注文jとを注文グループとして組み合わせ得るか否かを指し、そうであれば、d
ijの値は1であり、そうでなければ、d
ijの値は0である。
【0130】
いくつかの実施形態では、処理エンジン112は、下記の式(9)に従って全体的な関連性値を決定することができる。
【0132】
式中、Eは、共有可能な注文のセットが下記の組み合わせ行列によって定義された構成下で組み合わせられたときの共有可能な注文のセットについての全関連性確率を示す、全体的な関連性値を指し、
【0134】
式中、Dは、いずれの2つの共有可能な注文が組み合わせられるべきであるかを定義する組み合わせ行列を指し、式中、以下の通りである。
【0136】
ステップ714では、処理エンジン112は、関連性値に基づいて共有可能な注文のセットを割り当てることができる。処理エンジン112は、式(10)に従って、共有可能な注文のセットについての組み合わせ行列を定義することができる。
【0137】
さらに、処理エンジン112は、最大の全体的な関連性をもたらす組み合わせ行列Dを決定および/または算定することができる。処理エンジン112は、組み合わせ行列Dに基づいて、共有可能な注文のセットを割り当てることができる。いくつかの実施形態では、最大の全体的な関連性をもたらす組み合わせ行列Dを決定するために、処理エンジン112は、共有可能な注文のセット内のすべての共有可能な注文を横断することができる。いくつかの状況では、共有可能な注文iが、関連性行列内の任意の他の共有可能な注文と比較して、共有可能な注文jと最大の関連性確率値を有する場合、処理エンジン112は、d
ijの値を1として決定することができる。つまり、処理エンジン112は、特定の注文iと注文jとが注文グループとして組み合わせられ得ると決定することができる。いくつかの状況では、共有可能な注文iについて、共有可能な注文xとの関連性確率値と共有可能な注文yとの関連性確率値とが同じであり、その2つの関連性確率の両方が、関連性行列内の任意の他の共有可能な注文と比較して最大である場合、処理エンジン112は、共有可能な注文xまたは共有可能な注文yを選択し、d
ixまたはd
iyの値を1として決定することができる。いくつかの状況では、共有可能な注文iについて、処理エンジン112は、注文i、x、およびy以外の共有可能な注文zを選択し、d
izの値を1として決定することができる。
【0138】
処理エンジン112は、共有可能な注文のセット内のすべての共有可能な注文を横断することによって、組み合わせ行列Dを決定することができる。決定された組み合わせ行列Dに従って、全体的な関連性値は最大であるが、特定の注文iについては、処理エンジン112は、注文iと組み合わせるための注文oを決定することができ、注文oとの関連性確率は、関連性行列内の任意の他の共有可能な注文と比較して最大であっても、最大でなくてもよい。
【0139】
いくつかの実施形態では、処理エンジン112は、山登りアルゴリズム、遺伝的アルゴリズム、シミュレーテッドアニーリングアルゴリズムなど、またはそれらの組み合わせに基づいて、組み合わせ行列Dを決定することができる。
【0140】
山登りアルゴリズムを一例に取ると、山登りアルゴリズムはローカル最適化アルゴリズムであってもよい。説明のために、山登りアルゴリズムでは、複数のノードが存在し得、処理エンジン112は、特定のノードを選択し、特定のノードの値(例えば、トポロジーの潜在的な値)を隣接ノードの値と比較して、特定のノードの値が最大であると比較結果が示す場合、処理エンジン112は、特定のノードの値を最大値として決定することができる。つまり、処理エンジン112は、特定のノードを山のピークとして決定することができる一方、処理エンジン112は、値が最大である隣接ノードを選択し、上記のプロセスを繰り返すことができる。
【0141】
処理エンジン112は、山登りアルゴリズムに従って共有可能な注文のセットを割り当てることができ、処理エンジン112は、共有可能な注文のセットのための第1の組み合わせ行列を決定することができる。第1の組み合わせ行列は、共有可能な注文の複数の組み合わせを示し、複数の組み合わせの各々は、2つの共有可能な注文を含む。処理エンジン112は、第1の組み合わせ行列に基づいて第1の全体的な関連性を決定することができる。いくつかの実施形態では、処理エンジン112は、システム100の初期設定に基づいて第1の組み合わせ行列を決定することができる。いくつかの実施形態では、処理エンジン112は、共有可能な注文のセット内のすべての共有可能な注文を横断し、共有可能な注文のセット内の共有可能な注文の各々についての組み合わせパラメータを決定することができる。例えば、共有可能な注文のセットが注文1、注文2、…、および注文mを含むものと想定することができる。第1の組み合わせ行列に従って、特定の注文iについて、処理エンジン112は、注文jを注文iに組み合わせたかもしれない(これは、組み合わせ(i、j)として表現することができる)。処理エンジン112は、注文iおよび注文j以外の共有可能な注文を含む第1のセットを決定することができる。
【0142】
さらに、第1のセット内の注文sについて、第1の組み合わせ行列に従って、処理エンジン112は、注文sを注文tに組み合わせたかもしれない(これは、組み合わせ(s、t)と表現することができる)。処理エンジン112は、2つの組み合わせ(i、j)および(s、t)に基づいて第1の関連性値を決定することができる。処理エンジン112は、複数の組み合わせの変更を示し得る第2の組み合わせ行列をさらに決定することができる。例えば、処理エンジン112は、2つの組み合わせ(i、j)および(s、t)を、(s、i)および(i、t)、または(s、i)、(i、p)、および(q、t)と変更することができる。処理エンジン112は、上記の変更された組み合わせに基づいて第2の関連性値を決定することができる。
【0143】
処理エンジン112は、第2の関連性値が第1の関連性値よりも大きいか否かを決定することができ、そうであれば、処理エンジン112は、第1の組み合わせ行列を第2の組み合わせ行列に置換することができ、そうでなければ、処理エンジン112は、第1のセット内の別の注文を選択し、上記のプロセスを繰り返すことができる。処理エンジン112は、第1のセット内のすべての共有可能な注文が横断されるまで、山登りステップを中断することができる。処理エンジン112が山登りステップを中断すると、処理エンジン112は、最終的な変更された組み合わせ行列に基づいて第2の全体的な関連性値を決定することができる。処理エンジン112は、第2の全体的な関連性が第1の全体的な関連性よりも大きいか否かを決定することができ、そうであれば、処理エンジン112は、共有可能な注文のセット内の別の共有可能な注文を選択し、別の山登りステップを遂行するために戻ることができ、そうでなければ、処理エンジン112は、山登り処理を中断し、第1の組み合わせ行列を出力することができる。
【0144】
図8は、本開示のいくつかの実施形態によるリアルタイム注文を割り当てるための例示的なプロセス/方法800を説明するフローチャートである。プロセスおよび/または方法800は、オンデマンドサービスシステム100によって実行することができる。例えば、プロセスおよび/または方法は、ストレージのROM230またはRAM240内に格納された命令のセット(例えば、アプリケーション)として実装することができる。CPU210は、命令のセットを実行することができ、したがって、プロセスおよび/または方法800を遂行することを行うように指示されることができる。
【0145】
ステップ802では、処理エンジン112は、要求元からの第3の注文を決定することができる。処理エンジン112は、要求元端末130を介して要求元によって送信された要求に基づいて第3の注文を決定することができる。第3の注文は、リアルタイム注文であっても、または予約注文であってもよい。要求は、貨物輸送サービスのための要求であってもよい。
【0146】
ステップ804では、処理エンジン112は、第3の注文の第3の特徴を取得することができる。第3の注文の第3の特徴は、第3の乗客数、第3の出発位置、第3のピックアップ時間、第3の目的地、第3の貨物情報、追加情報など、またはそれらの組み合わせを含むことができる。第3の貨物情報は、貨物のタイプ、貨物のサイズ(例えば、長さ、幅、高さ)、貨物の重量など、またはそれらの組み合わせを含むことができる。貨物情報は、貨物に関する注意をさらに含むことができる。例えば、要求元は、貨物が大きな重量に耐えることができない、または貨物が壊れやすいかもしれないことを示すために注意を加えることができる。追加情報は、要求元によって定義された追加要件に関する情報であってもよい。例えば、要求元は、要求元が耐え得る待機持続時間を定義することができる。いくつかの実施形態では、処理エンジン112は、事前に貨物を梱包するように要求元に通知するための要求元に対する通知を提供することができる。
【0147】
いくつかの実施形態では、処理エンジン112は、第3の注文の第3の特徴に基づいてサービス料金を推定し、推定料金を要求元にさらに通知することができる。要求元は、サービス料金を変更するための要求を送信することができる。例えば、要求元は、チップ(例えば、5ドル)を追加するように要求することができる。チップの値は、オンデマンドシステム100の初期設定であっても、または要求元によって調整されてもよい。
【0148】
ステップ806では、処理エンジン112は、第3の特徴に基づいて複数の未決注文を取得することができる。未決注文は、現時点においてサービスプロバイダによって進行中である進行中注文を指す。処理エンジン112は、第3の出発位置からの所定の距離内で複数の未決注文を取得することができる。所定の距離は、システム100の初期設定であっても、または異なる状況によって調整可能であってもよい。例えば、交通のピークの時間帯では、所定の距離を比較的短く(例えば、1km)することができ、別様に、緩慢な時間帯(例えば、10:00〜12:00)では、所定の距離を比較的長く(例えば、3km)することができる。別の例として、第3の出発位置が人口密度の高いエリア(例えば、ニューヨーク市のマンハッタン)にある場合、またはオンデマンドサービスシステム100に登録されており、エリア内に現れた要求元もしくはサービスプロバイダの数が閾値(例えば、60,000)より大きい場合、所定の距離は比較的短く(例えば、1km)あり得る一方、第3の出発位置が人口の少ないエリア(例えば、農村エリア)にある場合、またはエリア内のオンデマンドサービスシステム100に登録されている要求元もしくはサービスプロバイダの数が閾値(10,000)より小さい場合、所定の距離は比較的長く(例えば、3km)あり得る。さらなる例として、第3の出発位置が、交通信号の数が閾値(例えば、5)より大きい道路上にある場合、所定の距離は比較的短く(例えば、1km)あり得る一方、第3の出発地点が、交通信号の数が閾値未満である道路上にある場合、所定の距離は比較的長く(例えば、3km)あり得る。
【0149】
ステップ808では、処理エンジン112は、複数の未決注文の第4の特徴を取得することができる。複数の未決注文の各々について、第4の特徴は、未決注文のプロバイダ/車両の位置、第4の経路、第4の車両情報、第4の貨物情報など、またはそれらの組み合わせを含むことができる。処理エンジン112は、プロバイダ端末140内のGPSまたは車両内のドライブレコーダを介して、未決注文のプロバイダ/車両の位置を決定することができる。第4の車両情報は、車両内の第4の座席数、第4の乗客数、トラック容積、積載能力など、またはそれらの組み合わせを含むことができる。処理エンジン112は、第4の車両情報および第4の貨物情報に基づいて残存トラック容積をさらに決定することができる。例えば、特定の未決注文について、貨物の容積がV
1であり、車両のトラック容積がV
0である場合、残存トラック容積は(V
0−V
1)であり得る。
【0150】
いくつかの実施形態では、処理エンジン112は、対応するプロバイダの登録事項を分析することによって、第4の特徴を取得することができる。例えば、プロバイダがオンデマンドサービスシステム100に登録するとき、システム100は、彼/彼女に、車両に関連付けられた登録事項情報を提供するように要求することができる。プロバイダは、プロバイダ端末140を介して、登録事項情報(例えば、タイプ、モデル、ブランド、プレート番号)を(例えば、テキスト入力または音声入力によって)手動で入力することができる。処理エンジン112は、登録事項情報を分析することによって、車両情報を決定することができる。例えば、特定のモデルは、特定のトラック容積に対応することができる。
【0151】
ステップ810では、処理エンジン112は、第3の特徴を第4の特徴とマッチングさせることができる。いくつかの実施形態では、複数の未決注文の特定の未決注文について、処理エンジン112は、第4の車両情報を第3の貨物情報とマッチングさせることができる。例えば、処理エンジン112は、容積係数c(例えば、0.6)に基づいて、利用可能なトラック容積を決定することができる。容積係数は、車両の残存トラック容積の利用可能度を表すことができる。例えば、残存トラック容積がV
aである場合、利用可能なトラック容積は、c*V
aである。処理エンジン112は、利用可能なトラック容積が貨物のサイズよりも大きいか否かを決定することができる。そうであれば、処理エンジン112は、第3の特徴が第4の特徴とマッチングすると決定することができ、そうでなければ、処理エンジン112は、第3の特徴が第4の特徴とマッチングしないと決定することができる。容積係数は、システム100の初期設定であっても、または異なる状況下で調整可能であってもよい。例えば、異なる車両モデルは、異なる容積係数に対応することができる。処理エンジン112は、複数の未決注文の各々を第3の注文とマッチングさせ、第3の注文とマッチングした複数の候補未決注文を決定することができる。
【0152】
ステップ812は、処理エンジン112は、マッチング結果に基づいて複数の候補未決注文を順位付けすることができる。複数の候補未決注文は、複数の候補プロバイダに対応することができる。したがって、本明細書において使用される際、「複数の候補未決注文を順位付けする」とは、「複数の候補プロバイダを順位付けする」ことを指す。
【0153】
いくつかの実施形態では、複数の候補未決注文の各々について、処理エンジン112は、第3の出発位置および/または第3の目的地を第4の経路にさらにマッチングさせることができる。例えば、処理エンジン112は、第3の出発位置と第3の目的地との間の第3の経路を決定し、第3の経路を第4の経路と比較することができる。第3の経路は、第4の経路と部分的に重複してもよく、処理エンジン112は、第3の経路または第4の経路内の重複部分のパーセンテージを決定することができる。処理エンジン112は、複数の候補未決注文についての重複部分の複数のパーセンテージを決定し、複数のパーセンテージに基づいて複数の候補プロバイダを順位付けし、第1の順位付け結果、例えば、大から小をさらに生成することができる。
【0154】
いくつかの実施形態では、処理エンジン112は、複数の候補プロバイダと第3の出発位置との間の複数の距離を決定することができ、複数の距離のうちの1つは、候補プロバイダのうちの1つに対応する。処理エンジン112は、複数の距離に基づいて候補プロバイダを順位付けし、第2の順位付け結果を生成することができる。
【0155】
いくつかの実施形態では、処理エンジン112は、第1の順位付け結果と第2の順位付け結果とを組み合わせて、第3の順位付け結果を生成することができる。順位付け結果を組み合わせるとき、処理エンジン112は、異なる重み付け係数を第1の順位付け結果と第2の順位付け結果とに割り当て、重み付け係数に基づいて第3の順位付け結果を生成することができる。
【0156】
単なる例として、下記の表2に説明されるように、第1の順位付け結果についての重み付け係数が0.6であり、第2の順位付け結果についての重み付け係数が0.4である場合、処理エンジン112は、重み付け係数に基づいて第3の順位付け値を決定することができ、処理エンジン112は、第3の順位付け値に基づいて第3の順位付け結果を決定することができる。
【0158】
いくつかの実施形態では、ステップ806では、処理エンジン112はまた、第3の出発位置からの所定の距離内で複数の利用可能なプロバイダを決定することができる。本明細書において使用される際、利用可能なプロバイダとは、現時点において必要なサービスを提供し得るサービスプロバイダを指し、そのサービスプロバイダについては、彼/彼女は現時点において他の要求元のためにサービスを提供していない。利用可能なプロバイダは、利用可能な車両に対応することができる。処理エンジン112は、利用可能な車両の残存トラック容積を決定し、残存トラック容積に基づいて利用可能なトラック容積を決定し、利用可能な車両を第3の貨物情報とマッチングさせることができる。処理エンジン112は、第3の貨物情報とマッチングした利用可能な車両に対応する候補プロバイダをさらに決定することができる。本明細書において使用される際、利用可能な車両について、残存トラック容積は、車両の元のトラック容積または対応する利用可能なプロバイダによって定義されたトラック容積を指す。
【0159】
いくつかの実施形態では、第4の特徴を決定するとき、複数の未決注文の各々について、処理エンジン112は、未決注文の要求元が車両を他の要求元と共有することを望むか否かを決定することができる。要求元は、彼/彼女が要求を送信するとき、または処理エンジン112が通知を彼/彼女の要求元端末130に送信するときに、彼/彼女が車両を他の要求元と共有することを望まないと定義することができる。
【0160】
ステップ814では、処理エンジン112は、第3の注文を、第1の順位付け結果、第2の順位付け結果、または第3の順位付け結果に基づいて割り当てることができる。例えば、処理エンジン112は、第3の注文を、第3の順位付け結果に従って、第1のNつの候補未決注文(例えば、3)に対応する第1のNつの候補プロバイダに送信することができ、式中、Nは正の整数である。別の例として、処理エンジン112は、距離閾値(例えば、5km)を事前に決定し、第3の注文を、第2の順位付け結果に従って、第3の出発位置からの距離閾値内の第1のN’つの候補未決注文に対応する第1のN’つの候補プロバイダに送信することができる。
【0161】
いくつかの実施形態では、処理エンジン112が第3の貨物情報を第4の車両情報とマッチングさせる前または後に、複数の未決注文の各々について、処理エンジン112は、車両内の利用可能な座席数を決定し、第3の乗客数を車両内の利用可能な座席数と比較することができる。処理エンジン112は、車両内の第4の座席数および未決注文の第4の乗客数に基づいて利用可能な座席数を決定することができる。第3の乗客数が車両内の利用可能な座席数よりも多い場合、処理エンジン112は、第3の特徴が第4の特徴とマッチングしないと直接決定することができる。
【0162】
いくつかの実施形態では、ステップ810において、処理エンジン112は、第3の貨物情報を第4の車両におよび第3の経路を第4の経路に両方マッチングさせて、マッチング結果に基づいて複数の候補未決注文を決定することができる。このシナリオでは、処理エンジン112は、複数のプロバイダと第3の出発位置との間の距離に基づいて複数の候補プロバイダを順位付けし、順位付け結果に基づいて第3の注文を複数の候補プロバイダにさらに割り当てることができる。
【0163】
単なる例として、要求元Aは、果物のバスケットを出発位置Aから目的地Aまで移動させることを望む。要求元Aは、要求元端末130を介して、輸送要求をオンデマンドサービスシステム100に送信することができる。バスケットの長さ、幅、および高さは、それぞれ0.2m、0.3m、および0.4mである。バスケットの容積は、0.024m
3である。処理エンジン112は、ネットワーク120を介して、要求元端末130から出発位置A、目的地A、およびバスケットの容積を取得することができる。処理エンジン112は、サービス料金を推定し、輸送要求に基づいて注文Aをさらに生成することができる。さらに、処理エンジン112は、出発位置Aからの所定の距離(例えば、1km)内のB、C、D、およびEを含む4つの車両を決定することができる。
【0164】
処理エンジン112は、表3に説明される4つの車両のトラック情報および距離情報を決定することができる。車両が未決注文に対応する場合、処理エンジン112は、対応する要求元が車両を他の要求元と共有することを望むか否かをさらに決定することができる。
【0166】
処理エンジン112は、車両Bおよび車両Eが注文Aとマッチングすると決定することができる。いくつかの実施形態では、処理エンジン112は、注文Aを車両Bに対応するプロバイダBに割り当てることができ、プロバイダBが注文Aを受諾することを拒否した場合、処理エンジン112は、注文Aを車両Eに対応するプロバイダEにさらに割り当てることができる。いくつかの実施形態では、処理エンジン112は、注文AをプロバイダBおよびプロバイダEに同時に割り当てることができ、プロバイダBおよびプロバイダEは、注文Aを受諾するか否かを選択することができる。
【0167】
このように基本概念を説明してきたが、上記の詳細な開示は例としてのみ提示されることを意図するものであり、限定するものではないことが、この詳細な開示を読んだ後、当業者にはある程度明らかであるかもしれない。本明細書において明白に述べられていないが、種々の修正、改善、および変更が生じる得、また、当業者に意図される。これらの修正、改善、および変更は、本開示によって示唆されることが意図されるものであり、本開示の例示的な実施形態の趣旨および範囲内である。
【0168】
さらに、ある特定の用語を使用して、本開示の実施形態を説明してきた。例えば、「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、および/または「いくつかの実施形態」という用語は、該実施形態に関連して説明される特定の特徴、構造、または特性が本開示の少なくとも1つの実施形態内に含まれることを意味する。したがって、本明細書の種々の部分における「一実施形態(an embodiment)」もしくは「一実施形態(one embodiment)」、または「一代替的実施形態」に対する2つ以上の参照は、必ずしもすべてが同じ実施形態を指しているわけではないことが強調され、かつ理解されるべきである。さらに、特定の特徴、構造、または特性は、本開示の1つ以上の実施形態内に好適に組み合わせることができる。
【0169】
さらに、本開示の態様は、本明細書において、任意の新規かつ有用なプロセス、機械、製造、もしくは物質の組成物、またはそれらの任意の新規かつ有用な改善を含む多くの特許性のあるクラスもしくは文脈のいずれかにおいて説明および記載され得ることが、当業者によって理解されるであろう。したがって、本開示の態様は、完全にハードウェアで、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)で、または「ユニット」、「モジュール」、もしくは「システム」として本明細書においてすべてを概ね称することができるソフトウェアおよびハードウェアの実装の組み合わせで実装することができる。さらに、本開示の態様は、1つ以上のコンピュータ可読媒体であって、その上に具現化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体内に具現化されたコンピュータプログラム製品の形態を取ることができる。
【0170】
コンピュータ可読信号媒体は、伝播データ信号であって、その中に、例えば、ベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ可読プログラムコードを有する伝播データ信号を含むことができる。かかる伝播信号は、電磁、光など、またはそれらの任意の好適な組み合わせを含む種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれらに関連して使用するためのプログラムを通信し、伝播し、または移動させることができる任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、またはそれらの任意の好適な組み合わせを含む任意の適切な媒体を使用して伝達することができる。
【0171】
本開示の態様に関する動作を行うためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Pythonなどのオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、Ruby、およびGroovyなどの動的プログラミング言語、または他のプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、完全にユーザのコンピュータ上で実行されてもよく、スタンドアローンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で実行されてもよく、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で実行されてもよく、または完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN:local area network)またはワイドエリアネットワーク(WAN:wide area network)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続することができるか、あるいは接続を外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)もしくはクラウドコンピューティング環境内においてするか、またはソフトウェアアズアサービス(SaaS:Software as a Service)などのサービスとして提供することができる。
【0172】
さらに、処理要素もしくはシーケンスの列挙された順序、またはそれらのための数字、文字、もしくは他の名称の使用は、特許請求の範囲において特定される場合を除き、特許請求されたプロセスおよび方法を任意の順序に限定することを意図するものではない。上記の開示は、種々の実施例を通して、本開示の種々の有用な実施形態であると現在考えられているものを論じているが、かかる詳細はその目的のためだけであり、添付の特許請求の範囲は開示される実施形態に限定されないが、これに反して、開示される実施形態の趣旨および範囲内の変更および等価構成を網羅することを意図するものであることが理解されるべきである。例えば、上記で説明される種々の構成要素の実装は、ハードウェアデバイス内で具現化することができるが、ソフトウェアのみの解決策、例えば、既存のサーバまたはモバイルデバイスへのインストールとして実装することもできる。
【0173】
同様に、本開示の実施形態の上述の説明において、種々の特徴が、種々の実施形態のうちの1つ以上の理解を助ける本開示を簡素化する目的で、単一の実施形態、図、またはそれらの説明内で一緒に分類されることが時としてあることを理解されたい。しかしながら、本開示の方法は、特許請求された主題が各請求項において明白に列挙されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、特許請求された主題は、上述の開示された単一の実施形態のすべての特徴よりも少なくてもよい。