(57)【要約】【課題】特定のコンテンツをダウンロードする時、ダウンロードしようとするコンテンツが携帯端末に保存されているかどうかを判断し、ユーザにコンテンツの同一性の有無を知らせることができる携帯端末及びその動作方法を提供する。【解決手段】携帯端末の動作方法において、サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする段階と、前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する段階とを有する。【選択図】      図５
2013157977.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末の動作方法において、
サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする段階と、
前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する段階とを有することを特徴とする携帯端末の動作方法。
【請求項２】
前記携帯端末内に保存されている少なくとも１つのコンテンツを確認する段階と、
前記コンテンツのヘッダ（ｈｅａｄ）部分を、前記設定された容量だけコピーする段階と、
前記コピーされたヘッダ部分を入力値として、任意のハッシュアルゴリズム（ｈａｓｈ  ａｌｇｏｒｉｔｈｍ）に代入する段階と、
前記ハッシュアルゴリズムから生成された出力値を保存する段階とを有することを特徴とする請求項１に記載の携帯端末の動作方法。
【請求項３】
前記サーバに対して前記少なくとも１つのコンテンツのダウンロードを要求する段階をさらに有することを特徴とする請求項１に記載の携帯端末の動作方法。
【請求項４】
前記サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする段階は、前記コンテンツのヘッダ部分を前記設定された容量だけダウンロードしたかどうかを確認する段階と、
前記設定された容量だけのダウンロードが完了した場合、前記ダウンロードを中断する段階を含むことを特徴とする請求項１に記載の携帯端末の動作方法。
【請求項５】
前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する段階は、前記ダウンロードしたコンテンツのヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入する段階と、
前記ハッシュアルゴリズムから生成された出力値を確認する段階と、
前記出力値を前記携帯端末のハッシュテーブルに保存された値と比較する段階とを含むことを特徴とする請求項１に記載の携帯端末の動作方法。
【請求項６】
前記ハッシュテーブルは、前記携帯端末に保存されている少なくとも１つのコンテンツのヘッダ部分を、前記設定された容量だけコピーして、前記コピーされたヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入し、その結果として、生成された出力値が保存されたテーブルであることを特徴とする請求項５に記載の携帯端末の動作方法。
【請求項７】
前記任意のハッシュアルゴリズムは、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）又はＳＨＡ１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）の少なくとも１つを含むことを特徴とする請求項２又は５に記載の携帯端末の動作方法。
【請求項８】
前記比較の結果、同じコンテンツが保存されていないと判断されると、前記中断されたコンテンツのダウンロードを完了する段階をさらに有することを特徴とする請求項５に記載の携帯端末の動作方法。
【請求項９】
前記比較の結果、同じコンテンツが保存されていると判断されると、前記コンテンツのダウンロード可否を表示する段階と、
前記コンテンツのダウンロードを完了させる命令語を入力する段階と、
前記コンテンツのダウンロードを完了する段階とをさらに有することを特徴とする請求項５に記載の携帯端末の動作方法。
【請求項１０】
前記コンテンツのダウンロードを中断させる命令語を入力する段階と、
前記コンテンツのダウンロードを中断する段階とをさらに有することを特徴とする請求項９に記載の携帯端末の動作方法。
【請求項１１】
携帯端末において、
サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする通信モジュールと、
前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する制御部とを有することを特徴とする携帯端末。
【請求項１２】
前記制御部は、前記携帯端末内に保存されている少なくとも１つのコンテンツを確認し、前記コンテンツのヘッダ部分を前記設定された容量だけコピーし、前記コピーされたヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入し、
前記ハッシュアルゴリズムから生成された出力値を保存する保存部をさらに有することを特徴とする請求項１１に記載の携帯端末。
【請求項１３】
前記通信モジュールは、前記サーバに対して前記少なくとも１つのコンテンツのダウンロードを要求することを特徴とする請求項１１に記載の携帯端末。
【請求項１４】
前記制御部は、前記コンテンツのヘッダ部分を前記設定された容量だけダウンロードしたかどうかを確認し、前記設定された容量だけのダウンロードが完了した場合、前記ダウンロードを中断することを特徴とする請求項１１に記載の携帯端末。
【請求項１５】
前記制御部は、前記ダウンロードしたコンテンツのヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入し、前記ハッシュアルゴリズムから生成された出力値を確認し、前記出力値を前記携帯端末のハッシュテーブルに保存された値と比較することを特徴とする請求項１１に記載の携帯端末。
【請求項１６】
前記ハッシュテーブルは、前記携帯端末に保存されている少なくとも１つのコンテンツのヘッダ部分を前記設定された容量だけコピーして、前記コピーされたヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入し、その結果として、生成された出力値が保存されたテーブルであることを特徴とする請求項１５に記載の携帯端末。
【請求項１７】
前記任意のハッシュアルゴリズムは、ＭＤ５又はＳＨＡ１の少なくとも１つを含むことを特徴とする請求項１２又は１５に記載の携帯端末。
【請求項１８】
前記制御部は、前記比較の結果、同じコンテンツが保存されていないと判断されると、前記中断されたコンテンツのダウンロードを完了することを特徴とする請求項１５に記載の携帯端末。
【請求項１９】
前記比較の結果、同じコンテンツが保存されていると判断されると、前記コンテンツのダウンロード可否を表示する出力部と、
前記コンテンツのダウンロードを完了させる命令語を入力する入力部をさらに有し、
前記制御部は、前記入力部に前記コンテンツのダウンロードを完了させる命令語が入力された場合、前記コンテンツのダウンロードを完了するよう制御することを特徴とする請求項１５に記載の携帯端末。
【請求項２０】
前記入力部に、前記コンテンツのダウンロードを中断させる命令語が入力された場合、
前記制御部は、前記コンテンツのダウンロードを中断するよう制御することを特徴とする請求項１９に記載の携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末及びその動作方法に関し、特に、コンテンツの重複有無を確認することのできる携帯端末及びその動作方法に関する。
【背景技術】
【０００２】
携帯端末の機能の発展に伴い、ユーザはサーバから様々なコンテンツをダウンロードして使用できるようになった。例えば、数々のアプリケーション、動画、写真、及び音楽ファイルなど多様なコンテンツをサーバからダウンロードして利用できる。
【０００３】
しかし、従来はサーバから特定のコンテンツをダウンロードする時、ダウンロードしようとするコンテンツが携帯端末に保存されているコンテンツであるかどうかを知ることができなかった。したがって、携帯端末に保存されているコンテンツであるにもかかわらず、同じコンテンツをサーバから再度ダウンロードするという問題点があった。
【０００４】
上述した重複したコンテンツが携帯端末に保存されているかを判断できる唯一の方法は、ユーザが携帯端末に保存されているコンテンツをいちいち検索して確認するしかなかった。
また、携帯端末の保存空間は限られており、保存されたコンテンツを再度ダウンロードする場合は携帯端末に保存可能なデータ空間の浪費を招くという問題点があった。
したがって、ユーザがサーバから特定のコンテンツをダウンロードする時、同じコンテンツが保存されているかどうかを判断し、それをユーザに知らせることができる携帯端末の装置及び方法の開発が緊急に求められているのが実情である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国特許出願公開第１０−２０１０−００９４２０１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明は上記従来の携帯端末における問題点に鑑みてなされたものであって、本発明の目的は、特定のコンテンツをダウンロードする時、ダウンロードしようとするコンテンツが携帯端末に保存されているかどうかを判断し、ユーザにコンテンツの同一性の有無を知らせることができる携帯端末及びその動作方法を提供することにある。
【０００７】
本発明の他の目的は、携帯端末に保存されているファイルのヘッダ部分を所定容量だけコピーした値をハッシュアルゴリズムの入力値に代入して生成された出力値をテーブルの形に保存し、特定のコンテンツをダウンロードしようとする時、上述したテーブルを用いてコンテンツの同一性有無を迅速に判断できる携帯端末及びその動作方法を提供することにある。
本発明のさらに他の目的は、携帯端末がダウンロードしようとする特定のコンテンツのヘッダ部分の一部だけをダウンロードし、携帯端末に保存されているハッシュテーブルと同一性有無を比較して上述したコンテンツが携帯端末に保存されているかを迅速に判断できる携帯端末及びその動作方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明による携帯端末の動作方法は、携帯端末の動作方法において、サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする段階と、前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する段階とを有することを特徴とする。
【０００９】
上記目的を達成するためになされた本発明による携帯端末は、携帯端末において、サーバから少なくとも１つのコンテンツを設定された容量だけダウンロードする通信モジュールと、前記ダウンロードしたコンテンツの容量で、同じコンテンツが保存されているか否かを判断する制御部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明に係る携帯端末及びその動作方法によれば、携帯端末に保存されているファイルのヘッダ部分を所定容量だけコピーした値をハッシュアルゴリズムの入力値に代入して生成された出力値をテーブルの形に保存し、特定のコンテンツをダウンロードしようとする時、上述したテーブルを用いてコンテンツの同一性有無を迅速に判断できるという効果がある。
また、携帯端末がダウンロードしようとする特定のコンテンツのヘッダ部分の一部だけをダウンロードし、携帯端末に保存されているハッシュテーブルと同一性有無を比較して上述したコンテンツが携帯端末に保存されているかを迅速に判断できるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による携帯端末とサーバの全体構成を示した図である。
【図２】本発明の一実施形態によるＮ常数値の大きさに応じてコンテンツの正確度をパーセント割合で示すグラフである。
【図３】本発明の一実施形態による携帯端末に保存されているハッシュテーブルを示す表である。
【図４】本発明の一実施形態による携帯端末でダウンロードしようとするファイルが保存されたファイルであるか否かを判断して、ユーザに重複ファイルであるか否かを知らせる工程を説明するための図表であり、（ａ）はその時のハッシュテーブルの表であり、（ｂ）はユーザに知らせる表示画面の例示図である。
【図５】本発明の一実施形態によるコンテンツの重複有無を確認できる携帯端末の動作方法を説明するためのフローチャートである。
【図６】本発明の一実施形態による携帯端末の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
次に、本発明に係る携帯端末及びその動作方法を実施するための形態の具体例を図面を参照しながら説明する。
【００１３】
本発明の好ましい実施形態を詳しく説明するにあたって、関連する公知機能又は構成に対する具体的な説明が本発明の要旨を不要に不明確にし得ると判断される場合にはその詳細な説明を省略する。また、類似の機能及び作用を行う部分に対しては図面全体にわたって同じ符号を用いる。
【００１４】
図１は、本発明の一実施形態による携帯端末とサーバの全体構成を示した図である。
図１に示すように、携帯端末１０１でサーバ１０２に保存されている特定のコンテンツをダウンロードしようとする場合に、携帯端末１０１はサーバ１０２にダウンロードしようとする特定のコンテンツを要求する。
【００１５】
携帯端末１０１から特定のコンテンツのダウンロードを要求されたサーバ１０２は携帯端末１０１に特定のコンテンツを伝送する。
携帯端末１０１はサーバ１０２から特定のコンテンツをダウンロードする前にハッシュテーブル（ｈａｓｈ  ｔａｂｌｅ）を生成して保存する。
携帯端末１０１でハッシュテーブルを生成して保存する工程をさらに具体的に述べる。
【００１６】
まず、携帯端末１０１はユーザからＮ常数値を入力されるが、ここで、Ｎ常数値とはハッシュアルゴリズム（ｈａｓｈ  ａｌｇｏｒｉｔｈｍ）の入力値として用いられる値であり、コンテンツの大きさをバイト（ｂｙｔｅ）値に設定されたもので定義される。
より具体的には、後述するハッシュアルゴリズムの入力値として使用するために入力値の大きさを予め定めたものである。
【００１７】
上述のとおり、Ｎ常数値は、ユーザによって設定することができ、予め携帯端末１０１で定義されて保存することもできる。
好ましくは、Ｎ常数値は、ネットワークの速度と携帯端末の処理速度に応じて変わり得る流動的な値であるため、ユーザがその時点のネットワークの速度や携帯端末の処理速度に応じてＮ常数値を設定できることは無論である。
【００１８】
ユーザがＮ常数値を携帯端末１０１に入力すると、携帯端末１０１は入力されたＮ常数値を用いてハッシュアルゴリズムに代入するＸ値を生成する。
ここで、Ｘ値は入力値であり携帯端末１０１に保存されている少なくとも１つのコンテンツのヘッダ（ｈｅａｄ）部分をＮ常数値の分だけコピーした値で定義される。
【００１９】
より具体的には、ユーザによって設定されたＮ常数値が入力された携帯端末１０１は携帯端末１０１に保存されている全てのコンテンツの一番最初の部分に位置するヘッダ部分をＮ常数値の分だけコピーして入力値を生成する。
例えば、ユーザがＮ常数値を１０２４に設定した場合、携帯端末１０１はユーザからＮ常数値を入力され、携帯端末１０１に保存されている全てのコンテンツのヘッダ部分のうち、１０２４バイトの大きさの分だけコンテンツをコピーして入力値を生成する。
【００２０】
ユーザからＮ常数値を入力され、入力値を生成した携帯端末１０１はハッシュアルゴリズムを用いてＹ値を生成する。
好ましくはハッシュアルゴリズムにＭＤ５（Ｍｅｓｓａｇｅ−Ｄｉｇｅｓｔ  ａｌｇｏｒｉｔｈｍ  ５、ＳＨＡ１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）などのアルゴリズムを使用することができる。ここで、Ｙ値とは上述したハッシュアルゴリズムで生成された出力値として定義される。
【００２１】
Ｎ常数値の大きさが１０２４であると仮定し、ＭＤ５ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末１０１は１６進数で配列された入力値を生成する。
その後、生成された入力値をＭＤ５ハッシュアルゴリズムに代入すると、１６進数で表現された３２個の桁数で表現された出力値が生成される。
【００２２】
出力値の他の例として、ＳＨＡ１ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末１０１は１６進数で配列された入力値を生成する。
その後、生成された入力値をＳＨＡ１ハッシュアルゴリズムに代入すると、１６進数で表現された４０個の桁数で表現された出力値が生成される。
【００２３】
ハッシュアルゴリズムを使用して出力値が生成された場合、生成された出力値を最終的にテーブルの形のハッシュテーブルに保存する。
ここで、ハッシュテーブルとは携帯端末１０１に保存された全てのコンテンツのタイトルと出力値が保存されているテーブルとして定義される。
より具体的には、それぞれのコンテンツのタイトルとともに該当コンテンツの出力値が保存されており、携帯端末１０１がサーバ１０２から特定のコンテンツをダウンロードしようとする時、ダウンロードしようとする特定のコンテンツのヘッダ部分のみをダウンロードしてハッシュテーブルに保存されている出力値と迅速に比較できる。
【００２４】
携帯端末１０１がサーバ１０２から特定のコンテンツをダウンロードしようとする時、サーバ１０２に特定のコンテンツのダウンロードを要求する。
携帯端末１０１からダウンロードの要求を受けたサーバ１０２は、要求された特定のコンテンツを携帯端末１０２に伝送する。
サーバ１０２から特定のコンテンツをダウンロードする携帯端末１０１はコンテンツを全部ダウンロードすることなく、上述したＮ常数の分だけをダウンロードしてハッシュアルゴリズムを用いてＲ値を生成する。
【００２５】
ここで、Ｒ値とはダウンロードしようとするコンテンツをＮ常数値の分だけダウンロードして、ハッシュアルゴリズムを介して生成された出力値として定義される。
例えば、Ｎ常数値が１０２４に設定された場合に携帯端末１０１はサーバからダウンロードしようとするコンテンツの一番最初に位置するヘッダファイルのうち１０２４の大きさの分だけをダウンロードして、ハッシュアルゴリズムを用いてＲ値を生成する。
生成したＲ値と携帯端末１０１に保存されているハッシュテーブルにある出力値とを比較し、サーバ１０２からダウンロードしようとするコンテンツが保存されているか否かを判断できる。
上述のとおり、ユーザによって設定されたＮ常数値の大きさが大きいほどその正確度の信頼性は増加する。
【００２６】
図２は、本発明の一実施形態によるＮ常数値の大きさに応じてコンテンツの正確度をパーセント割合で示すグラフである。
まず、Ｎ常数値とはユーザによって設定された値でありハッシュアルゴリズムの入力値として用いられる値であり、コンテンツの大きさをバイト値に設定されたもので定義される。より具体的には、ハッシュアルゴリズムの入力値として使用するためにユーザによって設定された入力値の大きさである。
【００２７】
Ｎ常数値の活用は、まずは、携帯端末でハッシュテーブルを生成して生成されたハッシュテーブルを保存するためにハッシュアルゴリズムの入力値として使用される。
より具体的には、Ｎ常数値をユーザから入力され、携帯端末に保存されている全てのコンテンツのヘッダ部分を入力されたＮ常数値の大きさの分だけコピーして、入力値であるＸ値を生成する。
生成されたＸ値をハッシュアルゴリズムを使用して入力値に代入し、ハッシュアルゴリズムを介して生成された出力値であるＹ値を出力し、ハッシュテーブルを生成して保存する。すなわち、Ｎ常数値はハッシュテーブルを生成するための基本前提として用いられる。
【００２８】
Ｎ常数値の他の活用としては、携帯端末がサーバから特定のコンテンツをダウンロードしようとする時、コンテンツ全体をダウンロードすることなく、Ｎ常数の大きさの分だけを先にダウンロードするために利用される。
例えば、Ｎ常数値の値が１０２４に設定された場合、携帯端末でサーバから特定のコンテンツをダウンロードしようとする時、コンテンツ全部をダウンロードすることなく、ダウンロードしようとするコンテンツの一番最初に位置するヘッダ部分のうち１０２４バイトの大きさの分だけをダウンロードする。すなわち、Ｎ常数値はダウンロードしようとするコンテンツの容量を決めるために使用される。
【００２９】
図２は、Ｎ常数値の大きさに応じてコンテンツの正確度をパーセント割合で示した図であり、図２に示したように、Ｎ常数値の大きさが増加するほどコンテンツの同一性有無に対する信頼度は一般に増加することがわかる。
【００３０】
すなわち、ユーザがＮ常数値の大きさを大きく設定した場合、携帯端末でダウンロードしようとするコンテンツが携帯端末に保存されているコンテンツであるかどうかを判断した結果の信頼性は高くなるということが確認できる。
Ｎ常数値は、ユーザによって設定することができ、予め携帯端末で定義されて保存されることもできる。
【００３１】
好ましくは、Ｎ常数値は、ネットワークの速度と携帯端末の処理速度に応じて変わり得る流動的な値であるため、ユーザがその時点のネットワークの速度や携帯端末の処理速度に応じてＮ常数値を設定できることは無論である。
一般に、１００キロバイト（ｋｉｌｏｂｙｔｅ）の値が設定された場合、８０〜９０パーセント（％）程度の正確度を確認できる。すなわち、Ｎ常数値が１００，０００に設定された場合、携帯端末でダウンロードしようとするコンテンツが携帯端末に保存されているコンテンツであるかどうかを判断した結果の信頼性が８０〜９０パーセント（％）程度になる。
【００３２】
図３は、本発明の一実施形態による携帯端末に保存されているハッシュテーブルを示す表である。
図３に示すように、ハッシュテーブルにはリスト、ファイル名及び出力値を含んで保存され得る。
ここで、ハッシュテーブルとはハッシュアルゴリズムを用いて生成された出力値がリスト、ファイル名と共に保存されているテーブルとして定義される。
【００３３】
より具体的には、携帯端末は、特定のコンテンツをダウンロードする前にハッシュテーブルを生成して保存する。
携帯端末でハッシュテーブルを生成して保存する工程をより具体的に述べる。
まず、携帯端末はユーザからＮ常数値を入力されるが、ここで、Ｎ常数値とはハッシュアルゴリズムの入力値として用いられる値であり、コンテンツの大きさをバイト値に設定されたものとして定義される。
【００３４】
より具体的には、ハッシュアルゴリズムの入力値として使用するために入力値の大きさを予め定めたものである。
上述のとおり、Ｎ常数値は、ユーザによって設定することができ、予め携帯端末で定義されて保存することもできる。好ましくは、Ｎ常数値は、ネットワークの速度と携帯端末の処理速度に応じて変わり得る流動的な値であるため、ユーザがその時のネットワークの速度や携帯端末の処理速度に応じてＮ常数値を設定できることは無論である。
【００３５】
ユーザがＮ常数値を携帯端末に入力すると、携帯端末は入力されたＮ常数値を用いてハッシュアルゴリズムに代入するＸ値を生成する。
ここで、Ｘ値は入力値であり携帯端末に保存されている少なくとも１つのコンテンツのヘッダ部分をＮ常数値の分だけコピーした値として定義される。
【００３６】
より具体的には、ユーザによって設定されたＮ常数値が入力された携帯端末は、携帯端末に保存されている全てのコンテンツの一番最初の部分に位置するヘッダ部分をＮ常数値の分だけコピーして入力値を生成する。
例えば、ユーザがＮ常数値を１０２４に設定した場合、携帯端末はユーザからＮ常数値を入力され、携帯端末に保存されている全てのコンテンツのヘッダ部分のうち、１０２４バイトの大きさの分だけコンテンツをコピーして入力値を生成する。
【００３７】
ユーザからＮ常数値を入力され、入力値を生成した携帯端末はハッシュアルゴリズムを用いてＹ値を生成する。
好ましくはハッシュアルゴリズムとしてＭＤ５、ＳＨＡ１などのアルゴリズムを使用することができる。ここで、Ｙ値とは上述したハッシュアルゴリズムで生成された出力値として定義される。
【００３８】
Ｎ常数値の大きさが１０２４であると仮定し、ＭＤ５ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末は１６進数で配列された入力値を生成する。その後、生成された入力値をＭＤ５ハッシュアルゴリズムに代入すると、１６進数で表現された３２個の桁数で表現された出力値が生成される。
【００３９】
出力値の他の例として、ＳＨＡ１ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末は１６進数で配列された入力値を生成する。その後、生成された入力値をＳＨＡ１ハッシュアルゴリズムに代入すると、１６進数で表現された４０個の桁数で表現された出力値が生成される。
【００４０】
ハッシュアルゴリズムを使用して出力値が生成された場合、生成された出力値を最終的にテーブルの形のハッシュテーブルに保存する。
ここで、ハッシュテーブルとは携帯端末に保存された全てのコンテンツのタイトルと出力値が保存されているテーブルとして定義される。
より具体的には、それぞれのコンテンツのタイトルとともに該当コンテンツの出力値が保存されており、携帯端末がサーバから特定のコンテンツをダウンロードしようとする時、ダウンロードしようとする特定のコンテンツのヘッダ部分のみをダウンロードしてハッシュテーブルに保存されている出力値と迅速に比較できる。
【００４１】
図３に示すハッシュテーブルに基づき、より詳細に説明する。
図３に示すように、ハッシュテーブルには携帯端末に保存されたリスト、ファイル名、出力値が保存されている。
図３に示しているリスト「１」を見てみると、携帯端末には「皆様」という音楽ファイルがｍｐ３の拡張子名で保存されており、それによる出力値は「２３ａｆ６７・・・５２」であることがわかる。
ここで、出力値は上述のとおり、ＭＤ５ハッシュアルゴリズムが用いられた場合は１６進数で総３２個の桁数で表現された出力値が配列され、ＳＨＡ１ハッシュアルゴリズムが用いられた場合は１６進数で総４０個の桁数で表現された出力値が配列され得る。
【００４２】
リスト「２」を見てみると、携帯端末には「君のために」という音楽ファイルがｍｐ３の拡張子名で保存されており、それによる出力値は「４６８ａｂｆ・・・ｄｅ」であることがわかる。
上述のとおり、出力値はＭＤ５ハッシュアルゴリズムが用いられた場合は１６進数に総３２個の桁数で表現された出力値が配列され、ＳＨＡ１ハッシュアルゴリズムが用いられた場合は１６進数で総４０個の桁数で表現された出力値が配列され得る。
【００４３】
リスト「３」を見てみると、携帯端末には「甘い人生」という動画がａｖｉの拡張子名で保存されており、それによる出力値は「１０６８７２・・・６８」であることがわかる。
上述のとおり、出力値はＭＤ５ハッシュアルゴリズムが用いられた場合は１６進数で総３２個の桁数で表現された出力値が配列され、ＳＨＡ１ハッシュアルゴリズムが用いられた場合は１６進数で総４０個の桁数で表現された出力値が配列され得る。
【００４４】
リスト「４」を見てみると、携帯端末には「マッゴ」というアプリケーションがａｐｋという拡張子名で保存されており、それによる出力値は「３４ｆｅｄ１・・・０１」であることがわかる。
上述のとおり、出力値はＭＤ５ハッシュアルゴリズムが用いられた場合は１６進数で総３２個の桁数で表現された出力値が配列され、ＳＨＡ１ハッシュアルゴリズムが用いられた場合は１６進数で総４０個の桁数で表現された出力値が配列され得る。
【００４５】
図４は、本発明の一実施形態による携帯端末でダウンロードしようとするファイルが保存されたファイルであるか否かを判断して、ユーザに重複ファイルであるか否かを知らせる工程を説明するための図表である。
図４の（ａ）は、本発明の一実施形態による携帯端末に保存されているハッシュテーブルを用いて携帯端末でダウンロードしようとするファイルの同一性有無を判断する時のハッシュテーブルの表である。
【００４６】
上述のとおり、まず携帯端末では保存されている全てのコンテンツをハッシュアルゴリズムを用いてハッシュテーブルに生成して保存する。
その後、携帯端末は、ダウンロードしようとする特定のコンテンツに対してサーバにダウンロードを要求する。
携帯端末からダウンロードを要求されたサーバは、携帯端末に要求されたコンテンツを伝送する。
携帯端末では特定のコンテンツのヘッダ部分のうちＮ常数値の大きさの分だけを伝送されてこれをハッシュアルゴリズムの入力値に代入して生成された出力値であるＲ値を生成する。
携帯端末では生成されたＲ値をハッシュテーブルに保存されている出力値であるＹ値と比較する。
【００４７】
例えば、図４の（ａ）に示すように、生成されたＲ値が「１０６８７２・・・６８」である場合に、携帯端末ではハッシュテーブルに保存されているＹ値（出力値）と同じであることを確認できる。
すなわち、ユーザの携帯端末には「甘い人生」という動画ファイルが既に保存されていることを示す。
【００４８】
しかし、従来はダウンロードしようとするファイルが携帯端末に既に保存されているかを確認するためにはユーザがいちいち携帯端末に保存されたファイルを確認しなければならない不便があった。
また、携帯端末には保存可能な保存空間が限られているため、重複してコンテンツを保存した場合は、携帯端末のストレージを浪費する結果を招く問題点もあった。
しかし、本発明の携帯端末ではサーバから「甘い人生」という動画ファイルを全部ダウンロードして保存することなく、既に携帯端末に保存されているファイルということを確認できる長所がある。
【００４９】
図４の（ｂ）は、本発明の一実施形態による携帯端末がサーバから特定のコンテンツをダウンロードしようとする場合、既に携帯端末にそのコンテンツが保存されている場合にそれをユーザに知らせる表示画面の例示図である。
図４の（ｂ）に示すように、携帯端末はサーバからダウンロードしようとするファイルが既に携帯端末に保存されている場合にこれを表示してユーザに知らせることができる。
【００５０】
例えば、携帯端末がダウンロードしようとする「甘い人生」という動画が既に携帯端末に保存されている場合、既に保存されている動画であることを通知することと、ダウンロードを継続して実行するか否かをユーザに問う。
より具体的には、上述のように本発明による携帯端末はサーバからファイルを全部ダウンロードすることなく、ダウンロードしようとするファイルのヘッダ部分のうちＮ常数値の分だけをダウンロードして、既に保存されているファイルであるか否かを判断できる。
【００５１】
したがって、図４の（ｂ）に示すように、携帯端末で一部の容量のみをダウンロードした結果、同じファイルが既に保存されていると判断されると、それをユーザに告知する。
すなわち、ユーザは上述した告知事項を確認し、ダウンロードを続けるか否かを携帯端末に入力できる。
もし、携帯端末がユーザから同じファイルをダウンロードしないという命令語を入力された場合、携帯端末はダウンロードを中断する。
逆に、ユーザから同じファイルをダウンロードするという命令語を入力された場合、同じファイルが携帯端末に保存されているにもかかわらずダウンロードを続行して保存する。なぜなら、同じファイルがある場合であっても既に保存されているファイルの音原の音質が良くないか、映像がユーザに気に入られていない場合もあるからである。
【００５２】
図５は、本発明の一実施形態によるコンテンツの重複有無を確認できる携帯端末の動作方法を説明するためのフローチャートである。
図５に示すように、まず携帯端末はユーザからＮ常数値を入力される（ステップＳ５０１）。
ここで、Ｎ常数値とはハッシュアルゴリズムの入力値として用いられる値であり、コンテンツの大きさをバイト値に設定されたものとして定義される。
【００５３】
より具体的には、ハッシュアルゴリズムの入力値として使用するために入力値の大きさを予め定めたものである。上述のとおり、Ｎ常数値はユーザによって設定することができ、予め携帯端末で定義されて保存することもできる。好ましくは、Ｎ常数値はネットワークの速度と携帯端末の処理速度に応じて変わり得る流動的な値であるため、ユーザがその時のネットワークの速度や携帯端末の処理速度に応じてＮ常数値を設定できることは無論である。
【００５４】
ユーザからＮ常数値を入力された携帯端末はハッシュアルゴリズムに入力するＸ値を生成する（ステップＳ５０２）。
ここで、Ｘ値は入力値であり携帯端末に保存されている少なくとも１つのコンテンツのヘッダ部分をＮ常数値の分だけコピーした値として定義される。
より具体的には、ユーザによって設定されたＮ常数値を入力された携帯端末は携帯端末に保存されている全てのコンテンツの一番最初の部分に位置するヘッダ部分をＮ常数値の分だけコピーして入力値を生成する。例えば、ユーザがＮ常数値を１０２４に設定した場合、携帯端末はユーザからＮ常数値を入力され、携帯端末に保存されている全てのコンテンツのヘッダ部分のうち、１０２４バイトの大きさの分だけコンテンツをコピーして入力値を生成する。
【００５５】
入力値であるＸ値を生成した携帯端末は、ハッシュアルゴリズムで出力値であるＹ値を生成する（ステップＳ５０３）。
ここで、Ｙ値とは上述したハッシュアルゴリズムで生成された出力値として定義される。
Ｎ常数値の大きさが１０２４と仮定し、ＭＤ５ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末は１６進数で配列された入力値を生成する。その後、生成された入力値をＭＤ５ハッシュアルゴリズムに代入すると、１６進数で表現された３２個の桁数で表現された出力値が生成される。
【００５６】
出力値の他の例として、ＳＨＡ１ハッシュアルゴリズムを例にして説明する。
Ｎ常数値の大きさが１０２４に設定された場合、携帯端末は１６進数で配列された入力値を生成する。その後、生成された入力値をＳＨＡ１ハッシュアルゴリズムに代入すると、１６進数で表現された４０個の桁数で表現された出力値が生成される。
【００５７】
ハッシュアルゴリズムを用いてＹ値を生成した携帯端末はＹ値（出力値）が配列されたハッシュテーブルを生成して保存する（ステップＳ５０４）。
ここで、ハッシュテーブルとは携帯端末に保存された全てのコンテンツのタイトルと出力値が保存されているテーブルとして定義される。
より具体的には、それぞれのコンテンツのタイトルと共に該当コンテンツの出力値が保存されており、携帯端末がサーバから特定のコンテンツをダウンロードしようとする時、ダウンロードしようとする特定のコンテンツのヘッダ部分のみをダウンロードしてハッシュテーブルに保存されている出力値と迅速に比較する時に使用される。
【００５８】
その後、携帯端末でダウンロードしようとするコンテンツのＲ値を生成する（ステップＳ５０５）。
ここで、Ｒ値とはダウンロードしようとするコンテンツをＮ常数値の分だけダウンロードし、ハッシュアルゴリズムを介して生成された出力値として定義される。
例えば、Ｎ常数値が１０２４に設定された場合に携帯端末はサーバからダウンロードしようとするコンテンツの一番最初に位置するヘッダファイルのうち１０２４の大きさの分だけダウンロードして、ハッシュアルゴリズムを用いてＲ値を生成する。生成したＲ値で携帯端末に保存されているハッシュテーブルにある出力値と比較して、サーバからダウンロードしようとするコンテンツが既に保存されているかどうかを判断できる。上述のとおり、ユーザによって設定されたＮ常数値の大きさが大きいほどその正確度の信頼性は増加する。
【００５９】
携帯端末では生成されたＲ値を用いてハッシュテーブルにＲ値と同じ値が保存されているかどうかを判断する（ステップＳ５０６）。
より具体的には、携帯端末がサーバから特定のコンテンツをダウンロードしようとする時、サーバに特定のコンテンツのダウンロードを要求する。
携帯端末からダウンロードの要求を受けたサーバは要求された特定のコンテンツを携帯端末に伝送する。
サーバから特定のコンテンツをダウンロードする携帯端末はコンテンツを全部ダウンロードすることなく、上述したＮ常数値の分だけダウンロードしてハッシュアルゴリズムを用いてＲ値を生成する。
生成したＲ値と携帯端末に保存されているハッシュテーブルにある出力値と比較することで、サーバからダウンロードしようとするコンテンツが保存されているかを判断できる。上述のとおり、ユーザによって設定されたＮ常数値の大きさが大きいほどその正確度の信頼性は増加する。
【００６０】
上述したステップＳ５０６で、携帯端末でハッシュテーブルにＲ値と同じ値が保存されていると判断されると、コンテンツのダウンロードを継続して実行するという命令語がユーザから入力されたか否かを判断する（ステップＳ５０７）。
より具体的には、本発明では携帯端末でダウンロードしようとするコンテンツが既に携帯端末に保存されているコンテンツであると判断されると、それをユーザに告知してその後の工程処理の命令を入力させる。すなわち、同じコンテンツが既に携帯端末に保存されていることをユーザに知らせ、ダウンロードを中止するか又はダウンロードを継続し完了するかはユーザが選択できるようにする。
【００６１】
携帯端末に同じコンテンツが保存されているが、ユーザからダウンロードを継続して実行しろという命令語を入力された携帯端末は、コンテンツのダウンロードを完了させる（ステップＳ５０８）。
例えば、同じコンテンツが携帯端末に保存されているが、保存されているコンテンツの音質が良くないか、映像が鮮明ではない場合などはユーザからダウンロードの完了を選択されることがある。もし、携帯端末でハッシュテーブルにＲ値と同じ値が保存されていないと判断されると、コンテンツのダウンロードを完了することは無論である。
【００６２】
もし、上述した工程（ステップＳ５０７）で、ユーザからコンテンツのダウンロードを継続して実行しろという命令語を入力されなかった場合、コンテンツのダウンロードを中断して（ステップＳ５０９）全ての工程を終了することは無論である。
【００６３】
図６は、本発明の一実施形態による携帯端末の構成を示すブロック図である。
図６を参照すると、本発明による携帯端末は、制御部６０１、入力部６０２、出力部６０３、通信モジュール６０４、及び保存部６０５を含んで構成される。
【００６４】
制御部６０１は、携帯端末の全般的な動作を制御する。
例えば、制御部６０１は、ダウンロードしたコンテンツの容量で、同一コンテンツが保存されているか否かを判断する。
【００６５】
また、携帯端末内に保存されている少なくとも１つのコンテンツを確認し、コンテンツのヘッダ（ｈｅａｄ）部分を設定された容量だけコピーして、コピーされたヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入する。
さらに、コンテンツのヘッダ部分を設定された容量だけダウンロードしたかを確認し、設定された容量だけのダウンロードが完了した場合、ダウンロードを中断する。
また、ダウンロードしたコンテンツのヘッダ部分を入力値として、任意のハッシュアルゴリズムに代入して、ハッシュアルゴリズムから生成された出力値を確認し、出力値を携帯端末のハッシュテーブルに保存された値と比較する。
さらに、比較の結果、同じコンテンツが保存されていないと判断されると、中断されたコンテンツのダウンロードを継続し完了する。また、コンテンツのダウンロードを中断するようにする命令語を入力された場合、コンテンツのダウンロードを中断する。
【００６６】
入力部６０２は、ユーザの選択によって発生する入力データを制御部５０１に提供する。
例えば、入力部６０２は、コンテンツのダウンロードを完了させる命令語が入力されるか、又は、コンテンツのダウンロードを中断させる命令語が入力される。
【００６７】
出力部６０３は、制御部６０１の制御に応じて携帯端末の状態情報、メニュー画面、及びストーリー情報を表示する。
例えば、出力部６０３は、比較の結果、同じコンテンツが保存されていると判断されると、コンテンツのダウンロード可否を表示する。
【００６８】
通信モジュール６０４は、音声及びデータ通信のためにアンテナを介して送受信された信号を処理する。
例えば、通信モジュール６０４はサーバから少なくとも１つのコンテンツを設定された容量だけダウンロードして、サーバに少なくとも１つのコンテンツに対してダウンロードを要求する。
【００６９】
保存部６０５は、携帯端末の動作を制御するためのプログラムを保存するプログラム保存部及びプログラム遂行中に発生するデータを保存するデータ保存部で構成され得る。
例えば、保存部６０５は、ハッシュアルゴリズムから生成された出力値を保存する。
【００７０】
上述したブロック構成で、制御部６０１は携帯端末の全般的な機能を行うことができる。本発明では、これらを別に構成して示したのは各機能を区別して説明するためである。
したがって、実際の製品を具現する場合に携帯端末のすべての機能を制御部６０１で処理するように構成することもでき、機能のうち一部のみを制御部６０１で処理するように構成することもできる。
【００７１】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００７２】
１０１    携帯端末
１０２    サーバ
６０１    制御部
６０２    入力部
６０３    出力部
６０４    通信モジュール
６０５    保存部
【図１】
2013157977.tif 000003
【図２】
2013157977.tif 000004
【図３】
2013157977.tif 000005
【図４】
2013157977.tif 000006
【図５】
2013157977.tif 000007
【図６】
2013157977.tif 000008