[go: up one dir, main page]

JP2009037361A - サーバ装置、サーバ装置制御プログラム、及びファイル転送システム - Google Patents

サーバ装置、サーバ装置制御プログラム、及びファイル転送システム Download PDF

Info

Publication number
JP2009037361A
JP2009037361A JP2007200177A JP2007200177A JP2009037361A JP 2009037361 A JP2009037361 A JP 2009037361A JP 2007200177 A JP2007200177 A JP 2007200177A JP 2007200177 A JP2007200177 A JP 2007200177A JP 2009037361 A JP2009037361 A JP 2009037361A
Authority
JP
Japan
Prior art keywords
file
index
subdirectory
index file
path
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.)
Pending
Application number
JP2007200177A
Other languages
English (en)
Inventor
Tomotaka Nakamura
友貴 中村
Fumitoshi Uno
文敏 宇野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007200177A priority Critical patent/JP2009037361A/ja
Priority to US12/181,888 priority patent/US9317620B2/en
Publication of JP2009037361A publication Critical patent/JP2009037361A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】PC20からカードリーダ10のメモリカード18に格納されているファイルへ確実にアクセスさせることができるファイル転送システム1を提供する。
【解決手段】カードリーダ10は、PC20からインデックスファイルの転送命令を受信すると、メモリカード18の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、各々の名称とパスとを取得する(S505)。そして、各々のファイル及びサブディレクトリの名称に、対応するファイル及びサブディレクトリへの直接又は間接的なリンクを設定したインデックスファイルを生成する(S511)。これにより、インデックスファイルには、メモリカード18の所定のディレクトリに存在する最新のファイル及びサブディレクトリが反映されるので、PC20からメモリカード18に格納されているファイルへ確実にアクセスさせることができる。
【選択図】 図5

Description

本発明は、サーバ装置、サーバ装置制御プログラム、及びファイル転送システムに関するものである。
従来、ネットワークを介してデータ転送を行う通信プロトコルとして、ファイル転送プロトコル(FTP:File Transfer Protocol)やハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)が知られており、このFTPやHTTPに従ってデータの送受信を行うシステムが数多く見受けられる。
例えば、次の特許文献1には、WWW(World Wide Web)サーバに格納されたファイルをユーザ端末に転送し、ユーザ端末のWWWブラウザでそのファイルを表示するシステムが開示されている。この特許文献1に記載のシステムでは、WWWサーバに格納されたファイルにアクセスするためのリンクが予めユーザ端末のWWWブラウザ上に提示され、ユーザがそのWWWブラウザ上に提示されたファイルのリンクを選択することにより、そのリンクに対応するファイルがWWWサーバからユーザ端末に転送されるようになっている。
特開2007−85074号公報
しかしながら、この特許文献1に記載のシステムでは、WWWサーバに格納されているファイルが削除されたり、新たなファイルが保存されたりしても、WWWブラウザに提示されるファイルのリンクは更新されない。そのため、WWWブラウザに提示されたファイルのリンクを選択してもそのファイルが存在しなかったり、WWWサーバに格納されているはずのファイルのリンクがWWWブラウザに提示されなかったりする等の不具合が生じ、WWWサーバに格納されているファイルに対して、確実にアクセスすることができないという問題点があった。
本発明は上述した問題点を解決するためになされたものであり、クライアント装置からサーバ装置に格納されているファイルへ確実にアクセスさせることができるサーバ装置、サーバ装置制御プログラム、及びファイル転送システムを提供することを目的とする。
この目的を達成するために、請求項1に記載のサーバ装置は、ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた、別のファイルの所在位置を示すパスを用いてその別のファイルの転送命令を送信し、その転送命令に応じて返信されるファイルを受信可能なブラウザを備えたクライアント装置と、ネットワークを介して通信可能なものであって、複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段と、そのファイル格納手段に格納されているファイルの転送命令を前記ブラウザより受信する受信手段と、その受信手段で受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得手段と、前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成手段と、前記受信手段で受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成手段で生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得手段で取得したファイルを前記ブラウザに送信するファイル送信手段とを備えている。
ここで、「ハイパーテキスト形式のファイル」とは、テキスト中に別のファイルの所在位置を示すパスが埋め込まれたファイルのことである。また、「ディレクトリ」とは、ファイル格納手段においてファイルを分類し、整理するための保管場所を示すものであり、オペレーティングシステム(OS:Opereting System)によっては「フォルダ」とも呼ばれる。また、「サブディレクトリ」とはディレクトリの中に設けられたディレクトリのことであり、「ディレクトリ」と同様にOSによっては「サブフォルダ」とも呼ばれる。
請求項2に記載のサーバ装置は、請求項1に記載のサーバ装置において、前記インデックスファイル生成手段は、前記受信手段により所定のディレクトリのインデックスファイルの転送命令を受信した場合に、その所定のディレクトリについてインデックスファイルを生成する。
請求項3に記載のサーバ装置は、請求項1に記載のサーバ装置において、前記インデックスファイル生成手段は、前記ファイル格納手段の所定のディレクトリにファイル若しくはサブディレクトリが新規作成された場合、又は、その所定のディレクトリからファイル若しくはサブディレクトリが削除された場合に、その所定のディレクトリについてインデックスファイルを生成する。
請求項4に記載のサーバ装置は、請求項1から3のいずれかに記載のサーバ装置において、前記インデックスファイル生成手段は、前記所定のディレクトリに存在するサブディレクトリの各々の識別情報に対し、そのサブディレクトリに存在するファイル及びサブディレクトリの一覧であり且つそのファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれた各々のハイパーテキスト形式のインデックスファイルのパスが、直接又は間接的に関連付けられて埋め込まれたインデックスファイルを生成する。
請求項5に記載のサーバ装置は、請求項1から4のいずれかに記載のサーバ装置において、前記所定のディレクトリに存在するファイル及びサブディレクトリの各々について、前記ブラウザから一度アクセスされたファイルを記憶するキャッシュを使わずに対応するファイル若しくはサブディレクトリへ直接アクセスすることを前記ブラウザに指示する指示情報と、その対応するファイル若しくはサブディレクトリのパスとを記述したハイパーテキスト形式のダミーファイルを生成するダミーファイル生成手段と、前記ダミーファイル生成手段で生成されたダミーファイルを格納するダミーファイル格納手段とを備え、前記インデックスファイル生成手段は、各々のファイル及びサブディレクトリの識別情報に各々対応する前記ダミーファイル格納手段に格納されたダミーファイルのパスが関連付けられて埋め込まれたインデックスファイルを生成し、前記ファイル送信手段は、前記受信手段で受信したファイルの転送命令が前記ダミーファイルの転送命令である場合は前記ダミーファイル格納手段に格納されたダミーファイルを前記ブラウザに送信する。
請求項6に記載のサーバ装置は、請求項1から4のいずれかに記載のサーバ装置において、前記クライアント装置との間のデータ転送プロトコルはハイパーテキスト転送プロトコルであり、前記ファイル送信手段は、前記ブラウザから前記インデックスファイルに埋め込まれたパスを用いて指定されたファイルを前記ブラウザに送信する場合に、前記クライアント装置のブラウザに対し、そのブラウザから一度アクセスされたファイルを記憶するキャッシュにその送信するファイルを記憶しないことを指示するヘッダ情報を、そのファイルに先駆けて送信する。
請求項7に記載のサーバ装置は、請求項1から4のいずれかに記載のサーバ装置において、少なくとも前記インデックスファイル生成手段が前記インデックスファイルを生成する毎に内容が変化する付帯情報を生成する付帯情報生成手段と、前記所定のディレクトリに存在する各々のファイル及びサブディレクトリのパスの一部に、その付帯情報生成手段で生成した付帯情報を各々付加する付加手段とを備え、前記インデックスファイル生成手段は、前記ファイル及びサブディレクトリの各々の識別情報にその付加手段で付帯情報が付加された各々のパスが関連付けられて埋め込まれたインデックスファイルを生成し、前記受信手段は、前記転送命令で指定されたファイルのパスに前記付帯情報が付加されている場合に、その指定されたファイルのパスから前記付帯情報を削除したパスをその指定されたファイルの正しいパスとして認識する。
請求項8に記載のサーバ装置は、請求項1から7のいずれかに記載のサーバ装置において、前記インデックスファイル生成手段は、前記所定のディレクトリとその所定のディレクトリに含まれる所定階層までのサブディレクトリについて、各々のディレクトリ及びサブディレクトリに存在するファイル及びサブディレクトリを検出し、その検出したファイルとサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたインデックスファイルを生成する。
請求項9に記載のサーバ装置は、請求項1から8のいずれかに記載のサーバ装置において、前記ファイル格納手段に画像、文書、若しくは図面ファイルが格納されている場合に、それらのファイルの画像若しくはページを縮小したサムネイルを各々生成するサムネイル生成手段を備え、前記インデックスファイル生成手段は、ファイルが画像、文書、若しくは図面ファイルである場合に、そのファイルの識別情報として前記サムネイル生成手段によって生成されたサムネイルを用いて前記インデックスファイルを生成する。
請求項10に記載のサーバ装置は、請求項1から9のいずれかに記載のサーバ装置において、前記所定のディレクトリに存在する各々のサブディレクトリについて、各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数を取得するサブディレクトリ情報取得手段を備え、前記インデックスファイル生成手段は、前記サブディレクトリ情報取得手段で取得した各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数が、各々のサブディレクトリの識別情報毎に設けられたサブディレクトリ情報領域に表示されるように記述されたインデックスファイルを生成する。
請求項11に記載のサーバ装置制御プログラムは、ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた別のファイルの所在位置を示すパスを用いてその別のファイルの転送命令を送信し、その転送命令に応じて返信されるファイルを受信可能なブラウザを備えたクライアント装置とネットワークを介して通信可能であり、複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段を備えたサーバ装置によって実行されるものであって、そのサーバ装置によって、前記ファイル格納手段に格納されているファイルの転送命令を前記ブラウザより受信する受信ステップと、その受信ステップで受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得ステップと、前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成ステップと、前記受信ステップで受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成ステップで生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得ステップで取得したファイルを前記ブラウザに送信するファイル送信ステップとが実行される。
請求項12に記載のファイル転送システムは、クライアント装置と、複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段を有し、そのファイル格納手段に格納されたファイルをネットワークを介して前記クライアント装置に転送可能なサーバ装置とを備えたものであって、前記クライアント装置は、ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた他のファイルの所在位置を示すパスを用いてそのファイルにアクセス可能なブラウザと、そのブラウザでアクセスが指示されたファイルの転送命令を前記サーバに対して行う第1の転送命令手段と、前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルの転送命令を前記サーバに対して行う第2の転送命令手段とを備え、前記サーバ装置は、前記第1の転送命令手段及び前記第2の転送命令手段からの転送命令を受信する受信手段と、その受信手段で受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得手段と、前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成手段と、前記受信手段で受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成手段で生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得手段で取得したファイルを前記ブラウザに送信するファイル送信手段とを備えている。
請求項1に記載のサーバ装置によれば、インデックスファイル生成手段によって、所定のディレクトリに存在するファイル及びサブディレクトリが検出されてからインデックスファイルが生成されるので、そのインデックスファイルにより、所定のディレクトリに存在するファイル及びサブディレクトリを正確にブラウザに表示させることができる。よって、そのインデックスファイルに埋め込まれたパスを用いて、ブラウザから所望のファイルにアクセスさせることができる。従って、クライアント装置からサーバ装置に格納されているファイルへ確実にアクセスさせることができるという効果がある。
また、従来の技術では、所定のディレクトリに存在するファイル及びサブディレクトリが正確に表示されなかったため、その所定のディレクトリに存在するファイル及びサブディレクトリの内容を確認するためには、それらを1つずつ読み出して、その内容を表示させなければならなかった。これに対し、請求項1に記載のサーバ装置によれば、インデックスファイルにより所定のディレクトリに存在するファイル及びサブディレクトリを正確にブラウザに表示させることができるので、クライアント装置のユーザは、その所定のディレクトリに存在するファイル及びサブディレクトリの内容をインデックスファイルに記載された各々の識別情報によって推定することができる。よって、ユーザに対して効率的に所望のファイルやサブディレクトリを確認させることができるという効果がある。
更に、サーバ装置でハイパーテキスト形式のインデックスファイルが生成されてブラウザに送信されるので、クライアント装置がハイパーテキスト形式のファイルに対応したブラウザを備えていればその生成されたインデックスファイルを表示させることができる。よって、異なるブラウザであっても同じ使用感でファイルへのアクセスを行わせることができるという効果がある。
請求項2に記載のサーバ装置によれば、請求項1に記載のサーバ装置の奏する効果に加えて、インデックスファイルの転送命令が受信されたときに所定のディレクトリに存在するファイル及びサブディレクトリがインデックスファイルに反映される。よって、クライアント装置のブラウザに対し、サーバ装置に格納されているファイル及びサブディレクトリの最新の情報を表示させることができるという効果がある。
請求項3に記載のサーバ装置によれば、請求項1に記載のサーバ装置の奏する効果に加えて、インデックスファイルの転送命令が受信されたときに所定のディレクトリに存在するファイル及びサブディレクトリが反映されたインデックスファイルが既に生成されている。よって、クライアント装置のブラウザに対し、サーバ装置に格納されているファイル及びサブディレクトリの最新の情報を表示させることができるという効果がある。
請求項4に記載のサーバ装置によれば、請求項1から3のいずれかに記載のサーバ装置の奏する効果に加えて、クライアント装置のブラウザに表示されたインデックスファイルからサブディレクトリが選択された場合、ブラウザにそのサブディレクトリのインデックスファイルを表示させることができる。よって、クライアント装置に対し、下層のサブディレクトリに格納されているファイルへのアクセスを容易に行わせることができるという効果がある。
請求項5に記載のサーバ装置によれば、請求項1から4のいずれかに記載のサーバ装置の奏する効果に加えて、クライアント装置のブラウザに表示されたインデックスファイルからユーザにより所望のファイル若しくはサブディレクトリが選択された場合、そのファイル若しくはサブディレクトリについて過去のデータがキャッシュに記憶されていても、対応するダミーファイルにより、クライアント装置に対しサーバ装置の最新のファイル若しくはサブディレクトリへアクセスさせることができるという効果がある。
請求項6に記載のサーバ装置によれば、請求項1から4のいずれかに記載のサーバ装置の奏する効果に加えて、ブラウザからファイル格納手段に格納されたファイルに繰り返しアクセスが行われる場合でも、そのファイルがキャッシュに記憶されないので、クライアント装置はファイル格納手段に格納されたファイルへ常に直接アクセスする。よって、クライアント装置からサーバ装置の最新のファイルへアクセスさせることができるという効果がある。
請求項7に記載のサーバ装置によれば、請求項1から4のいずれかに記載のサーバ装置の奏する効果に加えて、異なるタイミングで生成されたインデックスファイルにより、同一のファイルやサブディレクトリがブラウザから選択されても、ブラウザには異なるファイル若しくはサブディレクトリとして認識させることができる。よって、ブラウザに対し、キャッシュのデータを参照させないようにすることができる。
一方、ブラウザからの転送命令で指定されたファイルのパスに付帯情報が付加されている場合には、正しいパスによって指定されたファイルがクライアント装置に送信される。よって、ユーザの所望のファイルを正しくクライアント装置へ送信することができるので、クライアント装置から最新のファイルへ確実にアクセスさせることができるという効果がある。
請求項8に記載のサーバ装置によれば、請求項1から7のいずれかに記載のサーバ装置の奏する効果に加えて、所定のディレクトリとそのディレクトリに含まれる所定階層までのサブディレクトリに存在するファイル及びサブディレクトリの一覧を、1つのインデックスファイルで確認することができる。よって、クライアント装置のユーザに対し、サーバ装置の下層のサブディレクトリに格納されている所望のファイルを少ない操作で発見させ、そのファイルへのアクセスを容易に行わせることができるという効果がある。
請求項9に記載のサーバ装置によれば、請求項1から8のいずれかに記載のサーバ装置の奏する効果に加えて、クライアント装置に対し、サーバ装置のファイル格納手段に格納されているファイルの内容をサムネイルによって容易に確認させることができるという効果がある。
請求項10に記載のサーバ装置によれば、サブディレクトリ情報領域に表示されたサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数によって、各サブディレクトリに含まれるファイルの内容を推測させることができる。よって、クライアント装置に対し、サブディレクトリに所望のファイルが存在するか否かの判断を容易に行わせることができるという効果がある。
請求項11に記載のサーバ装置制御プログラムによれば、サーバ装置によって実行されることにより、クライアント装置からサーバ装置に格納されているファイルへ確実にアクセスさせることができるという効果がある。また、所定のディレクトリに存在するファイル及びサブディレクトリの内容をインデックスファイルに記載された各々の識別情報によって推定することができるので、ユーザに対して効率的に所望のファイルやサブディレクトリを確認させることができるという効果がある。更に、サーバ装置でハイパーテキスト形式のインデックスファイルが生成されてブラウザに送信されるので、異なるブラウザであっても同じ使用感でファイルへのアクセスを行わせることができるという効果がある。
請求項12に記載のファイル転送システムによれば、クライアント装置からサーバ装置に格納されているファイルへ確実にアクセスさせることができるという効果がある。また、所定のディレクトリに存在するファイル及びサブディレクトリの内容をインデックスファイルに記載された各々の識別情報によって推定することができるので、ユーザに対して効率的に所望のファイルやサブディレクトリを確認させることができるという効果がある。更に、サーバ装置でハイパーテキスト形式のインデックスファイルが生成されてブラウザに送信されるので、異なるブラウザであっても同じ使用感でファイルへのアクセスを行わせることができるという効果がある。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の第1実施形態におけるファイル転送システム1の電気的構成を示すブロック図である。
このファイル転送システム1は、サーバ装置として機能するカードリーダ10とクライアント装置として機能するパーソナルコンピュータ(PC:Personal Computer)20とから構成されており、カードリーダ10とPC20とはLAN(Local Area Network)40を介して接続されている。このファイル転送システム1は、PC20から、カードリーダ10に装着されたメモリカード18に格納されているファイルへ確実にアクセスさせることができるシステムである。
このファイル転送システム1では、カードリーダ10が、メモリカード18にある所定のディレクトリのインデックスファイルを生成し、PC20に対して提供する。この「所定のディレクトリのインデックスファイル」とは、所定のディレクトリに存在するファイル及びサブディレクトリが一覧になった、ハイパーテキスト形式のファイルである。そして、各ファイル及びサブディレクトリの名称に、各々のファイル及びサブディレクトリの実体へのリンクが設定されている。この所定のディレクトリのインデックスファイルは、PC20がカードリーダ10に対して所定のディレクトリのインデックスファイルの転送命令を指示する毎に、カードリーダ10によって生成される。
カードリーダ10は、メモリカード18に格納されたファイルを読み出すことが可能なサーバ装置である。カードリーダ10には、メモリカード18を着脱自在に装着可能なカードスロット(図示せず)が設けられており、そのカードスロットにメモリカード18を装着することにより、カードリーダ10はメモリカード18とアクセスできるようになっている。また、カードリーダ10は、PC20との間でファイル転送プロトコル(FTP:File Transfer Protocol)に従った通信を行い、LAN40を介してメモリカード18に格納されたファイルをPC20へ転送する。
このカードリーダ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、LANインターフェイス14、メモリカードインターフェイス15、及び計時回路16を備えており、これらはバスライン17を介して互いに接続されている。また、カードリーダ10は、メモリカードインターフェイス15を介してメモリカード18と接続される。
CPU11は、ROM12やRAM13に記憶されるプログラムやデータ或いはLANインターフェイス14を介して送受信される各種信号に従って、バスライン17により接続された各部を制御する演算装置である。
ROM12は、CPU11により実行される各種プログラムや、そのプログラムを実行する際に参照する固定値を記憶する書換不能なメモリである。このROM12には、制御プログラムであるFTPサーバプログラム12aが記憶されており、このFTPサーバプログラム12aの一部分としてgetコマンド処理モジュール12bが記憶されている。また、getコマンド処理モジュール12bの一部分としてインデックスファイル生成処理モジュール12cが記憶されている。
FTPサーバプログラム12aは、PC20との間でFTPに従った通信を行うプログラムである。このプログラムは、カードリーダ10が起動する際に、CPU11によって起動され、PC20からFTPのコマンドが入力されると、そのコマンドに従った処理を実行する。このとき、入力されたコマンドが「get」コマンドである場合は、getコマンド処理モジュール12bを起動して、「get」コマンドに従った処理を実行する。FTPサーバプログラム12aは、カードリーダ10が停止するまで実行され続ける。
getコマンド処理モジュール12bは、FTPの「get」コマンドに対する処理をCPU11に実行させるためのプログラムであり、FTPサーバプログラム12aと連動するモジュールである。「get」コマンドは、PC20が指定したファイルの転送をカードリーダ10に対して指示する転送命令である。
getコマンド処理モジュール12bが実行されると、CPU11は「get」コマンドで指定されたファイルをPC20へ転送する。このとき、「get」コマンドで指定されたファイルがインデックスファイルである場合には、インデックスファイル生成処理モジュール12cを起動し、生成されたインデックスファイルをPC20へ転送する。また、「get」コマンドで指定されたファイルが存在しなかった場合、及び、インデックスファイルが生成できなかった場合は、「NG」コードをPC20へ返信する。そして、CPU11は、ファイルの転送若しくは「NG」コードの返信を行った後、getコマンド処理モジュール12bの実行を終了する。
そして、PC20が、メモリカード18の所定のディレクトリに存在する(実際には、存在するものとして取り扱った)インデックスファイルを指定ファイルとした「get」コマンドを送信すると、カードリーダ10は、その所定のディレクトリのインデックスファイルをインデックスファイル生成処理モジュール12cによって生成し、PC20へ返信する。このため、「get」コマンドが送信された時点ではメモリカード18に存在しないインデックスファイルの実体を、PC20のユーザは、取り扱うことができる。
インデックスファイル生成処理モジュール12cは、インデックスファイルを生成する処理をCPU11に実行させるためのプログラムであり、getコマンド処理モジュール12bと連動するモジュールである。
ここで、図2(a)を参照して、インデックスファイルについて説明する。図2(a)は、PC20のWWWブラウザ24aによって液晶ディスプレイ(LCD:Liquid Crystal Display)28に表示されたインデックスファイル50の表示画面図である。このインデックスファイル50は、メモリカード18の最上位ディレクトリであるルートディレクトリを所定のディレクトリとしたインデックスファイルであり、ファイルの実体はHTML(Hypertext Makeup Language)によって記述されている。
このインデックスファイル50には、表示されたインデックスファイル50がメモリカード18のルートディレクトリのインデックスファイルであることを示した、「Index of /aaa」という文字列が記載されている
そして、ルートディレクトリに存在する全てのサブディレクトリ「Photo」、「Music」、「Document」、及び、ファイル「temp.txt」の名称50aが、一覧となって記載されている。
また、サブディレクトリ「Photo」の名称が記載されている場所の直下で、その名称の記載開始位置よりも数文字分だけ右側にずれた位置に、サブディレクトリ「Photo」に含まれる全てのサブディレクトリ「May」、「April」、及びファイル「pic20070610.jpg」、「pic20070611.jpg」、「pic20070612.jpg」の名称が、一覧となって記載されている。同様に、サブディレクトリ「Music」の名称が記載されている場所の直下で、その名称の記載開始位置よりも数文字分だけ右側にずれた位置に、サブディレクトリ「Music」に含まれる全てのファイル「music1.mp3」、「music2.mp3」の名称が、一覧となって記載されている。
なお、サブディレクトリ「Music」にはサブディレクトリが存在していないため、サブディレクトリ「Music」に存在するファイルの名称のみが記載されている。また、サブディレクトリ「Document」には、ファイルもサブディレクトリも存在していないため、サブディレクトリ「Document」の名称の右下方にはファイル名もサブディレクトリも記載されず、その直下にルートディレクトリのファイル「temp.txt」の名称が記載される。
このように、インデックスファイル50は、ルートディレクトリに存在するサブディレクトリの名称の右下方に、そのサブディレクトリに含まれる全てのファイル及びサブディレクトリの名称を記載することにより、そのサブディレクトリに含まれる全てのファイル及びサブディレクトリもユーザに認識させることができるようになっている。これにより、1つのインデックスファイル50で、2階層分のディレクトリに存在するファイル及びサブディレクトリが確認できる。また、ルートディレクトリに存在するサブディレクトリの名称の右下方に何も記載されず、直下に同じルートディレクトリの別のファイル若しくはサブディレクトリの名称が記載されていれば、そのサブディレクトリにはファイルもサブディレクトリも存在しないことをユーザに認識させることができるようになっている。
一方、サブディレクトリ「Photo」に存在する画像ファイル「pic20070610.jpg」、「pic20070611.jpg」、「pic20070612.jpg」、及びルートディレクトリに存在する文書ファイル「temp.txt」のサムネイル50bが、それぞれのファイルの名称の右方の位置に貼付されている。このサムネイル50bは、画像ファイル、文書ファイル、及び図面ファイルに対して用意されるもので、各々の画像若しくはページを縮小することにより生成される。ユーザは、インデックスファイル50に貼付されたサムネイル50bにより、画像ファイル、文書ファイル、及び図面ファイルの内容を確認することができるようになっている。なお、各ファイル及びサブディレクトリの名称50aとサムネイル50bが本発明の「識別情報」の例である。
更に、インデックスファイル50には、記載された各々のファイル及びサブディレクトリの名称に、各々対応する後述のダミーファイル18aの所在位置(以後、「パス」と称する)を関連付けて埋め込むことにより、ダミーファイル18aへのリンクを設定している。これにより、WWWブラウザ24aに表示されたインデックスファイル50のファイル若しくはサブディレクトリの名称を、ユーザがマウス27によってクリックすると、WWWブラウザ24aはその名称に設定されたリンクを用いてダミーファイル18aの転送命令(「get」コマンド)をカードリーダ10へ送信する。これにより、カードリーダ10からその指定されたダミーファイル18aが転送されるようになっている。
次に、図2(b)を参照して、サブディレクトリに対して各々生成されるダミーファイル18aについて説明する。図2(b)は、サブディレクトリ「Photo」に対して生成されたダミーファイル「Photo_dummy.html」(以下、『「Photo」用ダミーファイル』と称する。)の内容を示す図である。
このダミーファイルは、HTMLで記述されたハイパーテキスト形式のファイルである。このダミーファイルには、HTML文書のヘッダ情報領域を示すタグ「<HEAD>」と「</HEAD>」の間に、ヘッダ情報の1つであるメタタグ「<META HTTP−EQUIV=“Refresh” CONTENT=“0;url=Photo/_index.html”>」が記載されている。
このメタタグは、WWWブラウザ24aに対し、キャッシュ24bを使わずに「url=」によりリンクが設定されたファイルへアクセスすることを指示する指示情報である。なお、「CONTENT=“0」の「0」は、0秒後にリンク先のファイルへアクセスすることを意味している。
ここで、「url=」で示されたパスは、サブディレクトリ「Photo」のインデックスファイルのパス「Photo/_index.html」である。これにより、WWWブラウザ24aが「Photo」用ダミーファイルを受信すると、WWWブラウザ24aは0秒後に「Photo/_index.html」の転送命令(「get」コマンド)をカードリーダ10に対して送信することになる。
なお、その他のサブディレクトリに対して生成されるダミーファイル18aは、メタタグに設定されたリンク先が、各々のサブディレクトリのインデックスファイルである他は、「Photo」用ダミーファイルと同じであるので、その説明を省略する。
続いて、図2(c)を参照して、各ファイルに対して生成されるダミーファイル18aについて説明する。図2(c)は、ファイル「temp.txt」に対して生成されたダミーファイル「temp_txt_dummy.html」(以下、『「temp.txt」用ダミーファイル』と称する。)の内容を示す図である。
このダミーファイルにおいて、「Photo」用ダミーファイルと異なる点は、「url=」で設定されたリンク先がダミーファイルを生成する基となったファイル「temp.txt」である点である。
なお、その他のファイルに対して生成されるダミーファイル18aは、メタタグによって設定されたリンク先が、ダミーファイルを生成する基となった各々のファイルである他は、「temp.txt」用ダミーファイルと同じであるので、その説明を省略する。
図1に戻り、インデックスファイル生成処理モジュール12cの説明を続ける。getコマンド処理モジュール12bからインデックスファイル生成処理モジュール12cが起動されると、CPU11は、「get」コマンドで指定されたインデックスファイルがあるディレクトリと、そのディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリを検出して、インデックスファイルを生成する。
この際、各々のファイル及びサブディレクトリについて図2(b)及び図2(c)で示したダミーファイル18aを生成し、また、画像ファイル、文書ファイル、及び図面ファイルが存在する場合には、各々のファイルについてサムネイルを生成する。そして、各々のファイル及びサブディレクトリの名称に、対応するダミーファイル18aへのリンクを設定するとともに、各々のファイルの名称に対応付けてサムネイルを貼付して、図2(a)のように表示されるインデックスファイルを生成する。
インデックスファイルが生成されると、CPU11はインデックスファイル生成処理モジュール12cの実行を終了する。なお、CPU11は、インデックスファイルのあるディレクトリに、ファイルやサブディレクトリが存在しないと判断した場合は、ファイルが存在しないことを記載したインデックスファイルを生成して、インデックスファイル生成処理モジュール12cの実行を終了する。
次に、RAM13は、CPU11が各種プログラムを実行する際に必要なデータを、一時的に記憶するための書換可能で揮発性のメモリである。このRAM13には、ファイル・ディレクトリ記憶領域13aと、サムネイル記憶領域13bと、インデックスファイル記憶領域13cとが設けられている。
ファイル・ディレクトリ記憶領域13aは、CPU11がインデックスファイル生成処理モジュール12cを実行する際に使用するメモリ領域で、メモリカード18から取得した各ファイル及びサブディレクトリの名称に対し、各々に対応するダミーファイル18aのパスと、サムネイルを生成したファイルについてはそのサムネイルのパスとを関連付けて記憶する。そして、ファイル・ディレクトリ記憶領域13aに記憶されたデータを基にインデックスファイルが生成される。ファイル・ディレクトリ記憶領域13aは、インデックスファイルが生成されると解放される。
サムネイル記憶領域13bは、ファイル・ディレクトリ記憶領域13aと同様に、CPU11がインデックスファイル生成処理モジュール12cを実行する際に使用するメモリ領域で、画像ファイル、文書ファイル、及び図面ファイルについて生成されたサムネイルのデータを記憶する。そして、ファイル・ディレクトリ記憶領域13aの情報を基に、ファイルの名称に対応付けて、このサムネイル記憶領域13bのサムネイルを貼付したインデックスファイルが生成される。インデックスファイルが生成されると、このサムネイル記憶領域13bは解放される。
インデックスファイル記憶領域13cは、インデックスファイルを一時的に記憶するメモリ領域である。CPU11が、インデックスファイル生成処理モジュール12cに従ってインデックスファイルを生成すると、一旦インデックスファイル記憶領域13cに記憶する。そして、このインデックスファイル記憶領域13cに記憶されたインデックスファイルは、CPU11で実行されるgetコマンド処理モジュール12bにより、PC20へ転送される。そして、PC20への転送が完了すると、このインデックスファイル記憶領域13cは解放される。
LANインターフェイス14は、カードリーダ10をLAN40に接続するためのインターフェイスであり、カードリーダ10は、このLANインターフェイス14を介してLAN40に接続されたPC20とデータの送受信を行う。
メモリカードインターフェイス15は、カードリーダに設けられたカードスロット(図示せず)にメモリカード18が装着された場合に、そのメモリカード18の入出力仕様に従って、メモリカード18のデータ読み出し及び書き込みを行うインターフェイスである。
メモリカード18は、書き換えができると共に電源が遮断された場合でも記憶を保持するフラッシュメモリにより構成され、各社から種々のタイプのもの(例えば、SDカードやxDカード)が提供されている。このメモリカード18は、複数の階層を有するディレクトリ構造に従ってファイルが格納されるようになっている。
また、メモリカード18には、インデックスファイル生成処理モジュール12cによりファイル及びサブディレクトリの各々に対応して生成された、ダミーファイル18aが格納される。このダミーファイル18aのパスは、各ファイル及びサブディレクトリの名称に対応付けられて、一旦ファイル・サブディレクトリ記憶領域13aに記憶されるようになっている。
計時回路16は、現在の日時を刻む内部時計を有しており、計時を開始した日時と現在の日時とを比較して所要時間を算出する既知の回路である。
次に、PC20について説明する。PC20は、WWWブラウザ24aによって、カードリーダ10のカードスロット(図示せず)に装着されたメモリカードにアクセス可能なクライアント装置である。このPC20は、図1に示すように、CPU21、ROM22、RAM23、ハードディスク24、LANインターフェイス25、キーボード26、マウス27、LCD28、及び計時回路29を備えており、これらはバスライン30を介して互いに接続されている。
CPU21は、ROM22、RAM23、及びハードディスク24に記憶されるプログラムやデータ或いはLANインターフェイス25を介して送受信される各種信号に従って、バスライン30により接続された各部を制御する演算装置である。
ROM22は、PC20に接続されたRAM23、ハードディスク24、キーボード26、マウス27、及びLCD28の入出力を制御するプログラムであるBIOS(Basic Input/Output System)や、CPU21がBIOSを実行する際に参照する各種設定を記憶する書換不能なメモリである。RAM23は、CPU21が各種プログラムを実行する際に必要なプログラムやデータを一時的に記憶するための書換可能で揮発性のメモリである。
ハードディスク24は、OSやアプリケーションプログラムといったCPU21により実行される各種プログラムや各種設定を記憶する、書換可能で不揮発性のメモリディスクである。このハードディスク24には、WWWブラウザ24aと、キャッシュ24bと、メモリカードアクセス指示ファイル24cとが記憶されている。
WWWブラウザ24aは、CPU21によって実行されるプログラムで、ハイパーテキスト形式のファイルをLCD28に表示するためのアプリケーションプログラムである。このWWWブラウザ24aでは、ハイパーテキスト形式のファイル中に設定されたリンクをマウス27によって選択可能に表示するようになっている。
WWWブラウザ24aは、マウス27によってWWWブラウザ24aに表示されたリンクが選択されると、WWWブラウザ24aは、FTPに従って、そのリンクで示されたパスに存在するファイルの転送命令(「get」コマンド)を送信し、その転送命令に応じて返信されるファイル、若しくは「NG」コードを受信する。そして、受信したファイルを表示するか、「NG」コードを受信した場合はファイルが受信できなかった旨のエラーメッセージを表示する。
キャッシュ24bは、WWWブラウザ24aが使用するメモリ領域であり、WWWブラウザ24aが転送命令(「get」コマンド)によってファイルを受信した場合に、その受信したファイルをキャッシュ24bに保存する。キャッシュ24bに保存されたファイルはユーザから削除されない限り保存され続け、WWWブラウザ24aが再び同じファイルにアクセスする場合、サーバに対してそのファイルの転送命令を送信しなくても、キャッシュ24bからそのファイルを読み出すことができる。これにより、WWWブラウザ24aにおけるファイルの高速読み出しを可能としている。
ただし、WWWブラウザ24aでは、受信したハイパーテキスト形式のファイルに、時上述したダミーファイルに記載されているような、キャッシュ24bを使わずに指定されたファイルへアクセスすることを指示する指示情報があった場合、そのキャッシュ24bからファイルを読み出さずに、直接サーバに対して指定されたファイルの転送命令を送信する。これにより、サーバから常に最新のファイルを受信することができるようになっている。
メモリカードアクセス指示ファイル24cは、カードリーダ10に装着されたメモリカード18からルートディレクトリのインデックスファイル50を受信するよう、WWWブラウザ24aに対して指示する指示情報が記載されたファイルである。このメモリカードアクセス指示ファイル24cが、キーボード26又はマウス27により選択されると、WWWブラウザ24aが起動される。そして、WWWブラウザ24aはメモリカードアクセス指示ファイル24cの指示情報に従い、FTPに則して、ルートディレクトリのインデックスファイル50の転送命令(「get」コマンド)をカードリーダ10に対し送信する。
ここで、図3を参照してメモリカードアクセス指示ファイル24cについて説明する。まず、図3(a)は、PC20のOSによりLCD28に表示されるデスクトップ環境の表示画面図である。図3(a)に示すように、このOSのデスクトップ環境には、メモリカードアクセス指示ファイル24cのアイコン「メモリカードアクセス指示ファイル」が表示されている。ユーザは、キーボード26若しくはマウス27によってカーソルをアイコン「メモリカードアクセス指示ファイル」に合わせ、キーボード26のエンターキー(図示せず)、若しくはマウス27のクリックボタン(図示せず)を押すことにより、メモリカードアクセス指示ファイル24cを選択することができる。
次に図3(b)は、メモリカードアクセス指示ファイル24c「dummy.html」(以下、『「dummy.html」24c』と称する。)の内容を示す図である。この「dummy.html」24cには、図2(b)の「Photo」用ダミーファイルと同様のメタタグが記載されている。
このメタタグにおいて、「Photo」用ダミーファイルと異なる点は、「url=」で示されたパスが、メモリカード18のルートディレクトリのインデックスファイル「//aaa/_index.html」である点である。これにより、メモリカードアクセス指示ファイル24cが選択されると、WWWブラウザ24aは「dummy.html」24cの内容に従って、0秒後に「//aaa/_index.html」の転送命令(「get」コマンド)をカードリーダ10に対して送信する。
なお、「url=」の後の「ftp:」は、FTPに従って「//aaa/_index.html」の転送命令(「get」コマンド)を送信するよう、WWWブラウザ24aに指示するためのものである。
図1に戻り、説明を続ける。LANインターフェイス25は、PC20をLAN40に接続するためのインターフェイスである。キーボード26及びマウス27は、ユーザがPC20に対して文字や指示を入力する入力デバイスである。LCD28は、CPU21によって実行されたプログラムの各種情報を表示する表示デバイスである。計時回路29は、現在の日時を刻む内部時計を有しており、計時を開始した日時と現在の日時とを比較して所要時間を算出する既知の回路である。
次に、図4を参照してカードリーダ10のCPU11で実行されるgetコマンド処理モジュールの処理フローについて説明する。図4は、このgetコマンド処理モジュール12bのフローチャートである。このモジュールは、上述したように、CPU11がFTPサーバプログラム12aを実行中にPC20から「get」コマンドが入力された場合に起動される。
このモジュールでは、まず、「get」コマンドで指定されたファイル名の末尾が「_index.html」と一致するかを確認する(S411)。ファイル転送システム1において、インデックスファイルのファイル名は「_index.html」と決められている。よって、S411の処理により、「get」コマンドで指定されたファイルがインデックスファイルであるかどうかを判断する。
そして、S411の処理で、「get」コマンドで指定されたファイル名の末尾が「_index.html」と一致する場合は(S411:Yes)、指定されたファイルはインデックスファイルであることから、後述のインデックスファイル生成処理モジュール12cを実行する(S412)。これにより、所定のディレクトリのインデックスファイルが生成され、生成されたインデックスファイルはインデックスファイル記憶領域13cに記憶される。また、S411の処理で、「get」コマンドで指定されたファイル名の末尾が「_index.html」と一致しない場合は(S411:No)、指定されたファイルがメモリカード18にその実体が格納されたファイルであると判断し、そのファイルをメモリカード18から読み出して、ファイルの実体を取得する(S413)。
S412の処理、又は、S413の処理の後、「get」コマンドで指定されたファイルがS412の処理で生成できたか、又は、S413の処理で取得できたかを確認する(S414)。そして、指定されたファイルが生成又は取得できた場合は(S414:Yes)、「OK」コードとともに、S412の処理でインデックスファイル記憶領域13cに記憶されたインデックスファイル、又は、S413の処理で取得したファイルを、PC20へ返信する(S415)。そして、このモジュールの実行を終了する。これにより、「get」コマンドで指定されたファイルをPC20へ転送することができる。
また、S414の処理で、「get」コマンドで指定されたファイルが生成又は取得できなかったと判断した場合は(S414:No)、「NG」コードをPC20へ返信し(S416)、このモジュールの実行を終了する。これにより、PC20のユーザに対して、「get」コマンドで指定したファイルが存在しないことを知らせることができる。
このように、このgetコマンド処理モジュール12bによって、PC20から入力された「get」コマンドに対する処理を実行し、「get」コマンドで指定されたファイルがインデックスファイルである場合はインデックスファイルを生成し、メモリカード18に格納されているファイルである場合は、メモリカード18からそのファイルの実体を取得して、PC20に転送することができる。
次に、図5のフローチャートを参照してカードリーダ10のCPU11で実行されるインデックスファイル生成処理モジュール12cの処理フローについて説明する。図5は、このインデックスファイル生成処理モジュール12cのフローチャートである。このモジュールでは、所定のディレクトリのインデックスファイルを生成し、生成したインデックスファイルをインデックスファイル記憶領域13cに記憶する。
図5に示すように、このモジュールでは、まず、「get」コマンドで指定されたインデックスファイルのパスから、インデックスファイルが存在する(実際には、存在するものとして取り扱われている)ディレクトリを特定し、それを親ディレクトリとして設定する(S500)。
次に、親ディレクトリにファイルやサブディレクトリが存在するかを確認する(S501)。そして、ファイルもサブディレクトリも存在しない場合は(S501:No)、ファイルが存在しないことを記載したインデックスファイルを生成し、これをインデックスファイル記憶領域13cに記憶して(S502)、このモジュールの実行を終了する。よって、このインデックスファイルがWWWブラウザ24aに表示されれば、PC20のユーザは、指定したディレクトリにファイルが存在しないことを認識することができる。
一方、S501の処理により、親ディレクトリにファイルやサブディレクトリが存在すると判断された場合(S501:Yes)、S503の処理に移行し、親ディレクトリと、親ディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリの一覧の生成を開始する。
S503では、親ディレクトリを「指定ディレクトリ」として設定する。続くS504〜S508の処理は、この「指定ディレクトリ」に対して行われる。なお、この「指定ディレクトリ」には親ディレクトリの他に、後述のS510の処理により、親ディレクトリに存在するサブディレクトリも設定される。
S504では、指定ディレクトリにファイルやサブディレクトリが存在するかを確認する。そして、指定ディレクトリにファイルやサブディレクトリが存在する場合は(S504:Yes)、S505の処理へ移行し、その指定ディレクトリに対して、インデックスファイルの生成に必要なデータの準備を行う。一方、指定ディレクトリにファイルやサブディレクトリが存在しない場合は(S504:No)、その指定ディレクトリに対しインデックスファイルの生成に必要なデータの準備は不要であるので、S509へ移行する。
S505では、指定ディレクトリにあるファイル及びサブディレクトリを検出し、各々の名称とパスとをメモリカード18から取得する。これにより、指定ディレクトリに存在する全てのファイル及びサブディレクトリの名称とパスとが取得される。
続いて、指定ディレクトリにある各サブディレクトリと各ファイルについて、上述したダミーファイルを各々生成する(S506)。なお、S505の処理で取得したパスは、これらのダミーファイルを生成する際に、各々のダミーファイルに設定されるリンク先のパスとして用いられる。
次に、指定ディレクトリにあるファイルのうち、画像ファイル、文書ファイル、図面ファイルについて、それぞれ画像若しくはページを縮小したサムネイルを生成し、サムネイル記憶領域13bに記憶する(S507)。
そして、指定ディレクトリにあるファイル及びサブディレクトリの各々の名称に対し、各々について生成したダミーファイルのパスと、サムネイルを生成したものについてはサムネイルのパスとをそれぞれ対応付けて、ファイル・ディレクトリ記憶領域13aに記憶する(S508)。これにより、指定ディレクトリに対して、インデックスファイルの生成に必要なデータの準備を終了し、S509の処理へ移行する
S509では、親ディレクトリに存在する全てのサブディレクトリについて、S504の処理でファイル及びサブディレクトリの存在の有無を調べたかを確認する。そして、親ディレクトリ内に、ファイル及びサブディレクトリの存在の有無を調べていないサブディレクトリが存在する場合(S509:No)、そのサブディレクトリの1つを新たな指定ディレクトリに設定し(S510)、再びS504からS509までの処理を実行する。これにより、新たに設定された指定ディレクトリについて、その指定ディレクトリにファイルやサブディレクトリが存在するかが確認され(S504)、ファイルやサブディレクトリが存在する場合には(S504:Yes)、その指定ディレクトリに対して、インデックスファイルの生成に必要なデータの準備を行う(S505〜S508)。
そして、S509の処理により、親ディレクトリに存在する全てのサブディレクトリについて、ファイル及びサブディレクトリの存在の有無が調べたことが確認される(S509:Yes)まで、S504からS510の処理を繰り返し実行する。これにより、親ディレクトリと、親ディレクトリに存在する全てのサブディレクトリについて、インデックスファイルの生成に必要なデータの準備を行う。
一方、S509の処理で、親ディレクトリに存在する全てのサブディレクトリについて、ファイル及びサブディレクトリの存在の有無を調べたと判断されると(S509:Yes)、ファイル・ディレクトリ記憶領域13aに記憶された情報を基に、図2(a)に示すようなインデックスファイルを生成する(S511)。すなわち、S511では、ファイル・ディレクトリ記憶領域13aに記憶されたファイル及びサブディレクトリの各々の名称に、それぞれ対応するダミーファイルのリンクを設定し、また、サムネイルを生成したファイルに対し、各々のファイルの名称に対応付けてそれぞれのサムネイルを貼付した、インデックスファイルを生成する。そして、生成されたインデックスファイルをインデックスファイル記憶領域13cに記憶した後、このインデックスファイル生成処理モジュール12cを終了する。
次に、図6を参照して、ファイル転送システム1の動作について説明する。図6は、ファイル転送システム1の動作の順序を示すシーケンスチャートである。図6に示すように、ファイル転送システム1では、まず、PC20のユーザ70が、PC20のLCD28に表示されたデスクトップ環境の表示画面から、「dummy.html」(メモリカードアクセス指示ファイル)24cを選択すると、CPU21がWWWブラウザ24aを起動し、WWWブラウザ24aに対し、「dummy.html」24cが選択されたことを通知する(S601)。これを受けて、WWWブラウザ24aは、キャッシュ24bに対し「dummy.html」24cの転送命令を送信する(S602)。
そして、キャッシュ24bに「dummy.html」24cが存在する場合、キャッシュ24bはWWWブラウザ24aに対して「dummy.html」24cを転送する(S603)。なお、キャッシュ24bに「dummy.html」24cが存在しない場合は、キャッシュ24bからWWWブラウザ24aに対して「dummy.html」24cの転送不可通知が送信される。この場合、WWWブラウザ24aは、ハードディスク24から直接「dummy.html」24cを読み出す。そして、読み出した「dummy.html」24cをキャッシュ24bに書き込む。
続いて、WWWブラウザ24aは、「dummy.html」24cの内容を解析する(S604)。そして、WWWブラウザ24aは「dummy.html」24cの内容に従って、キャッシュを使わずに、メモリカード18のルートディレクトリのインデックスファイル「_index.html」の転送命令(「get」コマンド)をカードリーダ10に対して送信する(S605)。これにより、過去に、「_index.html」がキャッシュ24bに記憶された場合でも、カードリーダ10に対して、最新の「_index.html」を生成させることができる。
続いて、カードリーダ10では、インデックスファイル生成処理モジュール12cによって、ルートディレクトリに存在するファイル及びサブディレクトリを検出して、「_index.html」を生成し(S606)、これをWWWブラウザ24aに返信する(S607)。そして、WWWブラウザ24aは、受信した「_index.html」をユーザ70に対し表示する(S608)。
このように、カードリーダ10において、ルートディレクトリに存在するファイル及びサブディレクトリを検出して、「_index.html」を生成するので、WWWブラウザ24aには、ルートディレクトリに存在するファイル及びサブディレクトリを正確に表示させることができる。また、「_index.html」の転送命令(「get」コマンド)を受信する毎に、「_index.html」を生成するので、そのときにルートディレクトリに存在するファイル及びサブディレクトリがインデックスファイルに反映される。よって、WWWブラウザ24aに対し、メモリカード18に格納されているファイル及びサブディレクトリの最新の情報を表示させることができる。
なお、WWWブラウザ24aに表示された「_index.html」は、キャッシュ24bに書き込まれる(S609)。ただし、上述した通り、「dummy.html」24cによって、キャッシュ24bに書き込まれた「_index.html」が読み出されることなく、カードリーダ10に対して「_index.html」の転送命令(「get」コマンド)が送信される。
続いて、ユーザ70が、WWWブラウザ24aに表示された「_index.html」からファイルの名称「temp.txt」を選択すると(S610)、WWWブラウザ24aは、ファイルの名称「temp.txt」に対して設定されたリンクを基に、「temp.txt」用ダミーファイル「temp_txt_dummy.html」の転送命令を、キャッシュ24bに対して送信する(S611)。
そして、キャッシュ24bに「temp.txt」用ダミーファイルが存在しない場合、キャッシュ24bからWWWブラウザ24aに対して「temp.txt」用ダミーファイルの転送不可通知が送信される(S612)。この場合、WWWブラウザ24aは、カードリーダ10に対し、「temp.txt」用ダミーファイルの転送命令(「get」コマンド)を送信する(S613)。そして、カードリーダ10は、メモリカード18に記憶された「temp.txt」用ダミーファイルを取得し、WWWブラウザ24aに転送する(S614)。WWWブラウザ24aは、「temp.txt」用ダミーファイルを受信すると、それをキャッシュ24bに書き込む(S615)。
なお、キャッシュ24bに「temp.txt」用ダミーファイルが存在する場合は、キャッシュ24bからWWWブラウザ24aに対して「temp.txt」用ダミーファイルを転送する。「temp.txt」用ダミーファイルの内容は、図2(c)で示した内容から変わることがないので、キャッシュ24bに記憶された過去のファイルを使用しても問題とはならない。
続いて、WWWブラウザ24aは、「temp.txt」用ダミーファイルの内容を解析する(S616)。そして、その内容に従って、キャッシュを使わずに、メモリカード18のファイル「temp.txt」の転送命令(「get」コマンド)をカードリーダ10に対して送信する(S617)。カードリーダ10は、この転送命令を受けて、メモリカード18に記憶された「temp.txt」を取得し、WWWブラウザ24aに転送する(S618)。そして、WWWブラウザ24aは、「temp.txt」をユーザ70に対して表示する(S619)。これにより、過去に、「temp.txt」がキャッシュ24bに記憶された場合でも、カードリーダ10から最新の「temp.txt」を読み出し、ユーザに対して表示させることができる。
なお、WWWブラウザ24aに表示された「temp.txt」は、キャッシュ24bに書き込まれる(S620)。しかし、「temp.txt」用ダミーファイルにより、そのキャッシュ24bに書き込まれた「temp.txt」が読み出されることなく、カードリーダ10に対して「temp.txt」の転送命令(「get」コマンド)が送信される。
一方、ユーザ70が、WWWブラウザ24aに表示された「_index.html」からサブディレクトリの名称「Photo」を選択すると(S621)、WWWブラウザ24aは、サブディレクトリの名称「Photo」に対して設定されたリンクを基に、「Photo」用ダミーファイル「Photo_dummy.html」の転送命令を、キャッシュ24bに対して送信する(S622)。
そして、キャッシュ24bに「Photo」用ダミーファイルが存在する場合は、キャッシュ24bからWWWブラウザ24aに対して「Photo」用ダミーファイルを転送する(S623)。「Photo」用ダミーファイルの内容は、図2(b)で示した内容から変わることがないので、キャッシュ24bに記憶された過去のファイルを使用しても問題とはならない。
なお、キャッシュ24bに「Photo」用ダミーファイルが存在しない場合は、「temp.txt」用ダミーファイルについて行ったS613〜S615の処理を、「Photo」用ダミーファイルについて行う。
続いて、WWWブラウザ24aは、「Photo」用ダミーファイルの内容を解析する(S624)。そして、WWWブラウザ24aは「Photo」用ダミーファイルの内容に従って、キャッシュを使わずに、サブディレクトリ「Photo」のインデックスファイル「Photo/_index.html」の転送命令(「get」コマンド)をカードリーダ10に対して送信する(S625)。
これにより、キャッシュ24bに、「Photo/_index.html」が過去に記憶されていた場合でも、カードリーダ10に対して、最新の「Photo/_index.html」を生成させることができる。
続いて、カードリーダ10では、インデックスファイル生成処理モジュール12cによって、サブディレクトリ「Photo」に存在するファイル及びサブディレクトリを検出して、「Photo/_index.html」を生成し(S626)、これをWWWブラウザ24aに返信する(S627)。そして、WWWブラウザ24aは、受信した「Photo/_index.html」をユーザ70に対し表示する(S628)。
このように、カードリーダ10において、サブディレクトリ「Photo」に存在するファイル及びサブディレクトリを検出して、「Photo/_index.html」を生成するので、WWWブラウザ24aには、サブディレクトリ「Photo」に存在するファイル及びサブディレクトリを正確に表示させることができる。また、「Photo/_index.html」の転送命令(「get」コマンド)を受信する毎に、「Photo/_index.html」を生成するので、そのときにサブディレクトリ「Photo」に存在するファイル及びサブディレクトリがインデックスファイルに反映される。よって、WWWブラウザ24aに対し、メモリカード18に格納されているファイル及びサブディレクトリの最新の情報を表示させることができる。
なお、WWWブラウザ24aに表示された「Photo/_index.html」は、キャッシュ24bに書き込まれる(S629)。しかし、「Photo」用ダミーファイルによって、上述の通り、そのキャッシュ24bに書き込まれた「Photo/_index.html」が読み出されることなく、カードリーダ10に対して「Photo/_index.html」の転送命令(「get」コマンド)が送信される。
以上説明したように、第1実施形態のファイル転送システム1では、カードリーダ10がインデックスファイル生成処理モジュールによって、所定のディレクトリに存在するファイル及びサブディレクトリを検出してからインデックスファイルを生成するので、そのインデックスファイルにより、所定のディレクトリに存在するファイル及びサブディレクトリを正確にWWWブラウザ24aに表示させることができる。よって、そのインデックスファイルに設定されたリンクによって、WWWブラウザ24aから所望のファイルにアクセスさせることができる。従って、PC20からカードリーダ10に装着されたメモリカード18に格納されているファイルへ確実にアクセスさせることができる。
また、インデックスファイルによって、所定のディレクトリに存在するファイル及びサブディレクトリを正確にWWWブラウザ24aに表示させることができるので、PC20のユーザは、所定のディレクトリに存在するファイル及びサブディレクトリの内容を、インデックスファイルに記載された各々の名称によって推定することができる。よって、ユーザに対して効率的に所望のファイルやサブディレクトリを確認させることができる。
更に、カードリーダ10でハイパーテキスト形式のインデックスファイルを生成してWWWブラウザ24aに送信するので、PC20がハイパーテキスト形式のファイルに対応したWWWブラウザ24aを備えていれば、そのインデックスファイルを表示させることができる。よって、異なる種類のWWWブラウザ24aを用いても、同じ使用感でファイルへのアクセスを行わせることができる。
また、カードリーダ10は、所定のディレクトリのインデックスファイルの転送命令を受信した場合に、その所定のディレクトリのインデックスファイルを生成するので、インデックスファイルの転送命令を受信したときに所定のディレクトリに存在するファイル及びサブディレクトリがインデックスファイルに反映される。よって、WWWブラウザ24aに対し、メモリカード18に格納されているファイル及びサブディレクトリの最新の情報を表示させることができる。
また、カードリーダ10は、所定のディレクトリに存在するサブディレクトリの名称に対し、各々のサブディレクトリのインデックスファイルへのリンクが設定されたインデックスファイルを生成するので、ユーザがWWWブラウザ24aに表示されたインデックスファイルからサブディレクトリの名称を選択すると、そのサブディレクトリのインデックスファイルがカードリーダ10で生成され、WWWブラウザ24aにそのインデックスファイルが表示される。よって、WWWブラウザ24aに対し、サブディレクトリに存在するファイルやサブディレクトリを正確かつ容易に表示させることができるので、PC20に対し、下層のサブディレクトリに格納されているファイルへのアクセスを容易に行わせることができる。
また、カードリーダ10は、インデックスファイルの中でファイル及びサブディレクトリのリンク先として各々設定したダミーファイルによって、WWWブラウザ24aに対しキャッシュを使わずに直接メモリカード18のファイル若しくはサブディレクトリにアクセスするよう指示することができる。よって、WWWブラウザ24aでファイル若しくはサブディレクトリの名称が選択された場合、そのファイル若しくはサブディレクトリについて過去のデータがキャッシュに記憶されていた場合であっても、PC20からメモリカード18の最新のファイル若しくはサブディレクトリへアクセスさせることができる。
また、カードリーダ10は、所定のディレクトリとその所定のディレクトリにあるサブディレクトリとについて、各々のディレクトリ及びサブディレクトリに存在するファイル及びサブディレクトリを検出し、それらの一覧が記載されたインデックスファイルを生成するので、ユーザが所定のディレクトリと所定のディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリの一覧を一度のインデックスファイル転送命令で確認することができる。また、サブディレクトリに存在するファイルやサブディレクトリに設定されたリンクを用いて、それらにアクセスすることができる。よって、PC20のユーザに対し、メモリカード18の下層のサブディレクトリに格納されている所望のファイルを少ない操作で発見させ、そのファイルへのアクセスを容易に行わせることができる。
また、カードリーダ10は、画像、文書、及び図面ファイルについて各々サムネイルを生成し、ファイルの名称に対応させて各々のサムネイルを貼付してインデックスファイルを生成するので、PC20のユーザは、WWWブラウザ24aに表示されたインデックスファイルから、各々のファイルのサムネイルにより、その内容を確認することができる。よって、PC20に対し、メモリカード18に格納されているファイルの内容を容易に確認させることができる。
次に、図1、及び図7から図9を参照して、第2実施形態におけるファイル転送システム1について説明する。この第2実施形態のファイル転送システム1において、カードリーダ10は、PC20との間でハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)に従った通信を行う。そして、LAN40を介してメモリカード18に格納されたファイルをPC20へ転送する。このとき、カードリーダ10は、HTTPのヘッダ領域に「ファイルのキャッシュを行わない」というWWWブラウザ24aに対する命令を付加して送信する。
この第2実施形態におけるファイル転送システム1の電気的構成は、上述した第1実施形態とほぼ同一であるので、その図示を省略し、以下、図1を参照しながら、第1実施形態と異なる点を説明する。
この第2実施形態において、ROM12には、第1実施形態のFTPサーバプログラム12aの代わりに、HTTPサーバプログラムが記憶されている。このHTTPサーバプログラムは、PC20との間でHTTPに従った通信を行う際にCPU11によって実行されるプログラムであり、その処理内容は通信プロトコルとしてHTTPに従うことを除いて、FTPサーバプログラム12aと同一である。
また、ROM12には、第1実施形態のFTPサーバプログラム12aと同様、HTTPサーバプログラムの一部分としてgetコマンド処理モジュール12bが記憶され、また、getコマンド処理モジュール12bの一部分としてインデックスファイル生成処理モジュール12cが記憶されている。
第2実施形態のgetコマンド処理モジュール12bは、HTTPの「get」コマンドに対する処理をCPU11に実行させるためのプログラムであり、HTTPサーバプログラムと連動するモジュールである。HTTPの「get」コマンドは、FTPの「get」コマンドと同様に、PC20が指定したファイルの転送をカードリーダ10に対して指示する転送命令である。CPU11は、HTTPサーバプログラムの実行中にPC20から「get」コマンドを受信すると、CPU11はこのgetコマンド処理モジュール12bの実行を開始する。そして、「get」コマンドで指定されたファイルをPC20に返信するか、エラーコードを返信すると、このモジュールの実行を終了する。
この第2実施形態のgetコマンド処理モジュール12bにおいて、第1実施形態のgetコマンド処理モジュール12bと異なる点は、まず、「get」コマンドで指定されたファイルがインデックスファイルであった場合、後述する第2実施形態のインデックスファイル生成処理モジュール12cを実行する点である。また、「get」コマンドで指定されたファイルをPC20に対して返信する際、HTTPのヘッダ領域に「ファイルのキャッシュを行わない」というWWWブラウザ24aに対する命令を付加し、ファイルに先駆けて送信する。更に、「get」コマンドで指定されたファイルがインデックスファイル生成処理モジュールで生成できなかった場合、若しくは、メモリカード18からファイルの実体を取得できなかった場合は、HTTPのエラーコードをPC20へ返信する点が異なる。
ここで、図7(a)を参照して、第2実施形態において、「get」コマンドで指定されたファイルをPC20へ転送する際にHTTPのヘッダ領域に付加される命令の内容について説明する。図7(a)は、このHTTPのヘッダ領域の内容を示した図である。
図7(a)のように、HTTPのヘッダ領域には、「Cache−Control:no−chache」と、「Pragma:no−chache」という2つのHTTPヘッダが付加される。これらはともに、WWWブラウザ24aに対して、ファイルのキャッシュを行わないよう命令するためのHTTPヘッダである。なお、「Cache−Control:no−chache」は、HTTPの第1.1版に対応したHTTPヘッダであり、「Pragma:no−chache」は、HTTPの第1.0版に対応したHTTPヘッダである。WWWブラウザ24aのサポートするHTTPの版がどちらであっても対応できるように、これら2つのHTTPヘッダを付加する。
図1に戻って、説明を続ける。第2実施形態のインデックスファイル生成処理モジュール12cは、第1実施形態のインデックスファイル生成処理モジュール12cと同様、インデックスファイルを生成する処理をCPU11に実行させるためのプログラムであり、第2実施形態のgetコマンド処理モジュール12bと連動するモジュールである。CPU11は、第2実施形態のgetコマンド処理モジュール12bを実行中に「get」コマンドで指定されたファイルがインデックスファイルであることを判断した場合に、インデックスファイル生成処理モジュール12cの実行を開始する。そして、インデックスファイル記憶領域13cに、生成したインデックスファイルを記憶すると、このモジュールの実行を終了する。
ここで、第2実施形態のインデックスファイル生成処理モジュール12cにおいて、第1実施形態のインデックスファイル生成処理モジュール12cと異なる点は、第2実施形態では、各ファイルの名称には対応するファイルの実体へのリンクを直接設定し、各サブディレクトリの名称には対応するサブディレクトリに存在する(実際には存在するとして取り扱う)インデックスファイルへのリンクを直接設定したインデックスファイルを生成する点である。
このように、第2実施形態ではダミーファイルが不要であるので、メモリカード18にダミーファイルを保存する領域は不要である。
次に、第2実施形態のPC20について、第1実施形態のPC20と異なる点を説明する。第1実施形態のWWWブラウザ24aは、FTPに従ってリンク先のサーバと接続したが、第2実施形態のWWWブラウザ24aは、HTTPに従ってリンク先のサーバと接続する。すなわち、第2実施形態のWWWブラウザ24aは、表示ファイル中に設定されたリンクが選択されると、HTTPに従って、そのリンクで示されたパスに存在するファイルの転送命令(「get」コマンド)を送信し、その転送命令に応じて返信されるファイル、若しくはエラーコードを受信する。
メモリカードアクセス指示ファイル24cは、WWWブラウザ24aに対し、HTTPによってメモリカード18のルートディレクトリの「_index.html」にアクセスするよう指示する指示情報が記載されたファイルである。ユーザからこのメモリカードアクセス指示ファイル24cが選択されると、WWWブラウザ24aが起動され、WWWブラウザ24aは、HTTPに従って、「_index.html」の転送命令をカードリーダ10へ送信する。
次に、図7(b)を参照して、第2実施形態におけるgetコマンド処理モジュール12bの処理フローについて説明する。なお、上述した第1実施形態と同一の部分には同一の符号を付して、その説明を省略する。
この処理において、S411、S413、S414の処理は、上述した第1実施形態のgetコマンド処理モジュール12b(図4(b)参照)と同様の処理を行い、S411の処理により確認した結果、「get」コマンドで指定されたファイル名の末尾が「_index.html」と一致する場合は(S411:Yes)、指定されたファイルがインデックスファイルであるので、第2実施形態のインデックスファイル生成処理モジュール12cを実行する(S711)。これにより、ファイルには対応するファイルへのリンクが直接設定され、サブディレクトリには、対応するサブディレクトリに存在するインデックスファイルへのリンクが直接設定されたインデックスファイルが生成される。S711の処理の後、S414へ移行する。
また、S414の処理により確認した結果、指定されたファイルが生成又は取得できた場合は(S414:Yes)、HTTPのヘッダ領域に「ファイルのキャッシュを行わない」というWWWブラウザ24aに対する命令を付加して、HTTPの「OK」コードと「get」コマンドで指定されたファイルとをPC20に対して返信し(S712)、このモジュールの実行を終了する。これにより、WWWブラウザ24aは、「get」コマンドで指定したファイルを受信した際に、このファイルをキャッシュに記憶しない。
一方、S414の処理により確認した結果、指定されたファイルが生成又は取得できなかった場合は(S414:No)、HTTPのエラーコードをPC20に対して返信し(S713)、このモジュールの実行を終了する。これにより、PC20のユーザに対して、「get」コマンドで指定したファイルが存在しないことを知らせることができる。
次に、図8を参照して、第2実施形態のインデックスファイル生成処理モジュールの処理フローについて説明する。なお、上述した第1実施形態と同一の部分には同一の符号を付して、その説明を省略する。
この処理において、S500〜S505、S507、S509、及びS510の処理は、上述した第1実施形態のインデックスファイル生成処理モジュール(図5参照)と同様の処理を行う。そして、S505の処理の後、指定ディレクトリにある各サブディレクトリのパスにおいて、それぞれ最後に「/_index.html」を付加して、これを各々のサブディレクトリの新たなパスとする(S801)。これにより、各々のサブディレクトリのパスを、そのサブディレクトリに存在する(実際には、存在すると取り扱う)インデックスファイルのパスに置き換える。S801の処理の後、S507へ移行する。
そして、S507の処理の後、指定ディレクトリにあるファイル及びサブディレクトリの各々の名称に対し、各々のファイル及びサブディレクトリのパスと、サムネイルを生成したものについてはサムネイルのパスとをそれぞれ対応付けて、ファイル・ディレクトリ記憶領域13aに記憶し(S802)、S509へ移行する。
そして、S509の処理で確認した結果、親ディレクトリに存在する全てのサブディレクトリについて、ファイル及びサブディレクトリの存在の有無を調べたと判断した場合(S509:Yes)、ファイル・ディレクトリ記憶領域13aに記憶された情報を基に、インデックスファイルを生成する(S802)。すなわち、S802では、ファイル・ディレクトリ記憶領域13aに記憶されたファイル及びサブディレクトリの各々の名称に、各々のファイル若しくはサブディレクトリのインデックスファイルへの直接的なリンクを設定し、また、サムネイルを生成したファイルに対し、各々のファイルの名称に対応付けてそれぞれのサムネイルを貼付した、インデックスファイルを生成する。そして、生成されたインデックスファイルをインデックスファイル記憶領域13cに記憶した後、このインデックスファイル生成処理モジュール12cを終了する。
これにより、WWWブラウザ24aに表示されたインデックスファイルから、ユーザがマウス27によってファイル若しくはサブディレクトリの名称をクリックすると、ダミーファイルを読み出すことなく、対応するファイル、若しくは、対応するサブディレクトリのインデックスファイルの転送命令をカードリーダ10に対して送信する。従って、第1実施形態と比較して、所望のファイル若しくはサブディレクトリへ素早くアクセスすることができる。
次に、図9を参照して、第2実施形態のファイル転送システム1の動作について説明する。図9は、第2実施形態におけるファイル転送システム1の動作の順序を示すシーケンスチャートである。なお、上述した第1実施形態と同一の部分には同一の符号を付して、その説明を省略する。
図9に示すように、第2実施形態のファイル転送システム1では、まず、PC20のユーザ70が、デスクトップ環境の表示画面から、メモリカードアクセス指示ファイル24cを選択すると、CPU21がWWWブラウザ24aを起動し、WWWブラウザ24aに対してメモリカードアクセス指示ファイル24cが選択されたことを通知する(S901)。
そして、WWWブラウザ24aは、メモリカードアクセス指示ファイル24cの内容に従って、メモリカード18のルートディレクトリのインデックスファイル「_index.html」にアクセスするために、まずキャッシュ24bに対して「_index.html」の転送命令を送信する(S902)。
しかし、後述する理由により、キャッシュ24bには「_index.html」が存在しないので、キャッシュ24bはWWWブラウザ24aに対し、「_index.html」の転送不可通知を送信する(S903)。
続く、S605〜S608では、上述した第1実施形態のファイル転送システム1と同様の処理が行われる。ただし、S607において、カードリーダ10はWWWブラウザ24aに対してHTTPのヘッダ領域に記載された「ファイルのキャッシュを行わない」という命令も合わせて送信するので、WWWブラウザ24aは受信した「_index.html」をキャッシュ24bに保存しない。よって、以後、WWWブラウザ24aが「_index.html」にアクセスする場合、キャッシュ24bに「_index.html」が存在しないので、必ず、カードリーダ10に対して「_index.html」の転送命令(「get」コマンド)を送信する。従って、WWWブラウザ24aは最新の「_index.html」をカードリーダ10から受信することができる。
次に、S610、S617〜S619、S621、S625〜S628の処理も、上述した第1実施形態のファイル転送システム1と同様の処理が行われる。ただし、S618及びS627において、カードリーダ10はWWWブラウザ24aに対してHTTPのヘッダ領域に記載された「ファイルのキャッシュを行わない」という命令も合わせて送信するので、WWWブラウザ24aは受信したファイル「temp.txt」やインデックスファイル「Photo/_index.html」をキャッシュ24bに保存しない。よって、WWWブラウザ24aがテキスト「temp.txt」にアクセスする場合、キャッシュ24bに対して「temp.txt」の転送命令を要求しても(S904)、キャッシュ24bは必ず「temp.txt」の転送不可通知をWWWブラウザ24aに送信する(S905)。これにより、WWWブラウザ24aは必ずカードリーダ10に対して「temp.txt」の転送命令(「get」コマンド)を送信する(S617)。
また、WWWブラウザ24aが「Photo/_index.html」にアクセスする場合も同様に、キャッシュ24bに対して「Photo/_index.html」の転送命令を要求しても(S906)、キャッシュ24bは必ず「Photo/_index.html」の転送不可通知をWWWブラウザ24aに送信する(S907)。これにより、WWWブラウザ24aは必ずカードリーダ10に対して「Photo/_index.html」の転送命令(「get」コマンド)を送信する(S625)。従って、WWWブラウザ24aは最新の「temp.txt」や「Photo/_index.html」をカードリーダ10から受信することができる。
以上説明したように、第2実施形態のファイル転送システム1では、カードリーダ10からPC20のWWWブラウザ24aへファイルを送信する場合に、カードリーダ10は、HTTPのヘッダ領域に「ファイルのキャッシュを行わない」というWWWブラウザ24aに対する命令を付加し、その命令を送信するファイルに先駆けて送信する。これにより、WWWブラウザ24aからカードリーダ18に格納されたファイルに繰り返しアクセスが行われる場合でも、そのファイルがキャッシュに記憶されないので、PC10はメモリカード18に格納されたファイルへ常に直接アクセスすることができる。よって、PC20からメモリカード18に格納された最新のファイルへアクセスさせることができる。
次に、図10から図13を参照して、第3実施形態におけるファイル転送システム1について説明する。上述した第1実施形態のファイル転送システム1において、カードリーダ10は、所定のディレクトリと、所定のディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリの各々についてダミーファイル18aを生成し、各々のファイル及びサブディレクトリの名称に、対応するダミーファイル18aへのリンクを設定してインデックスファイルを生成した。これに対し、第3実施形態のファイル転送システム1では、カードリーダ10が、インデックスファイルを生成する時の日時分秒Yを計時回路16から取得する。そして、ファイルとサブディレクトリにあるインデックスファイルとの各々のパスに、日時分秒Yを含む文字列「_tempY」を付加したものを、各々の新しいパスとする。そして、各ファイル及びサブディレクトリの名称に、その新しいパスへのリンクを各々設定したインデックスファイルを生成する。
図10は、第3実施形態におけるファイル転送システム1の電気的構成を示すブロック図である。なお、上述した第1実施形態と同一の部分には同一の符号を付して、その説明を省略する。
この第3実施形態のカードリーダ10において、ROM12には、第1実施形態のgetコマンド処理モジュール12bとインデックスファイル生成処理モジュール12cのかわりに、getコマンド処理モジュール12dとインデックスファイル生成処理モジュール12eが記憶されている。
getコマンド処理モジュール12dは、FTPの「get」コマンドに対する処理をCPU11に実行させるためのプログラムであり、第1実施形態のgetコマンド処理モジュール12bと同様、FTPサーバプログラム12aと連動するモジュールである。そして、CPU11は、FTPサーバプログラムの実行中にPC20から「get」コマンドを受信すると、CPU11はこのgetコマンド処理モジュール12dの実行を開始する。そして、「get」コマンドで指定されたファイルをPC20に返信するか、「NG」コードを返信すると、このモジュールの実行を終了する。
この第3実施形態のgetコマンド処理モジュール12dにおいて、第1実施形態のgetコマンド処理モジュール12bと異なる点は、まず、「get」コマンドで指定されたファイルの末尾が「_index_tempN.html」(Nは任意の値)である場合に、指定ファイルがインデックスファイルと判断し、そうでない場合は、メモリカード18に格納されたファイルと判断する点である。これにより、インデックスファイルのパス名に、日時分秒を含む文字列「_tempN.html」が付加されていた場合であっても、それをインデックスファイルとして認識することができる。
また、「get」コマンドで指定されたファイルがインデックスファイルであった場合、後述する第3実施形態のインデックスファイル生成処理モジュール12eを実行する。更に、「get」コマンドで指定されたファイルがインデックスファイルでない場合に、指定ファイルのパスに、上述の日時分秒を含む文字列「_tempN」が含まれるとき、指定ファイル名のパスからその日時分秒を含む文字列「_tempN」を削除したものを、正しい指定ファイルのパスとして認識する。これにより、インデックスファイル中に、日時分秒を含む文字列を付加したパスによって各々のファイルへのリンクを設定した場合であっても、所望のファイルに正しくアクセスすることが可能となる。
インデックスファイル生成処理モジュール12eは、第1実施形態のインデックスファイル生成処理モジュール12cと同様、インデックスファイルを生成する処理をCPU11に実行させるためのプログラムであり、第3実施形態のgetコマンド処理モジュール12dと連動するモジュールである。そして、CPU11は、第3実施形態のgetコマンド処理モジュール12dを実行中に「get」コマンドで指定されたファイルがインデックスファイルであることを判断した場合に、インデックスファイル生成処理モジュール12eの実行を開始する。そして、インデックスファイル記憶領域13cに生成したインデックスファイルを記憶すると、このモジュールの実行を終了する。
第3実施形態のインデックスファイル生成処理モジュール12eにおいて、第1実施形態のインデックスファイル生成モジュール12cと異なる点は、インデックスファイルを生成する時の日時分秒Yを計時回路16から取得し、RAM13の日時分秒変数13dに格納する。そして、所定のディレクトリと、所定のディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリのうち、各ファイルのパスについて、各々のファイル名に日時分秒Yを含む文字列「_tempY」を挿入したものを新たなパスとする。また、各サブディレクトリのパスについて、それぞれ最後に「/_index_tempY.html」を付加したものを新たなパスとする。これにより、サブディレクトリのパスは、日時分秒Yを含む文字列が挿入されたサブディレクトリのインデックスファイルのパスに変更される。そして、各ファイル及びサブディレクトリの名称に対し、各々の新たなパスによって示されるファイルへのリンクを設定したインデックスファイルを生成する。
また、第3実施形態ではダミーファイルが不要である。従って、メモリカード18にダミーファイルを保存する領域は不要である。
次に、RAM13には日時分秒変数13dが設けられている。日時分秒変数13dは、CPU11がファイル生成処理モジュールを実行する際に使用されるもので、インデックスファイルを生成する毎に計時回路16から取得された日時分秒Yを格納するためのメモリ領域である。そして、この日時分秒変数13dに格納された日時分秒Yは、ファイル及びサブディレクトリのパスに日時分秒Yを含む文字列「_tempY」を付加する際に、使用される。この日時分秒変数13dは、インデックスファイル生成処理モジュール12eの実行が終了するとともに、解放される。
一方、PC20のRAM23には日時分秒変数23aが設けられている。日時分秒変数23aは、CPU21が後述のメモリカードアクセス指示ファイル24dを実行する際に使用されるもので、メモリカードアクセス指示ファイル24dが実行される毎に計時回路29から取得された日時分秒Xを格納するためのメモリ領域である。そして、この日時分秒変数23aに格納された日時分秒Xは、メモリカード18のルートディレクトリのインデックスファイルのパスに対して、日時分秒Xを含む文字列「_tempX」を付加する際に、使用される。この日時分秒変数23aは、メモリカードアクセス指示ファイル24dの実行が終了するとともに、解放される。
また、ハードディスク24には、第1実施形態のメモリカードアクセス指示ファイル24cにかえて、メモリカードアクセス指示ファイル24dが格納されている。このメモリカードアクセス指示ファイル24dは、CPU21によって実行されるファイルで、WWWブラウザ24aを起動して、FTPに従い、メモリカード18のルートディレクトリのインデックスファイルにアクセスするよう指示する指示情報が記載されたファイルである。
このメモリカードアクセス指示ファイル24dは、OSのデスクトップ環境上に表示され、キーボード26又はマウス27によってユーザから選択することが可能となっている。このメモリカードアクセス指示ファイル24dが選択されると、CPU21はその時点における日時分秒Xを計時回路29から取得し、メモリカード18のルートディレクトリのインデックスファイルのパス名に、日時分秒を含む文字列「_tempX」を付加する。そして、その文字列が付加されたパスで示されるファイルを指定ファイルとしてFTPによる転送命令(「get」コマンド)を送信するために、WWWブラウザ24aを起動する。
次に、図11(a)を参照して、PC20のCPU21で実行される第3実施形態のメモリカードアクセス指示ファイル24dの処理フローについて説明する。図11(a)は、このメモリカードアクセス指示ファイル24dのフローチャートである。このメモリカードアクセス指示ファイル24dは、ユーザからキーボード26又はマウス27によって選択されると、CPU21により実行が開始される。
図11(a)に示すように、この処理では、まず、現在の日時分秒Xを計時回路290から取得し、日時分秒変数23aに格納する(S1101)。そして、URL(Uniform Resource Locator)として、「ftp://aaa/_index_tempX.html」を指定してWWWブラウザを起動する(S1102)。すわなち、メモリカード18のルートディレクトリのインデックスファイルのパス名「//aaa/_index.html」に、日時分秒変数23aに格納された日時分秒Xを含む文字列「_tempX」を付加し、その文字列が付加されたパス「//aaa/_index_tempX.html」で示されるファイルを指定ファイルとしてFTPによる転送命令(「get」コマンド)を送信するように、WWWブラウザ24aに対し指示する。
これにより、WWWブラウザ24aは、FTPに従って、メモリカード18のルートディレクトリのインデックスファイル「//aaa/_index_tempX.html」の転送命令をカードリーダ10に対して送信する。ここで、日時分秒Xは、メモリカードアクセス指示ファイル24dが実行される毎に、計時回路29から取得されるので、毎回異なる値となる。よって、WWWブラウザ24aは、毎回異なるファイルの転送命令をカードリーダ10に対して行っていると認識する。従って、WWWブラウザ24aが、ルートディレクトリのインデックスファイルに対して繰り返しアクセスする場合でも、キャッシュ24bのデータを参照させないようにすることができる。
次に、図11(b)を参照して、カードリーダ10のCPU11で実行される、第3実施形態のgetコマンド処理モジュール12dの処理フローについて説明する。なお、上述した第1実施形態のgetコマンド処理モジュール12bと同一の部分には同一の符号を付して、その説明を省略する。
この処理において、まず、「get」コマンドで指定されたファイルの末尾が「_index_tempN.html」(Nは任意の値)と一致するかを確認し(S1110)、一致する場合は(S1110:Yes)、指定ファイルがインデックスファイルと判断して、後述のインデックスファイル生成処理モジュール12eを実行する(S1113)。これにより、インデックスファイルのパス名に、日時分秒を含む文字列「_tempN」が付加されていた場合であっても、それをインデックスファイルとして認識して、インデックスファイルを生成することができる。そして、S1113の処理の後、S414の処理へ移行する。なお、S413〜S416の処理は、上述した第1実施形態のgetコマンド処理モジュール12b(図4(b)参照)と同様の処理を行う。
一方、S1110の処理で、一致しないと確認した場合(S1110:No)は、指定ファイルがメモリカード18に格納されたファイルであると判断してS1111の処理へ移行する。
S1111では、指定ファイルのパスに日時分秒Nを含む文字列「_tempN」(Nは任意の数)が含まれているかを確認する。そして、含まれている場合(S1111:Yes)、指定ファイルのパスからその日時分秒Nを含む文字列「_tempN」を削除したパスを、正しい指定ファイルのパスとして認識し(S1112)、S413の処理へ移行する。これにより、指定ファイルのパスに日時分秒Nを含む文字列「_tempN」が付加されている場合でも、正しい指定ファイルのパスを取得することができる。
また、S1111の処理で確認した結果、指定ファイルのパスに日時分秒Nを含む文字列「_tempN」が含まれていない場合(S1111:No)、S413の処理へ移行する。これにより、「get」コマンドで指定されたファイルを、メモリカード18から取得することが可能である。
次に、図12を参照して、カードリーダ10のCPU11で実行される、第3実施形態のインデックスファイル生成処理モジュール12eの処理フローについて説明する。なお、上述した第1実施形態のgetコマンド処理モジュール12cと同一の部分には同一の符号を付して、その説明を省略する。
S500〜S505、S507、S509、及びS510の処理は、上述した第1実施形態のgetコマンド処理モジュール12c(図5参照)と同様の処理を行う。S505の処理の後、この処理では、計時回路16から、現在の日時分秒Yを取得し、日時分秒変数13dに記憶する(S1201)。そして、指定ディレクトリにある各ファイルのパスにおいて、各々のファイル名に日時分秒Yを含む文字列「_tempY」を挿入したものを新たなパスとする(S1202)。続いて、指定ディレクトリにある各サブディレクトリのパスにおいて、それぞれ最後に「/_index_tempY.html」を付加し、それを新たなパスとする(S1203)。これにより、サブディレクトリのパスは、日時分秒Yを含む文字列「_tempY」が挿入されたサブディレクトリのインデックスファイルのパスに変更される。
S1203の処理の後、S507へ移行する。そして、S507の処理の後、指定ディレクトリにあるファイル及びサブディレクトリの各々の名称に対し、各々のファイル及びサブディレクトリの新たなパスと、サムネイルを生成したものについてはサムネイルのパスとをそれぞれ対応付けて、ファイル・ディレクトリ記憶領域13aに記憶し(S1204)、S509の処理へ移行する。
そして、S509の処理で確認した結果、親ディレクトリに存在する全てのサブディレクトリについて、ファイル及びサブディレクトリの存在の有無を調べたと判断した場合(S509:Yes)、ファイル・ディレクトリ記憶領域13aに記憶された情報を基に、インデックスファイルを生成する(S1205)。すなわち、S1205では、ファイル・ディレクトリ記憶領域13aに記憶されたファイル及びサブディレクトリの各々の名称に、各々の新たなパスで示されるファイルへのリンクを設定し、また、サムネイルを生成したファイルに対し、各々のファイルの名称に対応付けてそれぞれのサムネイルを貼付した、インデックスファイルを生成する。そして、生成されたインデックスファイルをインデックスファイル記憶領域13cに記憶した後、このインデックスファイル生成処理モジュール12cを終了する。
このように、日時分秒Yは、指定ディレクトリに対して、インデックスファイルの生成に必要なデータの準備を行う毎に計時回路16から取得されるので、毎回異なる値となる。よって、インデックスファイルが生成される毎に、各ファイル及びサブディレクトリに設定されたリンク先のパスは異なるものになる。よって、異なるタイミングで生成されたインデックスファイルにより、同一のファイルやサブディレクトリがWWWブラウザ24aから選択されても、リンク先のパスが異なるので、そのファイルやサブディレクトリについて保存されたキャッシュのデータを参照させないようにすることができる。
次に、図13を参照して、第3実施形態のファイル転送システム1の動作について説明する。図13は、第3実施形態におけるファイル転送システム1の動作の順序を示すシーケンスチャートである。なお、上述した第1実施形態と同一の部分には同一の符号を付して、その説明を省略する。
図13に示すように、第3実施形態のファイル転送システム1では、まず、PC20のユーザ70が、デスクトップ環境の表示画面から、メモリカードアクセス指示ファイル24cを選択すると、CPU21は、計時回路29から、現在の日時分秒「A」を取得するとともに、WWWブラウザ24aを起動し、メモリカード18のルートディレクトリのインデックスファイル「_index_tempA.html」の転送命令(「get」コマンド)をFTPによって送信するよう、WWWブラウザ24aに通知する(S1301)。
これを受けて、WWWブラウザ24aは、キャッシュ24bに対しインデックスファイル「_index_tempA.html」の転送命令を送信する(S1302)。しかし、このインデックスファイルのパスには、日時秒数Aを含んでおり、同じパスのファイルはキャッシュ24aに存在しないので、キャッシュ24bからWWWブラウザ24aに対して「_index_tempA.html」の転送不可通知が送信される(S1303)。これにより、WWWブラウザ24aは、「_index_tempA.html」の転送命令(「get」コマンド)をカードリーダ10に対して送信する(S1304)。従って、過去に、ルートディレクトリのインデックスファイルがキャッシュ24bに記憶された場合でも、カードリーダ10に対して、最新のインデックスファイルを生成させることができる。
続いて、カードリーダ10では、インデックスファイル生成処理モジュール12eによって、ルートディレクトリに存在するファイル及びサブディレクトリを検出して、「_index_tempA.html」を生成し(S1305)、これをWWWブラウザ24aに返信する(S1306)。そして、第1実施形態と同様に、WWWブラウザ24aは、受信したルートディレクトリのインデックスファイルをユーザ70に対し表示する(S608)。また、WWWブラウザ24aに表示された「_index_tempA.html」は、キャッシュ24bに書き込まれる(S1307)。しかし、上述の通り、ルートディレクトリのインデックスファイルのパスは、日時分秒によってメモリカードアクセス指示ファイルが選択される度に変化するので、以後、キャッシュ24bに書き込まれた「_index_tempA.html」は読み出されない。
続いて、ユーザ70が、WWWブラウザ24aに表示されたインデックスファイルからファイルの名称「temp.txt」を選択すると(S610)、WWWブラウザ24aは、ファイルの名称「temp.txt」に対して設定されたリンク「temp_tempB.txt」を基に、ファイル「temp_tempB.txt」の転送命令を、キャッシュ24bに対して送信する(S1308)。ここで、「tempB」は、S1305の処理でカードリーダ10がインデックスファイルを生成するときに、計時回路16から取得した日時分秒「B」を含む文字列であり、インデックスファイルを生成する度に変化する。よって、キャッシュ24bには「temp_tempB.txt」が存在しないため、キャッシュ24bからWWWブラウザ24aに対して「temp_tempB.txt」の転送不可通知が送信される(S1309)。これにより、WWWブラウザ24aは、カードリーダ10に対し、「temp_tempB.txt」の転送命令(「get」コマンド)を送信する(S1310)。
続いて、カードリーダ10は、getコマンド処理モジュール12dによって、メモリカード18に記憶された「temp.txt」を取得し、これを「temp_tempB.txt」として、WWWブラウザ24aに転送する(S1311)。そして、WWWブラウザ24aは、第1実施形態と同様、「temp.txt」をユーザ70に対して表示する(S619)。これにより、カードリーダ10から、最新の「temp.txt」を読み出しが完了する。また、WWWブラウザ24aは、受信した「temp.txt」を「temp_tempB.txt」としてキャッシュ24bに書き込む(S619)。
しかし、上述の通り、「temp_tempB.txt」の中の文字列「tempB」は、インデックスファイルが生成される度に変化するので、新たにインデックスファイルを生成したのちは、キャッシュ24bに書き込まれた「temp_tempB.html」は読み出されない。
なお、ユーザ70が、WWWブラウザ24aに表示されたインデックスファイルからサブディレクトリの名称「Photo」を選択した場合の動作は、サブディレクトリの名称「Photo」に対して設定されたリンクがインデックスファイル「Photo/_index_tempB.html」(Bは日時分秒)であるほかは、ファイルの名称「temp.txt」を選択した場合の動作(S610、S1308〜S1311、S619、及びS1312)と同様であるので、その図示と説明を省略する。
以上説明したように、第3実施形態のファイル転送システム1では、カードリーダ10が、インデックスファイルを生成する時の日時分秒Yを計時回路16から取得し、ファイル及びサブディレクトリにあるインデックスファイルの各々のパスに日時分秒を含む文字列「_tempY」(Yは日時分秒)を付加したものを、各々の新しいパスとする。そして、各ファイル及びサブディレクトリの名称に、その新しいパスで示されたファイル若しくはサブディレクトリのインデックスファイルへのリンクを各々設定したインデックスファイルを生成する。
これにより、所定のディレクトリのインデックスファイルが繰り返し生成された場合、インデックスファイルを生成する度に取得される日時分秒Yによって、それぞれのインデックスファイルにおいて同じファイルやサブディレクトリに対し異なるパスが関連付けられる。よって、WWWブラウザ24aには異なるファイル若しくはサブディレクトリとして認識させることができる。従って、異なるタイミングで生成されたインデックスファイルにより、同一のファイルやサブディレクトリがブラウザから選択されても、そのファイルやサブディレクトリについて保存されたキャッシュのデータを参照させないようにすることができる。
一方、WWWブラウザ24aからの転送命令で指定されたファイルのパスに日時分秒を含む文字列「_tempN」(Nは任意の数)が付加されている場合、カードリーダ10は、そのパスから文字列「_tempN」を削除し、その削除したパスを正しいパスとして認識する。これにより、正しいパスによって指定されたファイルがカードリーダ10からPC20に送信されるので、ユーザの所望のファイルを正しくPC20に送信することができる。よって、PC20から最新のファイルへ確実にアクセスさせることができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、各サブディレクトリの名称に対して直接または間接的に設定したリンク先を、サブディレクトリに存在する(実際には存在するものとして取り扱った)インデックスファイルとしたが、サブディレクトリに存在する任意のファイルをリンク先としてもよい。また、サブディレクトリそのものをリンク先としてもよい。この場合、カードリーダ10でサブディレクトリを指定した転送命令(「get」コマンド)を受信したときに、カードリーダ10はサブディレクトリのインデックスファイルを生成して転送してもよいし、サブディレクトリに存在する任意のファイルを転送してもよい。
また、上記実施形態では、カードリーダ10は所定のディレクトリのインデックスファイルの転送命令を受信した場合に、その所定のディレクトリについてインデックスファイルを生成するようにしたが、メモリカード18において、所定のディレクトリに新規ファイル若しくはサブディレクトリが新規作成された場合、又は、その所定のディレクトリからファイル若しくはサブディレクトリが削除された場合に、その所定のディレクトリについてインデックスファイルを生成し、所定の位置に格納してもよい。これにより、インデックスファイルの転送命令を受信したときに、所定のディレクトリに存在するファイル及びサブディレクトリがインデックスファイルに反映されているので、カードリーダ10は、PC20のWWWブラウザ24aに対し、メモリカード18に格納されているファイル及びサブディレクトリの最新の情報を表示させることができる。
また、上記実施形態において、所定のディレクトリに存在する各々のサブディレクトリについて、各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数を取得するサブディレクトリ情報取得手段を設け、サブディレクトリ情報取得手段で取得した各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数を、各々のサブディレクトリの名称に対応付けられた設けられたサブディレクトリ情報領域に表示されるようにインデックスファイルを生成するようにしてもよい。これにより、WWWブラウザ24aに表示されたインデックスファイルから、各々のサブディレクトリ情報領域に表示されたサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数によって、各サブディレクトリに含まれるファイルの内容を推測させることができる。よって、ユーザに対し、サブディレクトリに所望のファイルが存在するか否かの判断を容易に行わせることができる。
また、上記実施形態において、サムネイルを生成したファイルについては、ファイルの名称とサムネイルとを表示するようにインデックスファイルを生成したが、サムネイルだけを表示するようにインデックスファイルを生成してもよい。また、サムネイルを表示せずにファイルの名称のみ表示するようにしてもよい。
また、上記実施形態において生成したインデックスファイルは、所定のディレクトリと、その所定のディレクトリにあるサブディレクトリとに存在するファイル及びサブディレクトリの一覧を表示するものであったが、所定のディレクトリに含まれる全てのサブディレクトリに存在するファイル及びサブディレクトリの一覧を表示するものであってもよい。これにより、1つのインデックスファイルで所定のディレクトリに含まれる全てのファイル及びサブディレクトリを確認することができる。また、所定のディレクトリと所定のディレクトリに含まれる所定階層までのサブディレクトリに存在するファイル及びサブディレクトリの一覧を表示するものであってもよい。この場合、インデックスファイルが所定のディレクトリに含まれる全てのサブディレクトリに存在するファイル及びサブディレクトリの一覧を表示するものである場合と比較して、インデックスファイルの生成にかかる時間を短くすることができる。
また、上記第1実施形態では、ダミーファイルをメモリカード18に格納するようにしたが、これをRAM13や別のメモリ装置に格納するようにしてもよい。
また、上記第3実施形態では、ファイル及びサブディレクトリのインデックスファイルのパスに、インデックスファイルを生成する度に計時回路16から取得した日時分秒を含む文字列を付加したが、これに限らずインデックスファイルを生成する度に変化する情報を付加するようにしてよい。例えば、インデックスファイルを生成する度にカウントアップするカウンタを設け、このカウンタの数含んだ文字列をファイル及びサブディレクトリのインデックスファイルのパスに付加してもよい。
また、上記実施形態1及び3では、カードリーダ10とPC20との間のデータ転送をFTPに従って行う例を示したが、これをHTTPに従って行ってもよい。この場合、FTPサーバプログラム12aはHTTPサーバプログラムに置き換えられる。なお、HTTPサーバプログラムの処理フローは、図4(a)に示したFTPサーバプログラム12aの処理フローと同一のものを用いることができる。
また、上記実施形態では、LANを介してカードリーダ10とPC20とを接続したが、インターネットを介して接続してもよい。
また、上記実施形態では、ファイル格納手段としてメモリカード18を例に説明したが、これに限らず、ハードディスクやCD(Conpact Disc)、DVD(Digital Versatail Disc)など、ファイルを格納できる手段であればよい。また、サーバ装置はカードリーダ10に限らず、ファイル格納手段を有したものであればよい。
本発明の第1実施形態におけるファイル転送システムの電気的構成を示すブロック図である。 (a)はWWWブラウザによってLCDに表示されたインデックスファイルの表示画面図である、(b)はサブディレクトリ「Photo」に対して生成されたダミーファイル「Photo_dummy.html」の内容を示す図であり、(c)ファイル「temp.txt」に対して生成されたダミーファイル「temp_txt_dummy.html」の内容を示す図である。 (a)はPCのOSによりLCDに表示されるデスクトップ環境の表示画面図であり、(b)はメモリカードアクセス指示ファイル24c「dummy.html」の内容を示す図である。 第1実施形態のカードリーダで実行されるgetコマンド処理モジュールのフローチャートである。 第1実施形態のカードリーダで実行されるインデックスファイル生成処理モジュールのフローチャートである。 第1実施形態のファイル転送システムの動作の順序を示すシーケンスチャートである。 (a)は第2実施形態におけるファイル転送システムにおいて、カードリーダからPCにデータ転送される際のHTTPヘッダの内容を示す図であり、(b)は第2実施形態のカードリーダで実行されるgetコマンド処理モジュールのフローチャートである。 第2実施形態のカードリーダで実行されるインデックスファイル生成処理モジュールのフローチャートである。 第2実施形態のファイル転送システムの動作の順序を示すシーケンスチャートである。 本発明の第3実施形態におけるファイル転送システムの電気的構成を示すブロック図である。 (a)はPCで実行されるメモリカードアクセス指示処理ファイルのフローチャートであり、(b)は第3実施形態のカードリーダで実行されるgetコマンド処理モジュールのフローチャートである。 第3実施形態のカードリーダで実行されるインデックスファイル生成処理モジュールのフローチャートである。 第3実施形態のファイル転送システムの動作の順序を示すシーケンスチャートである。
符号の説明
1 ファイル転送システム
10 カードリーダ(サーバ装置)
18 メモリカード(ファイル格納手段)
18a ダミーファイル(ダミーファイル格納手段)
20 PC(クライアント装置)
24a WWWブラウザ
40 LAN(ネットワーク)
S403 受信手段
S412、S711、S1113 インデックスファイル生成手段
S414 ファイル取得手段
S415、S712 送信手段
S506 ダミーファイル生成手段
S1201 付帯情報生成手段
S1202、S1203 付加手段
S507 サムネイル生成手段

Claims (12)

  1. ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた、別のファイルの所在位置を示すパスを用いてその別のファイルの転送命令を送信し、その転送命令に応じて返信されるファイルを受信可能なブラウザを備えたクライアント装置と、ネットワークを介して通信可能なサーバ装置であって、
    複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段と、
    そのファイル格納手段に格納されているファイルの転送命令を前記ブラウザより受信する受信手段と、
    その受信手段で受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得手段と、
    前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成手段と、
    前記受信手段で受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成手段で生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得手段で取得したファイルを前記ブラウザに送信するファイル送信手段とを備えていることを特徴とするサーバ装置。
  2. 前記インデックスファイル生成手段は、前記受信手段により所定のディレクトリのインデックスファイルの転送命令を受信した場合に、その所定のディレクトリについてインデックスファイルを生成することを特徴とする請求項1に記載のサーバ装置。
  3. 前記インデックスファイル生成手段は、前記ファイル格納手段の所定のディレクトリにファイル若しくはサブディレクトリが新規作成された場合、又は、その所定のディレクトリからファイル若しくはサブディレクトリが削除された場合に、その所定のディレクトリについてインデックスファイルを生成することを特徴とする請求項1に記載のサーバ装置。
  4. 前記インデックスファイル生成手段は、前記所定のディレクトリに存在するサブディレクトリの各々の識別情報に対し、そのサブディレクトリに存在するファイル及びサブディレクトリの一覧であり且つそのファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれた各々のハイパーテキスト形式のインデックスファイルのパスが、直接又は間接的に関連付けられて埋め込まれたインデックスファイルを生成することを特徴とする請求項1から3のいずれかに記載のサーバ装置。
  5. 前記所定のディレクトリに存在するファイル及びサブディレクトリの各々について、前記ブラウザから一度アクセスされたファイルを記憶するキャッシュを使わずに対応するファイル若しくはサブディレクトリへ直接アクセスすることを前記ブラウザに指示する指示情報と、その対応するファイル若しくはサブディレクトリのパスとを記述したハイパーテキスト形式のダミーファイルを生成するダミーファイル生成手段と、
    前記ダミーファイル生成手段で生成されたダミーファイルを格納するダミーファイル格納手段とを備え、
    前記インデックスファイル生成手段は、各々のファイル及びサブディレクトリの識別情報に各々対応する前記ダミーファイル格納手段に格納されたダミーファイルのパスが関連付けられて埋め込まれたインデックスファイルを生成し、
    前記ファイル送信手段は、前記受信手段で受信したファイルの転送命令が前記ダミーファイルの転送命令である場合は前記ダミーファイル格納手段に格納されたダミーファイルを前記ブラウザに送信することを特徴とする請求項1から4のいずれかに記載のサーバ装置。
  6. 前記クライアント装置との間のデータ転送プロトコルはハイパーテキスト転送プロトコルであり、
    前記ファイル送信手段は、前記ブラウザから前記インデックスファイルに埋め込まれたパスを用いて指定されたファイルを前記ブラウザに送信する場合に、前記クライアント装置のブラウザに対し、そのブラウザから一度アクセスされたファイルを記憶するキャッシュにその送信するファイルを記憶しないことを指示するヘッダ情報を、そのファイルに先駆けて送信することを特徴とする請求項1から4のいずれかに記載のサーバ装置。
  7. 少なくとも前記インデックスファイル生成手段が前記インデックスファイルを生成する毎に内容が変化する付帯情報を生成する付帯情報生成手段と、
    前記所定のディレクトリに存在する各々のファイル及びサブディレクトリのパスの一部に、その付帯情報生成手段で生成した付帯情報を各々付加する付加手段とを備え、
    前記インデックスファイル生成手段は、前記ファイル及びサブディレクトリの各々の識別情報にその付加手段で付帯情報が付加された各々のパスが関連付けられて埋め込まれたインデックスファイルを生成し、
    前記受信手段は、前記転送命令で指定されたファイルのパスに前記付帯情報が付加されている場合に、その指定されたファイルのパスから前記付帯情報を削除したパスをその指定されたファイルの正しいパスとして認識することを特徴とする請求項1から4のいずれかに記載のサーバ装置。
  8. 前記インデックスファイル生成手段は、前記所定のディレクトリとその所定のディレクトリに含まれる所定階層までのサブディレクトリについて、各々のディレクトリ及びサブディレクトリに存在するファイル及びサブディレクトリを検出し、その検出したファイルとサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたインデックスファイルを生成することを特徴とする請求項1から7のいずれかに記載のサーバ装置。
  9. 前記ファイル格納手段に画像、文書、若しくは図面ファイルが格納されている場合に、それらのファイルの画像若しくはページを縮小したサムネイルを各々生成するサムネイル生成手段を備え、
    前記インデックスファイル生成手段は、ファイルが画像、文書、若しくは図面ファイルである場合に、そのファイルの識別情報として前記サムネイル生成手段によって生成されたサムネイルを用いて前記インデックスファイルを生成することを特徴とする請求項1から8のいずれかに記載のサーバ装置。
  10. 前記所定のディレクトリに存在する各々のサブディレクトリについて、各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数を取得するサブディレクトリ情報取得手段を備え、
    前記インデックスファイル生成手段は、前記サブディレクトリ情報取得手段で取得した各々のサブディレクトリのサイズ若しくはそのサブディレクトリに含まれるファイル及びサブディレクトリの数が、各々のサブディレクトリの識別情報毎に設けられたサブディレクトリ情報領域に表示されるように記述されたインデックスファイルを生成することを特徴とする請求項1から9のいずれかに記載のサーバ装置。
  11. ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた別のファイルの所在位置を示すパスを用いてその別のファイルの転送命令を送信し、その転送命令に応じて返信されるファイルを受信可能なブラウザを備えたクライアント装置とネットワークを介して通信可能であり、複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段を備えたサーバ装置によって実行されるサーバ装置制御プログラムであって、そのサーバ装置によって、
    前記ファイル格納手段に格納されているファイルの転送命令を前記ブラウザより受信する受信ステップと、
    その受信ステップで受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得ステップと、
    前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成ステップと、
    前記受信ステップで受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成ステップで生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得ステップで取得したファイルを前記ブラウザに送信するファイル送信ステップとが実行されることを特徴とするサーバ装置制御プログラム。
  12. クライアント装置と、複数の階層を有するディレクトリ構造に従ってファイルを格納するファイル格納手段を有し、そのファイル格納手段に格納されたファイルをネットワークを介して前記クライアント装置に転送可能なサーバ装置とを備えたファイル転送システムであって、
    前記クライアント装置は、
    ハイパーテキスト形式のファイルを表示し、そのハイパーテキスト形式のファイルに埋め込まれた他のファイルの所在位置を示すパスを用いてそのファイルにアクセス可能なブラウザと、
    そのブラウザでアクセスが指示されたファイルの転送命令を前記サーバに対して行う第1の転送命令手段と、
    前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリの一覧であり且つファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルの転送命令を前記サーバに対して行う第2の転送命令手段とを備え、
    前記サーバ装置は、
    前記第1の転送命令手段及び前記第2の転送命令手段からの転送命令を受信する受信手段と、
    その受信手段で受信した転送命令により指定されたファイルを前記ファイル格納手段から取得するファイル取得手段と、
    前記ファイル格納手段の所定のディレクトリに存在するファイル及びサブディレクトリを検出して、その所定のディレクトリに存在するファイル及びサブディレクトリを識別する各々の識別情報に各々対応するファイル及びサブディレクトリのパスが直接又は間接的に関連付けられて埋め込まれたハイパーテキスト形式のインデックスファイルを生成するインデックスファイル生成手段と、
    前記受信手段で受信したファイルの転送命令が前記インデックスファイルの転送命令である場合は前記インデックスファイル生成手段で生成したインデックスファイルを前記ブラウザに送信し、前記インデックスファイルに埋め込まれたパスによって指定されたファイルの転送命令である場合は前記ファイル取得手段で取得したファイルを前記ブラウザに送信するファイル送信手段とを備えていることを特徴とするファイル転送システム。
JP2007200177A 2007-07-31 2007-07-31 サーバ装置、サーバ装置制御プログラム、及びファイル転送システム Pending JP2009037361A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007200177A JP2009037361A (ja) 2007-07-31 2007-07-31 サーバ装置、サーバ装置制御プログラム、及びファイル転送システム
US12/181,888 US9317620B2 (en) 2007-07-31 2008-07-29 Server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007200177A JP2009037361A (ja) 2007-07-31 2007-07-31 サーバ装置、サーバ装置制御プログラム、及びファイル転送システム

Publications (1)

Publication Number Publication Date
JP2009037361A true JP2009037361A (ja) 2009-02-19

Family

ID=40339099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007200177A Pending JP2009037361A (ja) 2007-07-31 2007-07-31 サーバ装置、サーバ装置制御プログラム、及びファイル転送システム

Country Status (2)

Country Link
US (1) US9317620B2 (ja)
JP (1) JP2009037361A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117949A (ja) * 2011-11-04 2013-06-13 Ricoh Co Ltd 画像表示装置、画像表示システム及び画像表示方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547161B (zh) 2008-03-28 2012-09-26 阿里巴巴集团控股有限公司 文件夹传输系统、文件夹传输装置及文件夹传输方法
US8417679B1 (en) * 2008-05-21 2013-04-09 Translattice, Inc. Fast storage writes
US8346824B1 (en) 2008-05-21 2013-01-01 Translattice, Inc. Data distribution system
US8775373B1 (en) 2008-05-21 2014-07-08 Translattice, Inc. Deleting content in a distributed computing environment
CN102025515A (zh) 2009-09-14 2011-04-20 阿里巴巴集团控股有限公司 基于文件目录的文件传输方法及其装置和系统
US20120151012A1 (en) * 2010-12-09 2012-06-14 Shakeel Mustafa Internet delivery of scheduled multimedia content
US9619108B2 (en) * 2011-01-14 2017-04-11 Adobe Systems Incorporated Computer-implemented systems and methods providing user interface features for editing multi-layer images
US9298351B2 (en) * 2011-08-03 2016-03-29 Olympus Corporation Inspection image display apparatus, inspection image display method and storage medium
KR102181776B1 (ko) * 2012-06-05 2020-11-24 삼성전자주식회사 범용 디바이스에서의 파일 송/수신 장치 및 방법
US11810599B2 (en) * 2020-04-15 2023-11-07 Grass Valley Limited System and method of dynamic random access rendering

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836512A (ja) 1994-07-22 1996-02-06 Fuji Xerox Co Ltd ディレクトリ検索装置
US6424385B1 (en) * 1994-09-08 2002-07-23 Sony Corporation Still image system
US5848410A (en) * 1997-10-08 1998-12-08 Hewlett Packard Company System and method for selective and continuous index generation
DE60027637T2 (de) * 1999-05-06 2006-09-28 Seiko Epson Corp. Netzwerkverwaltungssystem
US6964025B2 (en) * 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
US6697795B2 (en) * 2001-06-04 2004-02-24 Hewlett-Packard Development Company, L.P. Virtual file system for dynamically-generated web pages
JP2003085074A (ja) 2001-09-11 2003-03-20 Hitachi Information Systems Ltd 定期更新型画像閲覧システム及びその画像更新方法並びにその画像更新プログラム
US20030220914A1 (en) * 2002-05-23 2003-11-27 Mindflash Technologies, Inc. Method for managing data in a network
AU2002950134A0 (en) * 2002-07-11 2002-09-12 Youramigo Pty Ltd A link generation system
JP2004145568A (ja) * 2002-10-23 2004-05-20 Kyocera Mita Corp 画像表示プログラム及び画像表示装置
US7634570B2 (en) * 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol
JP2006072604A (ja) * 2004-09-01 2006-03-16 Konica Minolta Business Technologies Inc 画像データ処理装置、及びこの画像データ処理装置に対する画像データ登録装置並びに属性情報登録装置。
JP2006173818A (ja) 2004-12-14 2006-06-29 Ricoh Co Ltd ネットワークファクシミリ装置及びネットワークファクシミリシステム
US7797283B2 (en) * 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
JP4967436B2 (ja) * 2006-04-21 2012-07-04 ソニー株式会社 ファイル管理装置,ファイル管理方法,プログラム
US8488178B2 (en) * 2006-06-21 2013-07-16 Kyocera Document Solutions Inc. Image forming apparatus storage files with file attribution table having deletion date and flag

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117949A (ja) * 2011-11-04 2013-06-13 Ricoh Co Ltd 画像表示装置、画像表示システム及び画像表示方法

Also Published As

Publication number Publication date
US20090037433A1 (en) 2009-02-05
US9317620B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
JP2009037361A (ja) サーバ装置、サーバ装置制御プログラム、及びファイル転送システム
JP5262121B2 (ja) 情報処理装置、シンボル表示方法、シンボル表示プログラム
US20110314035A1 (en) Creation, Transfer and Use of a Portable Data Map Using Metadata
KR20180040099A (ko) 정보 처리 장치, 문서 표시 방법, 문서 표시 시스템, 및 기록 매체
JP4338210B2 (ja) 画像管理装置及び画像管理方法、プログラム
JP2007042092A (ja) 電子ドキュメント処理装置、方法およびプログラム
JP6771891B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5477097B2 (ja) アプリケーション移行システム、移行支援装置、コンピュータ、アプリケーション移行方法、ファイル移行方法、およびコンピュータプログラム
TW201227353A (en) Method, device and computer program product for smartly navigating hierarchical structure strings
US9009158B2 (en) Computer capable of retrieving ambiguous information
JP5569070B2 (ja) 情報処理装置、情報処理システムおよびプログラム
JP6131648B2 (ja) データ管理システム、情報システム、データ管理方法及び情報システムの制御方法、並びに、それら方法のプログラム及びそのプログラムを記録した記録媒体
JP6683042B2 (ja) データ処理装置、システムおよびプログラム
JP6544162B2 (ja) 出力プログラム及び携帯端末
JP2009169466A (ja) クライアント・サーバシステム、プレビューデータ作成装置、プレビューデータ作成プログラム
JP2016110510A (ja) 情報処理装置、情報処理方法
JP2012248076A (ja) 文書管理装置、文書管理プログラム及び文書管理システム
US20220094810A1 (en) Transmission device, communication system, and display device
JP4822966B2 (ja) ホームページ作成支援システム
JP5020011B2 (ja) コンテンツ処理装置
JP4021227B2 (ja) 付箋機能追加プログラム及び付箋貼付方法
CN101599063A (zh) 无线虚拟储存装置及取得远程文件的方法
JP2013045140A (ja) 文書管理装置、文書管理プログラム及び文書管理システム
JP5476014B2 (ja) 情報処理装置およびプログラム
JP2012203619A (ja) データ作成支援システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091201