JP2004310371A - ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体 - Google Patents

ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2004310371A
JP2004310371A JP2003101996A JP2003101996A JP2004310371A JP 2004310371 A JP2004310371 A JP 2004310371A JP 2003101996 A JP2003101996 A JP 2003101996A JP 2003101996 A JP2003101996 A JP 2003101996A JP 2004310371 A JP2004310371 A JP 2004310371A
Authority
JP
Japan
Prior art keywords
file
encoding
file name
encoded
server
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
JP2003101996A
Other languages
English (en)
Inventor
Takeshi Abe
剛 安部
Katsumi Takahashi
克巳 高橋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003101996A priority Critical patent/JP2004310371A/ja
Publication of JP2004310371A publication Critical patent/JP2004310371A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数の文字エンコーディングが混在する環境であってもサーバとクライアント端末の双方において文字化けの発生を防止することができるファイル共有システムを提供する。
【解決手段】クライアント端末20ファイル共有サーバ10間の通信において共有ファイルを特定するために、各クライアント端末20でのエンコーディングがサポートする文字集合及びファイル共有サーバ10でのエンコーディングがサポートする文字集合をサポートする第3のエンコーディングによりファイル名を符号化する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、複数の文字エンコーディングが混在する環境において、ファイル共有サーバがクライアント端末に対してファイル共有サービスを提供する技術に関する。
【0002】
【従来の技術】
クライアント端末とファイル共有サーバの文字エンコーディングが異なるファイル共有システムとしては、従来、SambaとNetatalkというフリーソフトが広く知られている。
【0003】
SambaはWindows(登録商標)系のクライアント端末のためのファイル共有システムで、サーバはUnix(登録商標)系OS上で動作する。Sambaにおいて日本語ファイル名を扱う場合には、Windows系クライアントで用いられるMS932エンコーディング(Shift−JISのWindows拡張)のファイル名を、サーバでは他の異なるエンコーディングに変換している。サーバ側でのエンコーディングとしては、例えばUnix系OSで一般的なEUC_JPエンコーディングなどが挙げられる(非特許文献1,2参照)。
【0004】
一方、NetatalkはMacOS(登録商標)系のクライアント端末のためのファイル共有システムで、サーバはUnix系OS上で動作する。MacOS系クライアントで用いられるエンコーディング(Shift−JISのApple拡張)のファイル名を、サーバでは他の異なるエンコーディングに変換している(非特許文献1,2参照)。
【0005】
【非特許文献1】
高橋 基信,”Samba 2.0.x/2.2.x で日本語を利用する方法”,[online],平成13年11月26日,[平成15年4月1日検索],インターネット<URL:http://www.monyo.com/technical/samba/Japanese−HOWTO.ja.txt>
【非特許文献2】
奥山 健一,”Samba QandA ”,[online],平成13年6月17日,[平成15年4月1日検索],インターネット<URL:http://www.dd.iij4u.or.jp/ ̄okuyamak/Documents/Samba−QandA.j.html>
【0006】
【発明が解決しようとする課題】
しかし、上記各システムでは以下に示すような問題があった。
【0007】
(問題点1)
Sambaでは、MS932エンコーディングがサポートする文字集合にはあるが、サーバ側のエンコーディングがサポートする文字集合にない文字をファイル名に使用すると、サーバ上で文字化けしてしまい、再度クライアント側で同ファイルを受信すると、本来クライアント側で表示可能なファイル名であるにもかかわらず、その表示ができないという問題があった。
【0008】
(問題点2)
Samba及びNetatalkではサーバ上での変換モードによっては特殊な文字列置換を行う機能があり、このモードを使うとクライアント側で表示可能などのようなファイル名でもサーバ上に保存することができ、また再度クライアントに戻す際にも文字化けが生じないという利点がある。しかし、この方式では、アスキー文字以外の全ての文字がサーバ上とクライアント上とで全く異なるものとなるため、ユーザがファイル共有サーバに直接ログインしてファイル名を参照するときに不便であるという問題点があった。例えば、MacOS系端末からNetatalk経由でUnixマシンの自分のホームディレクトリに日本語ファイルを転送後、Unixマシンにログインして同ファイルを編集する場合などが挙げられる。
【0009】
(問題点3)
さらに、SambaもNetatalkもクライアント端末側のエンコーディングは固定であると仮定しているため、これらのファイル共有システムを用いてWindows端末・MacOS端末間でファイル共有する場合には、お互い表示できる文字であるにもかかわらず文字化けを起こすことがある。これは、Windows系OSとMacOSにおける日本語ファイル名の扱いは、共にShift−JISコードをベースにしているが、外字などにはそれぞれ独自のコードが割り当てられており文字によっては互換性がないためである。
【0010】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、複数の文字エンコーディングが混在する環境であってもサーバとクライアント端末の双方において文字化けの発生を防止することができるファイル共有システムを提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本願発明では、ファイル共有サーバとクライアント端末との間のファイル共有サービスに係る通信では、第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別し、ファイル共有サーバ及びクライアント端末では、第3のエンコーディングで符号化されたファイル名と自身で用いるエンコーディングで符号化されたファイル名とを相互に変換するようにした。ここで、第3のエンコーディングは、各クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディングである。
【0012】
これにより、各クライアント端末においてファイル名の符号化に用いるエンコーディングが互いに異なるものであっても、各クライアント端末において共有ファイル名の文字化けを防止できる。すなわち、前述の問題点3を解決できる。
【0013】
また、本願発明では、ファイル共有サーバ又は各クライアント端末においてファイル名を相互変換する際に、第3のエンコーディングで符号化されたファイル名に、自身のエンコーディングで符号化不可能な文字が含まれていた場合に、当該ファイル名に対する別名として自身のエンコーディングで符号化可能なファイル名(別ファイル名)を生成するとともに、第3のエンコーディングで符号化されたファイル名と別ファイル名との対応関係を記憶装置に記憶しておき、この記憶装置に記憶されている対応関係を参照してファイル名の相互変換を行うようにした。
【0014】
これにより、自身で使用不可能なファイル名は別ファイル名に変換されるが、この別ファイル名と第3のエンコーディングで符号化されたファイル名との対応関係を記憶装置に保存してあるので、別ファイル名から第3のエンコーディングで符号化されたファイル名を復元することができる。したがって、前述の問題点1を解決できる。一方、自身で使用可能なファイル名は別ファイル名に変換されることなく、自身のエンコーディングで符号化されたファイル名で保存される。したがって、前述の問題点2を解決できる。
【0015】
【発明の実施の形態】
本発明の一実施の形態に係るファイル共有システムについて図面を参照して説明する。図1はファイル共有システムのシステム構成図である。
【0016】
図1に示すように、このファイル共有システムは、ファイル名を符号化するためのエンコーディングが複数混在している環境で、ファイル共有サーバ10が複数のクライアント端末20に対してネットワーク30を介してファイル共有サービスを提供するものである。図1の例では、ファイル共有サーバ10は、OSとしてLinux(登録商標)を採用し、ファイル名のエンコーディングにはEUC_JPを用いた。また、クライアント端末20aは、OSとしてWindowsを採用し、ファイル名のエンコーディングにはMS932を用いた。さらに、クライアント端末20bは、OSとしてMacOSを採用し、ファイル名のエンコーディングにはMacTECを用いた。
【0017】
本実施の形態では、このような環境下において、ファイル名が「ファイル▲1▼」と「ファイル(1)」((1)は全部で1文字の記号:以下の文章において同じ)の2つのファイルをクライアント端末20a及び20bで共有する場合について説明する。
【0018】
この場合、日本語版のWindows系OSと日本語版のMacOSでは、ファイル名のエンコーディングにShift−JISをベースにしたものを用いているが、外字などには独自のコードを割り当てており文字によっては互換性がない。例えば、「▲1▼」も互換性のない文字の一つであり、Windows系OSとMacOSでは別々のコードを割り当てている。このため、従来のファイル共有システムでは、Windows系OS上の「▲1▼」を含むファイル名のファイルをMacOSと共有すると、MacOS端末上では「▲1▼」の部分が「(日)」((日)は全部で1文字の記号)に文字化けした。本発明の目的の1つは、このような問題点を解決することである(前述の問題点3参照)。
【0019】
また、「(1)」は、EUC_JPの文字集合にはない記号なので、従来のファイル共有システムでは、サーバ上で文字化けしてしまい、再度クライアント側にファイルを戻してもファイル名が元に戻らなかった。本発明の目的の1つは、このような問題点を解決することである(前述の問題点1参照)。
【0020】
さらに、従来のファイル共有システムの1つであるNetatalkでは、アスキー文字以外の文字を全て、特殊な文字列に置換してサーバ上に保存することにより、MacOS上でファイル名として使える文字を全て使うことができる。しかし、サーバに直接ログインしてファイル名を扱う際には、本来、サーバ上でファイル名として使えるファイル名まで置換されてしまっているため使い勝手に問題がある。本発明の目的の1つは、このような問題点を解決することである(前述の問題点2参照)。
【0021】
このような目的を達成するために、本発明では、図1に示すように、各クライアント端末20とファイル共有サーバ10との間の通信経路においては、第3のエンコーディングで符号化したファイル名で共有ファイルを識別する。この第3のエンコーディングとしては、サーバ側エンコーディング(本実施形態ではEUC_JP)がサポートする文字集合と、各クライアント側エンコーディング(本実施形態ではMS932及びMacTEC)がサポートする文字集合を包含する文字集合をサポートするものを用いる。本実施の形態では、ユニコードの1つであるUTF8を用いた。
【0022】
ファイル共有サーバ10は、図2に示すように、共有ファイルを保存しておく記憶装置である共有ディスク11と、クライアント端末20との間でファイルの送受信を行うファイル送受信部12と、クライアント端末20からのアクセス要求を受け付けるとともに該要求に応じてファイル送信やファイル受信などを制御するアクセス要求処理部13と、共有ディスク11に対してファイル送受信部12で送受信するファイルを読み書きするファイルアクセス部14と、第3のエンコーディングで符号化されたファイル名とサーバ側エンコーディングで符号化されたファイル名とを相互に変換するファイル名相互変換部15とを備えている。
【0023】
ファイル送受信部12・アクセス要求処理部13・ファイルアクセス部14は、それぞれ、共有ディスク11に保存されている共有ファイルを特定する際にはサーバ側エンコーディングで符号化されたファイル名を用い、一方、クライアント端末20との間の通信において共有ファイルを特定する際には第3のエンコーディングで符号化されたファイル名を用いる。このため、ファイル送受信部12・アクセス要求処理部13・ファイルアクセス部14は、必要に応じてファイル名相互変換部15を用いて、ファイル名の変換を行う。
【0024】
ファイル共有サーバ10のファイル名相互変換部15は、ファイル送受信部12・アクセス要求処理部13・ファイルアクセス部14からの変換要求に応じて、第3のエンコーディングで符号化されたファイル名とサーバ側エンコーディングで符号化されたファイル名とを相互に変換する。ここで、第3のエンコーディングで符号化されたファイル名に、サーバ側エンコーディングで符号化できない文字が含まれている場合には、該ファイル名に対して別ファイル名を生成し、この別ファイル名を変換ファイル名とする。そして、第3のエンコーディングで符号化されたファイル名と該別ファイル名とを対応づけて所定の記憶装置に記憶する。本実施の形態では、この記憶装置として共有ディスク11を用いた。以下に、ファイル名相互変換部15の動作の詳細について図面を参照して説明する。
【0025】
まず、第3のエンコーディングで符号化されたファイル名を、サーバ側エンコーディングで符号化されたファイル名に変換する方法について図3を参照して説明する。
【0026】
図3に示すように、ファイル名相互変換部15は、まず変換対象となるファイル名に、サーバ側エンコーディングで符号化できない文字が含まれているかどうかを判定し(ステップS1)、含まれていない場合には、変換対象となるファイル名をサーバ側エンコーディングで符号化し、これを変換ファイル名とする(ステップS2)。
【0027】
サーバ側エンコーディングで符号化できない文字が含まれている場合には、変換対象となるファイル名に対して所定の生成規則で別ファイル名を生成し、これを変換ファイル名とする(ステップS3)。そして、この別ファイル名から第3のエンコーディングで符号化されたファイル名に復元できるように、両者の対応関係を記憶装置に記憶しておく(ステップS4)。
【0028】
前記別ファイル名の生成規則としては、例えば第3のエンコーディングで符号化されたファイル名のバイト列をアスキー文字列で表したものが挙げられる。本実施の形態では、第3のエンコーディングとしてUTF8を用い、サーバ側エンコーディングとしてEUC_JPを用いているので、UTF8のファイル名に、「(1)」のようなEUC_JPで表せない文字が含まれている場合は、「u30d5u301au3014u30ebu2474」のように、各文字を’u’と、その文字のUnicode値を16進文字列で表したものを組み合わせた文字列に置換することにより別ファイル名を生成する。
【0029】
また、別ファイル名と第3のエンコーディングで符号化されたファイル名との対応関係を記憶する方法として、本実施の形態では、共有ディスクの所定の位置(所定のディレクトリ)に、別ファイル名を有し且つ内容が第3のエンコーディングで符号化されたファイル名のバイト列を格納する方法を用いた。他の方法としては、データベース管理システム(DBMS)を用いて両者の対応関係を記憶する方法が挙げられる。
【0030】
一方、サーバ側エンコーディングで符号化されたファイル名を、第3のエンコーディングで符号化されたファイル名に変換する方法について図4を参照して説明する。
【0031】
図4に示すように、ファイル名相互変換部15は、変換対象となるファイル名が、別ファイル名として第3のエンコーディングで符号化されたファイル名との対応関係が記憶されているか否かを判定し(ステップS11)、対応関係がない場合には、変換対象となるファイル名を第3のエンコーディングに変換する(ステップS12)。対応関係がある場合には、変換対象となるファイル名に対応する第3のエンコーディングで符号化されたファイル名を取得し、これを変換ファイル名とする(ステップS13)。
【0032】
各クライアント端末20は、図5に示すように、自身で用いる記憶装置であるローカルディスク21と、ファイル共有サーバ10との間でファイルの送受信を行うファイル送受信部22と、ファイル共有サーバ10に対してファイル送信・ファイル受信・ファイルリスト要求などのサービスを要求するサービス要求部23と、ローカルディスク21に対してファイル送受信部22で送受信するファイルを読み書きするファイルアクセス部24と、第3のエンコーディングで符号化されたファイル名とクライアント側エンコーディングで符号化されたファイル名とを相互に変換するファイル名相互変換部25とを備えている。このファイル相互変換部25は、ファイル共有サーバ10のファイル名相互変換部15とは異なり、別ファイル名の生成は行わない。
【0033】
なお、ファイル共有サーバ10及び各クライアント端末20をJava(登録商標)で実装する場合には以下のような方法により各機能を実現できる。ここでは第3のエンコーディングとしてUTF8を用いる場合について説明する。自身で用いるエンコーディングからUTF8にエンコーディング変換するには、java.io.OutputStreamWriterを文字エンコーディング”UTF8”で生成することで実現可能である。
【0034】
また、UTF8から自身で用いるエンコーディングに変換するには、文字エンコーディングに”UTF8”を指定して生成したjava.io.IutputStreamReaderで、UTF8エンコーディングのファイル名を受信することで実現可能である。
【0035】
さらに、ファイルを保存する際には、前記ファイル名でjava.io.Fileを生成することにより、ファイルシステムのデフォルトのエンコーディングにエンコーディングされたファイル名でファイルが保存される。
【0036】
さらに、UTF8のファイル名が、自身で用いるエンコーディングで表せるか否かを判断するには、String::getBytes()メソッドで、自身で用いるエンコーディングでの前記ファイル名のバイト列を得て、再度そのバイト列を引数にStringを生成して元のファイル名と一致するか判定することによって可能である。一致しない場合は、自身で用いるエンコーディングで表せない文字が含まれていると判断できる。
【0037】
次に、本実施の形態に係るファイル共有システムの動作について図6〜図9を参照して説明する。まず、クライアント端末20がファイル共有サーバ10にファイルを送信する場合について図6のシーケンスチャートを参照して説明する。
【0038】
まず、クライアント端末20は、送信するファイルのファイル名を第3のエンコーディングに変換し(ステップS21)、第3のエンコーディングに変換したファイル名を表すバイト列と、ローカルディスク21から読み出した送信ファイルの中身のバイト列をファイル共有サーバ10に送信する(ステップS22)。
【0039】
ファイル共有サーバ10は、クライアント端末20からファイルを受信すると(ステップS22)、第3のエンコーディングで符号化されている受信ファイルのファイル名を、サーバ側エンコーディングに変換する(ステップS23)。そして、このステップS23で変換されたファイル名で、受信ファイルの実体を共有ディスク11に保存する(ステップS24)。なお、前述したように、前記ステップS23での変換過程において、受信ファイルのファイル名にサーバ側エンコーディングで変換できない文字が含まれている場合には、別ファイル名が生成され、受信ファイルはこの別ファイル名で保存される。そして、第3のエンコーディングでエンコーディングされている受信ファイルのファイル名と別ファイル名の対応関係が共有ディスク11に記憶される。
【0040】
以上のステップによりクライアント端末20から受信したファイルを共有ディスク11に保存した際のファイル構成の一例について図7を参照して説明する。本実施形態では、Windows系OSを採用したクライアント端末20aと、MacOSを採用したクライアント端末20bが、Unix系OSを採用したファイル共有サーバ10を用いてファイル共有を行っている。図8は、「ファイル▲1▼」「ファイル(1)」という2つのファイルを共有した場合の共有ディスク11のファイル構成を示している。
【0041】
図8に示すように、「ファイル▲1▼」の実体は「ファイル▲1▼」という名前のファイル41として共有ディスク11に保存される。一方、「ファイル(1)」の実体は「u30d5u301au3014u30ebu2474」という別ファイル名のファイル42として共有ディスク11に保存される。この「u30d5u301au3014u30ebu2474」という文字列は、UTF8でエンコードされた「ファイル(1)」のバイト列をアスキー文字で表したものである。そして、「.name」という名前が付された専用のディレクトリ43内に、前記別ファイル名「u30d5u301au3014u30ebu2474」と同一の名前が付されたファイル44が生成される。このファイル44の実体は、UTF8でエンコードされた「ファイル(1)」のバイト列である。
【0042】
次に、クライアント端末20がファイル共有サーバ10から共有ディスク11に保存されているファイルのファイル名リストを取得する場合について図8のシーケンスチャートを参照して説明する。
【0043】
クライアント端末20がファイル共有サーバ10に対してファイル名リストの取得を要求すると(ステップS31)、ファイル共有サーバ10は、まず共有ディスク11に保存されている共有ファイルの一覧を取得する(ステップS32)。次に、このリストに含まれるファイル名を、第3のエンコーディングに変換し(ステップS33)、変換したファイル名リストをクライアント端末20に対して返す(ステップS34)。なお、前記ステップS32において、共有ファイルのファイル名が、別ファイル名として共有ディスク11の所定の位置(図7の例では、「.name」ディレクトリ)に記憶されている場合には、該別ファイル名に対応し且つ第3のエンコーディングで符号化されたファイル名を、変換したファイル名とする。
【0044】
クライアント端末20は、受信したファイル名リストを自身で用いるクライアント側エンコーディングに変換する(ステップS35)。
【0045】
次に、クライアント端末20がファイル共有サーバ10から共有ディスク11に保存されている共有ファイルを受信する場合について図9のシーケンスチャートを参照して説明する。
【0046】
まず、クライアント端末20は、受信を要求するファイルのファイル名を第3のエンコーディングに変換し(ステップS41)、この変換したファイル名でファイル共有サーバ10にファイルの送信を要求する(ステップS42)。
【0047】
ファイル共有サーバ10は、受信したファイル名をサーバ側エンコーディングに変換して(ステップS43)、この変換したファイル名で共有ディスク11からファイルを取得し(ステップS44)、このファイルをクライアント端末20に返す(ステップS45)。なお、前記ステップS43において、共有ファイルのファイル名が、別ファイル名として共有ディスク11の所定の位置(図7の例では、「.name」ディレクトリ)に記憶されている場合には、該別ファイル名に対応し且つ第3のエンコーディングで符号化されたファイル名を、変換したファイル名とする。
【0048】
クライアント端末20は、受信したファイルの実体をローカルディスク21に保存する(ステップS46)。
【0049】
以上詳述したように、本実施の形態に係るファイル共有システムによれば、クライアント端末20とファイル共有サーバ10との間でのファイル名の送受する際には、各クライアント側エンコーディングでサポートする文字集合及びサーバ側エンコーディングでサポートする文字集合をサポートする第3のエンコーディングを用いてファイル名を符号化するので、各クライアント端末20においてエンコーディングが異なっていても文字化けが生じない。
【0050】
また、ファイル共有サーバ20では、第3のエンコーディングからサーバ側エンコーディングにファイル名を変換できる場合には、コード変換したファイル名をそのまま用いるため、サーバ上で使用可能なファイル名はそのままサーバ上で読むことができる。
【0051】
さらに、第3のエンコーディングで符号化されているファイル名に、サーバ側エンコーディングの文字集合に含まれない文字が含まれていた場合、第3のエンコーディングで符号化されているファイル名を入力として、サーバ側エンコーディングで表現可能な別ファイル名を生成し、これをサーバ上でのファイル名とするとともに、第3のエンコーディングで符号化されている本来のファイル名と前記別ファイル名との対応関係を記憶しているので、同ファイルを再度クライアント端末20に戻す際に、本来のファイル名を復元できる。
【0052】
以上本発明の一実施の形態について詳述したが本発明はこれに限定されるものではない。例えば、上記実施の形態では、ファイル共有サーバ10及びクライアント端末20は、予め設定しておいた第3のエンコーディングを使用していたが、サービス提供時にクライアント端末20がファイル共有サーバ10に対して、使用する第3のエンコーディングを通知し、この第3のエンコーディングを用いてファイル名の変換を行うようにしてもよい。
【0053】
また、上記実施の形態では、クライアント端末20は、自身のクライアント側エンコーディングで符号化されたファイル名と、第3のエンコーディングで符号化されたファイル名とを、相互に変換するのみであったが、ファイル共有サーバ10と同様に、第3のエンコーディングで符号化されたファイル名に、自身のクライアント側エンコーディングで変換不可能な文字が含まれている場合には、別ファイル名を生成するようにしてもよい。この場合、ファイル共有サーバ10と同様に、本来のファイル名と別ファイル名の対応関係を記憶しておき、この対応関係に基づきファイル名の変換を行えばよい。
【0054】
さらに、上記実施の形態では、クライアント端末20がファイル共有サーバ10からファイルを受信する際には、自身のクライアント側エンコーディングで符号化されたファイル名を、第3のエンコーディングで符号化されたファイル名に変換し、このファイル名を用いてファイル共有サーバ10に要求を行っていたが、ファイル共有サーバ10から第3のエンコーディングで符号化されたファイル名のリストを取得している場合には(図8参照)、このリストから選択したファイル名を用いてファイル共有サーバ10に要求を行うようにしてもよい。
【0055】
さらに、上記実施の形態では、ファイル共有サーバ10が、第3のエンコーディングで符号化されたファイル名を、サーバ側エンコーディングで符号化されたファイル名に変換する際に、変換後のファイル名にファイル共有サーバ10のファイルシステムで使用不可能な文字が含まれている場合にも別ファイル名を生成するようにしてもよい。例えば、Unix系OSではファイル名として「/」を用いることができないので、このような場合に別ファイル名を用いるようにすればよい。
【0056】
さらに、上記実施の形態で示した各OSやエンコーディングは本発明の一例に過ぎず、他のOS及びエンコーディングを用いても本発明を実施できることは言うまでもない。さらに、上記実施の形態では、Javaによる実装例について例示したが、他の実装方法によっても本発明を実施できることは言うまでもない。
【0057】
【発明の効果】
以上詳述したように、本発明によれば、各クライアント端末においてファイル名の符号化に用いるエンコーディングが互いに異なるものであっても、各クライアント端末において共有ファイル名の文字化けを防止できる。すなわち、前述の問題点3を解決できる。
【0058】
また、本発明によれば、自身で使用不可能なファイル名は別ファイル名に変換されるが、この別ファイル名と第3のエンコーディングで符号化されたファイル名との対応関係を記憶装置に保存してあるので、別ファイル名から第3のエンコーディングで符号化されたファイル名を復元することができる。したがって、前述の問題点1を解決できる。一方、自身で使用可能なファイル名は別ファイル名に変換されることなく、自身のエンコーディングで符号化されたファイル名で保存される。したがって、前述の問題点2を解決できる。
【図面の簡単な説明】
【図1】ファイル共有システムのシステム構成図
【図2】ファイル共有サーバの構成図
【図3】ファイル共有サーバにおけるファイル名変換を説明するフローチャート
【図4】ファイル共有サーバにおけるファイル名変換を説明するフローチャート
【図5】クライアント端末の構成図
【図6】クライアント端末からファイル共有サーバにファイルを送信する際のシーケンスチャート
【図7】共有ディスクに保存されたファイルの構成を説明する図
【図8】ファイル共有サーバに保存したファイル名のリストをクライアント端末に送信する際のシーケンスチャート
【図9】ファイル共有サーバからクライアント端末にファイルを送信する際のシーケンスチャート
【符号の説明】
10…ファイル共有サーバ、11…共有ディスク、12…ファイル送受信部、13…アクセス要求処理部、14…ファイルアクセス部、15…ファイル名相互変換部、20…クライアント端末、21…ローカルディスク、22…ファイル送受信部、23…サービス要求部、24…ファイルアクセス部、25…ファイル名相互変換部、30…ネットワーク

Claims (14)

  1. 一以上のクライアント端末に対してファイル共有サーバがファイル共有サービスを提供するファイル共有システムにおいて、
    各クライアント端末は、各クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名と、自身で用いるクライアント側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段を備え、
    ファイル共有サーバは、前記第3のエンコーディングで符号化されたファイル名と、サーバ側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段を備え、
    ファイル共有サーバとクライアント端末との間のファイル共有サービスに係る通信では、前記第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別するようにした
    ことを特徴とするファイル共有システム。
  2. クライアント端末のファイル名変換手段又はファイル共有サーバのファイル名変換手段の何れか一方又は双方は、第3のエンコーディングで符号化されたファイル名に、自身のエンコーディングで符号化不可能な文字が含まれていた場合に、当該ファイル名に対する別名として自身のエンコーディングで符号化可能なファイル名(別ファイル名)を生成するとともに、第3のエンコーディングで符号化されたファイル名と別ファイル名との対応関係を記憶装置に記憶する別名生成記憶手段を備え、この記憶装置に記憶されている対応関係を参照してファイル名の相互変換を行う
    ことを特徴とする請求項1記載のファイル共有システム。
  3. 前記別名生成記憶手段は、第3のエンコーディングで符号化されたファイル名に、自身のファイルシステムにおいて使用できない文字が含まれていた場合に、当該ファイル名に対してファイルシステムで使用可能なファイル名(別ファイル名)を生成するとともに、第3のエンコーディングで符号化されたファイル名と別ファイル名との対応関係を記憶装置に記憶する
    ことを特徴とする請求項2記載のファイル共有システム。
  4. 前記記憶装置としてデータベース管理装置を用いた
    ことを特徴とする請求項2又は3何れか1項記載のファイル共有システム。
  5. 前記別名生成記憶手段は、第3のエンコーディングで符号化されたファイル名がバイト列で記述され且つ該ファイル名に対応する別ファイル名を有するファイルを、自身のファイルシステムにおける所定の位置に保存する
    ことを特徴とする請求項2又は3何れか1項記載のファイル共有システム。
  6. クライアント端末は、ファイル共有サーバからファイル共有サービスを受ける際に、第3のエンコーディングとして用いるエンコーディングをファイル共有サーバに通知するエンコーディング通知手段を備えた
    ことを特徴とする請求項1記載のファイル共有システム。
  7. 一以上のクライアント端末に対してファイル共有サーバがファイル共有サービスを提供する方法において、
    ファイル共有サーバとクライアント端末との間のファイル共有サービスに係る通信では、各クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名を用いて共有ファイルを識別するようにし、
    各クライアント端末は、前記第3のエンコーディングにより符号化されたファイル名と、自身で用いるクライアント側エンコーディングで符号化されたファイル名とを相互に変換することにより、共有ファイルに対して自身で用いるクライアント側エンコーディングで符号化されたファイル名を用いてアクセスし、
    ファイル共有サーバは、前記第3のエンコーディングで符号化されたファイル名と、サーバ側エンコーディングで符号化されたファイル名とを相互に変換することにより、共有ファイルに対してサーバ側エンコーディングで符号化されたファイル名を用いてアクセスする
    ことを特徴とするファイル共有方法。
  8. クライアント端末又はファイル共有サーバの何れか一方又は双方は、第3のエンコーディングで符号化されたファイル名に、自身のエンコーディングで符号化不可能な文字が含まれていた場合に、当該ファイル名に対する別名として自身のエンコーディングで符号化可能なファイル名(別ファイル名)を生成するとともに、第3のエンコーディングで符号化されたファイル名と別ファイル名との対応関係を記憶装置に記憶し、この記憶装置に記憶されている対応関係を参照してファイル名の相互変換を行う
    ことを特徴とする請求項7記載のファイル共有方法。
  9. 前記別名生成記憶段階では、第3のエンコーディングで符号化されたファイル名に、自身のファイルシステムにおいて使用できない文字が含まれていた場合に、当該ファイル名に対してファイルシステムで使用可能なファイル名(別ファイル名)を生成するとともに、第3のエンコーディングで符号化されたファイル名と別ファイル名との対応関係を記憶装置に記憶する
    ことを特徴とする請求項8記載のファイル共有方法。
  10. 一以上のクライアント端末に対してファイル共有サービスを提供するファイル共有サーバにおいて、
    各クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名と、サーバ側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段を備え、
    クライアント端末との間のファイル共有サービスに係る通信では、前記第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別するようにした
    ことを特徴とするファイル共有サーバ。
  11. ファイル共有サーバが提供するファイル共有サービスのクライアント端末において、
    クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名と、自身で用いるクライアント側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段を備え、
    ファイル共有サーバとの間のファイル共有サービスに係る通信では、前記第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別するようにした
    ことを特徴とするファイル共有サービスのクライアント端末。
  12. 一以上のクライアント端末に対してファイル共有サービスを提供するファイル共有サーバに、
    各クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名と、サーバ側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段として機能させることにより、ファイル共有サーバとの間のファイル共有サービスに係る通信では、前記第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別するようにした
    ことを特徴とするファイル共有プログラム。
  13. ファイル共有サーバが提供するファイル共有サービスのクライアント端末に、
    クライアント端末においてファイル名の符号化に用いるエンコーディング(クライアント側エンコーディング)のサポートする文字集合とファイル共有サーバにおいてファイル名の符号化に用いるエンコーディング(サーバ側エンコーディング)のサポートする文字集合とを包含する文字集合をサポートするエンコーディング(第3のエンコーディング)により符号化されたファイル名と、自身で用いるクライアント側エンコーディングで符号化されたファイル名とを相互に変換するファイル名変換手段として機能させることにより、ファイル共有サーバとの間のファイル共有サービスに係る通信では、前記第3のエンコーディングにより符号化されたファイル名を用いて共有ファイルを識別するようにした
    ことを特徴とするファイル共有プログラム。
  14. 請求項12又は13何れか1項記載のファイル共有プログラムを記録した記録媒体。
JP2003101996A 2003-04-04 2003-04-04 ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体 Pending JP2004310371A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003101996A JP2004310371A (ja) 2003-04-04 2003-04-04 ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003101996A JP2004310371A (ja) 2003-04-04 2003-04-04 ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2004310371A true JP2004310371A (ja) 2004-11-04

Family

ID=33465618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003101996A Pending JP2004310371A (ja) 2003-04-04 2003-04-04 ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2004310371A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008084738A1 (ja) * 2007-01-09 2008-07-17 Nippon Telegraph And Telephone Corporation 符号化復号化装置、方法、プログラム、記録媒体
JP2009163300A (ja) * 2007-12-28 2009-07-23 Murata Mach Ltd 中継サーバ及び中継通信システム
US8005961B2 (en) 2006-11-24 2011-08-23 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
US8005893B2 (en) 2007-05-02 2011-08-23 Murata Machinery, Ltd. Relay server and relay communication system
US8010598B2 (en) 2006-12-19 2011-08-30 Murata Machinery, Ltd. Relay server and client terminal
US8010647B2 (en) 2006-12-11 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system arranged to share resources between networks
US8010675B2 (en) 2007-12-25 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system
US8069246B2 (en) 2007-12-28 2011-11-29 Murata Machinery, Ltd. Relay server and relay communication system including a relay group information registration unit, a shared resource information registration unit, and a control unit
WO2012049773A1 (ja) * 2010-10-15 2012-04-19 三菱電機株式会社 プログラマブルコントローラ
US8296391B2 (en) 2008-09-05 2012-10-23 Murata Machinery, Ltd. Relay server, relay communication system, and communication apparatus
US8307100B2 (en) 2007-05-09 2012-11-06 Murata Machinery, Ltd. Relay server and relay communication system
US8316134B2 (en) 2006-10-11 2012-11-20 Murata Machinery, Ltd. File server device arranged in a local area network and being communicable with an external server arranged in a wide area network
US8321575B2 (en) 2007-12-27 2012-11-27 Murata Machinery, Ltd. Relay server and relay communication system
WO2012164815A1 (ja) * 2011-06-02 2012-12-06 パナソニック株式会社 情報記録装置、情報記録システム、及び情報通信方法
US8356116B2 (en) 2008-09-01 2013-01-15 Murata Machinery, Ltd. Relay server and relay communication system
US8443088B2 (en) 2006-10-11 2013-05-14 Murata Machinery, Ltd. File transfer server
US8472454B2 (en) 2006-09-12 2013-06-25 Murata Machinery, Ltd. Relay-server arranged to carry out communications between communication terminals on different LANS
US8499083B2 (en) 2006-03-29 2013-07-30 Murata Kikai Kabushiki Kaisha Relay device and communication system
US8606941B2 (en) 2007-05-02 2013-12-10 Murata Machinery, Ltd. Relay server and relay communication system
US8949419B2 (en) 2007-12-25 2015-02-03 Murata Machinery, Ltd. Synchronizing sharing servers

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499083B2 (en) 2006-03-29 2013-07-30 Murata Kikai Kabushiki Kaisha Relay device and communication system
US8472454B2 (en) 2006-09-12 2013-06-25 Murata Machinery, Ltd. Relay-server arranged to carry out communications between communication terminals on different LANS
US8443088B2 (en) 2006-10-11 2013-05-14 Murata Machinery, Ltd. File transfer server
US8316134B2 (en) 2006-10-11 2012-11-20 Murata Machinery, Ltd. File server device arranged in a local area network and being communicable with an external server arranged in a wide area network
US8005961B2 (en) 2006-11-24 2011-08-23 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
US8010647B2 (en) 2006-12-11 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system arranged to share resources between networks
US8010598B2 (en) 2006-12-19 2011-08-30 Murata Machinery, Ltd. Relay server and client terminal
WO2008084738A1 (ja) * 2007-01-09 2008-07-17 Nippon Telegraph And Telephone Corporation 符号化復号化装置、方法、プログラム、記録媒体
US8341197B2 (en) 2007-01-09 2012-12-25 Nippon Telegraph And Telephone Corporation Encoder, decoder, their methods, programs thereof, and recording media having programs recorded thereon
JPWO2008084738A1 (ja) * 2007-01-09 2010-04-30 日本電信電話株式会社 符号化装置、復号化装置、それらの方法、その方法のプログラム及びそのプログラムを記録した記録媒体
US8997043B2 (en) 2007-01-09 2015-03-31 Nippon Telegraph And Telephone Corporation Encoder, decoder, their methods, programs thereof, and recording media having programs recorded thereon
US8606941B2 (en) 2007-05-02 2013-12-10 Murata Machinery, Ltd. Relay server and relay communication system
US8005893B2 (en) 2007-05-02 2011-08-23 Murata Machinery, Ltd. Relay server and relay communication system
US8307100B2 (en) 2007-05-09 2012-11-06 Murata Machinery, Ltd. Relay server and relay communication system
US8010675B2 (en) 2007-12-25 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system
US8949419B2 (en) 2007-12-25 2015-02-03 Murata Machinery, Ltd. Synchronizing sharing servers
US8321575B2 (en) 2007-12-27 2012-11-27 Murata Machinery, Ltd. Relay server and relay communication system
US8069246B2 (en) 2007-12-28 2011-11-29 Murata Machinery, Ltd. Relay server and relay communication system including a relay group information registration unit, a shared resource information registration unit, and a control unit
JP2009163300A (ja) * 2007-12-28 2009-07-23 Murata Mach Ltd 中継サーバ及び中継通信システム
US8356116B2 (en) 2008-09-01 2013-01-15 Murata Machinery, Ltd. Relay server and relay communication system
US8296391B2 (en) 2008-09-05 2012-10-23 Murata Machinery, Ltd. Relay server, relay communication system, and communication apparatus
WO2012049773A1 (ja) * 2010-10-15 2012-04-19 三菱電機株式会社 プログラマブルコントローラ
KR101455949B1 (ko) * 2010-10-15 2014-10-28 미쓰비시덴키 가부시키가이샤 프로그래머블 콘트롤러
CN103154907A (zh) * 2010-10-15 2013-06-12 三菱电机株式会社 可编程控制器
US20130131842A1 (en) * 2010-10-15 2013-05-23 Mitsubishi Electric Corporation Programmable controller
US9983573B2 (en) * 2010-10-15 2018-05-29 Mitsubishi Electric Corporation Programmable controller
WO2012164815A1 (ja) * 2011-06-02 2012-12-06 パナソニック株式会社 情報記録装置、情報記録システム、及び情報通信方法
JP5616465B2 (ja) * 2011-06-02 2014-10-29 パナソニック株式会社 情報記録装置、情報記録システム、及び情報通信方法
US9026715B2 (en) 2011-06-02 2015-05-05 Panasonic Intellectual Property Management Co., Ltd. Information recording device, information recording system, and information communication method

Similar Documents

Publication Publication Date Title
JP2004310371A (ja) ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体
JP3990115B2 (ja) サーバ側プロキシ装置及びプログラム
US7908317B2 (en) System and method for URL compression
AU772598B2 (en) Selecting a cache
US6578054B1 (en) Method and system for supporting off-line mode of operation and synchronization using resource state information
JP4671332B2 (ja) ユーザ識別情報を変換するファイルサーバ
US20050027731A1 (en) Compression dictionaries
US20150237113A1 (en) Method and system for file transmission
CN102420843B (zh) 一种基于云压缩链接的压缩和解压缩方法、装置及系统
US20050131900A1 (en) Methods, apparatus and computer programs for enhanced access to resources within a network
US20020138653A1 (en) Workstation system, computer, data transfer method, data editing method, computer program generation method, computer program and storage medium
US7584196B2 (en) Systems and methods for remote storage of electronic data
JP3848209B2 (ja) データ転送装置、データ転送方法及びプログラム
EP1754145B1 (en) Method and apparatus for supporting multiple versions of a web services protocol
EP1754144B1 (en) Method and apparatus for supporting multiple versions of web services standards
US11706189B2 (en) Domain management and synchronization system
US7313598B1 (en) Method and apparatus for partial replication of directory information in a distributed environment
US20070124445A1 (en) Browser adaptation for context based navigation
US20030033429A1 (en) Information acquiring system, information processing device, information processing method, program, and medium
JP3943868B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JP3943867B2 (ja) サーバ側プロキシ、データ転送方法及びプログラム
JP2002268935A (ja) データ転送装置、データ転送方法及びプログラム
US8005849B2 (en) Database access server with reformatting
JP4157585B2 (ja) サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP2003108462A (ja) データ転送装置およびデータ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106