(57)【特許請求の範囲】
【請求項１】
端末に対して、それぞれ互いに異なるｓｓｉｄが設定された複数の通信チャネルを介して、無線にて通信可能に接続されるとともに、当該通信チャネルとは異なる通信回線を介してサーバとの間で通信可能に接続される、アクセスポイントとして機能する情報処理装置であって、
前記端末側から前記ｓｓｉｄのいずれかが設定された、いずれかの通信チャネルを介して前記サーバに送信するべきデータを受信する受信手段と、
所定のｓｓｉｄが設定された通信チャネルを介して受信したデータを保持する保持手段と、
前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、
を含む情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記送信制御手段は、前記保持手段が、端末側から受信したデータを保持すると、当該データの送信先である前記サーバに対して通信開始の信号を送出し、当該サーバから了解の返答があったときに、前記保持したデータよりも短いデータを当該サーバ宛に送信し、当該サーバからセッション識別情報を受信して、当該セッション識別情報を記憶しておき、前記タイミングが到来したときに、前記保持手段に保持されているデータのアップロード要求を、前記記憶しているセッション識別情報を含めて前記サーバへ送信するよう制御する情報処理装置。
【請求項３】
請求項１または２記載の情報処理装置であって、
前記送信制御手段は、前記保持手段が、端末側から受信したデータを保持すると、当該データの送信先である前記サーバに対して送信対象となるデータがある旨を表す通知を送信し、前記サーバから当該データを送信するべきタイミングの指示を受けて、当該指示されたタイミングを前記予め定められたタイミングとして、当該タイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する情報処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報処理装置であって、
前記端末側から前記サーバ内に蓄積されているべき、前記受信したデータの要求を受け入れ、前記保持手段に当該データが保持されているときには、当該保持手段に保持したデータを、前記端末側へ送信する情報処理装置。
【請求項５】
請求項１から４のいずれか一項に記載の情報処理装置であって、
前記端末の利用者を認証する手段をさらに含み、
前記利用者が認証されなかった場合は、当該利用者の端末側から前記サーバに送信するべきデータを逐次的に受信すると、前記送信制御手段が、当該逐次的に受信したデータをそのまま前記サーバへ送信するよう制御する情報処理装置。
【請求項６】
複数の情報処理装置を含む情報処理システムであって、
前記情報処理装置は、
端末に対して、それぞれ互いに異なるｓｓｉｄが設定された複数の通信チャネルを介して、無線にて通信可能に接続されるとともに、当該通信チャネルとは異なる通信回線を介してサーバとの間で通信可能に接続される、アクセスポイントとして機能し、
前記端末側から前記ｓｓｉｄのいずれかが設定された、いずれかの通信チャネルを介して前記サーバに送信するべきデータを受信する受信手段と、
所定のｓｓｉｄが設定された通信チャネルを介して受信したデータを保持する保持手段と、
前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、
を有し、
前記情報処理装置の各々は、予め定めた方法により定められた順に、データを輪番で送信し、
各情報処理装置の前記送信制御手段は、前記予め定められたタイミングとして、前記定められた順により、送信する順となったタイミングとする情報処理システム。
【請求項７】
端末に対して、それぞれ互いに異なるｓｓｉｄが設定された複数の通信チャネルを介して、無線にて通信可能に接続されるとともに、当該通信チャネルとは異なる通信回線を介してサーバとの間で通信可能に接続される、アクセスポイントとして機能する情報処理装置を、
前記端末側から前記ｓｓｉｄのいずれかが設定された、いずれかの通信チャネルを介して前記サーバに送信するべきデータを受信する受信手段と、
所定のｓｓｉｄが設定された通信チャネルを介して受信したデータを保持する保持手段と、
前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＬＡＮ（Local Area Network）や無線ＷＡＮ（Wide Area Network）等、無線通信網を用いた情報処理装置、情報処理システム、サーバ装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話機やスマートフォン等の性能が著しく向上し、大容量のデータを処理することが可能となっている。これに伴い、例えば動画撮影などが可能となっている。利用者は、また、例えば動画撮影した動画データを、パーソナルコンピュータに取込んで、ユーチューブ（http://www.youtube.com）等の共有サイトで共有するなどといった利用に供している。
【０００３】
しかしながら、携帯電話回線網や公衆無線ＬＡＮ等を介して動画データなどの比較的大容量のデータをユーチューブ等のサーバにアップロードする場合、ＴＣＰ（Transfer Control Protocol）通信では、送信先までの距離に反比例して通信帯域が制限されるため、実際に利用可能な通信帯域が十分大きく確保されない場合や、ユーチューブ等のサーバ側にデータ受け入れ要求が集中している場合もあることから、一般的にアップロード時間が長くなってしまっているのが現状である。
【０００４】
なお、データ容量が大きいために、一度に送信可能なデータ量を超えている場合に、一度に送信可能なデータ量以下のデータに分割したデータをネットワークを介して受付け、これを連結して本来の送信先となるサーバへ送信する技術が、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０５６０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、公衆無線ＬＡＮ等の無線通信網は、通信可能範囲が限られることから、アップロードが完了するまでは当該通信可能範囲に留まらなければならない。また、携帯電話回線網も、移動とともに通信状態が変化するので、アップロードが完了するまでに移動してしまうと、途中でエラーが生じてしまう等の問題が生じることもある。
【０００７】
本発明は上記実情に鑑みて為されたもので、データアップロード時の利用者の負担を軽減でき、また、併せてアップロード先となるサーバ側の処理負荷の平滑化も可能にできる情報処理装置、情報処理システム、サーバ装置、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００８】
上記従来例の問題点を解決するための本発明は、情報処理装置であって、端末に対して、無線通信回線を介して通信可能に接続されるとともに、当該無線通信回線とは異なる通信回線を介してサーバとの間で通信可能に接続される情報処理装置であって、前記端末側から前記サーバに送信するべきデータを受信する受信手段と、当該受信したデータを保持する保持手段と、前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、を含むこととしたものである。
【０００９】
ここで前記送信制御手段は、前記保持手段が、端末側から受信したデータを保持すると、当該データの送信先である前記サーバに対して送信対象となるデータがある旨を表す通知を送信し、前記サーバから当該データを送信するべきタイミングの指示を受けて、当該指示されたタイミングを前記予め定められたタイミングとして、当該タイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御することとしてもよい。
【００１０】
また前記端末側から前記サーバ内に蓄積されているべき、前記受信したデータの要求を受け入れ、前記保持手段に当該データが保持されているときには、当該保持手段に保持したデータを、前記端末側へ送信することとしてもよい。
【００１１】
さらに、前記端末の利用者を認証する手段をさらに含み、前記利用者が認証されなかった場合は、当該利用者の端末側から前記サーバに送信するべきデータを逐次的に受信すると、前記送信制御手段が、当該逐次的に受信したデータをそのまま前記サーバへ送信するよう制御してもよい。
【００１２】
また本発明の一態様に係る情報処理システムは、複数の情報処理装置を含み、当該情報処理装置は、端末に対して、無線通信回線を介して通信可能に接続されるとともに、当該無線通信回線とは異なる通信回線を介してサーバとの間で通信可能に接続され、前記端末側から前記サーバに送信するべきデータを受信する受信手段と、当該受信したデータを保持する保持手段と、前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、を有し、前記情報処理装置の各々は、予め定めた方法により定められた順に、データを輪番で送信し、各情報処理装置の前記送信制御手段は、前記予め定められたタイミングとして、前記定められた順により、送信する順となったタイミングとすることとしたものである。
【００１３】
さらに本発明の別の態様は、送信の対象となるデータを保持し、当該データ保持してから予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持しているデータを送信する情報処理装置に接続されるサーバ装置であって、前記情報処理装置から送信の対象となるデータがある旨の通知を受信する通知受信手段と、データの受け入れ処理を行うべきタイミングを推定する推定手段と、前記推定したタイミングを、データを送信するべきタイミングとして前記情報処理装置に通知する手段と、を含むこととしたものである。
【００１４】
さらに本発明の一態様は、プログラムであって、端末に対して、無線通信回線を介して通信可能に接続されるとともに、当該無線通信回線とは異なる通信回線を介してサーバとの間で通信可能に接続される情報処理装置を、前記端末側から前記サーバに送信するべきデータを受信する受信手段と、当該受信したデータを保持する保持手段と、前記保持手段がデータを保持してから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持手段に保持されているデータを、前記サーバへ送信するよう制御する送信制御手段と、として機能させることとしたものである。
【００１５】
また、さらに本発明の一態様は、プログラムであって、送信の対象となるデータを保持し、当該データ保持してから予め定められたタイミングまで待機し、当該タイミングが到来したときに、前記保持しているデータを送信する情報処理装置に接続されるサーバ装置を、前記情報処理装置から送信の対象となるデータがある旨の通知を受信する通知受信手段と、データの受け入れ処理を行うべきタイミングを推定する推定手段と、前記推定したタイミングを、データを送信するべきタイミングとして前記情報処理装置に通知する手段と、として機能させることとしたものである。
【発明の効果】
【００１６】
本発明によると、情報処理装置がアップロードの対象となるデータを保持し、これを情報処理装置がサーバへ送信することにより、データアップロード時の利用者の負担を軽減できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る情報処理システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【図３】本発明の実施の形態に係る情報処理装置が保持するタイミング情報の例を表す説明図である。
【図４】本発明の実施の形態に係る情報処理装置及びサーバ装置の動作例を表す流れ図である。
【図５】本発明の実施の形態に係る情報処理装置のもう一つの動作例を表すフローチャート図である。
【図６】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【図７】本発明の実施の形態に係る情報処理システムによる情報送信の実験例を表す説明図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システムは、図１に例示するように、情報処理装置１と、端末２と、サーバ装置３とを含んで構成されている。この情報処理システムにおいては少なくとも一つの情報処理装置１が含まれる。また図１ではサーバ装置３は一つだけ図示しているが、サーバ装置３は複数あってもよい。
【００１９】
情報処理装置１は、例えば無線ＬＡＮのアクセスポイントとして動作する装置であり、制御部１１、記憶部１２、無線通信部１３、有線通信部１４を含んで構成される。またサーバ装置３は、制御部３１、記憶部３２、有線通信部３４を含んで構成される。情報処理装置１の制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。本実施の形態の制御部１１は、端末２からいずれかのサーバ装置３宛に送信するべきデータを、無線通信部１３を介して受信する。そして制御部１１は当該受信したデータを記憶部１２に確保したキャッシュ用の領域に保持する。制御部１１は、データを保持させてから、予め定められたタイミングまで待機し、当該タイミングが到来したときに、保持されているデータを、宛先として指定されているサーバ装置３宛に、有線通信部１４を介して送信するよう制御する。すなわち、本実施の形態の制御部１１は、受信手段及び送信制御手段として機能する。これらの情報処理装置１の具体的動作については、後に述べる。
【００２０】
記憶部１２は、メモリデバイスやディスクデバイスを含む。この記憶部１２は、制御部１１によって実行されるプログラムを格納している。このプログラムは、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部１２に複写されたものであってよい。また本実施の形態では、この記憶部１２が、送信の対象となるデータを保持する保持手段として機能する。さらに記憶部１２は、制御部１１のワークメモリとしても動作する。
【００２１】
無線通信部１３は、無線ＬＡＮインタフェースであり、802.11nなどの予め定めたプロトコルにて、端末２との間で種々のデータを授受する。この無線通信部１３は、制御部１１から入力される指示に従って、端末２に対して制御部１１が指示するデータを送信する。また、この無線通信部１３は、端末２を介して受信したデータを制御部１１に対して出力する。有線通信部１４は、有線ＬＡＮインタフェースであり、インターネット等の情報通信回線を介してサーバ装置３と通信可能に接続されている。この有線通信部１４は、制御部１１から入力される指示に従って、宛先となったインターネット上の送信先に対して制御部１１が指示するデータを送信する。また、この有線通信部１４は、インターネットを介して受信したデータを制御部１１に対して出力する。
【００２２】
端末２は、例えば携帯電話機やスマートフォン等の情報通信端末であり、情報処理装置１との間で無線にてデータを授受する。本実施の形態では、情報処理装置１が備える無線ＬＡＮインタフェースを介してデータを授受するものとするが、本実施の形態はこれに限らず、例えば携帯電話通信網の基地局として動作する情報処理装置１に対し、ＩＭＴ２０００等の移動体通信プロトコルを利用してデータを送信するものであってもよい。また、無線ＷＡＮを介してデータを授受するものであってもよい。
【００２３】
サーバ装置３の制御部３１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部３２に格納されたプログラムに従って動作する。この制御部３１は、情報処理装置１から有線通信部３４を介してデータを受信し、記憶部３２に格納する。また、有線通信部３４を介して、記憶部３２に格納されているデータの提供要求を受信する。制御部３１は、当該提供要求に応答して、要求されたデータを記憶部３２から読み出し、当該読出したデータを要求元宛に送出する。さらにこの制御部３１は、有線通信部３１から受信する指示に従い、記憶部３２に格納したデータを検索し、検索の結果を指示元へ送信する処理を行ってもよい。
【００２４】
記憶部３２は、メモリデバイスやディスクデバイス等を含み、制御部３１によって実行されるプログラムを保持している。このプログラムも、ＤＶＤ−ＲＯＭ等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部３２に複写されたものであってよい。
【００２５】
有線通信部３４は、有線ＬＡＮインタフェースであり、インターネット等の情報通信回線を介して情報処理装置１と通信可能に接続されている。この有線通信部３４は、制御部３１から入力される指示に従って、宛先となったインターネット上の送信先に対して制御部３１が指示するデータを送信する。また、この有線通信部３４は、インターネットを介して受信したデータを制御部３１に対して出力する。
【００２６】
ここで本実施の形態の制御部１１の動作例について説明する。本実施の形態の制御部１１は、Linux（登録商標）等のマルチタスク・オペレーティングシステム（ＯＳ）を動作させている。そしてこのＯＳの管理下において、次の各処理を実行している。すなわち制御部１１は、端末２からサーバ装置３宛のデータを受信する。ここで端末２からのデータは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）通信によって送出され、パケットに分割されて受信される。また本実施の形態の制御部１１は、例えば動画データであれば、当該動画データの全体（サーバ装置３にて保持されるべき一体のデータ単位）を端末２から受信する。
【００２７】
つまり、端末２は情報処理装置１に対してＴＣＰ−ＳＹＮ（通信開始）の信号を送出し、情報処理装置１がこれに対してＡＣＫ（了解）を返答する。すると端末２が例えばＨＴＴＰのＰＯＳＴメソッド等によってデータを情報処理装置１側へアップロードする。データの全体がアップロードされ、情報処理装置１が正常に受信したこと（ＨＴＴＰ  ２００（ＯＫ）など）を端末２側に通知すると、端末２はＴＣＰ−ＦＩＮ（通信終了）の信号を送信し、情報処理装置１もまた、ＴＣＰ−ＦＩＮ（通信終了）の信号を返信する。ここまでの間に情報処理装置１はサーバ装置３への通信を開始しない。
【００２８】
ここで端末２からアップロードされたデータは、サーバ装置３のＵＲＬ（Uniform Resource Locator）宛のデータとして情報処理装置１によって受信される。情報処理装置１の制御部１１は、この受信したデータを、その宛先となったサーバ装置３を特定する情報（サーバ装置３のＵＲＬでよい）に関連付けて、記憶部１２に保持させる処理を実行している。また制御部１１は、これとは並行して図２に例示する処理を実行している。この図２に例示する処理では、まず予め定められたタイミングが到来したか否かを調べる（Ｓ１）。
【００２９】
ここでタイミングは、例えば時間帯を定めたものであってもよい。一例として地方時で深夜２時から５時が定められていてもよい。この場合、制御部１１は、図示しないカレンダーＩＣ等で計時している時刻（現在時刻と呼ぶ）の情報を参照し、当該時間帯であるか否かを判断することによって、予め定められたタイミングが到来したか否かを調べることとなる。
【００３０】
そして処理Ｓ１において、当該タイミングが到来したと判断すると（Yesであると）、制御部１１は、記憶部１２に保持しているデータを読み出して（Ｓ２）、有線通信部３４を介して、読出したデータに関連付けて記録されている情報で特定される、サーバ装置３宛に送信する（Ｓ３）。この送信処理は、記憶部１２に保持されているデータを例えばパケット単位で、ネットワークのスループットにより徐々に送信するものであり、具体的には図２にてループで示す通り、処理Ｓ２とＳ３とを繰返し、送信するべきデータがなくなるまで実行することによって行われる。
【００３１】
ここでも情報処理装置１とサーバ装置３との間はＴＣＰ／ＩＰ通信が行われる。つまり、情報処理装置１は上記タイミングが到来すると、サーバ装置３に対してＴＣＰ−ＳＹＮ（通信開始）の信号を送出する。サーバ装置３がこれに対してＡＣＫ（了解）を返答すると、情報処理装置１は、例えばＨＴＴＰのＰＯＳＴメソッド等によってデータをサーバ装置３側へアップロードする。データの全体がアップロードされ、サーバ装置３が正常に受信したこと（ＨＴＴＰ  ２００（ＯＫ）など）を情報処理装置１側に通知すると、情報処理装置１はＴＣＰ−ＦＩＮ（通信終了）の信号を送信し、サーバ装置３もまた、ＴＣＰ−ＦＩＮ（通信終了）の信号を返信する。これによりサーバ装置３へのアップロードが完了する。
【００３２】
なお、ＨＴＴＰによってアップロードを行う場合、情報処理装置１は、端末２からデータのアップロードを受け入れたときに、予めサーバ装置３との間でセッションを開始しておいてもよい。この場合、情報処理装置１はＴＣＰ−ＳＹＮをサーバ装置３へ送出し、これに対してサーバ装置３からＡＣＫが返答されたときに、ＨＴＴＰのＰＯＳＴメソッドにより、任意の情報（アップロードの対象となるデータより短いデータ）をサーバ装置３宛に送信する。サーバ装置３は、これにより例えばＨＴＴＰ  ２０２（ACCEPTED）のデータを返信する。このとき、この返信されたデータにはセッション識別情報（セッションＩＤ）が含まれている。情報処理装置１は、このセッション識別情報を記憶しておき、一旦、ＴＣＰ−ＦＩＮをサーバ装置３に送信して、通信を終了しておく。その後、送信の対象となるデータをアップロードする際には、ＨＴＴＰのＰＯＳＴメソッドを送出する際に、このセッションＩＤを含めてリクエストを送信することとしてもよい。
【００３３】
具体的にタイミングを時間帯で定める場合、制御部１１が、現在時刻が当該予め定められた時間帯に含まれると判断すると、端末２から受信して保持していたデータの送信を開始することとなる。また処理Ｓ１において、予め定められたタイミングが到来していないと判断すると（Noであると）、制御部１１は処理Ｓ１を繰返し実行する。
【００３４】
なお、ここではタイミングが単に時間帯によって定められる例について述べたが、本実施の形態はこれに限られない。例えば、このタイミングは、図３に例示するように、サーバ装置３ごとにそれぞれ個別に時間帯が設定されて、サーバ装置３を特定する情報と、当該サーバ装置３へデータを送信するタイミングを表す時間帯の情報とが互いに関連付けられて設定テーブルデータとして記憶部１２に格納されたものであってもよい。また時間ではなく、ネットワークの実績のスループットによって定められてもよい。
【００３５】
サーバ装置３ごとに個別に時間帯が定められる場合は、制御部１１は、現在時刻の属する時間帯が設定テーブルデータに記録されているか否かを調べることになる。そして、現在時刻の属する時間帯が設定テーブルデータに記録されていれば、制御部１１は、当該時間帯の情報に関連付けられた情報で特定されるサーバ装置３宛のデータを選択的に記憶部１２から読み出して、当該読出したデータを、宛先となったサーバ装置３に対して送信する。なお、このサーバ装置３ごとの時間帯の情報は、サーバ装置３が送信し、制御部１１がサーバ装置３から受信して記憶部１２の設定テーブルデータに記録したものであってもよい。
【００３６】
またスループットによって定められる場合、制御部１１は、記憶部１２に保持した各データのそれぞれの宛先となっているサーバ装置３に対して、例えばpingパケットなどを送出し、その結果として得られるラウンドトリップタイム（ＲＴＴ）の情報等を参照し、ＲＴＴが予め定めた値を下回る場合に、当該pingパケットの送出先となったサーバ装置３に対してのデータの送信のタイミングが到来したと判断し、当該サーバ装置３宛のデータを選択的に記憶部１２から読み出して、当該読出したデータを、宛先となったサーバ装置３に対して送信するようにしてもよい。
【００３７】
さらに別のタイミングの例については後述するが、本実施の形態の一例に係る情報処理システムは、このような構成を備えてなり、次のように動作する。
【００３８】
端末２がサーバ装置３宛のデータ（動画データ等）を、無線にて情報処理装置１へ送信する。ネットワークは、その設定にも依存するが、一般的には不等コスト負荷分散が行われている。不等コスト負荷分散では、ネットワーク上の経路の距離（コスト）に反比例して、通信の帯域幅が決定される。すなわち距離が増大するほど帯域幅は狭くなり、通信速度は低下する。
【００３９】
ここで端末２と情報処理装置１とは無線ＬＡＮ通信回線を介して直接的に通信を行っているので、経路のコストは小さく、サーバ装置３への通信よりも比較的高速な通信を行うことが可能となっている。つまり、端末２はサーバ装置３宛に直接データを送信するよりも短時間で、情報処理装置１へのデータ送信を完了できる。
【００４０】
情報処理装置１は、端末２から受信したデータを、その宛先であるサーバ装置３を特定する情報に関連付けて保持する。例えば受信したデータが動画データであれば、情報処理装置１は、当該動画データの全体を受信する。そして予め定めたタイミングが到来したか否かを調べる。ここでは上述のように、タイミングが時間帯によって定められているものとすると、情報処理装置１は、現在時刻（図示しないカレンダーＩＣ（内蔵）によって計時しているものとする）が、当該定められた時間帯に含まれるか否かを判断する。そして、現在時刻が定められた時間帯に含まれない場合は、データの送信を行わないよう制御する。
【００４１】
なお、このようにデータがサーバ装置３に送信されていない段階で、端末２の利用者から、サーバ装置３に送信したデータの要求を受けると、情報処理装置１は、要求されたデータを記憶部１２から読み出して、要求元の端末２へ送信することとしてもよい。
【００４２】
やがて、現在時刻が定められた時間帯に含まれることとなると、端末２から受信して保持しているデータを読み出す。そして、当該読出したデータに関連付けられている情報で特定されるサーバ装置３宛に、当該読出したデータを送信するよう制御する。このサーバ装置３宛の送信は、端末２と情報処理装置１との間よりもコストの大きい経路を経由するので、端末２と情報処理装置１との間の通信よりも一般に遅い速度で行われる。
【００４３】
サーバ装置３は、情報処理装置１からデータを受信して、当該データを蓄積して保持する。以後、ネットワークを介して、当該蓄積して保持したデータの提供要求を受けたサーバ装置３は、当該要求されたデータを要求元へ送信することとなる。
【００４４】
ここで、送信のタイミングの別の例について説明する。この例では、情報処理装置１の制御部１１は、端末２から受信したデータを、宛先となるサーバ装置３を特定する情報に関連付けて保持させた後、当該データの宛先となるサーバ装置３に対し、送信対象となるデータがある旨を表す通知を送信する。制御部１１はまた、当該サーバ装置３からデータを送信するべきタイミングの指示を受け入れる。この指示は、例えば「Ｘ秒後」、「Ｘ時以降」等といった相対的な情報（現在時刻からの差の情報）ないし絶対的な情報（時刻を特定する情報）によって行われる。
【００４５】
制御部１１は、この指示されたタイミングが到来するまで待機し、当該タイミングが到来すると、記憶部１２に保持しているデータを、サーバ装置３へ送信するよう制御する。
【００４６】
この例では、サーバ装置３がデータを受け入れるタイミングを主体的に決定できる。つまり、サーバ装置３の制御部３１は、情報処理装置１から送信の対象となるデータがある旨の通知を受信する通知受信手段として機能する。また制御部３１は、当該通知を受け入れると、データの受け入れ処理を行うべきタイミングを推定する推定手段、並びに、当該推定したタイミングを、データを送信するべきタイミングとして情報処理装置１に通知する手段としても機能する。
【００４７】
次にこの例による情報処理システムの動作について説明する。この例では図４に例示するように、情報処理装置１が端末２からサーバ装置３宛のデータを当該データ単位で（つまりデータ全体を）受信すると（Ｓ１１）、情報処理装置１は、この受信したデータを、その宛先となったサーバ装置３を特定する情報（サーバ装置３のＵＲＬでよい）に関連付けて、記憶部１２に保持させる（Ｓ１２）。
【００４８】
情報処理装置１は、当該データの宛先となるサーバ装置３に対し、送信対象となるデータがある旨を表す通知を送信する（Ｓ１３）。サーバ装置３は、この通知を受け入れると、データの受け入れ処理を行うべきタイミングを推定する（Ｓ１４）。
【００４９】
この推定は、例えば次のようにして行う。具体的な例としてサーバ装置３が、処理負荷がいつでも略一定となるよう制御する（平滑化する）ことを考える。すなわちサーバ装置３は、複数の送信元から時分割的にデータを受信している。このときサーバ装置３は、処理の時点で受信しているデータの送信元の数を調べ、この数が予め定めたしきい値を超えているか否かを調べる。そしてしきい値を超えていなければ、データの受け入れ処理を直ちに行うことができると判断して、データの受け入れ処理を行うべきタイミングを、「現在（０秒後）」と推定する。
【００５０】
また、しきい値を超えている場合は、サーバ装置３は、処理の時点での各送信元から受信しているデータについて、それぞれの受信されるデータのサイズの情報Ａ（送信元から受け入れておく）と、この推定の処理の時点までに既に受信しているデータのサイズの情報Ｄと、単位時間Δｔあたりのデータ受信量（スループット）の情報ｖとから、各送信元からのデータの送信完了時刻を、現在時刻よりＴ＝（ｖ／（Ａ−Ｄ））×Δｔだけ後と推定する。そこで本実施の形態のある例では、サーバ装置３は、処理の時点で受信しているデータの送信元のそれぞれについて、データの送信完了時刻を上記の方法で推定する。そして各送信元のうち、もっとも早い送信完了時刻の情報（「Ｔ秒後」とする情報）を、データの受け入れ処理を行うべきタイミングとして推定する。
【００５１】
サーバ装置３は、ここで推定したタイミングの情報を、情報処理装置１へ送信する（Ｓ１５）。情報処理装置１は、受信したタイミングの情報（「Ｘ秒後」との情報）に現在時刻（図示しないカレンダーＩＣ等で計時しておく）を加算して、送信するべきタイミングの情報を算出して得る。そして情報処理装置１は、この算出したタイミングの情報を、処理Ｓ１２で保持させたデータに関連付けて記録する（Ｓ１６）。
【００５２】
また、情報処理装置１は、この処理と並行して、次の図５に例示する処理を実行している。すなわち情報処理装置１は、記憶部１２に保持されている、各データに関連付けられているタイミングの情報のうち、到来しているタイミングがあるか否かを調べる（Ｓ２１）。
【００５３】
ここでのタイミングは、既に述べたように時刻を表す情報となっているので、情報処理装置１は、現在時刻より前となっている時刻の情報に関連付けられたデータを記憶部１２に保持したデータのうちから検索することになる。
【００５４】
そして情報処理装置１は、処理Ｓ２１において、送信するべきタイミングが到来しているデータがあると判断すると（Yesであると）、記憶部１２に保持している当該データを読み出して（Ｓ２２）、有線通信部３４を介して、読出したデータに関連付けて記録されている情報で特定される、サーバ装置３宛に送信する（Ｓ２３）。この送信処理は、記憶部１２に保持されているデータを、例えばパケット単位で、ネットワークのスループットにより徐々に送信するものである。つまり、図５にてループで示す通り、処理Ｓ２２とＳ２３とを繰返し、送信するべきデータがなくなるまで実行することによって行われる。また処理Ｓ２１において、送信するべきタイミングが到来しているデータがないと（Noであると）、情報処理装置１は、処理Ｓ２１を繰返し実行する。
【００５５】
この例によると、データの送信元が予め定めた数より少ない場合は、サーバ装置３は直ちに情報処理装置１からのデータの送信を受け入れることとなる。またデータの送信元が予め定めた数より多い場合、サーバ装置３は、送信元の一つからの送信が終る時点を推定し、その時点以降に送信を開始するよう、情報処理装置１に求めることとなる。
【００５６】
さらにここまでの例に限らず、本実施の形態の情報処理装置１は、端末２の利用者によって、または送信の対象となるデータによって、あるいはこれらの組み合せによって、上述の処理を行うか否かを異ならせてもよい。例えば情報処理装置１は、無線通信部１３を介して通信可能に接続されている各端末２の利用者を認証する。この認証は予め設定された利用者名とパスワードとの組が入力されたか否かによって行うなど、広く知られた方法を利用できる。
【００５７】
そして情報処理装置１の制御部１１は、認証に成功した利用者の端末２からサーバ装置３宛のデータ（データ全体）が受信されると、ここまでに説明した処理を実行し、受信したデータを記憶部１２に保持して、定められたタイミングが到来するまで待機し、定められたタイミングが到来すると、当該保持したデータを宛先となるサーバ装置３へ送信する。また、認証を経ていない、または認証に失敗した利用者の端末２からサーバ装置３宛のデータが受信されると、制御部１１は、当該端末２からデータを例えばパケットごとに受信し、当該受信したデータをそのまま有線通信部１４を介してサーバ装置３へ送信する。サーバ装置３では、情報処理装置１から受信されるデータを受け入れて、蓄積して保持する。
【００５８】
この例によると、認証された利用者は、その端末２からサーバ装置３宛のデータを送信すると、情報処理装置１がそのデータの全体をデータ単位で一旦保持し、後にサーバ装置３へ送信することとなるので、既に述べたように端末２の通信は比較的短時間に完了する。一方、認証されていない利用者に対しては、情報処理装置１は単にサーバ装置３への中継（ブリッジ）を行う装置としてしか機能しない。このためデータがパケット単位でサーバ装置３に伝送されていくこととなって、情報処理装置１とサーバ装置３との間の通信速度（比較的低速）に影響され、端末２の通信は、完了までに比較的長時間を要することとなる。
【００５９】
また本実施の形態の別の例では、利用者ではなく、例えばデータの種類に応じて処理を異ならせてもよい。一例として情報処理装置１は、送信の対象となるデータのサイズによって処理を異ならせてもよい。例えば端末２から受信したデータのサイズが予め定めたデータサイズしきい値を超える場合には、情報処理装置１の制御部１１は、端末２から受信したデータ（データ全体）を記憶部１２に保持して、定められたタイミングが到来するまで待機し、定められたタイミングが到来すると、当該保持したデータを、宛先となるサーバ装置３へ送信する処理（適時アップロード処理と呼ぶ）を実行する。一方、端末２から受信したデータのサイズが予め定めたデータサイズしきい値を超えない場合は、制御部１１は、当該端末２からデータを例えばパケットごとに受信し、当該受信したデータをそのまま有線通信部１４を介してサーバ装置３へ送信する。
【００６０】
この例によると、例えば次のような動作が行われることとなる。すなわち、ユーチューブ等に対するデータのアップロードは、一般に次のような手順で行われる。
（１）端末２からのアップロードの要求
（２）サーバ装置３が当該要求に応答して、タイトル等書誌的事項の入力を求めるインタフェース画面を提示
（３）端末２は当該画面を表示して利用者からデータを受け入れ、受け入れたデータをサーバ装置３へ送信
（４）サーバ装置３が動画データ等、主となるデータ（一般にデータサイズの比較的大きいデータ）のアップロードを求める
（５）サーバ装置３がアップロードされた主となるデータへアクセスするためのＵＲＬを提供
【００６１】
ここで端末２からサーバ装置３へ送信されるデータのうち、（１）での要求と、（３）での書誌的事項に係るデータは、比較的サイズの小さいものである。従って上述のように、情報処理装置１が送信の対象となるデータのサイズによって処理を異ならせる場合、情報処理装置１は、端末２からのアップロードの要求を受信すると、この要求については、そのまま（予め定めたタイミングを待つことなく）サーバ装置３へ送信する。そして情報処理装置１は、サーバ装置３から当該要求への応答としてのインタフェース画面を記述するＨＴＭＬデータ等を受信して、このデータを端末２へ送信する。
【００６２】
端末２の利用者がこのインタフェース画面を利用して書誌的なデータを入力し、送信を指示すると、端末２が当該入力されたデータを情報処理装置１へ送信する。このデータも比較的サイズが小さいので、情報処理装置１ではデータサイズしきい値を下回るデータであるとして、そのまま（予め定めたタイミングを待つことなく）サーバ装置３へ当該データを送信する。
【００６３】
サーバ装置３では、書誌的事項のデータを受け入れてこれを記憶し、動画像データのアップロードを求める。情報処理装置１は、当該動画像データ等、主たるデータのアップロードの求めを端末２へ送信する。そして端末２がこの求めに応じて、動画像データ等主たるデータのアップロードを開始する。
【００６４】
この主たるデータがデータサイズしきい値を超えると、情報処理装置１は、主たるデータの全体を端末２から受信し、記憶部１２に保持する。そして情報処理装置１は、定められたタイミングが到来するまで待機し、定められたタイミングが到来すると、サーバ装置３に対して、当該保持している主たるデータを送信する。
【００６５】
なお、この主たるデータの送信では情報処理装置１とサーバ装置３は次のように動作してもよい。すなわち情報処理装置１は、主たるデータの全体を端末２から受信して、記憶部１２に保持すると、当該データの宛先となるサーバ装置３に対し、送信対象となるデータがある旨を表す通知を送信する。
【００６６】
サーバ装置３は、この通知を受け入れて、データの受け入れ処理を行うべきタイミングを推定し、当該推定したタイミングの情報を、情報処理装置１へ送信するとともに、アップロードが完了したときに、当該主たるデータに対してアクセスをするためのＵＲＬの情報を生成して情報処理装置１へ送信する。このＵＲＬの情報は、具体的にユーチューブの場合、蓄積した動画データの閲覧画面のＵＲＬに相当する。
【００６７】
情報処理装置１では、受信したタイミングの情報と、ＵＲＬの情報とを受け入れる。そして情報処理装置１は、受信したタイミングの情報に現在時刻（図示しないカレンダーＩＣ等で計時しておく）を加算して、送信するべきタイミングの情報を算出して得る。情報処理装置１は、この算出したタイミングの情報と、受信したＵＲＬの情報とを、保持させたデータに関連付けて記録する。
【００６８】
また情報処理装置１は、この処理と並行して、図５に例示する処理を実行する。さらに情報処理装置１は、端末２からＵＲＬを指定したデータのアクセス要求を受け入れると、指定されたＵＲＬが記憶部１２に保持されたデータに関連付けて記録されたＵＲＬのうちにあるかを検索する。ここで情報処理装置１は、記憶部１２に保持されたデータに関連付けて記録されたＵＲＬのうちに、指定されたＵＲＬがあることを見出すと、当該記録されたＵＲＬに関連付けられたデータを端末２へ送信する。また、情報処理装置１は、記憶部１２に保持されたデータに関連付けて記録されたＵＲＬのうちに、指定されたＵＲＬがなければ、当該ＵＲＬへのアクセス要求を、有線通信部１４を介して、インターネット側へ送出する。
【００６９】
この例によると、例えばエバーノート（Evernote）などのように、利用者のデータを受け入れて蓄積し、要求に応じて提供するサービスを利用するにあたり、端末２の利用者は、アップロードの対象となったデータを比較的短時間に情報処理装置１へ送信完了でき、情報処理装置１からサーバ装置３側へは適宜のタイミングで後から送信させることができる。また送信したデータは、情報処理装置１との通信が可能な範囲では、サーバ装置３への送信がなされていない段階でも、情報処理装置１から配信を受けることができ、その後サーバ装置３へのデータの送信が完了すれば、サーバ装置３から送信したデータの配信を受けることができるようになる。
【００７０】
また認証した利用者であって、かつ、予め定めたデータサイズしきい値を超えるデータについて、情報処理装置１が、上記の適時アップロード処理を行うこととしてもよい。さらに、適時アップロード処理を行うか否かを利用者が端末２からの指示により設定できるようにしてもよい。例えば利用者による適時アップロード処理を行うべき旨の設定がされた場合にはデータのヘッダにその旨の情報を含め、情報処理装置１が、データのヘッダに適時アップロード処理を行うべき旨の設定がされた旨の情報があるときに限り、適時アップロード処理を行うこととしてもよい。
【００７１】
また別の例では情報処理装置１が、データごとに、その宛先となるサーバ装置３によって、適時アップロード処理を行うか否かを決定してもよい。例えば適時アップロード処理を行うサーバ装置３のリストを記憶部１２に保持しておき、端末２からデータを受信するごとに、情報処理装置１の制御部１１が、上記リストを参照して、受信したデータの宛先がリストにある場合に適時アップロード処理を行い、リストにない場合は、従来通り、パケットごとに受信してはサーバ装置３へ送信するといった処理を行うこととしてもよい。
【００７２】
さらに本実施の形態の情報処理システムでは、情報処理装置１は、複数あってもよい。この場合、情報処理装置１の制御部１１は、サーバ装置３に対してデータを送信するべき、予め定めたタイミングを次のように定めてもよい。すなわち本実施の形態のある例では、複数の情報処理装置１の各々がデータを輪番で送信することとなるよう、予め定めた方法により、情報処理装置１の各々に、順序の情報を設定しておく。この順序の情報は例えば、自分がデータの送信を完了した後に次にどの情報処理装置１が送信を行うべきかを表す情報を、各情報処理装置１に記録しておくことで設定できる。この設定は、輪番での送信が可能となるよう、循環的に設定する。つまり最後の情報処理装置１には、次に送信を行う情報処理装置１として最初の情報処理装置１を設定しておく。
【００７３】
具体的に制御部１１は、他の情報処理装置１から順番が到来したことを表す通知を、有線通信部１４を介して受けると、予め定められたタイミングが到来したものとして、端末２から受け入れて記憶部１２に保持しているデータのそれぞれを、それぞれに関連付けられた情報で特定されるサーバ装置３宛に送信する。そして保持しているデータの送信が完了すると、設定された、次の情報処理装置１を特定する情報（例えば情報処理装置１のネットワークアドレス（ＩＰアドレスなど）でよい）を取り出す。そして当該情報で特定される他の情報処理装置１に対して順番が到来したことを表す通知を有線通信部１４を介して送信する。
【００７４】
さらに情報処理装置１の制御部１１における、サーバ装置３に対してデータを送信するべき、タイミングを定める方法は、次のようなものでもよい。本実施の形態のまた別のある例では、複数の情報処理装置１の各々が、あるサーバ装置３を注目サーバとして、この注目サーバに対する送信の対象として、記憶部１２に保持しているデータ量の情報を送受し、データ量の大きい順に注目サーバへの送信を行うようにしてもよい。
【００７５】
具体的に制御部１１は、あるサーバ装置３（注目サーバとする）への送信を行おうとするにあたり、他の情報処理装置１に対して、注目サーバへデータを送信中であるか否かを問い合せる。各情報処理装置１の制御部１１は、注目サーバへデータを送信中であればその旨を返答し、そうでなければ記憶部１２に格納されているデータのうち、注目サーバへ送信するべきデータの量を表す情報を生成して返答する。
【００７６】
制御部１１は、この返答を受けて、注目サーバへデータを送信中である情報処理装置１の数が予め定めた数を超えない場合には、各情報処理装置１の返答に含まれるデータ量と自己が記憶部１２に保持している、注目サーバ宛のデータの量とを比較する。そしてデータ量が最も大きい場合に、制御部１１は、注目サーバに対して、当該注目サーバ宛のデータを記憶部１２から読み出して送信する。
【００７７】
また、制御部１１は、注目サーバへデータを送信中である旨の返答を行った情報処理装置１の数が、予め定めた数を超える場合は、記憶部１２に格納されたデータに関連付けられた情報で特定される他のサーバ装置３があれば、当該他のサーバ装置３の一つを注目サーバとして選択して、他の情報処理装置１への問い合せの処理から処理を繰返す。
【００７８】
このように、本実施の形態の情報処理装置１は、相互に通信を行って、各サーバ装置３に対して通信する情報処理装置１が、予め定めた台数を超えないように制御することとしてもよい。
【００７９】
なお、ここまでの説明において情報処理装置１の制御部１１は、記憶部１２に保持しているデータのうち、宛先となったサーバ装置３への送信が完了したものについては、記憶部１２から削除するようにしてもよい。
【００８０】
また、ここまでの例では、ＴＣＰ／ＩＰ、並びにＨＴＴＰを利用する例について述べたが、例えばＴＣＰではなくＵＤＰ（User Datagram Protocol）を用いるなど、他のプロトコルを利用する場合も同様の処理を適用できる。
【００８１】
また本実施の形態の別の例では、情報処理装置１が、次のような構成を備えてもよい。すなわち実施の形態のある側面（aspect）では、この制御部１１は、複数のプログラム実行環境を並列的に動作させることのできるホストオペレーティングシステム（ホストＯＳ）の処理を実行している。この例の制御部１１は、概念的には、自分自身のＣＰＵ資源や、バッファ等のストレージ資源、あるいはネットワークの帯域の資源等を、これら複数のプログラムに分割して割り当てる。また、各プログラム実行環境では、さらにオペレーティングシステム（ゲストＯＳ）が動作してもよく、当該ゲストＯＳ上で、複数のタスクが時分割的ないし並列的に実行されてもよい。
【００８２】
このような例の一つでは、制御部１１は、ホストＯＳ及びゲストＯＳとしてLinuxを動作させており、ホストＯＳ上で複数の仮想的なプログラム実行環境を形成する方法として、リソースコンテナ（resource containers）の一種である、Linux Containersを用いる。またこの例では無線通信部１３は、例えば、一つないし複数の無線ＬＡＮチップを備えるネットワークカードである。この無線通信部１３は、制御部１１の制御により、時分割多重により複数の通信チャネルを多重化する。この時分割多重は例えば、multiple SSID機能として広く知られている機能と同じようにして実現可能であるので、ここでの詳しい説明は省略する。
【００８３】
そしてこの無線通信部１３は、802.11nなどの予め定めたプロトコルにて、各通信チャネルを介して、それぞれの通信チャネルで接続された端末２との間で、無線通信を行う。具体的に通信チャネルには互いに異なるｓｓｉｄが設定され、端末２の利用者は、どの通信チャネルで接続するかをｓｓｉｄを選択することで変更できる。
【００８４】
制御部１１は、機能的には図６に例示するように、ホストＯＳ４０と、各通信チャネルに対応して形成される複数のプログラム実行環境５０とを含む。また、ホストＯＳ４０には、デバイスドライバ４１を含む。プログラム実行環境５０の各々の上では、ゲストＯＳ５１が実行され、当該ゲストＯＳ５１上で動作するユーザプログラムとして、データ処理モジュール５５と通信制御モジュール５６とが実行される。プログラム実行環境を形成する方法としてLinux Containersを用いる場合、各プログラム実行環境５０は、ホストＯＳ４０上で、それぞれ独立したLXC（Linux Containers） Guest環境として実現される。
【００８５】
ゲストＯＳ５１は、一般的な無線通信のためのプロトコルスタックを備える。ここでゲストＯＳ５１のプロトコルスタックには、ＯＳＩ参照モデルにおける上位側の層の処理を行うモジュールからより下位の、データリンク層の処理を行うモジュールまで（ＭＡＣ(Media Access Control)副層に対応するモジュール）が少なくとも含まれる。一例として、Linuxであれば、nl80211、mac80211、ath9k等を含む。
【００８６】
このゲストＯＳ５１は、起動時に新たな通信チャネルの開設（open）をホストＯＳ４０に要求する。そして対応する通信チャネルが開設されると、当該対応する通信チャネルにおける物理的な通信路の確保の処理や、競合制御の処理を実行する。またゲストＯＳ５１は、ユーザプログラムであるデータ処理モジュール５５との間で、対応する通信チャネルを介して送受信するデータを授受する。さらにゲストＯＳ５１は、通信制御モジュール５６から入力される指示に従い、対応する通信チャネルにおける通信のパラメータ（後述）を設定する。
【００８７】
一例として、このゲストＯＳ５１は、対応する通信チャネルの仮想的な無線通信デバイスのインタフェースを、ユーザプログラム側に提供する。具体的にLinuxでは、無線通信デバイスのインタフェースは、wlanp及びmon.wlanp（これらにおいて末尾のｐは０から始まる数値）で識別されるデバイスとして仮想化される。そこで、このゲストＯＳ５１は、通信チャネルに対する仮想的無線通信デバイスインタフェース（wlan0及びmon.wlan0等）としてユーザプログラム側に提供する。
【００８８】
データ処理モジュール５５は、それが実行されているプログラム実行環境５０に対応する通信チャネルを介して送受される情報を、予めプログラムされた指示に従って処理する。この処理の内容はプログラム実行環境５０ごとに異なるものとしてもよい。具体的に、このデータ処理モジュール５５がLinux上で動作するものであれば、データ処理モジュール５５は、通信データを処理する一般的なプログラムと同様に、wlan0へアクセスする。ここではゲストＯＳ５１により、wlan0への書き込みは、対応する通信チャネルを介して送信するデータとして、また、wlan0からの読み出しは、対応する通信チャネルを介して受信したデータの読み出しとして扱われる。
【００８９】
通信制御モジュール５６は、対応する通信チャネル（対応通信チャネル）を介した通信において、通信のパラメータを設定する。ここで通信のパラメータには、識別情報（対応通信チャネルがアクセスポイントとして動作する場合のssid等）や、ブロードキャストのためのキー長さ、暗号化処理の有無、暗号化のパラメータ（暗号処理の種類等）が含まれる。この通信制御モジュール５６は、例えばLinux等におけるhostapdをそのまま利用できる。この例のようにhostapdである場合、通信制御モジュール５６としてのhostapdは、ゲストＯＳ５１が提供するインタフェースmon.wlan0を介して通信のパラメータの設定等を行う。
【００９０】
ホストＯＳ４０のデバイスドライバ４１は、無線通信部１３を制御する。このデバイスドライバ４１は、ゲストＯＳ５１からの通信チャネルの開設の要求に応答して、新たに設定する通信チャネルに対応するバッファ４５を形成し、無線通信部１３に新たな通信チャネルの開設を行わせる。このとき、既に無線通信部１３が少なくとも一つの通信チャネルを介した通信を行っているならば、デバイスドライバ４１は、時分割多重により当該通信チャネルでの通信を追加的に開始させる。
【００９１】
ここでこの例における制御部１１の詳しい処理の例について述べる。制御部１１が実行しているホストＯＳ４０は、各プログラム実行環境５０上のゲストＯＳ５１に対して、それぞれ互いに異なるネットワーク名前空間（network namespace）を設定する。つまり、各プログラム実行環境５０での仮想的無線通信デバイスインタフェースごとに、互いに異なるＩＰアドレスや、ルーティングテーブル等を設定する。そしてホストＯＳ４０では、有線通信部１４を介して受信するデータの宛先を参照し、当該宛先となったノードに対応するネットワーク名前空間が設定されたプログラム実行環境５０がある場合、そのプログラム実行環境５０上で動作するゲストＯＳ５１に対して受信したデータを受け渡す。
【００９２】
またいずれかのプログラム実行環境５０上で動作するデータ処理モジュール５５から、有線通信部１４を介して送出するべきデータが受け渡されると、ホストＯＳ４０は、当該データの受け渡し元であるプログラム実行環境５０に対応するルーティングテーブル等の設定に従い、有線通信部１４を介して当該データを送出する。
【００９３】
制御部１１が実行するデータ処理モジュール５５は、ゲストＯＳ５１を介して、ホストＯＳ４０のデバイスドライバ４１内に形成された複数のバッファ４５のうち、対応する通信チャネルに関わるバッファ４５に対してアクセスする。
【００９４】
制御部１１は、ホストＯＳ４０としての動作において、ゲストＯＳ５１からのバッファ４５へのアクセス要求に応答し、要求元のゲストＯＳ５１が実行されているプログラム実行環境５０に対応するバッファ４５にアクセスし、要求されたデータの書き込みまたはデータの取り出しを行う。ここでホストＯＳ４０が取り出したデータは要求元のゲストＯＳ５１に受け渡される。このようにして、プログラム実行環境５０のそれぞれが、複数のバッファ４５のうち、プログラム実行環境５０に対応した通信チャネルに係るバッファ４５（以下、アクセスの対象となったバッファ４５と呼ぶ）に対して排他的にアクセスすることが可能となる。すなわち、これにより、プログラム実行環境ごとに、それぞれの上で実行されるプログラムに対してのみ、それぞれのプログラム実行環境が提供する仮想的無線通信デバイスインタフェースを介しての通信を行わせることとなり、ＩＰアドレスやルーティングテーブル等をそれぞれ独立して設定できる。
【００９５】
データ処理モジュール５５は、アクセスの対象となったバッファ４５に格納されているデータを、ゲストＯＳ５１が提供するインタフェース（wlan0等）を介して受け取る。そしてデータ処理モジュール５５は、当該受け取ったデータに対して予め定められた処理を行う。本実施の形態では、データ処理モジュール５５は、基本的には、受け取ったデータを、有線通信部１４を介して送出するよう、ゲストＯＳ５１に対して要求する。またこのとき、データ処理モジュール５５は有線通信部１４を介して受信したデータを受け入れて、これを対応する通信チャネルを介して送出するようゲストＯＳ５１に対して要求する（wlan0等へ書き込む）。
【００９６】
ゲストＯＳ５１では、通信チャネルを介して送出するべきデータをユーザプログラムから受け入れて、アクセスの対象となったバッファ４５に格納するようホストＯＳ４０に要求する。
【００９７】
このように構成された制御部１１を利用する場合、複数のプログラム実行環境５０ａ，５０ｂ…を起動し、それぞれのプログラム実行環境５０において、それぞれゲストＯＳ５１ａ，５１ｂ…を動作させる。さらにこれらのプログラム実行環境５０ａ，ｂ…のそれぞれにおいて、ユーザプログラムであるデータ処理モジュール５５ａ，ｂ…及び通信制御モジュール５６ａ，ｂ…を動作させることができる。
【００９８】
ここでデータ処理モジュール５５ａが従来通り、アクセスの対象となったバッファ４５に格納されているデータを、ゲストＯＳ５１ａが提供するインタフェース（wlan0）を介してパケット単位で受け取り、当該受け取ったパケット単位で受取ったデータを、有線通信部１４を介して、その宛先となったサーバ装置３へ送信するものとする。またデータ処理モジュール５５ｂは、適時アップロード処理を実行し、端末２から受信され、バッファ４５に格納されているデータ（データ全体）をゲストＯＳ５１ｂが提供するインタフェース（wlan1）を介してデータ単位で（つまりデータ全体を）受け取り、当該受け取ったデータを記憶部１２に保持するものとする。そしてデータ処理モジュール５５ｂは、定められたタイミングが到来するまで待機し、定められたタイミングが到来したときに、記憶部１２に保持したデータを、宛先となるサーバ装置３へ送信するものとする。
【００９９】
このようにすると、利用するｓｓｉｄを異ならせることで、適時アップロード処理を利用可能な端末利用者とそうでない利用者とを区別させることが可能となる。
【実施例】
【０１００】
図７は、約２．８メガバイト、約６メガバイト、約１１．６メガバイト、約２３．６メガバイト、約４５メガバイトの５種類の動画データを、適時アップロード処理を行う場合に端末２が送信を完了するまでの時間（つまり情報処理装置１がデータ全体を受信完了するまでの時間）と、適時アップロード処理を行わない場合に端末２が送信を完了するまでの時間（つまり、サーバ装置３がデータの全体を受信完了するまでの時間）とを縦軸に表して比較したものである。
【０１０１】
ここでは複数回のアップロードを試し、その平均と誤差とを図示している。図７から理解されるように、適時アップロード処理を行う場合、全体的に端末２が送信を完了するまでの時間は短縮された。また、誤差を表すバーから理解されるように、適時アップロード処理を行わない場合に比べ、適時アップロード処理を行う場合は、端末２が送信を完了するまでの時間のばらつきが少なく、比較的安定した通信を行うことができた。
【符号の説明】
【０１０２】
１  情報処理装置、２  端末、３  サーバ装置、１１，３１  制御部、１２，３２  記憶部、１３  無線通信部、１４，３４  有線通信部、４０  ホストＯＳ、４１  デバイスドライバ、４５  バッファ、５０  プログラム実行環境、５１  ゲストＯＳ、５５  データ処理モジュール、５６  通信制御モジュール。
【図１】
0005859833.tif 000002
【図２】
0005859833.tif 000003
【図３】
0005859833.tif 000004
【図４】
0005859833.tif 000005
【図５】
0005859833.tif 000006
【図６】
0005859833.tif 000007
【図７】
0005859833.tif 000008