JP5748900B2 - Provision of real-time segment performance information - Google Patents

Provision of real-time segment performance information Download PDF

Info

Publication number
JP5748900B2
JP5748900B2 JP2014502830A JP2014502830A JP5748900B2 JP 5748900 B2 JP5748900 B2 JP 5748900B2 JP 2014502830 A JP2014502830 A JP 2014502830A JP 2014502830 A JP2014502830 A JP 2014502830A JP 5748900 B2 JP5748900 B2 JP 5748900B2
Authority
JP
Japan
Prior art keywords
segment
user
data
effort
current activity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014502830A
Other languages
Japanese (ja)
Other versions
JP2014517947A (en
Inventor
ショー・マーク
キッチェル・デイビス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Strava Inc
Original Assignee
Strava Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Strava Inc filed Critical Strava Inc
Publication of JP2014517947A publication Critical patent/JP2014517947A/en
Application granted granted Critical
Publication of JP5748900B2 publication Critical patent/JP5748900B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • G01S19/19Sporting applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Description

他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、発明の名称を「MOBILE GLOBAL POSITIONING SYSTEM (GPS) DEVICE FOR PROVIDING REAL−TIME FEEDBACK」とする、2011年3月31日出願の米国特許仮出願第61/470,238号に基づく優先権を主張する。
CROSS-REFERENCE Other applications are incorporated herein by reference for all purposes, the entitled as "MOBILE GLOBAL POSITIONING SYSTEM (GPS) DEVICE FOR PROVIDING REAL-TIME FEEDBACK ", March 2011 Claims priority based on US Provisional Patent Application No. 61 / 470,238, filed 31 January.

従来から、GPSデバイスは、アスリートの身体活動(例えば、ランニング、サイクリング)中にアスリートのGPS位置およびその他のデータポイント(例えば、高度、心拍数)を記録および格納することが可能であり、また、GPSデバイスは、かかる身体活動の実行中にリモートサーバへ増分的にこれらのデータポイントをアップロードでき得る。   Traditionally, GPS devices have been able to record and store the athlete's GPS position and other data points (eg altitude, heart rate) during the athlete's physical activity (eg running, cycling), and The GPS device may be able to upload these data points incrementally to a remote server while performing such physical activity.

以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。   Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.

いくつかの実施形態に従って、セグメントを定義してマッチングさせるためのシステムを示す図。FIG. 3 illustrates a system for defining and matching segments according to some embodiments.

いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図。FIG. 3 illustrates one embodiment of a segment matching server, according to some embodiments.

いくつかの実施形態に従って、エフォートデータベースのテーブルに格納されたエフォートの一例を示す図。FIG. 4 illustrates an example of effort stored in a table of an effort database, according to some embodiments.

いくつかの実施形態に従って、セグメントマッチングのための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for segment matching in accordance with some embodiments.

いくつかの実施形態に従って、エフォートに基づいてセグメントを定義する処理の一実施形態を示すフローチャート。7 is a flowchart illustrating one embodiment of a process for defining a segment based on effort, according to some embodiments.

いくつかの実施形態に従って、エフォートに基づいてセグメントを定義するためのユーザインターフェースの一例を示す図。FIG. 4 illustrates an example user interface for defining segments based on effort, according to some embodiments.

いくつかの実施形態に従って、セグメントのスタートポイントの選択を示すユーザインターフェースの一例を示す図。FIG. 4 is a diagram illustrating an example of a user interface illustrating the selection of a segment start point according to some embodiments.

いくつかの実施形態に従って、セグメントのゴールポイントの選択を示すユーザインターフェースの一例を示す図。FIG. 4 is a diagram illustrating an example of a user interface illustrating the selection of a goal point for a segment according to some embodiments.

いくつかの実施形態に従って、地図上の一連の選択を用いてセグメントを定義するためのユーザインターフェースの一例を示す図。FIG. 4 illustrates an example user interface for defining a segment using a series of selections on a map, according to some embodiments.

いくつかの実施形態に従って、一連のGPS情報を最小外接矩形(MBR)に変換する一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of converting a series of GPS information into a minimum circumscribed rectangle (MBR), according to some embodiments.

いくつかの実施形態に従って、一連のGPS情報を1セットのMBRに変換する一例を示す図。FIG. 4 illustrates an example of converting a series of GPS information into a set of MBRs according to some embodiments.

いくつかの実施形態に従って、セグメント情報を格納するためのデータベーステーブルのエントリの一例を示す図。FIG. 6 is a diagram illustrating an example of a database table entry for storing segment information according to some embodiments.

いくつかの実施形態に従って、セグメントデータベースで一致するセグメントを検索する処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for searching for a matching segment in a segment database, according to some embodiments.

いくつかの実施形態に従って、エフォートをセグメントに対してマッチングする一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of matching effort to a segment in accordance with some embodiments.

いくつかの実施形態に従って、仮想スタートラインを作成する一例を示す図。FIG. 3 illustrates an example of creating a virtual start line according to some embodiments.

いくつかの実施形態に従って、一致するエフォートを決定するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for determining a matching effort according to some embodiments.

いくつかの実施形態に従って、一致したエフォートについて解析されたデータの表示の一例を示す図。FIG. 6 illustrates an example display of data analyzed for matched effort, according to some embodiments.

いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムフィードバックを提供するためのシステムの一実施形態を示す図。FIG. 4 illustrates one embodiment of a system for providing real-time feedback during current activity associated with a segment, according to some embodiments.

いくつかの実施形態に従って、ユーザが活動を行う間にシステム1500を利用する様子を示す図。FIG. 3 illustrates a user utilizing a system 1500 while performing an activity, according to some embodiments.

いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図。FIG. 3 illustrates one embodiment of a segment matching server, according to some embodiments.

いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムフィードバックを提供するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for providing real-time feedback during current activity associated with a segment, according to some embodiments.

いくつかの実施形態に従って、デバイスで記録された情報をリモートのセグメントマッチングサーバに送信することに関するパラメータを設定するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for setting parameters related to sending information recorded at a device to a remote segment matching server, according to some embodiments.

いくつかの実施形態に従って、セグメントデータをサーバからプリフェッチして、デバイスでリアルタイムフィードバックを生成するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for prefetching segment data from a server and generating real-time feedback at a device according to some embodiments.

ユーザの現行活動のパフォーマンスデータとの比較のために取得されるデータへのフィルタに関するパラメータを設定するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for setting parameters relating to a filter on data acquired for comparison with performance data of a user's current activity.

いくつかの実施形態に従って、ユーザの現行活動にセグメントをマッチングさせるための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for matching a segment to a user's current activity in accordance with some embodiments.

いくつかの実施形態に従って、セグメントに沿ったユーザの進捗を決定するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for determining a user's progress along a segment according to some embodiments.

いくつかの実施形態に従って、ユーザの現行活動に関するリアルタイムパフォーマンス情報を伝達するための処理の一実施形態を示すフローチャート。6 is a flowchart illustrating one embodiment of a process for communicating real-time performance information regarding a user's current activity in accordance with some embodiments.

いくつかの実施形態に従って、「Marincello Trail」セグメントで完了したエフォートに関する順位表(Leaderboard)を表示したユーザインターフェースのスクリーンショットを示す図。FIG. 4 is a screenshot of a user interface displaying a leaderboard for effort completed in a “Marincello Trail” segment, according to some embodiments.

いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)のリストを表示したユーザインターフェースのスクリーンショットを示す図。FIG. 6 is a screenshot of a user interface displaying a list of detected segments (“climbs”) located near a user's current activity, according to some embodiments.

いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)の地図(map)を表示したユーザインターフェースのスクリーンショットを示す図。FIG. 6 is a screenshot of a user interface displaying a map of detected segments (“climbs”) located near a user's current activity in accordance with some embodiments.

本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。   The present invention is a process, apparatus, system, composition of matter, computer program product embodied on a computer readable storage medium, and / or processor (stored in and / or stored in a memory connected to a processor). A processor configured to execute the provided instructions) and can be implemented in various forms. In this specification, these implementations or any other form that the invention may take may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or memory that is described as being configured to perform a task is a general component that is temporarily configured to perform a task at a certain time, or It may be implemented as a particular component that is manufactured to perform a task. As used herein, the term “processor” is intended to refer to a processing core configured to process one or more devices, circuits, and / or data such as computer program instructions.

以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。   The following provides a detailed description of one or more embodiments of the invention with reference to the drawings illustrating the principles of the invention. Although the invention has been described in connection with such embodiments, it is not limited to any embodiment. The scope of the invention is limited only by the claims and includes many alternatives, modifications, and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are for the purpose of illustration, and the present invention may be practiced according to the claims without some or all of these specific details. For the purpose of simplicity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.

セグメントを定義して、セグメントにエフォートをマッチングさせることについて、本明細書で開示する。本明細書で用いられているように、セグメントとは、関心のある地理的経路のことであり、基準(例えば、経路に沿った運動パフォーマンスの比較および/またはその他の用途のための基準)として利用できる。例えば、セグメントは、サイクリストに人気のヒルクライムコースを特定するために利用されうる。本明細書で用いられているように、エフォートとは、タイムスタンプを伴う記録された一連のGPS情報のことである(例えば、運動パフォーマンスを表しうる)。いくつかの実施形態において、エフォートは、関連データ(例えば、エフォートが関連する活動の測定値)と共に格納される。いくつかの実施形態では、格納されたエフォートから1または複数のセグメントが導出される。いくつかの実施形態において、ユーザは、セグメントを定義できる。いくつかの実施形態では、エフォートの視覚的表現がユーザインターフェースに提示され、ユーザは視覚的表現を用いてセグメントを定義する。いくつかの実施形態では、地図がユーザインターフェースに提示され、ユーザは地図上に経路を示すことによってセグメントを定義する。様々な実施形態において、一連のGPS情報が、セグメントとして格納される前に、1セットの地理的抽象に変換される。いくつかの実施形態において、セグメントは、そのセグメントに一致すると判定されたエフォートの関連データと共に格納される。   Disclosed herein is defining a segment and matching the effort to the segment. As used herein, a segment is a geographic path of interest as a reference (eg, a comparison of exercise performance along the path and / or other uses). Available. For example, the segments can be used to identify hill climb courses that are popular with cyclists. As used herein, an effort is a series of recorded GPS information with a time stamp (eg, may represent athletic performance). In some embodiments, the effort is stored with associated data (eg, a measure of activity with which the effort is associated). In some embodiments, one or more segments are derived from the stored effort. In some embodiments, the user can define segments. In some embodiments, a visual representation of the effort is presented on the user interface, and the user defines the segment using the visual representation. In some embodiments, a map is presented on the user interface and the user defines the segment by showing a route on the map. In various embodiments, a series of GPS information is converted into a set of geographic abstractions before being stored as segments. In some embodiments, the segment is stored with the associated data of the effort determined to match the segment.

様々な実施形態において、エフォートは、格納されたセグメントとマッチングされる。様々な実施形態において、2つのレベルのマッチングが、エフォートおよび格納済みのセグメントを用いて実行されうる。第1のレベルのマッチングでは、格納されたセグメントの1つに対するエフォートの一致率が第1の閾値を超える場合に、第1の決定がなされる(例えば、エフォートは、セグメントに対する緩やかな一致である)。第2のレベルのマッチングでは、格納されたセグメントの1つに対するエフォートの一致率が(第1の閾値よりも大きい)第2の閾値を超え、さらに、エフォートがセグメントのスタートラインおよびゴールラインを横切る(セグメントのスタートラインおよびゴールラインと交差する)場合(または、セグメントがループを形成し、二度目にループセグメントのエントリポイントを超えたと判定された場合)、第2の決定がなされる(例えば、エフォートは、セグメントに対する厳密な一致である)。いくつかの実施形態では、エフォートが、1または複数の格納されたセグメントに対する緩やかな一致であり、そのエフォートが、さらに、1または複数の格納されたセグメントに対する厳密な一致であると判定されうる。いくつかの実施形態において、エフォートがセグメントに(例えば、緩やかな一致または厳密な一致のいずれかとして)一致する場合、エフォートの関連データが、一致したセグメントと共に格納された関連データと比較される。いくつかの実施形態において、エフォートがセグメントに一致する場合、エフォートの関連データは、セグメントに一致する他のエフォートの関連データとも比較される。   In various embodiments, the effort is matched with the stored segment. In various embodiments, two levels of matching can be performed using effort and stored segments. In a first level of matching, a first decision is made when the effort match rate for one of the stored segments exceeds a first threshold (eg, an effort is a loose match for a segment). ). In the second level of matching, the effort match rate for one of the stored segments exceeds a second threshold (greater than the first threshold), and the effort crosses the segment start and goal lines. A second decision is made (e.g., if the segment crosses the start line and goal line of the segment) (or if it is determined that the segment forms a loop and the loop segment entry point is exceeded a second time) (e.g., Effort is an exact match for a segment). In some embodiments, the effort can be determined to be a loose match for one or more stored segments, and the effort can be further determined to be an exact match for one or more stored segments. In some embodiments, if the effort matches a segment (eg, as either a loose match or an exact match), the effort related data is compared to the related data stored with the matched segment. In some embodiments, if the effort matches a segment, the effort related data is also compared with other effort related data matching the segment.

図1は、いくつかの実施形態に従ってセグメントを定義してマッチングさせるためのシステムである。システム100は、デバイス102、ネットワーク104、および、セグメントマッチングサーバ106を備える。ネットワーク104は、様々な高速データネットワークおよび/または遠隔通信ネットワークを含む。デバイス102は、ネットワーク104を通してセグメントマッチングサーバ106と通信する。いくつかの実施形態において、システム100は、図1の例に示したのと異なる数の構成要素を備えてもよい。   FIG. 1 is a system for defining and matching segments according to some embodiments. The system 100 includes a device 102, a network 104, and a segment matching server 106. Network 104 includes various high-speed data networks and / or telecommunications networks. Device 102 communicates with segment matching server 106 through network 104. In some embodiments, the system 100 may include a different number of components than shown in the example of FIG.

デバイス102は、GPS情報および/または身体活動に関連するその他のデータを記録できるデバイスである。デバイス102は、さらに、GPS情報および/または身体活動に関連するその他のデータがアップロードまたは転送されうるデバイスであってよい。デバイス102の例としては、GPSデバイス(例えば、Garmin Forerunner 110、205、301、305、310XT、405、405CX、および、Garmin Edge 305、605、705、500など、Garmin ForerunnerおよびEdgeデバイス)、GPS記録アプリケーション(例えば、MotionX、Endomondo、および、RunKeeper)を備えたスマートフォン(例えば、AndroidデバイスまたはApple iPhoneデバイス)などの携帯電話、コンピュータ、タブレットデバイス、および/または、その他の汎用コンピュータデバイスおよび/または専用コンピュータデバイスが挙げられるが、これらに限定されず、それらは、一般的に、汎用プロセッサと、メモリまたはその他のストレージ要素と、ネットワークまたは出入力(I/O)機能と、統合GPS機能またはサポートもしくはGPSデバイスまたはGPS機能のためのインターフェースと、を備える。   Device 102 is a device that can record GPS information and / or other data related to physical activity. The device 102 may further be a device to which GPS information and / or other data related to physical activity may be uploaded or transferred. Examples of device 102 include a GPS device (eg, Garmin Forrunner 110, 205, 301, 305, 310XT, 405, 405CX, and Garmin Edge 305, 605, 705, 500, Garmin Forrunner and Edge devices), GPS recording Mobile phones, computers, tablet devices, and / or other general purpose computer devices and / or special purpose computers such as smartphones (eg, Android devices or Apple iPhone devices) with applications (eg, MotionX, Endonmondo, and RunKeeper) Devices, but not limited to, these are generally generic Comprising a processor, a memory, or other storage element, the network or input and output (I / O) capabilities and, the, the interface for the integrated GPS function or support or GPS device or GPS function.

様々な実施形態において、デバイス102(または、そのアプリケーション)は、活動中に、GPS情報と、身体活動に関連するデータとを記録するよう構成されている。いくつかの実施形態において、デバイス102は、活動の終了後に、記録されたGPS情報および活動中の身体活動に関連するデータを受信するよう構成されている(例えば、かかる情報が、デバイス102にアップロードされる)。いくつかの実施形態において、記録されたGPS情報および関連データは、「エフォート」と呼ばれる。言い換えると、エフォートは、身体活動の事象であり、地理情報、および、運動パフォーマンスに関連するその他の測定値によって表現されうる。身体活動の例としては、サイクリング、ランニング、および、スキーが挙げられる。いくつかの実施形態において、GPS情報は、一連の連続的かつ離散的なGPSデータポイント(例えば、緯度および経度)を含み、各ポイントに対してタイムスタンプを備える。いくつかの実施形態において、関連データは、標高、心拍数、仕事率/ワット数(例えば、消費されたエネルギ)、タイム、速度(例えば、セグメントおよび/またはルートごとの平均および/または最大速度、例えば、平均速度はタイムおよびGPS情報から導出されうる)を含むが、これらに限定されない。関連データは、様々な粒度で記録されうる。例えば、関連データは、各GPSデータポイント、活動全体(例えば、関連データが測定値の平均を含む)、または、活動の一部に対応しうる。一例として、サイクリングの時にデバイス102を利用できる。サイクリングの終わりに、ユーザは、ユーザが辿った地理的経路、ユーザがサイクリングでどれだけのエネルギを消費したか、どのくらい早くゴールしたか、平均速度、標高に基づいた測定値、および/または、その他の測定値を見るために、(例えば、デバイス102のユーザインターフェースを通して)記録されたGPS情報と共に自身のパフォーマンスを振り返ることができる。いくつかの実施形態において、デバイス102は、記録されたGPS情報および関連データ(例えば、エフォート)を格納する、および/または、エフォート情報をサーバ106に送信するよう構成される。いくつかの実施形態において、デバイス102は、対話型ユーザインターフェースを提示するよう構成される。ユーザインターフェースは、GPS情報を表示し、それらの表示に関する(例えば、ユーザによってなされた)選択を受信しうる。いくつかの実施形態において、デバイス102は、受信した選択をセグメントマッチングサーバ106に送信する。   In various embodiments, the device 102 (or its application) is configured to record GPS information and data related to physical activity during activity. In some embodiments, the device 102 is configured to receive recorded GPS information and data related to the active physical activity after the activity ends (eg, such information uploaded to the device 102). ) In some embodiments, the recorded GPS information and associated data is referred to as “effort”. In other words, effort is an event of physical activity and can be represented by geographic information and other measurements related to exercise performance. Examples of physical activity include cycling, running, and skiing. In some embodiments, the GPS information includes a series of continuous and discrete GPS data points (eg, latitude and longitude), with a time stamp for each point. In some embodiments, the relevant data includes elevation, heart rate, power / wattage (eg, energy consumed), time, speed (eg, average and / or maximum speed per segment and / or route, For example, the average speed may be derived from time and GPS information), but is not limited thereto. Related data can be recorded at various granularities. For example, the relevant data may correspond to each GPS data point, the entire activity (eg, the relevant data includes an average of measurements), or a portion of the activity. As an example, the device 102 can be utilized during cycling. At the end of cycling, the user will be able to follow the geographical path that the user has followed, how much energy the user has consumed in cycling, how quickly he has scored, average speed, measurements based on elevation, and / or other You can look back on your performance along with recorded GPS information (eg, through the user interface of device 102) to see your measurements. In some embodiments, the device 102 is configured to store recorded GPS information and associated data (eg, effort) and / or send effort information to the server 106. In some embodiments, the device 102 is configured to present an interactive user interface. The user interface may display GPS information and receive selections regarding those displays (eg, made by the user). In some embodiments, the device 102 sends the received selection to the segment matching server 106.

様々な実施形態において、セグメントマッチングサーバ106は、デバイス102のユーザインターフェースをサポートおよび提示するよう構成される。いくつかの実施形態において、セグメントマッチングサーバ106は、記録されたエフォートを用いてユーザインターフェースにおいてユーザが定義したセグメントを受信するよう構成される。セグメントとは、関心のある地理的経路のことを意味しており、地理的経路に沿った運動パフォーマンスの比較のための基準として利用できる。セグメントマッチングサーバ106は、一連のGPS情報および関連データ(例えば、エフォート)を受信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ106は、地図ソフトウェアアプリケーションを用いてユーザインターフェースにGPS情報の視覚的表現を表示するよう構成されている。視覚的表現は、例えば、地図上にマークされた一連のフラッグまたは連続的な線であってよい。いくつかの実施形態において、セグメントマッチングサーバ106は、地図ソフトウェア/アプリケーション(例えば、Google Maps、MapQuest、Bing maps、および/または、別のマッピングアプリケーション/サービス)のアプリケーション・プログラミング・インターフェース(API)と相互作用するよう構成されたロジックを備えることによって、ユーザインターフェースで地図をサポートできる。いくつかの実施形態において、ユーザは、GPS情報の視覚的表現を用いてセグメントを定義できる。いくつかの実施形態において、GPS情報の視覚的表現に沿って、スタートポイントおよびゴールポイント(例えば、終点)が、セグメントを定義するために地図上で選択される。例えば、ユーザは、身体活動中に辿った地理的経路に沿ってスタートポイントおよび/またはゴールポイントを(例えば、マーカをドロップするか、または、クリックすることによって)選択できる。このように、選択されたスタートポイントおよびゴールポイントの間にある地理的経路の一部が、セグメントとして定義される。いくつかの実施形態において、スタートポイントおよびゴールポイントは、定義されたセグメントと共に格納される。いくつかの実施形態において、スタートポイントおよびゴールポイントの間にある地理的経路の一部は、抽象形態に変換された後に、セグメントを格納するためのデータベースに格納される。いくつかの実施形態において、定義されたセグメントに対応する関連データも、セグメントと共にデータベースに格納される。   In various embodiments, the segment matching server 106 is configured to support and present the user interface of the device 102. In some embodiments, the segment matching server 106 is configured to receive user-defined segments at the user interface using the recorded effort. A segment means a geographic path of interest and can be used as a reference for comparison of athletic performance along the geographic path. The segment matching server 106 is configured to receive a series of GPS information and related data (eg, effort). In some embodiments, the segment matching server 106 is configured to display a visual representation of GPS information on a user interface using a map software application. The visual representation may be, for example, a series of flags or continuous lines marked on the map. In some embodiments, the segment matching server 106 interacts with an application programming interface (API) of a map software / application (eg, Google Map, MapQuest, Bing map, and / or another mapping application / service). By providing logic configured to work, the user interface can support maps. In some embodiments, the user can define segments using a visual representation of GPS information. In some embodiments, along with a visual representation of GPS information, start points and goal points (eg, end points) are selected on the map to define the segment. For example, the user can select start points and / or goal points (eg, by dropping or clicking a marker) along a geographic path followed during physical activity. In this way, the part of the geographical path between the selected start point and goal point is defined as a segment. In some embodiments, start points and goal points are stored with defined segments. In some embodiments, a portion of the geographic path between the start point and the goal point is stored in a database for storing segments after being converted to an abstract form. In some embodiments, relevant data corresponding to the defined segment is also stored in the database along with the segment.

いくつかの実施形態において、セグメントマッチングサーバ106は、地図上の選択肢を用いてユーザインターフェースにおいてユーザが定義したセグメントを受信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ106は、地図(例えば、Google Maps、MapQuest)を提示し、セグメントのコースを示すための地図上の一連のポイント選択を受信する。地図上の一連のポイント選択は、記録されたエフォートに基づく必要はなく、単に、関心のある任意の地理的経路であってよい。例えば、選択されるセグメントは、サイクリストが以前に走ったが記録はしていない経路であってもよいし、選択されるセグメントは、サイクリストが将来走りたいと思う経路であってもよい。地図上の一連のポイント選択は、一連のGPS情報(例えば、座標)に変換できる。いくつかの実施形態において、一連のGPS情報は、抽象形態に変換された後に、セグメントとして格納される。   In some embodiments, the segment matching server 106 is configured to receive user-defined segments at the user interface using map choices. In some embodiments, the segment matching server 106 presents a map (eg, Google Map, MapQuest) and receives a series of point selections on the map to indicate the course of the segment. The sequence of point selections on the map need not be based on the recorded effort, but can simply be any geographic path of interest. For example, the selected segment may be a path that the cyclist has previously run but not recorded, and the selected segment may be the path that the cyclist wants to run in the future. A series of point selections on the map can be converted into a series of GPS information (eg, coordinates). In some embodiments, the series of GPS information is stored as segments after being converted to an abstract form.

いくつかの実施形態では、ユーザインターフェースにおいてセグメントが定義された後、格納されたエフォート(例えば、過去の身体活動からのGPS情報のセット)が、定義されたセグメントと比較される。いくつかの実施形態において、この定義されたセグメントとエフォートが比較された時に、部分的には、スタートポイントおよびゴールポイントを通過したことをエフォートのGPS情報が示すか否かをチェックすることによって、エフォートがセグメントと一致するか否かが判定される。1または複数のエフォートがセグメントに一致すると判定されると、エフォートに関連付けられたデータが、リトリーブされて分析される。いくつかの実施形態において、新たに定義されたセグメントに関連付けられたデータも、分析に含められる。例えば、データを比較することにより、セグメントに一致するどのエフォートがセグメント完了の最速タイムを有するのかを決定することができる。   In some embodiments, after a segment is defined in the user interface, a stored effort (eg, a set of GPS information from past physical activity) is compared to the defined segment. In some embodiments, when the effort is compared to this defined segment, in part, by checking whether the effort's GPS information indicates that it has passed the start and goal points, It is determined whether the effort matches the segment. If it is determined that one or more efforts match the segment, the data associated with the effort is retrieved and analyzed. In some embodiments, data associated with the newly defined segment is also included in the analysis. For example, by comparing the data, it can be determined which effort that matches the segment has the fastest time to complete the segment.

セグメントマッチングサーバ106は、さらに、セグメントに対してエフォート(例えば、GPS情報のセット)をマッチングするよう構成されている。いくつかの実施形態において、エフォートは、エフォートの一致を判定する前に、格納されたセグメントと同じ抽象形態に変換される。セグメントに対してエフォートをマッチングさせる1つの目的は、関心のある同一の区切られた経路にわたって行われた格納済みの身体活動の事例(すなわち、セグメント)を見いだすことである。言い換えると、セグメントに一致するエフォートとは、定義されたトラックに沿って行われた身体活動の事例のことである。同一のセグメントで起きた複数の身体活動の事例が見いだされると、それらの関連情報(例えば、終了タイム、速度、心拍数、および/または、ワット数)が、同一の経路における1または複数の個人による運動パフォーマンスに関して特定の統計値(例えば、最速タイム、最高ワット数)を生成するために比較されうる。いくつかの実施形態において、新たに定義されたセグメントについて、セグメントマッチングサーバ106は、格納されたエフォートをセグメントと比較するよう構成されている。いくつかの実施形態において、エフォートの関連データは、エフォートが一致すると判定されたセグメントと共に格納される。いくつかの実施形態において、セグメントマッチングサーバ106は、(例えば、デバイス102から)エフォートを受信し、一致を見いだすためにエフォートを格納済みのセグメントと比較するよう構成されている。様々な実施形態において、エフォートがセグメントと一致すると判定されると、それらの関連データが比較される(例えば、セグメントに一致するすべてのエフォートの関連データが比較される)。   The segment matching server 106 is further configured to match an effort (eg, a set of GPS information) to the segment. In some embodiments, the effort is converted to the same abstract form as the stored segment before determining the effort match. One purpose of matching effort to a segment is to find stored physical activity cases (ie, segments) that have taken place over the same delimited path of interest. In other words, an effort that matches a segment is an instance of physical activity performed along a defined track. When multiple instances of physical activity that occur in the same segment are found, their associated information (eg, end time, speed, heart rate, and / or wattage) is determined by one or more individuals on the same route. Can be compared to produce specific statistics (eg, fastest time, highest wattage) with respect to exercise performance. In some embodiments, for newly defined segments, the segment matching server 106 is configured to compare the stored effort with the segments. In some embodiments, effort related data is stored with the segments determined to match the effort. In some embodiments, the segment matching server 106 is configured to receive the effort (eg, from the device 102) and compare the effort with the stored segment to find a match. In various embodiments, once it is determined that an effort matches a segment, their associated data is compared (eg, the associated data for all efforts that match the segment are compared).

図2Aは、いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図である。いくつかの実施形態において、セグメントマッチングサーバ106は、図2Aの例を用いて実装されうる。図の例において、セグメントマッチングサーバ106は、セグメントデータベース202、エフォートデータベース204、定義エンジン206、および、マッチングエンジン208を備える。しかしながら、セグメントマッチングサーバ106は、より多くまたはより少ない構成要素を備えてもよい。いくつかの実施形態において、セグメントマッチングサーバは、市販の汎用コンピュータハードウェアを用いて実装される(例えば、市販のサーバ(HP BladeSystemブレードサーバなど)上でLinux(登録商標)オペレーティングシステムを実行するホストサービスプロバイダ(AmazonEC2クラウドなど)を用いて)。   FIG. 2A is a diagram illustrating one embodiment of a segment matching server, according to some embodiments. In some embodiments, segment matching server 106 may be implemented using the example of FIG. 2A. In the illustrated example, the segment matching server 106 includes a segment database 202, an effort database 204, a definition engine 206, and a matching engine 208. However, the segment matching server 106 may comprise more or fewer components. In some embodiments, the segment matching server is implemented using commercially available general-purpose computer hardware (eg, a host running a Linux operating system on a commercially available server (such as an HP BladeSystem blade server)). Service provider (such as Amazon EC2 cloud).

セグメントデータベース202は、定義されたセグメントを格納するよう構成されている。例において、セグメントデータベース202は、1つのデータベースとして図示されているが、セグメントマッチングサーバは、定義されたセグメントを格納するための2以上のデータベースを含んでもよい。いくつかの実施形態において、セグメントデータベース202は、ユーザが、格納されたエフォートをアップロードして、ユーザインターフェースでエフォートの視覚的表現に沿ってスタートポイントおよびゴールポイント/終点を示すことによって定義されたセグメントを含む。いくつかの実施形態において、セグメントデータベース202は、ユーザがユーザインターフェースで地図上の経路に沿って一連の選択を行うことによって定義されたセグメントを含む。いくつかの実施形態において、セグメントデータベース202は、様々な経路または登山道の既知の特徴(例えば、専門団体によって提供された情報)に基づいて、(例えば、セグメントサーバ106の管理者によって)予め定義されたセグメントを含む。いくつかの実施形態において、セグメントは、抽象形態で(例えば、最小外接矩形のセットとして)セグメントデータベース202に格納される。抽象形態でセグメントを格納する1つの理由は、類似のセグメントまたはセグメントに一致するエフォートの検索クエリを効率的に実行できるようにするためである。いくつかの実施形態において、セグメントデータベース202は、R木インデックスに基づいて組織化される。いくつかの実施形態において、セグメントは、GPSデータポイントのセットとしてセグメントデータベース202に格納される。いくつかの実施形態において、セグメントデータベース202内の各セグメントは、セグメントに一致すると判定されたエフォートデータベース204からのエフォートの識別子と共に格納される。いくつかの実施形態において、セグメントデータベース202内の各セグメントは、セグメントに一致すると判定されたエフォートの関連データと共に格納される。   The segment database 202 is configured to store defined segments. In the example, the segment database 202 is illustrated as one database, but the segment matching server may include more than one database for storing defined segments. In some embodiments, the segment database 202 is a segment defined by a user uploading stored effort to indicate start and goal points / end points along the visual representation of the effort in the user interface. including. In some embodiments, the segment database 202 includes segments defined by a user making a series of selections along a map path at a user interface. In some embodiments, the segment database 202 is pre-defined (eg, by an administrator of the segment server 106) based on known characteristics of various routes or trails (eg, information provided by professional organizations). Included segments. In some embodiments, the segments are stored in the segment database 202 in an abstract form (eg, as a set of minimum bounding rectangles). One reason for storing segments in an abstract form is to allow efficient search queries for similar segments or matching effort. In some embodiments, the segment database 202 is organized based on an R-tree index. In some embodiments, the segments are stored in the segment database 202 as a set of GPS data points. In some embodiments, each segment in the segment database 202 is stored with an effort identifier from the effort database 204 determined to match the segment. In some embodiments, each segment in the segment database 202 is stored with associated data of effort determined to match the segment.

エフォートデータベース204は、GPS情報およびタイムスタンプのセットとしてエフォートを格納するよう構成されている。例において、エフォートデータベース204は、1つのデータベースとして図示されているが、セグメントマッチングサーバは、エフォートを格納するための2以上のデータベースを含んでもよい。いくつかの実施形態において、エフォートデータベース204は、記録されてデバイス(例えばデバイス102)からアップロードされたエフォートを含む。エフォートデータベース204に格納されたエフォートは、少なくとも、GPS情報、GPS情報に対応するタイムスタンプ、および、エフォートの運動パフォーマンスに関係する測定値(例えば、関連データ)を含む。いくつかの実施形態において、タイムスタンプは、GPS情報に含まれる(例えば、GPS情報は、対応するタイムスタンプと共に緯度および経度の座標を含む)。いくつかの実施形態において、エフォートは、エフォートを実行したアスリート(例えば、デバイス102のユーザ)の識別子と共に格納される。いくつかの実施形態において、エフォートデータベース204の各エフォートは、それが一致すると判定されたセグメントデータベース202のセグメントの識別子と共に格納される。   The effort database 204 is configured to store the effort as a set of GPS information and time stamps. In the example, the effort database 204 is illustrated as one database, but the segment matching server may include more than one database for storing effort. In some embodiments, the effort database 204 includes effort recorded and uploaded from a device (eg, device 102). The effort stored in the effort database 204 includes at least GPS information, a time stamp corresponding to the GPS information, and a measurement (eg, related data) related to the exercise performance of the effort. In some embodiments, the timestamp is included in the GPS information (eg, the GPS information includes latitude and longitude coordinates along with the corresponding timestamp). In some embodiments, the effort is stored with the identifier of the athlete who performed the effort (eg, the user of device 102). In some embodiments, each effort in the effort database 204 is stored along with an identifier for the segment in the segment database 202 that was determined to match.

定義エンジン206は、セグメントの定義を受信するよう構成されている。定義エンジン206は、ハードウェアおよび/またはソフトウェアで実装されてよい。いくつかの実施形態において、定義エンジン206は、(例えば、デバイスに)ユーザインターフェースを提示するよう構成されている。いくつかの実施形態において、ユーザインターフェースは、ユーザインターフェースに(例えば、デバイスによって記録された)エフォートの視覚的表現を表示する。いくつかの実施形態において、定義エンジン206は、地図サービス(例えば、地図の表示、表示された地図上の選択のGPS座標の受信、および/または、その他の地図サービス)を取得するためにAPIを通してサードパーティの地図アプリケーション(例えば、Google Maps、MapQuest)と相互作用するよう構成されている。スタートポイントおよびゴールポイントの選択が、ユーザインターフェースでなされ、定義エンジン206で受信される。次いで、定義エンジン206は、スタートポイントおよびゴールポイントによって区切られた経路をセグメントとしてセグメントデータベース202に格納する。いくつかの実施形態では、ユーザインターフェースによって表示された地図上の(例えば、一連の選択として示された)経路が、定義エンジン206で受信される。次いで、定義エンジン206は、地図上にマークされた経路をセグメントとしてセグメントデータベース202に格納する。いくつかの実施形態において、定義エンジン206は、セグメントを格納する前に抽象的な地理形態(例えば、最小外接矩形のセット)に変換する。   The definition engine 206 is configured to receive the definition of the segment. The definition engine 206 may be implemented in hardware and / or software. In some embodiments, the definition engine 206 is configured to present a user interface (eg, on a device). In some embodiments, the user interface displays a visual representation of the effort (eg, recorded by the device) on the user interface. In some embodiments, the definition engine 206 is through an API to obtain a map service (e.g., displaying a map, receiving a selected GPS coordinate on a displayed map, and / or other map service). It is configured to interact with third party map applications (eg, Google Map, MapQuest). Selection of start points and goal points is made at the user interface and received by the definition engine 206. Next, the definition engine 206 stores the path delimited by the start point and the goal point in the segment database 202 as a segment. In some embodiments, a route on a map displayed by the user interface (eg, shown as a series of selections) is received at the definition engine 206. Then, the definition engine 206 stores the route marked on the map as a segment in the segment database 202. In some embodiments, the definition engine 206 converts the segment to an abstract geographic form (eg, a set of minimum bounding rectangles) before storing the segment.

いくつかの実施形態において、定義エンジン206は、任意の既存のセグメントが新たに定義されたセグメントと類似するか否かを判定するために、新たに定義されたセグメントとセグメントデータベース202に格納されたセグメントとを比較するよう構成されている。いくつかの実施形態において、既存のセグメントが新たに定義されたセグメントに類似すると判定された場合、そのセグメントの作成者に既存のセグメントが存在する旨の警告が表示されてよい。いくつかの実施形態において、新たなセグメントの作成者は、類似したセグメントがすでに定義されているので、新たなセグメントを保存しないことを選択してもよい。   In some embodiments, the definition engine 206 is stored in the newly defined segment and segment database 202 to determine whether any existing segment is similar to the newly defined segment. It is configured to compare with segments. In some embodiments, if it is determined that an existing segment is similar to a newly defined segment, a warning that the existing segment exists may be displayed to the creator of the segment. In some embodiments, the creator of the new segment may choose not to save the new segment because a similar segment has already been defined.

いくつかの実施形態において、定義エンジン206は、2以上のセグメントを含むグループが類似しているか否かを判定するために、セグメントデータベース202に格納されたセグメントを(例えば、定期的に)比較するよう構成されている。いくつかの実施形態において、類似すると判定されたセグメントについて、データベースに残すセグメントを1つだけ選択できる(例えば、デバイス102のようなデバイスを利用するユーザのコミュニティによる投票処理を用いてクラウドソーシングできる)ように、それらのセグメントが表示される。選択されないセグメントは、公開セグメントとして表示されないように余分なセグメントを除去または格下げすることによってスペースを解放するために、データベースから破棄されうる(ただし、投稿したユーザが私的に用いるために保持されてもよい)。いくつかの実施形態において、定義エンジン206は、類似したセグメントが、他のセグメントに完全に含まれるセグメントを含むことを決定するよう構成されている(すなわち、サブセグメントおよびスーパーセグメント)。いくつかの実施形態において、セグメントと、そのスーパーセグメントまたはサブセグメントとの間の関係が、セグメントデータベース202に記録される。   In some embodiments, the definition engine 206 compares (eg, periodically) the segments stored in the segment database 202 to determine whether groups that include two or more segments are similar. It is configured as follows. In some embodiments, for segments determined to be similar, only one segment can be selected to remain in the database (eg, crowdsourcing using a voting process by a community of users utilizing devices such as device 102). As such, those segments are displayed. Unselected segments can be discarded from the database to free up space by removing or demoting extra segments so that they are not displayed as public segments (but are kept for private use by the posting user) Also good). In some embodiments, the definition engine 206 is configured to determine that similar segments include segments that are completely contained in other segments (ie, subsegments and supersegments). In some embodiments, the relationship between a segment and its super segment or subsegment is recorded in the segment database 202.

マッチングエンジン208は、(例えば、セグメントデータベース202の)1または複数のセグメントに一致するエフォートを決定するよう構成されている。いくつかの実施形態において、マッチングエンジン208は、エフォートデータベース204に格納されたエフォートにアクセスするよう構成されている。いくつかの実施形態において、(例えば、アップロードされたエフォートまたは地図上のマーキングに基づいて)セグメントのユーザ定義が行われた後に、マッチングエンジン208は、格納されたエフォートにアクセスして、新たに定義されたセグメントとマッチングする。例えば、ユーザ(例えば、サイクリスト)は、セグメントを定義し(そして、任意選択的に、他のユーザが見られるようにセグメントを公開して共有し)、その後、定義されたセグメントを辿った過去の活動(例えば、サイクリスト自身または他のサイクリストによる過去の走行)に関する情報を受信できる。いくつかの実施形態において、マッチングエンジン208は、セグメントデータベース204に格納されたセグメントにアクセスするよう構成されている。いくつかの実施形態において、受信されたエフォート(例えば、デバイス102によって送信されたエフォート)に応答して、マッチングエンジン208は、受信されたエフォートがセグメントデータベース202に格納されたいずれかのセグメントと一致するか否かを判定する。例えば、ユーザ(例えば、サイクリスト)は、最近記録されたエフォート(例えば、サイクリング)が1または複数のすでに定義されたセグメントを含むか否かをチェックできる。エフォートがセグメントを含むと判定された場合、セグメントの関連データ(例えば、運動パフォーマンスデータ)がアクセスされ、エフォートの関連データと比較される。このように、ユーザは、セグメントの開始または終了の場所を手動で決定する必要なしに、ユーザがセグメントを辿ったか否かを自動的にチェックできることにより、すでに定義されたセグメントから恩恵を受けうる。   Matching engine 208 is configured to determine an effort that matches one or more segments (eg, in segment database 202). In some embodiments, the matching engine 208 is configured to access the effort stored in the effort database 204. In some embodiments, after a user definition of a segment has been made (eg, based on uploaded effort or map markings), matching engine 208 may access the stored effort to define a new definition. Matches the segment that was created. For example, a user (eg, a cyclist) defines a segment (and optionally publishes and shares the segment for viewing by other users), and then traces past past segments that have been defined. Information about activities (eg, past runs by the cyclist himself or other cyclists) can be received. In some embodiments, matching engine 208 is configured to access segments stored in segment database 204. In some embodiments, in response to a received effort (eg, an effort sent by device 102), matching engine 208 matches the received effort with any segment stored in segment database 202. It is determined whether or not to do. For example, a user (eg, a cyclist) can check whether a recently recorded effort (eg, cycling) includes one or more already defined segments. If it is determined that the effort includes a segment, the segment's associated data (eg, athletic performance data) is accessed and compared to the effort's associated data. In this way, the user can benefit from an already defined segment by being able to automatically check whether the user has followed the segment without having to manually determine where the segment starts or ends.

いくつかの実施形態において、マッチングエンジン208は、(例えば、セグメントデータベースをクエリすることにより)格納済みのセグメントとのマッチングを実行する前に、エフォート(例えば、GPS座標のセット)を、セグメントが格納されるのと同じ抽象形態(例えば、最小外接矩形のセット)に変換するよう構成されている。いくつかの実施形態において、エフォートと格納されたセグメントとの間のマッチングの実行に基づいて、2つのタイプの判定(例えば、エフォートが緩やかな一致である、エフォートが厳密な一致である)がなされうる。エフォートは、一致率が第1の閾値(例えば、65%以上)を超える場合に、格納されたセグメントとの緩やかな一致であると判定されうる。いくつかの実施形態において、格納されたセグメントとの緩やかな一致であるエフォートは、記録された身体活動が、一致したセグメントと同じ経路をおおよそ辿ったことを意味しうる。一致率が第2の閾値(例えば、80%)を超え、さらに、エフォートが格納済みのセグメントに関連付けられたスタートラインおよびゴールラインを横切る場合、そのエフォートは、格納されたセグメントとの厳密な一致であると判定されうる。いくつかの実施形態において、格納されたセグメントとの厳密な一致であるエフォートは、記録された身体活動が、一致したセグメントと同じ経路を厳密に辿ったことを意味しうる。様々な実施形態において、2つの判定(例えば、緩やかな一致および厳密な一致)について、一致率の決定は同じ方法で実行される。いくつかの実施形態において、エフォートは、1または複数のセグメントとの緩やかな一致であると判定されると共に、(同じまたは異なる)1または複数のセグメントとの厳密な一致であると判定されうる。例えば、エフォートは、セグメントとの緩やかな一致であると判定されると共に、同じセグメントとの厳密な一致であると判定されうる。別の例において、エフォートは、或るセグメントとの緩やかな一致かつ異なるセグメントとの厳密な一致であると判定されうる。いくつかの実施形態において、エフォートが緩やかな一致であるとの判定が、第1のデータベースに格納された1または複数のセグメントに対してなされ、エフォートが厳密な一致であるとの判定が、第2の異なるデータベースに格納された1または複数のセグメントに対してなされる。   In some embodiments, the matching engine 208 may store the effort (eg, a set of GPS coordinates) stored in the segment before performing a match with the stored segment (eg, by querying the segment database). To the same abstract form (eg, a set of minimum bounding rectangles). In some embodiments, two types of decisions are made (eg, effort is a loose match, effort is an exact match) based on performing a match between the effort and the stored segment. sell. Effort may be determined to be a loose match with a stored segment if the match rate exceeds a first threshold (eg, 65% or greater). In some embodiments, an effort that is a loose match with a stored segment may mean that the recorded physical activity has approximately followed the same path as the matched segment. If the match rate exceeds a second threshold (eg, 80%) and the effort crosses the start line and goal line associated with the stored segment, the effort is an exact match with the stored segment It can be determined that In some embodiments, an effort that is an exact match with a stored segment may mean that the recorded physical activity followed the exact same path as the matched segment. In various embodiments, for two decisions (eg, loose match and exact match), the match rate determination is performed in the same manner. In some embodiments, an effort may be determined to be a loose match with one or more segments and an exact match with one or more segments (same or different). For example, the effort may be determined to be a loose match with a segment and an exact match with the same segment. In another example, the effort may be determined to be a loose match with a segment and an exact match with a different segment. In some embodiments, a determination that the effort is a loose match is made to one or more segments stored in the first database, and a determination that the effort is an exact match is a first match. For one or more segments stored in two different databases.

いくつかの実施形態において、エフォートが(例えば、緩やかな一致または厳密な一致のいずれかとして)セグメントに一致すると判定された場合、セグメントの関連データ(例えば、セグメントに一致すると判定された格納済みのエフォートの関連データ)が、エフォートの関連データとの比較のためにアクセスされる。いくつかの実施形態において、複数の格納されたエフォートが、新たに定義されたセグメントに一致すると判定され、一致したセグメントの関連データがアクセス、集計、および、解析される。いくつかの実施形態において、マッチングエンジン208は、リトリーブされたデータに基づいて解析結果を生成するよう構成されている。いくつかの実施形態において、マッチングエンジン208は、解析結果をデバイス102に送信する(例えば、ユーザインターフェースに表示するために)。   In some embodiments, if an effort is determined to match a segment (eg, as either a loose match or an exact match), the associated data of the segment (eg, stored data determined to match the segment) Effort related data) is accessed for comparison with the Effort related data. In some embodiments, a plurality of stored efforts are determined to match a newly defined segment, and the associated data for the matched segment is accessed, aggregated, and analyzed. In some embodiments, the matching engine 208 is configured to generate an analysis result based on the retrieved data. In some embodiments, the matching engine 208 sends the analysis results to the device 102 (eg, for display on a user interface).

例えば、ユーザは、セグメントを定義することができ、セグメントに一致する格納済みのエフォートすべてが集計および解析されて、最速タイムまたは最大仕事率でセグメントを辿ったユーザのリスト(すなわち、順位表)が生成されうる。別の例において、ユーザは、エフォートを生成することができ、セグメントマッチングサーバは、エフォートがいずれかの定義済みセグメントを辿ったか否かを判定できる。エフォートが定義済みのセグメントを辿ったと判定された場合、そのエフォートに関連付けられたデータが、定義済みのセグメントを辿ったと判定された全エフォートの履歴と比較されうる。このように、ユーザは、セグメント上での自分の運動パフォーマンスが、(そのセグメントによって代表される)同じ地理的経路を辿ったすべての他のエフォートと比べてどのようであるかを判断できる。さらに、ユーザは、セグメントが開始または終了する正確な場所を(例えば、ユーザが自転車に乗っている時に)知る必要はない。   For example, a user can define a segment, and all stored effort that matches the segment is aggregated and analyzed to provide a list of users that followed the segment with the fastest time or maximum work rate (ie, a standing table). Can be generated. In another example, the user can generate an effort and the segment matching server can determine whether the effort has followed any defined segment. If it is determined that an effort has followed a defined segment, the data associated with that effort can be compared to the history of all efforts determined to have followed the defined segment. In this way, the user can determine how his athletic performance on a segment is compared to all other efforts that have followed the same geographic path (represented by that segment). Furthermore, the user does not need to know the exact location where the segment begins or ends (eg, when the user is riding a bicycle).

いくつかの実施形態において、デバイス102は、セグメントデータベース202、エフォートデータベース204、定義エンジン206、および、マッチングエンジン208を備えてもよいし、デバイス102が(セグメントマッチングサーバ106と情報をやり取りする必要なしに)デバイス102で、セグメントを格納、エフォートを格納、セグメントを定義、および、セグメントに対してエフォートをマッチングできるように等価な機能を備えてもよい。いくつかの実施形態において、デバイス102のエフォートデータベースは、そのデバイスのユーザによって生成されたエフォートのみを含む。   In some embodiments, the device 102 may comprise a segment database 202, an effort database 204, a definition engine 206, and a matching engine 208, and the device 102 does not need to interact with the segment matching server 106. A) device 102 may provide equivalent functionality to store segments, store effort, define segments, and match effort to segments. In some embodiments, the effort database of device 102 includes only the effort generated by the user of that device.

図2Bは、いくつかの実施形態に従って、エフォートデータベースのテーブルに格納されたエフォートの一例を示す図である。いくつかの実施形態において、エフォートデータベース204に格納されるエフォートは、図2Aの例と同様の方法で格納されうる。ただし、データベースのエフォートのテーブルは、例で示した列の数とは異なる数の列を含んでもよい。例において、各エフォートは、エフォートID、その一連のGPS情報(例えば、それぞれのタイムスタンプを有するGPS座標)、エフォートを記録したユーザに関連付けられた識別子、エフォートが記録された日付、ならびに、速度(km/h)、心拍数(1分間あたり)、仕事率(ワット)、および、タイム(時:分)などの関連データと共に格納される。いくつかの実施形態において、エフォートがセグメントと比較される時、エフォートのGPS情報(例えば、タイムスタンプを有する一連のGPS座標)が、アクセスされて、比較に用いられる。いくつかの実施形態において、エフォートがセグメントに一致すると判定されると、エフォートの関連データ(例えば、速度、心拍数、仕事率、タイム、標高、勾配)が、セグメントに一致するその他のエフォート(もしあれば)の関連データと共に集計される。次いで、集計されたデータは、(例えば、集計データをまとめた表示を生成するために)解析される。   FIG. 2B is a diagram illustrating an example of an effort stored in a table of an effort database, according to some embodiments. In some embodiments, the effort stored in the effort database 204 may be stored in a manner similar to the example of FIG. 2A. However, the database effort table may include a different number of columns than the number of columns shown in the example. In the example, each effort has an effort ID, its set of GPS information (eg, GPS coordinates with a respective time stamp), an identifier associated with the user who recorded the effort, the date the effort was recorded, and a speed ( km / h), heart rate (per minute), work rate (watts), and time (hours: minutes). In some embodiments, when effort is compared to a segment, effort GPS information (eg, a series of GPS coordinates with a time stamp) is accessed and used for comparison. In some embodiments, once it is determined that the effort matches the segment, the effort's associated data (eg, speed, heart rate, power, time, elevation, slope) may be (If any) and related data. The aggregated data is then analyzed (eg, to generate a display summarizing the aggregated data).

図3は、いくつかの実施形態に従って、セグメントマッチングのための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、システム100で実施される。   FIG. 3 is a flowchart illustrating one embodiment of a process for segment matching in accordance with some embodiments. In some embodiments, process 300 is implemented in system 100.

工程302では、セグメントが定義される。いくつかの実施形態において、セグメントは、ユーザがユーザインターフェースで、エフォート(例えば、タイムスタンプを有する一連のGPS情報)の視覚的表現に沿ってスタートポイントおよびゴールポイントを選択することによって定義される。いくつかの実施形態において、エフォートは、GPS追跡機能を備えたデバイスによって記録される。いくつかの実施形態において、セグメントは、ユーザがユーザインターフェースで、(例えば、Google Mapsなどサードパーティの地図ソフトウェアによってサポートされた)地図上で一連のポイントを選択することによって定義される。いくつかの実施形態において、セグメントは、地理的経路の既知の特徴(例えば、標高および平均勾配)を用いて、(例えば、セグメントマッチングサーバの管理者によって)定義される。定義されたセグメントは、1または複数のデータベースに格納される。いくつかの実施形態において、定義されたセグメントは、抽象形態(例えば、最小外接矩形のセット)に変換され、抽象形態で格納される。いくつかの実施形態において、セグメントが格納されるデータベースは、R木インデックスに基づいて組織化される。   In step 302, a segment is defined. In some embodiments, the segment is defined by the user selecting start and goal points along the visual representation of the effort (eg, a series of GPS information with a time stamp) at the user interface. In some embodiments, the effort is recorded by a device with GPS tracking capabilities. In some embodiments, a segment is defined by the user selecting a series of points on a map (eg, supported by third party map software such as Google Map) at the user interface. In some embodiments, the segments are defined (eg, by an administrator of the segment matching server) using known features (eg, elevation and average slope) of the geographic path. The defined segments are stored in one or more databases. In some embodiments, the defined segments are converted to an abstract form (eg, a set of minimum bounding rectangles) and stored in the abstract form. In some embodiments, the database in which the segments are stored is organized based on the R-tree index.

工程304では、セグメントに一致するエフォートが決定される。いくつかの実施形態において、定義されたセグメントについて、格納されたエフォートに関する情報がアクセスされ、セグメントと比較される。いくつかの実施形態において、エフォートは、タイムスタンプと共に(そして、運動パフォーマンスの様々な測定値などの関連データと共に)GPS情報のセットとして格納される。いくつかの実施形態において、格納済みエフォートのGPS情報がアクセスされ、比較の前にセグメントと同じ形態(例えば、最小外接矩形)に変換される。いくつかの実施形態において、格納済みエフォートは、セグメントに一致する格納済みエフォートのサブセットを決定するために、セグメントと比較される。セグメントに一致すると判定された格納済みエフォートのサブセットの関連データが(例えば、エフォートを格納しているのと同じデータベースから)取得され、集計される。集計された関連データは解析され、いくつかの実施形態において、解析結果は、表(例えば、順位表)および/または画像で提示される。   In step 304, the effort that matches the segment is determined. In some embodiments, for a defined segment, information about stored effort is accessed and compared to the segment. In some embodiments, the effort is stored as a set of GPS information along with a timestamp (and associated data such as various measures of athletic performance). In some embodiments, stored effort GPS information is accessed and converted to the same form (eg, minimum bounding rectangle) as the segment prior to comparison. In some embodiments, the stored effort is compared to the segment to determine a subset of stored effort that matches the segment. Relevant data for a subset of stored effort determined to match the segment is obtained and aggregated (eg, from the same database storing the effort). The aggregated relevant data is analyzed, and in some embodiments, the analysis results are presented in a table (eg, a rank table) and / or an image.

図4は、いくつかの実施形態に従って、エフォートに基づいてセグメントを定義する処理の一実施形態を示すフローチャートである。いくつかの実施形態では、処理400は、システム100を用いて実施されうる。いくつかの実施形態において、処理400は、工程302を実行するために用いられてよい。   FIG. 4 is a flowchart illustrating one embodiment of a process for defining segments based on effort, according to some embodiments. In some embodiments, process 400 may be implemented using system 100. In some embodiments, process 400 may be used to perform step 302.

工程402では、エフォートの視覚的表現が提示される。いくつかの実施形態において、エフォートは、GPS追跡機能を備えたデバイスによって記録されたタイムスタンプを伴う一連のGPS情報である。いくつかの実施形態において、視覚的表現はユーザインターフェースで提示される。例えば、GPS座標は、(例えば、Google Mapsなどの地図アプリケーションによってサポートされた)地図上の実線または一連のマーカとして表示されうる。いくつかの実施形態では、一連のGPS情報が1セットの離散的な地理的座標である場合でも、実線の形態の視覚的表現を生成する際に、2つの座標間のポイントを推定することができる。   In step 402, a visual representation of the effort is presented. In some embodiments, an effort is a series of GPS information with a time stamp recorded by a device with GPS tracking capabilities. In some embodiments, the visual representation is presented at the user interface. For example, GPS coordinates may be displayed as a solid line or a series of markers on a map (eg, supported by a map application such as Google Maps). In some embodiments, even when the set of GPS information is a set of discrete geographic coordinates, it is possible to estimate the point between the two coordinates when generating a visual representation in the form of a solid line. it can.

例えば、ユーザ(例えば、サイクリスト)が、サイクリングを終えて、その走行の少なくとも一部をセグメントとして指定したいと思う。このように、そのサイクリストまたは他のサイクリストが、セグメントによって参照された地理的経路でのパフォーマンスを追跡および比較することができる。   For example, a user (eg, a cyclist) wants to finish cycling and designate at least part of the run as a segment. In this way, the cyclist or other cyclist can track and compare performance on the geographic path referenced by the segment.

工程404では、スタートポイントの選択が受信される。いくつかの実施形態において、ユーザは、セグメントのスタートポイントとして、ユーザインターフェースにおいて視覚的表現に沿ってポイントを選択する。いくつかの実施形態において、選択されたポイントが、そのエフォートで2回以上通過されている場合、選択されたスタートポイントを通過した回数の各々をエフォートに沿って示すように、表示が生成される。次いで、ユーザは、ユーザがスタートポイントとしたい所望の事例に対応する回数を選択してよい。いくつかの実施形態において、選択されたスタートポイントは、それに対応するGPS座標(例えば、地図アプリケーションに関連付けられたAPIによって返された座標)として格納される。いくつかの実施形態において、選択されたスタートポイントは、エフォートの選択されたスタートポイントおよびその他の1または複数のポイントに基づいて得られたた仮想のスタートラインと共に格納される。   At step 404, a start point selection is received. In some embodiments, the user selects a point along the visual representation in the user interface as the starting point of the segment. In some embodiments, if the selected point has been passed more than once in the effort, a display is generated to show each of the number of times that the selected start point has been passed along the effort. . The user may then select the number of times corresponding to the desired case that the user wants to be a starting point. In some embodiments, the selected start point is stored as its corresponding GPS coordinates (eg, coordinates returned by the API associated with the map application). In some embodiments, the selected start point is stored along with a virtual start line obtained based on the effort's selected start point and one or more other points.

前の例に戻ると、サイクリストは、セグメントのスタートポイントとして指定するために、自分の走行に沿ったポイントを選択できる。スタートポイントは、セグメント全体のスタートポイントにある必要はなく、走行に沿った任意のポイントであってよい。スタートポイントは、レースのためのスタートラインと考えることができる。別のサイクリストが(または、同じサイクリストが、異なる機会に)、セグメントを走行したか否かを後に判定する時に、後の走行(すなわち、エフォート)がスタートポイントを通過したか否かが判定される。   Returning to the previous example, the cyclist can select a point along his run to designate it as the starting point of the segment. The start point need not be at the start point of the entire segment, but may be any point along the run. The starting point can be thought of as the starting line for the race. When another cyclist (or the same cyclist at a different opportunity) later decides whether or not it has run through the segment, it is determined whether a later run (ie, effort) has passed the start point. .

工程406では、ゴールポイントの選択が受信される。いくつかの実施形態において、ユーザは、セグメントのゴールポイントすなわち終点として、ユーザインターフェースにおいて視覚的表現に沿ってポイントを選択する。様々な実施形態において、ゴールポイントを選択して格納するための技術は、スタートポイントに用いられるものと同じである。例えば、選択されたゴールポイントは、それに対応するGPS座標として、および/または、得られた仮想ゴールラインと共に格納されうる。   At step 406, a goal point selection is received. In some embodiments, the user selects a point along the visual representation in the user interface as the goal point or end point of the segment. In various embodiments, the technique for selecting and storing goal points is the same as that used for the start points. For example, the selected goal point may be stored as its corresponding GPS coordinates and / or with the resulting virtual goal line.

例に戻ると、サイクリストは、セグメントのゴールポイントとして指定するために、自分の走行に沿ったポイントを選択できる。ゴールポイントは、その走行のまさに最後である必要はなく、スタートポイントの後の任意のポイントであってよい。ゴールポイントは、レースのためのゴールラインと考えることができる。別のサイクリストが(または、同じサイクリストが、異なる機会に)、セグメントを走行したか否かを後に判定する時に、後の走行(すなわち、エフォート)がゴールポイントも通過したか否かが判定される。いくつかの実施形態において、定義されるセグメントがループを含む場合、選択されたスタートポイントおよびゴールポイントは、同じセットのGPS座標でありうる。   Returning to the example, the cyclist can select points along his run to designate as the goal point of the segment. The goal point need not be at the very end of the run, but can be any point after the start point. A goal point can be considered as a goal line for a race. When another cyclist (or the same cyclist at a different opportunity) later decides whether or not it has run through the segment, it is determined whether the later run (ie, effort) has also passed the goal point. . In some embodiments, if the defined segment includes a loop, the selected start point and goal point may be the same set of GPS coordinates.

工程408では、定義されたセグメントは、任意選択的に格納される。いくつかの実施形態において、定義されたセグメントが、(例えば、セグメントデータベースなど、事前定義および/またはユーザ定義されたセグメントを含むデータストア内の)既存のセグメントと類似していると判定された場合、ユーザは対応する表示によってプロンプトされる。いくつかの実施形態において、ユーザは、既存のセグメントを見直す、および/または、既存の重複するセグメントに照らして、新たに定義されたセグメントを破棄する選択をすることができる。ユーザが新たに定義されたセグメントを破棄すると選択した場合、ユーザは、自分のエフォートを既存のセグメントと関連付けて、エフォートに関連付けられたデータを既存のセグメントと共に格納することを選択できる。いくつかの実施形態において、ユーザの定義したセグメントが既存のセグメントと一致する場合、一致した既存のセグメントが、(例えば、セグメントデータベースなど、事前定義および/またはユーザ定義されたセグメントを含むデータストアに)すでに格納されている。既存の類似するセグメントがない場合、または、重複の可能性があるにもかかわらず新たに定義されたセグメントをいずれにせよ格納することを選択した場合、新たに定義されたセグメントが格納される。いくつかの実施形態において、セグメントは、抽象形態(例えば、最小外接矩形のセット)に変換され、格納される。いくつかの実施形態において、新たに定義されたセグメントは、名称ならびに/もしくは(例えば、ユーザによって選択された)1または複数のタグと共に保存されうる。いくつかの実施形態において、格納されたエフォートは、このセグメントに対してマッチングするためにアクセスされる。一致するエフォートが見いだされた場合、一致するエフォートに関連付けられたデータが結合および比較される。   In step 408, the defined segments are optionally stored. In some embodiments, a defined segment is determined to be similar to an existing segment (eg, in a data store that includes a predefined and / or user-defined segment, such as a segment database) The user is prompted by a corresponding display. In some embodiments, the user can review existing segments and / or choose to discard newly defined segments in light of existing overlapping segments. If the user chooses to discard the newly defined segment, the user can choose to associate his effort with an existing segment and store the data associated with the effort with the existing segment. In some embodiments, if a user-defined segment matches an existing segment, the matched existing segment is stored in a data store that includes a predefined and / or user-defined segment (eg, a segment database). ) Already stored. If there is no existing similar segment, or if one chooses to store the newly defined segment anyway despite possible duplicates, the newly defined segment is stored. In some embodiments, the segments are converted and stored in an abstract form (eg, a set of minimum bounding rectangles). In some embodiments, the newly defined segment may be saved with a name and / or one or more tags (eg, selected by a user). In some embodiments, the stored effort is accessed to match against this segment. If a matching effort is found, the data associated with the matching effort is combined and compared.

例に戻ると、サイクリストは、ユーザインターフェースを用いて、セグメントを作成することができる。サイクリストは、セグメント名を「Old La Honda」と入力して、セグメントを、そのセグメントが存在する道路の名称と関連付けることもできる。サイクリストは、(例えば、セグメントマッチングによって決定された)「Old La Honda」で行われた過去の走行についてのフィードバックを受信することもできる。フィードバックは、どのユーザがセグメント上で走行したか、いつ誰が最速タイムを記録したか、誰がセグメントの完了時に最大量のエネルギを費やしたか、などである。また、サイクリストは、「Old La Honda」での自身のパフォーマンスが過去の走行と比較してどの程度であるかを見ることができる(例えば、ユーザのパフォーマンスがそのセグメントでの走行の履歴の中でどこに順位付けされるか)。また、後続ユーザは、セグメントデータベースでの検索をサポートするユーザインターフェースで「Old La Honda」と入力することによって、このセグメントを検索することができる。さらに、後続ユーザは、走行を記録し、一致するセグメントがあるかチェックするためにその走行を送信することによって、「Old La Honda」を走行したことがあるか否かをチェックすることができる。走行が「Old La Honda」セグメントを含むと(例えば、セグメントマッチングによって)判定された場合、そのセグメントでの走行中の後続ユーザのパフォーマンスを、そのセグメントを走行したことがある他のユーザのパフォーマンスの履歴と比較することができる。   Returning to the example, the cyclist can create a segment using the user interface. The cyclist can also enter the segment name “Old La Honda” to associate the segment with the name of the road on which the segment resides. The cyclist may also receive feedback on past runs made in “Old La Honda” (eg, determined by segment matching). The feedback is which user has run on the segment, who has recorded the fastest time, who has spent the maximum amount of energy at the completion of the segment, and so on. Cyclists can also see how their performance at “Old La Honda” is compared to past runs (eg, the user's performance in the run history for that segment). Where will it be ranked?) Subsequent users can also search for this segment by entering “Old La Honda” in a user interface that supports searching in the segment database. In addition, subsequent users can check whether they have traveled “Old La Honda” by recording their travel and sending the travel to check for a matching segment. If a run is determined to include an “Old La Honda” segment (eg, by segment matching), the performance of subsequent users during the run in that segment is determined by the performance of other users who have run that segment. It can be compared with the history.

図5は、いくつかの実施形態に従って、エフォートに基づいてセグメントを定義するためのユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程402は、図5の例を用いて実施される。図の例において、地図上に配置された濃い線は、例えば、GPSデバイスによって記録されたエフォート(例えば、タイムスタンプを伴う一連のGPS情報)から描画された視覚的表現502である。例に示すように、セグメントが選択されるエフォートの名称は、「Easy Ride around Lake Fairley」として領域504に示されている。いくつかの実施形態において、ユーザインターフェースで用いられる地図は、Google Mapsなどの地図アプリケーションによってサポートされる。地図アプリケーションとは、関連APIを通して相互作用できる。   FIG. 5 is a diagram illustrating an example of a user interface for defining segments based on effort, according to some embodiments. In some embodiments, step 402 is performed using the example of FIG. In the illustrated example, the dark line placed on the map is a visual representation 502 drawn from, for example, an effort recorded by a GPS device (eg, a series of GPS information with a time stamp). As shown in the example, the name of the effort for which a segment is selected is shown in area 504 as “Easy Ride Around Lake Fairy”. In some embodiments, the map used in the user interface is supported by a map application such as Google Map. You can interact with the map application through the related API.

図6は、いくつかの実施形態に従って、セグメントのスタートポイントの選択を示すユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程404は、図6の例を用いて実施される。例に示すように、視覚的表現502を示す地図は、スタートポイントが選択される領域にズームインされる。いくつかの実施形態において、スタートポイントは、地図の位置をクリックすることによって選択できる。例に示すように、マーカ602が、エフォートに沿って選択されたスタートポイントを示す。例に示すように、選択されたスタートポイントは、エフォートに沿って異なる機会に3回通過されている(604、606、および、608)。ユーザは、スタートポイントとして設定されるのに望ましい回を選択するようプロンプトされる。いくつかの実施形態において、定義されたセグメントの長さはスタートポイントおよびゴールポイントの間のエフォートの長さに基づいて決定されるので、ユーザは、複数の可能なスタートポイントのうちの1つを選択するようプロンプトされる。いくつかの実施形態において、選択されたスタートポイントは、GPS座標のセットとして格納される。いくつかの実施形態において、選択されたスタートポイントは、スタートポイントから部分的に得られた仮想スタートラインと共に格納される。   FIG. 6 is a diagram illustrating an example of a user interface illustrating the selection of a segment start point according to some embodiments. In some embodiments, step 404 is performed using the example of FIG. As shown in the example, the map showing the visual representation 502 is zoomed in to the area where the start point is selected. In some embodiments, the starting point can be selected by clicking on a map location. As shown in the example, a marker 602 indicates the selected start point along the effort. As shown in the example, the selected start point has been passed three times at different times along the effort (604, 606, and 608). The user is prompted to select a desired time to be set as a starting point. In some embodiments, the length of the defined segment is determined based on the length of effort between the start point and the goal point, so that the user can select one of a plurality of possible start points. You are prompted to choose. In some embodiments, the selected start point is stored as a set of GPS coordinates. In some embodiments, the selected start point is stored with a virtual start line partially derived from the start point.

図7は、いくつかの実施形態に従って、セグメントのゴールポイントの選択を示すユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程406は、図7の例を用いて実施される。いくつかの実施形態では、ゴールポイントが選択され、スタートポイントに用いたのと同じ技術によって格納される。例に示すように、マーカ703は、セグメントの選択されたゴールポイント(例えば、終点)を示す。いくつかの実施形態において、選択されたゴールポイントは、GPS座標のセットとして格納される。いくつかの実施形態において、選択されたスタートポイントは、部分的にスタートポイントから得られた仮想ゴールラインと共に格納される。   FIG. 7 is a diagram illustrating an example of a user interface illustrating the selection of goal points for a segment in accordance with some embodiments. In some embodiments, step 406 is performed using the example of FIG. In some embodiments, goal points are selected and stored by the same technique used for the start points. As shown in the example, marker 703 indicates a selected goal point (eg, end point) of the segment. In some embodiments, the selected goal points are stored as a set of GPS coordinates. In some embodiments, the selected start point is stored with a virtual goal line derived in part from the start point.

図8は、いくつかの実施形態に従って、地図上の一連の選択を用いてセグメントを定義するためのユーザインターフェースの一例を示す図である。いくつかの実施形態において、図の例は、工程302を実行するために用いることができる。いくつかの実施形態において、セグメントは、ユーザインターフェースの地図上で選択を直接行うことによって定義できる。図5、図6、および、図7で示したようなセグメント定義技術とは対照的に、図8の例のセグメント定義技術は、記録されたエフォートを必要としない。例に示すように、ユーザは、セグメントを示すために地図上の経路(例えば、「Montebello Rd」)に沿って順番にマーカ802ないし818をドロップした。マーカ802から818の地理的情報のセットは、地図アプリケーション(例えば、Google Maps)から取得され、セグメントとして格納されうる。いくつかの実施形態において、セグメントのために最初にドロップされたマーカがスタートポイントとみなされ、最後にドロップされたマーカがゴールポイントと見なされる。   FIG. 8 is a diagram illustrating an example of a user interface for defining a segment using a series of selections on a map, according to some embodiments. In some embodiments, the illustrated example can be used to perform step 302. In some embodiments, the segment can be defined by making a selection directly on the map of the user interface. In contrast to the segment definition technique as shown in FIGS. 5, 6 and 7, the segment definition technique of the example of FIG. 8 does not require recorded effort. As shown in the example, the user dropped markers 802-818 in order along a route on the map (eg, “Montello Rd”) to show the segment. A set of geographic information for markers 802-818 can be obtained from a map application (eg, Google Maps) and stored as a segment. In some embodiments, the first dropped marker for a segment is considered the start point and the last dropped marker is considered the goal point.

図9は、いくつかの実施形態に従って、一連のGPS情報を最小外接矩形(MBR)に変換する一実施形態を示すフローチャートである。いくつかの実施形態において、一連のGPS情報(例えば、地図アプリケーションによってサポートされた地図上の一連の選択に対して、記録されたエフォートに基づいてセグメントを定義するために用いられる)は、1セットの最小外接矩形(MBR)に変換され、セグメントに対して格納される。いくつかの実施形態において、一連のGPS情報は、MBRのセットに変換され、MBRのセットとして格納されたセグメントのR木インデックス化データベースにクエリするために用いられる。   FIG. 9 is a flowchart illustrating one embodiment of converting a series of GPS information into a minimum circumscribed rectangle (MBR) according to some embodiments. In some embodiments, a set of GPS information (eg, used to define a segment based on recorded effort for a set of selections on a map supported by a map application) is a set. Are converted to the minimum circumscribed rectangle (MBR) and stored for the segment. In some embodiments, the series of GPS information is converted to a set of MBRs and used to query a segment R-tree indexing database stored as a set of MBRs.

一連のGPS情報を1セットのMBRに変換する理由の1つは、様々な実施形態において、MBRを用いて、MBRのR木(Rツリー)インデックス化データベースに対して効率的な境界ボックスクエリを実行できることである。いくつかの実施形態において、(例えば、定義されたセグメントに対する)R木データベースのクエリのための検索入力は、(例えば、エフォートに関連付けられた)MBRであり、クエリは、入力されたMBRと重複する(例えば、セグメントに関連付けられた)MBRを返す。いくつかの実施形態において、エフォートがセグメントと類似する(例えば、一致する)か否かは、境界ボックスクエリを用いて見いだされたそれらのMBRの重複の程度に依存する。いくつかの実施形態において、或るセグメントが別のセグメントと類似するか否かも、それらのMBRの重複の程度に依存する。   One reason for converting a set of GPS information into a set of MBRs is that, in various embodiments, MBR can be used to perform an efficient bounding box query against an MBR R-tree indexing database. It can be done. In some embodiments, the search input for an R-tree database query (eg, for a defined segment) is an MBR (eg, associated with an effort) and the query overlaps with the entered MBR. Returns the MBR (eg, associated with the segment). In some embodiments, whether an effort is similar (eg, matches) to a segment depends on the degree of overlap of those MBRs found using a bounding box query. In some embodiments, whether a segment is similar to another segment also depends on the degree of overlap of their MBRs.

工程902では、一連のGPS情報が、1セットのタイル上にマッピングされる。いくつかの実施形態において、一連のGPS情報は、GPS追跡機能を備えるデバイスによって記録されたエフォートに由来する。いくつかの実施形態において、一連のGPS情報は、(例えば、ユーザインターフェースで定義された)セグメントに対応する。   In step 902, a series of GPS information is mapped onto a set of tiles. In some embodiments, the set of GPS information is derived from effort recorded by a device with GPS tracking capabilities. In some embodiments, the set of GPS information corresponds to a segment (eg, defined in the user interface).

ユニバーサルタイリング(universal tiling)の周知の技術を用いて、関心のある地理的領域を略均一なタイルに分割する。例えば、各タイルは20メートル四方であってよい。このユニバーサルタイリングスキームを一連のGPS情報に適用して、1セットの対応するタイルを生成する。例えば、GPS座標を含む各タイル(および、2つのかかるタイル間の任意のタイル)が、タイルのセットに含まれる。いくつかの実施形態において、おおよそ同じ地域をカバーする任意の2つの地理的経路が、それぞれのGPS情報のセットに小さい違いがあっても、同じセットのユニバーサルタイル(universal tiles)にマッピングされる。   Using the well-known technique of universal tiling, the geographical area of interest is divided into substantially uniform tiles. For example, each tile may be 20 meters square. This universal tiling scheme is applied to a series of GPS information to generate a set of corresponding tiles. For example, each tile that includes GPS coordinates (and any tile between two such tiles) is included in the set of tiles. In some embodiments, any two geographic routes covering approximately the same area are mapped to the same set of universal tiles, even though there are minor differences in their respective sets of GPS information.

工程904では、任意でタイルを埋めるためにタイルを追加し、連続するタイルのセットを含むGPSポイント間の経路を提供する。例えば、2つの連続的なGPSポイントが、隣接するタイルにマッピングされない場合、連続的なGPSポイントをつなぐラインが横切った任意のタイルをタイルセットに追加することができる(例えば、拡張前にGPSポイント間のタイルを埋めることができる)。   Step 904 optionally adds tiles to fill the tiles and provides a path between GPS points that includes a continuous set of tiles. For example, if two consecutive GPS points are not mapped to adjacent tiles, any tile crossed by a line connecting consecutive GPS points can be added to the tile set (eg, GPS points before expansion) Can fill tiles between).

工程906では、任意でタイルのセットが拡張される。いくつかの実施形態において、タイルのセットは、GPSデータの差異を補償するために、隣接するタイルを含むように拡張されうる。例えば、工程902でにて成されたタイルセット内の各タイルに隣接する8つのタイルがまだ含まれていなければ、それらのタイルをタイルセットに含めることができる。ただし、タイルのセットは、その他の適切な方法で拡張することもできる。   In step 906, the set of tiles is optionally expanded. In some embodiments, the set of tiles can be expanded to include adjacent tiles to compensate for differences in GPS data. For example, if the eight tiles adjacent to each tile in the tile set made in step 902 are not already included, those tiles can be included in the tile set. However, the set of tiles can be expanded in other suitable ways.

工程908では、1セットのタイルは、1セットのMBRにグループ化される。いくつかの実施形態において、セット内で互いに近いタイルが、1つのMBRにグループ化される。いくつかの実施形態において、MBRの各寸法(例えば、高さ、幅)は、1または複数のタイル全体である。例えば、1セットのタイルを1セットのMBRにグループ化するために、まず、そのセットのタイルを、1セットの重複しない長方形のボックスに結合する。1つのアプローチでは、水平方向に隣接するセルを結合して、幅が広くタイル1つ分の高さを有する1セットのボックスを生成する。次に、各ボックスが、下の行のボックスと比較され、同じ幅および水平位置を有するボックスがある場合には、それと結合される。結果として得られるボックスのセットが、所望のMBRのセットである。ただし、1セットのタイルを1セットのMBRにグループ化する方法は、この例だけに限定されない。   In step 908, a set of tiles is grouped into a set of MBRs. In some embodiments, tiles that are close to each other in the set are grouped into one MBR. In some embodiments, each dimension (eg, height, width) of the MBR is an entire tile or tiles. For example, to group a set of tiles into a set of MBRs, the sets of tiles are first combined into a set of non-overlapping rectangular boxes. In one approach, horizontally adjacent cells are combined to produce a set of boxes that are wide and have the height of one tile. Each box is then compared to the boxes in the bottom row and combined with any boxes that have the same width and horizontal position. The resulting set of boxes is the desired set of MBRs. However, the method of grouping one set of tiles into one set of MBRs is not limited to this example.

いくつかの実施形態において、各MBRは、(例えば、タイリングスキームでは)それぞれの4つの角の座標によって特定される。いくつかの実施形態において、MBRのセットは、セグメントのためのデータベースに格納される。例えば、セット内のMBRは、R木インデックス化データベーステーブルの行に格納できる。セット内のMBRは、それらが表すセグメントに関連付けられた識別子と共に格納されてもよい。   In some embodiments, each MBR is identified by its four corner coordinates (eg, in a tiling scheme). In some embodiments, the set of MBRs is stored in a database for the segment. For example, the MBRs in the set can be stored in a row of the R-tree indexing database table. The MBRs in the set may be stored with an identifier associated with the segment they represent.

しかしながら、いくつかの実施形態において、セグメントは、(MBRに変換された後に格納されるのではなく)対応するセットのGPSデータポイントとして格納されてもよい。   However, in some embodiments, the segments may be stored as a corresponding set of GPS data points (rather than being stored after being converted to MBR).

図10Aは、いくつかの実施形態に従って、一連のGPS情報を1セットのMBRに変換する例を示す図である。いくつかの実施形態において、図10Aの例は、一連のGPS情報に処理900を適用した結果である。図の例では、記録された自転車走行が、1セットのGPS座標を含んでおり、座標は小さい黒丸で示されている。GPS座標を含むユニバーサルタイリングスキームの各タイルは、GPS情報がマッピングされたタイルと、連続的なGPSポイントをつなぐ線分が交差する(横切る)任意のタイルとを含むセット内に含まれる。図の例において、タイルのセットに含まれるタイルには、網掛けされている。セット内の各タイルに隣接する8つのタイルも、(以前にタイルが含まれていなかった場合には)拡張されたタイルセットに含められる。次いで、拡張されたセットのタイルは、4つのMBRにグループ化される(MBR1、MBR2、MBR3、および、MBR4)。図の例において、各MBRは、黒く縁取りされている。各MBRは、4つの角を表す(例えば、タイリングスキームの)座標のセット(x1、x2、y1、y2)によって特定されうる。一連のGPS情報がセグメントを定義するよう意図されている場合、対応するセットのMBRは、いくつかの実施形態において、セグメントの識別子と共にR木インデックス化データベースのテーブルに格納されうる。   FIG. 10A is a diagram illustrating an example of converting a series of GPS information into a set of MBRs according to some embodiments. In some embodiments, the example of FIG. 10A is the result of applying process 900 to a series of GPS information. In the illustrated example, the recorded bicycle run includes a set of GPS coordinates, which are indicated by small black circles. Each tile of the universal tiling scheme that includes GPS coordinates is included in a set that includes a tile to which GPS information is mapped and any tile that intersects (crosses) a line segment connecting successive GPS points. In the illustrated example, the tiles included in the tile set are shaded. Eight tiles adjacent to each tile in the set are also included in the expanded tile set (if no tile was previously included). The expanded set of tiles is then grouped into 4 MBRs (MBR1, MBR2, MBR3, and MBR4). In the illustrated example, each MBR is blacked out. Each MBR may be identified by a set of coordinates (x1, x2, y1, y2) that represent four corners (eg, in a tiling scheme). If a series of GPS information is intended to define a segment, a corresponding set of MBRs may be stored in a table of the R-tree indexing database along with the segment identifier in some embodiments.

図10Bは、いくつかの実施形態に従って、セグメント情報を格納するためのデータベーステーブルのエントリの一例を示す図である。いくつかの実施形態において、データベースは、R木インデックス化データベースである。例えば、データベースは、MySQL、Oracle、または、Postgresであってよい。いくつかの実施形態において、図10Bの例は、図10Aの例で作成された格納済みのMBRのセットを含む。いくつかの実施形態において、セグメントデータベース内の各セグメントは、英数字の識別子と共に格納される。図10Aの例が、「Old_La_Honda」という識別子を有するセグメントのために1セットのMBRを作成したとする。図10Bの例に示すように、各MBRは、そのセグメント識別子、その4つの座標、および、占有率と共に格納される。図の例において、占有率とは、セグメントに関連付けられたタイルの数に対する、セグメントに関連付けられMBRに含まれたタイルの数の比である。いくつかの実施形態において、占有率は、百分率で表されてもよい。例えば、図10Aに示すように、26の網掛けのタイル、すなわち、セグメント「Old_La_Honda」に関連付けられた26のタイルがある。これら26のタイルの内の6がMBR1に含まれているため、データベース内のMBR1の占有率エントリは、「6/26」である。   FIG. 10B is a diagram illustrating an example of an entry in a database table for storing segment information according to some embodiments. In some embodiments, the database is an R-tree indexed database. For example, the database can be MySQL, Oracle, or Postgres. In some embodiments, the example of FIG. 10B includes a set of stored MBRs created in the example of FIG. 10A. In some embodiments, each segment in the segment database is stored with an alphanumeric identifier. Assume that the example of FIG. 10A has created a set of MBRs for a segment having the identifier “Old_La_Honda”. As shown in the example of FIG. 10B, each MBR is stored with its segment identifier, its four coordinates, and occupancy. In the example of the figure, the occupation ratio is a ratio of the number of tiles associated with the segment and included in the MBR to the number of tiles associated with the segment. In some embodiments, the occupancy may be expressed as a percentage. For example, as shown in FIG. 10A, there are 26 shaded tiles, ie, 26 tiles associated with the segment “Old_La_Honda”. Since 6 of these 26 tiles are included in MBR1, the occupancy entry of MBR1 in the database is “6/26”.

図10Bの例は、セグメントについて4つのエントリ(セット内の各MBRについてのエントリ)しか含んでいないが、実際のセグメントは、経路の長さに応じて、データベースに数千のエントリを含みうる。いくつかの実施形態において、セグメント情報を格納するためのデータベースのエントリは、図10Bの例に示したのと異なる数の列を含んでもよい。いくつかの実施形態において、データベースに格納されたセグメントの情報セットは、すべてのエフォート(例えば、エフォートデータベースからのエフォート)と、セグメントに一致すると判定されたエフォートの関連データと、を含む。そうすれば、セグメントがデータベースからリトリーブされる時に、運動パフォーマンス(例えば、一致したエフォートおよびそれらの関連データによって表される)にも迅速にアクセスすることができる。   The example of FIG. 10B contains only four entries for a segment (an entry for each MBR in the set), but an actual segment may contain thousands of entries in the database, depending on the length of the path. In some embodiments, the database entries for storing segment information may include a different number of columns than shown in the example of FIG. 10B. In some embodiments, the segment information set stored in the database includes all effort (eg, effort from the effort database) and associated data of the effort determined to match the segment. That way, when a segment is retrieved from the database, athletic performance (eg, represented by matched effort and their associated data) can also be quickly accessed.

図11Aは、いくつかの実施形態に従って、セグメントデータベースで一致するセグメントを検索する処理の一実施形態を示すフローチャートである。   FIG. 11A is a flowchart illustrating one embodiment of a process for searching for a matching segment in a segment database, according to some embodiments.

いくつかの実施形態では、セグメントが、R木インデックス化データベース内にMBRのセットとして格納される。いくつかの実施形態では、セグメントが、データベース内にGPSデータポイントのセットとして格納される。   In some embodiments, the segments are stored as a set of MBRs in the R-tree indexing database. In some embodiments, the segments are stored as a set of GPS data points in the database.

いくつかの実施形態において、クエリ入力(例えば、一連のGPSデータポイントによって表された地理的経路)が、セグメントデータベースの定義済みセグメントに一致するか否かを判定するために、セグメントデータベースに対してクエリが実行される。本明細書で用いられているように、一連のGPS情報(例えば、エフォートに属するもの)と、別の一連のGPS情報(例えば、セグメントに属するもの)との一致率が、特定の閾値を超えた場合に、それらのGPS情報が一致するものとする。   In some embodiments, to determine whether a query input (eg, a geographic route represented by a series of GPS data points) matches a predefined segment of the segment database, to the segment database The query is executed. As used herein, a match rate between a series of GPS information (eg, belonging to an effort) and another series of GPS information (eg, belonging to a segment) exceeds a certain threshold. In the event that the GPS information matches.

工程1102では、必要に応じて、一連のGPS情報が変換される。いくつかの実施形態において、一連のGPS情報は、エフォート(例えば、GPSを備えたデバイスによって記録されたエフォート)から抽出される。いくつかの実施形態において、GPS情報は、一連の連続的なGPSデータポイントである。いくつかの実施形態において、セグメントは、1セットのMBRなど抽象形態で格納される。セグメントがMBRのセットとして格納される場合、一連のGPS情報も1セットのMBRに変換される。いくつかの実施形態では、セグメントがGPSデータポイントのセットとして格納されるので、GPS情報は別の形態に変換される必要はない。   In step 1102, a series of GPS information is converted as necessary. In some embodiments, the set of GPS information is extracted from an effort (eg, an effort recorded by a device with GPS). In some embodiments, the GPS information is a series of continuous GPS data points. In some embodiments, the segments are stored in an abstract form, such as a set of MBRs. When a segment is stored as a set of MBRs, a series of GPS information is also converted into a set of MBRs. In some embodiments, since the segments are stored as a set of GPS data points, the GPS information need not be converted to another form.

工程1104では、GPS情報を用いて、セグメントデータベースへのクエリが行われる。いくつかの実施形態において、データベースのクエリは、一連のGPS情報に類似したセグメントの部分(例えば、GPSデータポイント、MBR)を返す。   In step 1104, the segment information is queried using the GPS information. In some embodiments, the database query returns a segment portion (eg, GPS data point, MBR) similar to a set of GPS information.

いくつかの実施形態において、セグメントは、R木インデックス化データベースにMBRのセットとして格納される。例えば、データベースで検索を行うために、GPS情報から変換されたMBRを用いて、R木インデックス化データベースに対して境界ボックスクエリを実行する。クエリは、入力されたMBRと重複するMBRを返す。重複するMBRは、類似していると考えられる。重複するMBRについて、データベースのテーブル(例えば、図10Bのテーブル1000)から、それぞれのエントリが返されうる。テーブル1000を参照して、この例で、MBR1、MBR2、および、MBR3(いずれもセグメント「Old_La_Honda」に属する)が、重複すると判定されたと仮定する。したがって、それらのエントリの解析(例えば、入力されたMBRのセットがセグメント「Old_La_Honda」に一致するか否かを判定するための解析)を実行できるように、MBR1、MBR2、および、MBR3のそれぞれの行が返されうる。いくつかの実施形態では、2以上のセグメントに関連付けられた重複MBRが返されてもよい。   In some embodiments, the segments are stored as a set of MBRs in the R-tree indexing database. For example, to perform a search in the database, a bounding box query is executed against the R-tree indexed database using MBR converted from GPS information. The query returns an MBR that overlaps with the input MBR. Overlapping MBRs are considered similar. For duplicate MBRs, each entry can be returned from a database table (eg, table 1000 in FIG. 10B). Referring to table 1000, in this example, it is assumed that MBR1, MBR2, and MBR3 (all belonging to segment “Old_La_Honda”) are determined to overlap. Thus, each of MBR1, MBR2, and MBR3 can be analyzed so that analysis of those entries (eg, analysis to determine whether the set of input MBRs matches the segment “Old_La_Honda”) can be performed. Rows can be returned. In some embodiments, duplicate MBRs associated with more than one segment may be returned.

いくつかの実施形態において、セグメントは、データベースにGPSデータポイントのセットとして格納される。類似する一連のGPSデータポイントを(例えば、許容範囲内で)決定するための様々な検索技術を用いて、データベースで類似のセグメントを見つけることができる。かかる技術の一例では、データベースの各GPSデータポイントは、選択された長さ(例えば、50メートル)の半径で示される許容領域を含むと仮定される。一連のGPS情報に含まれる各ポイントも、選択された長さ(データベースのポイントの半径と同じ長さでありうる)の半径で示される許容領域を含むと仮定される。結果として、各GPSデータポイントは、円の中の領域に広がるものとして考えることができる。続いて、一連のGPS情報内の各ポイントの円形領域を用いて、データベースで(セグメントに関連付けられた)GPSデータポイントに関連付けられた重複する円を検索する。いくつかの実施形態では、重複する円に対応するデータベースのGPSデータポイントが返されうる。いくつかの実施形態では、2以上のセグメントに関連付けられたGPSデータポイントが返されてもよい。   In some embodiments, the segments are stored as a set of GPS data points in the database. Similar segments can be found in the database using various search techniques to determine a similar set of GPS data points (eg, within acceptable limits). In one example of such a technique, each GPS data point in the database is assumed to include a tolerance area indicated by a radius of a selected length (eg, 50 meters). Each point included in the series of GPS information is also assumed to include a tolerance region indicated by a radius of a selected length (which may be the same length as the radius of the points in the database). As a result, each GPS data point can be thought of as extending over an area within a circle. Subsequently, the circular area of each point in the series of GPS information is used to search the database for overlapping circles associated with GPS data points (associated with the segment). In some embodiments, database GPS data points corresponding to overlapping circles may be returned. In some embodiments, GPS data points associated with more than one segment may be returned.

いくつかの実施形態において、一連のGPSデータポイントを用いて類似のセグメントを検索するには、MBRおよびR木インデックス化データベースを用いるのに必要とされるよりも多くの計算時間および/または資源が必要で或る。   In some embodiments, searching for similar segments using a series of GPS data points requires more computation time and / or resources than are required to use the MBR and R-tree indexing databases. It is necessary.

工程1106では、クエリ結果が解析される。いくつかの実施形態において、クエリ結果は、一連のGPS情報がデータベースのセグメントに一致するか否かを判定するために用いられる。いくつかの実施形態において、一連のGPS情報と、返された1または複数のセグメント(の部分)との間の一致率を決定するために、計算が実行される。   In step 1106, the query results are analyzed. In some embodiments, the query results are used to determine whether a set of GPS information matches a segment of the database. In some embodiments, a calculation is performed to determine a match rate between the set of GPS information and the returned one or more segments.

いくつかの実施形態において、セグメントがMBRとして格納された場合、一致率は、返されたMBRを用いて決定される。いくつかの実施形態において、一連のGPS情報とセグメントとの一致率は、セグメントの重複したMBRの数の、セグメントのMBRの総数に対する比に基づいて計算される。一致率が閾値を超えた場合、一連のGPS情報によって表された地理的経路は、そのセグメントに一致すると見なされる。いくつかの実施形態において、一連のGPS情報とセグメントとの類似度は、返されたMBRの占有率の合計に基づいて計算される。占有率の合計が閾値を超えた場合、一連のGPS情報によって表された地理的経路は、そのセグメントに一致すると見なされる。いくつかの実施形態において、(例えば、工程1104において)クエリの結果として返されたMBRは、データベースのテーブルからの行をそれぞれ含む。図10Bのテーブルを参照して、この例で、MBR1、MBR2、および、MBR3(いずれもセグメント「Old_La_Honda」に属する)が、重複すると判定されたと仮定する。したがって、MBR1、MBR2、および、MBR3のそれぞれの行が返される。この例において、一連のGPS情報と「Old_La_Honda」セグメントとの類似度は、重複したMBRの占有率の合計に基づいて計算される。MBR1、MBR2、および、MBR3が重複しているので、それぞれの占有率の合計(すなわち、6/26+4/26+10/26)は、20/26すなわち約76.9%である。一致率の閾値が65%である場合、一連のGPS情報は、「Old_La_Honda」セグメントに一致すると見なされる。いくつかの実施形態において、2以上のセグメントについてMBRが返されてもよく、それらのセグメントの各々に対する類似度が決定されうる。   In some embodiments, if the segment is stored as an MBR, the match rate is determined using the returned MBR. In some embodiments, the rate of matching between a set of GPS information and a segment is calculated based on the ratio of the number of overlapping MBRs in the segment to the total number of MBRs in the segment. If the match rate exceeds the threshold, the geographic route represented by the series of GPS information is considered to match the segment. In some embodiments, the similarity between a set of GPS information and a segment is calculated based on the total MBR occupancy returned. If the total occupancy exceeds the threshold, the geographic route represented by the series of GPS information is considered to match that segment. In some embodiments, the MBR returned as a result of a query (eg, at step 1104) includes a row from each table in the database. Referring to the table of FIG. 10B, in this example, it is assumed that MBR1, MBR2, and MBR3 (all belonging to the segment “Old_La_Honda”) are determined to overlap. Therefore, the respective rows of MBR1, MBR2, and MBR3 are returned. In this example, the similarity between the series of GPS information and the “Old_La_Honda” segment is calculated based on the total occupancy rate of the duplicate MBRs. Since MBR1, MBR2, and MBR3 overlap, the total occupancy (ie 6/26 + 4/26 + 10/26) is 20/26 or about 76.9%. If the match rate threshold is 65%, the series of GPS information is considered to match the “Old_La_Honda” segment. In some embodiments, MBRs may be returned for more than one segment, and the similarity for each of those segments may be determined.

いくつかの実施形態において、セグメントがGPSデータポイントのセットとして格納される場合、一致率は、クエリによって返されたGPSデータポイントの数に基づいて決定される。いくつかの実施形態では、クエリによって返されたGPSデータポイントの数の、セグメントに関連付けられたGPSデータポイントの総数に対する比が、特定の閾値を超える場合、一連のGPS情報によって表された地理的経路は、セグメントに一致すると見なされる。いくつかの実施形態において、2以上のセグメントについてGPSデータポイントが返されてもよく、それらのセグメントの各々に対する一致率が決定されうる。   In some embodiments, if the segment is stored as a set of GPS data points, the match rate is determined based on the number of GPS data points returned by the query. In some embodiments, if the ratio of the number of GPS data points returned by the query to the total number of GPS data points associated with the segment exceeds a certain threshold, the geographic represented by the set of GPS information The path is considered to match the segment. In some embodiments, GPS data points may be returned for more than one segment, and a match rate for each of those segments may be determined.

いくつかの実施形態において、一連のGPS情報の間の一致率が閾値(例えば、65%)を下回った場合、地理的経路は、セグメントに一致しないと見なされる。いくつかの実施形態では、複数の閾値が存在し、それらの閾値内で、一連のGPS情報がセグメントに一致しうる。いくつかの実施形態において、一連のGPS情報は、低い方の閾値(例えば、65%から79%の間)でセグメントに一致すると、セグメントの穏やかな一致と見なされうる。いくつかの実施形態において、一連のGPS情報は、高い方の閾値(例えば、80%から100%の間)でセグメントに一致すると、セグメントの厳密な一致の候補と見なされうる。いくつかの実施形態において、セグメントの厳密な一致と見なされるには、一連のGPS情報は、高い方の閾値でセグメントに一致するだけではなく、セグメントの仮想のスタートラインおよびゴールラインを横切る必要がある。一連のGPS情報が、セグメントへの緩やかな一致であると見なされた場合、そのGPS情報に関連付けられた地理的経路(例えば、エフォート)が、セグメントによって参照された経路を厳密には辿っていないことを意味する。例えば、セグメントによって区切られた一般的な地形に沿ってのんびりとサイクリングをするつもりのサイクリストは、正確なセグメントから少し逸脱しうる。一連のGPS情報が、セグメントへの厳密な一致であると見なされた場合、そのGPS情報に関連付けられた地理的経路が、セグメントによって参照された経路を厳密に辿ったことを意味する。例えば、自身の記録または他人のパフォーマンスに対して、セグメントを横切るタイム(または、別のパフォーマンス測定値)を競うつもりのサイクリストは、セグメントによって区切られた領域をより厳密に辿る必要がある。また、タイムを競う目的のサイクリストは、セグメントの(一部だけではなく)全長を走ることを保証するために、セグメントの仮想のスタートラインおよびゴールラインを横切る必要がある(もしくは、セグメントがループを形成する場合には、ループセグメントに入ったエントリポイントをもう一回通過する必要がある)。   In some embodiments, if the match rate between a series of GPS information falls below a threshold (eg, 65%), the geographic path is considered not to match the segment. In some embodiments, there are multiple thresholds within which a set of GPS information may match a segment. In some embodiments, a sequence of GPS information can be considered a gentle match of a segment if it matches the segment with a lower threshold (eg, between 65% and 79%). In some embodiments, a set of GPS information may be considered a candidate for an exact match of a segment if it matches the segment with a higher threshold (eg, between 80% and 100%). In some embodiments, in order to be considered an exact match of a segment, a series of GPS information needs to cross the segment's virtual start and goal lines as well as match the segment with a higher threshold. is there. If a series of GPS information is considered a loose match to a segment, the geographic path (eg, effort) associated with that GPS information does not strictly follow the path referenced by the segment Means that. For example, a cyclist who intends to cycle slowly along the general terrain delimited by segments can deviate slightly from the exact segment. If a series of GPS information is considered an exact match to a segment, it means that the geographic path associated with that GPS information has followed the path referenced by the segment exactly. For example, a cyclist who intends to compete for time (or another performance measure) across a segment against his records or the performance of others needs to follow the area bounded by the segment more closely. Cyclists who compete for time must also cross the virtual start line and goal line of the segment (or the segment loops) to ensure that it runs the entire length (not just a part) of the segment. If so, the entry point that entered the loop segment must be passed once more).

図11Bは、いくつかの実施形態に従って、エフォートをセグメントに対してマッチングする一実施形態を示すフローチャートである。いくつかの実施形態において、処理1150は、いくつかの実施形態に従った工程1106を実行するために用いられる。   FIG. 11B is a flowchart illustrating one embodiment of matching effort to a segment according to some embodiments. In some embodiments, process 1150 is used to perform step 1106 according to some embodiments.

処理1150の開始時に、工程1104がすでに実行されており、クエリが、セグメントの類似部分(例えば、与えられた許容範囲内の重複したMBRまたはGPSデータポイント)を返したとする。   Assume that at the start of process 1150, step 1104 has already been performed and the query returned a similar portion of the segment (eg, duplicate MBR or GPS data points within a given tolerance).

いくつかの実施形態において、エフォートをセグメントに対してマッチングする処理は、工程1152を含み、工程1154(緩やかな一致の決定)の後に終了し、厳密な一致の決定を含まない。いくつかの実施形態において、エフォートをセグメントに対してマッチングする処理は、工程1155から1160(厳密な一致の決定)を含むが、緩やかな一致の決定を含まない。いくつかの実施形態において、エフォートをマッチングする処理は、格納されたセグメントに対するエフォートの緩やかな一致および厳密な一致の両方の決定を含む。   In some embodiments, the process of matching an effort to a segment includes step 1152, ends after step 1154 (determining a loose match), and does not include an exact match determination. In some embodiments, the process of matching effort to a segment includes steps 1155 through 1160 (exact match determination) but does not include a loose match determination. In some embodiments, the process of matching the effort includes determining both a loose match and an exact match of the effort for the stored segment.

工程1152では、エフォートとセグメントとの間の一致率が第1の閾値を超えるか否かが判定される。一致率が第1の閾値未満である(例えば、一致率が65%未満である)場合、エフォートは、セグメントに一致しないと見なされ、処理1150は終了する。一致率が第1の閾値を超える(例えば、一致率が65%を超える)場合、エフォートは、工程1154においてセグメントに対する緩やかな一致であると見なされ、制御は工程1155に進む。   In step 1152, it is determined whether the match rate between the effort and the segment exceeds a first threshold. If the match rate is less than the first threshold (eg, the match rate is less than 65%), the effort is considered not to match the segment and the process 1150 ends. If the match rate exceeds the first threshold (eg, the match rate exceeds 65%), the effort is considered a loose match for the segment at step 1154 and control proceeds to step 1155.

工程1155では、エフォートとセグメントとの間の一致率が第2の閾値を超えるか否かが判定される。一致率が第2の閾値を超える(例えば、一致率が80%を超える)場合、エフォートは、セグメントに対する厳密な一致の候補であると見なされ、制御は工程1156に進む。一致率が第2の閾値未満である(例えば、一致率が65%から79%の間である)場合、エフォートは、厳密な一致ではない(緩やかな一致に過ぎない)と見なされ、処理は終了する。   In step 1155, it is determined whether the match rate between the effort and the segment exceeds a second threshold. If the match rate exceeds the second threshold (eg, the match rate is greater than 80%), the effort is considered to be an exact match candidate for the segment and control proceeds to step 1156. If the match rate is less than the second threshold (eg, the match rate is between 65% and 79%), the effort is considered not a close match (only a loose match) and the process is finish.

工程1156では、エフォートがセグメントのスタートラインおよびゴールラインを横切っているか否かが判定される。スタートラインおよびゴールラインの両方を横切っている場合、エフォートは、工程1160においてセグメントの厳密な一致であると見なされる。しかしながら、ラインの一方または両方を横切っていない場合、処理は終了し、エフォートは、厳密な一致ではない(緩やかな一致に過ぎない)と見なされる。   In step 1156, it is determined whether the effort crosses the start line and goal line of the segment. If crossing both the start line and the goal line, the effort is considered to be an exact match of the segments at step 1160. However, if one or both of the lines are not crossed, the process ends and the effort is considered not a close match (only a loose match).

いくつかの実施形態において、エフォートが、ループを形成するセグメント(例えば、ニューヨーク市のセントラルパーク)と比較される場合、ループセグメントには、スタートラインもゴールラインも作成されないので、工程1156は実行されなくてよい。代わりに、いくつかの実施形態において、ループセグメントの厳密な一致の候補と見なされたエフォートについて、エフォートが最初にループセグメントと交差した場所に関連付けられたエントリポイントが、まず決定される。次いで、エフォートが、ループセグメントの決定済みのエントリポイントを2回目に通過したと判定された場合、そのエフォートは、ループセグメントの厳密な一致であると見なされる。   In some embodiments, if the effort is compared to a segment forming a loop (eg, Central Park in New York City), step 1156 is performed because no start line or goal line is created for the loop segment. It is not necessary. Instead, in some embodiments, for an effort deemed a candidate for an exact match of a loop segment, the entry point associated with the location where the effort first intersected the loop segment is first determined. If it is then determined that the effort has passed the loop segment's determined entry point a second time, the effort is considered to be an exact match of the loop segment.

図12は、いくつかの実施形態に従って、仮想スタートラインを作成する一例を示す図である。いくつかの実施形態では、定義されたセグメントに対して仮想スタートラインが作成される。いくつかの実施形態において、記録されたエフォートを用いてセグメントが(例えば、処理400によって)定義されると、仮想スタートラインが、GPS情報および選択されたスタートポイントから導出される。いくつかの実施形態において、セグメントがループを形成する場合、セグメントに対して、スタートラインもゴールラインも作成されない。   FIG. 12 is a diagram illustrating an example of creating a virtual start line according to some embodiments. In some embodiments, a virtual start line is created for the defined segment. In some embodiments, when a segment is defined (eg, by process 400) using recorded effort, a virtual start line is derived from the GPS information and the selected start point. In some embodiments, if a segment forms a loop, no start line or goal line is created for the segment.

図12の例において、記録されたエフォートは、一連の連続的なGPS座標P1(t0)、P2(t1)、P3(t2)、P4(t3)、および、P5(t4)で表されている。ポイントP1(t0)は、P2(t1)よりも早い時間に通過され、P2(t1)は、P3(t2)よりも早い時間に通過され、以下同様である。スタートポイントは、位置1202に選択されている。選択されたスタートポイントは、P1(t0)の通過後かつP(t1)の通過前に配置されている。一連のGPS座標の内の次のGPS座標は、未通過のP2(t1)なので、線形経路1208が、P2(t1)から、選択されたスタートポイントまで引かれている。仮想スタートライン1206は、その中心が、選択されたスタートポイントおよびP2(t1)の間の線形経路1208の中心と重なるような位置に選択される。この例において、仮想スタートライン1206は、90度の角度で線形経路1208と交差しているが、他の角度で交差してもよい。仮想スタートラインの長さは、任意の適切な長さ(例えば、100メートル)に設定されてよい。いくつかの実施形態において、仮想スタートラインは、それに関連付けられたセグメントと共にセグメントデータベースに格納されてよい。いくつかの実施形態において、仮想スタートラインは、ラインの両端の座標のみとして格納されてよい(例えば、2つの座標の間に直線を引くことによってラインを再現できるため)。いくつかの実施形態において、仮想スタートラインは、ラインに沿った密な一連の連続的なGPS座標として格納されてもよい。 In the example of FIG. 12, the recorded effort is represented by a series of continuous GPS coordinates P1 (t0), P2 (t1), P3 (t2), P4 (t3), and P5 (t4). . Point P1 (t0) is passed at a time earlier than P2 (t1), P2 (t1) is passed at a time earlier than P3 (t2), and so on. The start point is selected at position 1202. The selected start point is placed before passage of P1 (t0) after passing through and P 2 (t1). Since the next GPS coordinate in the series of GPS coordinates is unpassed P2 (t1), a linear path 1208 is drawn from P2 (t1) to the selected start point. The virtual start line 1206 is selected such that its center overlaps the center of the linear path 1208 between the selected start point and P2 (t1). In this example, virtual start line 1206 intersects linear path 1208 at an angle of 90 degrees, but may intersect at other angles. The length of the virtual start line may be set to any appropriate length (for example, 100 meters). In some embodiments, the virtual start line may be stored in the segment database along with the segments associated with it. In some embodiments, the virtual start line may be stored as coordinates only at the ends of the line (eg, because the line can be reproduced by drawing a straight line between the two coordinates). In some embodiments, the virtual start line may be stored as a dense series of GPS coordinates along the line.

いくつかの実施形態において、ゴールラインが、前述の技術と同様に作成および格納されうる。   In some embodiments, a goal line can be created and stored similar to the techniques described above.

いくつかの実施形態において、スタート(またはゴール)ラインは、エフォートの一連のGPS情報がラインと交わると判定されうる場合に横切られたと見なされる。例えば、一連のGPS情報が離散的なポイントで形成されている場合でも、2つの連続したポイントがラインの異なる側に存在するとわかれば、関連する経路が、ラインを横切っていると見なされる。いくつかの実施形態において、一連のGPS情報内の1つのポイントがラインに近い(例えば、与えられた距離以内である)とわかれば、対応する記録が示唆しなかったとしても、実際の身体活動が仮想ラインを横切ったか否かを判定するために、エフォートについて既知の関連データ(例えば、速度、勾配、心拍数)に基づいて、一連のGPS情報の補外を行うことができる。例えば、いくつかのGPS対応デバイスは、他と異なる頻度でGPS情報を記録する。したがって、用いた記録デバイスのタイプに応じて、記録されるGPS情報の間にいくらかの相違が生じうる。しかしながら、他の既知のデータに基づいてGPS情報を補外することにより、少なくとも一部の相違を補償して、実際にラインを横切ったアスリートがそれを認められることをより確実にすることができる。   In some embodiments, a start (or goal) line is considered crossed if it can be determined that a series of effort GPS information intersects the line. For example, even if a series of GPS information is formed of discrete points, if two consecutive points are found on different sides of the line, the associated path is considered to cross the line. In some embodiments, if one point in a series of GPS information is known to be close to a line (eg, within a given distance), actual physical activity, even if the corresponding record did not suggest A series of GPS information extrapolations can be performed based on known relevant data (e.g., speed, slope, heart rate) for the effort to determine whether or not has crossed the virtual line. For example, some GPS enabled devices record GPS information at a different frequency than others. Therefore, depending on the type of recording device used, some differences can occur between the recorded GPS information. However, extrapolating GPS information based on other known data can compensate for at least some of the differences and make it more certain that athletes who actually cross the line will be allowed to do so. .

図13は、いくつかの実施形態に従って、一致するエフォートを決定するための処理の一実施形態を示すフローチャートである。   FIG. 13 is a flowchart illustrating one embodiment of a process for determining a matching effort according to some embodiments.

工程1302では、エフォートがセグメントと比較される。いくつかの実施形態において、セグメントは、すでに定義されている。いくつかの実施形態において、セグメントは、データベースに格納されている。いくつかの実施形態において、セグメントは、1セットのMBRとして格納されている。いくつかの実施形態において、セグメントは、一連のGPSデータポイントとして格納されている。いくつかの実施形態において、エフォートは、格納済みの過去のエフォートのデータベースから取得される。   In step 1302, the effort is compared to the segment. In some embodiments, the segment is already defined. In some embodiments, the segments are stored in a database. In some embodiments, the segments are stored as a set of MBRs. In some embodiments, the segments are stored as a series of GPS data points. In some embodiments, the effort is obtained from a stored past effort database.

様々な実施形態において、エフォートは、一致率を決定するために、セグメントと比較される。いくつかの実施形態において、エフォートに関連するGPS情報が取得される(例えば、データベースから)。いくつかの実施形態において、セグメントが1セットのMBRとして格納されている場合、エフォートのGPS情報も1セットのMBRに変換され、その後に比較される。いくつかの実施形態において、セグメントが1セットのGPS情報として格納されている場合、エフォートのGPS情報は変換される必要がない。   In various embodiments, the effort is compared to the segment to determine a match rate. In some embodiments, GPS information associated with the effort is obtained (eg, from a database). In some embodiments, if the segment is stored as a set of MBRs, the effort GPS information is also converted to a set of MBRs and then compared. In some embodiments, if the segment is stored as a set of GPS information, the effort GPS information need not be converted.

いくつかの実施形態において、一致率が閾値を超えた場合、エフォートは、セグメントに一致すると見なされる。いくつかの実施形態では、エフォートが、2つの異なるレベル(緩やかな一致および厳密な一致)でセグメントと一致しうる。エフォートが低い方の閾値でセグメントに一致した場合、そのエフォートは、緩やかな一致であると決定され、エフォートとセグメントとの間の地理的経路の類似度がより低いことが示唆される。エフォートが高い方の閾値でセグメントと一致し、さらに、エフォートがセグメントのスタートラインおよびゴールラインの両方を横切ると判定された(もしくは、セグメントがループを形成する場合には、エフォートがループセグメントへのエントリポイントを2回目に通過したと判定された)場合、そのエフォートは、厳密な一致である。いくつかの実施形態において、厳密な一致は、エフォート(の少なくとも一部)と、セグメントとの間の地理的経路の類似度が高いことを示す。いくつかの実施形態では、セグメントに一致するエフォートに関連付けられた識別子が、セグメントと共に格納される。いくつかの実施形態では、エフォートに一致するセグメントの識別子が、エフォートと共に格納される。   In some embodiments, an effort is considered to match a segment if the match rate exceeds a threshold. In some embodiments, the effort may match a segment at two different levels: a loose match and an exact match. If the effort matches a segment with a lower threshold, the effort is determined to be a loose match, suggesting that the similarity of the geographic path between the effort and the segment is lower. It is determined that the effort matches the segment at the higher threshold and that the effort crosses both the start line and goal line of the segment (or if the segment forms a loop, the effort If it is determined that the entry point was passed for the second time, the effort is an exact match. In some embodiments, an exact match indicates a high degree of similarity of geographic paths between (at least a portion of) the effort and the segment. In some embodiments, an identifier associated with the effort that matches the segment is stored with the segment. In some embodiments, the identifier of the segment that matches the effort is stored with the effort.

工程1304では、セグメントと比較すべきさらなるエフォートがあるか否かが判定される。いくつかの実施形態では、格納されたエフォートすべてが、セグメントと比較される。いくつかの実施形態では、格納されたエフォートのサブセットのみが、セグメントと比較される。いくつかの実施形態では、セグメントと比較されたエフォートすべてが、1ユーザに関連している。いくつかの実施形態では、セグメントと比較されたエフォートは、2以上のユーザに関連している。   In step 1304, it is determined whether there is more effort to compare with the segment. In some embodiments, all stored effort is compared to the segment. In some embodiments, only a subset of the stored effort is compared to the segment. In some embodiments, all effort compared to a segment is associated with one user. In some embodiments, the effort compared to the segment is associated with more than one user.

工程1306では、一致したエフォートに関連するデータが集計される。いくつかの実施形態において、(例えば、緩やかな一致または厳密な一致として)セグメントに一致すると見なされたエフォートについて、それらの関連データ(例えば、心拍、速度、心拍数、仕事率、タイム)に(例えば、エフォートデータベースで)アクセスして集計する。例えば、集計されたデータは、別のデータベースに一時的に格納されてよい。   In step 1306, data associated with the matched effort is aggregated. In some embodiments, for effort considered to match a segment (eg, as a loose match or an exact match), their associated data (eg, heart rate, speed, heart rate, work rate, time) is ( Access and aggregate (for example, in an effort database). For example, the aggregated data may be temporarily stored in another database.

工程1308では、集計されたデータが解析される。いくつかの実施形態では、一致したエフォートの集計済みデータを用いて、計算が実行される。例えば、平均心拍数、平均速度、平均タイム、平均仕事率、および/または、平均勾配が計算されうる。いくつかの実施形態において、各エフォートの関連データのセットは、一致したエフォートのソート済みリストを作成するために、他の各エフォートの関連データのセットと比較される(例えば、そのリストは、関連データの任意の1つの測定値に基づいてソートされうる)。例えば、ソートされたリストは、最速タイムから降順に並べたエフォートのリストを含みうる。もしくは、別の例において、ソートされたリストは、最高仕事率から昇順に並べたエフォートのリストを含みうる。例えば、ソートされたリストは、最近記録されたエフォートのリストを含みうる。いくつかの実施形態において、集計されたデータの解析結果が、(例えば、ユーザインターフェースに)表示されうる。表示は、表および/または画像を含みうる。   In step 1308, the aggregated data is analyzed. In some embodiments, the calculations are performed using the aggregated data of the matched effort. For example, average heart rate, average speed, average time, average power, and / or average slope can be calculated. In some embodiments, each effort's related data set is compared to each other effort's related data set to create a sorted list of matched efforts (eg, the list is related Can be sorted based on any one measure of the data). For example, the sorted list may include a list of efforts arranged in descending order from the fastest time. Alternatively, in another example, the sorted list may include a list of efforts arranged in ascending order from highest power. For example, the sorted list may include a list of recently recorded efforts. In some embodiments, the aggregated data analysis results may be displayed (eg, in a user interface). The display may include a table and / or an image.

図14は、いくつかの実施形態に従って、一致したエフォートについて解析されたデータの表示の一例を示す図である。いくつかの実施形態において、図14の例は、一致するエフォートが決定された選択済みのセグメントについて表示されている。言い換えると、セグメントにマッチングされた各エフォートは、各エフォートがセグメントによって参照された地理的経路を辿ったと見なされたことを示唆する。図14の例は、(例えば、デバイスの)ユーザインターフェースに表示されうる。例において、エフォートに関連する身体活動はサイクリングであるため、各エフォートを走行と呼ぶこととする。セクション1402は、ユーザ、日付(Date)、心拍数(HR)、仕事率(Watts)、および、タイム(Time)を含む最近の走行(Latest Rides)のリストを含む。セクション1404は、タイムでソートされた走行のリストであり、セグメントを走り終えた最速タイムが最初にリストされている。セクション140のリストは、「順位表」の一例である。 FIG. 14 is a diagram illustrating an example of a display of data analyzed for matched effort, according to some embodiments. In some embodiments, the example of FIG. 14 is displayed for a selected segment for which a matching effort has been determined. In other words, each effort matched to a segment implies that each effort was considered to have followed the geographic path referenced by the segment. The example of FIG. 14 may be displayed on a user interface (eg, of a device). In the example, since the physical activity associated with the effort is cycling, each effort will be referred to as running. Section 1402 includes a list of recent rides including the user, date, heart rate (HR), work rate (Watts), and time (Time). Section 1404 is a list of runs sorted by time, with the fastest time finishing the segment listed first. List of sections 140 4 is an example of the "standings".

地理的経路をセグメントとして定義することにより、その経路上での運動パフォーマンスの比較のために、セグメントを容易に参照することができる。いくつかの実施形態において、ユーザは、自分自身の身体活動から記録されたGPSデータを用いてユーザインターフェースでセグメントを定義することができる。いくつかの実施形態において、ユーザは、地図上で選択を行うことにより、ユーザインターフェースでセグメントを定義することができる。どのようにセグメントが定義されても、いったん定義されると、身体活動(例えば、エフォート)の格納済みの履歴にアクセスして、セグメントとマッチングすることができる。一致するエフォートの関連データが集計され、セグメントに関連するすべての身体活動の全部または一部を表すテーブルまたは画像に提示されうる。いくつかの実施形態では、記録された活動が、定義されたセグメントを含むのか一致するのかを、同じユーザまたは別のユーザが、後にチェックすることができる。後のチェックにより、ユーザは、セグメントが開始または終了する場所を正確に知る必要なしに、自分の記録済みの活動を定義および格納済みのセグメントに対して自動的にマッチングできるという恩恵を受けうる。   By defining a geographic path as a segment, the segment can be easily referenced for comparison of athletic performance on that path. In some embodiments, the user can define segments in the user interface using GPS data recorded from his own physical activity. In some embodiments, the user can define a segment in the user interface by making a selection on the map. No matter how the segment is defined, once defined, the stored history of physical activity (eg, effort) can be accessed and matched to the segment. Matching effort related data may be aggregated and presented in a table or image representing all or part of all physical activity associated with the segment. In some embodiments, the same user or another user can later check whether the recorded activity includes or matches a defined segment. Subsequent checks may benefit the user from automatically matching their recorded activities against the defined and stored segments without having to know exactly where the segments begin or end.

従来のシステムを用いて、ユーザのGPS位置およびユーザの他のデータポイントに基づいて解析を行っても、身体活動時の他のユーザとのリアルタイムなフィードバックの比較をサポートすることはできない。なぜなら、かかる解析は、以前は、ユーザのGPSデバイスをコンピュータに接続できるまで実行できなかったからである。   Analyzing based on the user's GPS location and other data points of the user using conventional systems cannot support a real-time feedback comparison with other users during physical activity. This is because such analysis could not be performed before the user's GPS device could be connected to the computer.

セグメントに関連する現行活動のリアルタイムなフィードバックを提供することが開示されている。様々な実施形態において、ユーザが、1または複数のセグメントに一致する現行活動(例えば、サイクリング、ランニング)を実行している間に、定義および格納されたセグメントを用いて、ユーザのためにリアルタイムでフィードバックを生成することができる。いくつかの実施形態において、「リアルタイム」は、ユーザが現行活動をまだ続けている間に、デバイスでユーザにフィードバックすなわち通信を提供することを含む(すなわち、フィードバックは、現行活動が継続している間に、ユーザに提供される)。様々な実施形態において、フィードバックは、フィードバックを求めるユーザによる入力を必要とすることなしに、ユーザの現行活動中に、ユーザに提供される。その代わり、いつ、どのイベントに応答して、どのタイプのコンテンツを、ユーザの活動中に提供するのかなどを示すパラメータが、ユーザによって、または、デフォルト設定によって設定されうる。フィードバックのタイプの例は、一致したセグメントでのそれまでのユーザの現在のパフォーマンスと、そのセグメントでのユーザ自身の履歴パフォーマンスデータまたは他のユーザの履歴パフォーマンスデータとの比較、近くのユーザおよび/またはセグメントの検出、ならびに、それまでのセグメントでのユーザのパフォーマンスに関するユーザ個人の成果の指摘を含みうる。結果として、ユーザは、活動を行っている最中に、セグメントのマッチング/発見または比較などを能動的に開始する必要なしに、一致した1または複数のセグメントでのユーザの現在のパフォーマンスに基づいたフィードバックと、一致したセグメントに関する他の情報とを享受することができる。例えば、身体活動中に、ユーザは、関心を持たないこともあるし、ユーザの現行活動に関するフィードバックの受信をユーザが手動で開始することが実際的ではない場合もある。   It is disclosed to provide real-time feedback on current activity associated with a segment. In various embodiments, while a user is performing a current activity (eg, cycling, running) that matches one or more segments, the defined and stored segments are used in real time for the user. Feedback can be generated. In some embodiments, “real time” includes providing feedback or communication to the user at the device while the user is still in the current activity (ie, feedback is ongoing for the current activity). In between, provided to the user). In various embodiments, the feedback is provided to the user during the user's current activity without requiring input by the user for feedback. Instead, parameters can be set by the user or by default settings that indicate when and in response to which event, what type of content is provided during the user's activities, and so on. Examples of types of feedback include comparing a user's current performance so far in a matched segment with the user's own historical performance data or other users' historical performance data in that segment, nearby users and / or It may include segment detection as well as an indication of the user's individual performance regarding the user's performance in previous segments. As a result, the user is based on the user's current performance on one or more matched segments without having to actively initiate segment matching / discovery or comparison etc. while performing the activity. You can enjoy feedback and other information about the matched segments. For example, during physical activity, the user may not be interested, or it may not be practical for the user to manually start receiving feedback regarding the user's current activity.

図15は、いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムのフィードバックを提供するためのシステムの一実施形態を示す図である。この例において、システム1500は、デバイス1502、デバイス1504、ネットワーク1506、および、セグメントマッチングサーバ1508を備える。ネットワーク1506は、様々な高速データネットワークおよび/または遠隔通信ネットワークを含む。いくつかの実施形態において、システム1500は、さらなる構成要素および/または機能に加えて、少なくともシステム200の構成要素を備える。   FIG. 15 is a diagram illustrating one embodiment of a system for providing real-time feedback during current activity associated with a segment, according to some embodiments. In this example, the system 1500 includes a device 1502, a device 1504, a network 1506, and a segment matching server 1508. Network 1506 includes various high speed data networks and / or telecommunications networks. In some embodiments, the system 1500 comprises at least the components of the system 200 in addition to additional components and / or functions.

いくつかの実施形態において、ユーザは、身体活動を行う時に、デバイス1502およびデバイス1504の一方または両方を携帯することができる。例えば、一方または両方のデバイスが、ユーザの身体に身につけられてもよいし(例えば、ユーザの腕にストラップで固定)、身体活動中にユーザが用いる乗り物(例えば、自転車など)に取り付けられてもよい。   In some embodiments, a user can carry one or both of device 1502 and device 1504 when performing physical activity. For example, one or both devices may be worn on the user's body (eg, strapped to the user's arm) or attached to a vehicle (eg, a bicycle) used by the user during physical activity. Also good.

デバイス1502およびデバイス1504の一方または両方が、位置情報(例えば、GPSデータ)および/または身体活動に関連するその他のデータ(例えば、速度、心拍数)を記録しうる。デバイス1502および/またはデバイス1504の例としては、GPSデバイス(例えば、Garmin Forerunner 110、205、301、305、310XT、405、405CX、および、Garmin Edge 305、605、705、500など、Garmin ForerunnerおよびEdgeデバイス)、GPS記録アプリケーション(例えば、MotionX、Endomondo、および、RunKeeper)を備えたスマートフォン(例えば、AndroidデバイスまたはApple iPhoneデバイス)などの携帯電話、コンピュータ、タブレットデバイス、および/または、その他の汎用コンピュータデバイスおよび/または専用コンピュータデバイスが挙げられ、それらは、通例、一般的なプロセッサと、メモリまたはその他のストレージ要素と、ネットワークまたは出入力(I/O)機能と、統合GPS機能またはサポートもしくはGPSデバイスまたはGPS機能のためのインターフェースと、を備える。   One or both of device 1502 and device 1504 may record location information (eg, GPS data) and / or other data related to physical activity (eg, speed, heart rate). Examples of device 1502 and / or device 1504 include GPS devices (eg, Garmin Forrunner 110, 205, 301, 305, 310XT, 405, 405CX, and Garmin Edger 305, 605, 705, 500, etc.) Devices), mobile phones, computers, tablet devices, and / or other general-purpose computer devices, such as smartphones (eg, Android devices or Apple iPhone devices) with GPS recording applications (eg, MotionX, Endomondo, and RunKeeper) And / or dedicated computer devices, which are typically Comprising a processor for general, a memory or other storage element, the network or input and output (I / O) capabilities and, the, the interface for the integrated GPS function or support or GPS device or GPS function.

いくつかの実施形態において、デバイス1502は、ネットワーク1506を介してリモートサーバ(セグメントマッチングサーバ1508など)とデータをやり取りする機能を備えるが、デバイス1504と通信する機能は備えない。例えば、デバイス1502は、Bluetooth(登録商標)などの無線通信用の近距離プロトコルを用いて、または、有線接続を用いて、デバイス1504と通信することができる。かかる実施形態において、デバイス1504は、ネットワーク1506を介してセグメントマッチングサーバ1508とデータをやり取りする機能を備える。したがって、デバイス1502は、デバイス1504を介してセグメントマッチングサーバ1508とデータをやり取りすることができる。かかる実施形態について、デバイス1502は、ユーザの位置情報および/または身体活動に関連するその他のデータを記録した後に、記録した情報をデバイス1504に送信する非ネットワークデバイスであってよい。例えば、デバイス1504は、記録された情報をデバイス1502から(例えば、インストール済みのアプリケーションを用いて)受信した後に、記録された情報をセグメントマッチングサーバ1508に送信することができるネットワークデバイス(スマートフォンまたはタブレットデバイスなど)であってよい。さらに、セグメントマッチングサーバ1508から送信された情報(例えば、フィードバックデータ)が、デバイス1504によって受信され、次いで、デバイス1502に送信される。   In some embodiments, device 1502 has the capability to exchange data with a remote server (such as segment matching server 1508) via network 1506, but does not have the capability to communicate with device 1504. For example, the device 1502 can communicate with the device 1504 using a short-range protocol for wireless communication such as Bluetooth (registered trademark) or using a wired connection. In such an embodiment, the device 1504 has a function of exchanging data with the segment matching server 1508 via the network 1506. Accordingly, the device 1502 can exchange data with the segment matching server 1508 via the device 1504. For such embodiments, device 1502 may be a non-network device that records the user's location information and / or other data related to physical activity and then transmits the recorded information to device 1504. For example, the device 1504 can receive the recorded information from the device 1502 (eg, using an installed application) and then send the recorded information to the segment matching server 1508 (smartphone or tablet Device). Further, information (eg, feedback data) transmitted from the segment matching server 1508 is received by the device 1504 and then transmitted to the device 1502.

いくつかの実施形態において、デバイス1502は、ネットワーク1506を介してデータを送受信する機能を備えており(すなわち、1502はネットワークデバイスであり)、デバイス1504は、任意選択的にシステム内に含まれる。デバイス1502が、位置情報および/または身体活動に関連するその他のデータを記録して、ネットワーク1506を介してデータを送受信することができる実施形態において、デバイス1502は、デバイス1504を介することなしに、例えば、記録された情報をセグメントマッチングサーバ1508に送信し、例えば、記録された情報の解析結果をセグメントマッチングサーバ1508から受信することができる。   In some embodiments, device 1502 has the capability to send and receive data via network 1506 (ie, 1502 is a network device), and device 1504 is optionally included in the system. In an embodiment where the device 1502 can record location information and / or other data related to physical activity and send and receive data over the network 1506, the device 1502 may be without the device 1504. For example, the recorded information can be transmitted to the segment matching server 1508, and the analysis result of the recorded information can be received from the segment matching server 1508, for example.

身体活動に関連する情報を記録して、セグメントマッチングサーバ1508と通信するために、2以上のデバイス(上記の例に記載したデバイス1502およびデバイス1504の組み合わせなど)を利用できるが、図面および以下の説明では、例示のために、1つのデバイス(ネットワーク機能を有するデバイス1502)のみを用いて、情報を記録してセグメントマッチングサーバ1508と通信することについて記載する。   Two or more devices (such as the combination of device 1502 and device 1504 described in the example above) can be used to record information related to physical activity and communicate with the segment matching server 1508, although the drawings and In the description, for the sake of illustration, it is described that only one device (device 1502 having a network function) is used to record information and communicate with the segment matching server 1508.

様々な実施形態において、デバイス1502(または、そのアプリケーション)は、ユーザが身体活動を行う間に、位置情報(例えば、GPSデータ)、および/または、身体活動に関連するその他のデータを記録するよう構成される。いくつかの実施形態において、ユーザが現在行っている身体活動を、「現行活動」と呼ぶこととする。身体活動の例としては、サイクリング、ランニング、および、スキーが挙げられる。いくつかの実施形態において、GPS情報は、一連の連続的かつ離散的なGPSデータポイント(例えば、緯度および経度)を含み、各ポイントに対してタイムスタンプを備える。いくつかの実施形態において、関連データは、標高、心拍数、仕事率/ワット数(例えば、消費されたエネルギ)、タイム、速度(例えば、セグメントおよび/またはルートごとの平均および/または最大速度、例えば、平均速度はタイムおよびGPS情報から導出されうる)を含むが、これらに限定されない。いくつかの実施形態において、関連データの少なくとも一部を、「パフォーマンスデータ」と呼ぶこととする。関連データは、様々な粒度で記録されうる。例えば、関連データは、各GPSデータポイント、活動全体(例えば、関連データが測定値の平均を含む)、または、活動の一部に対応しうる。   In various embodiments, the device 1502 (or its application) may record location information (eg, GPS data) and / or other data related to physical activity while the user performs physical activity. Composed. In some embodiments, the physical activity that the user is currently performing will be referred to as the “current activity”. Examples of physical activity include cycling, running, and skiing. In some embodiments, the GPS information includes a series of continuous and discrete GPS data points (eg, latitude and longitude), with a time stamp for each point. In some embodiments, the relevant data includes elevation, heart rate, power / wattage (eg, energy consumed), time, speed (eg, average and / or maximum speed per segment and / or route, For example, the average speed may be derived from time and GPS information), but is not limited thereto. In some embodiments, at least some of the relevant data will be referred to as “performance data”. Related data can be recorded at various granularities. For example, the relevant data may correspond to each GPS data point, the entire activity (eg, the relevant data includes an average of measurements), or a portion of the activity.

いくつかの実施形態において、身体活動時にデバイス1502を用いる前に、デバイス1502が身体活動の前または最中にセグメントマッチングサーバ1508とデータをやり取りする方法を決定するために、デバイス1502のパラメータ(または、デバイス1502のアプリケーションに関連するユーザのアカウント)が設定される。デバイス1502のパラメータ(または、デバイス1502のアプリケーションに関連するユーザのアカウント)は、ユーザによって、および/または、プリセット設定によって設定できる。いくつかの実施形態において、デバイス1502に関連するパラメータは、ユーザが身体活動を開始する前にデバイス1502でセグメントマッチングサーバ1508からどのデータを受信するのかを決定するために設定されてよい。いくつかの実施形態において、パラメータは、ユーザにとって関心のないデータをフィルタアウトしたり、ユーザにとって関心のあるデータのタイプを特定したりすることができる。例えば、身体活動の前にセグメントマッチングサーバ1508から取得されたデータは、デバイス1502にローカルに格納され(例えば、キャッシュまたはその他の方法で一時的に格納され)、身体活動中にデバイス1502によって記録された情報を処理するために利用されうる。いくつかの実施形態において、デバイス1502に関連するパラメータは、身体活動中にセグメントマッチングサーバ1508と、いつ(例えば、どのような頻度で)どのタイプのデータをやり取りするのかを決定するために設定されてもよい。デバイスおよび/またはユーザに関連するパラメータは、例えば、デバイス1502で設定されうる、および/または、他で設定されてデバイス1502にダウンロードされる。いくつかの実施形態では、設定されたパラメータのコピーも、セグメントマッチングサーバ1508に送信されて保持される。例えば、身体活動中にデバイス1502から送信するデータは、記録されたGPSデータと、それまでのユーザの現行活動に関連するその他のデータとを含みうる。また、例えば、デバイス1502でセグメントマッチングサーバ1508から受信するデータは、デバイス1502から送信された記録済みのGPSデータおよびその他のデータの処理に少なくとも部分的に基づいた様々なタイプのリアルタイムフィードバックを含む。いくつかの実施形態において、デバイス1502は、新しいおよび/または更新された記録済みの情報をセグメントマッチングサーバ1508に連続的(例えば、定期的)に送信し、セグメントマッチングサーバ1508は、更新されたフィードバックデータをデバイス1502に連続的に戻しうる。いくつかの実施形態において、フィードバックデータは、ユーザの現行活動に関連する記録済みの情報が一致または近似すると判定された1または複数のセグメントを含む。いくつかの実施形態において、フィードバックデータは、現行活動でのユーザのパフォーマンスと、ユーザの現行活動が一致すると判定された1または複数のセグメントについて格納された(例えば、そのユーザまたは他のユーザの)履歴または同時のパフォーマンス情報との比較結果を含む。いくつかの実施形態において、フィードバックデータは、他のユーザが行う同時の活動に関連する通知および招待、ならびに/もしくは、ユーザの個人的な成果の指摘を含む。上記以外のタイプのフィードバックデータが、デバイス1502で受信されてもよい。いくつかの実施形態では、デバイス1502で受信されたデータ(例えば、フィードバックデータ)の少なくとも一部が、画像、テキスト、および/または、オーディオビジュアルを用いて、リアルタイムでユーザに提示される。例えば、デバイス1502のユーザインターフェースが、フィードバックデータからの比較結果を表示して、デバイス1502の音声出力が、比較結果の読み上げを出力することができる。   In some embodiments, prior to using the device 1502 during physical activity, the device 1502 parameters (or to determine how the device 1502 interacts with the segment matching server 1508 before or during physical activity) , A user account associated with the application of the device 1502 is set. The parameters of device 1502 (or the user's account associated with the application of device 1502) can be set by the user and / or by preset settings. In some embodiments, parameters associated with the device 1502 may be set to determine what data is received from the segment matching server 1508 at the device 1502 before the user begins physical activity. In some embodiments, the parameters can filter out data that is not of interest to the user or identify the type of data that is of interest to the user. For example, data obtained from the segment matching server 1508 prior to physical activity is stored locally on the device 1502 (eg, temporarily stored in a cache or otherwise) and recorded by the device 1502 during physical activity. Can be used to process the information. In some embodiments, parameters associated with device 1502 are set to determine when (eg, how often) and what type of data is exchanged with segment matching server 1508 during physical activity. May be. Parameters associated with the device and / or user may be set, for example, on device 1502 and / or set elsewhere and downloaded to device 1502. In some embodiments, a copy of the configured parameter is also sent to the segment matching server 1508 and maintained. For example, data transmitted from device 1502 during physical activity may include recorded GPS data and other data related to the user's current activity so far. Also, for example, data received from the segment matching server 1508 at the device 1502 includes various types of real-time feedback based at least in part on the processing of recorded GPS data and other data transmitted from the device 1502. In some embodiments, the device 1502 continuously (eg, periodically) sends new and / or updated recorded information to the segment matching server 1508, which updates the feedback. Data can be continuously returned to the device 1502. In some embodiments, the feedback data includes one or more segments determined to match or approximate recorded information related to the user's current activity. In some embodiments, feedback data is stored for one or more segments determined to match the user's performance in the current activity and the user's current activity (eg, for that user or other users). Includes comparison results with historical or concurrent performance information. In some embodiments, the feedback data includes notifications and invitations related to concurrent activities performed by other users and / or indications of the user's personal performance. Other types of feedback data may be received at device 1502. In some embodiments, at least some of the data (eg, feedback data) received at device 1502 is presented to the user in real time using images, text, and / or audiovisual. For example, the user interface of the device 1502 can display the comparison results from the feedback data, and the audio output of the device 1502 can output a reading of the comparison results.

様々な実施形態において、セグメントマッチングサーバ1508は、セグメントマッチングサーバ106の機能と、さらなる機能とを有する。いくつかの実施形態において、セグメントマッチングサーバ1508は、デバイス1502から受信したGPSデータが1または複数の定義されたセグメントと一致するか否かを判定するよう構成されている。例えば、セグメントマッチングサーバ1508は、それまでにデバイス1502から受信したGPSデータの少なくとも一部がセグメントの少なくとも一部を横切る(例えば、GPSデータが、現行活動中のユーザがセグメントに関連する指定済みのスタートラインを横切ったことを示唆する)という判定に基づいて、受信したGPSデータがセグメントに一致すると判定できる。いくつかの実施形態において、ユーザの現行活動について記録された位置情報がセグメントに一致すると判定された場合、そのユーザは、一致したセグメント上に存在する(すなわち、そのセグメントに沿って進んでいる)と推定される。いくつかの実施形態において、一致するセグメントが決定されると、セグメントマッチングサーバ1508は、ユーザの現行活動に基づいてデバイス1502から受信した現在のパフォーマンスデータとの比較に用いるために、一致したセグメントに関連する格納済みの履歴または同時パフォーマンスデータをリトリーブするよう構成されている。セグメントマッチングサーバ1508は、比較結果の少なくとも一部をフィードバックデータの一部としてデバイス1502に送信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ1508は、それまでのユーザの現行活動に関する受信データに一致する1または複数のセグメントに少なくとも部分的に基づいて、他のタイプのフィードバック(例えば、他のユーザの同時進行の活動に関連する通知および招待、および/または、ユーザデータについての個人的な成果の指摘)を生成するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ1508は、セグメントマッチングを実行する、および/または、ユーザに関連して設定されたパラメータに基づいて、そのユーザのためのフィードバックデータを生成するよう構成される。いくつかの実施形態において、セグメントマッチングサーバ1508は、時間と共に更新されてデバイス1502から受信されるGPSデータおよびその他の関連データに基づいて、生成されたフィードバックデータを更新するよう構成されている。   In various embodiments, the segment matching server 1508 has the functionality of the segment matching server 106 and additional functionality. In some embodiments, the segment matching server 1508 is configured to determine whether the GPS data received from the device 1502 matches one or more defined segments. For example, the segment matching server 1508 may ensure that at least a portion of the GPS data received from the device 1502 so far crosses at least a portion of the segment (eg, the GPS data is assigned to the currently active user associated with the segment). It can be determined that the received GPS data matches the segment based on the determination that it has crossed the start line). In some embodiments, if it is determined that the location information recorded for a user's current activity matches a segment, the user is on the matched segment (ie, is traveling along that segment). It is estimated to be. In some embodiments, once a matching segment is determined, the segment matching server 1508 can match the matched segment to be used for comparison with current performance data received from the device 1502 based on the user's current activity. Configured to retrieve related stored history or concurrent performance data. The segment matching server 1508 is configured to transmit at least part of the comparison result to the device 1502 as part of feedback data. In some embodiments, the segment matching server 1508 may use other types of feedback (eg, other users) based at least in part on one or more segments that match the received data regarding the current activity of previous users. Notifications and invitations related to concurrent activities and / or personal performance indications about user data). In some embodiments, the segment matching server 1508 is configured to perform segment matching and / or generate feedback data for the user based on parameters set in association with the user. . In some embodiments, the segment matching server 1508 is configured to update the generated feedback data based on GPS data and other related data that is updated over time and received from the device 1502.

図16は、いくつかの実施形態に従って、ユーザが活動を行う間にシステム1500を利用する様子を示す図である。例において、ユーザ1600は、サイクリング活動を行っている。ユーザ1600が、サイクリング中にシステム1500のデバイス1502を利用していると仮定する。その活動を開始する前に、ユーザ1600は、ユーザの関心に基づいて、リモートサーバにデータを送信してフィードバックデータを受信するか、または、活動中にデバイスでローカルにフィードバックを生成するか、セグメントとの一致、他のユーザ、比較のタイプなどに関するデバイス1502のパラメータをすでに設定している。ユーザ1600は、経路に沿ってサイクリングしている時に、自分がセグメントに沿って進んでいるか否か、そして、セグメントがユーザ1600のサイクリング経路に対してどこに位置しているかを知る必要はない。しかしながら、デバイス1502を用いれば、ユーザ1600は、ユーザ1600の活動中にデバイス1502にフィードバックを提示されうる。例えば、図に示すように、ユーザ1600は、ユーザ1600が現在どのセグメントを走っているのか(“Old La Honda”)、および、ユーザ1600が現在セグメントのどの場所にいるのか(「セグメント“Old La Honda”の25%に到達しました」)を示すフィードバックデータをデバイス1502で提示されうる。ユーザ1600は、活動中にフィードバックを開始することも問い合わせることも必要なしに、セグメントに沿って進む間、連続的(例えば、定期的および/または設定されたイベント時)に、更新されたフィードバックおよび他のタイプのフィードバックデータ(例えば、「今までの最低心拍数で”Old La Honda≡を走行しています!」)を受信することができる。ユーザ1600が身体活動中に受信するフィードバックは、時に、ユーザ1600がセグメントの残り部分で自分のパフォーマンスを変化させる動機付けまたはそのたの要因となりうる。例えば、ユーザ1600が、「”Old La Honda”のトップより3秒だけ前にいます」などのフィードバックを受信した場合、ユーザ1600の目標であるならば、速度を上げてセグメントのトップに追いつくまたは追い越すように動機づけられる。この例に示すように、ユーザの現行活動中にシステム1500を利用すれば、ユーザが活動の終了後にしか知り得なかったユーザのパフォーマンスに関する情報をリアルタイムにユーザに知らせる助けとなりうる。   FIG. 16 is a diagram illustrating use of system 1500 while a user performs an activity, according to some embodiments. In the example, user 1600 is performing a cycling activity. Assume that user 1600 is utilizing device 1502 of system 1500 during cycling. Prior to initiating the activity, the user 1600 may send data to the remote server and receive feedback data based on the user's interests, or generate feedback locally at the device during the activity, segment The parameters of the device 1502 regarding the match, other users, comparison type, etc. are already set. When the user 1600 is cycling along the path, the user 1600 does not need to know whether he is traveling along the segment and where the segment is located relative to the user's 1600 cycling path. However, with device 1502, user 1600 may be presented with feedback to device 1502 during user 1600 activity. For example, as shown in the figure, user 1600 may determine which segment user 1600 is currently running (“Old La Honda”) and where user 1600 is currently located (“segment“ Old La ” Feedback data indicating that “25% of Honda” has been reached ”) may be presented at device 1502. The user 1600 continuously updates (e.g., at regular and / or set events) updates and feedback while proceeding along the segment without having to initiate or query feedback during the activity. Other types of feedback data can be received (eg, “Running Old La Honda≡” with the lowest heart rate ever!). The feedback that the user 1600 receives during physical activity can sometimes be a motivating or other factor for the user 1600 to change his performance over the rest of the segment. For example, if user 1600 receives feedback such as “3 seconds before the top of“ Old La Honda ””, if the goal of user 1600 is to speed up to catch up with the top of the segment or Motivated to overtake. As shown in this example, utilizing the system 1500 during a user's current activity can help inform the user in real time about information about the user's performance that the user could only know after the activity ended.

図17は、いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図である。いくつかの実施形態において、セグメントマッチングサーバ1508は、図17の例を用いて実装される。例に示すように、セグメントマッチングサーバ1508は、上述のセグメントマッチングサーバ106と同じ構成要素をいくつか(セグメントデータベース202および定義エンジン206)備えており、さらに、設定パラメータデータベース1702、フィードバックエンジン1704、エフォート/現行活動データベース1703、および、マッチングエンジン1708など、さらなる構成要素を備える。   FIG. 17 is a diagram illustrating one embodiment of a segment matching server, according to some embodiments. In some embodiments, the segment matching server 1508 is implemented using the example of FIG. As shown in the example, the segment matching server 1508 includes some of the same components (segment database 202 and definition engine 206) as the segment matching server 106 described above, and further includes a configuration parameter database 1702, a feedback engine 1704, an effort. / Includes additional components such as a current activity database 1703 and a matching engine 1708.

いくつかの実施形態において、設定パラメータデータベース1702は、様々なデバイスおよび/またはユーザに関連する設定パラメータのセットを格納するよう構成されている。いくつかの実施形態では、データ(例えば、記録されたGPSデータおよび関連データ)がセグメントマッチングサーバ1508に送信される方法およびデータ(例えば、フィードバック)がセグメントマッチングサーバ1508から受信される方法に関する1セットのパラメータが、特定のユーザおよび/または特定のデバイスのためにユーザによって設定される。いくつかの実施形態において、パラメータのセットは、ユーザが設定したパラメータと、事前設定されたパラメータ(例えば、デバイス1502などのデバイスの製造業者によって決定されたパラメータ)とを含む。パラメータの例は、セグメントに関連するデータがデバイスにダウンロードされるか否か、そしていつダウンロードするか、特定のユーザが関心を持つセグメントに関連付けられた識別子、特定のユーザが自分自身のパフォーマンスと比較したいと思うパフォーマンスデータ(例えば、履歴または同時のパフォーマンスデータ)を有する他のユーザに関連付けられた識別子、現行活動に関連するユーザのパフォーマンスデータと、別のセットのパフォーマンスデータとの間の比較のタイプ;記録済みのGPSおよびその他のデータがデバイスから送信される頻度、デバイスから送信されるべき記録済みのGPSおよびその他のデータを送信するための1または複数のトリガ、デバイスのバッテリ寿命の節約に関する関心度、ユーザが関心を持つ個人的成果のタイプ、特定のユーザのパフォーマンスを1または複数のソーシャルメディア/ネットワークプラットフォームで共有するか否か、そしていつ共有するか、複数のユーザの間での同時性に関する時間の範囲(例えば、その定義は、身体活動を行っている少なくとも2人のユーザが互いに同時進行であると見なされる時間または距離の範囲を示す)、を含みうる。いくつかの実施形態では、1セットのパラメータが、その設定の対象となったユーザおよび/またはデバイスに関連付けられた識別子と共に格納される。   In some embodiments, the configuration parameter database 1702 is configured to store a set of configuration parameters associated with various devices and / or users. In some embodiments, a set of methods in which data (eg, recorded GPS data and related data) is transmitted to segment matching server 1508 and how data (eg, feedback) is received from segment matching server 1508. Are set by the user for a specific user and / or a specific device. In some embodiments, the set of parameters includes parameters set by the user and preset parameters (eg, parameters determined by a manufacturer of a device such as device 1502). Examples of parameters are whether and when data related to a segment is downloaded to the device, when it is downloaded, an identifier associated with the segment that a particular user is interested in, and a particular user compared to his own performance Identifiers associated with other users who have the performance data that they want to do (eg, historical or concurrent performance data), the type of comparison between the user's performance data related to the current activity and another set of performance data The frequency with which recorded GPS and other data is transmitted from the device, one or more triggers for transmitting recorded GPS and other data to be transmitted from the device, interest in conserving device battery life Once the user is interested The range of time related to the type of personal outcome, whether or not a particular user's performance is shared on one or more social media / network platforms, and when to share, simultaneity among multiple users (e.g. The definition may include a range of time or distance at which at least two users performing physical activity are considered concurrent with each other). In some embodiments, a set of parameters is stored with an identifier associated with the user and / or device for which the setting was made.

いくつかの実施形態において、エフォート/現行活動データベース1703は、エフォートデータベース204の機能と、さらなる機能とを有する。いくつかの実施形態において、エフォートデータベース204について上述したように記録済みのエフォートのデータを格納することに加えて、エフォート/現行活動データベース1703は、ユーザの現行活動(すなわち、進行中の活動)について記録されたGPSデータおよび関連データも格納する。様々な実施形態において、ユーザの現行活動について記録されたGPSデータおよび関連データは、ユーザが現行活動をさらに進めるにつれて経時的にユーザの現行活動について記録された新規および/または更新GPSデータおよび関連データで、更新および/または追加される。例えば、ユーザ「Barry」の現在のランニング活動中に、時間t0までに記録されたGPSデータおよび関連データが、セグメントマッチングサーバ1508に送信され、エフォート/現行活動データベース1703のエントリに格納されうる。次いで、Barryの現在のランニング活動についてその後の時間t1までに記録されたGPSデータおよび関連データ(すなわち、時間t0から時間t1までに記録されたデータのみ)が、セグメントマッチングサーバ1508に送信され、エフォート/現行活動データベース1703の対応するエントリに追加される。   In some embodiments, the effort / current activity database 1703 has the functionality of the effort database 204 and additional functionality. In some embodiments, in addition to storing the recorded effort data as described above for the effort database 204, the effort / current activity database 1703 is for the user's current activity (ie, ongoing activity). The recorded GPS data and related data are also stored. In various embodiments, the GPS data and related data recorded for the user's current activity is new and / or updated GPS data and related data recorded for the user's current activity over time as the user proceeds further with the current activity. And updated and / or added. For example, during the current running activity of user “Barry”, GPS data and related data recorded by time t 0 may be sent to segment matching server 1508 and stored in an entry in effort / current activity database 1703. Then, the GPS data and related data recorded by Barry's current running activity by time t1 thereafter (ie, only data recorded from time t0 to time t1) is sent to segment matching server 1508 for effort. / Added to the corresponding entry in the current activity database 1703.

様々な実施形態において、マッチングエンジン1708は、マッチングエンジン208の機能と、さらなる機能とを有する。いくつかの実施形態において、マッチングエンジン1708は、ユーザが身体活動を進めるにつれて経時的にデバイス1502などのデバイスで記録された新規または更新されたGPSデータおよびその他のデータを連続的(例えば、定期的および/または様々な設定済みのトリガイベント時)に受信するよう構成されている。いくつかの実施形態において、マッチングエンジン1708は、それまでにデバイスから受信したGPSデータを用いて、GPSデータが1または複数の定義されたセグメントの少なくとも一部を横切っているか否かを判定する。例えば、マッチングエンジン1708は、GPSデータにより、記録されたGPSデータの少なくとも一部が、セグメントに対して定義された仮想スタートラインと交差したことが示された場合に、現行活動について記録されたGPSデータがそのセグメントに一致する(すなわち、ユーザが、そのセグメントの経路上または非常に近くに存在する)と判定することができる。セグメントの仮想スタートラインを定義して、仮想スタートラインが横切られたか否かを判定することは、図12を参照して上述した技術を用いて実行することが可能であり、例えば、記録されたエフォートに関連付けられたGPS情報を用いる代わりに、それまでに現行活動について記録されたGPSデータを用いて、2つの連続したポイントが仮想スタートラインの異なる側にあるか否かを判定する。異なる側にあれば、現行活動は、セグメントの仮想スタートラインを横切ったと判定されるため、そのセグメントと一致すると判定される。セグメントがループを形成する別の実施形態では、ループセグメントの仮想スタートラインを定義する代わりに、現行活動について記録されたGPSデータを用いて、現行活動が(例えば、ループセグメントの少なくとも一部を少なくとも横切ったことにより)ループに入ったか否かを判定することができる。現行活動について記録されたGPSデータが、ループセグメントの少なくとも一部を横切ったと判定された場合、その現行活動は、ループセグメントに一致すると判定される。いくつかの実施形態において、1または複数のセグメントが、現行活動について記録されたGPSデータに一致すると判定されうる。いくつかの実施形態において、時間の経過と共に、現行活動について記録されたさらなる新規および/または更新GPSデータが受信されるので、マッチングエンジン1708は、新規および/または更新GPSデータを用いて、ユーザの現行活動に関連するGPSデータが、その現行活動に一致すると以前に判定されたセグメントにまだ一致しているか否か(すなわち、ユーザがまだ、そのセグメントに関連する経路上にいるか否か)を判定することができる。ユーザの現行活動がまだセグメントに一致していると判定された場合、マッチングエンジン1708は、ユーザがセグメントに沿ってどれだけ進んだかを決定できる。例えば、それまでに受信されたユーザの現行活動について記録されたGPSデータに基づいて、マッチングエンジン1708は、ユーザがセグメントの70%まで到達したと決定しうる。いくつかの実施形態において、マッチングエンジン1708は、現在活動を行っているユーザに関連する1セットの設定済みのパラメータ(設定パラメータデータベース1702からリトリーブされる)を用いて、マッチングしたいと思うセグメントとしてユーザが特定した1または複数のセグメントを決定するよう構成されている。次いで、マッチングエンジン1708は、データベース内のすべての利用可能な/定義済みのセグメントではなく、ユーザにとって関心のあるセグメントのみと、ユーザの現行活動のGPSデータをマッチングすることができる。いくつかの実施形態において、マッチングエンジン1708は、一致した1または複数のセグメントに関連付けられた識別子をフィードバックエンジン1704に送信するよう構成されている。 In various embodiments, the matching engine 1708 has the functionality of the matching engine 208 and additional functionality. In some embodiments, the matching engine 1708 may continuously (eg, periodically) record new or updated GPS data and other data recorded on a device, such as device 1502, over time as the user progresses with physical activity. And / or upon various configured trigger events). In some embodiments, the matching engine 1708 uses previously received GPS data from the device to determine whether the GPS data crosses at least a portion of one or more defined segments. For example, the matching engine 1708 may use the GPS data recorded for the current activity if the GPS data indicates that at least a portion of the recorded GPS data has crossed the virtual start line defined for the segment. It can be determined that the data matches the segment (ie, the user is on or very close to the segment's path). Defining a virtual start line for a segment and determining whether the virtual start line has been crossed can be performed using the technique described above with reference to FIG. 12, eg, recorded Instead of using the GPS information associated with the effort, the GPS data previously recorded for the current activity is used to determine whether two consecutive points are on different sides of the virtual start line. If it is on a different side, the current activity is determined to match the segment because it is determined to have crossed the virtual start line of the segment. In another embodiment where the segments form a loop, instead of defining a virtual start line for the loop segment, the GPS activity recorded for the current activity is used to determine that the current activity (e.g., at least part of the loop segment It can be determined whether or not a loop has been entered. If it is determined that the GPS data recorded for the current activity has crossed at least a portion of the loop segment, it is determined that the current activity matches the loop segment. In some embodiments, one or more segments can be determined to match the GPS data recorded for the current activity. In some embodiments, as new and / or updated GPS data recorded for current activity is received over time, the matching engine 1708 may use the new and / or updated GPS data to Determine whether the GPS data associated with the current activity still matches the segment previously determined to match that current activity (ie, whether the user is still on the path associated with that segment) can do. If it is determined that the user's current activity still matches the segment, the matching engine 1708 can determine how far the user has advanced along the segment. For example, based on GPS data recorded for the user's current activity received so far, the matching engine 1708 may determine that the user has reached 70% of the segment. In some embodiments, the matching engine 1708 uses a set of configured parameters associated with the currently active user (retrieved from the configuration parameter database 1702) as a segment that the user wishes to match. Is configured to determine the identified segment or segments. The matching engine 1708 can then match the GPS data of the user's current activity with only the segments that are of interest to the user, rather than all available / defined segments in the database. In some embodiments, the matching engine 17 08 is configured to send an identifier associated with the matched segment or segments to the feedback engine 1704.

フィードバックエンジン1704は、ユーザに関連付けられている1セットの設定済みパラメータと、ユーザの現行活動と一致した少なくとも1つのセグメントに関するデータとを用いて、ユーザが利用しているデバイスに送信するフィードバックデータのタイプを決定するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、ユーザの識別子に関連付けられている設定済みパラメータのセットを設定パラメータデータベース1702からリトリーブする。いくつかの実施形態において、フィードバックエンジン1704は、ユーザの現行活動と一致するセグメントに関連付けられた識別子をマッチングエンジン1708から受信する。いくつかの実施形態において、一致したセグメントに関連付けられている受信済みの識別子を用いて、フィードバックエンジン1704は、ユーザおよび/または同じセグメントに一致した他のユーザのエフォートに関する履歴データをエフォート/現行活動データベース1703からリトリーブするよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、セグメントに一致した他のユーザの現行活動に関して同時並行で得られたデータをエフォート/現行活動データベース1703からリトリーブするよう構成されている。例えば、他のユーザの現行活動のデータは、リトリーブされた設定済みパラメータのセット内の同時性の定義に基づいてユーザと同時性を持つと判定されうる。いくつかの実施形態において、フィードバックエンジン1704は、リトリーブした設定済みパラメータのセットを用いて、ユーザが、一致したセグメントに関するリトリーブされたデータの内の少なくともどのサブセットを、ユーザの現行活動の関連データ(パフォーマンスデータとも呼ぶ)と比較したいのかを決定する。例えば、ユーザの設定済みパラメータは、ユーザが、ユーザの現行活動に関連するユーザのパフォーマンスデータを、一致したセグメント上での自分の友達Carrie、Daniel、および、Ericの履歴または同時パフォーマンスデータと比較したいと思っていることを示唆しうる。いくつかの実施形態において、フィードバックエンジン1704は、リトリーブした設定済みパラメータのセットを用いて、リトリーブした履歴および/または同時データに対して、どのタイプの比較を行うのかを決定することができる。例えば、ユーザの設定済みパラメータは、ユーザが、自分自身のパフォーマンスデータと、友達Carrie、Daniel、および、Ericに関連するパフォーマンスデータとを含む順位表に関するフィードバックデータを受信したいと思っていることを示唆しうる。いくつかの実施形態において、フィードバックエンジン1704は、(リトリーブされた設定済みパラメータのセットで示唆されたように)ユーザが関心を持つセグメントおよび/または別のユーザを近くに検出したことに関する通知を送信するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、サードパーティが運営するソーシャルネットワークに通信して、ユーザが現行活動で達成したユーザの特定のパフォーマンスおよび/またはユーザの現行活動の更新された進捗レポートの表示をソーシャルネットワークのプラットフォームに投稿するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、上記のタイプ以外のフィードバックデータを提供するよう構成されてもよい。   The feedback engine 1704 uses a set of configured parameters associated with the user and data about at least one segment consistent with the user's current activity to provide feedback data to be transmitted to the device being utilized by the user. Configured to determine the type. In some embodiments, the feedback engine 1704 retrieves a set of configured parameters associated with the user's identifier from the configuration parameter database 1702. In some embodiments, the feedback engine 1704 receives an identifier associated with the segment that matches the user's current activity from the matching engine 1708. In some embodiments, using the received identifier associated with the matched segment, the feedback engine 1704 may provide historical data regarding the effort of the user and / or other users that matched the same segment to the effort / current activity. It is configured to retrieve from the database 1703. In some embodiments, the feedback engine 1704 is configured to retrieve from the effort / current activity database 1703 data obtained concurrently with respect to the current activity of other users that matched the segment. For example, other user's current activity data may be determined to be synchronized with the user based on the definition of simultaneity in the retrieved set of configured parameters. In some embodiments, the feedback engine 1704 uses the retrieved set of configured parameters to allow at least any subset of the retrieved data for the matched segment to be associated with the user's current activity related data ( Decide if you want to compare with performance data. For example, the user's configured parameters would allow the user to compare the user's performance data related to the user's current activity with his friends Carrie, Daniel, and Eric's history or concurrent performance data on the matched segment. It may suggest that you think. In some embodiments, the feedback engine 1704 can use the set of retrieved configured parameters to determine what type of comparison to perform on the retrieved history and / or concurrent data. For example, the user's pre-configured parameters indicate that the user wants to receive feedback data about the rank table that includes his own performance data and performance data related to friends Carrie, Daniel and Eric. Yes. In some embodiments, the feedback engine 1704 sends a notification that the user has detected a segment of interest and / or another user nearby (as suggested by the retrieved set of configured parameters). It is configured to In some embodiments, the feedback engine 1704 communicates with a third party operated social network to view the user's specific performance that the user has achieved in the current activity and / or an updated progress report of the user's current activity. It is configured to post the display to a social network platform. In some embodiments, the feedback engine 1704 may be configured to provide feedback data other than the types described above.

いくつかの実施形態において、デバイス1502は、セグメントデータベース202、定義エンジン206、エフォート/現行活動データベース1703、マッチングエンジン1708、設定パラメータデータベース1702、および、フィードバックエンジン1704の少なくとも一部もしくは等価の機能を備えてよく、それにより、デバイス1502は、ユーザの活動中にセグメントマッチングサーバ108と情報をやり取りする必要なしに、デバイス1502でリアルタイムなフィードバックを提供することができる。いくつかの実施形態において、デバイス1502は、ユーザが身体活動を行う前にセグメントマッチングサーバ1508からセグメントデータをプリフェッチしてローカルに格納する。そうすれば、活動の実行中に、プリフェッチ済みのデータに基づいて、フィードバックデータ(例えば、少なくとも一致したセグメントを含むデータ)が生成されうる。 In some embodiments, device 1502 comprises at least some or equivalent functionality of segment database 202, definition engine 206, effort / current activity database 1703, matching engine 1708, configuration parameter database 1702, and feedback engine 1704. The device 1502 may provide real-time feedback at the device 1502 without having to interact with the segment matching server 1 5 08 during user activity. In some embodiments, the device 1502 prefetches segment data from the segment matching server 1508 and stores it locally before the user performs physical activity. In doing so, feedback data (eg, data that includes at least the matched segments) may be generated based on the prefetched data during the execution of the activity.

図18は、いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムのフィードバックを提供するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1800は、システム1500で実施される。いくつかの実施形態において、処理1800は、システム1500のデバイス1502で実施される。   FIG. 18 is a flowchart illustrating one embodiment of a process for providing real-time feedback during current activity associated with a segment, according to some embodiments. In some embodiments, process 1800 is implemented in system 1500. In some embodiments, process 1800 is performed at device 1502 of system 1500.

工程1802では、ユーザの現行活動に関連するセグメントが、それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて決定される。いくつかの実施形態において、位置情報(例えば、GPSデータ)は、ユーザが活動を行っている間にユーザの現行活動(例えば、サイクリングまたはランニング)について記録される。いくつかの実施形態では、ユーザの現行活動の関連データも、ユーザが活動を行っている間に記録される。関連データ(例えば、速度、心拍数、仕事率/ワット、リズム)の少なくとも一部は、現行活動中のユーザパフォーマンスに関連する。経時的に、さらなるGPSデータおよび関連データが、ユーザの現行活動について記録される。ユーザの現行活動中の或る時点に、記録済みのGPSデータの少なくとも一部を用いて、ユーザの現行活動に関連するセグメントが決定される。いくつかの実施形態において、ユーザの現行活動に関連するセグメントは、ユーザの現行活動についてそれまでに記録された位置情報の少なくとも一部が一致するセグメントである。   In step 1802, a segment associated with the user's current activity is determined based at least in part on at least a portion of the location information recorded so far. In some embodiments, location information (eg, GPS data) is recorded for the user's current activity (eg, cycling or running) while the user is performing the activity. In some embodiments, relevant data of the user's current activity is also recorded while the user is performing the activity. At least some of the relevant data (eg, speed, heart rate, work rate / watt, rhythm) is related to user performance during the current activity. Over time, additional GPS data and related data are recorded for the user's current activity. At some point during the user's current activity, at least a portion of the recorded GPS data is used to determine a segment associated with the user's current activity. In some embodiments, the segment associated with the user's current activity is a segment that matches at least a portion of the location information previously recorded for the user's current activity.

工程1804では、セグメントでのユーザの現行活動に関連するリアルタイムのセグメントパフォーマンス情報が伝達される。いくつかの実施形態において、伝達されるパフォーマンス情報のタイプおよび方法は、ユーザおよび/または位置情報を生成したデバイスに関連する設定済みパラメータのセットに基づいて決定される。いくつかの実施形態において、(例えば、セグメントマッチングによって)セグメントが決定されると、そのセグメントに関連して格納されたデータがリトリーブされる。いくつかの実施形態において、リトリーブされたデータは、ユーザ(現行活動を行っているユーザと、その他のユーザとを含む)の関連セグメント(例えば、一致したセグメント)に関する履歴パフォーマンスデータと、現在セグメント上にいる他のユーザの関連セグメントに関する同時パフォーマンスデータとを含みうる。いくつかの実施形態において、それまでに決定済みセグメントでユーザの現行活動について記録されたパフォーマンスデータは、決定済みセグメントに関連するリトリーブ済みのデータの対応する部分と比較され、比較結果は、伝達されるパフォーマンス情報を含む。例えば、比較結果は、決定済みセグメントでのユーザの履歴パフォーマンスデータをそのセグメントでのユーザの現行活動のパフォーマンスデータと比較することによって生成されうる。いくつかの実施形態において、パフォーマンス情報は、セグメントに沿ったユーザの現在の進捗を含み、それまでに記録された位置情報と、セグメントに沿って地理的位置を特定するデータとに少なくとも部分的に基づいて決定される。いくつかの実施形態において、パフォーマンス情報は、記録された位置情報と、ユーザの現行活動の関連データとに基づいた、達成された個人的成果に関する指摘を含む。いくつかの実施形態において、決定済みのセグメントでのユーザの現行活動に関連するパフォーマンス情報(他の情報の代わりまたは追加で)が、(例えば、位置情報および関連データを生成したデバイスの)ユーザインターフェースの表示もしくは音声および/または映像出力を通して伝達されうる。   At step 1804, real-time segment performance information related to the user's current activity on the segment is communicated. In some embodiments, the type and method of performance information communicated is determined based on a set of configured parameters associated with the user and / or the device that generated the location information. In some embodiments, once a segment is determined (eg, by segment matching), the data stored in association with that segment is retrieved. In some embodiments, the retrieved data may include historical performance data for related segments (eg, matched segments) of users (including current active users and other users), and on current segments. And concurrent performance data for related segments of other users at the same time. In some embodiments, the performance data recorded for the user's current activity so far in the determined segment is compared with the corresponding portion of the retrieved data associated with the determined segment, and the comparison result is communicated. Performance information. For example, the comparison result may be generated by comparing the user's historical performance data at the determined segment with the performance data of the user's current activity at that segment. In some embodiments, the performance information includes the user's current progress along the segment, and is at least in part in location information recorded so far and data identifying a geographic location along the segment. To be determined. In some embodiments, the performance information includes indications regarding the achieved personal outcome based on the recorded location information and relevant data of the user's current activity. In some embodiments, performance information (instead of or in addition to other information) related to the user's current activity in the determined segment is the user interface (eg, of the device that generated the location information and related data). Or can be communicated through audio and / or video output.

いくつかの実施形態において、ユーザの現行活動の現在位置に近接/隣接したセグメントに関する情報も伝達される。いくつかの実施形態において、ユーザの現在位置に近接または隣接するセグメントは、ユーザの現行活動に一致しないがユーザの現在位置まで指定された距離の範囲内にあるセグメントを含む。例えば、ユーザは、ユーザの現在位置および/またはユーザが現在進んでいるセグメントに近い(例えば、半径10マイルの範囲内など、指定された距離の範囲内の)推奨セグメントに関心を持ちうる。近くのセグメントをユーザに知らせれば、ユーザが、存在を知らなかったセグメントまたは現在位置の近くに存在することを知らなかったセグメントを発見するのに役立ちうる。いくつかの実施形態では、1または複数の基準に合うセグメントのみが検出されてユーザに推奨されるように、ユーザに対して近くのセグメントの検出/通知/推奨を行うためのフィルタのパラメータが設定されうる。例えば、近くのセグメントの検出に関する基準は、以下の内の1または複数を含みうる。ユーザの現在位置まで特定の距離の範囲内にあるセグメント、ユーザが関心を持っていることを示唆したセグメント、ユーザが関心を持っていることを示唆したセグメントに(例えば、地理、距離、標高、および/または、その他の基準に基づいて)類似していると判定されたセグメント、ならびに/もしくは、1または複数の他のユーザの間で人気があると判定されたセグメント。いくつかの実施形態において、ユーザが現行活動を行うと現在位置が変化するため、近くのセグメントの検出は、ユーザの現行活動の間中、定期的および/またはその他のイベント時に実行されうる。例えば、ユーザが現行活動を進めていくと、新しいおよび/または異なる地理的領域に入る場合があり、そこで、異なるセットの近くのセグメントが検出されてユーザに推奨されうる。いくつかの実施形態において、ユーザの現行活動中に各イベントが起きた時に、設定済みの基準およびユーザの更新された現在位置に基づいて、近くのセグメントの決定がなされうるように、かかるイベントが設定されうる。例えば、イベントは、以前の決定から10分間の経過、または、以前の決定から5マイルの距離の進行であってよい。   In some embodiments, information about segments close / adjacent to the current location of the user's current activity is also communicated. In some embodiments, segments that are close to or adjacent to the user's current location include segments that do not match the user's current activity but are within a specified distance to the user's current location. For example, the user may be interested in recommended segments that are close to the user's current location and / or the segment the user is currently traveling (eg, within a specified distance, such as within a 10 mile radius). Informing the user of nearby segments can help the user find a segment that did not know about the presence or that did not know about the current location. In some embodiments, a filter parameter is set to detect / notify / recommend nearby segments for the user so that only segments that meet one or more criteria are detected and recommended to the user. Can be done. For example, criteria for detection of nearby segments may include one or more of the following. For segments that are within a certain distance to the user ’s current location, that suggests that the user is interested, or that suggest that the user is interested (for example, geography, distance, elevation, Segments determined to be similar (based on and / or other criteria) and / or segments determined to be popular among one or more other users. In some embodiments, detection of nearby segments may be performed periodically and / or during other events throughout the user's current activity because the current location changes as the user performs the current activity. For example, as a user proceeds with current activity, they may enter new and / or different geographic regions, where different sets of nearby segments can be detected and recommended to the user. In some embodiments, such events are determined so that as each event occurs during the user's current activity, a determination of nearby segments can be made based on the established criteria and the user's updated current location. Can be set. For example, an event may be a 10 minute progress from a previous decision, or a progression of 5 miles from a previous decision.

図19は、いくつかの実施形態に従って、デバイスで記録された情報をリモートのセグメントマッチングサーバに送信することに関するパラメータを設定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1900は、システム1900で実施される。いくつかの実施形態において、処理1900は、処理1800の実行前に実施される。   FIG. 19 is a flow diagram illustrating one embodiment of a process for setting parameters related to sending information recorded at a device to a remote segment matching server, according to some embodiments. In some embodiments, process 1900 is implemented in system 1900. In some embodiments, process 1900 is performed prior to execution of process 1800.

処理1900は、サーバがデータを受信して解析を実行できるように、記録済みのGPSデータおよび関連データ(例えば、パフォーマンスデータ)が、記録されているデバイスから、セグメントマッチングサーバ(セグメントマッチングサーバ1508など)に送信される時に関連するパラメータを設定するために利用されうる。いくつかの実施形態において、処理1900の選択は、デバイス1502などのデバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、処理1900によって設定されたパラメータは、格納されてユーザの活動中に利用されうる。いくつかの実施形態において、データ送信のためのパラメータは、例に示したものより多くても少なくてもよい。いくつかの実施形態において、設定されたパラメータに基づいて、デバイスが記録済みデータをセグメントマッチングサーバに送信する頻度は、ユーザの現行活動を通して動的でありうる。いくつかの実施形態において、データ送信のために設定されたパラメータが、より高い頻度のデータ送信を定義した場合、サーバから返されるデータ解析結果(すなわち、フィードバックデータ)は、より高頻度/詳細になりうるが、デバイスの電力消費が増大する。しかしながら、データの送信頻度を低くすると、サーバからのフィードバックデータの頻度は低くなるが、デバイスの電力消費は小さくなる。   The process 1900 may include a segment matching server (such as a segment matching server 1508) from which recorded GPS data and related data (eg, performance data) are recorded so that the server can receive the data and perform analysis. ) Can be used to set relevant parameters. In some embodiments, the selection of process 1900 may be entered by a user at a user interface associated with a device, such as device 1502. In some embodiments, the parameters set by the process 1900 can be stored and utilized during user activities. In some embodiments, the parameters for data transmission may be more or less than those shown in the examples. In some embodiments, based on configured parameters, the frequency with which the device sends recorded data to the segment matching server can be dynamic through the user's current activity. In some embodiments, if the parameters set for data transmission define higher frequency data transmission, the data analysis results returned from the server (ie, feedback data) are more frequently / detailed. This can increase the power consumption of the device. However, if the data transmission frequency is lowered, the frequency of feedback data from the server is lowered, but the power consumption of the device is reduced.

工程1902では、データの送信をトリガするイベントが設定されるか否かが決定される。トリガイベントが設定される場合、制御は工程1904に進む。そうれなければ、制御は工程1906に進む。工程1904では、1または複数のトリガイベントの定義が受信される。例えば、ユーザが休憩している、および/または、ユーザの現行活動に関して異常なことが起きていることを示しうるユーザの現行活動の中断に、1つのトリガイベントが関連付けられうる。   In step 1902, it is determined whether an event that triggers transmission of data is set. If a trigger event is set, control proceeds to step 1904. Otherwise, control proceeds to step 1906. At step 1904, one or more trigger event definitions are received. For example, a trigger event may be associated with an interruption of the user's current activity that may indicate that the user is resting and / or that something unusual is happening with the user's current activity.

工程1906では、データの送信が定期的に行われるか否かが決定される。データが定期的に送信される場合、制御は工程1908に進む。そうれなければ、制御は工程1910に進む。工程1908では、期間定義が受信される。例えば、期間は、データが10秒ごとにサーバに送信されるように設定されうる。   In step 1906, it is determined whether data transmission is performed periodically. If the data is sent periodically, control proceeds to step 1908. Otherwise, control proceeds to step 1910. At step 1908, a period definition is received. For example, the time period can be set so that data is sent to the server every 10 seconds.

工程1910では、データの送信が、デバイスのバッテリ寿命の節約に関する関心度に依存するか否かが決定される。データの送信が、バッテリ寿命の節約に関する関心度に依存する場合、制御は工程1912に進む。そうれなければ、制御は工程1914に進む。工程1912では、バッテリ寿命節約に関連する1または複数の定義が受信される。例えば、デバイスのバッテリ寿命の節約に対するいくつかのレベルの関心度(例えば、バッテリ寿命の節約を強く望むレベルからバッテリ寿命の節約への関心が低いレベルまで)が、記録済みのデータをサーバに送信する頻度についての対応する設定と共に定義されうる。したがって、例えば、バッテリ寿命の節約への強い関心度は、比較的低い頻度でデータをサーバに送信することに関連付けられ、バッテリ寿命の節約への低い関心度は、比較的高い頻度でデータをサーバに送信することに関連付けられる。   In step 1910, it is determined whether the transmission of data depends on the interest in saving battery life of the device. If the transmission of data depends on the interest in saving battery life, control proceeds to step 1912. Otherwise, control proceeds to step 1914. At step 1912, one or more definitions associated with battery life saving are received. For example, some level of interest in device battery life savings (eg, from a level that strongly desires battery life savings to a level that is less interested in battery life savings) sends recorded data to the server Can be defined along with corresponding settings for the frequency to do. Thus, for example, a strong interest in saving battery life is associated with sending data to the server relatively infrequently, and a low interest in saving battery life is servering data with a relatively high frequency. Associated with sending to.

工程1914では、他のルールが設定されるか否かが決定される。他のルールが設定される場合、制御は工程1916に進む。そうでなければ、処理1900は終了する。例えば、工程1902、1906、および、1910に記載された例以外のルールが定義されうる。   In step 1914, it is determined whether other rules are set. If other rules are set, control proceeds to step 1916. Otherwise, process 1900 ends. For example, rules other than the examples described in steps 1902, 1906, and 1910 can be defined.

図20は、いくつかの実施形態に従って、セグメントデータをサーバからプリフェッチして、デバイスでリアルタイムのフィードバックを生成するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2000は、システム1500で実施される。   FIG. 20 is a flowchart illustrating one embodiment of a process for prefetching segment data from a server and generating real-time feedback at a device according to some embodiments. In some embodiments, process 2000 is implemented in system 1500.

処理2000を用いれば、ユーザの身体活動の開始前にセグメントマッチングサーバ(セグメントマッチングサーバ1508など)からどのデータをプリフェッチするのかを決定し、後になってユーザの身体活動中にデバイスでローカルにリアルタイムのフィードバックを生成できるように、かかるデータをデバイスに格納することができる。いくつかの実施形態において、処理2000は、活動のGPSデータが決定されうるように、ユーザの身体活動中にネットワーク接続の利用を必要とするが、セグメントマッチングサーバからプリフェッチしたデータを用いて、フィードバックデータを生成するための解析をローカルで実行できるため、リモートのセグメントマッチングサーバに記録済みのGPSデータおよびその他のデータを繰り返し送信する必要はない。いくつかの実施形態において、処理2000は、リモートのセグメントマッチングサーバと頻繁に通信する必要のある処理よりも、バッテリ寿命の消費が遅く、フィードバックデータを早く提供しうる。   Using process 2000, it is determined what data to prefetch from a segment matching server (such as segment matching server 1508) before the start of the user's physical activity, and later in real time locally on the device during the user's physical activity. Such data can be stored on the device so that feedback can be generated. In some embodiments, the process 2000 requires the use of a network connection during a user's physical activity so that GPS data for the activity can be determined, but feedback using data prefetched from a segment matching server. Since analysis for generating data can be performed locally, there is no need to repeatedly transmit recorded GPS data and other data to a remote segment matching server. In some embodiments, process 2000 may consume battery life slower and provide feedback data faster than processes that need to communicate frequently with remote segment matching servers.

工程2002では、任意選択的に、セグメントに関連する1または複数の選択が受信される。いくつかの実施形態において、かかる選択は、デバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、工程2002は、ユーザが身体活動を行う前に(また、おそらくは、ユーザが身体活動を始める準備の時に)ユーザがマッチングしたいと思うセグメントのみを選択する機会をユーザに与える。したがって、工程2002において受信されたセグメントに関する選択を用いて、データが格納されている全セグメントではなく、上記のようなセグメントのみを含むデータを決定することができる。   In step 2002, optionally, one or more selections associated with the segment are received. In some embodiments, such selection may be entered by a user at a user interface associated with the device. In some embodiments, step 2002 gives the user an opportunity to select only the segments that the user wants to match before the user performs physical activity (and possibly when the user is ready to begin physical activity). . Accordingly, the selection for the segment received in step 2002 can be used to determine data that includes only such segments, rather than all the segments in which the data is stored.

いくつかの実施形態において、かかる1または複数の選択は、ユーザにとって関心のあるセグメントにも関連してよく、かかるセグメントは、ユーザが身体活動中にセグメントの近く(例えば、半径10マイル以内など、指定された距離の範囲内)にいる場合に検出される。例えば、ユーザは、ユーザにとって関心のあるセグメントに関連するセグメントデータを選択して、セグメントマッチングサーバからプリフェッチすることが可能であり、そうすれば、ユーザは、身体活動中、かかるセグメントの近くにいる時に通知される。例えば、後に、ユーザが身体活動を行っている時に、セグメントマッチングサーバからデバイスにロードされたプリフェッチ済みのデータは、ユーザの現行活動がセグメントに一致しているか否か、および/または、ユーザの現在位置の近くにセグメントがあるか否かを(例えば、定期的および/またはユーザがXマイル進むごとに)判定するために利用されうる。   In some embodiments, such one or more selections may also be related to segments of interest to the user, such segments being close to the segment during physical activity by the user (eg, within a 10 mile radius, etc.) Detected when in the specified distance range. For example, the user can select segment data related to the segment of interest to the user and prefetch from the segment matching server so that the user is close to such segment during physical activity Be notified at times. For example, later, when the user is performing physical activity, the prefetched data loaded into the device from the segment matching server may indicate whether the user's current activity matches the segment and / or the user's current It can be utilized to determine if there is a segment near the location (eg, periodically and / or every time the user travels X miles).

工程2004では、セグメントに関するデータが、1または複数の選択に少なくとも部分的に基づいてサーバから取得される。いくつかの実施形態において、選択によって特定されたセグメントに関するデータは、セグメントに一致すると判定されたエフォートの履歴パフォーマンスデータ、および、セグメントの各々を規定する地理情報(例えば、タイルまたはMBRのセット)の一方または両方を含む。   At step 2004, data regarding the segment is obtained from the server based at least in part on the one or more selections. In some embodiments, the data regarding the segment identified by the selection includes effort historical performance data determined to match the segment, and geographic information (eg, a set of tiles or MBRs) that defines each of the segments. Including one or both.

いくつかの実施形態において、1または複数の選択によって特定されたセグメント以外のセグメントに関するさらなるセグメントデータが取得されてもよい。例えば、選択されたセグメントに類似すると判定されたセグメントに関するデータが取得されてもよい。   In some embodiments, additional segment data regarding segments other than those identified by one or more selections may be obtained. For example, data regarding a segment determined to be similar to the selected segment may be acquired.

工程2006では、取得されたデータがローカルに格納される。ユーザの身体活動の開始前に取得されたデータは、デバイスの一時記憶装置または永続記憶装置のいずれかに格納されてよく、そうすれば、後にユーザの身体活動中に利用できるため、ユーザが現在身体活動を行っている間に、一致するセグメントおよび/またはユーザに近い任意のセグメントを決定するために、リモートのセグメントマッチングサーバが必要にならない。   In step 2006, the acquired data is stored locally. Data acquired prior to the start of the user's physical activity may be stored in either the device's temporary storage or permanent storage, so that the user can A remote segment matching server is not required to determine matching segments and / or any segments close to the user while performing physical activity.

工程2008では、ユーザの現行活動に関連する位置情報およびパフォーマンス情報が、格納済みのデータと比較される。例えば、それまでにユーザの現行活動について記録されたGPSデータの少なくとも一部を用いて、ユーザ活動の開始前にセグメントマッチングサーバからプリフェッチされたデータを含むデータがローカルに格納されているセグメントをマッチングすることができる。また、例えば、ユーザの現行活動に一致したセグメントに一致すると判定されたエフォートの履歴パフォーマンスデータを用いて、それまでのユーザの現行活動について記録されたパフォーマンスデータと比較することができる。いくつかの実施形態において、ユーザの現行活動に関する位置情報およびパフォーマンス情報ならびにローカルに格納された情報を用いて、他の判定がなされてもよい。例えば、ローカルに格納されたデータを用いて、ユーザの現在位置に近接/隣接したセグメントが存在するか否かを判定することができる。   In step 2008, location information and performance information related to the user's current activity is compared to the stored data. For example, using at least a portion of the GPS data previously recorded for the user's current activity to match a segment where data is stored locally, including data prefetched from the segment matching server prior to the start of the user activity can do. Alternatively, for example, effort historical performance data determined to match a segment that matches the user's current activity can be used to compare with performance data recorded for the user's current activity so far. In some embodiments, other determinations may be made using location and performance information regarding the user's current activity and locally stored information. For example, using locally stored data, it can be determined whether there is a segment that is close / adjacent to the current location of the user.

図21は、いくつかの実施形態に従って、ユーザの現行活動のパフォーマンスデータとの比較のために取得されるデータへのフィルタに関するパラメータを設定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2100は、システム1500において実施される。   FIG. 21 is a flowchart illustrating one embodiment of a process for setting parameters relating to a filter on data obtained for comparison with performance data of a user's current activity, according to some embodiments. In some embodiments, process 2100 is implemented in system 1500.

処理2100は、ユーザが関心を持つデータ(例えば、ユーザの現行活動中にセグメントマッチングサーバ1508などのセグメントマッチングサーバから取得される)のタイプを特定するパラメータを設定するために利用されうる。なお、パラメータは、ユーザにとって関心のないデータをフィルタアウトするために利用できる。いくつかの実施形態において、処理2100の選択および定義は、例えば、デバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、処理2100は、潜在的にマッチングしたい、または、現行活動中に近くにあるか否かを検出したいと、ユーザが実際に思うセグメントのサブセット(例えば、ユーザは多くのセグメントを含む地理的領域を横切りうるため、セグメントの多くに関心を示さないため)、他のユーザに関連するパフォーマンスデータのサブセット(例えば、ユーザは、友達である特定の他のユーザとのみパフォーマンスの比較を行いたいと思う場合があるため)、および、少なくとも2人のユーザの間の同時性の範囲に関するユーザ所望の定義(例えば、ユーザは、自分のパフォーマンスデータを「同時の」ユーザと比較したいと思い、時間的または空間的に近いと思うユーザのみを含むように同時性の範囲を定義して、そのようなユーザのパフォーマンスデータが同じセグメントの同時ユーザとして比較されうるよう望むため)を特定するために利用される。例に示したようなフィルタとして機能しうるパラメータを設定することにより、大量のデータ(そのほとんどは、デバイスを利用するユーザにとって潜在的に望まれていない)をデバイスでリトリーブすることなしに、焦点を絞った効率的な方法でセグメントマッチングサーバからデータをリトリーブすることができる。   Process 2100 may be utilized to set a parameter that identifies the type of data that the user is interested in (eg, obtained from a segment matching server such as segment matching server 1508 during the user's current activity). Parameters can be used to filter out data that is not of interest to the user. In some embodiments, the selection and definition of process 2100 may be entered by a user, for example, at a user interface associated with the device. In some embodiments, the process 2100 may be a subset of the segments that the user actually wants to match or potentially detect whether they are nearby during the current activity (eg, the user has many segments A subset of performance data related to other users (eg, a user only compares performance with certain other users who are friends) And the user's desired definition of the range of concurrency between at least two users (eg, a user wants to compare his performance data with a “simultaneous” user) Define the scope of simultaneity to include only those users who think that they are close in time or space. Such user performance data is used to identify the desire for) as may be compared as a simultaneous users in the same segment. By setting parameters that can act as a filter as shown in the example, a large amount of data (most of which is potentially undesired for the user using the device) can be focused without retrieving it on the device. It is possible to retrieve data from the segment matching server in an efficient manner that narrows down.

工程2102では、マッチングすべき、または、近くにあるか否かを検出すべき1または複数のセグメントに関する1または複数の選択がリトリーブされる。いくつかの実施形態において、セグメントに関する選択は、セグメントの名称(例えば、「Old La Honda」)に対応する識別子であってもよいし、1または複数のセグメントの特性(例えば、距離=30+マイル、難関度=中、セグメント内の傾斜の最大数=5)を記述してもよい。次いで、選択は、選択内に含まれる記述に対応する1または複数のセグメントを検索するために利用されてよく、見つかったセグメントは、ユーザの現行活動の記録済みのGPSデータと比較され、ユーザの現行活動が、見つかったセグメントの内の任意の1または複数のセグメントと一致するか否か、または、近くにあるか否かが判定される。換言すると、選択の対応するセグメントのみを用いて、それらの内のいずれかが、ユーザの現行活動が行われているセグメントであるか否か、および/または、ユーザの現在位置に近いか否かを判定する。   In step 2102, one or more selections for one or more segments to be matched or detected to be close are retrieved. In some embodiments, the selection for a segment may be an identifier corresponding to the name of the segment (eg, “Old La Honda”) or a characteristic of one or more segments (eg, distance = 30 + miles, The difficulty level = medium and the maximum number of slopes in the segment = 5) may be described. The selection may then be utilized to search for one or more segments corresponding to the description contained within the selection, and the found segment is compared to the recorded GPS data of the user's current activity and the user's It is determined whether the current activity matches or is close to any one or more of the found segments. In other words, using only the corresponding segment of the selection and whether any of them is the segment where the user's current activity is taking place and / or is close to the user's current location Determine.

工程2104では、検出対象の1または複数の他のユーザに関する1または複数の選択がリトリーブされる。いくつかの実施形態において、他のユーザに関する選択は、ユーザの現行活動が一致したセグメントでの他のユーザのパフォーマンスデータの内、ユーザが同じセグメントでの自分のパフォーマンスデータと潜在的に比較したいと思うのはどのデータであるのかを判定するために利用される。例えば、ユーザBarryは、自分のパフォーマンスデータを友達のデータとのみ比較したいと思うかもしれない。いくつかの実施形態において、他のユーザに関する選択は、ユーザが活動を行っている時にどの他のユーザを検出したいのかを決定する。例えば、ユーザBarryは、友達のCarrie(Carieもデバイス1502などのデバイスを用いる)も近く(例えば、Barryがサイクリングしていない時にBarryと同じセグメントまたは近くのセグメント)で身体活動を行っているという通知をいつ受信するのかを設定することができる。いくつかの実施形態において、検出対象の他のユーザに関する選択は、他のユーザに関連付けられた識別子、例えば、セグメントマッチングサーバのユーザのアカウントに関連付けられたユーザの実際の名前またはニックネーム、を含む。いくつかの実施形態において、検出対象の他のユーザに関する選択は、1または複数の身体的特徴、例えば、年齢の範囲、性別、および、関連する経験レベル、を含む。例えば、ユーザBarryは、自分と似た身体的特徴を持つユーザ(ユーザとすでに友達であってもなくてもよい)を、身体活動を行っていない時に検出したいと思いうる。そうすれば、Barryの活動中にそのようなユーザとパフォーマンスデータの比較が行われるため、Barryは、類似した個人とのパフォーマンスの対比を知ることができる。   In step 2104, one or more selections for one or more other users to be detected are retrieved. In some embodiments, the choice for other users may be that the user potentially compares the performance data of other users in the segment with which the user's current activity is consistent with his performance data in the same segment. It is used to determine what data is what you think. For example, user Barry may want to compare his performance data only with his friend's data. In some embodiments, the selection for other users determines which other users you want to detect when the user is active. For example, a notification that user Barry is doing physical activity in the vicinity of his friend Carrie (Carrie also uses a device such as device 1502) or nearby (eg, the same segment as Barry when Barry is not cycling or a nearby segment) You can set when to receive In some embodiments, the selection for other users to be detected includes an identifier associated with the other user, eg, the user's actual name or nickname associated with the user's account of the segment matching server. In some embodiments, the selection for other users to be detected includes one or more physical characteristics, such as age range, gender, and associated experience level. For example, the user Barry may want to detect a user having physical characteristics similar to that of the user (who may or may not be friends with the user) when he / she is not performing physical activity. Then, since the performance data is compared with such users during Barry's activities, Barry can know the performance contrast with similar individuals.

工程2106では、少なくとも2人のユーザの間の同時性の範囲の定義が受信される。いくつかの実施形態において、同時性の範囲の定義は、その範囲内にある2以上のユーザを同時であると分類するための時間または距離の範囲であってよい。例えば、2人のユーザが、同じセグメントに沿ってサイクリングしていたとしても、異なる時間に出発した場合があり、結果として、各々が所与の時間にセグメントの別の地点にいることになる。しかしながら、ユーザは、2人のユーザが、同時にセグメントをスタートしなかった場合、および/または、並んでサイクリングしていない場合でも、同じセグメントにいる別のユーザを自分と同時であると見なしたい場合がある。したがって、例えば、ユーザは、同時性の範囲を、2人のユーザの間の距離10マイルまで、または、2人のユーザの間のスタート時間の差2分まで、と定義できる。このように、ユーザは、現在同じセグメントに存在するがユーザの1分前にセグメントの仮想スタートラインを横切った別のユーザに関するフィードバックデータを潜在的に受信できる。こうして、ユーザは、他の同時のユーザの知識を受信すると、その同時のユーザに追いつくまたは追い越すよう動機づけられうる。   At step 2106, a definition of a range of concurrency between at least two users is received. In some embodiments, the definition of a simultaneity range may be a range of time or distance for classifying two or more users within that range as simultaneous. For example, even if two users are cycling along the same segment, they may depart at different times, resulting in each being at a different point in the segment at a given time. However, the user wants to consider another user in the same segment to be concurrent with him, even if the two users have not started the segment at the same time and / or are not cycling side by side There is a case. Thus, for example, a user can define a range of simultaneity up to a distance of 10 miles between two users or a start time difference between two users of up to 2 minutes. In this way, a user can potentially receive feedback data regarding another user who is currently in the same segment but crossed the segment's virtual start line one minute before the user. Thus, when a user receives the knowledge of another concurrent user, the user can be motivated to catch up or overtake that concurrent user.

図22は、いくつかの実施形態に従って、ユーザの現行活動にセグメントをマッチングさせるための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2200は、デバイス1502において実施される。   FIG. 22 is a flowchart illustrating one embodiment of a process for matching a segment to a user's current activity in accordance with some embodiments. In some embodiments, process 2200 is implemented at device 1502.

処理2200は、ユーザの現行活動中にユーザがセグメントに一致した場合(すなわち、ユーザがセグメント上で活動を行っている場合)を決定するための技術の一例である。   Process 2200 is an example of a technique for determining when the user matches a segment during the user's current activity (ie, when the user is active on the segment).

工程2202では、ユーザの現行活動に関する位置情報が記録される。いくつかの実施形態において、位置情報は、GPSデータを含む。いくつかの実施形態において、ユーザの現行活動の位置情報は、ユーザによって、または、情報を記録するデバイス1502などのデバイスのデフォルト設定によって設定された頻度で記録される。いくつかの実施形態において、記録された位置情報は、リモートセグメントマッチングサーバ1508などのリモートセグメントマッチングサーバに送信される。   In step 2202, location information regarding the user's current activity is recorded. In some embodiments, the location information includes GPS data. In some embodiments, the location information of the user's current activity is recorded at a frequency set by the user or by default settings of a device such as the device 1502 that records the information. In some embodiments, the recorded location information is transmitted to a remote segment matching server, such as remote segment matching server 1508.

工程2204では、セグメントの仮想スタートラインが横切られたか否かが判定される。いくつかの実施形態では、ユーザの現行活動中にそれまでに記録された位置情報の少なくとも一部を用いて、活動の地理的経路が格納済みのセグメントに対して定義された仮想スタートラインを横切ったか否かを判定する。例えば、仮想スタートラインが横切られたか否かの判定は、図12で説明した技術に基づいてなされうる。いくつかの実施形態において、工程2204の判定は、セグメントマッチングサーバでなされる。いくつかの実施形態において、工程2204の判定は、セグメントデータ(例えば、セグメントおよびそれらの仮想スタートラインを定義するデータのセット)がデバイスにローカルに格納されている場合、そのデバイスでなされる。仮想スタートラインが横切られたと判定された場合、制御は工程2206に進む。仮想スタートラインがまだ横切られていないと判定された場合、制御は工程2202に戻り、ユーザの現行活動に関するさらなる位置情報が、経時的に記録される。   In step 2204, it is determined whether the virtual start line of the segment has been crossed. In some embodiments, at least a portion of the location information recorded so far during the user's current activity is used to cross the virtual start line where the geographical path of the activity is defined for the stored segment. It is determined whether or not. For example, whether or not the virtual start line has been crossed can be determined based on the technique described in FIG. In some embodiments, the determination of step 2204 is made at a segment matching server. In some embodiments, the determination of step 2204 is made at the device if segment data (eg, a set of data defining the segments and their virtual start lines) is stored locally on the device. If it is determined that the virtual start line has been crossed, control proceeds to step 2206. If it is determined that the virtual start line has not yet been crossed, control returns to step 2202, and additional location information regarding the user's current activity is recorded over time.

工程2206では、横切られたスタートラインに関連するセグメントが、ユーザの現行活動に一致すると決定される。いくつかの実施形態では、ユーザの現行活動の位置情報が横切ったと判定された仮想スタートラインに関連するセグメントについて、ユーザが、そのセグメントに存在すると仮定される。いくつかの実施形態において、セグメントに一致すると判定されたエフォートに関連する履歴パフォーマンスデータおよび/またはセグメントに一致すると判定された他のユーザの現行活動の同時パフォーマンスデータが、セグメントマッチングサーバからリトリーブされるか、または、かかるデータのコピーがデバイスでローカルに入手可能である場合にはローカルでリトリーブされる。リトリーブされたデータは、例えば、ユーザの現行パフォーマンスデータと、一致したセグメントでのユーザの履歴パフォーマンスデータとの比較結果、ならびに、ユーザの現行パフォーマンスデータと、一致したセグメントでの他のユーザの履歴および/または同時パフォーマンスデータとの比較結果など、ユーザのための1または複数のタイプのフィードバックデータを提供するために利用されうる。   In step 2206, it is determined that the segment associated with the crossed start line matches the user's current activity. In some embodiments, for a segment associated with a virtual start line that is determined to have crossed location information of the user's current activity, it is assumed that the user is in that segment. In some embodiments, historical performance data associated with effort determined to match the segment and / or concurrent performance data of current activity of other users determined to match the segment are retrieved from the segment matching server. Or if a copy of such data is available locally on the device, it is retrieved locally. The retrieved data includes, for example, the results of comparing the user's current performance data with the user's historical performance data in the matched segment, as well as the user's current performance data and other user's history in the matched segment and It may be utilized to provide one or more types of feedback data for the user, such as a comparison result with simultaneous performance data.

いくつかの実施形態において、格納されたセグメントがループを形成し、それに対して定義された仮想スタートラインを持たない場合、ユーザの現行活動がかかるループセグメントに一致するか否かを判定する際には、工程2204も工程2206も実行されなくてよい。代わりに、いくつかの実施形態では、ユーザの現行活動について記録された位置情報がループセグメントの少なくとも一部を横切った(これは、ユーザがループに入ったことを示しうる)場合に、ユーザの現行活動がループセグメントに一致すると判定される。   In some embodiments, when the stored segment forms a loop and does not have a virtual start line defined for it, in determining whether the user's current activity matches such a loop segment Neither step 2204 nor step 2206 may be performed. Instead, in some embodiments, if location information recorded for the user's current activity crosses at least a portion of the loop segment (which may indicate that the user has entered the loop). It is determined that the current activity matches the loop segment.

図23は、いくつかの実施形態に従って、セグメントに沿ったユーザの進捗を決定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2300は、システム1500において実施される。いくつかの実施形態において、処理1800は、処理2300を用いて実施される。   FIG. 23 is a flowchart illustrating one embodiment of a process for determining a user's progress along a segment in accordance with some embodiments. In some embodiments, process 2300 is implemented in system 1500. In some embodiments, process 1800 is performed using process 2300.

処理2300は、ユーザの現行活動がセグメントに一致する(すなわち、セグメント上で行われている)と(処理2200などの処理で)判定された後に利用されうる。処理2300は、経時的に(例えば、定期的に)、ユーザの現行活動が、一致したセグメント上で継続されているか否かを判定し、そうである場合に、ユーザがセグメントに沿ってどれだけ進んだかを決定するために利用できる。いくつかの実施形態では、ユーザがまだ、一致したセグメント上を進んでいると判定された場合に、その判定に少なくとも部分的に基づいてフィードバックデータが提供される。   Process 2300 may be utilized after it is determined (in a process such as process 2200) that the user's current activity matches the segment (ie, is being performed on the segment). The process 2300 determines, over time (eg, periodically), whether the user's current activity is continuing on the matched segment, and if so, how long the user is along the segment Can be used to determine if it has advanced. In some embodiments, if it is determined that the user is still traveling on the matched segment, feedback data is provided based at least in part on the determination.

工程2302では、ユーザの現行活動に関連するセグメントが決定される。いくつかの実施形態において、セグメントは、処理2200などの処理を用いてユーザの現行活動についてそれまでに記録された位置情報の少なくとも一部に一致するセグメントとして決定される。   At step 2302, a segment associated with the user's current activity is determined. In some embodiments, the segment is determined as a segment that matches at least a portion of the location information previously recorded for the user's current activity using a process, such as process 2200.

工程2304では、ユーザがまだセグメント上にいるか否かが判定される。いくつかの実施形態において、工程2304は、一致したセグメントが決定された後の或る時に実行される。いくつかの実施形態では、工程2304では、ユーザの現行活動についてそれまでに記録された位置情報を、一致したセグメントを定義するデータ(例えば、MBRのセット)と比較して、ユーザの現行活動がまだセグメントに沿って進んでいるのか、セグメントから逸脱したのかを判定する。例えば、一致したセグメントが、格納されたMBRのセットとして表される場合、ユーザの現行活動についてそれまでに記録された位置情報も、MBRのセットに変換されうる。次いで、ユーザの現行活動についてそれまでに記録された位置情報に関連するMBRが、格納されたセグメントに関連する1セットのMBRの少なくとも一部とほとんど重複する場合に、ユーザの現行活動がまだセグメント上にあると判定される。いくつかの実施形態において、工程2304の判定は、セグメントマッチングサーバ1508などのリモートセグメントマッチングサーバで実行されるか、もしくは、セグメントデータがデバイス1502などのデバイスにローカルに格納されている場合にそのデバイスで実行される。ユーザがもはやセグメント上にいないと判定された場合、処理2300は終了する。ユーザがまだセグメント上にいると判定された場合、制御は工程2306に進む。   In step 2304, it is determined whether the user is still on the segment. In some embodiments, step 2304 is performed at some time after a matched segment is determined. In some embodiments, step 2304 compares the location information recorded so far for the user's current activity with data defining a matched segment (eg, a set of MBRs) to determine if the user's current activity is It is determined whether it is still moving along the segment or has deviated from the segment. For example, if the matched segment is represented as a set of stored MBRs, the location information recorded so far for the user's current activity can also be converted to a set of MBRs. Then, if the MBR associated with the previously recorded location information for the user's current activity almost overlaps at least a portion of the set of MBRs associated with the stored segment, the user's current activity is still a segment Determined to be on top. In some embodiments, the determination of step 2304 is performed at a remote segment matching server, such as segment matching server 1508, or the device when segment data is stored locally on a device, such as device 1502. Is executed. If it is determined that the user is no longer on the segment, process 2300 ends. If it is determined that the user is still on the segment, control proceeds to step 2306.

工程2306では、セグメントに沿った現在の進捗が、それまでのユーザの現行活動に関連する位置情報に少なくとも部分的に基づいて決定される。例えば、ユーザの現行活動についてそれまでに記録された位置情報から変換されたMBRと重複する格納済みセグメントに関連する1セットのMBRの割合を決定することが可能であり、この割合をセグメントに沿ったユーザの現在の進捗として決定できる。   At step 2306, the current progress along the segment is determined based at least in part on location information related to the user's current activity so far. For example, it is possible to determine the percentage of a set of MBRs associated with a stored segment that overlaps with the transformed MBR from the previously recorded location information for the user's current activity, and this percentage can be Can be determined as the user's current progress.

工程2308では、現在の進捗に少なくとも部分的に基づいたセグメントでのユーザの現行活動に関連するリアルタイムのセグメントパフォーマンス情報が伝達される。いくつかの実施形態では、工程2308は、任意選択的に実行される。いくつかの実施形態において、セグメントにおけるユーザの決定された現在の進捗に少なくとも部分的に基づいて決定されたパフォーマンス情報のフィードバックデータが伝達される。例えば、設定されたパラメータを用いて、どのような場合に、現在の進捗がユーザに伝達されるのが望ましいのかを決定できる。一例としては、ユーザがセグメントの中間地点にいる時であり、その時に、いくつかのパフォーマンス情報(例えば、パフォーマンスデータの比較に基づいて決定されたもの)が、ユーザに伝達される。例えば、かかるフィードバックデータのユーザへの伝達は、「Old La Hondaの中間地点を過ぎました。自己最高記録のペースを11秒上回っています」という表示および/または音声出力としてデバイスでなされうる。   In step 2308, real-time segment performance information related to the user's current activity on the segment based at least in part on the current progress is communicated. In some embodiments, step 2308 is optionally performed. In some embodiments, feedback data of performance information determined based at least in part on the user's determined current progress in the segment is communicated. For example, the set parameters can be used to determine when it is desirable to communicate the current progress to the user. One example is when the user is at an intermediate point in the segment, at which time some performance information (eg, determined based on a comparison of performance data) is communicated to the user. For example, the transmission of such feedback data to the user may be done on the device as an indication and / or audio output, “Old La Honda has passed the midpoint. It has exceeded the record pace of 11 seconds”.

図24は、いくつかの実施形態に従って、ユーザの現行活動に関するリアルタイムのパフォーマンス情報を伝達するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2400は、システム1500において実行される。いくつかの実施形態において、処理1800の工程1804は、処理2400を用いて実施される。   FIG. 24 is a flowchart illustrating one embodiment of a process for communicating real-time performance information regarding a user's current activity in accordance with some embodiments. In some embodiments, process 2400 is performed in system 1500. In some embodiments, step 1804 of process 1800 is performed using process 2400.

処理2400は、ユーザの現行活動中にユーザに提供されるリアルタイムフィードバックのタイプを決定する一例として利用されうる。   Process 2400 may be utilized as an example of determining the type of real-time feedback provided to the user during the user's current activity.

工程2402では、ユーザの現行活動に一致すると判定されたセグメントに関するデータがリトリーブされる。いくつかの実施形態では、(例えば、ユーザの現行活動についてそれまでに記録された位置情報に基づいて)、ユーザの現行活動がセグメントに一致することがすでに判定されている。いくつかの実施形態において、セグメントに一致すると判定されたエフォートに関連する履歴パフォーマンスデータおよび/またはセグメントに一致すると判定された他のユーザの現行活動の同時パフォーマンスデータが、セグメントマッチングサーバ1508などのリモートセグメントマッチングサーバからリトリーブされる。   In step 2402, data relating to segments determined to match the user's current activity is retrieved. In some embodiments, it has already been determined that the user's current activity matches the segment (eg, based on location information previously recorded for the user's current activity). In some embodiments, historical performance data associated with an effort determined to match a segment and / or concurrent performance data of other users' current activity determined to match the segment may be remote from a segment matching server 1508, etc. Retrieved from the segment matching server.

工程2404では、それまでのユーザの現行活動に関するパフォーマンスデータが、リトリーブされたデータと比較される。いくつかの実施形態において、ユーザの現行活動についてデバイス(デバイス1502など)によって記録された関連データのパフォーマンスデータ部分が、リトリーブされたデータと比較される。様々なタイプのデータ比較が実行されうる。いくつかの実施形態では、行われる比較のタイプは、リトリーブされた設定済みパラメータのセットによって指定される。例えば、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同じセグメントでのユーザ自身の履歴パフォーマンスデータ(例えば、そのユーザの以前に一致したエフォートに由来するもの)と比較されうる。また、例えば、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同じセグメントでの他のユーザの履歴パフォーマンスデータ(例えば、他のユーザの以前に一致したエフォートに由来するもの)と比較されうる。別の例では、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同時に同じセグメントにいる他のユーザのパフォーマンスデータと比較されうる。   In step 2404, performance data regarding the current activity of the previous user is compared with the retrieved data. In some embodiments, the performance data portion of the relevant data recorded by the device (such as device 1502) for the user's current activity is compared to the retrieved data. Various types of data comparisons can be performed. In some embodiments, the type of comparison to be performed is specified by a set of retrieved configured parameters. For example, performance data regarding a user's current activity in a segment can be compared to the user's own historical performance data in the same segment (eg, derived from the user's previously matched effort). Also, for example, performance data relating to a user's current activity in a segment can be compared to other users 'historical performance data in the same segment (eg, derived from other users' previously matched effort). In another example, performance data regarding a user's current activity in a segment can be compared with performance data of other users in the same segment at the same time.

工程2406では、比較に少なくとも部分的に基づいて決定された結果が提示される。例えば、比較結果は、画像、テキスト、映像、および、音声の内の1または複数を用いてデバイスのユーザインターフェースでユーザに提供されうる。   At step 2406, results determined based at least in part on the comparison are presented. For example, the comparison results can be provided to the user at the user interface of the device using one or more of images, text, video, and audio.

ユーザがまだ活動を行っている時、または、ユーザが活動を終えた直後に、デバイス1502などのデバイスで決定および提示されうるリアルタイムフィードバックデータのいくつかの例を以下に示す。   Below are some examples of real-time feedback data that can be determined and presented on a device, such as device 1502, when the user is still active or just after the user has completed the activity.

それまでのセグメントでのユーザの現行活動に関する記録済みのパフォーマンスデータに基づいてユーザの将来のパフォーマンスを推定することに基づいて決定されたフィードバックデータの例は以下を含む。   Examples of feedback data determined based on estimating a user's future performance based on recorded performance data regarding the user's current activity in previous segments include:

「80Paradise Loopルートに入って34マイルです。現在のペースでは、2時間15分後、4:30pmにゴールします」 “It ’s 34 miles on the 80 Paradise Loop route. At the current pace, we ’ll reach 4:30 pm in 2 hours and 15 minutes.”

「Paradise Loopルートのおよそ半分です。あなたの全平均ペースでは、45分でゴールします」 “It's about half of the Paradise Loop route. At your full average pace, you will finish in 45 minutes.”

「Paradise Loopルートのおよそ半分です。現在の平均ペースでは、35分でゴールします」 “It's about half of the Paradise Loop route. At the current average pace, we will finish in 35 minutes.”

「Paradise Loopルートのおよそ半分です。平均的なライダーでは、45分でゴールです」 “About half of the Paradise Loop route. For average riders, the goal is 45 minutes.”

セグメントでのユーザの現行活動に関するパフォーマンスデータを、同じセグメントでのそのユーザの履歴パフォーマンスデータと比較することに基づいて決定されたフィードバックデータの例は以下を含む。   Examples of feedback data determined based on comparing performance data regarding a user's current activity in a segment with the user's historical performance data in the same segment include:

「Old La Hondaでの自己最高記録を22秒更新しました」 “Old La Honda has updated his record for 22 seconds”

「Old La Hondaで3位の自己記録が出ました。1ヶ月前の自己最高記録と13秒の差です」 “Old La Honda has a third-place self-record. It ’s a difference of 13 seconds from the highest one month ago.”

「現在Old La Hondaの中間地点です。自己最高記録のペースを11秒上回っています」 “Currently the middle point of Old La Honda. I ’m 11 seconds faster than my best record.”

「現在Old La Hondaの中間地点です。自己最高記録のペースを7秒下回っています」 “Currently the middle point of Old La Honda. It is 7 seconds below the record pace of my personal record.”

セグメントでのユーザの現行活動に関するパフォーマンスデータを、同じセグメントでの他のユーザの履歴または同時パフォーマンスデータと比較することに基づいて決定されたフィードバックデータの例は以下を含む。   Examples of feedback data determined based on comparing performance data regarding a user's current activity in a segment with other users' historical or concurrent performance data in the same segment include:

「Old La Hondaの最高記録を更新しました。Mark Shawの以前の記録を22秒上回りました」。この例では、Mark Shawに関連するデータは、履歴であり、Old La Hondaでのユーザの現行活動と同時進行のデータではない。 “Old La Honda's best record has been updated. The previous record of Mark Shaw was 22 seconds higher.” In this example, the data related to Mark Shaw is history, not data that is concurrent with the user's current activity at Old La Honda.

「Old La Hondaで28位になりました。27位のAaron Fosterと15秒の差です」。図25は、いくつかの実施形態に従って、「Marincello Trail」セグメントで完了したエフォートに関する順位表(Leaderboard)を表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンデバイスのアプリケーションに関連する。スクリーンショットに示すように、セグメントを完了した様々なユーザ(Christian Hobbs、Aaron Foster、Mark Shaw、Jane Mitchell、および、Rich Adams)が、それぞれのセグメント完了タイムに基づいて順位表に順位付けされている。この例では、セグメントでの活動を完了したばかりの現行ユーザMark Shawは、順位表の27位に位置するAaron Fosterの次に順位付けされる。 “I was 28th in Old La Honda. It was 15 seconds away from 27th place Aaron Foster.” FIG. 25 is a diagram illustrating a screenshot of a user interface displaying a leaderboard for effort completed in the “Marincello Trail” segment, according to some embodiments. The screenshot in this example is related to the smartphone device application. As shown in the screenshot, the various users who completed the segments (Christian Hobbs, Aaron Foster, Mark Shaw, Jane Mitchell, and Rich Adams) are ranked in the ranking table based on their segment completion times. . In this example, the current user Mark Shaw who has just completed the activity in the segment is ranked next to Aaron Foster, which is located in position 27 of the ranking table.

「現在の順位:1位Mark S.、2位Chris D.、3位John D. あなたは現在17位で、トップとの差は4分30秒です」。この例に示すように、(ユーザが身体活動を完了した後に、ユーザだけの順位表を決定するのではなく)、ユーザがまだ身体活動を行っている間に、ユーザおよびユーザと同じセグメント上のその他の同時ユーザとについて、順位表が決定されうる。 “Current ranking: 1st place Mark S. 2nd place Chris D. 3rd place John D. You are currently in 17th place and the difference from the top is 4:30”. As shown in this example, the user and the user are on the same segment as the user while still performing physical activity (rather than determining the user's standings after the user has completed physical activity) A ranking table can be determined for other concurrent users.

「現在、Mark Shawのタイムを13秒上回り、300メートル先にいます」。この例では、Mark Shawもユーザの現行活動と同じセグメントで活動を行っているため、Mark Shawに関するデータは同時データである。 “Currently, Mark Shaw's time is 13 seconds, 300 meters away.” In this example, since Mark Shaw is also active in the same segment as the user's current activity, the data related to Mark Shaw is simultaneous data.

「現在、Mark Shawのタイムを13秒下回り、300メートル後ろにいます」 “Currently, Mark Shaw time is 13 seconds below and 300 meters behind.”

「Markは、Alpine Dam登山道を終えたところです。2人ともAlpine Dam Mt. Tam Loopを歩き続ければ、現在のペースでは30分で追いつきます」 “Mark has just finished the Alpine Dam trail. If both continue walking on the Alpine Dam Mt. Tam Loop, they will catch up with the current pace in 30 minutes.”

「Paradise Loopルートに、2人のライダーが前にいます。30秒前方にMark S.、45秒前方にChris D.。1人のライダーが後ろにいます。5分後方にPan T.」 “There are two riders in front of the Paradise Loop route. Mark S. ahead of 30 seconds, Chris D. ahead of 45 seconds. One rider is behind. Pan T. 5 minutes behind.”

ユーザの現行活動に関連する位置情報データを、格納されたセグメントデータと比較することに基づいて検出された近くのセグメント(例えば、ユーザは現在そこにいないが近くにいるセグメント)を含むフィードバックデータの例は以下を含む。   Of feedback data including nearby segments detected based on comparing location information data related to the user's current activity with stored segment data (eg, segments where the user is not currently there but nearby) Examples include:

「Mark Shawは5.0マイル離れています。彼は、Paradise Loopルートのおよそ半分に到達しそうです。今日、彼はすでに16マイル進んでいます」 “Mark Shaw is 5.0 miles away. He is likely to reach about half of the Paradise Loop route. Today he is already 16 miles ahead.”

「距離1.5マイル、標高差1500フィートの新しいカテゴリ2の登山道を発見しました。この登山道を保存して名前をつけますか?」 “I discovered a new Category 2 trail with a distance of 1.5 miles and an altitude difference of 1500 feet. Would you like to save and name this trail?”

図26は、いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)のリストを表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンのアプリケーションに関連する。例に示すように、近くのセグメントのリストに含まれる各エントリは、セグメントの物理的特徴のいくつかと共にリストされている。 FIG. 26 shows a screenshot of a user interface that displays a list of detected segments (“climbs”) located near the user's current activity, according to some embodiments. The screenshot in this example is related to a smartphone application. As shown in the example, each entry included in the list of nearby segments is listed along with some of the physical characteristics of the segment.

図27は、いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)の地図(map)を表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンのアプリケーションに関連する。例において、紫色のピンは、検出された各セグメントが始まる場所を示す。   FIG. 27 is a diagram illustrating a screen shot of a user interface displaying a map of detected segments (“climbs”) located near a user's current activity, according to some embodiments. is there. The screenshot in this example is related to a smartphone application. In the example, the purple pin indicates where each detected segment begins.

検出された近くの他のユーザに通知を送信することを含むフィードバックデータの例は以下を含む。   Examples of feedback data including sending notifications to other detected nearby users include:

「Mark Shawは1.0マイル離れています。彼はAlpine Dam登山道を終えたところです。2人ともAlpine Dam Mt. Tam Loopを歩き続ければ、現在のペースでは30分で追いつきます。彼に待つように通知を送りますか?」 “Mark Shaw is 1.0 mile away. He has just finished the Alpine Dam trail. If both keep walking on Alpine Dam Mt. Tam Loop, they will catch up in 30 minutes at the current pace. Do you want to send a notification to wait? "

近くのユーザと出会うことに関する指摘を含むフィードバックデータの例は以下を含む。   Examples of feedback data including indications about meeting nearby users include:

「Mark S.とChris D.が、Paradise Loopルートの出発地点から10分進んだ所で待っています」 “Mark S. and Chris D. are waiting for 10 minutes from the departure point of the Paradise Loop route.”

「お気に入りのライディンググループのライダーが、現在のセグメントで、およそ5分後方にいます」 “Riders from your favorite riding group are about 5 minutes behind in the current segment.”

検出された近くの他のユーザに挑戦状を送信することを含むフィードバックデータの例は以下を含む。   Examples of feedback data including sending a challenge to other detected nearby users include:

「Mark S.は1.0マイル離れています。Old La Hondaで勝負をする旨の挑戦状を送りますか?彼の自己最高記録は、あなたを22秒上回っています。グッドラック!」 “Mark S. is 1.0 mile away. Do you send a challenge to win the game at Old La Honda? His personal record is 22 seconds above you. Good luck!”

ユーザの個人的成果の指摘を含むフィードバックデータの例は以下を含む。   Examples of feedback data that include indications of the user's personal performance include:

「今週、100マイルを達成しました。おめでとうございます!」 “We have achieved 100 miles this week. Congratulations!”

「今月、200マイルを達成しました。おめでとうございます!」 “We have achieved 200 miles this month. Congratulations!”

いくつかの実施形態では、ユーザまたはデバイスに対して設定されたパラメータにより、ユーザに提供されたどのフィードバックデータを1または複数のソーシャルネットワーク(例えば、Facebook)で共有するのかが決定されうる。例えば、ユーザが身体活動を開始する前に設定されたパラメータにより、ユーザの身体活動中、ユーザが現在、セグメントの順位表の1位であった場合に、その記事をユーザのFacebookのウォールに投稿するように指示することができる。例えば、サードパーティのサーバ(Facebookプラットフォームをサポートするサーバなど)と通信するために、セグメントマッチングサーバ1508などのセグメントマッチングサーバは、適切なAPIおよび認証情報を用いてFacebookサーバと通信することができる。記事がソーシャルネットワークで共有されると、ソーシャルネットワークの友達またはその他のユーザが、その記事に関する選択を行いうる(すなわち、ユーザに仮想の賞賛を与えることができる)。そして、例えば、ソーシャルネットワークでの他のユーザの選択をユーザに知らせるために、その選択は、ユーザのデバイスに送信されてよい。   In some embodiments, parameters set for the user or device may determine which feedback data provided to the user is shared with one or more social networks (eg, Facebook). For example, if the user is currently number 1 in the segment ranking table during the user's physical activity due to parameters set before the user started physical activity, post the article on the user's Facebook wall Can be instructed to do. For example, to communicate with a third-party server (such as a server that supports the Facebook platform), a segment matching server, such as segment matching server 1508, can communicate with the Facebook server using appropriate APIs and authentication information. Once an article is shared on a social network, social network friends or other users may make choices about the article (ie, give users virtual praise). And, for example, the selection may be sent to the user's device to inform the user of the selection of the other user on the social network.

いくつかの実施形態において、ユーザに対して設定されるパラメータは、他のユーザがユーザの現行活動のリアルタイムの進捗を見ることができるか否かを決定してもよく、そうである場合に、どの他のユーザに閲覧を許可するのかを決定しうる。例えば、セグメントマッチングサーバおよび/またはサードパーティのサーバ(ソーシャルネットワークをサポートするサーバなど)に関連するウェブサイトで、ユーザの現行活動の視覚的表現が提示されてよく、その視覚的表現は、活動が一致したセグメントに沿ってユーザが進むにつれて更新されうる。視覚的表現は、地図に沿ったマーカ、および/または、セグメントでのユーザのパフォーマンスデータに関する他のデータを含みうる。例えば、身体活動を開始する前に、ユーザは、活動中の一致セグメントに沿った自分のリアルタイムの進捗を共有したいこと、そして、誰がその進捗を閲覧できるのかを示すために、パラメータを設定できる。例えば、ユーザは、特定の他のユーザ(例えば、ソーシャルネットワークのユーザの友達)だけに活動中の自分の進捗を閲覧する許可を与えてもよいし、任意の他のユーザが自分の進捗を閲覧することを許可するように選択してもよい。いくつかの実施形態において、セグメントに沿ったユーザのリアルタイムの進捗を閲覧する許可を有する他のユーザは、ユーザの活動がまだ続いている間に、デバイス(例えば、携帯型デバイスまたはデスクトップコンピュータ)を用いて適切なウェブサイト(例えば、セグメントマッチングサーバおよび/またはソーシャルネットワークに関連するウェブサイト)にアクセスすることによって、進捗を閲覧することができる。いくつかの実施形態において、閲覧しているユーザは、ユーザのリアルタイムの進捗に関する選択を行うこともできる(すなわち、仮想の賞賛をユーザに与える)。そして、例えば、ウェブサイトでの他のユーザの選択をユーザに知らせるために、その選択は、ユーザのデバイスに送信されてよい。   In some embodiments, the parameters set for a user may determine whether other users can see the real-time progress of the user's current activity, and if so, It may be determined which other users are allowed to view. For example, a website associated with a segment matching server and / or a third party server (such as a server that supports social networks) may be presented with a visual representation of the user's current activity, It can be updated as the user progresses along the matched segment. The visual representation may include markers along the map and / or other data regarding user performance data in the segment. For example, before initiating physical activity, the user can set parameters to indicate that he wants to share his real-time progress along the active matching segment and who can view the progress. For example, a user may give permission to only certain other users (eg, social network user friends) to view their progress in action, or any other user to view their progress You may choose to allow that. In some embodiments, other users who have permission to view the user's real-time progress along the segment can connect the device (eg, portable device or desktop computer) while the user's activity is still ongoing. The progress can be viewed by using to access an appropriate website (eg, a website associated with a segment matching server and / or social network). In some embodiments, the viewing user may also make selections regarding the user's real-time progress (ie, give the user a virtual praise). And, for example, the selection may be sent to the user's device to inform the user of the selection of another user on the website.

上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例1:リアルタイムのセグメントパフォーマンス情報を提供する方法であって、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定し、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達すること、
を備える、方法。
適用例2:適用例1に記載の方法であって、前記ユーザの現行活動に関連する前記セグメントの決定は、前記ユーザの現行活動が前記セグメントに一致するか否かを判定することを含む、方法。
適用例3:適用例2に記載の方法であって、前記ユーザの現行活動が前記セグメントに一致するか否か判定は、前記それまでに記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている仮想スタートラインを交差しているか否かを判定することを含む、方法。
適用例4:適用例2に記載の方法であって、前記ユーザの現行活動が前記セグメントに一致するか否かの判定は、前記それまでに記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている部分を交差しているか否かを判定することを含む、方法。
適用例5:適用例1に記載の方法であって、前記位置情報は、全地球測位システム(GPS)のポイントと、各GPSポイントにおける関連のタイムスタンプとを含む、方法。
適用例6:適用例1に記載の方法であって、さらに、デバイスによるデータの送信に関するユーザ設定可能な選択を受信することであって、1または複数のトリガイベント定義を受信すること、期間定義を受信すること、バッテリ寿命の節約に関する1または複数の定義を受信することの内の1または複数を含む、方法。
適用例7:適用例1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、方法。
適用例8:適用例1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、方法。
適用例9:適用例1に記載の方法であって、前記セグメントは、潜在的にマッチングされるセグメントのユーザ選択に関連する、方法。
適用例10:適用例1に記載の方法であって、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得することを備え、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記位置情報の前記少なくとも一部、および前記ユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、方法。
適用例11:適用例1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、方法。
適用例12:適用例1に記載の方法であって、前記格納された履歴パフォーマンスデータは、前記ユーザおよび別のユーザの一方または両方に関するデータを含む、方法。
適用例13:適用例1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、方法。
適用例14:適用例1に記載の方法であって、さらに、前記ユーザの現行活動に関する前記パフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信することを備える、方法。
適用例15:適用例1に記載の方法であって、さらに、同時性の範囲に関するユーザ設定可能な選択を受信し、
前記範囲内のユーザ活動のパフォーマンスデータは互いに比較される、方法。
適用例16:適用例1に記載の方法であって、さらに、サードパーティが運営するソーシャルネットワークに前記パフォーマンス情報の少なくとも一部を送信することを備える、方法。
適用例17:適用例1に記載の方法であって、さらに、前記パフォーマンス情報の前記送信された一部に少なくとも部分的に基づいて、前記サードパーティが運営するソーシャルネットワークから応答を受信することを備える、方法。
適用例18:適用例1に記載の方法であって、さらに、前記セグメントでの前記ユーザの現行活動に関する現在の進捗を決定することを備える、方法。
適用例19:適用例1に記載の方法であって、さらに、別のセグメントが前記ユーザの現行活動の現在位置の近くに存在するか否かを判定することを備える、方法。
適用例20:リアルタイムのセグメントパフォーマンス情報を提供するためのシステムであって、
プロセッサであって、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定し、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するよう構成されているプロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。
適用例21:適用例20に記載のシステムであって、前記ユーザの現行活動に関連する前記セグメントの決定は、前記ユーザの現行活動が前記セグメントに一致するか否かを判定することを含む、システム。
適用例22:適用例20に記載のシステムであって、前記プロセッサは、さらに、デバイスによるデータの送信に関するユーザ設定可能な選択を受信することであって、1または複数のトリガイベント定義を受信すること、期間定義を受信すること、バッテリ寿命の節約に関する1または複数の定義を受信することの内の1または複数を含む、デバイスによるデータの送信に関するユーザ設定可能な選択を受信するように構成されている、システム。
適用例23:適用例20に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、システム。
適用例24:適用例20に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、システム。
適用例25:適用例20に記載のシステムであって、前記プロセッサは、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得するように構成されており、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記位置情報の前記少なくとも一部、および前記ユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、システム。
適用例26:適用例20に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、システム。
適用例27:適用例20に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、システム。
適用例28:適用例20に記載のシステムであって、前記プロセッサは、さらに、前記ユーザの現行活動に関する前記パフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信するように構成されている、システム。
適用例29:適用例20に記載のシステムであって、前記プロセッサは、さらに、同時性の範囲に関するユーザ設定可能な選択を受信するように構成されており、
前記範囲内のユーザ活動のパフォーマンスデータは互いに比較される、システム。
適用例30:リアルタイムのセグメントパフォーマンス情報を提供するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定するためのコンピュータ命令と、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
Although the embodiments described above have been described in some detail for ease of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not intended to be limiting.
Application Example 1: A method for providing real-time segment performance information,
Determining a segment related to the user's current activity based at least in part on at least a portion of the location information recorded so far;
Communicating real-time segment performance information regarding the current activity of the user in the segment;
A method comprising:
Application Example 2: The method of Application Example 1, wherein the determination of the segment associated with the user's current activity includes determining whether the user's current activity matches the segment. Method.
Application example 3: The method according to application example 2, wherein whether or not the current activity of the user matches the segment is determined based on whether at least a part of the position information recorded so far is included in the segment. Determining whether the associated virtual start line is crossed.
Application Example 4: The method according to Application Example 2, wherein whether or not the current activity of the user matches the segment is determined by determining whether at least a part of the position information recorded so far is the segment Determining whether or not the portion associated with is intersected.
Application Example 5: The method according to Application Example 1, wherein the position information includes a Global Positioning System (GPS) point and an associated time stamp at each GPS point.
Application Example 6: The method as described in Application Example 1, further comprising receiving a user configurable selection regarding the transmission of data by the device, receiving one or more trigger event definitions, and a period definition , Receiving one or more definitions relating to battery life saving.
Application Example 7: The method of Application Example 1, wherein the transmission of the real-time segment performance information is based at least in part on feedback data transmitted to the device.
Application Example 8: The method of Application Example 1, wherein the transmission of the real-time segment performance information is based at least in part on feedback data generated at a device.
Application Example 9: The method of Application Example 1, wherein the segment is associated with a user selection of potentially matched segments.
Application Example 10: The method described in Application Example 1, further comprising:
Obtaining data about one or more potentially matched segments in the device,
The acquired segment data is stored locally on the device, and the at least part of the location information and other data relating to the current activity of the user are compared with the data stored locally at the device. The way.
Application Example 11: The method of Application Example 1, wherein the performance information is between the performance data relating to the user's current activity in the segment and stored historical performance data associated with the segment. A method that includes a comparison result.
Application example 12: The method of application example 1, wherein the stored historical performance data includes data relating to one or both of the user and another user.
Application example 13: The method of application example 1, wherein the performance information is stored simultaneously with the performance data relating to the current activity of the user in the segment and the current activity of other users in the segment. A method that includes the results of comparisons with performance data.
Application example 14: The method of application example 1, further receiving a user-configurable selection for one or more other users having performance data compared to the performance data for the user's current activity. A method comprising:
Application Example 15: The method described in Application Example 1, further receiving a user configurable selection regarding the range of simultaneity,
A method wherein performance data of user activities within the range are compared to each other.
Application Example 16: The method according to Application Example 1, further comprising transmitting at least part of the performance information to a social network operated by a third party.
Application Example 17: The method of Application Example 1, further comprising receiving a response from a social network operated by the third party based at least in part on the transmitted portion of the performance information. A method of providing.
Application Example 18: The method of Application Example 1, further comprising determining current progress regarding the current activity of the user in the segment.
Application example 19: The method of application example 1, further comprising determining whether another segment exists near the current location of the user's current activity.
Application Example 20: A system for providing real-time segment performance information,
A processor,
Determining a segment related to the user's current activity based at least in part on at least a portion of the location information recorded so far;
A processor configured to communicate real-time segment performance information regarding the current activity of the user in the segment;
A memory connected to the processor and configured to provide instructions to the processor;
A system comprising:
Application example 21: The system of application example 20, wherein the determination of the segment associated with the current activity of the user includes determining whether the current activity of the user matches the segment. system.
Application example 22: The system according to application example 20, wherein the processor further receives a user-configurable selection for transmission of data by the device and receives one or more trigger event definitions. Configured to receive a user-configurable selection for sending data by the device, including one or more of: receiving a period definition, receiving one or more definitions related to battery life saving. The system.
Application example 23: The system according to application example 20, wherein the transmission of the real-time segment performance information is based at least in part on feedback data transmitted to the device.
Application example 24: The system of application example 20, wherein the transmission of the real-time segment performance information is based at least in part on feedback data generated at the device.
Application Example 25: The system according to Application Example 20, wherein the processor further includes:
Configured to obtain data about one or more potentially matched segments to the device;
The acquired segment data is stored locally on the device, and the at least part of the location information and other data relating to the current activity of the user are compared with the data stored locally at the device. System.
Application example 26: The system of application example 20, wherein the performance information is between the performance data relating to the current activity of the user in the segment and stored historical performance data associated with the segment. System including comparison results.
Application example 27: The system according to application example 20, wherein the performance information is stored simultaneously with the performance data relating to the current activity of the user in the segment and the current activity of other users in the segment. A system that includes the results of comparisons with performance data.
Application example 28: The system of application example 20, wherein the processor is further user configurable for one or more other users having performance data compared to the performance data for the user's current activity. A system that is configured to receive a selection.
Application Example 29: The system of application example 20, wherein the processor is further configured to receive a user-configurable selection for a range of concurrency;
A system in which performance data of user activity within the range is compared to each other.
Application Example 30: A computer program product for providing real-time segment performance information, wherein the computer program product is embodied in a persistent computer-readable storage medium,
Computer instructions for determining a segment associated with the user's current activity based at least in part on at least a portion of the location information recorded so far;
Computer instructions for communicating real-time segment performance information regarding the user's current activity on the segment;
A computer program product comprising:

Claims (24)

リアルタイムのセグメントパフォーマンス情報を提供する方法であって、
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取ること、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定することであって、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含む、前記第1のユーザの現行活動に一致するセグメントを決定すること、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定すること、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定すること、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達すること、
を備える、方法。
A method for providing real-time segment performance information,
Receiving a definition of a range of simultaneity indicating a range in which at least two users engaged in physical activity are concurrent with each other;
Determining a segment matching the current activity of the first user based at least in part on at least a portion of the recorded location information of the first user , the first user's recorded Determining a segment that matches the current activity of the first user, including determining that at least a portion of the location information matches at least a portion of the set of geographic information associated with the segment. ,
Determining the segment that matches the current activity of the second user based at least in part on at least a portion of the recorded location information of the second user;
Determining whether the second user is a concurrent user for the first user based at least on the definition of the range of concurrency;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user about,
A method comprising:
請求項に記載の方法であって、前記第1のユーザの現行活動が前記セグメントに一致することの決定は、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている仮想スタートラインを交差していることを決定することを含む、方法。 The method of claim 1 , wherein the determination that the current activity of the first user matches the segment is that at least a portion of the recorded location information of the first user is in the segment. Determining that the associated virtual start line is crossed. 請求項に記載の方法であって、前記第1のユーザの現行活動が前記セグメントに一致することの決定は、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている部分を交差していることを決定することを含む、方法。 The method of claim 1 , wherein the determination that the current activity of the first user matches the segment is that at least a portion of the recorded location information of the first user is in the segment. Determining that the associated portions are crossed. 請求項1に記載の方法であって、前記位置情報は、全地球測位システム(GPS)のポイントと、各GPSポイントにおける関連のタイムスタンプとを含む、方法。   The method of claim 1, wherein the location information includes a Global Positioning System (GPS) point and an associated time stamp at each GPS point. 請求項1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、方法。   The method of claim 1, wherein the transmission of real-time segment performance information is based at least in part on feedback data transmitted to a device. 請求項1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、方法。   The method of claim 1, wherein the transmission of real-time segment performance information is based at least in part on feedback data generated at a device. 請求項1に記載の方法であって、前記セグメントは、潜在的にマッチングされるセグメントのユーザ選択に関連する、方法。   The method of claim 1, wherein the segment is associated with a user selection of potentially matched segments. 請求項1に記載の方法であって、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得することを備え、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記第1のユーザの記録された位置情報の前記少なくとも一部、および前記第1のユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、方法。
The method of claim 1, further comprising:
Obtaining data about one or more potentially matched segments in the device,
The obtained segment data is stored locally on the device, the at least part of the recorded location information of the first user, and other data relating to the current activity of the first user are stored in the device And compared with the locally stored data.
請求項1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記第1のユーザの現行活動に関するパフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、方法。 The method according to claim 1, wherein the performance information includes Rupa performance data relates to a current activity of the first user in the segment, with the stored historical performance data associated with said segment A method that includes comparison results between. 請求項1に記載の方法であって、前記格納された履歴パフォーマンスデータは、前記第1のユーザおよび別のユーザの一方または両方に関するデータを含む、方法。 The method of claim 1, wherein the stored historical performance data includes data relating to one or both of the first user and another user. 請求項1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記第1のユーザの現行活動に関するパフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、方法。 The method according to claim 1, wherein the performance information includes Rupa performance data relates to a current activity of the first user in the segment, is stored for the current activities of other users in the segment A method that includes results of comparisons with concurrent performance data. 請求項1に記載の方法であって、さらに、前記第1のユーザの現行活動に関する前記パフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信することを備える、方法。 The method of claim 1, further comprising receiving a user configurable selection for one or more other users having performance data compared to the performance data for the first user's current activity. A method comprising: 請求項1に記載の方法であって、さらに、サードパーティが運営するソーシャルネットワークに前記パフォーマンス情報の少なくとも一部を送信することを備える、方法。   The method of claim 1, further comprising transmitting at least a portion of the performance information to a social network operated by a third party. 請求項1に記載の方法であって、さらに、前記パフォーマンス情報の前記送信された一部に少なくとも部分的に基づいて、前記サードパーティが運営するソーシャルネットワークから応答を受信することを備える、方法。   The method of claim 1, further comprising receiving a response from a social network operated by the third party based at least in part on the transmitted portion of the performance information. 請求項1に記載の方法であって、さらに、前記第1のユーザの記録された前記パフォーマンス情報に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関する現在の進捗を決定することを備える、方法。 The method of claim 1, further comprising : current progress regarding current activity of the first user in the segment based at least in part on the recorded performance information of the first user. A method comprising determining. 請求項1に記載の方法であって、さらに、別のセグメントが前記第1のユーザの現行活動の現在位置の近くに存在するか否かを判定することを備える、方法。 The method of claim 1, further comprising determining whether another segment exists near a current location of the first user's current activity. リアルタイムのセグメントパフォーマンス情報を提供するためのシステムであって、
プロセッサであって、
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取り、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定し、前記第1のユーザの現行活動に一致するセグメントを決定することは、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含み、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定し、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定し、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するよう構成されているプロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。
A system for providing real-time segment performance information,
A processor,
Receive a definition of a range of simultaneity indicating a range in which at least two users engaged in physical activity are concurrent with each other;
Determining a segment matching the current activity of the first user based at least in part on at least a portion of the recorded location information of the first user, and matching the current activity of the first user Determining at least a portion of the recorded location information of the first user matches at least a portion of a set of geographic information associated with the segment;
Determining the segments that match the second user's current activity based at least in part on at least a portion of the second user's recorded location information;
Determining whether the second user is a concurrent user for the first user based at least on the definition of the scope of concurrency;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user A processor configured to:
A memory connected to the processor and configured to provide instructions to the processor;
A system comprising:
請求項17に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、システム。 The system of claim 17 , wherein the transmission of the real-time segment performance information is based at least in part on feedback data sent to a device. 請求項17に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、システム。 18. The system of claim 17 , wherein the transmission of real-time segment performance information is based at least in part on feedback data generated at a device. 請求項17に記載のシステムであって、前記プロセッサは、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得するように構成されており、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記第1のユーザの記録された前記位置情報の前記少なくとも一部、および前記第1のユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、システム。
The system of claim 17 , wherein the processor further comprises:
Configured to obtain data about one or more potentially matched segments to the device;
The obtained segment data is stored locally on the device, the at least part of the recorded location information of the first user, and other data relating to the current activity of the first user are: A system that is compared to the locally stored data at a device.
請求項17に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記第1のユーザの現行活動に関するパフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、システム。 The system of claim 17, wherein the performance information includes Rupa performance data relates to a current activity of the first user in the segment, with the stored historical performance data associated with said segment The system, including the comparison results between. 請求項17に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記第1のユーザの現行活動に関するパフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、システム。 The system of claim 17, wherein the performance information includes Rupa performance data relates to a current activity of the first user in the segment, is stored for the current activities of other users in the segment A system that includes results of comparisons with concurrent performance data. 請求項17に記載のシステムであって、前記プロセッサは、さらに、前記第1のユーザの現行活動に関するパフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信するように構成されている、システム。 The system of claim 17, wherein the processor is further user settings for one or more other users having performance data to be compared with the first Rupa performance data relates to a current user activity A system that is configured to receive possible selections. リアルタイムのセグメントパフォーマンス情報を提供するためのコンピュータプログラムであって
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取るための機能と、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定するために機能であって、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含む、前記第1のユーザの現行活動に一致するセグメントを決定するための機能と、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定するための機能と、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定するための機能と、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するための機能と
コンピュータによって実現させる、コンピュータプログラム。
A computer program for providing a real-time segment performance information,
A function for receiving a definition of a range of simultaneity indicating a range in which at least two users performing physical activity are concurrent with each other;
A function for determining a segment that matches a current activity of the first user based at least in part on at least a portion of the recorded location information of the first user , the first user's Determining a segment that matches the current activity of the first user, including determining that at least a portion of the recorded location information matches at least a portion of a set of geographic information associated with the segment; With the function to
A function for determining the segment that matches a current activity of the second user based at least in part on at least a portion of the recorded location information of the second user;
A function for determining whether the second user is a concurrent user for the first user based at least on the definition of the range of simultaneity;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user to realize a function for a computer, the computer program.
JP2014502830A 2011-03-31 2012-03-30 Provision of real-time segment performance information Active JP5748900B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161470238P 2011-03-31 2011-03-31
US61/470,238 2011-03-31
US13/434,435 2012-03-29
US13/434,435 US9291713B2 (en) 2011-03-31 2012-03-29 Providing real-time segment performance information
PCT/US2012/031415 WO2012135602A2 (en) 2011-03-31 2012-03-30 Providing real-time segment performance information

Publications (2)

Publication Number Publication Date
JP2014517947A JP2014517947A (en) 2014-07-24
JP5748900B2 true JP5748900B2 (en) 2015-07-15

Family

ID=46928264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014502830A Active JP5748900B2 (en) 2011-03-31 2012-03-30 Provision of real-time segment performance information

Country Status (5)

Country Link
US (2) US9291713B2 (en)
EP (1) EP2691902A4 (en)
JP (1) JP5748900B2 (en)
CN (1) CN103828399B (en)
WO (1) WO2012135602A2 (en)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9664518B2 (en) 2010-08-27 2017-05-30 Strava, Inc. Method and system for comparing performance statistics with respect to location
US8683008B1 (en) 2011-08-04 2014-03-25 Google Inc. Management of pre-fetched mapping data incorporating user-specified locations
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US9275374B1 (en) 2011-11-15 2016-03-01 Google Inc. Method and apparatus for pre-fetching place page data based upon analysis of user activities
US8711181B1 (en) 2011-11-16 2014-04-29 Google Inc. Pre-fetching map data using variable map tile radius
US9063951B1 (en) 2011-11-16 2015-06-23 Google Inc. Pre-fetching map data based on a tile budget
US8886715B1 (en) 2011-11-16 2014-11-11 Google Inc. Dynamically determining a tile budget when pre-fetching data in a client device
US9305107B2 (en) 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US9197713B2 (en) 2011-12-09 2015-11-24 Google Inc. Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
US9389088B2 (en) 2011-12-12 2016-07-12 Google Inc. Method of pre-fetching map data for rendering and offline routing
US8803920B2 (en) 2011-12-12 2014-08-12 Google Inc. Pre-fetching map tile data along a route
US10456077B1 (en) * 2012-02-04 2019-10-29 Thomas Chu-Shan Chuang Athletic training optimization
US10300334B1 (en) 2012-02-04 2019-05-28 Thomas Chu-Shan Chuang Athletic training optimization
US11103747B1 (en) 2012-02-04 2021-08-31 Thomas Chu-Shan Chuang Athletic training optimization
US8718927B2 (en) * 2012-03-12 2014-05-06 Strava, Inc. GPS data repair
US8983637B2 (en) 2012-07-30 2015-03-17 Mapmyfitness, Inc. Determining authenticity of reported fitness-related activities
US20210252384A1 (en) * 2012-07-31 2021-08-19 Niantic, Inc. Linking real world activities with a parallel reality game
US9669296B1 (en) * 2012-07-31 2017-06-06 Niantic, Inc. Linking real world activities with a parallel reality game
US20140107816A1 (en) * 2012-10-16 2014-04-17 Qualcomm Iskoot, Inc. Dynamically creating future routes based on user characteristics
WO2014071051A1 (en) 2012-10-31 2014-05-08 Mapmyfitness, Inc. System and method for personal and peer performance ranking of outdoor activities
WO2014089238A1 (en) 2012-12-04 2014-06-12 Mapmyfitness, Inc. Gait analysis system and method
US20150081062A1 (en) * 2013-09-16 2015-03-19 4Iiii Innovations Inc. Location-Based Athlete Pacing With Biofeedback Systems And Methods
US9297651B2 (en) 2013-12-11 2016-03-29 Strava, Inc. Generating user preference activity maps
GB201409883D0 (en) * 2014-06-03 2014-07-16 Ocado Ltd Methods, systems, and apparatus for controlling movement of transporting devices
KR101776098B1 (en) 2014-09-02 2017-09-07 애플 인크. Physical activity and workout monitor
US9746331B1 (en) * 2014-12-15 2017-08-29 Marvell International Ltd. Method and apparatus for map matching
KR102303952B1 (en) * 2015-01-05 2021-09-24 나이키 이노베이트 씨.브이. Energy expenditure calculation using data from multiple devices
CN107249456B (en) * 2015-01-05 2020-11-13 耐克创新有限合伙公司 Energy consumption calculation using data from multiple devices
US20160302030A1 (en) * 2015-04-10 2016-10-13 Visor, Inc. Location-Based Real-Time Contextual Data System
CN104857692B (en) * 2015-05-25 2018-04-06 惠州Tcl移动通信有限公司 A kind of processing method, system and the mobile device of user movement state
KR102359281B1 (en) * 2015-06-17 2022-02-04 삼성전자주식회사 Method and wearable device for providing information on exercise
CN107921317B (en) 2015-08-20 2021-07-06 苹果公司 Motion-based dial and complex function block
JP6586818B2 (en) * 2015-08-21 2019-10-09 オムロンヘルスケア株式会社 Medical support device, medical support method, medical support program, biological information measuring device
US10429192B2 (en) * 2015-09-16 2019-10-01 Strava, Inc. Generating trail network maps
JP6758820B2 (en) * 2015-11-18 2020-09-23 マクセル株式会社 Information processing device and its image data control method
US10111033B2 (en) * 2016-03-31 2018-10-23 Hitachi Ltd. GIS based compression and reconstruction of GPS data for transmission from a vehicular edge platform to the cloud
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
US10540483B2 (en) * 2017-04-25 2020-01-21 International Business Machines Corporation Personalized training based on planned course and personal assessment
US10717005B2 (en) 2017-07-22 2020-07-21 Niantic, Inc. Validating a player's real-world location using activity within a parallel reality game
JP6974505B2 (en) 2017-12-05 2021-12-01 グーグル エルエルシーGoogle LLC Landmark-aided navigation
US10136253B1 (en) 2017-12-18 2018-11-20 LapKing Holdings, LLC System and method for tracking a vehicle's course by comparing geolocation data from a known course
US10739857B2 (en) * 2018-04-21 2020-08-11 Dale Kazdan Wearable tracking computer
US11317833B2 (en) * 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
JP6585770B1 (en) * 2018-05-22 2019-10-02 株式会社アールビーズ Trajectory display device and program
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
EP3792815A1 (en) 2019-09-14 2021-03-17 MyLaps B.V. Sports timing based on a camera system
DK181076B1 (en) 2020-02-14 2022-11-25 Apple Inc USER INTERFACES FOR TRAINING CONTENT
JP2021153904A (en) * 2020-03-27 2021-10-07 株式会社コロプラ Game program, game method, and terminal device
TWI799337B (en) * 2020-05-11 2023-04-11 美商尼安蒂克公司 Method and computer-readable storage medium for providing a virtual element for display in a parallel reality experience
US11926385B2 (en) * 2021-03-01 2024-03-12 IRL Incorporated Cycling exercise system, device, and method
WO2022245669A1 (en) 2021-05-15 2022-11-24 Apple Inc. User interfaces for group workouts
US11915805B2 (en) 2021-06-06 2024-02-27 Apple Inc. User interfaces for shared health-related data
US20230390626A1 (en) 2022-06-05 2023-12-07 Apple Inc. User interfaces for physical activity information

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0514887B1 (en) 1991-05-21 1997-04-16 Matsushita Electric Industrial Co., Ltd. Vehicle position detecting apparatus
JP2826086B2 (en) 1995-12-28 1998-11-18 アルパイン株式会社 Navigation device
US6029173A (en) 1997-11-26 2000-02-22 Navigation Technologies Corporation Method and system for representation and use of shape information in geographic databases
US7454002B1 (en) 2000-01-03 2008-11-18 Sportbrain, Inc. Integrating personal data capturing functionality into a portable computing device and a wireless communication device
US6282486B1 (en) 2000-04-03 2001-08-28 International Business Machines Corporation Distributed system and method for detecting traffic patterns
AU2002255568B8 (en) 2001-02-20 2014-01-09 Adidas Ag Modular personal network systems and methods
US7080065B1 (en) 2001-06-22 2006-07-18 Oracle International Corporation Query pruning using interior rectangles in an R-tree index
JP2003065784A (en) 2001-08-28 2003-03-05 Vertex Standard Co Ltd Gps navigation device
US7480512B2 (en) 2004-01-16 2009-01-20 Bones In Motion, Inc. Wireless device, program products and methods of using a wireless device to deliver services
US6837827B1 (en) 2003-06-17 2005-01-04 Garmin Ltd. Personal training device using GPS data
US20050033515A1 (en) 2003-08-07 2005-02-10 Motorola, Inc. Wireless personal tracking and navigation system
US20050049765A1 (en) 2003-08-27 2005-03-03 Sacagawea21 Inc. Method and apparatus for advertising assessment using location and temporal information
DE04773640T1 (en) 2003-09-30 2007-02-08 Kabushiki Kaisha Kenwood, Hachiouji GUIDE ROUTE SEARCH AND GUIDANCE ROUTE SEARCH METHOD
US7756639B2 (en) 2003-10-06 2010-07-13 Sirf Technology, Inc. System and method for augmenting a satellite-based navigation solution
FR2861491B1 (en) 2003-10-24 2006-01-06 Thales Sa METHOD FOR SELECTING SYNTHESIS UNITS
DE102004013629B4 (en) 2004-03-19 2023-06-01 Volkswagen Ag Communication system for a motor vehicle
US7901292B1 (en) 2004-04-15 2011-03-08 Navteq North America, Llc Method for comparing performances on remotely located courses
GB0420097D0 (en) 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
US7254516B2 (en) 2004-12-17 2007-08-07 Nike, Inc. Multi-sensor monitoring of athletic performance
US7828697B1 (en) 2005-09-23 2010-11-09 Garmin Switzerland Gmbh Portable personal training device
JP5082295B2 (en) 2006-05-19 2012-11-28 株式会社デンソー Map data providing device
US7787857B2 (en) 2006-06-12 2010-08-31 Garmin Ltd. Method and apparatus for providing an alert utilizing geographic locations
US7771320B2 (en) * 2006-09-07 2010-08-10 Nike, Inc. Athletic performance sensing and/or tracking systems and methods
CN103007493B (en) 2006-09-07 2016-06-01 耐克创新有限合伙公司 Athletic performance tracking system and method
US20080082254A1 (en) 2006-10-02 2008-04-03 Yka Huhtala Route-assisted GPS location sensing via mobile device
CN101563625A (en) 2006-11-06 2009-10-21 电子地图有限公司 Arrangement for and method of two dimensional and three dimensional precision location and orientation determination
FR2908323B1 (en) 2006-11-09 2009-01-16 Parrot Sa METHOD OF DEFINING A COMMON REFERENTIAL FOR A VIDEO GAMING SYSTEM
CA2597347A1 (en) 2006-11-30 2008-05-30 Ittay Ronen Automated travel log system
US8600668B2 (en) 2007-01-10 2013-12-03 Tomtom International B.V. Navigation device and method for display of position in text readible form
DE202007019152U1 (en) * 2007-03-01 2011-03-17 Telefonaktiebolaget L M Ericsson (Publ) Mobile service to stay up-to-date during a competitor race
JP5064870B2 (en) 2007-04-17 2012-10-31 株式会社日立製作所 Digital road map generation method and map generation system
US8930135B2 (en) 2007-04-17 2015-01-06 Esther Abramovich Ettinger Device, system and method of landmark-based routing and guidance
DE102007028401B4 (en) 2007-06-15 2011-08-25 Navigon Ag, 20251 Method for operating a navigation device
JP4453728B2 (en) 2007-08-07 2010-04-21 株式会社デンソー Position correction device
US8121785B2 (en) 2007-08-28 2012-02-21 Garmin Switzerland Gmbh Bicycle computer having position-determining functionality
US7885764B2 (en) 2007-09-06 2011-02-08 GM Global Technology Operations LLC Method for adaptively constructing and revising road maps
US8234264B2 (en) 2008-02-08 2012-07-31 International Business Machines Corporation System and method for preferred services in nomadic environments
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8108139B1 (en) 2008-02-29 2012-01-31 Williams-Pyro, Inc. System and method for route representation with waypoint storage
CN101978374A (en) 2008-03-03 2011-02-16 耐克国际有限公司 Interactive athletic equipment system
US8512211B2 (en) 2008-09-05 2013-08-20 Apple Inc. Method for quickstart workout generation and calibration
US9409052B2 (en) * 2008-10-03 2016-08-09 Adidas Ag Program products, methods, and systems for providing location-aware fitness monitoring services
JP2010088886A (en) * 2008-10-03 2010-04-22 Adidas Ag Program products, methods, and systems for providing location-aware fitness monitoring services
US20100131184A1 (en) 2008-11-21 2010-05-27 Richard Stanton Method for creating suggested pathways for helping pedestrians cross open spaces
US8880568B2 (en) 2008-12-16 2014-11-04 Here Global B.V. Report generation for a navigation-related database
WO2010081837A1 (en) 2009-01-16 2010-07-22 Tele Atlas B.V. Method for creating speed profiles for digital maps
CN102197419A (en) 2009-03-16 2011-09-21 电子地图有限公司 Method for updating digital maps
CA2929927C (en) 2009-04-26 2018-09-11 Nike Innovate C.V. Gps features and functionality in an athletic watch system
WO2011023247A1 (en) 2009-08-25 2011-03-03 Tele Atlas B.V. Generating raster image representing road existence probability based on probe measurements
US8271497B2 (en) 2009-12-03 2012-09-18 Sony Computer Entertainment Inc. Information processing apparatus and information processing method outputting information on movement of person
US9304005B2 (en) 2009-12-04 2016-04-05 GM Global Technology Operations LLC Application programming interface (API) for navigation applications that merges incremental updates with existing map database
US8401250B2 (en) 2010-02-19 2013-03-19 MindTree Limited Detecting objects of interest in still images
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
JP5511060B2 (en) 2010-03-23 2014-06-04 アイシン・エィ・ダブリュ株式会社 Map update data supply device and map update data supply program
US9273968B2 (en) 2010-06-23 2016-03-01 Aisin Aw Co., Ltd. Track information generating device, track information generating method, and computer-readable storage medium
US9460419B2 (en) 2010-12-17 2016-10-04 Microsoft Technology Licensing, Llc Structuring unstructured web data using crowdsourcing
US8798909B2 (en) 2011-04-15 2014-08-05 Blackberry Limited Enhanced geolocation device
CN103718000B (en) 2011-05-19 2017-01-18 Sk 普兰尼特有限公司 real-time map data updating system and method
JP5845016B2 (en) 2011-07-27 2016-01-20 株式会社デンソー Map difference data creation device and map difference data creation method
EP2570771B1 (en) 2011-09-13 2017-05-17 TomTom Global Content B.V. Route smoothing
US9424397B2 (en) 2011-12-22 2016-08-23 Adidas Ag Sports monitoring system using GPS with location beacon correction

Also Published As

Publication number Publication date
US20120253488A1 (en) 2012-10-04
EP2691902A4 (en) 2015-04-08
WO2012135602A3 (en) 2014-03-13
EP2691902A2 (en) 2014-02-05
WO2012135602A2 (en) 2012-10-04
US9291713B2 (en) 2016-03-22
US20160178751A1 (en) 2016-06-23
JP2014517947A (en) 2014-07-24
CN103828399B (en) 2018-01-02
US9804269B2 (en) 2017-10-31
CN103828399A (en) 2014-05-28

Similar Documents

Publication Publication Date Title
JP5748900B2 (en) Provision of real-time segment performance information
US11869651B2 (en) Methods and apparatus for virtual competition
JP6065295B2 (en) How to display the route followed by an athlete wearing a place-aware mobile sports activity monitoring device
AU2012100801A4 (en) System and Method for Providing an Athlete with a Performance Profile
US8655591B2 (en) Method of creating varied exercise routes for a user
US9208175B2 (en) Defining and matching segments
US10591302B2 (en) Selecting routes
US9609485B2 (en) Predicting companion data types associated with a traveler at a geographic region including lodging
US9744447B2 (en) Methods and apparatus for controlling an information processing system based on geographic position information
US20210029491A1 (en) System and Method for Tracking a User's Course by Comparing Geolocation Data from a Known Course
US20170347240A1 (en) Detecting group activities
CN110086849B (en) Data processing method, device and system in motion process
TW202319101A (en) Reducing latency in anticheat dataflow

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150512

R150 Certificate of patent or registration of utility model

Ref document number: 5748900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250