(57)【特許請求の範囲】
【請求項１】
携帯端末と、前記携帯端末からコンテンツを取得して実行する車載機と、前記携帯端末と通信するサーバとを備えるコンテンツローカル配信システムにおいて、
前記携帯端末は、
コンテンツを保存する記憶部と、
前記車載機との通信が切断されたことを検出する切断検出部と、
前記切断検出部が前記車載機との通信が切断されたことを検出すると、前記車載機が実行可能なコンテンツを前記サーバから取得し前記記憶部に保存するコンテンツ取得部と、を備えるコンテンツローカル配信システム。
【請求項２】
請求項１に記載のコンテンツローカル配信システムにおいて、
前記携帯端末は、ユーザから前記車載機に関する情報の入力を受け付ける入力部をさらに備え、
前記コンテンツ取得部は、前記入力部への入力に基づき前記サーバから取得するコンテンツを決定し、そのコンテンツを前記サーバから取得して前記記憶部に保存するコンテンツローカル配信システム。
【請求項３】
請求項１に記載のコンテンツローカル配信システムにおいて、
前記携帯端末は、
前記車載機との通信が確立したことを検出する接続検出部と、
前記接続検出部が通信の確立を検出すると前記車載機から当該車載機に関する情報を取得する車載機情報取得部をさらに備え、
前記コンテンツ取得部は、前記車載機情報取得部が当該車載機に関する情報を取得すると当該情報に基づき前記サーバから取得するコンテンツを決定し、そのコンテンツを前記サーバから取得して前記記憶部に保存するコンテンツローカル配信システム。
【請求項４】
請求項１に記載のコンテンツローカル配信システムにおいて、
前記車載機は、
前記携帯端末との通信が確立したことを検出する接続検出部と、
前記接続検出部が通信の確立を検出すると当該車載機に関する情報を前記携帯端末に送信する車載情報送信部とをさらに備え、
前記携帯端末の前記コンテンツ取得部は、前記車載機から前記車載機に関する情報を受信すると当該情報に基づき前記サーバから取得するコンテンツを決定し、そのコンテンツを前記サーバから取得して前記記憶部に保存するコンテンツローカル配信システム。
【請求項５】
請求項１から請求項４までのいずれか一項に記載のコンテンツローカル配信システムにおいて、
前記コンテンツ取得部は、前記記憶部に保存されていないコンテンツのみを前記サーバから取得するコンテンツローカル配信システム。
【請求項６】
車載機およびサーバと通信する携帯端末が実行するコンテンツローカル配信プログラムであって、
前記携帯端末に、
前記車載機が実行可能なコンテンツの一覧を取得し、
前記車載機との通信が切断されたことを検出すると、前記一覧に記載されるコンテンツを前記サーバから取得し、
取得したコンテンツを記憶部に保存する処理を実行させるためのコンテンツローカル配信プログラム。
【請求項７】
請求項１に記載のコンテンツローカル配信システムにおいて、
コンテンツの名称およびバージョンに関する情報に関する情報に基づいて、前記サーバに格納されるコンテンツのうち前記記憶部に保存されていないコンテンツが存在するか否かを判断する判断部をさらに備え、
前記コンテンツ取得部は、前記判断部が前記記憶部に保存されていないコンテンツが存在すると判断すると、前記記憶部に保存されていないコンテンツを前記サーバから取得し前記記憶部に保存するコンテンツローカル配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツローカル配信システム、およびコンテンツローカル配信プログラムに関する。
【背景技術】
【０００２】
長距離通信機能を有する携帯端末を、長距離通信機能を有しない車載機と接続し、その車載機に長距離通信機能を提供する技術が広く知られている。特許文献１には、接続された車載機からの要求に応じてサーバからコンテンツを取得し、車載機にコンテンツを提供するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−８５７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、携帯端末の長距離通信が可能な状態でなければ、車載機からの情報の取得要求に応えることができない。
【課題を解決するための手段】
【０００５】
本発明にかかるコンテンツローカル配信システムは、携帯端末と、携帯端末からコンテンツを取得して実行する車載機と、携帯端末と通信するサーバとを備える。携帯端末は、コンテンツを保存する記憶部と、車載機との通信が切断されたことを検出する切断検出部と、切断検出が車載機との通信が切断されたことを検出すると、車載機が実行可能なコンテンツをサーバから取得し記憶部に保存するコンテンツ取得部と、を備える。
本発明にかかるコンテンツローカル配信プログラムは、車載機およびサーバと通信する携帯端末に搭載されるコンテンツローカル配信プログラムであって、携帯端末に、コンテンツローカル配信プログラムは、車載機が実行可能なコンテンツの一覧を取得させ、車載機との通信が切断されたことを検出すると、一覧に記載されるコンテンツをサーバから取得させ、取得したコンテンツを記憶部に保存処理を実行させる。
【発明の効果】
【０００６】
本発明によれば、携帯端末の長距離通信が不可能な状態でも、車載機からのコンテンツ要求に応えることができる。
【図面の簡単な説明】
【０００７】
【図１】コンテンツローカル配信システムの構成を示すブロック図
【図２】機種データベースの一例を示す図
【図３】取得済みリストの一例を示す図
【図４】ある機種が実行できるコンテンツの一覧を示すＸＭＬ文章の一例を示す図
【図５】機種を選択するダイアログの一例を示す図
【図６】コンテンツの一覧を示すＸＭＬ文章の一例を示す図
【図７】携帯端末が機種登録時に実行するプログラムの動作を表すフローチャート
【図８】車載機の接続時の動作を表すフローチャート
【図９】携帯端末の接続時の動作を表すフローチャート
【図１０】携帯端末の切断時の動作を表すフローチャート
【図１１】第２の実施の形態におけるコンテンツローカル配信システムの構成を示すブロック図
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
以下、図１〜１０を参照して、本発明によるコンテンツローカル配信システムの第１の実施の形態を説明する。
図１は、コンテンツローカル配信システム１の構成を示すブロック図である。コンテンツローカル配信システム１は、サーバ１０と、携帯端末２０と、車載機３０とを備える。サーバ１０および携帯端末２０は、ネットワーク網Ｘを経由して接続される。携帯端末２０および車載機３０は、短距離通信により接続される。車載機３０は、図１には１つのみ記載しているが、備える機能などにより機種が区分されている。たとえば、マイクを備える機種もあるが、マイクを備えない機種もある。
携帯端末２０と車載機３０は、同一のユーザが使用する。
【０００９】
（サーバの構成）
サーバ１０は、制御部１１と、通信部１２と、記憶部１３とを備える。記憶部１３には、コンテンツ記憶領域１３Ａと、機種データベース１３Ｂとが保存される。制御部１１は、内部バス１０Ａにより通信部１２および記憶部１３と接続される。通信部１２が携帯端末２０から通信を受信すると、制御部１１はその通信に含まれる指令を解釈し、必要に応じて記憶部１３に記憶されている情報を読み出す。通信部１２は、ネットワーク網Ｘを経由して携帯端末２０と通信する。記憶部１３は、磁気ディスクである。コンテンツ記憶領域１３Ａには、複数のコンテンツが保存される。コンテンツ記憶領域１３Ａには順次、新しいコンテンツやバージョンアップされたコンテンツが保存される。
【００１０】
コンテンツごとに必要とする入出力デバイスや処理能力が異なり、たとえばユーザの発話を用いて検索を行うコンテンツを実行するためには、車載機にマイクが必須となる。機種データベース１３Ｂには、コンテンツごとに実行可能な車載機３０の機種名および機種コードの一覧が保存される。
図２は、機種データベース１３Ｂの一例を示す図である。図２に示す例では、「天気」、「音声検索」、「ヒット曲」、「カレンダー」、「ニュース」、という５つのコンテンツが、「ＡＢＣ」、「ＤＥＦ」、「ＰＱＲ」、「ＸＹＺ」、という４つの機種で実行できるか否かを示している。たとえば、コンテンツ「天気」は４つの機種全てで実行できるが、コンテンツ「カレンダー」は機種「ＸＹＺ」でのみ実行できる。
【００１１】
本実施の形態において、コンテンツとは文字、画像、音声の少なくとも１つを含む情報とその情報を画像や音声として出力するプログラムが一体となったものである。出力される画像や音声は、ユーザの操作に応じて動的に変化してもよいし、変化しなくてもよい。コンテンツはたとえば、文字と動画を用いて新しい出来事を紹介する「ニュース」、音楽を再生する「ヒット曲」、予め入力されたユーザの予定を読み上げる「カレンダー」などである。
図１に戻ってコンテンツローカル配信システム１の説明を続ける。
【００１２】
（携帯端末の構成）
携帯端末２０は、制御部２１と、サーバ１０と通信を行う長距離通信部２２Ａと、車載機３０と通信を行う短距離通信部２２Ｂと、記憶部２３と、入力部２４と、表示部２５とを備える。
制御部２１は、ＣＰＵ、ＲＯＭ、およびＲＡＭを備える。ＣＰＵは後述するコンテンツローカル配信プログラム２３ＦをＲＡＭに展開して実行する。制御部２１は、内部バス２０Ａにより長距離通信部２２Ａ、短距離通信部２２Ｂ、記憶部２３、入力部２４、および表示部２５と接続される。
【００１３】
長距離通信部２２Ａは、携帯電話網などのネットワーク網Ｘを経由してサーバ１０と通信する。長距離通信部２２Ａは、たとえばＬＴＥ（ＬｏｎｇＴｅｒｍ Ｅｖｏｌｕｔｉｏｎ）方式に対応する。短距離通信部２２Ｂは、車載機３０と直接通信を行う、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮに対応する通信モジュールである。短距離通信部２２Ｂは、車載機３０との接続が確立された際、および接続が切断されたことを検出した際に制御部２１に通知する。制御部２１は、短距離通信部２２Ｂから車載機３０との接続が切断された旨が通知されると、後述する処理を行う。
【００１４】
記憶部２３はフラッシュメモリである。記憶部２３は、サーバ１０から取得したコンテンツを保存するコンテンツ記憶領域２３Ａを備える。記憶部２３には、前述したコンテンツと、取得済みリスト２３Ｄと、コンテンツローカル配信プログラム２３Ｆとが保存される。取得済みリスト２３Ｄは、ある条件を満たす機種の一覧を示すものである。すなわち、このリストに記載された機種が実行できる全てのコンテンツが、携帯端末２０のコンテンツ記憶領域２３Ａに保存されている。
【００１５】
図３は、取得済みリスト２３Ｄの一例を示す図である。図３の例では、機種「ＡＢＣ」と機種「ＤＥＦ」が記載されている。機種データベース１３Ｂが図２に示す例の場合には、その携帯端末２０には、機種「ＡＢＣ」と機種「ＤＥＦ」が実行できる全てのコンテンツ、すなわち「天気」、「音声検索」、「ヒット曲」の３つのコンテンツが保存されている。
図１に戻ってコンテンツローカル配信システム１の説明を続ける。
【００１６】
コンテンツローカル配信プログラム２３Ｆは、サーバ１０からコンテンツを取得し、車載機３０からの要求に応じてコンテンツを提供するプログラムである。すなわち、インターネットなどの広域通信網を介さずに、ローカルネットワーク内でコンテンツを配信する。コンテンツローカル配信プログラム２３Ｆは常時起動しており状況に応じて、機種登録処理、接続時処理、切断時処理、コンテンツ提供処理の４つの処理を行う。機種登録処理は、ユーザによる入力部２４からの操作により開始される。接続時処理は、車載機３０が携帯端末２０に接続されると開始される。切断時処理は、車載機３０による携帯端末２０との接続が切断されると開始される。コンテンツ提供処理は、車載機３０からコンテンツを要求されると開始される。各処理の詳細は後述する。
携帯端末２０の入力部２４は、複数のボタンから構成され、ユーザから入力を受け付ける。入力部２４が受け付けたユーザから入力された情報は制御部２１に出力される。表示部２５は、液晶ディスプレイである。表示部２５は、制御部２１からの指令に基づき表示を行う。
【００１７】
（車載機の構成）
車載機３０は、制御部３１と、携帯端末２０と通信を行う通信部３２と、記憶部３３と、ユーザから入力を受け付ける入力部３４と、表示部３５とを備える。車載機３０は、主に移動車両に搭載された状態で使用されるが、移動車両から取り外して使用することもできる。前述のとおり、車載機３０には複数の機種が存在しており構成は同一ではない。以下に示す構成は全ての機種が共通で備える構成である。
【００１８】
制御部３１は、ＣＰＵ、ＲＯＭ、およびＲＡＭを備える。ＲＯＭには後述するプログラムが保存されており、ＣＰＵがこれをＲＡＭに展開して実行する。ＲＯＭには、当該車載機３０の機種名を示す機種コードも保存されている。制御部３１は、内部バス３０Ａにより通信部３２、記憶部３３、入力部３４、および表示部３５と接続される。
通信部３２は、携帯端末２０と直接通信を行う、ブルートゥース（登録商標）や無線ＬＡＮに対応する通信モジュールである。通信部３２は、携帯端末２０との接続が確立された際に制御部３１に通知する。制御部３１は、通信部３２から接続が確立された旨の通知を受信すると、後述するプログラムを起動して携帯端末２０との通信を開始する。
【００１９】
記憶部３３はフラッシュメモリである。記憶部３３は、携帯端末２０から取得したコンテンツを一時的に保存するためのコンテンツ一時記憶領域３３Ａを備える。記憶部３３には、Ｗｅｂブラウザ３３Ｅが保存される。
車載機３０の入力部３４は、複数のボタンから構成され、ユーザから入力を受け付ける。入力部３４が受け付けたユーザから入力された情報は、制御部３１に出力される。表示部３５は、液晶ディスプレイである。表示部３５は、制御部３１からの指令に基づき表示を行う。
車載機３０は、電源が入れられるとＷｅｂブラウザ３３Ｅを起動させる。すると、表示部３５にメニュー画面が表示される。メニュー画面には、その車載機３０が実行できるコンテンツが表示される。ユーザの入力部３４の操作により、いずれかのコンテンツが選択されると、選択されたコンテンツに対応するＵＲＬが携帯端末２０に送信される。携帯端末２０はＵＲＬを受信すると、そのＵＲＬに対応するコンテンツが車載機３０に送信される。車載機３０に受信されたコンテンツは、コンテンツ一時記憶領域３３Ａに保存され、Ｗｅｂブラウザ３３Ｅに実行される。
【００２０】
（携帯端末がコンテンツを取得する３つのタイミング）
ユーザが車載機３０を操作し、コンテンツの起動を選択すると携帯端末２０を経由してサーバ１０からコンテンツを取得することも可能である。しかし、携帯端末２０とサーバ１０との通信が不可能な場合もある。そこで、携帯端末２０がサーバ１０からあらかじめコンテンツをダウンロード、すなわち取得しておき、ユーザがコンテンツの起動を選択すると、携帯端末２０に保存されたコンテンツを車載機３０に送信する。
【００２１】
ただし、携帯端末２０の記憶領域には限りがあるのでサーバ１０に保存されている全てのコンテンツを取得することは現実的ではない。すなわち、携帯端末２０がサーバから取得するコンテンツを適切に選択する必要がある。
また、ユーザが車載機３０を使用する直前に携帯端末２０がコンテンツの取得を開始すると、携帯端末２０によるコンテンツの取得が終了するまで当該コンテンツを実行できない。すなわち、携帯端末２０がサーバ１０から取得するタイミングを考慮する必要がある。
そこで本実施の形態では、以下に示す３つの状況で携帯端末２０がサーバ１０からコンテンツを取得する。これらの３つが、コンテンツローカル配信プログラム２３Ｆが実行する機種登録処理、接続時処理、および切断時処理である。
【００２２】
（１）機種登録時
ユーザがこれから使用する機種を携帯端末２０に登録すると、携帯端末２０はその機種が実行できるコンテンツの一覧を携帯端末２０がサーバ１０から取得する。そして、その一覧に記載されているコンテンツをサーバ１０から取得する。
そのため、ユーザが車載機３０を実際に使用する前に、当該車載機３０が実行可能なコンテンツをあらかじめサーバ１０から取得可能であり、ユーザの利便性を損なうことがない。
【００２３】
（２）接続時
携帯端末２０が車載機３０と接続された際に、携帯端末２０が通信により車載機３０の機種情報を取得し、その機種が取得済みリスト２３Ｄに記載されているか否かを判断する。記載されている場合には、その機種が実行できる全てのコンテンツがコンテンツ記憶領域２３Ａに保存されているので特段の処理を行わない。記載されていない場合には、その機種が実行できるコンテンツの一覧を携帯端末２０がサーバ１０から取得する。そして、その一覧に記載されているコンテンツをサーバ１０から取得する。
ユーザが機種登録時に誤った機種を選択した場合や、機種登録を行っていなかった場合に有効である。
【００２４】
（３）切断時
携帯端末２０と車載機３０との接続が切断された際に、これまでに接続した車載機３０が実行できるコンテンツの一覧を携帯端末２０がサーバ１０から取得する。そして、その一覧に記載されているコンテンツをサーバ１０から取得する。
携帯端末２０と車載機３０との接続が切断されるたびに、新たなコンテンツやバージョンアップしたコンテンツを取得できる。
上述した３つのいずれの場合においても、これから取得するコンテンツがコンテンツ記憶領域２３Ａに保存されている場合には、再度の取得を行わない。
【００２５】
上述した３つの状況の動作例を示す。
（機種登録時の動作例）
ユーザが、入力部２４を操作してコンテンツローカル配信プログラム２３Ｆの「車載機の登録機能」を選択すると、コンテンツローカル配信プログラム２３Ｆの機種登録処理が開始され、以下の処理が行われる。
携帯端末２０がサーバ１０に機種の一覧情報を要求する。サーバ１０は、その要求に基づきたとえば図４に示すＸＭＬ文章を携帯端末２０に送信する。このＸＭＬ文章において、ＭＯＤＥＬ＿ＬＩＳＴタグの要素が機種の一覧を、ＭＯＤＥＬタグが１機種の情報を表す。機種ごとの情報として、機種名を表すｎａｍｅタグと機種コードを表すｃｏｄｅタグを備える。すなわち、図４の例では、「ＡＢＣ」、「ＤＥＦ」、「ＰＱＲ」、「ＸＹＺ」、の４つの機種名が記載されている。これらの機種コードは、順番に「ｘｘ−ａｂｃ」、「ｘｘ−ｄｅｆ」、「ｘｘ−ｐｑｒ」、「ｘｘ−ｘｙｚ」である。
【００２６】
携帯端末２０は、取得したＸＭＬ文章を解析し、表示部２５に機種を選択するダイアログを出力する。携帯端末２０は取得したＸＭＬ文章を記憶部２３に保存し、必要に応じて参照する。図５は、機種を選択するダイアログの一例を示す図である。このダイアログには、機種名の一覧と、入力部２４への入力により移動する選択カーソルＣが示される。
ユーザが入力部２４を操作していずれかの機種名を選択すると、携帯端末２０は、その機種名に対応する機種コードをサーバ１０に送信する。サーバ１０は、機種コードを受信すると機種データベース１３Ｂを参照して、その機種コードに対応する機種が実行できるコンテンツの一覧を携帯端末２０に送信する。機種データベース１３Ｂは図２に示したものであり、ユーザが「ＤＥＦ」を選択したとして以下説明を続ける。
【００２７】
図６は、コンテンツの一覧を示すＸＭＬ文章の一例を示す図である。このＸＭＬ文章において、ａｐｐｌｉｃａｔｉｏｎｓタグの要素がコンテンツの一覧を、ａｐｐタグの要素が１つのコンテンツの情報を表す。コンテンツごとの情報として、コンテンツの名称を示すｎａｍｅタグと、コンテンツが格納されている位置を示すｕｒｌタグと、そのコンテンツのバージョンを示すｖｅｒｓｉｏｎタグを備える。
【００２８】
携帯端末２０は、サーバ１０から受信したコンテンツの一覧に記載されているコンテンツが、すでにコンテンツ記憶領域２３Ａに保存されているか否かを判断する。たとえばそれぞれのコンテンツを、コンテンツの名称とバージョン番号を結合させた文字列から構成されるフォルダに保存するルールの場合には、コンテンツ記憶領域２３Ａにその文字列からなるフォルダの有無を判断すればよい。
【００２９】
たとえば、図６に示す１つ目のコンテンツである、名称「ｗｈｅｔｈｅｒ」、バージョン「３．２．６」は、「ｗｈｅｔｈｅｒ＿３．２．６」という文字列のフォルダに格納されるので、このフォルダの有無を判断する。このフォルダがないと判断すると、コンテンツの一覧に記載されていたＵＲＬである「http://www.example.com/whether」からｗｈｅｔｈｅｒコンテンツを取得してコンテンツ記憶領域２３Ａに保存する。なお、「www.example.com」とは、サーバ１０を指すホスト名である。
携帯端末２０は、全てのコンテンツを保存すると、ユーザが選択した機種名を取得済みリスト２３Ｄに記録する。
【００３０】
（接続時の動作例）
短距離通信部２２Ｂが車載機３０と接続されると、コンテンツローカル配信プログラム２３Ｆがこれを検出し、接続時処理を開始して以下の処理を行う。
まず、携帯端末２０が車載機３０から機種情報を取得する。この機種情報から接続した車載機３０の機種は「ＰＱＲ」であったとする。携帯端末２０は、その機種が取得済みリスト２３Ｄに掲載されているか否かを判断する。取得済みリスト２３Ｄに図３の例に示すように「ＡＢＣ」と「ＤＥＦ」が掲載されていると、携帯端末２０は接続した車載機３０の機種が取得済みリスト２３Ｄに掲載されていないと判断する。
【００３１】
携帯端末２０は、機種「ＰＱＲ」の機種コードをサーバ１０に送信し、機種「ＰＱＲ」が実行できるコンテンツの一覧を取得する。サーバ１０に保存されている機種データベース１３Ｂが図２に示す例である場合には、その一覧には、「天気」、「音声検索」、「ニュース」の３つのコンテンツが記載される。
前述のように携帯端末２０の取得済みリスト２３Ｄには、「ＡＢＣ」と「ＤＥＦ」が掲載されているので、コンテンツ記憶領域２３Ａには、機種「ＡＢＣ」と機種「ＤＥＦ」が実行できるコンテンツがすでに保存されている。すなわちコンテンツ記憶領域２３Ａには「天気」、「音声検索」、「ヒット曲」、の３つのコンテンツが保存されている。
【００３２】
携帯端末２０は、すでにコンテンツ記憶領域２３Ａに保存されているコンテンツを除外してサーバ１０からコンテンツを取得する。前述のように、コンテンツの同一性は、コンテンツの名称およびバージョンから判断される。すなわち、コンテンツ記憶領域２３Ａに保存されている「天気」、および「音声検索」のバージョンが、サーバ１０から取得したコンテンツの一覧に記載されているバージョンと同一であれば、「ニュース」のみをサーバ１０から取得する。その後、携帯端末２０は接続した車載機３０の機種名である「ＰＱＲ」を取得済みリスト２３Ｄに追加する。
【００３３】
（切断時の動作例）
車載機３０と携帯端末２０との接続が切断されると、コンテンツローカル配信プログラム２３Ｆがこれを検出し、切断時処理が開始して以下の処理を行う。
携帯端末２０が、取得済みリスト２３Ｄを読み込み、そこに記載されている機種に対応する機種コードをサーバ１０に送信する。サーバ１０に保存されている機種データベース１３Ｂが図２に示す例である場合には、「ＡＢＣ」と「ＤＥＦ」に対応する機種コードを送信する。
サーバ１０は、それぞれの機種コードに対応するコンテンツの一覧を携帯端末２０に送信する。すなわち、本例では機種「ＡＢＣ」が実行できるコンテンツの一覧と、機種「ＤＥＦ」が実行できるコンテンツの一覧を送信する。
【００３４】
携帯端末２０は、受信した一覧に記載されているコンテンツのうち、コンテンツ記憶領域２３Ａに保存されていないコンテンツをサーバ１０から取得する。たとえば、コンテンツ「天気」のバージョンが、コンテンツの一覧には「３．２．６」が記載され、コンテンツ記憶領域２３Ａには「３．２．２」が保存されていた場合には、両者は同一でないため携帯端末２０はバージョン「３．２．６」のコンテンツ「天気」をサーバ１０から取得する。
【００３５】
（フローチャート）
以上説明した動作を行うコンテンツローカル配信プログラム２３Ｆの機種登録処理、接続時処理、切断時処理、および車載機３０の接続時における処理の詳細をフローチャートを使って説明する。
【００３６】
（機種登録処理のフローチャート）
図７は、コンテンツローカル配信プログラム２３Ｆの機種登録処理を表すフローチャートである。以下に示す各ステップの実行主体は、制御部２１のＣＰＵである。
ステップＳ１０１では、サーバ１０から機種リストを取得し、ステップＳ１０２に進む。
ステップＳ１０２では、ステップＳ１０１において取得した機種リストに基づき表示部２５に機種の一覧を選択するダイアログを表示する。たとえば、前述の図５のダイアログである。次にステップＳ１０３に進む。
【００３７】
ステップＳ１０３では、ユーザによる入力部２４を用いた機種の選択があったか否かを判断する。選択があったと判断する場合はステップＳ１０４に進み、まだ選択されていないと判断する場合はステップＳ１０３に留まる。
ステップＳ１０４では、ユーザが選択した機種名に対応する機種コードをサーバ１０に送信する。次にステップＳ１０５に進む。
ステップＳ１０５では、サーバ１０からコンテンツの一覧を受信する。コンテンツの一覧はたとえば、前述の図６に示したＸＭＬ文章である。本ステップにおいて受信したコンテンツの一覧にｎ個のコンテンツが記載されていたとする。次にステップＳ１０６に進む。
【００３８】
ステップＳ１０６では、処理対象のコンテンツの番号を示す変数ｉに「１」を代入してステップＳ１０７に進む。
ステップＳ１０７では、コンテンツの一覧に記載されているｉ番目のコンテンツ名とバージョン番号を組み合わせた文字列のフォルダをコンテンツ記憶領域２３Ａに作成する。ステップＳ１０８に進む。
【００３９】
ステップＳ１０８では、サーバ１０からｉ番目のコンテンツを取得し、ステップＳ１０７において作成したフォルダに保存する。ステップＳ１０９に進む。
ステップＳ１０９では、変数ｉがコンテンツの一覧に記載されているコンテンツ数であるｎと等しいか否かを判断する。等しいと判断する場合はステップＳ１１１に進み、等しくないと判断する場合はステップＳ１１０に進む。
ステップＳ１１０では、変数ｉに１を加算してステップＳ１０７に戻る。
ステップＳ１１１では、ユーザが選択した機種名を取得済みリスト２３Ｄに記録して、機種登録処理を終了する。
【００４０】
（車載機の接続検出時の処理）
図８は、車載機３０が実行する接続検出時の動作を表すフローチャートである。車載機３０により図８により動作が表されるプログラムが常に実行される。
以下に示す各ステップの実行主体は、制御部３１のＣＰＵである。
ステップＳ２０１では、新たに携帯端末２０との接続が行われたか否かを判断する。新たな接続があると判断する場合はステップＳ２０２に進み、新たな接続がないと判断する場合はステップＳ２０１に留まる。
ステップＳ２０２では、制御部３１のＲＯＭから機種コードを読み出してステップＳ２０３に進む。
ステップＳ２０３では、ステップＳ２０１において新たな接続を検出した携帯端末２０に機種コードを送信し、図８のフローチャートを終了する。
【００４１】
（接続時処理のフローチャート）
図９は、コンテンツローカル配信プログラム２３Ｆの接続時処理の動作を表すフローチャートである。携帯端末２０により、図９により動作が表される接続時処理が常に実行される。
以下に示す各ステップの実行主体は、制御部２１のＣＰＵである。
ステップＳ３０１において、短距離通信部２２Ｂがいずれかの車載機３０を示す機種コードを受信したか否かを判断する。受信したと判断する場合はステップＳ３０２に進み、受信していないと判断する場合はステップＳ３０１に留まる。
ステップＳ３０２において、記憶部２３から取得済みリスト２３Ｄを読み込み、ステップＳ３０３に進む。
【００４２】
ステップＳ３０３において、ステップＳ３０１において受信した機種コードが取得済みリスト２３Ｄに含まれるか否かを判断する。含まれると判断する場合は図９に示すフローチャートを終了し、含まれないと判断する場合はステップＳ３０４に進む。
ステップＳ３０４において、ステップＳ３０１において受信した機種コードをサーバ１０に送信し、サーバ１０からコンテンツの一覧を受信する。コンテンツの一覧はたとえば、前述の図６に示したＸＭＬ文章である。本ステップにおいて受信したコンテンツの一覧にｎ個のコンテンツが記載されていたとする。次にステップＳ３０５に進む。
【００４３】
ステップＳ３０５では、処理対象のコンテンツの番号を示す変数ｉに「１」を代入してステップＳ３０６に進む。
ステップＳ３０６では、コンテンツの一覧に記載されているｉ番目のコンテンツ名とバージョン番号を組み合わせた文字列のフォルダが、コンテンツ記憶領域２３Ａに存在するか否かを判断する。存在すると判断する場合はステップＳ３０９に進み、存在しないと判断する場合はステップＳ３０７に進む。
【００４４】
ステップＳ３０７では、コンテンツの一覧に記載されているｉ番目のコンテンツ名とバージョン番号を組み合わせた文字列のフォルダをコンテンツ記憶領域２３Ａに作成する。ステップＳ３０８に進む。
ステップＳ３０８では、サーバ１０からｉ番目のコンテンツを取得し、ステップＳ３０７において作成したフォルダに保存してステップＳ３０９に進む。
ステップＳ３０９では、変数ｉがコンテンツの一覧に記載されているコンテンツ数であるｎと等しいか否かを判断する。等しいと判断する場合はステップＳ３１１に進み、等しくないと判断する場合はステップＳ３１０に進む。
【００４５】
ステップＳ３１０では、変数ｉに１を加算してステップＳ３０６に戻る。
ステップＳ３１１では、ユーザが選択した機種名を取得済みリスト２３Ｄに記録してステップＳ３１２に進む。ただし、すでに同一の機種名が取得済みリスト２３Ｄに記録されている場合には記録しない。
ステップＳ３１２において、以下の図１０を用いて動作を説明する切断時処理を起動し、接続時処理を終了する。
【００４６】
（切断時処理のフローチャート）
図１０は、コンテンツローカル配信プログラム２３Ｆの切断時処理の動作を表すフローチャートである。このフローチャートにより動作が表される切断時処理は、図９のステップＳ３１２から起動される。
以下に示す各ステップの実行主体は、制御部２１のＣＰＵである。
ステップＳ４０１において、車載機３０との通信が切断されたか否かを判断する。切断されたと判断する場合はステップＳ４０２に進み、切断されていないと判断する場合はステップＳ４０１に留まる。
【００４７】
ステップＳ４０２において、記憶部２３から取得済みリスト２３Ｄを読み込み、ステップＳ４０３に進む。
ステップＳ４０３において、取得済みリスト２３Ｄに記載されている全ての機種に対応する機種コードをサーバ１０に送信し、サーバ１０からそれぞれの機種に対応するコンテンツの一覧を受信する。本ステップにおいて受信したコンテンツの一覧に合計でｎ個のコンテンツが記載されていたとする。
【００４８】
たとえば、図３の例に示すように取得済みリスト２３Ｄに「ＡＢＣ」と「ＤＥＦ」という２つの機種名が記載されている場合は、それぞれに対応する機種コードをサーバ１０に送信し、２つのコンテンツの一覧を受信する。図２に示す機種データベース１３Ｂの例では、いずれの機種も２つのコンテンツを実行できるので、ｎは４となる。
次にステップＳ４０４に進む。
【００４９】
ステップＳ４０４では、処理対象のコンテンツの番号を示す変数ｉに「１」を代入してステップＳ４０５に進む。
ステップＳ４０５では、コンテンツの一覧に記載されているｉ番目のコンテンツ名とバージョン番号を組み合わせた文字列のフォルダが、コンテンツ記憶領域２３Ａに存在するか否かを判断する。存在すると判断する場合はステップＳ４０９に進み、存在しないと判断する場合はステップＳ４０６に進む。
【００５０】
ステップＳ４０６では、コンテンツの一覧に記載されているｉ番目のコンテンツ名とバージョン番号を組み合わせた文字列のフォルダをコンテンツ記憶領域２３Ａに作成する。ステップＳ４０７に進む。
ステップＳ４０７では、サーバ１０からｉ番目のコンテンツを取得し、ステップＳ４０６において作成したフォルダに保存する。ステップＳ４０８に進む。
ステップＳ４０８では、変数ｉがコンテンツの一覧に記載されているコンテンツ数であるｎと等しいか否かを判断する。等しいと判断する場合は切断時処理を終了し、等しくないと判断する場合はステップＳ４０９に進む。
ステップＳ４０９では、変数ｉに１を加算してステップＳ４０５に戻る。
【００５１】
（コンテンツ提供処理）
車載機３０からＵＲＬを受信すると、コンテンツローカル配信プログラム２３Ｆは、コンテンツ提供処理を開始する。すなわち、ＵＲＬにより表されるコンテンツをコンテンツ記憶領域２３Ａから読み出し、車載機３０に送信する。
【００５２】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）コンテンツローカル配信システム１は、携帯端末２０と、携帯端末２０からコンテンツを取得して実行する車載機３０と、携帯端末２０と通信するサーバ１０とを備える。携帯端末２０は、コンテンツを保存するコンテンツ記憶領域２３Ａと、車載機３０が実行可能なコンテンツをあらかじめサーバ１０から取得しコンテンツ記憶領域２３Ａに保存するコンテンツ取得部（図７のステップＳ１０８、図９のステップＳ３０８、図１０のステップＳ４０７）とを備える。
コンテンツローカル配信システム１をこのように構成したので、トンネル内を走行している場合など携帯端末２０の長距離通信が不可能な状態でも、あらかじめコンテンツ記憶領域２３Ａにコンテンツを保存しているので、車載機３０からのコンテンツ要求に応えることができる。
【００５３】
（２）携帯端末２０は、ユーザからの入力を受け付ける入力部２４を備える。コンテンツ取得部（図７のステップＳ１０８、図９のステップＳ３０８、図１０のステップＳ４０７）は、入力部２４への入力に基づきサーバ１０から取得するコンテンツを決定する。ＣＰＵそれらのコンテンツをサーバ１０から取得し、コンテンツ記憶領域２３Ａに保存する。
そのため、携帯端末２０を車載機３０と接続する前に、あらかじめコンテンツをサーバ１０から取得することができる。コンテンツの容量が大きいほどサーバ１０からの取得に時間がかかるため、早期にコンテンツの取得を開始できることの利点が大きくなる。
【００５４】
（３）車載機３０は、携帯端末２０との近距離通信が確立したことを検出する接続検出部、すなわち通信部３２を備える。車載機３０は、通信部３２が通信の確立を検出すると当該車載機３０に関する情報、すなわち機種コードを携帯端末２０に送信する車載情報送信部（図８のステップＳ２０３）を備える。携帯端末２０のコンテンツ取得部（図７のステップＳ１０８、図９のステップＳ３０８、図１０のステップＳ４０７）は、車載機３０から当該車載機３０に関する情報、すなわち機種コードを受信すると、その機種コードをサーバ１０に送信してその車載機３０が実行できるコンテンツの一覧を取得し、その一覧に記載のコンテンツをサーバ１０から取得するコンテンツとして決定する。そして、そのコンテンツをサーバ１０から取得してコンテンツ記憶領域２３Ａに保存する。
携帯端末２０と車載機３０との通信が確立した時にコンテンツをサーバ１０から取得するので、ユーザが事前に機種登録を行っていない場合や、誤った機種を登録していた場合でも、ユーザの手を煩わせることなくコンテンツをサーバ１０から取得できる。
【００５５】
（４）携帯端末２０は、車載機３０との通信が切断されたことを検出する切断検出部、すなわち短距離通信部２２Ｂを備える。コンテンツ取得部は、切断検出部が切断を検出するとサーバ１０からコンテンツを取得する。
コンテンツはしばしば新しいバージョンが公開されるが、携帯端末２０の機種によっては自動的に通信を開始することが禁止されており、新しいバージョンのコンテンツを任意のタイミングで取得することができない。そのような制限が課されている携帯端末２０であっても、携帯端末２０と車載機３０との接続が解除されたことをトリガーとして利用し、サーバ１０からコンテンツを取得することができる。
【００５６】
（５）コンテンツ取得部は、コンテンツ記憶領域２３Ａに保存されていないコンテンツのみをサーバ１０から取得する。
そのため、同一のコンテンツを再度取得することがなく、サーバ１０、携帯端末２０、ネットワーク網Ｘのリソースを節約できる。コンテンツ名とバージョン番号の組み合わせによりコンテンツの同一性を判断することで、バージョンアップの際には異なるコンテンツと判断してサーバ１０からそのコンテンツを取得できる。
【００５７】
（変形例）
上述した第１の実施の形態は、以下のように変形してもよい。
（１）機種データベース１３Ｂを備えるサーバと、コンテンツ記憶領域１３Ａを備えるサーバは同一でなくてもよい。携帯端末２０は、コンテンツを複数のサーバから取得してもよい。
（２）携帯端末２０と車載機３０との接続が切断された際に、直前に接続した機種が実行できるコンテンツのみをサーバ１０から取得してもよい。この場合には、携帯端末２０が車載機３０と接続された際に当該車載機３０から取得した機種名をＲＡＭに一時的に保存し、切断時にＲＡＭから機種名を読み出して、その機種が実行できるコンテンツをサーバ１０から取得する。
【００５８】
（３）コンテンツはＷｅｂブラウザ３３Ｅを用いずに実行されてもよい。すなわち、制御部３１のＣＰＵから直接実行されるプログラム、いわゆるネイティブアプリでもよい。
（４）サーバ１０と携帯端末２０との通信は、ＬＴＥ方式に限定されない。ＷｉＭＡＸ（登録商標）方式、ＷＣＤＭＡ（登録商標）方式、ＧＳＭ（登録商標）方式をはじめとした、ＷＡＮ（ＷｉｄｅＡｒｅａ Ｎｅｔｗｏｒｋ）に分類されるネットワークサービスで利用される無線通信方式である他の通信方式でもよい。
【００５９】
（５）コンテンツにファームウエア等の更新用ファイルを含めてもよい。すなわち、ある機種の更新用ファイルが発行されると、更新用ファイルがサーバ１０のコンテンツ記憶領域１３Ａに保存されるとともに機種データベース１３Ｂにその更新用ファイルがコンテンツの１つとして記載される。そして、該当する機種である携帯端末２０の切断時処理によりその更新ファイルがダウンロードされる。この更新ファイルは、次回以降に携帯端末２０が車載機３０と接続された際に、車載機３０のアップデートに使用することができる。
【００６０】
（６）携帯端末２０が取得するコンテンツは、携帯端末２０の位置に応じて異なってもよい。すなわち、サーバ１０は、コンテンツを取得するためにアクセスした携帯端末２０から緯度経度などの位置情報を取得し、その位置情報に対応したコンテンツを携帯端末２０に送信してもよい。たとえば、地域の特産品を紹介するコンテンツであれば、携帯端末２０が存在する都道府県およびその隣接都道府県の特産品の情報を紹介するコンテンツとする。
【００６１】
（７）機種登録処理は、ユーザによる入力部２４の操作以外により開始されてもよい。たとえば、携帯端末２０にコンテンツローカル配信プログラム２３Ｆがインストールされると、機種登録処理が開始されてもよい。
【００６２】
（変形例１）
第１の実施の形態では、携帯端末２０と車載機３０との通信が確立すると、車載機３０がこれを検出して機種コードを携帯端末２０に送信した。しかし、通信の確立を携帯端末２０が検出し、車載機３０に機種コードの送信を要求してもよい。すなわち、携帯端末２０の制御部２１が短距離通信部２２Ｂから通信が確立した旨の信号を受信すると、コンテンツローカル配信プログラム２３Ｆが車載機３０へ機種コードを要求する通信を行ってもよい。
【００６３】
さらに、携帯端末２０は車載機３０に機種コードの送信を要求した後に、図９により動作が表されるコンテンツローカル配信プログラム２３Ｆの接続時処理を開始してもよい。すなわち、第１の実施の形態とは異なり接続時処理を常時実行しなくてもよい。この例では、車載機３０は、携帯端末２０からの機種コードの要求に応じて、制御部３１のＲＯＭに保存されている機種コードを携帯端末２０に送信する。送信された機種コードは、短距離通信部２２Ｂを介してコンテンツローカル配信プログラム２３Ｆが受信する。
前述のとおり、図９により動作が表されるコンテンツローカル配信プログラム２３Ｆの接続時処理が実行されているので、車載機３０から機種コードを受信すると第１の実施の形態と同様の処理を行う。
【００６４】
この変形例１によれば、以下の作用効果が得られる。
（１）携帯端末２０は、車載機３０との近距離通信が確立したことを検出する接続検出部、すなわち短距離通信部２２Ｂを備える。携帯端末２０は、短距離通信部２２Ｂが通信の確立を検出すると車載機３０から当該車載機３０に関する情報、すなわち機種コードを取得する車載機情報取得部、すなわちコンテンツローカル配信プログラム２３Ｆを備える。
コンテンツ取得部（図７のステップＳ１０８、図９のステップＳ３０８、図１０のステップＳ４０７）は、車載機情報取得部が車載機３０に関する情報、すなわち機種コードを取得すると機種コードに基づきサーバ１０から取得するコンテンツを決定し、そのコンテンツをサーバ１０から取得してコンテンツ記憶領域２３Ａに保存する。
車載機３０は携帯端末２０から要求された後に機種コードを送信するようにしたので、携帯端末２０は接続処理を常時実行する必要がなく、バッテリー消費を抑制することができる。
【００６５】
（第２の実施の形態）
図１１を参照して、本発明によるコンテンツローカル配信システム１の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、個別の車載機３０ごとに実行可能なコンテンツが異なる点で、第１の実施の形態と異なる。たとえば、車載機３０は機種ごとに実行可能なコンテンツに加えて、個別に契約した有料コンテンツを実行できる。
【００６６】
（構成）
図１１は、第２の実施の形態におけるコンテンツローカル配信システム１の構成を示すブロック図である。第１の実施の形態における構成に加えて、サーバ１０が購入データベース１３Ｃを備える点が主に異なる。また、後述するように、携帯端末２０のコンテンツローカル配信プログラム２３Ｆの動作も異なる。車載機３０の制御部３１のＲＯＭには、それぞれの車載機３０を識別する識別子が保存される。携帯端末２０の取得済みリスト２３Ｄには、機種情報に加えて識別子も保存される。
【００６７】
購入データベース１３Ｃには、コンテンツの使用契約に基づき、いずれの車載機３０がどの有料コンテンツを実行できるかを示す情報が保存されている。換言すると、購入データベース１３Ｃには、車載機３０の識別子ごとに有料コンテンツの実行可否が記録されている。サーバ１０は、携帯端末２０から車載機３０の識別子を受信すると購入データベース１３Ｃを参照し、その識別子を有する車載機３０が実行できる有料コンテンツの一覧をその携帯端末２０に送信する。携帯端末２０に送信する有料コンテンツの一覧には、図６に示したようにそのコンテンツが格納されているネットワーク上の位置の情報も含まれる。
以下では、第１の実施の形態において説明していたコンテンツを、上記の有料コンテンツと区別するために「無料コンテンツ」と呼ぶ。
【００６８】
（コンテンツローカル配信プログラム）
コンテンツローカル配信プログラム２３Ｆは、第１の実施の形態で示した動作に加えて以下の動作を行う。
（１）機種登録時
携帯端末２０は、表示部２５に機種の一覧を表示するとともに、車載機３０の識別子の入力欄を表示する。ユーザが車載機３０の識別子を入力すると、携帯端末２０はその識別子をサーバ１０に送信し、その車載機３０が実行できる有料コンテンツの一覧を取得する。携帯端末２０は、取得した一覧に記載されている有料コンテンツを無料コンテンツと同様に順次取得する。
【００６９】
（２）接続時
携帯端末２０は車載機３０と接続された際に、車載機３０の機種情報に加えて識別子を取得する。携帯端末２０はその識別子をサーバ１０に送信し、その車載機３０が実行できる有料コンテンツの一覧を取得する。携帯端末２０は、取得した一覧に記載されている有料コンテンツを無料コンテンツと同様に順次取得する。また、その識別子を取得済みリスト２３Ｄに保存する。
【００７０】
（３）切断時
携帯端末２０と車載機３０との接続が切断された際に、取得済みリスト２３Ｄに保存されている識別子を送信し、送信した識別子に対応する車載機３０が実行できる有料コンテンツの一覧を取得する。携帯端末２０は、取得した一覧に記載されている有料コンテンツを無料コンテンツと同様に順次取得する。
【００７１】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）携帯端末２０は、ユーザから車載機３０の識別子の入力を受け付ける入力部２４を備える。携帯端末２０は、入力された識別子をサーバ１０に送信し、サーバ１０から当該車載機３０が実行できる有料コンテンツの一覧を取得し、その一覧に掲載されたコンテンツをサーバ１０から取得してコンテンツ記憶領域２３Ａに保存する。
（２）携帯端末２０は、車載機３０から当該車載機３０の識別子、すなわち車載機３０に関する情報を取得する。携帯端末２０は、入力された識別子をサーバ１０に送信し、サーバ１０から当該車載機３０が実行できる有料コンテンツの一覧を取得し、その一覧に掲載されたコンテンツをサーバ１０から取得してコンテンツ記憶領域２３Ａに保存する。
そのため携帯端末２０は、機種に共通する無料コンテンツだけでなく、契約したことにより特定の車載機３０だけが実行できる有料コンテンツもあらかじめ取得することができる。
【００７２】
上述した第２の実施の形態を以下のように変形してもよい。
（変形例２）
携帯端末２０は有料コンテンツの一覧を車載機３０から取得してもよい。すなわち、車載機３０と携帯端末２０とが接続された際に、車載機３０に保存されているコンテンツの一覧を携帯端末２０が取得してもよい。
この場合は、その車載機３０との接続が切断されたことを短距離通信部２２Ｂが検出すると、以下の処理を行う。携帯端末２０がサーバ１０にそれらコンテンツの新しいバージョンの有無を問い合わせ、新しいバージョンがある場合はサーバ１０から取得する。
【００７３】
この変形例２によれば、以下の作用効果が得られる。
（１）携帯端末２０は、車載機３０から当該車載機３０に保存されているコンテンツ、換言すれば当該車載機３０が実行可能なコンテンツ、すなわち車載機３０に関する情報を取得する。携帯端末２０は、これらのコンテンツをサーバ１０から取得するコンテンツとして決定する。
ただし、携帯端末２０が車載機３０から取得するコンテンツの情報は、有料コンテンツおよび無料コンテンツでもよいし、有料コンテンツのみでもよい。有料コンテンツのみの場合には、機種名をあわせて取得してもよい。
【００７４】
（変形例３）
第２の実施の形態では簡便な説明のために「有料コンテンツ」と命名したが、そのコンテンツは有料でなくてもよい。すなわち、無料のコンテンツであっても、ユーザが選択したコンテンツを第２の実施の形態における「有料コンテンツ」と同様に扱う。車載機３０のユーザがあらかじめコンテンツを取捨選択し、ユーザが選択したコンテンツを当該車載機３０の識別子と関連付けて購入データベース１３Ｃに保存する。換言すれば、機種ごとに必須のコンテンツを機種データベース１３Ｂに記載し、車載機３０ごとにユーザにより選択されたコンテンツを購入データベース１３Ｃに保存してもよい。
【００７５】
上述した実施形態および変形例を、それぞれ組み合わせてもよい。
上記では、実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００７６】
１  …  コンテンツローカル配信システム
１０  …  サーバ
２０  …  携帯端末
２２Ａ  …  長距離通信部
２２Ｂ  …  短距離通信部
２３Ａ  …  コンテンツ記憶領域
２３Ｄ  …  取得済みリスト
２３Ｆ  …  コンテンツローカル配信プログラム
２４  …  入力部
３０  …  車載機
３２  …  通信部
３３Ａ  …  コンテンツ一時記憶領域
【図１】
0006535503.tif 000002
【図２】
0006535503.tif 000003
【図３】
0006535503.tif 000004
【図４】
0006535503.tif 000005
【図５】
0006535503.tif 000006
【図６】
0006535503.tif 000007
【図７】
0006535503.tif 000008
【図８】
0006535503.tif 000009
【図９】
0006535503.tif 000010
【図１０】
0006535503.tif 000011
【図１１】
0006535503.tif 000012