JP2005182760A - 情報処理装置およびその制御方法 - Google Patents
情報処理装置およびその制御方法 Download PDFInfo
- Publication number
- JP2005182760A JP2005182760A JP2004314724A JP2004314724A JP2005182760A JP 2005182760 A JP2005182760 A JP 2005182760A JP 2004314724 A JP2004314724 A JP 2004314724A JP 2004314724 A JP2004314724 A JP 2004314724A JP 2005182760 A JP2005182760 A JP 2005182760A
- Authority
- JP
- Japan
- Prior art keywords
- storage area
- file
- data storage
- user
- gui
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】 ユーザが転送する画像を選択しながら、仮に選択画像を転送した場合の転送先の記憶領域の残り容量を動的に知ることができるようにする。
【解決手段】 所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、そのデータ記憶領域にファイル転送が可能に構成された、クライアントとしての情報処理装置に関する。クライアントはサーバからデータ記憶領域の空き容量の情報を取得する。また、データ記憶領域に転送するファイルをユーザに選択させるためのGUIを表示し、表示したGUIに対する入力デバイスによるドラッグアンドドロップ指示に基づいてデータ記憶領域に転送するファイルを選択する。そして、現在選択されているファイルの合計ファイル容量と取得された前記データ記憶領域の空き容量との差分値を計算する。この差分値は、入力デバイスによる指示に応答してGUI上にダイナミックに表示される。
【選択図】 図15
【解決手段】 所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、そのデータ記憶領域にファイル転送が可能に構成された、クライアントとしての情報処理装置に関する。クライアントはサーバからデータ記憶領域の空き容量の情報を取得する。また、データ記憶領域に転送するファイルをユーザに選択させるためのGUIを表示し、表示したGUIに対する入力デバイスによるドラッグアンドドロップ指示に基づいてデータ記憶領域に転送するファイルを選択する。そして、現在選択されているファイルの合計ファイル容量と取得された前記データ記憶領域の空き容量との差分値を計算する。この差分値は、入力デバイスによる指示に応答してGUI上にダイナミックに表示される。
【選択図】 図15
Description
本発明は、コンピュータネットワーク環境におけるファイル転送の技術に関し、特にユーザに所定の記憶容量を割り当てて情報記憶領域を提供するサーバ装置に対してファイルを転送する際に、転送に関わる情報をユーザに提示する技術に関する。
従来より、ネットワーク上にユーザ専用のデータ記憶領域を提供するサービスサイト(ストレージサイト)がある。例えば、ユーザの画像をネットワーク上のサーバが管理する記憶装置に保管し、編集、印刷、閲覧等のサービスを提供するフォトシェアリングサイトもその一つである。
従来、このようなフォトシェアリングサイトをユーザが利用する場合、まず、ユーザが有するコンピュータ機器(ユーザPC)、デジタル撮像機器(デジタルビデオカメラ、デジタルスチルカメラ等)、もしくはデジタル撮像機器を有する電子機器などに保管されている画像を、フォトシェアリングサイトを実現するサーバ装置に転送する(いわゆるアップロード)。かかる後に、これらアップロードした画像の閲覧や、画像処理などのサービスが利用可能になる。
ユーザのアップロード操作は、まずユーザ機器上で、ユーザが保有する画像の中からアップロードする画像を選択し、しかる後にアップロードを指示するという2段階を踏む場合が多い。
アップロードする画像の選択操作においては、各機器で直接選択したり、あるいはコンピュータ機器にいったん転送してからコンピュータ機器上のソフトウェアで選択したりする。
アップロード操作においては、ユーザ機器から直接、又はインターネットに接続可能なコンピュータ機器等を介し、HTTP(Hypertext Transfer Protocol;RFC1945およびRFC2068)、FTP(File Transfer Protocol;RFC959)等のプロトコルを用いて、サーバのあらかじめユーザに割り当てられた記憶領域にそれらの画像をアップロードする。
ところで、通常のフォトシェアリングサイトでは、1ユーザに与えられる記憶領域の容量に対して上限が設定されている場合が多い。このような場合、ユーザは手動でサーバの記憶領域の残容量を問い合わせて確認していた。一方、ユーザはユーザ機器上でアップロードしたい画像を全て選択し、アップロード処理を指示した後に、サーバが選択画像の容量の合計を計算し、その合計値がサーバの記憶領域の残容量を超えていた場合、サーバはユーザ端末にその旨を通知し、全ての画像のアップロード処理を無効にしていた。
あるいは、ユーザがアップロードしたい画像を全て選択した後に、ユーザ端末が選択画像の容量の合計を計算していた。そして、ユーザ端末は、予め決められた所定の枚数や容量をディスプレイ上に表示するとともに、選択画像の容量の合計値を表示することで、選択画像のアップロードが可能であるかをユーザに示唆していた。(非特許文献1参照。)
しかしながら、これら従来の方法では、ユーザが画像を選択しながら、選択画像をアップロードした場合のサーバの記憶領域の残容量を動的に知ることができず、操作性が悪いという問題があった。
キヤノン株式会社「ZoomBrowser EX ソフトウェアユーザガイド Version 4.5」104〜106ページ、2003年10月23日発行
本発明は以上の技術的背景に鑑みてなされたものであり、ユーザが転送する画像を選択しながら、仮に選択画像を転送した場合の転送先の記憶領域の残り容量を動的に知ることができるようにすることを目的とする。
上記した目的を達成するために、例えば本発明の一側面に係る情報処理装置は以下の構成を備える。すなわち、所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、前記データ記憶領域にファイル転送が可能に構成された情報処理装置であって、ユーザからの指示を入力する入力デバイスと、画像を表示する表示デバイスと、前記サーバから前記データ記憶領域の空き容量の情報を取得する取得手段と、前記取得手段による取得処理の実行後に、前記データ記憶領域に転送するファイルをユーザに選択させるためのグラフィカルユーザインタフェース(GUI)を前記表示デバイスに表示させる表示制御手段と、表示した前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に基づいて前記データ記憶領域に転送するファイルを選択する選択手段と、前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記選択手段によって現在選択されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算する計算手段とを有し、前記GUIは、前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記計算手段により計算された前記差分値をダイナミックに表示する表示領域を含むことを特徴とする。
本発明によれば、ユーザが転送する画像を選択しながら、仮に選択画像を転送した場合の転送先の記憶領域の残り容量を動的に知ることができ、ユーザの使い勝手を向上させることができるという効果が得られる。
また、ユーザが転送する画像を選択している時点で、選択した画像を転送すると残り容量を超えてしまうかどうかを容易に判断できるようになる。
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
本実施形態では、ユーザPC(クライアント)から、フォトシェアリングサービスを提供するサーバに対して、ユーザの操作により画像ファイルを転送(いわゆるアップロード)するネットワークシステムを説明する。サーバはユーザごとに「アルバム」とよばれる記憶領域を提供している。アルバムとして使用可能な記憶領域の容量はユーザごとにあらかじめ決められている。ユーザがクライアントから画像ファイルをアップロードすると、サーバはアップロードされた画像ファイルをアルバムに格納する。
しかしながら、本発明はサーバがフォトシェアリングサービスを提供するものに限定されるものではなく、サーバがユーザに所定量の記憶容量を提供するのであれば、本発明を適用可能である。また、サーバ装置が接続されるコンピュータネットワークもインターネットに限定されないが、TCP/IP等いわゆるインターネットプロトコル群を用いるコンピュータネットワークであることが好ましい。
<単位系について>
本明細書では、ファイルのサイズを表わす単位としてバイト(byte)を使用する。また、210(1,024)バイトを表わす単位の略記法としてKB(kilobyte)を使用する。また、220(1,048,576)バイトを表わす単位の略記法としてMB(megabyte)を使用する。
本明細書では、ファイルのサイズを表わす単位としてバイト(byte)を使用する。また、210(1,024)バイトを表わす単位の略記法としてKB(kilobyte)を使用する。また、220(1,048,576)バイトを表わす単位の略記法としてMB(megabyte)を使用する。
国際単位系(SI;International System of Units)では接頭辞としての小文字のk(kilo)は103を表わし、同じく接頭辞としての大文字のM(mega)は106を表わすことになっている。また、国際電気標準会議(IEC;International Electrotechnical Commission)の決定においては、国際単位系の接頭辞と混同されることのないように、210を表わす接頭辞としてKi(kibi)を使用し、220を表わす接頭辞としてMi(mebi)を使用することになっている。
以上の規格に従えば、210バイトはKiB(kibibyte)、220バイトはMiB(mebibyte)と表記すべきところであるが、本明細書ではコンピュータ業界の慣用に従って、210バイトをKB、220バイトをMBと表記することにする。
<全体構成>
図1は、本実施形態におけるネットワークシステムの全体構成を示す図である。
図1は、本実施形態におけるネットワークシステムの全体構成を示す図である。
101はユーザが用いるパーソナルコンピュータ等のコンピュータ機器(以下、ユーザPCという。)で、画像ファイルのアップロード操作を行なうクライアントコンピュータとして機能する。クライアント101はネットワークインタフェースを経由してインターネット103に接続されている。102は記憶領域を提供し、画像ファイルのアップロードを受け付けるサーバであり、やはりネットワークインタフェースを経由してインターネット103に接続されている。これによりクライアント101とサーバ102はそれぞれインターネット103を通じ、例えばHTTPプロトコルを使用して相互に通信が可能である。なお、このようなクライアント101は複数存在しうるが、ここでは説明を簡単にするためクライアント101を代表的に1台だけ表示した。
<クライアント101及びサーバ102の構成>
図2は、クライアント101及びサーバ102として使用されるコンピュータ装置の構成を示す図である。201は本コンピュータ装置全体の制御を行なうCPU、202は主記憶装置として機能するRAM、203はCPU201の制御の下にインターネット等のネットワークとの接続を行なってデータ等を送受信するネットワークインタフェース(Net I/F)である。204はデータを保存する磁気ディスク等の外部記憶装置、205は画像を表示する表示デバイスとしてのディスプレイ、206および207はそれぞれ、ユーザからの指示を入力する入力デバイスとしてのキーボードおよびポインティングデバイス(マウス等)である。RAM202に格納されているプログラムは、同じくRAM202に格納されているOS(Operating System)の機能を必要に応じて使用し、RAM202に一時記憶するデータの内容を読み書きしたり、外部記憶装置204上でデータを読み書きしたり、ネットワークインタフェース203を通じてデータの送受信を行なったり、キーボード206やポインティングデバイス207からの入力を受け取ったり、ディスプレイ205に表示を行なったりすることで、所定の動作を行なう。
図2は、クライアント101及びサーバ102として使用されるコンピュータ装置の構成を示す図である。201は本コンピュータ装置全体の制御を行なうCPU、202は主記憶装置として機能するRAM、203はCPU201の制御の下にインターネット等のネットワークとの接続を行なってデータ等を送受信するネットワークインタフェース(Net I/F)である。204はデータを保存する磁気ディスク等の外部記憶装置、205は画像を表示する表示デバイスとしてのディスプレイ、206および207はそれぞれ、ユーザからの指示を入力する入力デバイスとしてのキーボードおよびポインティングデバイス(マウス等)である。RAM202に格納されているプログラムは、同じくRAM202に格納されているOS(Operating System)の機能を必要に応じて使用し、RAM202に一時記憶するデータの内容を読み書きしたり、外部記憶装置204上でデータを読み書きしたり、ネットワークインタフェース203を通じてデータの送受信を行なったり、キーボード206やポインティングデバイス207からの入力を受け取ったり、ディスプレイ205に表示を行なったりすることで、所定の動作を行なう。
<全体のブロック図>
次に、図3を参照して、本実施形態におけるネットワークシステム内のソフトウェア構成について説明する。
次に、図3を参照して、本実施形態におけるネットワークシステム内のソフトウェア構成について説明する。
図3は、物理的に図1のような構成を取るクライアント101、サーバ102、インターネット103において、本実施形態の動作に主として関わる論理ブロック、すなわちプログラムモジュール、ファイルエンティティ、データベースエンティティ、および通信経路の構成を示している。
301はクライアント101のブロック境界を表わし、ここではOSの制御下にある環境を指す。アップロードプログラム302とアルバム表示プログラム304は、通常は外部記憶装置204に保存されているが、ユーザ、OS、あるいは別のプログラムから実行が指示されると、OSの制御によりRAM202に読み込まれ、実行可能な状態となる。303は外部記憶装置204に保存されている画像ファイルである。画像ファイル303は任意のプログラムから読み書き可能であるが、ここでは画像ファイル303とアップロードプログラム302との間の矢印およびその方向が示すように、アップロードプログラム302は画像ファイル303の内容を読み込むだけの関係である。アップロードプログラム302とアルバム表示プログラム304の動作は図6等を用いて後述する。
305はサーバ102のブロック境界を表わし、ここではOSの制御下にある環境を示す。アルバムクエリCGI306、アップロードCGI308、およびアルバム表示CGI309はそれぞれCGI(Common Gateway Interface)プログラムである。これらのCGIプログラムは、通常は外部記憶装置204に保存されているが、クライアント301からHTTPリクエストの形式で実行要求があると、OSおよびWebサーバプログラム(図示せず)の制御によりRAM202に読み込まれ、実行可能な状態となる。CGIプログラムは実行に必要な引数をHTTPリクエストのリクエストパラメータを通じて受信し、実行結果はHTTPレスポンスを通じて送信するように動作する。307は外部記憶装置204上にデータベースプログラム(図示せず)が構成したデータベースである。CGIプログラム306、308、309はデータベースプログラムやデータベースドライバ(図示せず)の機能を必要に応じて利用することで、データベース307の内容を読み書き可能である。ここではサーバブロック305内の矢印およびその方向が示すように、アルバムクエリCGI306とアルバム表示CGI309がデータベース307の内容を読み込み、アップロードCGI308がデータベース307の内容に書き込む。アルバムクエリCGI306、アップロードCGI308、アルバム表示CGI309の動作は図9、図18、図20等を用いて後述する。
310、311、312はクライアント実行環境301とサーバ実行環境305との間で使用されるHTTP通信経路を示す。各通信経路はクライアント301のプログラムからサーバ305のCGIプログラムの実行を要求するHTTPリクエストの形式でインターネット103上にコネクションが確立され、サーバ305のCGIプログラムがクライアント301のプログラムにHTTPレスポンスを返した時点でコネクションを維持する指示がない限り自動的に破棄される。
<データベース構成とレコード>
次に、図4、図5を参照して、本実施形態で使用するデータベースの構成およびレコードについて説明する。
次に、図4、図5を参照して、本実施形態で使用するデータベースの構成およびレコードについて説明する。
図4は、ユーザ情報を格納するためにデータベース307内に構成されたデータベースの構成およびレコードの一例を示す図である。
401はユーザ情報のデータベース構成であり、データ列402〜406がユーザ情報401に含まれる。402はユーザを識別するために発行するユーザIDであり、PK(Primary Key)を指定しておくことで、ユーザ情報データベース401に含まれる全ての行(レコード)でユーザID402が重複しないことがデータベースプログラムにより保証される。したがって、ユーザ情報401内のすべてのレコードはユーザID402をキーとすることで一意に識別可能である。403は認証用のパスワード、404はユーザの氏名、405はユーザのメールアドレスである。406は使用可能な記憶領域としてユーザに割り当てられている容量、すなわちアルバムの最大容量である。単位は前述のようにバイトを使用する。
407は本実施形態で使用するユーザ情報のレコードである。図示のように、408〜412にはデータベース構成の402〜406に対応するデータとして、それぞれ「ID1234」、「PAS5678」、「木谷野太郎」、「xx@yy.jp」、「52,428,800」が格納されている。ここで、アルバム最大容量は52,428,800バイト、すなわち50MBである。
図5は、アルバム情報を格納するためにデータベース307内に構成されたデータベースの構成およびレコードの一例を示す図である。
501はアルバム情報のデータベース構成であり、データ列502〜506がアルバム情報501に含まれる。502はユーザIDであり、FK(Foreign Key)として402(図4を参照)が指定しておくことで、アルバム情報データベース501にレコードを追加する場合、そのユーザID502は、ユーザ情報データベース401にも同じユーザIDを持つレコードが存在していることがデータベースプログラムにより保証される。503は画像ファイルのファイル名、504は画像ファイルのサイズ(単位はバイト)、505は画像ファイルのサムネイルデータ、506は画像ファイルのデータである。サムネイルデータ505と画像ファイルデータ506はバイナリデータをそのままデータベースに格納するが、そのままでは図示できないため、本実施形態で図示する場合には画像ファイルの内容を表示して代用することにする。
507〜509は本実施形態で使用するアルバム情報のレコード、すなわち407(図4を参照)に示すユーザのアルバム情報を保持するレコードである。レコード507にはデータベース構成の502〜506に対応するデータとして、それぞれ「ID1234」、「車.jpg」、「200,000」、(図示のサムネイルに相当するバイナリデータ)、(図示の画像に相当するバイナリデータ)が格納されている。ここで、画像ファイルサイズは200,000バイト、すなわち約195KBである。508および509も507と同様である。
<全体動作>
次に、図6を参照して、本実施形態の全体動作について説明する。
次に、図6を参照して、本実施形態の全体動作について説明する。
図6は、本実施形態におけるネットワークシステムの全体動作を示すためのUML(Unified Modeling Language)シーケンス図である。ここでは主に正常系の動作のみが示されており、異常系(エラー発生時や処理失敗時)の動作については示されない場合がある。
601はクライアント101を操作するユーザである。
602はアップロードプログラム302のインスタンス、すなわちアップロードプログラム302がクライアント101のRAM202に読み込まれて実行可能な状態となっている実体を表わす。603はアルバム表示プログラム304のインスタンスである。
604はクライアント301とサーバ305とのネットワーク境界を表わす。ただし、これはUMLの表記ではなく、シーケンス図の左側(クライアント側)と右側(サーバ側)とが別の環境で実行されていることを示すための便宜的な表記である。
605はアルバムクエリCGI306のインスタンス、すなわちアルバムクエリCGI306がサーバ102のRAM202に読み込まれて実行可能な状態となっている実体を表わす。606はアップロードCGI308のインスタンス、607はアルバム表示CGI309のインスタンスである。
まず、ユーザ601がクライアント101のキーボード206やポインティングデバイス207を使用して、アップロードプログラム302の実行をOSに指示する(シーケンス608)。OSはアップロードプログラム302を外部記憶装置204からRAM202に読み込んで、アップロードプログラム302のインスタンス602を作成する。
アップロードプログラム602は実行が開始されると、まず認証情報入力画面をディスプレイ205に表示する(シーケンス609)。ユーザ601は表示された認証情報入力画面に対してクライアント101のキーボード206やポインティングデバイス207を使用して認証情報を入力する(シーケンス610)。認証情報入力画面の表示および入力の詳細については図7、図8を用いて後述する。
アップロードプログラム602はユーザ601の認証情報の入力が終わると、ネットワーク103を経由してサーバ102に対しHTTPリクエストの形式でアルバムクエリCGI306の実行を依頼する(シーケンス611)。この際、ユーザ601が入力した認証情報を実行時引数として渡す。サーバ102のOSおよびWebサーバプログラムはアップロードプログラム602とのHTTPコネクション310を確立し、アルバムクエリCGI306を外部記憶装置204からRAM202に読み込んで、アルバムクエリCGIのインスタンス605を作成する。アルバムクエリCGI605は引数で指定された認証情報をチェックした後、引数で指定されたユーザのユーザ情報およびアルバム情報をHTTPレスポンスの形式でアップロードプログラム602に返す。アルバムクエリCGI605の動作の詳細については図9を用いて後述する。後述するように、このアルバムクエリCGI306の実行要求に応答してアルバム利用可能サイズが返される。そのため、この時点でユーザに設定されたアルバムの空き容量を取得できる。
アップロードプログラム602はアルバムクエリCGI605の呼び出しが終わると、HTTPレスポンスで返された情報を利用してGUI(Graphical User Interface)であるアップロード画面をディスプレイ205に表示する(シーケンス612)。ユーザ601は、表示されたアップロード画面に対して、クライアント101のキーボード206やポインティングデバイス207を使用して、アップロードする画像ファイルを追加したり、追加した画像ファイルをアップロードするかどうかを選択したりする(シーケンス613)。アップロードプログラム602はユーザ601が画像を追加したり選択したりするたびにアップロード画面の表示を更新する(シーケンス614)。シーケンス613とシーケンス614はユーザ601が繰り返し実行可能である。アップロード画面の表示の詳細については図10〜図17を用いて後述するが、アップロード画面には、現在選択されている画像ファイルの合計ファイル容量と、シーケンス611によって取得されたアルバム利用可能サイズとがダイナミック(動的)に表示される。
ユーザ601はアップロードする画像ファイルの準備が終了すると、すなわちシーケンス613とシーケンス614をこれ以上繰り返す必要がないと判断すると、クライアント101のキーボード206やポインティングデバイス207を使用し、アップロードプログラム602に画像ファイルのアップロードを指示する(シーケンス615)。アップロードプログラム602は、ネットワーク103を経由してサーバ102に対しHTTPリクエストの形式でアップロードCGI308の実行を依頼する(シーケンス616)。この際、ユーザ601のユーザ情報に加えて、ユーザ601の選択した画像ファイルについての情報も実行時引数として渡す。サーバ102のOSおよびWebサーバプログラムはアップロードプログラム602とのHTTPコネクション311を確立し、アップロードCGIを外部記憶装置204からRAM202に読み込んで、アップロードCGIのインスタンス606を作成する。アップロードCGI606は引数で指定された画像ファイルを引数で指定されたユーザのアルバムに登録し、処理結果をHTTPレスポンスの形式でアップロードプログラム602に返す。この動作(シーケンス616)はアップロードする画像ファイルの数だけ繰り返す。アップロードCGI606の動作の詳細については図18、図19を用いて後述する。
アップロードプログラム602はアップロードCGI308の呼び出しがすべて終わると、アルバム表示プログラム304の実行をOSに指示し、自身の実行を終了する(シーケンス617)。この際、シーケンス610で入力された認証情報を実行時引数として渡す。OSはアルバム表示プログラム304を外部記憶装置204からRAM202に読み込んで、アルバム表示プログラムのインスタンス603を作成する。アルバム表示プログラム603は実行が開始されると、ネットワーク103を経由してサーバ102に対しHTTPリクエストの形式でアルバム表示CGI309の実行を依頼する(シーケンス618)。この際、アップロードプログラム602から起動時に渡された認証情報をアルバム表示CGI309への実行時引数として渡す。サーバ102のOSおよびWebサーバプログラムはアルバム表示プログラム603とのHTTPコネクション312を確立し、アルバム表示CGI309を外部記憶装置204からRAM202に読み込んで、アルバム表示CGIのインスタンス607を作成する。アルバム表示CGI607は引数で指定されたユーザのアルバムに含まれる画像ファイルの情報をHTTPレスポンスの形式でアルバム表示プログラム603に返す。アルバム表示CGI607の動作の詳細については図20を用いて後述する。
アルバム表示プログラム603はアルバム表示CGI607の呼び出しが終わると、HTTPレスポンスで返された情報を利用してアルバム画面をディスプレイ205に表示する(シーケンス619)。アルバム画面の表示については図21を用いて後述する。
以上が本実施形態の全体動作である。以下、個々の動作を詳細に説明する。
<認証情報入力画面>
図7、図8を参照して、認証情報入力画面の表示および入力について説明する。
図7、図8を参照して、認証情報入力画面の表示および入力について説明する。
図7は、アップロードプログラム602がシーケンス609で表示する認証情報入力画面の一例である。ユーザ601はクライアント101のキーボード206やポインティングデバイス207を使用して入力や操作が可能である。701はユーザIDの入力フィールド、702はパスワードの入力フィールドである。ユーザ601がOKボタン703を操作すると、アップロードプログラム602は入力終了と判断する。ユーザ601がキャンセルボタン704を操作すると、アップロードプログラム602はプログラムの実行がキャンセルされたと判断し、プログラムを終了する(キャンセルボタン704操作時の動作は図6には図示されていない)。
図8は、ユーザ601がシーケンス610で認証情報入力画面に入力した状態を示す画面の一例である。ここでは、ユーザ情報データベース401のレコード407に対応する認証情報を入力するものとする。ユーザID入力フィールド801にはユーザID408に対応して「ID1234」が入力されている。パスワード入力フィールド802はセキュリティ上の観点から入力文字がエコーバックされず、すべての文字が「*」で表示されているが、ここではユーザIDと同じくパスワード409に対応して「PAS5678」が入力されているものとする。
<アルバムクエリCGIの動作>
次に、図9を参照して、アルバムクエリCGIの動作について説明する。
次に、図9を参照して、アルバムクエリCGIの動作について説明する。
図9は、アルバムクエリCGI605の動作(シーケンス611)を示すフローチャートである。
ステップS901はプログラムの開始である。図7に示す認証情報入力画面でユーザ601が入力したユーザIDとパスワードが、HTTPリクエストのパラメータとしてアップロードプログラム602から渡されるので、それぞれ変数userIdとpasswordに代入する。ここでは、図8に示したようにユーザIDとして「ID1234」、パスワードとして「PAS5678」が渡されたものとする。
ステップS902で、userIdがユーザID402と一致するレコードをユーザ情報データベース401から検索する。図4に示したようにユーザID402はPKであることから、userIdとユーザID402が一致するレコードは多くとも1件しか存在しない。
ステップS903ではステップS902でレコードが見つかったかどうかを判定する。レコードが見つからなければユーザIDが不正であるとしてステップS908に進んでプログラムを終了し、アップロードプログラム602に失敗を返す。レコードが見つかればステップS904に進む。ここではuserIdが「ID1234」であることから、図4の407に示したレコードが見つかるので、ステップS904に進む。
ステップS904では、ステップS902で見つかったレコードのパスワード403と、引数で渡されたpasswordとが一致するかどうかを判定する。パスワードが一致しなければパスワードが不正であるとしてS908に進んでプログラムを終了し、アップロードプログラム602に失敗を返す。パスワードが一致すればステップS905に進む。ここでは見つかったレコード407のパスワードが409に示すように「PAS5678」であり、passwordも同じく「PAS5678」であることから、ステップS905に進む。
ステップS905では、userIdがユーザID502と一致するレコードをアルバム情報データベース501からすべて検索し、見つかったレコードの画像ファイルサイズ504を累計する。ここではuserId=「ID1234」であることから、図5の507〜509に示したレコードが3件見つかるので、画像ファイルサイズを累計した結果、200,000+300,000+400,000=合計900,000バイトという結果を得る。
ステップS906では、ユーザ情報データベース401のアルバム最大容量406から、ステップS905で求めた画像ファイルの合計サイズを引いて、アルバムの利用可能サイズを計算する。ここでは、アルバム最大容量が図4の412に示すように52,428,800バイトであり、画像ファイルの合計サイズが上記のように900,000バイトであることから、52,428,800−900,000=51,528,800バイトという結果を得る。
そして、ステップS907では、プログラムを終了し、アップロードプログラム602に成功を返す。この際、HTTPレスポンスの一部として戻り値を返す。ここでは、見つかったレコード407の氏名410である「木谷野太郎」と、ステップS906で求めたアルバム利用可能サイズ「51,528,800」を返す。
<アップロード画面(初期画面)>
次に、図10、図11を参照して、アップロード画面の初期画面について説明する。
次に、図10、図11を参照して、アップロード画面の初期画面について説明する。
図10はアルバムクエリCGI605の呼び出し(シーケンス611)が失敗を返した時にアップロードプログラム602がディスプレイ205に表示する認証エラー画面である。図9に示したように、アップロードプログラム602が失敗を返すのは、引数のユーザIDまたはパスワードが不正な場合なので、図10では「ユーザIDが見つからないか、またはパスワードが一致しません」というメッセージを表示している。「ユーザIDが見つからない」のか「パスワードが一致しない」のか、いずれの理由で失敗したのかを明示していないのはセキュリティ上の理由による。1001はOKボタンであり、ユーザ601がキーボード206またはポインティングデバイス207を使用して操作すると、アップロードプログラム602は認証エラー画面を消去し、シーケンス609の認証情報入力画面表示に戻る(認証エラー画面表示に関わる動作は図6に図示していない)。
図11は、アップロードプログラム602がシーケンス612でディスプレイ205に表示するアップロード画面である。
1101は固定のメッセージ部分であるが、一行目の一部に、シーケンス611の戻り値として返された氏名「木谷野太郎」を使用している。
1102はキャンバスであり、この矩形領域に画像ファイルを追加する。追加する方法はクライアント101の外部記憶装置204に存在する画像ファイル303をユーザ601がポインティングデバイス207を使用してドラッグし、キャンバス1102にドロップすることで行なう。
1103はアップロード対象の画像ファイルの合計サイズとファイル数を表示する領域である。ここではまだ画像ファイルが追加されていないので、0KB(0ファイル)と表示されている。
1104はシーケンス611の戻り値として返されたアルバム利用可能サイズを表示する領域である。ここでは「51,528,800バイト」=「49.124メガバイト」≒「49.1メガバイト」であることから、「49.1MB」と表示している。このように、この時点ですでにアルバム利用可能サイズが表示されている。
1105はアップロードボタンである。ユーザがキーボード206またはポインティングデバイス207を使用してアップロードボタン1105を操作すると、キャンバス1102に追加した画像ファイルのアップロードをアップロードプログラム602に指示することになる。
<アップロードプログラム内部データ構造および動作>
続いて、図12、13を参照して、アップロードプログラムの内部データ構造と動作について説明する。
続いて、図12、13を参照して、アップロードプログラムの内部データ構造と動作について説明する。
図12は、アップロード画面のキャンバス1102に画像ファイルが追加された時(シーケンス613)に、追加された画像ファイルを管理するために、アップロードプログラム602がRAM202に割り当てて使用するデータ構造を表わす図である。
1201は一つの画像ファイルに対応するデータ構造を表わす。このデータ構造をセルと呼ぶ。1202は画像ファイルのファイル名であり、キャンバス1102に画像ファイルがドロップされた際にOSから通知される。1203は画像ファイルのサイズであり、キャンバス1102に画像ファイルがドロップされた際に、アップロードプログラム602がOSに問い合わせることで取得する。単位はバイトである。1204はサムネイルデータであり、同じくキャンバス1102に画像ファイルがドロップされた際に、アップロードプログラム602が画像ファイルの内容を読み込んで縮小画像を生成する。サムネイルデータ1204はバイナリデータとしてRAM202に格納するが、そのままでは図示できないため、図示する場合はサムネイルデータの内容を表示して代用することにする。1205はチェックフラグであり、追加した画像ファイルを実際にアップロードするかどうかを管理するために使用する。チェックフラグ1205は「on」(アップロードする)または「off」(アップロードしない)のいずれかの状態を取る。画像ファイルがドロップされた時点では「on」であるが、その後のユーザの操作により「off」に変更可能である。
1206はセル1201を複数連結したリスト構造を表わす。図示のように画像ファイル1〜画像ファイルnに対応して、セル1207−1〜セル1207−nを割り当て、これらのセルを順序付けたリストに格納することで、複数のセルおよびそれらの順序関係を管理している。
図13は、アップロードプログラム602がディスプレイ205にアップロード画面を表示(シーケンス614)する動作を示すフローチャートである。ここで、ユーザがアップロード画面に画像ファイルを追加した結果、セルのリストが図14に示す状態になったとする。この時のアップロード画面の表示は図15のようになる。この表示動作を図13のフローチャートを参照して説明する。
動作はステップS1301より開始する。ステップS1302は初期化処理である。checkedFileNumはアップロード対象の画像ファイル数、すなわち、セルリスト1206において、チェックフラグ1205が「on」の状態を持つセルの数を表わす。checkedFileBytesはアップロード対象の画像ファイルのサイズ合計、すなわち、セルリスト1206において、チェックフラグ1205が「on」の状態を持つセルの画像ファイルのサイズ1203の合計値を表わす。ステップS1302ではともに0に初期化する。
ステップS1303はメッセージ部分1501を表示する。メッセージの一部に、シーケンス611の戻り値として返された氏名「木谷野太郎」を使用する。
ステップS1304はセルのリストをすべて表示したかどうかの判定処理である。ここではまだ何も表示していないので、ステップS1305に進む。
ステップS1305は次に表示するセルを決定する処理である。ここではリストの先頭セル1401を選択する。
ステップS1306はセルのファイル名、サムネイル、チェック状態を表示する処理である。ステップS1304で選択したセルのファイル名1202、サムネイル1204、チェックフラグ1205の状態をキャンバス1502に表示する。ここではセル1401が選択されているので、ファイル名「鳥.jpg」を1506に表示し、サムネイル(1401参照)を1507に表示する。チェックフラグについては1508において、“レ”(チェックマーク)が入れられた状態が「on」を示し、チェックマークが外された状態が「off」を示す。ここではセル1401のチェックフラグが「on」なので、1508はチェックマークが入った状態の表示を得る。
ステップS1307はセルのチェックフラグ1205が「on」か「off」かの判定処理である。ここでは1401に示すように「on」なので、ステップS1308に進む。
ステップS1308は変数の更新処理である。まず、アップロード対象の画像ファイル数(checkedFileNum)に1を加算する。次に、アップロード対象の画像ファイルのサイズ合計(checkedFileBytes)に画像ファイルのサイズ(ここでは1401に示すように100,000)を加算する。この結果、checkedFileNumは1、checkedFileBytesは100,000になる。この後、ステップS1304に戻る。
続いてセル1402に対してステップS1304〜S1308を適用した結果、1509〜1511の表示を得て、checkedFileNumは2、checkedFileBytesは300,000になる。この後、ステップS1304に戻る。
続いてセル1403に対してステップS1304〜S1308を適用した結果、1512〜1514の表示を得て、checkedFileNumは3、checkedFileBytesは600,000になる。この後、ステップS1304に戻る。
ここで図14に示すセルのリストをすべて表示したので、ステップS1304の判定でステップS1309に進む。
ステップS1309は容量部分の表示処理である。まず、1503に示すように、アップロード対象のファイルの合計サイズと合計数をcheckedFileBytesとcheckedFileNumを利用して表示する。ここではcheckedFileBytesは「600,000バイト」=「585.9375キロバイト」≒「586キロバイト」なので、586KBと表示している。また、checkedFileNumは3なので、3ファイルと表示している。次に、1504に示すように、アルバム利用可能サイズを表示する。ここではシーケンス611の戻り値として返されたアルバム利用可能サイズをそのまま使用し、1104と同じように49.1MBと表示している。このように、アップロード対象の画像ファイルを選択している際に、現時点で選択されている画像ファイルの合計ファイル容量と、シーケンス611によって取得されたアルバム利用可能サイズとの両方が表示されるので、ユーザは選択した画像を転送するとその転送先の記憶領域の残り容量を超えてしまうかどうかを容易に判断することができる。
そして、ステップS1310で処理を終了する。
<画像ファイル選択時の動作>
図16〜17を参照して、画像ファイル選択時の動作について説明する。
図16〜17を参照して、画像ファイル選択時の動作について説明する。
図11に示す画面に画像ファイルを追加して図15に示す画面が得られると、ユーザ601は追加した画像ファイルのチェックフラグを「off」にしたり「on」にしたりすることができる(シーケンス613)。操作方法は、クライアント101のキーボード206やポインティングデバイス207を使用して、追加した画像ファイルのチェックフラグ表示を操作することで行なう。たとえば図15の1508に示すチェックフラグ表示をポインティングデバイス207を使用してクリックすると、アルバム表示プログラム603にOSから通知が行なわれるので、アルバム表示プログラム603は該当セルのチェックフラグを「off」に変更する。この結果、セルのリストは図16に示すように、先頭セル1601のチェックフラグが「off」の状態になる。
セルのリストの状態が変更されるとアップロードプログラム602はアップロード画面の再表示を行なう(シーケンス614)。図16に示すセルのリストを図13のフローチャートに従って再表示すると、図17に示す表示を得る。図15と図17の違いはセル1401とセル1601のチェックフラグの違いに起因する。相違点の一つ目はチェックフラグ表示1508と1708であり、二つ目は選択画像サイズ・ファイル数表示1503と1703である。図16に示すセルのリストではチェックフラグが「on」のセルが2つ(1602、1603)なので、1703に示すアップロード対象のファイルの合計数は2になり、ファイルの合計サイズは「500,000バイト」=「488.281キロバイト」≒「488キロバイト」なので488KBとなる。
なお、ステップS1309では、図15に示す画面において、アップロード対象画像をアップロードした場合のアルバム利用可能サイズも表示するようにしてもよい。具体的には、checkFileBytesの値とシーケンス611の戻り値との差分を計算し、仮想アルバム利用可能サイズとして表示する。これにより、ユーザは現在の選択画像をアップロードした後のアルバム利用可能サイズが容易に分かるので、さらに他の画像をアップロード対象画像として追加で選択したり、アップロード対象画像として選択した画像の中から削除する画像を選択したりしやすくなる。
<アップロードCGIの動作>
図18、図19を参照して、アップロードCGIの動作について説明する。
図18、図19を参照して、アップロードCGIの動作について説明する。
図18はアップロードCGI606の動作(シーケンス616)を示すフローチャートである。また、図19はアップロードCGIによるアップロード後のアルバム情報データベースの内容例を示す図である。
ここでは、図16に示す内部状態を持つアップロードプログラム603が図17に示すアップロード画面を表示しているときに、ユーザ601がアップロードボタン1705を操作したと仮定する。アップロードプログラムはチェックフラグ1205が「on」であるセルそれぞれについてアップロードCGI606を呼び出す。ここではセル1602と1603についてアップロードCGI606が呼び出される。以下、セル1602に対する呼び出しを例にとって説明する。
ステップS1801でアップロードCGIによる処理を開始する。シーケンス610でユーザ601が入力したユーザIDとパスワードが、HTTPリクエストのパラメータとしてアップロードプログラム602から渡されるので、それぞれ変数userIdとpasswordに代入する。ここでは、図8に示したようにユーザIDとして「ID1234」、パスワードとして「PAS5678」が渡されたものとする。また、セルのファイル名と画像ファイルデータもHTTPリクエストのパラメータとしてアップロードプログラム602から渡されるので、それぞれ変数fileNameとfileDataに格納する。セルのファイル名は1202に保持するファイル名をそのまま使用する。画像ファイルデータは1201に示すセルのデータ構造内に保持していないので、アップロードプログラム602が外部記憶装置204からファイル名1202をキーとして画像ファイル303のデータを読み込み、アップロードCGI606に引数として渡す。ここでは、1602に示すファイル名(ライオン.jpg)と画像ファイルデータが渡される。
次にステップS1802で、userIdがユーザID402と一致するレコードをユーザ情報データベース401から検索する。図4に示したようにユーザID402はPKであることから、userIdとユーザID402が一致するレコードは多くとも1件しか存在しない。
ステップS1803〜S1804はステップS903〜S904と同様の認証処理である。同一のユーザID・パスワードの組み合わせに対してシーケンス611ですでにチェックが行なわれているので、ここでのチェック処理は必ず成功する。ステップS1803〜S1804を行なう目的は、アップロードプログラム602以外からアップロードCGI606が呼び出された場合に備えることにある。
ステップS1805では、引数で渡された画像ファイルデータfileDataから、画像ファイルサイズを計算し、サムネイルを生成する。ここでは1602に示すように画像ファイルサイズとして200,000が得られる。また、サムネイルは1602に示すのとほぼ同じサムネイルが生成される。図16のサムネイルはクライアント101でアップロードプログラム602が生成したものであり、ここで生成するサムネイルはサーバ102でアップロードCGI606が生成したものなので、完全に同じものであるとは限らないが、同一の画像ファイルデータから生成したサムネイルなので、表示上はほぼ同じものが生成される。
ステップS1806では、アルバム情報データベース501に新規レコードを追加する。ユーザID502はuserIdを使用する。画像ファイル名503はfileNameを使用する。画像ファイルサイズ504はステップS1805で計算した画像ファイルサイズを使用する。サムネイルデータ505はステップS1805で生成したサムネイルデータを使用する。画像ファイルデータ506はfileDataを使用する。追加した結果は図19の1904に示すようになる。
ステップS1807とステップS1808はそれぞれ成功と失敗を表わす終了処理である。
ここではセル1602に対する呼び出しを例にとって説明したが、セル1603に対する呼び出しも同様の処理になる。セル1603についてアルバム情報データベース501に新規レコードを追加した結果は、図19の1905に示すようになる。
以上により、図5に示す状態のアルバム情報データベースに対して、セル1602とセル1603に示す画像ファイルを図18に示すフローチャートに従って追加した結果として、図19に示すようなアルバム情報データベースを得る。
<アルバム表示CGIの動作>
次に、図20、図21を参照して、アルバム表示CGIの動作について説明する。
次に、図20、図21を参照して、アルバム表示CGIの動作について説明する。
図20はアルバム表示CGI607の動作(シーケンス618)を示すフローチャートである。
ステップS2001よりアルバム表示CGI607による処理が開始する。シーケンス610でユーザ601が入力したユーザIDとパスワードが、シーケンス617でアルバム表示プログラム603を起動する際に引数として渡されるので、アルバム表示プログラム603はそのままアルバム表示CGI607への引数としてHTTPリクエストのパラメータで渡す。ここでは、図8に示したようにユーザIDとして「ID1234」、パスワードとして「PAS5678」が渡されたものとする。
ステップS2002で、userIdがユーザID402と一致するレコードをユーザ情報データベース401から検索する。図4に示したようにユーザID402はPKであることから、userIdとユーザID402が一致するレコードは多くとも1件しか存在しない。
ステップS2003〜S1204はステップS903〜S904と同じ認証処理である。同一のユーザID・パスワードの組み合わせに対してシーケンス611ですでにチェックが行なわれているので、ここでのチェック処理は必ず成功する。ステップS2003〜S2004を行なう目的は、アルバム表示プログラム603以外からアルバム表示CGI607が呼び出された場合に備えることにある。
ステップS2005では、userIdがユーザID502と一致するレコードをアルバム情報データベース501から検索する。ここでは図19の1901〜1905に示す5件のレコードが検索される。
ステップS2006では、ステップS2005で見つかったすべてのレコードから、画像ファイル名503とサムネイルデータ505をHTTPレスポンスの形式で戻り値として返す。また、ステップS2002で見つかったレコードの氏名404も返す。ここでは、1901〜1905に示す画像ファイル名「車.jpg」「飛行機.jpg」「船.jpg」「ライオン.jpg」「くま.jpg」と図示のサムネイル、および410に示す氏名「木谷野太郎」を返す。
図21は、アルバム表示プログラム603がシーケンス619でディスプレイ205に表示するアルバム画面である。アルバム表示CGIから返された氏名を使用してメッセージ部分の表示2101を行ない、同じくアルバム表示CGIから返されたファイル名、サムネイルデータを使用して画像部分の表示2102を行なっている。
以上説明したように、本実施形態によれば、アップロード画面を表示する前にサーバからアルバム利用可能サイズが取得されるので、ユーザが転送する画像を選択している時点であらかじめサーバにおいてユーザに設定された記憶領域の残り容量を知ることができる。
また、アップロード対象の画像ファイルを選択している際に、現時点で選択されている画像ファイルの合計ファイル容量と、あらかじめ取得されたアルバム利用可能サイズとの両方が表示されるので、ユーザは選択した画像を転送するとその転送先の記憶領域の残り容量を超えてしまうかどうかを容易に判断することができる。
<その他の実施形態>
上述の実施形態では画像ファイルのみを扱ったが、これに限らず、動画や音声ファイルなども同様に扱うことが可能である。
上述の実施形態では画像ファイルのみを扱ったが、これに限らず、動画や音声ファイルなども同様に扱うことが可能である。
また、図1で、103はインターネットであるとしたが、コンピュータ装置のネットワークインタフェースを通じてデータ等の送受信が可能な媒体であれば他のネットワークでも構わない。さらに、HTTPプロトコル以外のプロトコルも、クライアントとサーバ双方のソフトウェアがそのプロトコルを利用可能であれば使用することができる。
また、図2でプログラムはRAM202に格納されるとしたが、これに限るものではなく、他の実施形態においてはプログラムを外部記憶装置204から読み込んで実行するようにしてもよいし、ネットワークインタフェース203を介して受信して実行するようにしてもよい。また、図2には示していないが、ROM等の読み出し専用の内部記憶部から読み込んで実行するようにしてもよい。また、キーボード206やポインティングデバイス207の代わりに、あるいはそれらに加えて、音声入力等の他の入力装置を備えることもできる。また、これらすべての構成要素を必ずしも備える必要はなく、サーバ102においては多くの場合ディスプレイ205が省略されたり、キーボード206やポインティングデバイス207を他のコンピュータ装置と共有したりする。
さらに、図3において、クライアントのアップロードプログラム302とアルバム表示プログラム304は別プログラムであるとしたが、これは同一プログラムの別機能として実現してもよい。また、ここでは独立したプログラムであるとしたが、その他にも、Webブラウザ上で動作するActiveX等のプラグインプログラムという形態も考えられる。さらには、Webブラウザ上で動作するJavaScript等のスクリプト言語でも実現可能である。
ユーザ情報データベースとアルバム情報データベースは図4と図5に示した以外にも、種々の情報を保持するように構成することができる。たとえばユーザ情報には住所や電話番号、アルバム情報にはアルバム名や作成日時等の情報である。また、サムネイルデータと画像ファイルデータはバイナリデータとしてデータベース内に保持するとしたが、その他の実施方法として、バイナリデータをファイルシステム等にファイルとして保存しておいて、データベースにはその位置を示す情報(URLやファイルシステム内のパス名等)だけを保持するという方法も考えられる。
また、アルバムはユーザごとに一つだけ対応して存在するようにしたが、もちろんユーザに複数のアルバムを対応付けて、それらをアルバム名等で識別できるようにすることも可能である。また、複数のアルバムを格納することができるフォルダを設けることも可能である。さらに、フォルダが別のフォルダをも格納することができるようにすれば、アルバムは階層構造を有することになる。
また、図6のシーケンス616に示すように画像ファイルを一つずつアップロードCGIでアップロードするようにしたが、RFC1867、RFC2854に示されるようなプロトコルを使用して複数の画像ファイルをまとめてアップロードできるようにCGIのインタフェースと動作を変更することもできる。また、この逆に、ファイルサイズの大きい画像ファイルを複数回のCGI呼び出しに分割してアップロードできるようにCGIのインタフェースと動作を変更することもできる。
また、すべてのCGI呼び出しで認証情報(ユーザID、パスワード)を引き回したが、これに代わる方法として、サーバ側でセッションを管理することとし、各CGI呼び出しではそのセッションを識別する情報(セッションID)のみを引き回す手法も一般に行なわれている。
図6のシーケンスでアルバムの利用可能容量を取得したのはシーケンス611のみであったが、これに限るものではなく、クライアントではその他のタイミングであるいは定期的にサーバと通信して残り容量を取得し、アップロード画面の表示を更新してもよい。
また、図11、図15、図17に示したアップロード画面では画像ファイルの追加に加えてチェック状態の変更機能しか存在しないが、これに限定されるものではなく、その他の編集機能、たとえば画像ファイルの削除、ファイル名の変更、画像ファイルの入れ替え・ソート等の機能を付加することもできる。
また、図13のフローチャートでは画像ファイルのチェック状態が変更されるたびにアップロード画面をすべて再描画しているが、変更があった部分だけを再表示するようにしてもよい。
さらに、図18のステップS1805ではサーバ側で画像ファイルサイズやサムネイルを計算あるいは生成しているが、これらの情報はクライアント側でも保持しているため、アップロードCGIの引数の一部としてクライアントから送ることも可能である。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWebサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
Claims (8)
- 所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、前記データ記憶領域にファイル転送が可能に構成された情報処理装置であって、
ユーザからの指示を入力する入力デバイスと、
画像を表示する表示デバイスと、
前記サーバから前記データ記憶領域の空き容量の情報を取得する取得手段と、
前記取得手段による取得処理の実行後に、前記データ記憶領域に転送するファイルをユーザに選択させるためのグラフィカルユーザインタフェース(GUI)を前記表示デバイスに表示させる表示制御手段と、
表示した前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に基づいて前記データ記憶領域に転送するファイルを選択する選択手段と、
前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記選択手段によって現在選択されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算する計算手段と、
を有し、
前記GUIは、前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記計算手段により計算された前記差分値をダイナミックに表示する表示領域を含むことを特徴とする情報処理装置。 - 前記GUIは、前記選択手段により選択されたファイルの転送指示を送出するための指示ボタンをさらに含むことを特徴とする請求項1に記載の情報処理装置。
- 前記選択手段により選択されたファイルの縮小ファイルを生成する生成手段をさらに有し、
前記GUIは、前記生成手段により生成された前記縮小ファイルの内容を表示する領域をさらに含むことを特徴とする請求項1に記載の情報処理装置。 - 前記選択手段により選択された各ファイルについて、前記データ記憶領域にファイル転送を行うか否かを、前記入力デバイスにより設定する設定手段をさらに有し、
前記計算手段は、前記入力デバイスによる前記設定手段への設定に応答して、前記設定手段によって前記データ記憶領域にファイル転送を行うように設定されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算し、
前記GUIは、前記入力デバイスによる前記設定手段への設定に応答して、前記計算手段により計算された前記差分値をダイナミックに表示する表示領域を含む
ことを特徴とする請求項1に記載の情報処理装置。 - 所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、前記データ記憶領域にファイル転送が可能に構成された情報処理装置の制御方法であって、
前記サーバから前記データ記憶領域の空き容量の情報を取得する取得ステップと、
前記取得ステップの実行後に、前記データ記憶領域に転送するファイルをユーザに選択させるためのグラフィカルユーザインタフェース(GUI)を表示デバイスに表示させる表示制御ステップと、
表示した前記GUIに対する入力デバイスによるドラッグアンドドロップ指示に基づいて前記データ記憶領域に転送するファイルを選択する選択ステップと、
前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記選択ステップによって現在選択されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算する計算ステップと、
を有し、
前記GUIは、前記計算ステップにより計算された前記差分値をダイナミックに表示する表示領域を含むことを特徴とする情報処理装置の制御方法。 - 所定容量のデータ記憶領域を提供するサーバにネットワークを介して接続され、前記データ記憶領域にファイル転送が可能に構成された情報処理装置によって実行されるプログラムであって、
前記サーバから前記データ記憶領域の空き容量の情報を取得する取得ステップのコードと、
前記取得ステップの実行後に、前記データ記憶領域に転送するファイルをユーザに選択させるためのGUIを表示デバイスに表示させる表示制御ステップのコードと、
表示した前記GUIに対する入力デバイスによるドラッグアンドドロップ指示に基づいて前記データ記憶領域に転送するファイルを選択する選択ステップのコードと、
前記GUIに対する前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記選択ステップによって現在選択されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算する計算ステップのコードと、
を含み、
前記GUIは、前記計算ステップにより計算された前記差分値をダイナミックに表示する表示領域を含むことを特徴とするプログラム。 - 請求項6に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
- 所定容量の情報記憶領域を提供するサーバと、ネットワークを介してそのサーバにファイル転送が可能に構成されたクライアントとを含むネットワークシステムであって、
前記サーバは、
前記クライアントからの指示に応答して前記データ記憶領域の空き容量を検査しその結果を前記クライアントに返す空き容量検査手段を有し、
前記クライアントは、
ユーザからの指示を入力する入力デバイスと、
画像を表示する表示デバイスと、
前記サーバに指示を発行することで前記空き容量検査手段による空き容量の情報を取得する取得手段と、
前記取得手段による取得処理の実行後に、前記データ記憶領域に転送するファイルをユーザに選択させるためのグラフィカルユーザインタフェース(GUI)を表示デバイスに表示させる表示制御手段と、
表示した前記GUIに対する入力デバイスによるドラッグアンドドロップ指示に基づいて前記データ記憶領域に転送するファイルを選択する選択手段と、
前記選択手段によって現在選択されているファイルの合計ファイル容量と前記取得手段によって取得された前記データ記憶領域の空き容量との差分値を計算する計算手段と、
を有し、
前記GUIは、前記入力デバイスによるドラッグアンドドロップ指示に応答して、前記計算手段により計算された前記差分値をダイナミックに表示する表示領域を含む
ことを特徴とするネットワークシステム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004314724A JP2005182760A (ja) | 2003-11-25 | 2004-10-28 | 情報処理装置およびその制御方法 |
| US10/992,753 US20050131923A1 (en) | 2003-11-25 | 2004-11-22 | Information processing apparatus and its control method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003394264 | 2003-11-25 | ||
| JP2004314724A JP2005182760A (ja) | 2003-11-25 | 2004-10-28 | 情報処理装置およびその制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005182760A true JP2005182760A (ja) | 2005-07-07 |
| JP2005182760A5 JP2005182760A5 (ja) | 2007-12-13 |
Family
ID=34656176
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004314724A Withdrawn JP2005182760A (ja) | 2003-11-25 | 2004-10-28 | 情報処理装置およびその制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20050131923A1 (ja) |
| JP (1) | JP2005182760A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007025959A (ja) * | 2005-07-14 | 2007-02-01 | Fujifilm Holdings Corp | マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム |
| JP2009093511A (ja) * | 2007-10-11 | 2009-04-30 | Nippon Telegr & Teleph Corp <Ntt> | データ配信装置、データ配信方法およびデータ配信プログラム |
| JP2009265808A (ja) * | 2008-04-23 | 2009-11-12 | Konica Minolta Business Technologies Inc | データ配信装置及びデータ配信方法 |
| JP2010092455A (ja) * | 2008-09-10 | 2010-04-22 | Ricoh Co Ltd | ファイル管理システム及びプログラム |
| US8248638B2 (en) | 2006-08-28 | 2012-08-21 | Brother Kogyo Kabushiki Kaisha | Image forming devices configured to form index images and computer readable media therefor |
| JP2013131107A (ja) * | 2011-12-22 | 2013-07-04 | Canon Marketing Japan Inc | 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム |
| JP2014519128A (ja) * | 2011-10-27 | 2014-08-07 | 騰訊科技(深▲セン▼)有限公司 | ファイルのアップロード及びダウンロードの方法並びに装置 |
| JP2017510171A (ja) * | 2014-02-27 | 2017-04-06 | ドロップボックス, インコーポレイテッド | ユーザデバイス上でローカルにインタラクティビティ機能のセットをユーザに提供するためのシステム及び方法 |
| US9942121B2 (en) | 2014-02-27 | 2018-04-10 | Dropbox, Inc. | Systems and methods for ephemeral eventing |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4533007B2 (ja) * | 2004-06-09 | 2010-08-25 | キヤノン株式会社 | 画像管理装置、画像管理方法、及びプログラム |
| US20060170705A1 (en) * | 2005-02-01 | 2006-08-03 | Lyris Technologies, Inc. | Method and system to review the display of content |
| JP4168052B2 (ja) * | 2005-04-01 | 2008-10-22 | 株式会社日立製作所 | 管理サーバ |
| US7705882B2 (en) * | 2006-06-09 | 2010-04-27 | International Truck Intellectual Property Company, Llc | Device and system for enabling families to share in long haul truckers' travels |
| JP4453738B2 (ja) * | 2007-10-18 | 2010-04-21 | ソニー株式会社 | ファイル転送方法、装置、およびプログラム |
| US8391675B2 (en) * | 2009-02-17 | 2013-03-05 | Lg Electronics Inc. | Method for calculating file size of video data |
| US8683005B1 (en) | 2010-03-31 | 2014-03-25 | Emc Corporation | Cache-based mobile device network resource optimization |
| US9152650B1 (en) | 2010-03-31 | 2015-10-06 | Emc Corporation | Mobile device data recovery |
| US8655966B1 (en) * | 2010-03-31 | 2014-02-18 | Emc Corporation | Mobile device data protection |
| US8694597B1 (en) | 2010-03-31 | 2014-04-08 | Emc Corporation | Mobile device group-based data sharing |
| US9514089B1 (en) | 2010-03-31 | 2016-12-06 | EMC IP Holding Company LLC | Mobile device network data synchronization |
| US8694744B1 (en) | 2010-03-31 | 2014-04-08 | Emc Corporation | Mobile device snapshot backup |
| JP5585278B2 (ja) * | 2010-08-02 | 2014-09-10 | 株式会社リコー | 撮像装置及び撮像方法 |
| CN102637174A (zh) * | 2011-02-11 | 2012-08-15 | 鸿富锦精密工业(深圳)有限公司 | 镜像文件管理系统及镜像文件管理方法 |
| JP5831695B2 (ja) * | 2011-09-13 | 2015-12-09 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システムおよびプログラム |
| CN103685413A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 文件上传方法和系统 |
| JP6275852B2 (ja) * | 2013-12-17 | 2018-02-07 | ノキア テクノロジーズ オーユー | 情報転送するためのリアルタイム・フィードバックを提供する装置および方法 |
| JP6545000B2 (ja) * | 2015-06-01 | 2019-07-17 | キヤノン株式会社 | アップロード管理システム、アップロード管理システムの制御方法、及びプログラム |
| US11388219B2 (en) * | 2019-04-23 | 2022-07-12 | International Business Machines Corporation | Interactive data transfer |
| JP7395883B2 (ja) | 2019-08-29 | 2023-12-12 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、プログラム |
| US11263502B1 (en) * | 2020-10-29 | 2022-03-01 | Tilia Labs Inc. | Method for multifunctional graphical user interface file indicia movement, and system, terminal and computer readable media for the same |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6324545B1 (en) * | 1997-10-15 | 2001-11-27 | Colordesk Ltd. | Personalized photo album |
| US6058428A (en) * | 1997-12-05 | 2000-05-02 | Pictra, Inc. | Method and apparatus for transferring digital images on a network |
| US6408301B1 (en) * | 1999-02-23 | 2002-06-18 | Eastman Kodak Company | Interactive image storage, indexing and retrieval system |
| US7415662B2 (en) * | 2000-01-31 | 2008-08-19 | Adobe Systems Incorporated | Digital media management apparatus and methods |
| WO2003012654A1 (en) * | 2001-08-01 | 2003-02-13 | Sony Corporation | Information processing apparatus and method |
-
2004
- 2004-10-28 JP JP2004314724A patent/JP2005182760A/ja not_active Withdrawn
- 2004-11-22 US US10/992,753 patent/US20050131923A1/en not_active Abandoned
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007025959A (ja) * | 2005-07-14 | 2007-02-01 | Fujifilm Holdings Corp | マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム |
| US8248638B2 (en) | 2006-08-28 | 2012-08-21 | Brother Kogyo Kabushiki Kaisha | Image forming devices configured to form index images and computer readable media therefor |
| JP2009093511A (ja) * | 2007-10-11 | 2009-04-30 | Nippon Telegr & Teleph Corp <Ntt> | データ配信装置、データ配信方法およびデータ配信プログラム |
| JP2009265808A (ja) * | 2008-04-23 | 2009-11-12 | Konica Minolta Business Technologies Inc | データ配信装置及びデータ配信方法 |
| JP2010092455A (ja) * | 2008-09-10 | 2010-04-22 | Ricoh Co Ltd | ファイル管理システム及びプログラム |
| JP2014519128A (ja) * | 2011-10-27 | 2014-08-07 | 騰訊科技(深▲セン▼)有限公司 | ファイルのアップロード及びダウンロードの方法並びに装置 |
| JP2013131107A (ja) * | 2011-12-22 | 2013-07-04 | Canon Marketing Japan Inc | 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム |
| JP2017510171A (ja) * | 2014-02-27 | 2017-04-06 | ドロップボックス, インコーポレイテッド | ユーザデバイス上でローカルにインタラクティビティ機能のセットをユーザに提供するためのシステム及び方法 |
| US9942121B2 (en) | 2014-02-27 | 2018-04-10 | Dropbox, Inc. | Systems and methods for ephemeral eventing |
| US10235444B2 (en) | 2014-02-27 | 2019-03-19 | Dropbox, Inc. | Systems and methods for providing a user with a set of interactivity features locally on a user device |
Also Published As
| Publication number | Publication date |
|---|---|
| US20050131923A1 (en) | 2005-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005182760A (ja) | 情報処理装置およびその制御方法 | |
| KR102113147B1 (ko) | 문서 관리 서버 및 문서 관리 방법 | |
| US20070083527A1 (en) | Systems and methods for uploading and downloading files in a distributed network | |
| JP2008305094A (ja) | 文書管理方法及びその装置 | |
| EP1347397B1 (en) | Web-based management of collections of image data | |
| JPH113299A (ja) | 情報処理システム、情報処理装置およびそれらの制御方法 | |
| JP2010033269A (ja) | 文書管理システム、文書管理方法、及びコンピュータプログラム | |
| KR20090091744A (ko) | 애플리케이션 서버에서의 업무 처리를 위한 데이터 입력을 지원하기 위한 방법, 프로그램, 및 에이전트 서버 | |
| JP2011041214A (ja) | 文書管理システム及びその制御方法、情報処理装置 | |
| JP2011215826A (ja) | 帳票生成装置、帳票生成装置の制御方法、プログラム | |
| JP4251645B2 (ja) | 情報処理方法及び装置 | |
| JP2012174042A (ja) | 文書管理装置および文書管理装置の制御方法およびプログラム | |
| JP2013218445A (ja) | 管理装置、システム、管理装置の制御方法、プログラム。 | |
| JP2000287110A (ja) | デジタルカメラ装置の制御システム | |
| JP6070678B2 (ja) | 情報処理装置、情報処理システム、その制御方法およびプログラム | |
| JP2017120541A (ja) | 情報処理装置、情報処理方法及びプログラム | |
| US8659774B2 (en) | Information processing apparatus, information processing system, and computer-readable medium | |
| JP2007156758A (ja) | ファイル管理装置、ファイル管理方法およびファイル管理プログラム | |
| JP2010085445A (ja) | 情報処理装置、および情報処理プログラム | |
| JP4288896B2 (ja) | 画像記録装置、画像記録方法、プログラム及び記憶媒体 | |
| JP2007053468A (ja) | 文書管理システム、時刻署名処理方法、記憶媒体、プログラム | |
| JP5747874B2 (ja) | 情報処理装置、情報処理システム、その制御方法およびプログラム | |
| JP2006302093A (ja) | サーバにファイルを転送するためのクライアントコンピュータ装置及びその制御方法及びそのプログラム及びそれを含むシステム | |
| KR20020062293A (ko) | 정보 제공 시스템 | |
| JP5708575B2 (ja) | 情報処理装置、情報処理システム、制御方法、情報処理方法およびそのプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071029 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071029 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071029 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080507 |