(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】モバイル環境におけるリソースダウンロード方法、記録媒体、およびリソースダウンロードシステム
(51)【国際特許分類】
G06F 9/48 20060101AFI20221018BHJP
G06F 9/50 20060101ALI20221018BHJP
H04L 67/06 20220101ALI20221018BHJP
【FI】
G06F9/48 300Z
G06F9/50 120Z
H04L67/06
(21)【出願番号】P 2016157269
(22)【出願日】2016-08-10
【審査請求日】2019-06-20
【審判番号】
【審判請求日】2021-08-19
(31)【優先権主張番号】10-2015-0113695
(32)【優先日】2015-08-12
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】313011434
【氏名又は名称】エヌエイチエヌ コーポレーション
【住所又は居所原語表記】(Sampyeong-dong),16,Daewangpangyo-ro 645 beon-gil,Bundang-gu,Seongnam-si,Gyeonggi-do Republic of Korea
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】チャン ギョン ヨル
(72)【発明者】
【氏名】イ ギ フン
(72)【発明者】
【氏名】イ ドン ス
(72)【発明者】
【氏名】キム テ ギョン
(72)【発明者】
【氏名】チョ ウ ジン
【合議体】
【審判長】篠原 功一
【審判官】山崎 慎一
【審判官】須田 勝巳
(56)【参考文献】
【文献】米国特許出願公開第2011/0225302(US,A1)
【文献】国際公開第2014/028116(WO,A1)
【文献】特開2000-299664(JP,A)
【文献】国際公開第2004/068361(WO,A1)
【文献】人力検索はてな,[online],2011年5月26日,第1頁-第7頁,[令和3年4月12日検索],インターネット<URL:https://q.hatena.ne.jp/1306341425>
(58)【調査した分野】(Int.Cl.,DB名)
G06F9/48
G06F9/50
H04L67/06
(57)【特許請求の範囲】
【請求項1】
モバイル環境においてリソースをダウンロード(Download)する方法であって、
モバイル端末から第1サーバへの接続の試みを感知し、
前記第1サーバへの接続の試みに応答し、前記第1サーバのための第1スレッドを実行し、
前記第1スレッドにより前記第1サーバの第1リソースのダウンロードを実行し、
前記第1リソースのダウンロードを実行している途中に、前記モバイル端末から第2サーバへの接続の試みを感知し、
前記第2サーバへの接続の試みに応答し、前記第2サーバのための第2スレッドをマルチスレッドにより実行し、
前記第2スレッドにより前記第2サーバの第2リソースのダウンロードを実行し、
それぞれファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍すること、を含み、
前記第1リソースは、第1アプリケーションであり、
前記第2リソースは、前記第1アプリケーションとは異なる第2アプリケーションであり、
前記接続を試みたサーバ順に前記第1スレッド及び前記第2スレッドを並列的に動作させ、
前記第1サーバへの接続の試みと前記第2サーバへの接続の試みとが、前記モバイル端末のユーザにより互いに異なるタイミングで実行さ
れ、
前記第1スレッドによる前記第1リソースのファイルのダウンロードは、前記第2スレッドにより前記第2リソースの予めダウンロードされたファイルを解凍するタイミングで実行され、
前記第2スレッドによる前記第2リソースのファイルのダウンロードは、前記第1スレッドにより前記第1リソースの予めダウンロードされたファイルを解凍するタイミングで実行されることを特徴とする、モバイル環境におけるリソースダウンロード方法。
【請求項2】
前記マルチスレッドによりネットワークの資源を分散させることにより、待機時間なく前記第1リソース及び前記第2リソースそれぞれのダウンロードを実行すること、をさらに含む、請求項1に記載のモバイル環境におけるリソースダウンロード方法。
【請求項3】
それぞれファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍することは、
前記第1スレッド及び前記第2スレッドそれぞれにより前記第1サーバ及び前記第2サーバに前記第1リソース及び前記第2リソースを要請することにより、前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースを受信し、前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースに対してダウンロードを実行すること、を含む、請求項1に記載のモバイル環境におけるリソースダウンロード方法。
【請求項4】
それぞれファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍することは、
前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースに対して前記ダウンロードが完了することにより、前記第1リソース及び前記第2リソースを解凍してストレージに記録すること、を含む、請求項3に記載のモバイル環境におけるリソースダウンロード方法。
【請求項5】
それぞれファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍することは、
前記第1スレッド及び前記第2スレッドそれぞれで実行される前記第1リソース及び前記第2リソースに対するダウンロードの速度がそれぞれ異なり、前記ダウンロードが完了したスレッドから優先的に休眠状態に移行すること、を含む、請求項3に記載のモバイル環境におけるリソースダウンロード方法。
【請求項6】
前記第1リソース及び前記第2リソースをファイル単位に圧縮してそれぞれ対応する前記第1サーバ及び前記第2サーバにアップロードすること、をさらに含む、請求項1に記載のモバイル環境におけるリソースダウンロード方法。
【請求項7】
コンピュータシステムがモバイル環境においてリソースをダウンロードするように制御する命令を含むコンピュータで読み取り可能な記録媒体であって、
前記命令は、
モバイル端末から第1サーバへの接続の試みを感知し、
前記第1サーバへの接続の試みに応答し、前記第1サーバのための第1スレッドを実行し、
前記第1スレッドにより前記第1サーバの第1リソースのダウンロードを実行し、
前記第1リソースのダウンロードを実行している途中に、前記モバイル端末から第2サーバへの接続の試みを感知し、
前記第2サーバへの接続の試みに応答し、前記第2サーバのための第2スレッドをマルチスレッドにより実行し、
前記第2スレッドにより前記第2サーバの第2リソースのダウンロードを実行し、
それぞれファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍すること、を含み、
前記第1リソースは、第1アプリケーションであり、
前記第2リソースは、前記第1アプリケーションとは異なる第2アプリケーションであり、
前記接続を試みたサーバ順に前記第1スレッド及び前記第2スレッドを並列的に動作させ、
前記第1サーバへの接続の試みと前記第2サーバへの接続の試みとが、前記モバイル端末のユーザにより互いに異なるタイミングで実行さ
れ、
前記第1スレッドによる前記第1リソースのファイルのダウンロードは、前記第2スレッドにより前記第2リソースの予めダウンロードされたファイルを解凍するタイミングで実行され、
前記第2スレッドによる前記第2リソースのファイルのダウンロードは、前記第1スレッドにより前記第1リソースの予めダウンロードされたファイルを解凍するタイミングで実行されること、を含む方法によって前記コンピュータシステムを制御する、コンピュータで読み取り可能な記録媒体。
【請求項8】
モバイル環境においてリソースをダウンロードするシステムであって、
モバイル端末から第1サーバへの接続の試み及び第2サーバへの接続の試みを感知する感知部と、
前記第1サーバへの接続の試み及び第2サーバへの接続の試みに応答し、マルチスレッドにより前記第1サーバのための第1スレッド及び前記第2サーバのための第2スレッドそれぞれを実行させる実行部と、
前記第1スレッド及び前記第2スレッドそれぞれにより前記第1サーバに対応する第1リソース及び前記第2サーバに対応する第2リソースのダウンロードを実行することにより、ファイル単位に圧縮された前記第1リソース及び前記第2リソースを解凍するダウンロード部と、
を備え、
前記第1リソースは、第1アプリケーションであり、
前記第2リソースは、前記第1アプリケーションとは異なる第2アプリケーションであり、
前記感知部は、前記第1アプリケーションのダウンロードを実行している途中に、前記モバイル端末から第2サーバへの接続の試みを感知し、
前記実行部は、前記接続を試みたサーバ順に前記第1スレッド及び前記第2スレッドを並列的に動作させ、
前記第1サーバへの接続の試みと前記第2サーバへの接続の試みとが、前記モバイル端末のユーザにより互いに異なるタイミングで実行され、
前記第1スレッドによる前記第1リソースのファイルのダウンロードは、前記第2スレッドにより前記第2リソースの予めダウンロードされたファイルを解凍するタイミングで実行され、
前記第2スレッドによる前記第2リソースのファイルのダウンロードは、前記第1スレッドにより前記第1リソースの予めダウンロードされたファイルを解凍するタイミングで実行されることを特徴とする、モバイル環境におけるリソースダウンロードシステム。
【請求項9】
前記マルチスレッドによりネットワークの資源を分散させることにより、待機時間なく前記第1リソース及び前記第2リソースそれぞれのダウンロードを実行することをさらに含む、請求項8に記載のモバイル環境におけるリソースダウンロードシステム。
【請求項10】
前記ダウンロード部は、
前記第1スレッド及び前記第2スレッドそれぞれにより前記第1サーバ及び前記第2サーバに前記第1リソース及び前記第2リソースを要請することにより、前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースを受信し、前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースに対してダウンロードを実行することを特徴とする、請求項8に記載のモバイル環境におけるリソースダウンロードシステム。
【請求項11】
前記ダウンロード部は、
前記ファイル単位に圧縮された前記第1リソース及び前記第2リソースに対して前記ダウンロードが完了することにより、前記第1リソース及び前記第2リソースを解凍してストレージに記録することを特徴とする、請求項10に記載のモバイル環境におけるリソースダウンロードシステム。
【請求項12】
前記ダウンロード部は、
前記第1スレッド及び前記第2スレッドそれぞれで実行される前記第1リソース及び前記第2リソースに対するダウンロードの速度がそれぞれ異なり、前記ダウンロードが完了したスレッドから優先的に休眠状態に移行することを特徴とする、請求項10に記載のモバイル環境におけるリソースダウンロードシステム。
【請求項13】
前記第1リソース及び前記第2リソースをファイル単位に圧縮してそれぞれ対応する前記第1サーバ及び前記第2サーバに送信するアップロード部をさらに備える、請求項10に記載のモバイル環境におけるリソースダウンロードシステム。
【発明の詳細な説明】
【技術分野】
【0001】
下記の説明は、モバイル環境においてダウンロードの速度を向上させるための技術に関する。
【背景技術】
【0002】
図1は、リソースダウンロードシステムの動作を説明するための図である。
【0003】
リソースダウンロードシステムは、迅速な実現のために、一般的にはシングルスレッド(Single-Thread)100によりリソースのダウンロードを実行している。例えば、リソースダウンロードシステムは、シングルスレッドによりサーバに接続し、リソースをダウンロードすることができる。リソースダウンロードシステムは、リソースのダウンロードの完了にしたがってストレージに記録することができる。
【0004】
しかし、従来のリソースダウンロードシステムは、シングルスレッドにより複数のリソースのダウンロードを実行する場合、1つのリソースに対してダウンロードを完了させた後でなければ、他のリソースのダウンロードを実行することができないという不便がある。さらに、従来のリソースダウンロードシステムは、シングルスレッドによりリソースのダウンロードを実行する場合、サーバに接続するための待機時間、接続後の要請応答時間、ファイル記録時間などによってネットワーク資源を効率良く使用することができないという問題も存在する。
【0005】
韓国公開特許第10-2013-0116166号公報では、マルチ-コアプロセッサ用マルチスレッドアプリケーション-認知メモリスケジューリング技法に関して開示している。
【発明の概要】
【発明が解決しようとする課題】
【0006】
一実施形態に係るリソースダウンロードシステムは、マルチスレッドによりモバイル環境で最適化したダウンロード方式を提供する。
【0007】
一実施形態に係るリソースダウンロードシステムは、モバイル端末でリソースのダウンロード速度を向上させることにより、ユーザの離脱を最小化させるための方法を提供する。
【課題を解決するための手段】
【0008】
一実施形態によると、モバイル環境においてリソースをダウンロード(Download)する方法は、モバイル端末から少なくとも1つのサーバへの接続の試みを感知し、前記サーバへの接続の試みに応答し、マルチスレッド(Multi-Thread)によりそれぞれのスレッド(Thread)を実行させ、および前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)すること、を含み、前記接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、前記それぞれのスレッドにより前記サーバと関連するリソースをダウンロードしてもよい。
【0009】
一側によると、前記モバイル端末から少なくとも1つのサーバへの接続の試みを感知することは、前記スレッドにより前記サーバに対応するリソースのダウンロードを実行している途中に、さらに他のサーバへの接続を感知することを含んでもよい。
【0010】
さらに他の一側によると、前記モバイル環境におけるリソースダウンロード方法は、前記少なくとも1つのサーバのうち第1サーバに接続することによって第1スレッドにより第1リソースのダウンロードを実行している途中に、第2サーバへの接続の試みを感知することによって第2スレッドにより第2リソースのダウンロードを実行することにより、前記それぞれのスレッドを並列的に動作させることをさらに含んでもよい。
【0011】
さらに他の一側によると、前記モバイル環境におけるリソースダウンロード方法は、前記マルチスレッドによりネットワークの資源を分散させることにより、待機時間なくそれぞれのリソースのダウンロードを実行することをさらに含んでもよい。
【0012】
さらに他の一側によると、前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)することは、前記それぞれのスレッドにより前記サーバに前記リソースを要請することにより、前記ファイル単位に圧縮されたリソースを受信し、前記ファイル単位に圧縮されたリソースに対してダウンロードを実行することを含んでもよい。
【0013】
さらに他の一側によると、前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)することは、前記ファイル単位に圧縮されたリソースに対して前記ダウンロードが完了することにより、前記リソースを解凍してストレージに記録することを含んでもよい。
【0014】
さらに他の一側によると、前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)することは、前記それぞれのスレッドで実行されるリソースに対するダウンロードの速度がそれぞれ異なり、前記ダウンロードが完了したスレッドから優先的に休眠状態に移行することを含んでもよい。
【0015】
さらに他の一側によると、前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)することは、前記ファイル単位に圧縮されたリソースに対してダウンロードを実行することにより、前記ダウンロードにかかる時間を最小化させることを含んでもよい。
【0016】
一実施形態によると、コンピュータシステムがモバイル環境においてリソースをダウンロード(Download)するように制御する命令(instruction)を含むコンピュータで読み取り可能な媒体であって、前記命令は、モバイル端末から少なくとも1つのサーバへの接続の試みを感知し、前記サーバへの接続の試みに応答し、マルチスレッド(Multi-Thread)によりそれぞれのスレッド(Thread)を実行させ、および前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)すること、を含み、前記接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、前記それぞれのスレッドにより前記サーバと関連するリソースをダウンロードすることを含む方法によって前記コンピュータシステムを制御してもよい。
【0017】
一実施形態によると、モバイル環境においてリソースをダウンロード(Download)するシステムは、モバイル端末から少なくとも1つのサーバへの接続の試みを感知する感知部、前記サーバへの接続の試みに応答し、マルチスレッド(Multi-Thread)によりそれぞれのスレッド(Thread)を実行させる実行部、および前記それぞれのスレッドにより前記サーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍(Unpacking)するダウンロード部を備え、前記接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、前記それぞれのスレッドにより前記サーバと関連するリソースをダウンロードしてもよい。
【0018】
一側によると、前記感知部は、前記スレッドにより前記サーバに対応するリソースのダウンロードを実行している途中に、さらに他のサーバの接続を感知してもよい。
【0019】
さらに他の一側によると、前記モバイル環境におけるリソースダウンロードシステムは、前記少なくとも1つのサーバのうち第1サーバに接続することによって第1スレッドにより第1リソースのダウンロードを実行している途中に、第2サーバへの接続の試みを感知することによって第2スレッドにより第2リソースのダウンロードを実行することにより、前記それぞれのスレッドを並列的に動作させてもよい。
【0020】
さらに他の一側によると、前記モバイル環境におけるリソースダウンロードシステムは、前記マルチスレッドによりネットワークの資源を分散させることにより、待機時間なくそれぞれのリソースのダウンロードを実行してもよい。
【0021】
さらに他の一側によると、前記ダウンロード部は、前記それぞれのスレッドにより前記サーバに前記リソースを要請することにより、前記ファイル単位に圧縮されたリソースを受信し、前記ファイル単位に圧縮されたリソースに対してダウンロードを実行してもよい。
【0022】
さらに他の一側によると、前記ダウンロード部は、前記ファイル単位に圧縮されたリソースに対して前記ダウンロードが完了することにより、前記リソースを解凍してストレージに記録してもよい。
【0023】
さらに他の一側によると、前記ダウンロード部は、前記それぞれのスレッドで実行されるリソースに対するダウンロードの速度がそれぞれ異なり、前記ダウンロードが完了したスレッドから優先的に休眠状態に移行してもよい。
【0024】
さらに他の一側によると、前記ダウンロード部は、前記ファイル単位に圧縮されたリソースに対してダウンロードを実行することにより、前記ダウンロードにかかる時間を最小化させてもよい。
【発明の効果】
【0025】
一実施形態に係るリソースダウンロードシステムは、モバイル環境でマルチスレッドによりリソースのダウンロードを実行することにより、ダウンロードの所要時間およびユーザの離脱を最小化させることができる。
【0026】
一実施形態に係るリソースダウンロードシステムは、マルチスレッド方式を利用することにより、モバイル端末のハードウェアを効率良く利用することができる。リソースダウンロードシステムは、最新のモバイル環境においてさらに最適化した形態のダウンロード方式であるため、その効果を倍増させることができる。
【0027】
一実施形態に係るリソースダウンロードシステムは、ファイル単位に圧縮されたリソースをダウンロードする自動パッケージング方法を実行することにより、ダウンロードの速度を向上させることができる。
【図面の簡単な説明】
【0028】
【
図1】リソースダウンロードシステムの動作を説明するための図である。
【
図2】一実施形態における、リソースダウンロードシステムの概括的な動作を説明するための図である。
【
図3】一実施形態における、リソースダウンロードシステムの構成を説明するための図である。
【
図4】一実施形態における、リソースダウンロードシステムの内部構成を説明するためのブロック図である。
【
図5】一実施形態における、リソースダウンロードシステムの具体的な動作を説明するための図である。
【
図6】一実施形態における、リソースダウンロードシステムのリソースダウンロード方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0029】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0030】
実施形態によると、リソースダウンロードシステムは、モバイル端末でリソースのダウンロード速度を向上させることにより、ユーザの離脱を最小化させるための方案を提案しようとする。リソースダウンロードシステムは、マルチスレッドによりリソースのダウンロードを実行してもよい。「スレッド」(Thread)とは、コンピュータプログラム(またはアプリケーション)を実行するときにプロセス内部に存在する実行経路であって、一度に複数のアクションまたは順次的アクションを実行できるようにするものである。リソースダウンロードシステムは、マルチスレッドにより複数のスレッドを実行してもよい。
【0031】
図2は、一実施形態における、リソースダウンロードシステムの概括的な動作を説明するための図である。
【0032】
リソースダウンロードシステム200とモバイル端末210は、ネットワーク220を介してデータを送受信してもよく、ネットワークの構成は、
図2に示すものよりもさらに多いかさらに少ないコンポーネント、コネクション、および相互作用を含んでもよい。
【0033】
ネットワーク220は、データプロセッシングシステム、コンピュータ、サーバ、各種装置間の通信リンクを提供するために使用される媒体であってもよい。ネットワーク220とは、リソースダウンロードシステム200とモバイル端末210とが互いに通信するためにTCP/IP(Transmission Control Protocol Internet Protocol)プロトコルスイート(suite of protocols)を使用するネットワークおよびゲートウェイのワールドワイドコレクションを示してもよい。一部の例において、ネットワーク220は、イントラネット、LAN(local area network)、またはWAN(wide area network)を含んでもよいし、その一部であってもよい。一部の例において、ネットワーク220は、インターネットの一部であってもよい。
【0034】
モバイル端末210は、スマートフォン(smart phone)、タブレット(tablet)、ウェアラブルコンピュータ(wearable computer)などのように携帯性を備えた機器であって、リソースダウンロードシステム200と関連するモバイルサイトへの接続、またはサービス専用アプリケーションのインストールおよび実行が可能なすべての端末装置を意味してもよい。ここで、モバイル端末210は、モバイルサイトまたは専用アプリケーションの制御下で、サービス画面の構成、データ入力、データ送受信、データ格納などのようなサービス全般の動作を実行してもよい。
【0035】
リソースダウンロードシステム200は、ダウンロードサービスを提供するダウンロードプラットフォーム上に実現されてもよく、ダウンロードサービスを利用するクライアント(client)であるモバイル端末210を対象にリソースのダウンロードを実行する環境を提供してもよい。
【0036】
リソースダウンロードシステム200は、ダウンロードサービスを提供するダウンロードサーバ(図示せず)のプラットフォームに含まれる形態で実現されてもよいが、これに限定されることはなく、ダウンロードサーバとは別のシステムで構築され、ダウンロードサーバとの連動によってリソースをダウンロードする形態で実現されることも可能である。
【0037】
リソースダウンロードシステム200は、少なくとも一部の構成要素がモバイル端末210上にインストールされるアプリケーション形態で実現されてもよいし、クライアント-サーバ環境でサービスを提供するプラットフォームに含まれる形態で実現されることも可能である。
【0038】
図3は、一実施形態における、リソースダウンロードシステムの構成を説明するための図である。
【0039】
リソースダウンロードシステム300は、ユニティ プラグイン(Unity Plugin)310、プラットフォーム ブリッジ(Platform Bridge)320、コア ライブラリィ(Core Library)330モジュールで構成されてもよい。
【0040】
ユニティ プラグイン310は、ユニティ開発のためのプラグインであって、ブリッジモジュールを通じて連結されてもよい。
【0041】
プラットフォーム ブリッジ320は、それぞれのプラットフォームに連結するためのブリッジモジュールであって、それぞれのプラットフォームに合った言語で作成されてもよい。プラットフォーム ブリッジ320は、Win32 Bridge、MacOs Bridge、iOS Bridge、Android(登録商標) Bridgeを含んでもよい。プラットフォーム ブリッジ320は、Win32をC++、MacとiOSをObjective C、AndroidをJava(登録商標)またはJniで作成してもよい。
【0042】
コア ライブラリィ330は、C++で作成されたライブラリであって、http Connectionを管理してもよい。コア ライブラリィ330は、File PackとUnpackを実行してもよい。
【0043】
一実施形態に係るリソースダウンロードシステムは、プラットフォームに制限されることなく、モバイル端末で使用することができる。
【0044】
図4は、一実施形態における、リソースダウンロードシステムの内部構成を説明するためのブロック図である。
【0045】
リソースダウンロードシステム400は、モバイル環境で接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、それぞれのスレッドによりリソースをダウンロードするためのものであって、感知部410、実行部420、およびダウンロード部430を備えてもよい。
【0046】
感知部410は、モバイル端末から少なくとも1つのサーバへの接続の試みを感知してもよい。感知部410は、スレッドによりサーバに対応するリソースのダウンロードを実行している途中に、さらに他のサーバへの接続を感知してもよい。
【0047】
実行部420は、サーバへの接続の試みに応答し、マルチスレッド(Multi-Thread)によりそれぞれのスレッドを実行させてもよい。
【0048】
ダウンロード部430は、それぞれのスレッドによりサーバに対応するリソースのダウンロードを実行することにより、ファイル単位に圧縮されたリソースを解凍してもよい。ダウンロード部430は、それぞれのスレッドによりサーバにリソースを要請することにより、ファイル単位に圧縮されたリソースを受信し、ファイル単位に圧縮されたリソースに対してダウンロードを実行してもよい。
【0049】
ダウンロード部430は、ファイル単位に圧縮されたリソースに対してダウンロードが完了することにより、リソースを解凍してストレージに記録してもよい。ダウンロード部430は、それぞれのスレッドで実行されるリソースに対するダウンロードの速度がそれぞれ異なり、ダウンロードが完了したスレッドから優先的に休眠状態に移行してもよい。
【0050】
図5は、一実施形態における、リソースダウンロードシステムの具体的な動作を説明するための図である。
【0051】
リソースダウンロードシステムは、モバイル環境でマルチスレッド500により接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、それぞれのスレッドによりサーバと関連するリソースをダウンロードしてもよい。リソースダウンロードシステムは、マルチスレッドによりネットワークの資源を分散させることにより、待機時間なくそれぞれのリソースのダウンロードを実行してもよい。
【0052】
リソースダウンロードシステムは、モバイル端末から少なくとも1つのサーバへの接続の試みを感知してもよい。例えば、ユーザがモバイル端末を利用して第1アプリケーションのダウンロードを試みたとする。このとき、リソースダウンロードシステムは、モバイル端末から第1サーバへの接続の試みを感知してもよい。リソースダウンロードシステムは、第1サーバへの接続の試みに応答し、マルチスレッドにより第1スレッドを実行させてもよい。
【0053】
リソースダウンロードシステムは、第1スレッドに基づき、第1サーバに対応するリソースのダウンロードを開始してもよい。リソースダウンロードシステムは、第1スレッドにより第1サーバにリソースを要請することにより、ファイル単位に圧縮されたリソースを受信することにより、ダウンロードを実行してもよい。リソースダウンロードシステムは、第1サーバに対応するファイル単位に圧縮されたリソースを受信することにより、ファイル単位に圧縮されたリソースを解凍してもよい。リソースダウンロードシステムは、ファイル単位に圧縮されたリソースに対してダウンロードが完了することにより、リソースを解凍してストレージに記録してもよい。
【0054】
リソースダウンロードシステムは、第1サーバに対応するリソースをダウンロードすると同時に、さらに他のサーバへの接続の試みを感知してもよい。例えば、ユーザは、モバイル端末を利用して第1アプリケーションのダウンロードが実行されている途中に、第2アプリケーションのダウンロードを試みたとする。このとき、リソースダウンロードシステムは、第2サーバへの接続の試みを感知してもよい。
【0055】
リソースダウンロードシステムは、第2サーバへの接続の試みに応答し、マルチスレッドにより第2スレッドを実行させてもよい。ここで、リソースダウンロードシステムは、接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、それぞれのスレッドによりサーバと関連するリソースをダウンロードしてもよい。
【0056】
リソースダウンロードシステムは、第2スレッドに基づき、第2サーバに対応するリソースのダウンロードを開始してもよい。リソースダウンロードシステムは、第2スレッドにより第2サーバにリソースを要請することによってファイル単位に圧縮されたリソースを受信することにより、ダウンロードを実行してもよい。リソースダウンロードシステムは、第2サーバに対応するファイル単位に圧縮されたリソースを受信することにより、ファイル単位に圧縮されたリソースを解凍してもよい。リソースダウンロードシステムは、ファイル単位に圧縮されたリソースに対してダウンロードが完了することにより、リソースを解凍してストレージに記録してもよい。
【0057】
一実施形態に係るリソースダウンロードシステムは、ファイル単位に圧縮されたリソースに対してダウンロードを実行することにより、ダウンロードにかかる時間を最小化させることが可能となる。
【0058】
リソースダウンロードシステムは、それぞれのスレッドで実行されるリソースに対するダウンロードの速度がそれぞれ異なるため、ダウンロードが完了したスレッドから優先的に休眠状態に移行してもよい。
【0059】
同じように、リソースダウンロードシステムは、第2サーバに対応するリソースをダウンロードすると同時に、さらに他のサーバへの接続の試みを感知することもできる。ここで、リソースダウンロードシステムは、スレッドの数に関係なく、マルチスレッドにより複数のスレッドを実行して動作させてもよい。さらに、リソースダウンロードシステムは、モバイル端末のオペレーティングシステム(OS)で自動的にスケジューリングすることも可能である。
【0060】
図6は、一実施形態における、リソースダウンロードシステムのリソースをダウンロードする方法を説明するためのフローチャートである。
【0061】
リソースをダウンロードする方法は、リソースダウンロードシステムによって実行されてもよく、リソースダウンロードシステムは、モバイル環境でマルチスレッドによりネットワークの資源を分散させることにより、待機時間なくそれぞれのリソースのダウンロードを実行することができる。
【0062】
ユーザがモバイル端末610を利用してアプリケーションのダウンロードを実行すると仮定しよう。リソースダウンロードシステムは、モバイル端末610から少なくとも1つのサーバ620への接続の試みを感知してもよい。例えば、リソースダウンロードシステムは、IDC(Internet Data Center)を通じてアプリケーションをダウンロードしてもよい。
【0063】
モバイル端末610は、アプリケーションをダウンロードするためにサーバに接続およびパッチ情報を要請してもよく(631)、サーバ620からパッチファイル情報を受信してもよい(632)。このとき、モバイル端末610は、受信したパッチファイル情報を分析してもよい(633)。
【0064】
モバイル端末610は、サーバ620への接続の試みに応答し、マルチスレッドによりそれぞれのスレッドを実行させてもよい。例えば、モバイル端末610は、アプリケーションをダウンロードするためにサーバ620に接続してもよく、モバイル端末610は、第1スレッド630を実行させてもよい。このとき、モバイル端末は、オペレーティングシステムでスレッドを制御するため、スレッドが自動的にスケジューリングされてもよい。
【0065】
モバイル端末610は、第1スレッド630によりサーバ620にリソースを要請してもよく(634)、サーバ620からファイル単位に圧縮されたリソースを受信してもよい(635)。モバイル端末610は、ファイル単位に圧縮されたリソースのダウンロードを実行してもよい(636)。このとき、モバイル端末610は、ファイル単位に圧縮されたリソースに対してダウンロードを実行することにより、ダウンロードにかかる時間を最小化させることができる。モバイル端末610は、ファイル単位に圧縮されたリソースに対してダウンロードが完了することにより、リソースを解凍してストレージに記録してもよい。
【0066】
また、モバイル端末610は、アプリケーションのダウンロードを実行している途中に、さらに他のアプリケーションのダウンロードを実行するために、さらに他のサーバへの接続を試みてもよい。モバイル端末610は、サーバ620への接続の試みに応答し、マルチスレッドによりそれぞれのスレッドを実行させてもよい。例えば、モバイル端末610は、アプリケーションをダウンロードするためにサーバ620に接続してもよく、モバイル端末610は、第2スレッドを実行させてもよい。リソースダウンロードシステムは、接続を試みたサーバ順にそれぞれのスレッドを並列的に動作させることにより、マルチスレッドによりサーバと関連するリソースをダウンロードすることができる。
【0067】
リソースダウンロードシステムは、それぞれのスレッドで実行されるリソースに対するダウンロードの速度がそれぞれ異なるため、ダウンロードが完了したスレッドから優先的に休眠状態に移行してもよい。
【0068】
一実施形態に係るリソースダウンロードシステムは、マルチスレッドを利用することにより、最新のモバイル端末にさらに最適化したダウンロード方式を提供することができる。言い換えれば、リソースダウンロードシステムは、モバイル端末のハードウェアが発展するほど、その効果がさらに高まる。
【0069】
一実施形態に係るリソースダウンロードシステムは、モバイル環境でマルチスレッドによりリソースをファイル単位で自動的に圧縮してアップロードすることにより、ダウンロードするリソースのサイズを減らし、ファイル単位に圧縮されたリソースをダウンロードした後に解凍することにより、さらに迅速にダウンロードを実行することができる。このため、リソースダウンロードシステムは、リソースをファイル単位に圧縮し、対応するサーバにアップロードするアップロード部(図示せず)をさらに備えてもよい。例えば、アプリケーション形態のリソースダウンロードシステムがインストールされたモバイル端末で、サーバにアップロードしようとするリソースをファイル単位に圧縮し、ファイル単位に圧縮されたリソースをサーバにアップロードしてもよい。このとき、該当のモバイル端末またはリソースの提供を受けようとする他のモバイル端末は、ファイル単位に圧縮されたリソースを受信した後、モバイル端末で解凍を実行して本来のリソースを得ることにより、ダウンロードするデータの量を減らすことができ、データ量の減少によってダウンロードの速度を向上させることができる。
【0070】
一実施形態に係るリソースダウンロードシステムは、モバイル環境でマルチスレッドによりリソースのダウンロードを実行することにより、ダウンロードの所要時間およびユーザの離脱を最小化させることができる。
【0071】
一実施形態に係るリソースダウンロードシステムは、マルチスレッド方式によりモバイル端末のハードウェアを効率的に利用することができる。リソースダウンロードシステムは、最新のモバイル環境でさらに最適化した形態のダウンロード方式であるため、その効果を倍増させることができる。
【0072】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録(格納)、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数の処理要素(processing element)および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
【0073】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望するとおりに動作するように処理装置を構成したり、独立的または集合的に(collectively)処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、ある種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置、または送信される信号波(signal wave)に永久的または一時的に具現化(embody)されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された態様で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【0074】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピディスク、磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【0075】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0076】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0077】
210:モバイル端末
220:ネットワーク
230:リソースダウンロードシステム