(57)【要約】【課題】メモリの空き容量不足を解消し、処理性能を向上すること。【解決手段】本発明に係るファイル受信装置７は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶する。ファイル受信装置７は、ファイルの再構築に利用される揮発性メモリ７１と、再構築したファイルが格納される不揮発性記憶装置７２と、ファイルのサイズが閾値未満である場合は、ファイルを揮発性メモリ７１で再構築して不揮発性記憶装置７２に格納し、ファイルのサイズが閾値以上である場合は、ファイルを揮発性メモリ７１に代えて不揮発性記憶装置７２で再構築して不揮発性記憶装置７２に格納するファイル生成部７３を備える。【選択図】図１２
2015207091.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信装置であって、
前記ファイルの再構築に利用される揮発性メモリと、
前記再構築したファイルが格納される不揮発性記憶装置と、
前記ファイルのサイズが閾値未満である場合は、前記ファイルを前記揮発性メモリで再構築して前記不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上である場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するファイル生成部と、
を備えたファイル受信装置。
【請求項２】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信装置であって、
前記ファイルの再構築に利用される揮発性メモリと、
前記再構築したファイルが格納される不揮発性記憶装置と、
前記ファイルデータが第１の通信方式により送信される場合は、前記ファイルを前記揮発性メモリで再構築して前記不揮発性記憶装置に格納し、前記ファイルデータが前記第１の通信方式よりも低速な第２の通信方式により送信される場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するファイル生成部と、
を備えたファイル受信装置。
【請求項３】
前記ファイル受信装置は、さらに、
所定の単位時間あたりにおける前記揮発性メモリに対するガベージコレクションの実行回数を取得するＧＣ結果取得部と、
前記ＧＣ結果取得部によって取得された前記単位時間あたりのガベージコレクションの回数が所定の第１回数以上である場合は、前記閾値を減少させ、前記ＧＣ結果取得部によって取得された前記単位時間あたりのガベージコレクションの回数が所定の第２回数以下である場合は、前記閾値を増加させる閾値更新部と、を備えた、
請求項１に記載のファイル受信装置。
【請求項４】
前記ファイル受信装置は、前記複数のファイルデータとともに前記ファイルのサイズを示すサイズデータを受信し、
前記ファイル受信装置は、さらに、前記受信したサイズデータにより、前記ファイルのサイズが前記閾値以上か否かを判定するファイルサイズ確認部を備え、
前記ファイル生成部は、前記ファイルのサイズが前記閾値以上であるか否かを、前記ファイルサイズ確認部の判定結果により認識する、
請求項１又は３に記載のファイル受信装置。
【請求項５】
前記ファイル受信装置は、さらに、前記複数のファイルデータを受信する際に、前記第１の通信方式で利用されるポート番号によって前記ファイルに関するデータを受信した場合は、前記ファイルデータが前記第１の通信方式により送信されると判定し、前記第２の通信方式で利用されるポート番号によって前記ファイルに関するデータを受信した場合は、前記ファイルデータが前記第２の通信方式により送信されると判定する通信方式確認部を備え、
前記ファイル生成部は、前記ファイルデータが前記第１の通信方式で送信されるか前記第２の通信方式で送信されるかを、前記通信方式確認部の判定結果により認識する、
請求項２に記載のファイル受信装置。
【請求項６】
前記ファイルは、通信装置から送信される前記通信装置が採取したログを示すログファイルであり、前記ログの内容に応じてサイズが決まる、
請求項１乃至５のいずれか１項に記載のファイル受信装置。
【請求項７】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信方法であって、
前記ファイルのサイズが閾値以上であるか否かを判定するステップと、
前記ファイルのサイズが閾値未満であると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上であると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するステップと、
を備えたファイル受信方法。
【請求項８】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信方法であって、
前記ファイルデータが第１の通信方式で送信されるか、前記第１の通信方式よりも低速な第２の通信方式で送信されるかを判定するステップと、
前記ファイルデータが前記第１の通信方式により送信されると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルデータが前記第２の通信方式により送信されると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するステップと、
を備えたファイル受信方法。
【請求項９】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するためのファイル受信プログラムであって、
前記ファイルのサイズが閾値以上であるか否かを判定する処理と、
前記ファイルのサイズが閾値未満であると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上であると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納する処理と、
をコンピュータに実行させるファイル受信プログラム。
【請求項１０】
ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するためのファイル受信プログラムであって、
前記ファイルデータが第１の通信方式で送信されるか、前記第１の通信方式よりも低速な第２の通信方式で送信されるかを判定する処理と、
前記ファイルデータが前記第１の通信方式により送信されると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルデータが前記第２の通信方式により送信されると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納する処理と、
をコンピュータに実行させるファイル受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル受信装置、ファイル受信方法、及びファイル受信プログラムに関し、特に、ファイルを構成する複数のデータを受信し、受信した複数のファイルデータからファイルを再構築して記憶する技術に関する。
【背景技術】
【０００２】
Ｊａｖａ（登録商標）言語のようなガベージコレクション機能（不使用メモリの再構成機能）を有するプログラミング言語によって作成されたプログラムを実行するサーバは、処理の実行に必要なメモリの空き容量が不足した場合、ガベージコレクションによって、使用中のメモリ領域を解放して空き容量を確保する。一方で、このようなサーバには、携帯端末に不具合が発生した際に携帯端末で生成されるログファイルを収集するものが存在する。このサーバは、携帯端末からファイルがアップロードされてきた場合、ファイルのアップロード中は、順次受信するファイルのデータに基づいて元のファイルを構築するための領域をメモリ上に確保する。そのため、例えば画像ファイルを含むログファイルのように大容量ファイルがアップロードされてきた場合、他の処理に必要なメモリの空き容量が不足してしまい、ガベージコレクションが頻繁に発動して、処理性能が劣化してしまうという問題がある。
【０００３】
ここで、携帯端末で生成されてサーバによって回収されるログファイルは、（１）携帯端末で発生した不具合の内容に応じて容量が変化する、（２）不具合解析のために使用する全データを含める必要があり、画像データ等のようにアップロード可能なデータ量を予め制限しておくことはできないデータが含まれる、という固有の特徴がある。また、携帯端末が使用する通信方式は、（３）携帯端末がログファイルをアップロードする場所、周辺の障害物の有無、天候等によって変化することがあるため、予めファイルをアップロードする際の通信方式を確実に特定することはできない、という特徴がある。
【０００４】
特許文献１には、ガベージコレクションの発動回数を抑制するために、過去のガベージコレクションの回数とガベージコレクションの実行後のメモリ使用量を記録し、その記録に基づいて、予め必要なメモリ量を確保する技術が開示されている。特許文献２には、ガベージコレクションの発動回数を抑制するために、アプリケーションの最適化前コードを解析し、圧縮された画像データを読み込む命令文が存在する場合に、画像データの展開用の領域をヒープ領域に確保する命令とその画像データの使用終了時に確保した領域を解放する命令とを挿入して最適化を行う技術が開示されている。特許文献３には、ガベージコレクションが動作してもアクセス速度が低下しないようにするために、所定の期間アクセスされないオブジェクトを物理メモリから、ハードディスク等に確保した仮想メモリ領域に移動し、さらに所定の期間が経過したときに仮想メモリ領域をアクセス不可領域としてガベージコレクションがアクセスしないようにする技術が開示されている。
【０００５】
しかしながら、特許文献１乃至３に開示の技術は、いずれも、ファイルをアップロードする際におけるガベージコレクションの発動回数を抑制するための技術を開示したものではない。
【０００６】
また、特許文献４には、コンテンツサーバから送信されてきたコンテンツデータのサイズが第２所定値を超えるか否かを判定し、第２所定値を超える場合には空き領域が存在するのであれば恒久的格納領域に格納し、第２所定値を超えない場合には一時的格納領域に格納する携帯電話装置が開示されている。しかしながら、この携帯電話装置では、恒久的格納領域と一時的格納領域とを有している記憶部はメモリによって構成されている。よって、この携帯電話装置でも、コンテンツデータを受信する際に常にメモリが使用されてしまうため、他の処理に必要なメモリの空き容量が不足してしまうという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３７９５６６９号明細書
【特許文献２】特開２００２−１６９６９５号公報
【特許文献３】特開２０１０−１５２２３号公報
【特許文献４】国際公開第２００６／１３７１４７号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、ファイルを受信する場合には、順次受信するファイルのデータに基づいてファイルを再構築するための領域をメモリ上に確保することにより、処理に必要なメモリの空き容量が不足し、処理性能が劣化してしまうという問題がある。
【０００９】
本発明の目的は、上述したような課題を解決するために、メモリの空き容量不足を解消し、処理性能を向上することができるファイル受信装置、ファイル受信方法、及びファイル受信プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の第１の態様に係るファイル受信装置は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信装置であって、前記ファイルの再構築に利用される揮発性メモリと、前記再構築したファイルが格納される不揮発性記憶装置と、前記ファイルのサイズが閾値未満である場合は、前記ファイルを前記揮発性メモリで再構築して前記不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上である場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するファイル生成部とを備えたものである。
【００１１】
本発明の第２の態様に係るファイル受信装置は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信装置であって、前記ファイルの再構築に利用される揮発性メモリと、前記再構築したファイルが格納される不揮発性記憶装置と、前記ファイルデータが第１の通信方式により送信される場合は、前記ファイルを前記揮発性メモリで再構築して前記不揮発性記憶装置に格納し、前記ファイルデータが前記第１の通信方式よりも低速な第２の通信方式により送信される場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するファイル生成部と、を備えたものである。
【００１２】
本発明の第３の態様に係るファイル受信方法は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信方法であって、前記ファイルのサイズが閾値以上であるか否かを判定するステップと、前記ファイルのサイズが閾値未満であると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上であると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するステップと、を備えたものである。
【００１３】
本発明の第４の態様に係るファイル受信方法は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するファイル受信方法であって、前記ファイルデータが第１の通信方式で送信されるか、前記第１の通信方式よりも低速な第２の通信方式で送信されるかを判定するステップと、前記ファイルデータが前記第１の通信方式により送信されると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルデータが前記第２の通信方式により送信されると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納するステップと、を備えたものである。
【００１４】
本発明の第５の態様に係るファイル受信プログラムは、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するためのファイル受信プログラムであって、前記ファイルのサイズが閾値以上であるか否かを判定する処理と、前記ファイルのサイズが閾値未満であると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルのサイズが前記閾値以上であると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納する処理と、をコンピュータに実行させるものである。
【００１５】
本発明の第６の態様に係るファイル受信プログラムは、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータから前記ファイルを再構築して記憶するためのファイル受信プログラムであって、前記ファイルデータが第１の通信方式で送信されるか、前記第１の通信方式よりも低速な第２の通信方式で送信されるかを判定する処理と、前記ファイルデータが前記第１の通信方式により送信されると判定した場合は、前記ファイルを揮発性メモリで再構築して不揮発性記憶装置に格納し、前記ファイルデータが前記第２の通信方式により送信されると判定した場合は、前記ファイルを前記揮発性メモリに代えて前記不揮発性記憶装置で再構築して前記不揮発性記憶装置に格納する処理と、をコンピュータに実行させるものである。
【発明の効果】
【００１６】
上述した本発明の各態様によれば、メモリの空き容量不足を解消し、処理性能を向上することができるファイル受信装置、ファイル受信方法、及びファイル受信プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】発明の実施の形態１に係るファイル送受信システムの構成図である。
【図２】実施の形態１に係るサーバのハードウェア構成図である。
【図３】実施の形態１に係るサーバの機能ブロック図である。
【図４】実施の形態１に係るサーバの処理を示すフローチャートである。
【図５】実施の形態１に係るファイル化の流れを示す模式図である。
【図６】実施の形態２に係るサーバの機能ブロック図である。
【図７】実施の形態２に係るサーバの処理を示すフローチャートである。
【図８】実施の形態３に係るサーバの機能ブロック図である。
【図９】実施の形態３に係るサーバの処理を示すフローチャートである。
【図１０】実施の形態３に係るファイル化の流れを示す模式図である。
【図１１】実施の形態３に係るファイル化の流れを示す模式図である。
【図１２】一態様に係るファイル受信装置の構成図である。
【発明を実施するための形態】
【００１８】
＜発明の実施の形態１＞
以下に図面を参照しながら、本発明の好適な実施形態について説明する。以下の実施形態に示す具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、それに限定されるものではない。また、以下の記載及び図面では、説明の明確化のため、当業者にとって自明な事項等については、適宜、省略及び簡略化がなされている。
【００１９】
まず、図１を参照して、本発明の実施の形態１に係るファイル送受信システム１の構成について説明する。図１に示すように、ファイル送受信システム１は、携帯端末２と、サーバ３とを有する。なお、図１では、携帯端末３を１つだけ有する例について図示しているが、当然に、ファイル送受信システム１は複数の携帯端末３を有するようにしてもよい。
【００２０】
携帯端末２は、サーバ３との間でデータを送受信可能である。携帯端末２は、サーバ３へのデータの送信として、サーバ３にファイルをアップロードすることができる。携帯端末２は、例えば、携帯端末２内における異常（不具合、及び故障等）を検出した場合に、その異常に関するログを携帯端末２内において採取し、採取したログを示すデータとしてログファイルを生成する。このログファイルは、採取したログの内容に応じたサイズとなる。携帯端末２は、生成したログファイルをサーバ３に送信する。
【００２１】
携帯端末２は、例えばフィーチャーフォン及びスマートフォン等の携帯電話に限られず、タブレット端末及びノートパソコン等の携帯型の情報処理装置であってもよい。また、本実施の形態１では、サーバ３にファイルを送信する通信装置が携帯端末である場合について説明するが、通信モジュールが搭載された車、自動販売機、及びセンサ等であってもよい。
【００２２】
ここで、携帯端末２は、ファイルをアップロードする場所、周辺の障害物の有無、及び天候等によって、サーバ３にファイルをアップロードする際における通信方式を変更する。例えば、携帯端末２は、Ｗｉ−Ｆｉ通信によりインターネット網９２にアクセス不可能な場所に位置する場合、移動体通信によりサーバ３にファイルをアップロードする。より具体的には、この場合、携帯端末２は、ファイルを移動体通信により基地局８に送信する。基地局８は、携帯端末２から受信したファイルを移動体通信網９１及びインターネット網９２を介してサーバ３に送信する。なお、移動体通信網９１とインターネット網９２とがゲートウェイを介して接続されていることは自明であるため詳細な説明は省略する。
【００２３】
また、Ｗｉ−Ｆｉアクセスポイント９を介してＷｉ−Ｆｉ通信によりインターネットにアクセス可能な場所に位置する場合、Ｗｉ−Ｆｉ通信によりログファイルをサーバ３にアップロードする。より具体的には、携帯端末２は、Ｗｉ−Ｆｉ通信によりＷｉ−Ｆｉアクセスポイント９に送信する。Ｗｉ−Ｆｉアクセスポイント９は、携帯端末２から受信したログファイルを、インターネット網９２を介してサーバ３に送信する。
【００２４】
以下、「低速な通信方式」とは、例えば移動体通信（例えば３Ｇ／３．５Ｇ／３．９Ｇ）を指し、「高速な通信方式」とは、例えばＷｉ−Ｆｉ通信を指す。
【００２５】
サーバ３は、携帯端末２から送信されたファイルを受信し、サーバ３内に記憶する。ここで、携帯端末２は、ファイルをサーバ３に送信する場合、パケットに収まるサイズの複数のデータにファイルを分割し、分割した複数のデータをそれぞれ含めた複数のパケットを順次送信する。よって、サーバ３は、携帯端末２からファイルを構成する複数のデータのそれぞれが含まれる複数のパケットを順次受信することになる。以下、このファイルを構成するデータを「ファイルデータ」と呼び、ファイルデータが含まれるパケットを「データパケット」と呼ぶ。サーバ３は、順次受信する複数のファイルデータからファイルを再構築し、サーバ３内に記憶する。
【００２６】
続いて、図２を参照して、本発明の実施の形態１に係るサーバ３のハードウェア構成について説明する。図２に示すように、サーバ３は、ＣＰＵ（Central Processing Unit）１１と、メモリ１２と、ハードディスク１３と、ネットワークアダプタ１４とを有する。
【００２７】
ＣＰＵ１１は、サーバ３を統括的に制御する。ＣＰＵ１１は、サーバ３としての処理のコードを含むプログラムを実行することで、サーバ３としての機能を実現する。このプログラムは、例えば、ハードディスク１３に予め格納されている。ＣＰＵ１１は、このプログラムをハードディスク１３からメモリ１２にロードして実行する。
【００２８】
このプログラムは、Ｊａｖａ言語のようにガベージコレクション機能を有るプログラミング言語によって作成されたプログラムを含む。よって、ＣＰＵ１１は、プログラムに従って処理を実行する際に、その処理の実行に必要な空き容量がメモリ１２において不足している場合には、ガベージコレクションの処理を実行し、メモリ１２において使用中の領域を任意に選択して解放し、その処理の実行に必要な空き容量をメモリ１２において確保する。
【００２９】
メモリ１２は、ＣＰＵ１１の処理の実行に必要なデータ（上述のプログラムを含む）が格納される揮発性記憶装置である。メモリ１２は、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリである。メモリ１２は、上述したようにガベージコレクションの実行対象となる記憶装置である。
【００３０】
ハードディスク１３は、ＣＰＵ１１の処理の実行に必要なデータ（上述のプログラムを含む）が格納される不揮発性記憶装置である。ハードディスク１３は、携帯端末２から受信したファイルが最終的に格納される。ここで、本実施の形態１では、ファイルが最終的に格納される不揮発性記憶装置がハードディスク１３である場合について説明するが、ハードディスク及びＦｌａｓｈ ＳＳＤ（Flash Solid State Drive）等の不揮発性記憶装置のうち、任意のものを採用するようにしてよい。ハードディスク１３は、ガベージコレクションの実行対象外となる記憶装置である。
【００３１】
ネットワークアダプタ１４は、サーバ３をネットワークに接続する装置である。ネットワークアダプタ１４は、携帯端末２からインターネット網９２を介して送信されたデータを受信する。また、ネットワークアダプタ１４は、データをインターネット網９２を介して携帯端末２に送信する。
【００３２】
続いて、図３を参照して、本発明の実施の形態１に係るサーバ３の機能について説明する。図３に示すように、サーバ３は、データ受信部２１と、ファイルサイズ確認部２２と、一時ファイル管理部２３と、ファイル生成部２４と、ファイル格納部２５と、データ送信部２６とを有する。
【００３３】
ＣＰＵ１１が上述のプログラムを実行することによって、データ受信部２１と、ファイルサイズ確認部２２と、一時ファイル管理部２３と、ファイル生成部２４と、ファイル格納部２５と、データ送信部２６として機能する。また、ネットワークアダプタ１４は、データ受信部２１及びデータ送信部２６の一部として機能する。
【００３４】
データ受信部２１は、携帯端末２から送信される、ファイルを構成する複数のファイルデータと、そのファイルのファイルサイズを示すサイズデータとを受信する。サイズデータは、ファイルデータが送信される前に送信される。例えば、携帯端末２は、データパケットを送信する前に、サイズデータを含めたヘッダパケットをサーバ３に送信する。これにより、データ受信部２１は、携帯端末２からファイルを受信する際には、最初に、サイズデータ（ヘッダパケット）を受信し、以降、複数のファイルデータ（データパケット）を受信することになる。
【００３５】
ファイルサイズ確認部２２は、データ受信部２１が受信したサイズデータが示すファイルサイズが、所定の閾値以上であるかを確認する。この閾値は、予め任意の値を定めるようにしてよい。
【００３６】
一時ファイル管理部２３は、ファイルサイズ確認部２２によってファイルサイズが閾値以上であると判定された場合に、ハードディスク１３上にファイルデータを一時的に格納する領域を確保する。
【００３７】
ファイル生成部２４は、ファイルサイズ確認部２２によってファイルサイズが閾値未満であると判定された場合に、メモリ１２上にファイルデータを一時的に格納する領域を確保する。このファイルデータを一時的に記憶する領域は、ファイルの再構築に利用される領域となる。ファイル生成部２４は、携帯端末２から受信したファイルデータを、メモリ１２上にファイル生成部２４が確保した領域、または、ハードディスク１３上に一時ファイル管理部２３が確保した領域でファイル化する。
【００３８】
ファイル格納部２５は、ファイル生成部２４が作成したファイルをハードディスク１３に格納する。
【００３９】
データ送信部２６は、携帯端末２から受信したファイルデータをファイル化した結果を示す結果データを携帯端末２に送信する。より具体的には、データ送信部２６は、結果データを含めたパケットを携帯端末２に送信する。
【００４０】
以上に説明した構成により、本実施の形態１では、例えば、アップロードされるファイルが過不足無くサーバ３側で受信できたことを確認するためにファイルのアップロード前にサーバ３とクライアント（携帯端末２）との間で送受信される変数「ファイルサイズ」を使用して、ある特定の閾値以上のサイズとなるファイルをメモリ１２上ではなく、意図的にハードディスク１３上に一時格納してファイル化を実施するようにしている。これによれば、大容量のファイルを受信する場合に、メモリ１２の消費量の増加を回避し、ガベージコレクションの発動回数を抑制することができる。
【００４１】
続いて、図４を参照して、本発明の実施の形態１に係るサーバ３のファイル受信処理について説明する。
【００４２】
まず、データ受信部２１は、携帯端末２から送信されたサイズデータを受信し、受信したサイズデータが示すファイルサイズをファイルサイズ確認部２２に通知する（Ｓ１）。
【００４３】
次に、ファイルサイズ確認部２２は、データ受信部２１から通知されたファイルサイズが所定の閾値以上か否かを判定する（Ｓ２）。ファイルサイズ確認部２２は、ファイルサイズが閾値以上であると判定した場合は（Ｓ３：Ｙｅｓ）、そのファイルサイズを一時ファイル管理部２３に通知する。一時ファイル管理部２３は、ファイルサイズ確認部２２からファイルサイズの通知に応じて、そのファイルサイズの領域をハードディスク１３上に確保する（Ｓ４）。一方、ファイルサイズ確認部２２は、ファイルサイズが閾値未満であると判定した場合は（Ｓ３：Ｎｏ）、そのファイルサイズをファイル生成部２４に通知する。ファイル生成部２４は、ファイルサイズ確認部２２からファイルサイズの通知に応じて、そのファイルサイズの領域をメモリ１２上に確保する（Ｓ５）。
【００４４】
次に、ファイル生成部２４は、一時ファイル管理部２３がハードディスク１３上に確保した領域、または、ファイル生成部２４がメモリ１２上に確保した領域に、ファイルデータを格納してファイル化する（Ｓ６）。より具体的には、データ受信部２１は、順次、携帯端末２から送信されるファイルデータを受信し、ファイル生成部２４に出力する。ファイル生成部２４は、データ受信部２１から順次出力されるファイルデータを結合していき、ファイルを再構築する。
【００４５】
次に、ファイル格納部２５は、ファイル生成部２４によるファイルの生成後に、生成したファイルをハードディスク１３に格納する（Ｓ７）。ファイル格納部２５は、メモリ１２上でファイルを生成した場合には、メモリ１２上に生成したファイルを、ハードディスク１３の恒久的にデータを格納する領域にコピーする。一方、ファイル格納部２５は、ハードディスク１３上でファイルを生成した場合には、ハードディスク１３上に生成したファイルを、一時的に確保した領域から、恒久的にデータを格納する領域にコピーする。
【００４６】
次に、ファイル化のために確保した領域を解放する（Ｓ８）。メモリ１２上に領域を確保している場合は、ファイル生成部２４が、メモリ１２上に確保した領域を解放する。ハードディスク１３上に領域を確保している場合は、一時ファイル管理部２３が、ハードディスク１３上に確保した領域を解放する。なお、メモリ１２上に領域を確保している場合は、ファイル格納部２５は、ファイルを恒久的にデータを格納する領域にコピーした後に、ファイルの格納完了をファイル生成部２４に通知すればよい。そして、ファイル生成部２４は、ファイル格納部２５からのファイルの格納完了の通知に応じて、メモリ１２上に確保した領域を解放すればよい。また、ハードディスク１３上に領域を確保している場合は、ファイル格納部２５は、ファイルを恒久的にデータを格納する領域にコピーした後に、ファイルの格納完了を一時ファイル管理部２３に通知すればよい。そして、一時ファイル管理部２３は、ファイル格納部２５からのファイルの格納完了の通知に応じて、ハードディスク１３上に確保した領域を解放すればよい。
【００４７】
最後に、データ送信部２６は、ファイル化の結果を示す結果データを携帯端末２に送信する（Ｓ９）。
【００４８】
続いて、図５を参照して、メモリ１２上に確保した領域を利用してファイル化を実施する場合と、ハードディスク１３上に確保した領域を利用してファイル化を実施する場合との違いについて説明する。
【００４９】
メモリ１２上に確保した領域を利用してファイル化を実施する場合には、サーバ３は、順次、受信する複数のファイルデータをメモリ１２上の領域で結合する。ファイルデータの結合中は、メモリ１２上にファイルデータを結合するための領域が確保され続ける。そして、サーバ３は、全てのファイルデータの受信が終わり、全てのファイルデータを結合してファイルを生成した場合に、そのファイルをハードディスク１３に格納する。
【００５０】
一方、ハードディスク１３上に確保した領域を利用してファイル化を実施する場合には、サーバ３は、順次、受信する複数のファイルデータをハードディスク１３上の領域で結合する。よって、メモリ１２には、データ受信部２１によって受信され、ファイル生成部２４によってハードディスク１３上で結合されるまでのファイルデータのみが一時的に格納だけの領域が確保されることになる。よって、ハードディスク１３上の領域でファイル化を実施する場合には、メモリ１２の消費量を低減することができる。
【００５１】
以上に説明したように、本実施の形態１に係るサーバ３は、ファイルを構成するファイルデータと共に送信されるサイズデータを参照して携帯端末２から送信されてくるファイルのファイル容量を把握し、大容量となる場合はファイルの作成をメモリ１２上ではなく、ハードディスク１３上で実施するようにしている。これによれば、大容量のファイルのアップロード時にメモリ１２が使用されないため、メモリ１２の空き容量の枯渇を防止することができ、ガベージコレクションの発動を抑制して、処理性能を向上することができるという効果を奏する。
【００５２】
また、ファイル容量を確認し、確認したファイル容量に応じてメモリ１２に代えてハードディスク１３でファイル化を実施しているため、ログファイルのようにファイルの容量が不定である場合、及び、ファイルの容量を制限することができない場合であっても、メモリ１２の空き容量不足を回避でき、ガベージコレクション機能の発動回数を抑制して、処理性能を向上することができるという効果を奏する。すなわち、本実施の形態１によれば、（１）携帯端末で発生した不具合内容に応じて容量が変化する、（２）アップロード可能なデータ量を予め制限しておくことはできない、という固有の特徴を有するログファイルに対して好適なファイルの受信を実現することができる。
【００５３】
＜発明の実施の形態２＞
続いて、本発明の実施の形態２について説明する。なお、本実施の形態２に係るファイル送受信システム１の構成については、実施の形態１に係るサーバ３に代えて本実施の形態２に係るサーバ４を有すること以外は、図１を参照して説明した実施の形態１に係るファイル送受信システム１と同様であるため、その説明を省略する。また、本実施の形態２に係るサーバ４のハードウェア構成についても、図２を参照して説明した実施の形態１に係るサーバ３のハードウェア構成と同様であるため、その説明を省略する。
【００５４】
続いて、図６を参照して、本発明の実施の形態２に係るサーバ４の機能について説明する。図６に示すように、サーバ４は、データ受信部３１と、通信方式確認部３２と、一時ファイル管理部３３と、ファイル生成部３４と、ファイル格納部３５と、データ送信部３６とを有する。
【００５５】
ＣＰＵ１１が上述のプログラムを実行することによって、データ受信部３１と、通信方式確認部３２と、一時ファイル管理部３３と、ファイル生成部３４と、ファイル格納部３５と、データ送信部３６として機能する。また、ネットワークアダプタ１４は、データ受信部３１及びデータ送信部３６の一部として機能する。
【００５６】
データ受信部３１は、実施の形態１に係るデータ受信部２１と同様に、携帯端末２から送信されるサイズデータと、複数のファイルデータとを受信する。ここで、本実施の形態２に係るデータ受信部３１は、低速な通信方式用のポート番号と、高速な通信方式用のポート番号のいずれかでサイズデータ及びファイルデータを受信する。すなわち、本実施の形態２では、携帯端末２は、低速な通信方式でサーバ３にデータを送信する場合と、高速な通信方式でサーバ３にデータを送信する場合とで異なるポート番号を使用する。よって、サーバ４は、いずれのポート番号でデータを受信したかによって携帯端末２がデータの送信に利用している通信方式が、低速な通信方式か高速な通信方式かを認識することができる。
【００５７】
通信方式確認部３２は、データ受信部３１がデータを受信したポート番号に基づいて、携帯端末２がデータの送信に使用している通信方式が、低速な通信方式用か高速な通信方式用かを判定する。
【００５８】
一時ファイル管理部３３は、通信方式確認部３２によって通信方式が低速な通信方式であると判定された場合に、ハードディスク１３上にファイルデータを一時的に格納する領域を確保する。
【００５９】
ファイル生成部３４は、通信方式確認部３２によって通信方式が高速な通信方式であると判定された場合に、メモリ１２上にファイルデータを一時的に格納する領域を確保する。このファイルデータを一時的に記憶する領域は、ファイルの再構築に利用される領域となる。ファイル生成部３４は、実施の形態１に係るファイル生成部２４と同様に、携帯端末２から受信したファイルデータを、メモリ１２上にファイル生成部２４が確保した領域、または、ハードディスク１３上に一時ファイル管理部２３が確保した領域でファイル化する。
【００６０】
ファイル格納部３５とデータ送信部３６は、実施の形態１に係るファイル格納部２５とデータ送信部２６と同様であるため、その説明を省略する。
【００６１】
以上に説明した構成により、本実施の形態２では、携帯端末２が使用している通信方式を確認し、低速な通信方式を用いてファイルをアップロードしている場合は、ファイルをメモリ１２上ではなく、意図的にハードディスク１３上に一時格納してファイル化を実施するようにしている。すなわち、全てのファイルデータを受信してファイル化が完了するまでに比較的時間がかかってしまう場合には、メモリ１２上ではなく、ハードディスク１３上でファイル化を実施するようにしている。これによれば、ファイル化によるメモリ１２の領域の長時間の占有を抑制し、ガベージコレクションの発動回数を抑制することができる。一方、高速な通信方式を用いてファイルをアップロードしている場合は、メモリ１２上でファイル化を実施する。これによれば、メモリ１２の領域の短時間の占有のみを許可し、メモリ１２よりもアクセスが低速となるハードディスク１３を多用することによるファイル化の遅延を抑制することができる。
【００６２】
続いて、図７を参照して、本発明の実施の形態２に係るサーバ４のファイル受信処理について説明する。
【００６３】
まず、データ受信部３１は、携帯端末２から送信されてくるサイズデータを受信し、受信したサイズデータが示すファイルサイズを通信方式確認部３２に通知する（Ｓ１１）。また、データ受信部３１は、携帯端末２が使用したポート番号として、サイズデータを受信したポート番号を通信方式確認部３２に通知する。
【００６４】
次に、通信方式確認部３２は、データ受信部３１から通知されたポート番号が、低速な通信方式用のポート番号か高速な通信方式用のポート番号かを判定する（Ｓ１２）。通信方式確認部３２は、ポート番号が低速な通信方式用のポート番号であると判定した場合は（Ｓ１３：低速）、データ受信部３１から通知されたファイルサイズを、一時ファイル管理部に通知する。一時ファイル管理部３３は、通信方式確認部３２からファイルサイズの通知に応じて、そのファイルサイズの領域をハードディスク１３上に確保する（Ｓ１４）。一方、通信方式確認部３２は、ポート番号が高速な通信方式用のポート番号であると判定した場合は（Ｓ１３：高速）、そのファイルサイズをファイル生成部３４に通知する。ファイル生成部３４は、通信方式確認部３２からファイルサイズの通知に応じて、そのファイルサイズの領域をメモリ１２上に確保する（Ｓ１５）。
【００６５】
以降、ステップＳ１６〜Ｓ１９については、実施の形態１に係るステップＳ６〜Ｓ９と同様であるため、その説明を省略する。
【００６６】
以上に説明したように、本実施の形態２に係るサーバ４は、ファイルを構成するファイルデータとサイズデータが送信されるポート番号を参照して携帯端末２からのデータの送信に利用される通信方式を把握し、低速な通信方式でデータが送信される場合はファイルの作成をメモリ１２上ではなく、ハードディスク１３上で実施するようにしている。これによれば、低速な通信方式により送信されるファイルの再構築のためにメモリ１２の領域が長時間占有されることがなくなるため、メモリ１２の空き容量の枯渇を防止することができ、ガベージコレクションの発動を抑制して、処理性能を向上することができるという効果を奏する。すなわち、本実施の形態２によれば、（３）携帯端末がログファイルをアップロードする場所、周辺の障害物の有無、天候等によって変化することがある、という特徴を有する携帯端末に対して好適なファイルの受信を実現することができる。
【００６７】
なお、本実施の形態では、「低速な通信方式」が、移動体通信であり、「高速な通信方式」が、Ｗｉ−Ｆｉ通信である例について例示したが、これに限られない。例えば、携帯端末２が、「低速な通信方式」として低速な移動体通信を使用し、「高速な通信方式」として高速な移動体通信を使用する場合にも適用することが可能である。
【００６８】
また、本実施の形態２では、サイズデータ（ヘッダパケット）を受信したポートのポート番号によって通信方式を判定するようにしているが、これに限られない。例えば、その他にファイルデータと共に送信されるデータ（ファイルに関するデータ）があれば、そのデータを受信したポートのポート番号によって通信方式を判定するようにしてもよい。
【００６９】
＜発明の実施の形態３＞
続いて、本発明の実施の形態３について説明する。なお、本実施の形態３に係るファイル送受信システム１の構成については、実施の形態１に係るサーバ３に代えて本実施の形態２に係るサーバ５を有すること以外は、図１を参照して説明した実施の形態１に係るファイル送受信システム１と同様であるため、その説明を省略する。また、本実施の形態３に係るサーバ５のハードウェア構成についても、図２を参照して説明した実施の形態１に係るサーバ３のハードウェア構成と同様であるため、その説明を省略する。
【００７０】
実施の形態１に係るサーバ３では、ファイルサイズに対する閾値が予め固定的に定められている例について説明したが、本実施の形態３に係るサーバ５では、ファイルサイズに対する閾値が動的に変更されるようにしている。本実施の形態３に係るサーバ５のデータ受信時の処理については、図３を参照して説明した実施の形態１に係るサーバ３のデータ受信時の処理と同様であるため、その説明を省略する。
【００７１】
続いて、図８を参照して、本発明の実施の形態３に係るサーバ５の機能について説明する。図８に示すように、サーバ５は、実施の形態１に係るサーバ３と比較して、さらに、ＧＣ結果取得部４１と、閾値更新部４２とを有する。すなわち、ＣＰＵ１１が上述のプログラムを実行することによって、さらに、ＧＣ結果取得部４１と、閾値更新部４２として機能する。
【００７２】
ＧＣ結果取得部４１は、１時間あたりのガベージコレクション（ＧＣ）実行回数を取得する。例えば、ＣＰＵ１１がガベージコレクションを実施する毎に、メモリ１２にＧＣ実行回数を記録（カウントアップ）するようにし、ＧＣ結果取得部４１がそれを参照することでＧＣ実行回数を取得可能とすればよい。この場合、ＧＣ結果取得部４１は、１時間ごとのＧＣ実行回数の取得時に、メモリ１２に記録されたＧＣ実行回数を初期化（０クリア）すればよい。
【００７３】
閾値更新部４２は、ＧＣ結果取得部４１によって取得された１時間あたりのＧＣ実行回数に基づいて、ファイルサイズ確認部２１で使用する閾値を変更する。
【００７４】
続いて、図９を参照して、本発明の実施の形態３に係るサーバ５のファイル受信処理について説明する。
【００７５】
ＧＣ結果取得部４１は、１時間あたりのＧＣ実行回数を取得する（Ｓ２１）。閾値更新部４２は、ＧＣ結果取得部４１が取得した、１時間あたりのＧＣ実行回数に応じて、以下の処理を行う（Ｓ２２）。
【００７６】
閾値更新部４２は、ＧＣ結果取得部４１が取得した１時間あたりのＧＣ実行回数がＮ回以上である場合（Ｓ２３：Ｎ回以上）、ファイルサイズ確認部２１が使用する閾値を所定値だけ小さくし、ファイル化がメモリ１２上で行われにくくする（Ｓ２４）。閾値更新部４２は、ＧＣ結果取得部４１が取得した１時間あたりのＧＣ実行回数がＭ回以下である場合（Ｓ２３：Ｍ回以下）、ファイルサイズ確認部２１が使用する閾値を所定値だけ大きくし、ファイル化がメモリ１２上で行われやすくする（Ｓ２５）。いずれの条件にも当てはまらない場合（Ｓ２３：その他）、閾値更新部４２は、ファイルサイズ確認部２１が使用する閾値の更新を行わない。なお、Ｍ及びＮは、所定の正整数であり、Ｎ＞Ｍである。
【００７７】
続いて、図１０、１１を参照して、本発明の実施の形態３に係るサーバ５のファイル受信処理による効果について説明する。
【００７８】
図１０に示すように、閾値が大きい場合には、ファイルサイズが大きいファイルのみがハードディスク１３上でファイル化されるため、ガベージコレクションの発生頻度は増加する。
【００７９】
図１１に示すように、閾値が小さい場合には、ファイルサイズが小さいファイルもハードディスク１３上でファイル化されるため、メモリ１２の使用量が抑えられ、ガベージコレクションの発生頻度も低減することができる。
【００８０】
これに対して、本実施の形態３によれば、閾値が適切な値よりも大きく、ガベージコレクションの発生頻度が高い場合には、閾値を小さくするように調整し、図１１に示す状態に近付けることができる。これによれば、ガベージコレクションの発生頻度を低減することができる。また、本実施の形態３によれば、閾値が適切な値よりも小さく、ガベージコレクションの発生頻度が低いが、ファイルサイズが非常に小さいファイルでもハードディスク１３でファイル化されている場合には、閾値を大きくするように調整し、図１２に示す状態に近付けることができる。これによれば、ガベージコレクションの発生頻度に悪影響を与えることなく、メモリ１２を使用した高速なファイル化が促進される。
【００８１】
なお、本実施の形態３では、１時間あたりのＧＣ実行回数を取得する例について説明したが、ＧＣ実行回数を取得する単位時間は、これに限られない。例えば、ＧＣ実行回数を取得する単位時間は、１分毎、３０分毎、又は３時間毎等としてもよい。
【００８２】
ここで、上述の各実施の形態から抽出される一実施の形態について、図１２を参照して説明する。図１２は、上述の各実施の形態から抽出される一実施の形態に係るファイル受信装置７を示す図である。
【００８３】
ファイル受信装置７は、ファイルを構成する複数のファイルデータを受信し、受信した複数のファイルデータからファイルを再構築して、その内部に記憶する。ファイル受信装置７は、揮発性メモリ７１と、不揮発性記憶装置７２と、ファイル生成部７３とを有する。
【００８４】
揮発性メモリ７１は、ファイルの再構築に利用される。揮発性メモリ７１は、メモリ１２に対応する。不揮発性記憶装置７２は、再構築したファイルが格納される。不揮発性記憶装置７２は、ハードディスク１３に対応する。
【００８５】
ファイル生成部７３は、第１の態様として、ファイルのサイズが閾値未満である場合は、ファイルを揮発性メモリ７１で再構築して不揮発性記憶装置７２に格納し、ファイルのサイズが閾値以上である場合は、ファイルを揮発性メモリ７１に代えて不揮発性記憶装置７２で再構築して不揮発性記憶装置７２に格納する。ファイル生成部７３は、ファイル生成部２４、３４に対応する。
【００８６】
ファイル生成部７３は、第２の態様として、ファイルデータが第１の通信方式により送信される場合は、ファイルを揮発性メモリ７１で再構築して不揮発性記憶装置７２に格納し、ファイルデータが第１の通信方式よりも低速な第２の通信方式により送信される場合は、ファイルを揮発性メモリ７１に代えて不揮発性記憶装置７２で再構築して不揮発性記憶装置７２に格納する。
【００８７】
上述の第１の態様によれば、サイズの大きいファイルは、揮発性メモリ７１ではなく、不揮発性記憶装置７２で再構築するようにしているため、ファイルの再構築によるメモリの使用容量を低減することができる。よって、メモリの空き容量不足を解消し、処理性能を向上することができる。
【００８８】
また、上述の第２の態様によれば、低速な通信方式で時間をかけて送信されるくるファイルは、揮発性メモリ７１ではなく、不揮発性記憶装置７２で再構築するようにしているため、ファイルの再構築によるメモリの領域が占有される時間を低減することができる。よって、メモリの空き容量不足を解消し、処理性能を向上することができる。
【００８９】
なお、上述のコンピュータ（サーバ３、４、５）が実行するプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００９１】
１  ファイル送受信システム
２  携帯端末
３、４、５  サーバ
７  ファイル受信装置
１１  ＣＰＵ
１２  メモリ
１３  ハードディスク
１４  ネットワークアダプタ
２１、３１  データ送受信部
２２  ファイルサイズ確認部
２３、３３  一時ファイル管理部
２４、３４、７３  ファイル生成部
２５、３５  ファイル格納部
２６、３６  データ送信部
３２  通信方式確認部
４１  ＧＣ結果取得部
４２  閾値更新部
７１  揮発性メモリ
７２  不揮発性記憶装置
【図１】
2015207091.tif 000003
【図２】
2015207091.tif 000004
【図３】
2015207091.tif 000005
【図４】
2015207091.tif 000006
【図５】
2015207091.tif 000007
【図６】
2015207091.tif 000008
【図７】
2015207091.tif 000009
【図８】
2015207091.tif 000010
【図９】
2015207091.tif 000011
【図１０】
2015207091.tif 000012
【図１１】
2015207091.tif 000013
【図１２】
2015207091.tif 000014