JP4035872B2 - ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム - Google Patents

ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム Download PDF

Info

Publication number
JP4035872B2
JP4035872B2 JP29376597A JP29376597A JP4035872B2 JP 4035872 B2 JP4035872 B2 JP 4035872B2 JP 29376597 A JP29376597 A JP 29376597A JP 29376597 A JP29376597 A JP 29376597A JP 4035872 B2 JP4035872 B2 JP 4035872B2
Authority
JP
Japan
Prior art keywords
file
conversion
format
api
destination
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.)
Expired - Fee Related
Application number
JP29376597A
Other languages
English (en)
Other versions
JPH11134227A (ja
Inventor
茂和 猪原
豊彦 鍵政
文雄 野田
義政 増岡
京華 閔
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29376597A priority Critical patent/JP4035872B2/ja
Priority to TW087116826A priority patent/TW455790B/zh
Priority to CA002250952A priority patent/CA2250952A1/en
Priority to EP98120013A priority patent/EP0911745B1/en
Priority to DE69829253T priority patent/DE69829253T2/de
Priority to EP03027862A priority patent/EP1411445A3/en
Priority to KR1019980044479A priority patent/KR19990037321A/ko
Priority to SG9804293A priority patent/SG95589A1/en
Priority to US09/179,092 priority patent/US6377952B1/en
Publication of JPH11134227A publication Critical patent/JPH11134227A/ja
Priority to US09/756,231 priority patent/US6385606B2/en
Priority to US10/093,737 priority patent/US6567828B2/en
Application granted granted Critical
Publication of JP4035872B2 publication Critical patent/JP4035872B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、計算機システムに関し、特に、ユーザに対して複数のファイルフォーマットで情報を提供するファイルシステムのフォーマット変換方法に関し、さらに具体的には、World―Wide Web(以下、WWWという)によって複数の計算機が複数のファイルフォーマットで情報交換を行う際に好適なファイルフォーマット変換方法とこれを用いたファイルシステム及び種々の情報処理システムに関する。
【0002】
【従来の技術】
従来の技術を説明する前に、まず、いくつかの用語を説明する。
【0003】
計算機システムにおいては、計算機の電源がオフになっても保持されるべきデータを格納するために「二次記憶装置」が用いられる。現在用いられている二次記憶装置の例としては、ハードディスク、フロッピーディスク、光磁気ディスクなどがある。
【0004】
「ファイルシステム」は、二次記憶装置とユーザの応用プログラム(「アプリケーション」)の間のデータの交換を司るソフトウェアである。ファイルシステムが二次記憶装置のデータを操作する単位は「ファイル」と呼ばれる。一般に複数のファイルがひとつの二次記憶装置に保持され、それぞれのファイルは「ファイル名」で区別される。ファイル名には文字列がよく使用される。ファイルシステムは多くの場合オペレーティング・システム(OS)の一部としてユーザに提供されるが、ライブラリとOSの組み合わせ、あるいはライブラリのみで提供される場合もある。すなわち、例えばOSが提供するファイルシステムと、当該ファイルシステムに拡張機能を付加するライブラリとを組み合わせたソフトウェアも、二次記憶装置とアプリケーションの間のデータの交換を司るソフトウェアであればファイルシステムと呼ぶ。
【0005】
応用プログラム(アプリケーション)が行なうことのできるファイルへの操作は、アプリケーションとファイルシステムとのアプリケーション・プログラミング・インターフェース(API)によって定義されている。特に、ファイルの入出力に関するAPIを「ファイル入出力API」と呼ぶ。ファイル入出力APIには、オープン(ファイル読み書きの準備)、読み出し(ファイルからアプリケーションへのデータの移動)、書き込み(アプリケーションからファイルへのデータの移動)、クローズ(ファイル読み書きの終了)が含まれる。また、ファイルとディレクトリの操作に関するAPIを「ファイル管理API」と呼ぶ。ファイル管理APIには、ファイル作成、ファイル名変更、ファイル削除が含まれる。ファイル入出力APIとファイル管理APIで可能となるファイルへの操作を総称して「ファイル操作」と呼ぶ。
【0006】
ファイル内のデータが持つ構造を「ファイルフォーマット」(または単に「フォーマット」)と呼ぶ。フォーマットの例としては、「改行文字で区切られた文字列の並び」、「タブ文字で区切られた項目群の並び」、「ワープロソフトAのファイル形式」、「動画のコマ(ある瞬間に表示される画像)の並び」などがある。ファイル名の最後の数文字を用いて、ファイルフォーマットを表現することがある。このファイル名の最後の数文字を「拡張子」と呼ぶ。
【0007】
以下、従来の技術について述べる。
【0008】
現在多くのアプリケーション(例えばワード・プロセッサ、表計算、スケジュール管理、電子メール、プログラミング・ツールなど)が用いるファイルは、それぞれ固有のフォーマットを持っている。特に、近年広く使われるようになったパーソナル・コンピュータでは、多くのファイルフォーマットが使われており、その数は200近くにものぼる。また、インターネットの発展に伴って出現したWorld―Wide Web(WWW)では、単なる文字だけでなく、静止画像、動画像、音声、コンピュータ・グラフィクスなど、多種多様なフォーマットが使用されている。
【0009】
一般にすべてのアプリケーションがすべてのファイルフォーマットをアクセス可能ではない。このため、ユーザがある情報をあるファイルフォーマットでファイルに格納したとしても、別のアプリケーションからその情報にアクセスするために、そのファイルを「フォーマット変換」を行う必要が生じることが多い。フォーマット変換の入力となるファイルを「変換元ファイル」、出力となるファイルを「変換先ファイル」と呼ぶ。
【0010】
フォーマット変換には、多種多様なフォーマットに関する多数の「変換プログラム」から、(1)ユーザの所望する変換を行う変換プログラム(または複数の変換プログラムの組合わせ)を選ぶ作業と、(2)選んだ変換プログラムに対して、変換元ファイルと変換先ファイルとを正しく与え、適切な時点で変換プログラムを実行する作業が必要となる。これらの作業は、アプリケーション上で行われるユーザの本来の作業とは関係ない。このため、フォーマット変換に関するユーザの負担をできる限り小さくすることが望まれる。特に上述のようにインターネットとWWWの利用が激増していることから、多種多様なフォーマットをできる限り簡単に扱える必要性が高まっている。
【0011】
これまでに主に上記(1)の作業を簡単化するために、以下の方法が提案されている。
【0012】
特開平6―187219号「プログラム間の自動データ共有方法」(以下公知例1と記す)では、利用するアプリケーションとファイルの名前をユーザが指示し、アプリケーション・データ対応表を検索して適切な変換プログラムを選択し、当該アプリケーションで当該ファイルを利用するために必要なフォーマット変換を行う。
【0013】
これにより、ユーザは上記(1)の作業、すなわち当該ファイルをアクセスするために使用すべき変換プログラムを選ぶ作業から解放される。一方(2)の作業、すなわちフォーマット変換をいつどのファイルに対して行うかを指定する作業は、依然としてユーザに課せられたままである。なぜなら、公知例1のユーザは、アプリケーション上で行われるユーザの本来の作業には必要ない、変換したいファイルをアプリケーション名とともに公知例1のシステムに与えるという作業を要求されるためである。
【0014】
また、WWWを含む現在の計算機システムでは、1つのアプリケーションが複数のファイルフォーマットを取り扱い、また1つのファイルフォーマットを取り扱うアプリケーションが複数存在する。このような状況ではアプリケーションとファイルの名前を指定しても変換方法が一意に定まらない。例えば、.tex、.ps、.pdfの3つの拡張子によって区別される3つのファイルフォーマットがあり、プログラムAが.psと.pdfを取り扱える場合を考える。ユーザがプログラムAとファイルfoo.texを指定しても、foo.texをfoo.psに変換すべきか、foo.pdfに変換すべきかは一意に決まらない。
【0015】
特開平9―69059号「ファイル形態変換システム」(以下公知例2と記す)では、変換元ファイル名と変換先ファイル名(または変換元ファイルを使用するアプリケーション名と変換先ファイルを使用するアプリケーション名)をユーザが指定すると、変換プログラムを選びまたは組み合わせて、変換元ファイルから変換先ファイルを得るフォーマット変換を行う。これにより、ユーザは上記(1)の作業、すなわち当該ファイルをアクセスするために使用すべき変換プログラムを選びまたは組み合わせる作業から解放される。一方(2)の作業、すなわちフォーマット変換をいつどのファイルに対して行うかの指定は、ユーザが行う必要があり、この負担はユーザに課せられたままである。
【0016】
また複雑なファイル処理過程を一括して自動化する方法としては、University of California、Computer Systems Research Group著の文献「4.4BSD User’s Reference Manual」のMAKE(1)章(O’Reilly&Associates、Inc、1994)に記載のソフトウェア(以下公知例3と記す)が知られている。公知例3はソース・プログラムからバイナリ・プログラムへの、一段階または多段階にわたるコンパイル作業を簡単化する方法である。公知例3も(1)の課題を解決するが、(2)の課題は解決しない。
【0017】
【発明が解決しようとする課題】
上述のように、多くの提案にもかかわらず従来のフォーマット変換方法では、上記(2)の作業がユーザに与える負担に対する配慮がされていなかった。(2)の作業はさらに以下の2つの作業に分けることができる。
【0018】
(2―a)どのファイルを変換元ファイルとし、どのファイルを変換先ファイルにするかを指定する作業。この指定を間違えると、変換先ファイルの内容がユーザ所望のものにならなかったり、他のファイルの内容を破壊する危険性がある。特にフォーマット変換以前には変換先ファイルが存在しない場合がある点に注意が必要である。
【0019】
(2―b)フォーマット変換をいつ行うかを指定する作業。この指定を間違えると、アプリケーションが古い情報にアクセスする危険性がある。
【0020】
加えて、従来のフォーマット変換方法では、以下の課題があった。
【0021】
(i)変換元ファイルと変換先ファイルの間の一貫性をとる方法が用意されていなかったため、変換元ファイルと変換先ファイルにほぼ同時に書き込みがおこって、続くフォーマット変換によってどちらかの書き込みが失われる、などの危険性がある。
【0022】
(ii)多数の変換先ファイルを保持するために、二次記憶領域が余分に必要となる。
【0023】
(iii)変換元ファイルが何らかの理由(例えば変換元ファイルをあるアプリケーションが編集中だったり、変換元ファイルを保持する二次記憶装置の電源がオフになっている等)で利用不能な間は、フォーマット変換を行うことができない。
【0024】
従って本発明の目的は、複数のファイルフォーマットが複数のアプリケーションから利用可能な現状を考慮した上で、上記の(1)とともに、(2―a)、(2―b)の作業にともなう課題に加えて上記(i)、(ii)、(iii)の課題を解決し、複数のファイルフォーマットを利用する際のユーザの手間をできる限り減らすことである。
【0025】
【課題を解決するための手段】
(2―a)の作業に伴う課題は、変換元ファイルと変換先ファイルがそれぞれ多数あり、かつこれらの間の関係があらかじめ与えられていないことに起因している。このために、どのファイルをどのファイルへフォーマット変換するかをユーザがその都度指示する必要があったが、本発明では、変換元ファイルと変換先ファイルと変換プログラムとの間の対応関係(1段階でも、多段階でも良い)をファイルシステム中に保持する。この手段によって、フォーマット変換方法が変換先ファイルのみから変換元ファイルと変換プログラムとを得ることを可能とした。同時に、変換元ファイルのみから1つ以上の変換先ファイルと、対応する1つ以上の変換プログラムを得ることも可能とした。
【0026】
また、変換先ファイルが変換以前には存在しない場合に対応するために、変換元ファイルのファイル名から変換先ファイルのファイル名を得るファイル名変換方法をファイルシステム中に保持する。通常なら変換先ファイルはフォーマット変換の結果としてできるが、本発明では変換先ファイルを指定することによりフォーマット変換を開始することができるようにしてユーザの手間を減らす。すなわちフォーマット変換と変換先ファイルがいわゆる「鶏と卵」の状態になる。この問題を、ファイル名変換方法を備えることにより解決し、フォーマット変換を行う以前に変換先ファイルをユーザに提供することを可能にした。
【0027】
(2―b)は、アプリケーションとフォーマット変換方法の連携をとる手段がないこと、すなわちアプリケーションがどのファイルをいつ、どのように操作するかをフォーマット変換方法が知る術がなかったことに起因する。このため従来は、フォーマット変換の起動作業を、アプリケーションによる作業とは別にユーザが行わざるを得なかった。これに対し本発明では、ユーザによるファイル入出力APIの発行を契機として、ファイルシステムから変換プログラムを起動して実行する。
【0028】
以上の2点を備えることにより、本発明のフォーマット変換方法は、アプリケーションがどのファイルを操作の対象とし、アクセスが書き込みか読み出しかを知ることができる。すなわち、ユーザはアプリケーション上で行うユーザの本来の作業を行えばよくなり、その過程で必要となる様々なフォーマット変換(1段階でも、多段階でも良い)はユーザの関与なしで行われる。特にファイル操作を契機として変換プログラムを実行するため、フォーマット変換のタイミングを指定する必要がなく、ユーザは常に最新の変換先ファイルが利用可能となる。
【0029】
加えて本発明では、上記(i)、(ii)、(iii)の開題を解決するため、それぞれ以下(I)、(II)、(III)の手段を設ける。
【0030】
(I)変換元ファイルに対するファイル入出力APIの実行と、変換先ファイルに対するファイル入出力APIの実行との排他制御を行う。すなわち、いずれか一方が実行されている間は他方を実行しないよう制御する。これにより、変換元ファイルと変換先ファイルの一貫性を保持できる。
【0031】
(II)多数の変換先ファイルを保持することによる二次記憶領域の無駄を解決するために、変換先ファイルを必要に応じて消去する。
【0032】
(III)変換元ファイルが利用不能な間もフォーマット変換を行うことを可能にするために、中間ファイルを導入し、変換元ファイルから中間ファイルへ、中間ファイルから変換先ファイルへの2段階の変換を行う。
【0033】
ファイルシステムはファイルに対するあらゆる操作要求を受け取るので、ファイル入出力APIを契機とした変換や、排他制御、二次記憶領域の無駄の管理、中間ファイルの管理が実現できる。さらにファイルシステムは、多くのアプリケーションによって共有されているので、上記解決手段をファイルシステムが備えることによって多くのアプリケーションがこの発明の利益を享受することができる。
【0034】
【発明の実施の形態】
以下、本発明の実施の一形態を、図面を参照しながら説明する。なお簡単のため、本明細書中では以下に述べる発明の実施の形態を「第1の実施例」と呼ぶことにする。
【0035】
全体構成
図1と図2を用いて第1の実施例の構成を説明する。なお、図1において、矢印付きの太い線(154―160、162―166)は主要なデータの流れを、また矢印付きの細い線(150―153、161、167)は主要な制御の流れを表わす。
【0036】
計算機10は、いわゆるパーソナル・コンピュータ、ワークステーション、並列計算機、大型計算機等、任意のコンピュータでよい。二次記憶装置11はファイルを保存する記憶装置である。二次記憶装置11には不揮発性記憶装置(磁気ハードディスク、光ディスク等)がよく用いられるが、特別な場合には揮発性記憶装置(メインメモリ、キャッシュメモリ等)が用いられる場合もある。計算機10と二次記憶装置11の間の結合には様々な形態が考えられるが、計算機10にファイルを供給できればよく、特定の結合形態を必要としない。例えば、計算機10が占有する通信線による結合、複数の計算機によって共有されるネットワークを介した結合、他の計算機経由の結合等が代表的な例として考えられる。また、計算機10に対して二次記憶装置11を1つ以上用いても差し支えない。
【0037】
ファイルシステム100は計算機10上で動作するソフトウェアである。ファイルシステム100はデータをファイルと呼ぶ単位で管理、保存する。1つ以上のファイルが二次記憶装置11に保持され、それぞれのファイルはファイル名で区別される。
【0038】
アプリケーション101、102はユーザの実行する応用プログラムである。多くのアプリケーションはファイルを操作するためにファイルシステム100とのやり取りを行う。アプリケーション101、102がファイルシステム100に対して要求するファイル操作は、ファイル入出力APIとファイル管理APIを含む。
【0039】
変換元ファイル130は、フォーマット変換の入力となるファイルである。変換先ファイル群131、131’、…は、フォーマット変換の出力となるファイルである。なお、第1の実施例では説明を明瞭にするために変換元ファイル130と変換先ファイル群131、131’、…を別々のファイルにしてあるが、1つのファイルが変換元ファイル130かつ変換先ファイル131であっても差し支えない。また図1に示した変換元ファイルと変換先ファイルは、それぞれ複数存在して差し支えない。
【0040】
変換プログラム群103、103’、…はファイルシステム100が実行するフォーマット変換のためのプログラム群である。本実施例では、変換プログラム群103、103’、…はファイルシステム100の外に置かれてフォーマット変換を実行しているが、ファイルシステム100に内蔵して、ファイルシステム100内でフォーマット変換を実行しても差し支えない。
【0041】
変換表120は、変換元ファイルと変換先ファイルの組を、変換プログラムに対応づける表である。図2に示すように、変換表120は1つ以上の変換表エントリ200からなり、1つの変換表エントリ200が1通りのフォーマット変換に対応する。変換表エントリ200はさらに、変換元フォーマット201、変換先フォーマット202、変換プログラム203を含む。変換元フォーマット201は変換元ファイルのフォーマット、変換先フォーマット202は変換先ファイルのフォーマットである。変換プログラム203は変換元フォーマット201のフォーマットを持つ変換元ファイルから、変換先フォーマット202のフォーマットを持つ変換先ファイルへの変換を行うプログラムで、その名前(および必要ならば起動時引数)を持つ。
【0042】
名前空間表121は、ファイルシステム100が管理するファイル群のファイル名と、ファイルシステム内部で利用されるファイルIDを対応づける。図2に示すように、名前空間表121は1つ以上の名前空間表エントリ210からなり、1つの名前空間表エントリ210が1つのファイルに対応する。名前空間表エントリ210はさらに、ファイル名211とファイルID212を含む。ファイル名211は名前空間表エントリ210のファイルのファイル名、ファイルID212は当該ファイルのファイルIDである。ファイルIDは、ファイルシステム100内部で使用されるファイルの番号で、ファイルIDとファイルは一対一に対応する。
【0043】
ファイル表122は、ファイルシステム100が管理するファイルの諸属性を保持する。特に、ファイルのフォーマットと、(もし当該ファイルが変換先ファイルであれば)変換元ファイルをこの表に保持する。図2に示すように、ファイル表122は1つ以上のファイル表エントリ220からなり、1つのファイル表エントリ220が1つのファイルに対応する。ファイル表エントリ220はさらに、ファイルID221、フォーマット222、変換元ファイルID224、トークンID225、ファイル内容226を含む。ファイルID221は当該ファイルのファイルID、フォーマット222は当該ファイルのファイルフォーマット、タイムスタンプ223は当該ファイルに最後に書き込みがあった時刻、変換元ファイルID224は(もし当該ファイルが変換先ファイルであれば)変換元ファイルのファイルID、トークンID225は当該ファイルに対して割り当てられトークン表123で管理されるトークンIDである。ファイル内容226は当該ファイル本体(すなわちファイルのデータを格納する部分である。図1の変換元ファイル130や変換先ファイル群131、131’、…)および当該ファイルの属性である。
【0044】
なお、変換元フォーマット201、変換先フォーマット202、フォーマット222に格納すべきフォーマットの表現方法にはいくつか考えられるが、本発明はこの方法には依存しない。例えば、拡張子がファイルのフォーマットを表わしている計算機システムでは、拡張子を格納することができる。また、ファイル内容226の一部または全部によってフォーマットが決定される場合もあるが、この場合にはフォーマット毎に異なるフォーマット名を決めておき、フォーマット名を格納することができる。本実施例では、変換元フォーマット201、変換先フォーマット202、フォーマット222に拡張子を格納するものとする。
【0045】
トークン表123は、トークンを管理する表である。1つのトークンは、ある変換元ファイルと、当該変換元ファイルから変換可能な変換先ファイル群からなる一群のファイルに対して割り当てられる。図2に示すように、トークン表123は1つ以上のトークン表エントリ230からなり、1つのトークン表エントリ230が1つのトークンに対応する。トークン表エントリ230はさらにトークンID231とファイルID232からなる。トークンID231はトークンを一意に識別する番号、ファイルID232は、現在トークンを保持しているファイルのファイルIDである。モード233は、当該ファイルの現在のオープン・モードを表わす。
【0046】
削除候補表124は、変換先ファイルを列挙した表である。二次記憶装置の空き領域を確保するなどの目的で、変換先ファイルを削除する際に用いる。図2に示すように、削除候補表124は1つ以上の削除候補表エントリ240からなり、1つの削除候補表エントリ240が1つの削除可能なファイルに対応する。削除候補表エントリ240は削除可能なファイルのIDであるファイルID241を持つ。
【0047】
図1のフォーマット変換制御部110は、アプリケーション101、102から発行されるファイル入出力APIおよびファイル管理APIの呼び出し(APIコール)を受け取り、フォーマット変換を制御する部分である(制御の詳細は後述する)。
【0048】
設定プログラム104は、ファイルシステム100によるフォーマット変換の動作をユーザが設定、変更するためのフォーマット変換設定APIを、フォーマット変換設定部111に対して発行するプログラムである。フォーマット変換設定部111は、ユーザからのフォーマット変換設定APIを受けて(161)、変換表120とファイル表122を変更する。フォーマット変換設定APIは、変換表120の各エントリ200、およびファイル表122の各エントリ210を参照し、変更する(162)。
【0049】
なお、変換表120、ファイル表122、名前空間表121、トークン表123および削除候補表124はいずれも、主記憶上か二次記憶上のいずれか片方または両方にあって差し支えない。また、変換表120、ファイル表122、名前空間表121、トークン表123および削除候補表124はいずれも、ファイルシステム100の外に保存されても差し支えない。例えば、ファイルシステム100と別のプログラムがあって、変換表120、ファイル表122、名前空間表121、トークン表123および削除候補表124の一部または全部に対する参照と更新を提供していて、ファイルシステム100が当該プログラム経由で各表にアクセスしても差し支えない。
【0050】
動作の説明
以下、第1の実施例の動作を説明する。本発明が特徴を発揮する以下の3つの場面を想定し、順に説明する。(1)第1のアプリケーション101が変換元ファイル130を作成する。(2)第1のアプリケーション101が変換元ファイル130に対して読み書きを行う。(3)二次記憶装置11の空き領域が不足した際に、変換先ファイル131を消去する。なお、ここでは説明を簡単にするため、第1のアプリケーション101と第2のアプリケーション102をとしているが、この数および種類は一例にすぎない。アプリケーションの数および種類はは1つでも、3つ以上でも差し支えない。
【0051】
(1)アプリケーションによるファイルの作成
第1のアプリケーション101または第2のアプリケーション102は、ファイルシステム100のファイル作成APIを生成対象の第1のファイルの第1のファイル名とともに起動することにより、ファイル作成をファイルシステム100に依頼する(150、152)。この際、ファイルシステム100は図3に示す処理を行う。
【0052】
まず、第1のファイル名を名前空間表121に登録する(155、ステップ301)。具体的には、新たな名前空間表エントリ210を名前空間表121に割り当て、ファイルID212に他のファイルにまだ割り当てられていない第1のファイルIDを格納し、ファイル名211に第1のファイル名を格納する。
【0053】
次に、第1のファイルをファイル表122に登録する(156、ステップ302)。具体的には、新たなファイル表エントリ220をファイル表122に割り当て、ファイルID221に第1のファイルIDを、ファイル名の拡張子から決定したフォーマット222に第1のファイルの第1のフォーマットを、タイムスタンプ223に現在時刻を、変換元ファイルID224に「空」を、トークンID225にまだどのトークンにも割り当てられていない第1のトークンIDを、ファイル内容226のファイル本体(すなわち変換元ファイル130)に「空」をそれぞれ格納する(159)。なお、ファイル内容226が決定しなければファイルのフォーマットがわからない計算機システムの場合には、例えばフォーマット222に「空」をいれておき、後で第1のファイルに対する書き込み等によってファイル内容226が得られてから、フォーマット222を格納する。
【0054】
次に、第1のファイルに対応するトークンをトークン表123に登録する(157、ステップ303)。具体的には、新たなトークン表エントリ230をトークン表123に割り当て、トークンID231に第1のトークンIDを、ファイルID232に「空」を格納する。
【0055】
次に、1つ以上の第1の変換先ファイル名を第1のファイル名と変換表120から生成する(154、ステップ304)。具体的には、変換表120に格納されている変換表エントリ200のうち、変換元フォーマット201が第1のフォーマットに等しい1つ以上の第1の変換表エントリを検索する。そして、第1の変換表エントリのそれぞれについて、第1のファイル名から拡張子を取り去って、代りの拡張子として変換先フォーマット202をつけたものを変換先ファイル名とする。これが本実施例におけるファイル名変換方法である。
【0056】
次に、生成した上記変換先ファイル名のそれぞれについて(ステップ305の判定がNの間)、ステップ306とステップ307の処理を行う。具体的には、ステップ301と同様の方法で上記変換先ファイル名を名前空間表121に登録し(155、ステップ306)、変換先ファイルをファイル表122に登録する(156、ステップ307)。変換先ファイルのファイル表122への登録では、新たなファイル表エントリ220をファイル表122に割り当て、ファイルID221に第1のファイルIDを、ファイル名の拡張子から決定したフォーマット222に第1のファイルの第1のフォーマットを、タイムスタンプ223に「空」を、変換元ファイルID224に第1のファイルIDを、トークンID225に第1のトークンIDを、ファイル内容226のファイル本体(すなわち変換先ファイル群131、131’、…のいずれか)に「空」を格納する(160)。また、変換先ファイルがさらに変換元ファイルとなりうる場合、すなわち多段階の変換が可能な場合、変換先ファイルのファイル名をさらにファイル名変換方法で変換し、得られたファイル名およびファイルを本段落の手順で名前空間表121とファイル表122にそれぞれ登録する。
【0057】
ステップ304で生成したすべての変換先ファイル名を処理したら(ステップ305の判定がY)、残りのファイル生成操作を行う(ステップ308)。この操作の中で、例えば二次記憶装置11へのディスクブロックの割り当て、ファイルの所有者、アクセス権、生成時刻等の属性の設定などを行う場合があるが、これらは既に公知であり、本発明の特徴とも直接関係ないのでこれ以上説明しない。
【0058】
以上のファイル作成APIが終了した時点で、ファイルシステム100は第1のアプリケーション101または第2のアプリケーション102に対して、結果を返す(151、153)。この結果はファイルID(またはファイルIDを間接に指す番号)である。
【0059】
以上が第1の実施例において新たなファイルを生成する際の動作である。上述のように、第1の実施例のファイルシステムは、変換元ファイルのファイル名から変換先ファイルのファイル名を得るファイル名変換方法をファイルシステムが持つ。これにより、ユーザがファイル作成APIによって直接作成を依頼した第1のファイルが作成されるに加えて、第1のファイルを変換元ファイルとする1つ以上の変換先ファイルがファイルシステムにより生成される。
【0060】
なおこの実施例では、変換元ファイルの作成操作を契機として変換先ファイルのファイル名を生成したが、本発明はこの契機に限定されるものではない。別の契機として、例えばユーザがディレクトリの表示操作または検索操作を用いることが可能である。変換先ファイルのファイル名が生成されるディレクトリに「ファイル名生成を行う必要あり」の印をつけておき、後に当該ディレクトリを表示または検索する際に、実際のファイル名生成を行う。こうすることで、ファイル名生成の処理を遅延し、変換元ファイルの作成操作をより高速にすることが可能である。また、「ファイル名生成を行う必要あり」の印がついたファイルを、一定時間後、または一定時間毎に探し出して、変換先ファイルのファイル名を生成しても良い。
【0061】
(2)アプリケーションによるファイルへの読み書き
アプリケーション群(101、102)による第1のファイルへの書き込みは、オープンAPIを用いて書き込みモードで第1のファイルをオープンし、書き込みAPIまたは読み出しAPIを用いてデータを読み書きし、クローズAPIを用いて第1のファイルをクローズする、という手順で行う。なお、計算機システムによってはオープンAPIやクローズAPIがない場合も考えられる。このような場合には、読み出しAPI、書き込みAPIが毎回、オープンとクローズをそれぞれのAPI処理の最初と最後に行われるとみなして本発明を適用することができる。
【0062】
オープンAPIの動作を、図4を用いて説明する。第1の実施例のオープンAPIは、第1のファイルの第1のファイル名とオープンモード(読み出し、書き込み、または両方)を伴ってアプリケーション群(101、102)から呼び出される(150、152)。
【0063】
まず、第1のファイルと変換可能なファイル群の読み書きの一貫性を保持するために、トークンを取得する(ステップ401)。具体的には、名前空間表121の中から、ファイル名211が第1のファイル名に等しい名前空間表エントリ210を検索し(154)、当該第1の名前空間表エントリのファイルID212に等しいファイルID221を持つファイル表エントリ220を検索し(156)、当該第1のファイル表エントリのトークンID225に等しいトークンID231を持つトークン表エントリ230をトークン表123の中から検索する(157)。そして、当該第1のトークン表エントリのファイルID232が「空」になるまで待ち、ファイルID232に第1のファイル表エントリのトークンID225を格納する。モード233には、オープンモードを格納する。本実施例では、トークンで変換可能なファイル群へのファイル操作をすべて直列化しているが、2つ以上の書き込みAPI(または2つ以上の書き込みオープンAPI)を禁止するトークン取得・解放アルゴリズムを使用しても差し支えない。
【0064】
次に、第1のファイルが変換先ファイルか(Y)否か(N)を判定する(ステップ402)。具体的には、前記第1のファイル表エントリの変換元ファイルID224が「空」でなければ、第1のファイルは変換先ファイルである。
【0065】
第1のファイルが変換先ファイルでなければ(ステップ402の判定がN)、後述のステップ408に制御を移す。一方、第1のファイルが変換先ファイルであれば(ステップ402の判定がY)、第1のファイルの第1の変換元ファイルを決定する(ステップ403)。具体的には、第1のファイル表エントリの変換元ファイルID224が第1の変換元ファイルのファイルIDである。当該ファイルIDに等しいファイルID221を持つファイル表エントリ220を検索し、当該第2のファイル表エントリとする。
【0066】
次に、変換先ファイルである第1のファイルが第1の変換元ファイルの最新の内容を反映しているかを確認する。第1のファイル表エントリのタイムスタンプ223が「空」、または、「第1のファイル表エントリのタイムスタンプ223<第1のファイル表エントリのタイムスタンプ223」であれば(ステップ404の判定がY)、最新の内容を反映していない。
【0067】
この場合にはまず、変換元ファイルをオープンし(ステップ405)、変換プログラムを選択して実行する(ステップ406)。具体的には、変換表120の中から、変換先フォーマット202が第1のファイル表エントリのフォーマット222に等しく、かつ変換元フォーマット201が第2のファイル表エントリのフォーマット222に等しい変換表エントリ200を検索し(154、156)、第2のファイル表エントリのファイルID221で示すファイルをオープンし(ステップ405)する。そして、当該第1の変換表エントリの変換プログラム203を起動する(167、(ステップ406)。この際、変換プログラム203への入力として第2のファイル表エントリのファイル内容226のファイル本体を与え(163)、変換プログラム203の出力を第1のファイル表エントリのファイル内容226のファイル本体に格納する(164)。この際、第2のファイル表エントリのファイル内容226のファイル本体がファイルシステム100中になければ、二次記憶装置11から取出す(165)。また変換プログラム203終了後、第1のファイル表エントリのファイル内容226のファイル本体を、二次記憶装置11に書き出す(166)。なお、第1のファイル表エントリのファイル内容226のファイル本体を二次記憶装置11に書き出すことは、必ずしも必要ではない。変換が終わったら、第2のファイル表エントリのファイルID221で示すファイルをあとで述べる方法でクローズする(ステップ407)。
【0068】
そして、変換先ファイルのタイムスタンプを現在時刻に設定する(156、ステップ408)。具体的には、第1のファイル表エントリのタイムスタンプ223に現在時刻を格納する。
【0069】
さらに、ステップ402で変換先ファイルのタイムスタンプが「空」であったならば、変換先ファイルを削除候補表124に登録する(158、ステップ409)。具体的には、削除候補表124に新たな削除候補表エントリ240を割り当て、当該削除候補表エントリのファイルID241に第1のファイル表エントリのファイルID221を格納する。
【0070】
一方ステップ404の判定がNなら、第1のファイルは第1の変換元ファイルの最新の内容を反映しているので、ステップ410で残りのファイル・オープン操作を行う。この操作の中で、ファイル・ポインタの初期化、主記憶上の読み書き用バッファの割り当て、ファイルアクセス権限の確認などを行う場合があるが、これらは既に公知であり、本発明の特徴とも直接関係ないのでこれ以上説明しない。
【0071】
以上のオープンAPIが終了した時点で、ファイルシステム100は当該オープンAPIを呼び出したアプリケーションに対し、当該オープンAPIが完了したことを通知する(151、153)。
【0072】
次に、書き込みAPIの動作を説明する。書き込みAPIは、従来のファイルシステムと同様、アプリケーションがファイル名またはファイルID(またはファイルIDを間接に指す番号)を指定して、ファイルシステム100にデータの書き込みを依頼する(150、152)。この際ファイルシステム100は、与えられたものがファイル名であれば上述のオープンAPIと同様名前空間表121からファイルIDを得(155)、またが与えられたのがファイルIDであればそのファイルIDを用いる。そして、当該ファイルIDから当該ファイルIDに対応するファイル表エントリ220を得て、当該ファイル表エントリのファイル内容226のファイル本体に、与えられたデータを書き込む(156)。以上の書き込みAPIが終了した時点で、ファイルシステム100は当該書き込みAPIを呼び出したアプリケーションに対し、当該書き込みAPIが完了したことを通知する(151、153)。
【0073】
次に、読み出しAPIの動作を説明する。読み出しAPIは、従来のファイルシステムと同様、アプリケーションがファイル名またはファイルID(またはファイルIDを間接に指す番号)を指定して、ファイルシステム100にデータの読み出しを依頼する(150、152)。この際ファイルシステム100は、与えられたものがファイル名であれば上述のオープンAPIと同様名前空間表121からファイルIDを得(155)、またが与えられたのがファイルIDであればそのファイルIDを用いる。そして、当該ファイルIDから当該ファイルIDに対応するファイル表エントリ220を得て、当該ファイル表エントリのファイル内容226のファイル本体から、与えられたデータを読み出す(156)。以上の読み出しAPIが終了した時点で、ファイルシステム100は当該読み出しAPIを呼び出したアプリケーションに対し、当該読み出しAPIが完了したことを通知する(151、153)。
【0074】
次に、クローズAPIの動作を図5を用いて説明する。
【0075】
第1の実施例のクローズAPIは、オープンAPIでオープンされた前記第1のファイルの第1のファイルIDを伴ってアプリケーション群(101、102)から呼び出される(150、152)。
【0076】
第1のファイルのオープンが書き込みモードであって、第1のファイルが変換元ファイルであるかを検査する(ステップ501)。オープンが書き込みモードかどうかは、以下の方法で検査する。第1のファイルIDに等しいファイルID221を持つファイル表エントリ220を検索し(156)、当該第1のファイル表エントリのトークンID225に等しいトークンID231を持つトークン表エントリ230をトークン表123の中から検索する(157)。そして、当該第1のトークン表エントリのモード233が書き込みモードかを検査する。また、第1のファイル表エントリの変換元ファイルID224が「空」ならば、第1のファイルが変換元ファイルであり、「空」以外ならば第1のファイルは変換先ファイルである(156)。
【0077】
ステップ501がYなら、ステップ502以下を実行する。具体的には、第1のファイル表エントリのタイムスタンプ223に現在時刻を格納する(156)。一方ステップ501がNなら、ステップ503に制御を移す。
【0078】
次に、トークンを解放する(ステップ503)。具体的には、第1のトークン表エントリのファイルID232とモード233に「空」を格納する(157)。
【0079】
最後に、ステップ504で残りのファイル・クローズ操作を行う。この操作の中で、主記憶上の読み書き用バッファの解放、ファイル内容の二次記憶装置11への書き出しなどを行う場合があるが、これらは既に公知であり、本発明の特徴とも直接関係ないのでこれ以上説明しない。
【0080】
以上のクローズAPIが終了した時点で、ファイルシステム100は当該クローズAPIを呼び出したアプリケーションに対し、当該クローズAPIが完了したことを通知する(151、153)。
【0081】
以上のように第1の実施例のファイルシステムでは、主に変換表120に変換元ファイルと変換先ファイルと変換プログラムとの間の対応関係(1段階でも、多段階でも良い)をファイルシステム中に保持して、どのファイルをどのファイルへ変換するかをユーザがその都度指示する必要をなくしている。
【0082】
また、第1の実施例はファイルへの読み書きに際して必ずアプリケーションが行う動作(オープンAPIとクローズAPI、読み出しAPIや書き込みAPIでも差し支えない)を、フォーマット変換の契機としても用いる。これにより、第1の実施例のフォーマット変換方法は、アプリケーションの動作をファイルシステムを通じて逐一知り、対応する動作を行うことができる。翻ってアプリケーションは、フォーマット変換方法の動作をまったく意識することがないが、ユーザの作業を進めるために必要な変換は順次行われる。
【0083】
加えて第1の実施例では、主にトークン表123とタイムスタンプ223を用いて、変換元ファイルの最新の内容を変換先ファイルに反映させ、かつ、アプリケーションが変換元ファイルと変換先ファイルに対して同時に読み書きを要求した場合でも、これらを調停して変換元ファイルと変換先ファイルの一貫性を保持する。
【0084】
(3)変換先ファイルの消去
二次記憶装置11の空き領域が切迫した場合、変換先ファイル群131、131’、…を消去することができる。これは以下の手順で行う。
【0085】
ファイルシステム100は定期的に二次記憶装置11の空き領域の監視を行い、空き領域の量が一定以下になったら、削除候補表124に含まれる削除候補表エントリ240のそれぞれについて(158)、以下の処理を行う。
【0086】
削除候補エントリのファイルID241と等しいファイルID221を持つファイル表エントリ220をファイル表122から検索する(156)。そして、当該ファイル表エントリのトークンID225と等しいトークンID231を持つトークン表エントリ230をトークン表123から検索し(157)、当該トークン表エントリのファイルID232が当該ファイル表エントリのファイルID221と異なっていれば、当該ファイル表エントリのファイル内容226のファイル本体を「空」にし、タイムスタンプ223に「空」を格納する(156)。
【0087】
以上の操作によって、二次記憶装置11の空き領域が切迫した場合に、現在使用されていない変換先ファイルのファイル内容をすべて削除し、空き領域を増やすことができる。変換先ファイルのファイル内容を削除したとしても、新たにユーザが変換先ファイルを参照した場合には、上述のようにフォーマット変換がユーザの関与なしに起動され、当該変換先ファイルのファイル内容は再び充填される。このため、ユーザは変換先ファイルのファイル内容が削除されていたことをまったく意識せずに作業を進めることができる。
【0088】
フォーマット変換のタイミング
本実施例では、オープンAPIとクローズAPIの処理中にフォーマット変換を起動しているが、APIを契機として、他の起動タイミングでフォーマット変換を行っても差し支えない。
【0089】
例えば、変換元ファイルの書き込みAPIのあと、一定時間経過後にフォーマット変換を行ってもよい。例えばアプリケーションが書き込みAPIを行った時点で、ファイルシステム100がタイマーをT1秒後(T1は所定の秒数)に設定して、アプリケーションに制御を移す。そして、T1秒以内に続く書き込みAPIが発行されれば、再びタイマーをT1秒後に設定し直す。一方、T1秒以内に続く書き込みAPIが発行されなければ、フォーマット変換を行う。このようにすると、書き込みAPIの発行が連続して行われる間はフォーマット変換を控え、書き込みAPIの発行が止んでしばらくしたところで、フォーマット変換を行って、変換先ファイル群に最新の内容を伝播する、という動作ができる。
【0090】
また、第1の実施例ではオープンAPIの発行に同期してフォーマット変換を行っていたが、上記の書き込みAPIと同様に、クローズAPIの処理後しばらくしてから、ファイルシステム100が自発的にフォーマット変換を行うことも可能である。こうすれば、オープンAPIの実行時にはフォーマット変換を行わなくてもよい場合が増えるので、オープンAPIがより高速に行えるようになる。自発的なフォーマット変換のタイミングとしては、クローズAPIのT2秒後(T2は所定の秒数)、通常業務が終了する深夜S時から(Sは適当な時刻)、計算機10のCPU負荷がL以下になった時点(Lは適当なCPU負荷指標)で、などの選択肢が考えられ、どれも有効である。これらの自発的なフォーマット変換は、API発行を契機としたフォーマット変換と併用することで、変換先ファイルが最新であることを保証するのが望ましい。
【0091】
第2の実施例:2段階変換
第1の実施例と異なる本発明の形態を、図面を参照しながら説明する。以下に述べる発明の実施の形態を「第2の実施例」と呼ぶことにする。
【0092】
全体構成
図6を用いて第2の実施例の構成を説明する。第2の実施例は、第1の実施例の主要部分を、分散システム(2つ以上の計算機がネットワークで結合された計算機システム)に拡張したものである。
【0093】
なお、図6に示した計算機、ネットワーク、アプリケーション、変換プログラム、変換元ファイル、変換先ファイルの数と構成は、一例に過ぎず本発明はこれに限定されるものではない。また、図6はネットワーク12を介して2つの計算機10、10’が結合した構成をとっているが、第2の実施例で行っている処理を、ひとつの計算機上で実現しても差し支えない。
【0094】
計算機10’は第1の実施例で説明した計算機10と同様、いわゆるパーソナル・コンピュータ、ワークステーション、並列計算機、大型計算機等、任意のコンピュータでよい。図6には二次記憶装置を図示していないが、計算機10も計算機10’も二次記憶装置を持っていてよい。
【0095】
ネットワーク12は、計算機10と計算機10’、または他の計算機を結合する。ここで、ネットワーク12はある団体(企業や学校や類似の団体)の全体や一部門でよく使用されるLANやWAN(イントラネットと呼ばれる場合がある)でもよく、また地理的に分散した複数の地点を結合するWANの一部または全部でもよい。すなわち、ネットワーク12はインターネットの一部または全部でよい。インターネットは、アメリカ合衆国を中心に発展したコンピュータ・ネットワークである。通信プロトコルとして主にTCP/IP(Transmission Control Protocol/Internet Protocolの略)を用いる。またネットワーク12は、計算機間結合網や並列計算機内部のプロセッサ要素間の結合網でもよい。
【0096】
ファイルシステム100’は第1の実施例で説明したファイルシステム100と同じ機能を持つソフトウェアである。フォーマット変換制御部110’はフォーマット変換制御部110と、それぞれ同じ機能を持つソフトウェアであるが、以下に述べるようにクローズAPIの動作が第1の実施例とは異なる。
【0097】
ファイルシステム100とファイルシステム100’はそれぞれ変換表120、ファイル表122、名前空間表121、トークン表123、削除候補表124を持つ(図6には示していない)。
【0098】
動作の説明
以下、第2の実施例の動作を説明する。第2の実施例の特徴として、アプリケーション101が変換元ファイル130を作成して書き込み、アプリケーション102が変換元ファイル130から変換された変換先ファイル131を読み出す場合を想定して説明を行う。
【0099】
アプリケーション101は、ファイルシステム100のファイル作成APIを生成対象の第1のファイルの第1のファイル名とともに起動することにより、変換元ファイル130の作成をファイルシステム100に依頼する(150)。この際、ファイルシステム100は第1の実施例ですでに説明した処理を図3のフローチャートに従って行う。ここで変換元ファイル130は、図6に示すように変換プログラム603および中間ファイル130’に対応づけられている。フォーマット変換制御部110はオープンAPIの途中で中間ファイルとして用いる中間ファイル130’を生成するためにフォーマット変換制御部110’と通信を行い(650)、フォーマット変換制御部110’が中間ファイル130’を生成する。
【0100】
次に、アプリケーション101がファイルシステム100に対して、変換元ファイル130をオープンし、書き込みを行い、クローズする(150)。この一連の操作で変換元ファイル130のファイル内容が格納される。変換元ファイル130のオープンAPIは図4を用いてすでに説明した手順で行う。また、変換元ファイル130の書き込みAPIも、第1の実施例ですでに説明した手順で行う。続くアプリケーション101へのクローズAPIの処理は、フォーマット変換制御部110が図7にしたがって行う。以下、この手順を説明する。
【0101】
第2の実施例の変換元ファイル130のクローズAPIは、オープンAPIでオープンされた変換元ファイル130の第1のファイルIDを伴ってアプリケーション群(101、102)から呼び出される(150)。クローズの対象となっている第1のファイルのオープンが書き込みモードであって、第1のファイルが変換元ファイルであるか(Y)否か(N)を検査する(ステップ701)。オープンが書き込みモードかどうかは以下の方法で検査する。第1のファイルIDに等しいファイルID221を持つファイル表エントリ220を検索し、当該第1のファイル表エントリのトークンID225に等しいトークンID231を持つトークン表エントリ230をトークン表123の中から検索する。そして、当該第1のトークン表エントリのモード233が書き込みモードかを検査する。また、第1のファイル表エントリの変換元ファイルID224が「空」ならば、第1のファイルが変換元ファイルであり、「空」以外ならば第1のファイルは変換先ファイルである。ステップ701の判定がYなら、ステップ702から707を実行する。一方、ステップ701の判定がNなら、ステップ703とステップ704を実行する。
【0102】
ステップ702では、第1のファイル表エントリのタイムスタンプ223に現在時刻を格納する(156)。
【0103】
次に、トークンを解放する(ステップ703)。具体的には、第1のトークン表エントリのファイルID232とモード233に「空」を格納する(157)。
【0104】
次に、ステップ704で残りのファイル・クローズ操作を行う。この操作の中で、主記憶上の読み書き用バッファの解放、ファイル内容の二次記憶装置11への書き出しなどを行う場合があるが、これらは既に公知であり、本発明の特徴とも直接関係ないのでこれ以上説明しない。
【0105】
次に、ステップ705で、第1のファイルに対する変換先ファイルを決定する。具体的には、ファイル表122の中で変換元ファイルID224が第1のファイルIDに等しいファイル表エントリ220を検索する。当該ファイル表エントリが変換先ファイルのファイル表エントリである。
【0106】
次に、ステップ706で、当該変換先ファイルを読み出しモードでオープンする。このステップの処理は図4ですでに説明したものである。
【0107】
次に、ステップ707で、第1のファイルをクローズする。このステップの処理は図5ですでに説明したものである。
【0108】
以上のクローズAPIが終了した時点で、ファイルシステム100は当該クローズAPIを呼び出したアプリケーションに対し、当該クローズAPIが完了したことを通知する(151)。特にステップ706で、変換先ファイルをオープンしている点が、このオープンAPI処理の特徴である。このオープンによって、変換プログラム603によって変換元ファイル130の最新情報が中間ファイル130’に伝播する。加えてこのオープンによって、中間ファイル130’を変換元ファイルとした変換先ファイルのファイル名が名前空間表121に登録される。
【0109】
次に、アプリケーション102がファイルシステム100’に対して、変換先ファイル131をオープンし、読み出しを依頼する(152)。この時、ファイルシステム100’は図4にしたがって、第1の実施例ですでに説明した処理を行う。ただ第2の実施例では、変換先ファイル131は変換プログラム103と中間ファイル130’に対応づけられている。このため、変換先ファイル131のオープンAPI操作は、中間ファイル130’を入力変換先ファイル131を出力として変換プログラム103を起動する、というフォーマット変換操作を引き起こす。
【0110】
以上が、アプリケーション101が変換元ファイル130を作成して書き込み、アプリケーション102が変換元ファイル130を作成して書き込み、アプリケーション102が変換元ファイル130から変換された変換先ファイル131を読み出す場合の第2の実施例の動作である。
【0111】
第2の実施例では、計算機10にある変換元ファイル130への変更が、すぐに計算機10’に伝播する。この結果、計算機10の電源がオフになったり、計算機10の二次記憶装置が故障したりして、変換元ファイル130が一時的または永続的に利用不能になっても、計算機10’の中間ファイル130’、変換先ファイル131、131’、…は計算機10’上のアプリケーションから利用可能である。
【0112】
この特徴は、特に計算機10がユーザのよく利用するパーソナル・コンピュータや携帯型コンピュータで、計算機10’が多数のユーザが利用するWWWサーバなどの共有情報サーバである場合に特に効果がある。なぜなら、計算機10のユーザが計算機10の電源を切断したり、ネットワークから計算機10を切断しても、計算機10’経由で変換元ファイル130の情報を共有しているユーザにはなんら問題ないし、また、計算機10’経由で変換元ファイル130の情報を共有しているユーザがいる間でも、これらのユーザに変換先ファイル131、131’、…の利用を中断させることなく、計算機10のユーザが変換元ファイル130を更新することができるためである。この場合、変換プログラム603は、単なるコピープログラムでも差し支えない。
【0113】
変形例1:ファイル単位の変換指定
上記第1、第2の実施例では変換表120を用いて、変換元フォーマットから変換先フォーマットへの対応を行っている。しかし、本発明の実施の形態はフォーマット単位の対応づけに限定されるものではない。特に変形例1として、変換表に変換元ファイルから変換先ファイルへの対応づけを格納することができるようにしても差し支えない。これを行うには、変換表エントリ200の内部構造を、変換元フォーマット201と変換先フォーマット202と変換プログラム203の組ではなく、変換元ファイルIDと変換先ファイルIDと変換プログラム203の組とし、オープンAPIやクローズAPIで変換表120を検索する時に、ファイルIDを用いればよい。さらに進んで、実施例1の変換表120と変形例1の変換表の2つの形式を、1つの変換表に混在させる実施の方法でも差し支えない。
【0114】
変形例2:変換元ファイルの隠蔽
ユーザの都合によっては、ファイルシステムが変換元ファイルを隠し、変換先ファイルのみを提供したほうが良い場面もある。例えば、第1の実施例で、変換元ファイル130が読み書き可能なフォーマットで、変換先ファイル群131、131’、…が読み出しのみ可能なフォーマットである場合、変換元ファイル130を作成したユーザは他のユーザに変換先ファイル群131、131’、…のみアクセスさせることで、変換元ファイル130を変更から守ることができる。
【0115】
また第2の実施例では、計算機10’のユーザは中間ファイル130’と変換先ファイル131、131’、…とのいずれにもアクセスが可能である。しかし中間ファイル130’はファイルシステム100が使用する中間ファイルなので、中間ファイル130’を隠した方がユーザにとってわかりやすいと思われる。
【0116】
このように、変換元ファイル(または特定の変換先ファイル)をユーザから隠蔽する機能を、上記第1の実施例、第2の実施例、および変形例1に追加することができる。具体的には、ファイル表122に新たな項目として「隠蔽変換元フラグ」と「隠蔽変換先リスト」を追加する。前者は変換元ファイルを隠蔽するため、また後者は変換先ファイルを隠蔽するためである。あるファイルの隠蔽変換元フラグが真なら、ファイルシステムは名前空間表121から当該ファイルのファイル名を削除する。また、隠蔽変換先リストは変換先フォーマットのリストを格納しており、上記ファイル作成APIにおいて、変換先フォーマットが、変換元ファイルの隠蔽変換先リストに含まれていれば、ステップ306において当該変換先フォーマットのファイルを名前空間表121に追加するのを止める。
【0117】
パーソナル・コンピュータ(PC)への適用例
本発明をパーソナル・コンピュータ(PC)へ適用した例を、図8を用いて説明する。なお、計算機やアプリケーションの種類や数は、例として用いたものであり、本発明の範囲を限定するものではない。
【0118】
PC 800はユーザが利用する計算機である。例えばワード・プロセッサ801やWWWブラウザ802やpdf文書表示プログラム803などが、PC 800上のアプリケーションとして動作する。本発明に基づくファイルシステム100は、上述の説明通り、アプリケーションのファイル操作に伴って、必要なフォーマット変換を行う。例えば、ユーザがワード・プロセッサ801で作成した文書を保存する場合、hello.doc 804なるファイルを作成し、書き込みを行って二次記憶装置11に文書を保存する(811)。この際、ファイルシステム100は、図3のフローチャートに従って、変換先ファイルのファイル名を図1の名前空間表121(図8には図示していない)に登録する。この結果、ユーザは変換先ファイル(図8の例ではhello.html 805とhello.pdf 806)を操作できるようになる。例えば、ユーザがWWWブラウザ802を用いてhello.html 805を参照すると、WWWブラウザ802はhello.html 805を読み出す準備として、オープンAPIを発行する(821)。この際、ファイルシステム100は図4のフローチャートに従って、変換プログラム823を決定し、変換元ファイルから変換先ファイルへの変換(822)を行って変換元ファイルであるhello.doc 804から変換先ファイルであるhello.html 805の内容を得る。これによってWWWブラウザ802は、続くhello.html 805への読み出しAPI(824)によって、先ほどワード・プロセッサ801が作成したhello.doc 804の内容を、異なるフォーマットを持つファイルhello.html 805として得ることができる。なお、この一連の動作に、ユーザやアプリケーションはフォーマット変換にかかわる操作を行う必要が一切なかった点に留意すべきである。
【0119】
本発明はアプリケーションによらないので、別のアプリケーション(例えばpdf文書表示プログラム803)が別の変換先ファイルの読み出しを行っても、まったく問題ない。この場合、先ほどと同様、オープンAPI(825)の発行に同期して変換プログラム827を決定し、変換元ファイルであるhello.doc 804から変換先ファイルであるhello.pdf 806へのフォーマット変換(826)を行う。これによってpdf文書表示プログラム803は、続くhello.pdf 806への読み出しAPI(828)を行うことができる。
【0120】
なお、現在PCで使用されているOSのなかには、従来のOSの機能を、複数のダイナミック・リンク・ライブラリ(DLL)の集合として実現しているOSがある。このようなOS上ではファイルシステムの主要部分もDLLとなっている。本発明をこのようなDLLベースのOSに適用する1つの方法は、ファイルシステム機能を提供するDLL(仮にFS.DLLと呼ぶ)を本発明に基づくファイルシステムの機能を提供するDLL(仮にNEW・FS.DLLと呼ぶ)で置き換える方法である。NEW・FS.DLLの中で従来のファイルシステムと同じ動作を行う部分については、FS.DLLの機能を関数呼び出しにより呼ぶことにすれば、既にある機能を再び実現することなく本発明の機能を追加することができる。すなわち、NEW・FS.DLLをFS.DLLの上にかぶせることによって、これまでFS.DLLが受けていたアプリケーションからのAPI呼び出しを、NEW・FS.DLLが受け、FS.DLLの機能が必要な場面ではNEW・FS.DLLがFS.DLLのAPIを起動する。例えば、ステップ410、ステップ504、ステップ504、ステップ504、ステップ704は、従来のファイルシステムの機能を呼び出す部分なので、これらのステップでNEW・FS.DLLがFS.DLLを呼び出せば良い。
【0121】
WWWシステムへの適用例(1):
次に本発明をWWWシステムに適用した例を図9を用いて説明する。ネットワーク12は、既に説明したように、イントラネットやインターネットを含む計算機間の結合である。本適用例は特にTCP/IPとHTTP(Hyper―Text Transfer Protocolの略)を用いるWWWに良く適合する。
【0122】
この例では、本発明を組み込んだファイルシステム100を持つサーバ計算機900が、WWWサーバ911や分散ファイル・サーバ912を用いて、ネットワーク12で結合された機能限定PC 901およびPC902にファイルを提供する。機能限定PC 901は、ネットワーク・コンピュータやThin PCと呼ばれている機能限定、低価格なパーソナル・コンピュータである。このような計算機は、低価格化を進めるために必要最低限のソフトウェアしか搭載しないのが普通である。PC 902は通常のパーソナル・コンピュータである。なお、この例では分散ファイル・サーバ912をファイルシステム100と異なるプログラムとしているが、これらを1つにした、いわゆる分散ファイル・システムを用いても差し支えない。分散ファイル・システムは分散ファイル・サーバ912がファイルシステム100に組み込まれたものと考えることができる。
【0123】
ユーザは機能限定PC 901やPC 902を操作して、サーバ計算機900上のファイルにアクセスする。この例では、機能限定PC 901のユーザはWWWブラウザ916を用い、またPC 902のユーザはpdf文書表示プログラム917を用いてアクセスする。また、サーバ計算機900上で動作するワード・プロセッサ910を用いると、サーバ計算機900上に新たなファイルを作成、または既存のファイルを変更することができる。
【0124】
ユーザがワード・プロセッサ910で作成した文書を保存する場合、ワード・プロセッサ910はファイルシステム100に変換元ファイルであるhello.doc 913の作成を依頼し(920)、書き込みを行って二次記憶装置11に文書を保存する(921)。この際、ファイルシステム100は図3のフローチャートに従って、変換先ファイルのファイル名を図1の名前空間表121(図9には図示していない)に登録する。この結果、サーバ計算機900上のアプリケーションである共有情報提供ソフトウェア(この例ではWWWサーバ911や分散ファイル・サーバ912)は変換先ファイル(図9の例ではhello.gif 914とhello.pdf 915)を操作できるようになる。
【0125】
例えば、機能限定PC 901のユーザがWWWブラウザ916を用いて画像ファイルhello.gif 914を参照すると、WWWブラウザ916はhello.gif 914を読み出す要求をWWWサーバ911に送る(930)。この要求を受けたWWWサーバ911は、hello.gif 914を読み出す準備としてオープンAPIを発行する(931)。この際、ファイルシステム100は図4のフローチャートに従って変換プログラム933を決定し、変換元ファイルから変換先ファイルへの変換(932)を行ってhello.gif914の内容をhello.doc 913から得る。これによってWWWブラウザ916は、続くhello.gif 914への読み出しAPI(934)によって、先ほどワード・プロセッサ910が作成したhello.doc 913の内容を、異なるフォーマットを持つファイルhello.gif 914として得ることができる。この結果は、機能限定PC 901上のWWWブラウザ916に返される(935)。WWWブラウザ916は画像ファイルを再生する能力を備えているので、hello.doc 913の内容を機能限定PC901上に表示することができる。すなわち本発明によって、ユーザはhello.doc 913を作成したワード・プロセッサを搭載しない機能限定PC901上からでも、hello.doc 913の内容を参照することができる。
【0126】
同様に、別のユーザがPC 902からpdf文書表示プログラム917を用いて変換先ファイルの読み出しを行っても、まったく問題ない。たとえばpdf文書表示プログラム917が分散ファイル・サーバ912経由でhello.pdf 915を読み出す場合、まずpdf文書表示プログラム917が分散ファイル・サーバ912にhello.pdf 915を読み出す要求を送る(940)。これを受けた分散ファイル・サーバ912は、hello.pdf 915をオープンし、読み出そうとする。この際、ファイルシステム100は上記の説明同様、オープンAPI(941)の発行に同期して変換プログラム943を決定し、hello.doc 913からhello.pdf 915へのフォーマット変換(942)を行う。これによって分散ファイル・サーバ912は、続くhello.pdf 915への読み出しAPI(944)を行い、結果をpdf文書表示プログラム917に返すことができる(945)。
【0127】
この例によって、本発明が機能限定PCを含む分散計算機システム上でも有効であることを示した。
【0128】
WWWシステムへの適用例(2):
さらに、WWWとPC、ThinPCを用いた分散計算機システムの別の例を、図10を用いて説明する。なお、計算機やアプリケーションの種類や数は、一例に過ぎず本発明はこれに限定されるものではない。
【0129】
PC 1001を用いているユーザは、ワード・プロセッサ1010を用いて文書を作成する。この例ではhello.doc 1013を生成して(1020)書き込みを行い(1021)、書き込みが完了した時点でクローズを行う。
【0130】
hello.doc 1013を生成する際、ファイルシステム100はhello.doc 1013の変換先ファイルである中間ファイルhello.doc’1014も作成する。さらに図3のフローチャートに従って再帰的にhello.pdf 1015およびhello.gif 1016が作成される。そして最後のクローズの際に、ファイルシステム100は図7のフローチャートに従って、変換先ファイルである中間ファイルhello.doc’1014をオープンし、クローズする。この結果、変換プログラム1023によるhello.doc 1013からhello.doc’1014への変換が行われる(1022)。
【0131】
次に機能限定PC 1003のユーザがWWWブラウザ1012を用いてhello.gif 1016をアクセスする要求をWWWサーバ1011に発行すると(1030)、この要求を受けたWWWサーバ1011はhello.gif1016読み出しのためのオープンAPIを発行する(1031)。このオープンAPIの処理中にファイルシステム100’は、変換プログラム1033を用いたhello.doc’1014からhello.gif 1016への変換(1032)を行う。この結果、WWWサーバ1011が続いて発行するhello.gif 1016の読み出しAPIは、hello.doc’1014すなわちhello.doc 1013から得られた最新の情報がWWWサーバ1011を経由して(1034)ユーザに渡される(1035)。
【0132】
サーバ計算機1002は多くの場合多数のユーザによって共用されているので、24時間運転で運用される。PC 1001は一人のユーザの使用する計算機なので、頻繁に電源がオン、オフされるのが普通である。PC 1001の電源がオフになるなどの理由でhello.doc 1013にアクセスができない場合でも、本発明が中間ファイルhello.doc’1014を介したフォーマット変換機能を備えている結果、機能限定PC 1003のユーザは、hello.gif 1016やhello.pdf 1015、およびhello.doc’1014にアクセスすることが可能である。
【0133】
分散検索システムへの適用例:
企業内情報システムにおいて、種々の情報を検索する分散検索システムに本発明を適用した例を図11を用いて説明する。
【0134】
企業内外の各所で情報提供を行うWWWサーバ計算機1101、1102、1103、…から、ユーザが所望する特定分野の情報を検索する。検索を行うのは、検索サーバ計算機1100上の検索プログラムであり、この例では全文検索サーバ1111と画像検索サーバ1112である。全文検索サーバ1111は文字列検索を行い、画像検索サーバ1112は画像のパターンマッチによる検索を行う。音声パターン検索、データベース検索など、他の検索方法も混在して構わない。WWWサーバ計算機1101、1102、1103、…および検索サーバ計算機1100はネットワーク12で結合されている。ネットワーク12は企業内のネットワーク(イントラネット)でも、企業間を繋ぐネットワークでも、さらには全世界を繋ぐインターネットのようなネットワークでも差し支えない。
【0135】
企業内外のWWWサーバ計算機群からは、種々のフォーマットの情報が提供されるのが普通である。そこで検索サーバ計算機1100に本発明に基づくファイルシステム100を組み込み、各種フォーマットの違いをアプリケーションに負担をかけずに解消する。図11では、WWWサーバ計算機1101がhello.doc1120を、WWWサーバ計算機1102がnews.pdf 1121を、WWWサーバ計算機1103がsurvey.gif 1122を、それぞれ提供している。これらはまず検索サーバ計算機1100上のWWWクライアント1110によって収集され(1123、1124、1125)、ファイルシステム100に格納される(1126、1127、1128)。なお、ファイルシステム100は二次記憶装置を持って良いが図11では省略している。
【0136】
全文検索サーバ1111は文字形式ファイル「.txt」を入力として受け取るので、ファイルシステム100は全文検索サーバ1111が発行するhello.txt 1133、news.txt 1136、survey.txt 1139へのファイル操作APIに応じてhello.doc 1129からhello.txt 1133を、news.pdf 1130からnews.txt 1136を、survey.gif 1131からsurvey.txt 1139を、それぞれ対応する変換プログラム(図11では図示省略)によりフォーマット変換して作成する(1132、1135、1138)。これによって全文検索サーバ1111は、本来異なるフォーマットを持つ情報に対しても検索を行うことができるようになり(1134、1137、1140)、かつ検索をかけた情報が別々のフォーマットを持っていたことを気にしなくてよい(すなわち全文検索サーバ1111内に特別なプログラミングが必要ない)。さらにユーザは、検索結果をもとに情報が最も豊かな変換元ファイル(hello.doc 1129、news.pdf 1130、survey.gif 1131)の情報にアクセスすることができる。この場合にもファイルシステム100は、変換元ファイルをユーザが使うアプリケーションが利用可能なフォーマットに変換することにより、ユーザの利便を図ることができる。
【0137】
さらに、同じ情報源を画像に変換することにより、まったく異なる検索方法を実施することが可能である。画像検索サーバ1112は画像形式ファイル「.gif」を入力として受け取るので、ファイルシステム100は画像検索サーバ1112が発行するhello.gif 1142、news.gif 1145、survey.gif 1131へのファイル操作APIに応じてhello.doc 1129からhello.gif 1142を、news.pdf 1130からnews.gif 1145を、それぞれ対応する変換プログラム(図11では図示省略)によりフォーマット変換して作成する(1141、1144)。これによって画像検索サーバ1112は、本来異なるフォーマットを持つ変換元ファイル(1129、1130、1131)の情報に対して検索を行うことができ(1143、1146、1147)、かつ検索をかけた情報が別々のフォーマットを持っていたことを気にしなくてよい。
【0138】
電子商取引システムへの適用例:
企業と企業、または企業と個人の間の取り引きを電子的に行う電子商取引(EC)システムに本発明を適用した例を図12を用いて説明する。
【0139】
例えばインターネット経由でECを行う場合には、請求書はいくつもの企業や団体のネットワークを経由して第1のユーザから第2のユーザに届けられる。この際、第1、第2のユーザのプライバシーを保護する目的で、また請求書が第三者によって不当に改竄されるのを防ぐ目的で、請求書を暗号化して送ることがよく行われる。
【0140】
ECサーバ計算機1200はECクライアント計算機1201と通信して電子商取引を行う。ECサーバ計算機1200を使用する第1のユーザが、ECクライアント計算機1201を使用する第2のユーザの注文に対する請求書を作成し、第2のユーザがそれを受け取る場面を説明する。このような場面での暗号化(および復号化)は、一種のフォーマット変換と考えることができる。この場合の変換プログラムは、暗号化プログラムや復号化プログラムである。
【0141】
第1のユーザは過去に第2のユーザから受け取った注文に対する請求書であるinvoice.doc 1220をワードプロセッサ1211で作成する(1230)。そしてinvoice.doc 1220を暗号化プログラム1212で暗号化し(1231)、暗号化後のファイルであるinvoice.doc.crp 1221を電子メール(または電子メールの添付ファイル)で第2のユーザに送る(1233)。これを受け取った第2のユーザは、電子メールをファイルシステムにinvoice.doc.crp 1221’として保存する。この際、本発明のファイルシステムが、復号化プログラム1213を変換プログラムとし、invoice.doc.crp 1221’を変換元ファイルとしたフォーマット変換操作を行い(1234)、変換先ファイルとしてinvoice.doc 1220’を第2のユーザに提供する(1235)。これにより第2のユーザは、invoice.doc 1220’を手動で復号化する手間を負うことなく、ワードプロセッサ1211’を用いて請求書を参照することができる(1236)。またこの例では示さなかったが、第1のユーザが請求書の暗号化を行う場面でも本発明を適用することができる。これにより、第1のユーザ、第2のユーザとも請求書の暗号化と復号化を気にする必要なく、高速かつ快適に電子商取引を行うことができる。
【0142】
【発明の効果】
ユーザはアプリケーション上で行うユーザの本来の作業を行えばよくなり、その過程で必要となる様々なフォーマット変換(1段階でも、多段階でも良い)はユーザの関与なしで行われる。この際、変換元ファイルを指定したり、フォーマット変換のタイミングを指定する必要がなく、ユーザは常に最新の変換先ファイルを利用可能となる。さらに、変換元ファイルと変換先ファイル群との間の一貫性が保持される。また変換先ファイルを多く保持することによる二次記憶領域の無駄を解消できる。万一変換元ファイルが利用不能な間もフォーマット変換が行える。
【図面の簡単な説明】
【図1】第1の実施例の内部構成の概略を示すブロック図。
【図2】第1の実施例で用いるデータ構造を示す図。
【図3】ファイル作成APIの動作を説明するフローチャート。
【図4】オープンAPIの動作を説明するフローチャート。
【図5】クローズAPIの動作を説明するフローチャート。
【図6】第2の実施例の内部構成の概略を示すブロック図。
【図7】第2の実施例で変換元ファイルのクローズAPIの動作を説明するフローチャート。
【図8】本発明のパーソナル・コンピュータへの適用例を示す図。
【図9】本発明のWWWシステムへの適用例を示す図。
【図10】本発明のWWWシステムへの別の適用例を示す図。
【図11】本発明の分散検索システムへの別の適用例を示す図。
【図12】本発明の電子商取引システムへの適用例を示す図。
【符号の説明】
10:計算機、11:二次記憶装置、100:ファイルシステム、101、102:アプリケーション、103、103’、…:変換プログラム、104:設定プログラム、110:フォーマット変換制御部、111:フォーマット変換設定部、120:変換表、121:名前空間表、122:ファイル表、123:トークン表、124:削除候補表、130:変換元ファイル、131、131’、…:変換先ファイル。

Claims (3)

  1. 計算機とそれに結合された2次記憶装置を含み、ファイルシステムと、複数のアプリケーションプログラムと、それぞれ変換元ファイルのフォーマットを変換先ファイルのフォーマットに変換する複数の変換プログラムとを備えた計算機システムにおいて、前記ファイルシステムで実行するファイルフォーマット変換方法であって、
    (1)前記複数の変換プログラムの各々に対して変換元のファイルフォーマットおよび変換先のファイルフォーマットをそれぞれ対応付けた変換表を準備して記憶すること、
    (2)第1のアプリケーションプログラムから指定されたファイル名をファイルコンテンツに対して登録することにより第1のファイルフォーマットを有する第1のファイルを生成すること、
    (3)前記第1のファイルフォーマットと前記変換表の変換元のファイルフフォーマットの欄との一致により前記変換表を検索して前記第1のファイルからのファイルフォート変換が可能な変換プログラムを特定し、それによる変換先ファイルのファイル名を生成して記録すること、
    (4)第2のアプリケーションプログラムからのファイル読み書きによるファイルオープンAPIを契機とし、該ファイルオープンAPIの指定する第2のファイルのファイル名が前記記録された変換先ファイル名の一つであったとき該第2のファイルに対応する変換プログラムを呼び出し、変換元ファイルをオープンしてファイルフォーマット変換を実行すること、
    との手順を含むファイルフォーマット変換方法。
  2. 前記変換先ファイルのファイル名の生成の手順は、前記第1のファイルの生成を契機として起動されることを特徴とする請求項1記載のファイルフォーマット変換方法。
  3. 前記変換先ファイルのファイル名の生成の手順は、変換先ファイルを表示もしくは検索するためのディレクトリに対して検索操作もしくは表示操作があったこと契機として起動されることを特徴とする請求項1記載のファイルフォーマット変換方法。
JP29376597A 1997-10-27 1997-10-27 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム Expired - Fee Related JP4035872B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP29376597A JP4035872B2 (ja) 1997-10-27 1997-10-27 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
TW087116826A TW455790B (en) 1997-10-27 1998-10-09 File format transformation method and file system, information process systems, and electronic transaction systems thereof
CA002250952A CA2250952A1 (en) 1997-10-27 1998-10-21 File format conversion method, and file system, information processing system, electronic commerce system using the method
DE69829253T DE69829253T2 (de) 1997-10-27 1998-10-22 Verfahren zum Umsetzen vom Dateiformat und Dateisystem, Informationsverarbeitungssystem und elektronisches Handelsverkehrssystem mit diesem Verfahren
EP03027862A EP1411445A3 (en) 1997-10-27 1998-10-22 File format conversion method and file system, information processing system, electronic commerce system using the method
EP98120013A EP0911745B1 (en) 1997-10-27 1998-10-22 File format conversion method and file system, information processing system, electronic commerce system using the method
KR1019980044479A KR19990037321A (ko) 1997-10-27 1998-10-23 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템
SG9804293A SG95589A1 (en) 1997-10-27 1998-10-27 File format conversion method, and file system, information processing system, electronic commerce system using the method
US09/179,092 US6377952B1 (en) 1997-10-27 1998-10-27 File format conversion method, and file system, information processing system, electronic commerce system using the method
US09/756,231 US6385606B2 (en) 1997-10-27 2001-01-09 File format conversion method, and file system, information processing system, electronic commerce system using the method
US10/093,737 US6567828B2 (en) 1997-10-27 2002-03-11 File format conversion method, and file system, information processing system, electronic commerce system using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29376597A JP4035872B2 (ja) 1997-10-27 1997-10-27 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム

Publications (2)

Publication Number Publication Date
JPH11134227A JPH11134227A (ja) 1999-05-21
JP4035872B2 true JP4035872B2 (ja) 2008-01-23

Family

ID=17798932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29376597A Expired - Fee Related JP4035872B2 (ja) 1997-10-27 1997-10-27 ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム

Country Status (8)

Country Link
US (3) US6377952B1 (ja)
EP (2) EP1411445A3 (ja)
JP (1) JP4035872B2 (ja)
KR (1) KR19990037321A (ja)
CA (1) CA2250952A1 (ja)
DE (1) DE69829253T2 (ja)
SG (1) SG95589A1 (ja)
TW (1) TW455790B (ja)

Families Citing this family (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7808694B2 (en) * 1994-05-05 2010-10-05 Qualcomm Mems Technologies, Inc. Method and device for modulating light
EP1003313B1 (en) * 1998-09-11 2004-11-17 Two Way Media Limited Delivering interactive applications
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US7353194B1 (en) 1999-03-02 2008-04-01 Alticor Investments, Inc. System and method for managing recurring orders in a computer network
CA2363733C (en) 1999-03-02 2011-10-18 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system
US6658625B1 (en) * 1999-04-14 2003-12-02 International Business Machines Corporation Apparatus and method for generic data conversion
JP3529301B2 (ja) * 1999-06-03 2004-05-24 エヌイーシーシステムテクノロジー株式会社 データファイル自動変換装置
US6691119B1 (en) * 1999-07-26 2004-02-10 Microsoft Corporation Translating property names and name space names according to different naming schemes
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
JP2001209750A (ja) * 2000-01-27 2001-08-03 Ablesoft Kk インターネットメイルと接続された見積・受発注コンピュータプログラム
US6519773B1 (en) * 2000-02-08 2003-02-11 Sherjil Ahmed Method and apparatus for a digitized CATV network for bundled services
JP2001331362A (ja) * 2000-03-17 2001-11-30 Sony Corp ファイル変換方法、データ変換装置及びファイル表示システム
JP2001273188A (ja) * 2000-03-27 2001-10-05 Five Any Inc 異種端末のアクセスを許容するウェブサイト及びウェブサイトに異種端末のアクセスを許容する方法
JP2001282589A (ja) * 2000-03-29 2001-10-12 Matsushita Electric Ind Co Ltd 遠隔ファイル変換システム、媒体及び情報集合体
JP2002014852A (ja) * 2000-06-29 2002-01-18 Ataka Engineering Co Ltd 通信端末用ファイル変換サービスの提供方法
US6662186B1 (en) * 2000-07-14 2003-12-09 Hewlett-Packard Development Company, L.P. System and method for a data propagation file format
US7231050B1 (en) * 2000-07-21 2007-06-12 Harris Scott C Protection against unintentional file changing
US20020056009A1 (en) * 2000-08-22 2002-05-09 Affif Filippo L. Method for interacting with a device using an abstract space
US7305416B2 (en) * 2000-12-18 2007-12-04 Hewlett-Packard Development Company, L.P. Network assembly and method for inserting an identification code
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US20020103935A1 (en) * 2001-01-26 2002-08-01 Neil Fishman Pushing rich content information to mobile devices
JP2002236682A (ja) * 2001-02-13 2002-08-23 Fuji Photo Film Co Ltd データベース・システム
EP1239377A1 (de) * 2001-03-07 2002-09-11 Abb Research Ltd. Datenorganisationssystem und Verfahren zur Gliederungsstrukturverwaltung und -synchronisation
US7154898B1 (en) 2001-03-13 2006-12-26 Intelsat, Ltd. Scalable edge node
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US7136859B2 (en) * 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7539747B2 (en) * 2001-03-14 2009-05-26 Microsoft Corporation Schema-based context service
US7284271B2 (en) 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US20020138547A1 (en) * 2001-03-21 2002-09-26 Cherry Darrel D. System and method for electronic document distribution
US7237013B2 (en) * 2001-04-16 2007-06-26 National Instruments Corporation Network system including data socket components for accessing internet semaphores
AU2002308966B2 (en) * 2001-05-14 2004-05-06 Ntt Docomo, Inc. System for Managing Program Applications Storable in a Mobile Terminal
JP3588061B2 (ja) * 2001-05-16 2004-11-10 日本ユニシス株式会社 データ交換装置、データ交換方法及びデータ交換プログラム
US6889233B2 (en) * 2001-06-18 2005-05-03 Microsoft Corporation Selective file purging for delete or rename
US7076492B2 (en) * 2001-06-29 2006-07-11 International Business Machines Corporation General business report generation
WO2003048966A1 (en) * 2001-12-05 2003-06-12 Webxcentric Holdings Pty Ltd A method of collaborative communication structuring and applications therefor
JP2003177948A (ja) * 2001-12-07 2003-06-27 Fujitsu Ltd データの変換・流通を行うデータ管理機構
US6980137B2 (en) * 2002-03-22 2005-12-27 Hewlett-Packard Development Company, L.P. Systems and methods for data conversion
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
TW200407706A (en) * 2002-11-01 2004-05-16 Inventec Multimedia & Telecom System and method for automatic classifying and storing of electronic files
EP1422637A1 (en) * 2002-11-25 2004-05-26 Culture Com. Technology (Macau) Ltd. Data display method and system
US7856454B2 (en) 2002-12-20 2010-12-21 Siebel Systems, Inc. Data model for business relationships
US8538840B2 (en) * 2002-12-20 2013-09-17 Siebel Systems, Inc. Financial services data model
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
US7243158B1 (en) 2003-01-28 2007-07-10 Thomas Gutchigian Method, system and computer program for identification of data and translation of data between storage locations
US8473399B2 (en) * 2003-03-04 2013-06-25 Siebel Systems, Inc. Invoice data object for a common data object format
US8392298B2 (en) * 2003-03-04 2013-03-05 Siebel Systems, Inc. Invoice adjustment data object for a common data object format
US20070208577A1 (en) * 2003-03-24 2007-09-06 Leon Maria T B Position common object
US7904340B2 (en) * 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
US7912932B2 (en) * 2003-03-24 2011-03-22 Siebel Systems, Inc. Service request common object
JP2006523353A (ja) * 2003-03-24 2006-10-12 シーベル システムズ,インコーポレイティド 共通共通オブジェクト
US8510179B2 (en) * 2003-03-24 2013-08-13 Siebel Systems, Inc. Inventory transaction common object
US9704120B2 (en) * 2003-03-24 2017-07-11 Oracle International Corporation Inventory balance common object
US8489470B2 (en) * 2003-03-24 2013-07-16 Siebel Systems, Inc. Inventory location common object
US20070226037A1 (en) * 2003-03-25 2007-09-27 Shailendra Garg Modeling of opportunity data
US8732239B2 (en) * 2003-10-02 2014-05-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. System and method for providing multimedia wireless messages across a broad range and diversity of networks and user terminal display equipment
US7809858B1 (en) 2003-10-21 2010-10-05 Adobe Systems Incorporated Cross-protocol URL mapping
US7263534B1 (en) * 2003-10-21 2007-08-28 Adobe Systems Incorporated Automatic set up for editing a web site
US7941748B1 (en) 2003-10-21 2011-05-10 Adobe Systems Incorporated Systems and methods for web site editing interfaces
US7921360B1 (en) 2003-10-21 2011-04-05 Adobe Systems Incorporated Content-restricted editing
US7155444B2 (en) * 2003-10-23 2006-12-26 Microsoft Corporation Promotion and demotion techniques to facilitate file property management between object systems
JP4381891B2 (ja) * 2003-11-11 2009-12-09 大日本スクリーン製造株式会社 データファイル処理装置、データファイル処理方法、およびプログラム
US20050108690A1 (en) * 2003-11-17 2005-05-19 Tira Wireless Inc. System and method of generating applications for mobile devices
JP4135659B2 (ja) 2004-03-09 2008-08-20 コニカミノルタビジネステクノロジーズ株式会社 フォーマット変換装置およびファイル検索装置
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US7865390B2 (en) * 2004-05-21 2011-01-04 Siebel Systems, Inc. Modeling of employee performance result data
US8112296B2 (en) * 2004-05-21 2012-02-07 Siebel Systems, Inc. Modeling of job profile data
US7340316B2 (en) * 2004-06-28 2008-03-04 Hanger Orthopedic Group, Inc. System and method for producing medical devices
US20070276789A1 (en) * 2006-05-23 2007-11-29 Emc Corporation Methods and apparatus for conversion of content
US8613048B2 (en) * 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7748032B2 (en) * 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7720888B2 (en) * 2004-12-08 2010-05-18 Electronics & Telecommunications Research Institute Contents conversion communication terminal, server system, and method
US7890481B2 (en) * 2004-12-15 2011-02-15 Nuance Communications Austria Gmbh System and method for managing binary large objects
US7904570B1 (en) 2004-12-21 2011-03-08 Adobe Systems Incorporated Configurable file placement
US8024568B2 (en) * 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
JP4671332B2 (ja) * 2005-03-10 2011-04-13 株式会社日立製作所 ユーザ識別情報を変換するファイルサーバ
US7725728B2 (en) * 2005-03-23 2010-05-25 Business Objects Data Integration, Inc. Apparatus and method for dynamically auditing data migration to produce metadata
US7647359B1 (en) * 2005-04-20 2010-01-12 Novell, Inc. Techniques for file system translation
US7748046B2 (en) * 2005-04-29 2010-06-29 Microsoft Corporation Security claim transformation with intermediate claims
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
KR100756360B1 (ko) * 2005-05-09 2007-09-10 (주)비시엔소프트 통합 파일 변환 서비스 제공 시스템 및 방법
US7577900B2 (en) * 2005-05-13 2009-08-18 Harris Corporation Mechanism for maintaining data format synchronization between different entities
US7861239B2 (en) * 2005-05-23 2010-12-28 International Business Machines Corporation Data migration between versions of software
US20070011142A1 (en) * 2005-07-06 2007-01-11 Juergen Sattler Method and apparatus for non-redundant search results
US8090875B2 (en) * 2005-10-28 2012-01-03 Nikon Corporation Device and method for connecting device manufacturing processing apparatuses, program, device manufacturing processing system, exposure apparatus and method, and measurement and inspection apparatus and method
KR100814444B1 (ko) 2005-12-26 2008-03-17 삼성전자주식회사 화상형성장치에서 파일의 포맷을 자동으로 변환하여 작업을수행하는 방법 및 시스템과 화상형성장치
US7779017B2 (en) * 2006-01-12 2010-08-17 Microsoft Corporation Employing abstract pipeline component connections to maintain data flow
US20070255958A1 (en) * 2006-05-01 2007-11-01 Microsoft Corporation Claim transformations for trust relationships
JP4857992B2 (ja) * 2006-07-31 2012-01-18 富士ゼロックス株式会社 電子ファイル変換プログラム、電子ファイル変換装置、及び電子ファイル変換システム。
CA2662132A1 (en) * 2006-08-28 2008-03-06 Thomson Licensing Method and apparatus for multi-format data exchange
JP2008065546A (ja) * 2006-09-06 2008-03-21 Sony Computer Entertainment Inc データ転送システム、データ転送装置、ファイル形式変換装置、およびデータ転送方法
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
US8103704B2 (en) * 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US8910192B2 (en) 2007-08-08 2014-12-09 Microsoft Corporation Application programming interfaces for transacted file and registry operations
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US20100023555A1 (en) * 2008-07-16 2010-01-28 Macaskill Don System and method for associating a file with one or more other files in an online storage system
US20140033102A1 (en) * 2008-08-29 2014-01-30 Ethan A. Eismann Task-based user workspace
CN101477516B (zh) * 2008-09-10 2010-12-01 北京书生国际信息技术有限公司 一种电子数据处理方法和系统
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
CN101685394A (zh) * 2008-09-26 2010-03-31 国际商业机器公司 用于提供版本间文档兼容性的方法和装置
US8554738B2 (en) * 2009-03-20 2013-10-08 Microsoft Corporation Mitigation of obsolescence for archival services
JP5415848B2 (ja) * 2009-07-03 2014-02-12 株式会社日立システムズ データ共有システム及びデータ共有方法
JP2011016567A (ja) * 2009-07-10 2011-01-27 Kuniharu Nagahashi 複合包装紙材
US9218349B2 (en) * 2009-07-27 2015-12-22 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US20110040824A1 (en) * 2009-08-13 2011-02-17 Google Inc. Shared Server-Side Macros
US8140647B1 (en) * 2009-11-17 2012-03-20 Applied Micro Circuits Corporation System and method for accelerated data uploading
TWI400625B (zh) * 2009-12-01 2013-07-01 Inventec Appliances Corp 電子文書檔檢查與轉換系統及其方法
US9582345B2 (en) * 2009-12-14 2017-02-28 Appfolio, Inc. Systems and methods for importing data from data sources over a network while correcting and transforming the data
US8140735B2 (en) 2010-02-17 2012-03-20 Novell, Inc. Techniques for dynamic disk personalization
TWI414946B (zh) * 2010-03-16 2013-11-11 Hon Hai Prec Ind Co Ltd 電子閱讀器及其編輯文檔的存儲方法
US8631346B2 (en) * 2010-05-12 2014-01-14 Red Hat, Inc. File conversion initiated by renaming of file extension
US9934244B2 (en) 2010-08-13 2018-04-03 At&T Intellectual Property I, L.P. System and method for file format management
US8671385B2 (en) 2011-01-07 2014-03-11 Mastercard International Incorporated Methods and systems for throttling calls to a service application through an open API
US8707276B2 (en) 2011-01-07 2014-04-22 Mastercard International Incorporated Method and system for managing programmed applications in an open API environment
US9083534B2 (en) 2011-01-07 2015-07-14 Mastercard International Incorporated Method and system for propagating a client identity
US8677308B2 (en) 2011-01-07 2014-03-18 Mastercard International Incorporated Method and system for generating an API request message
US9032204B2 (en) 2011-01-07 2015-05-12 Mastercard International Incorporated Methods and systems for providing a signed digital certificate in real time
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
JP5353932B2 (ja) * 2011-03-25 2013-11-27 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理方法
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9098474B2 (en) * 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
JP2013178748A (ja) * 2012-02-01 2013-09-09 Ricoh Co Ltd 情報処理装置、プログラム、情報処理システム及びデータ変換処理方法
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US8850406B1 (en) * 2012-04-05 2014-09-30 Google Inc. Detecting anomalous application access to contact information
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US20130282763A1 (en) * 2012-04-23 2013-10-24 Abb Technology Ag. Data package format library
CN103377406A (zh) * 2012-04-25 2013-10-30 富泰华工业(深圳)有限公司 测试文件管理系统及方法
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
WO2013166520A1 (en) 2012-05-04 2013-11-07 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9268802B2 (en) * 2012-06-26 2016-02-23 Google Inc. System and method for end-to-end exposure of exported representations of native data types to third-party applications
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US8719229B1 (en) * 2012-10-12 2014-05-06 Autodesk, Inc. Cloud platform for managing design data
GB2507191B (en) 2012-10-17 2015-03-04 Box Inc Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9489430B2 (en) 2013-05-14 2016-11-08 Google Inc. System and method for identifying applicable third-party applications to associate with a file
JP5494864B1 (ja) 2013-05-31 2014-05-21 富士ゼロックス株式会社 データ管理装置、情報処理端末及びプログラム
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
JP2015122054A (ja) * 2013-11-25 2015-07-02 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP5626489B1 (ja) * 2014-02-26 2014-11-19 富士ゼロックス株式会社 データ処理装置及びプログラム
US9521176B2 (en) 2014-05-21 2016-12-13 Sony Corporation System, method, and computer program product for media publishing request processing
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US9483477B2 (en) * 2015-01-19 2016-11-01 Sas Institute Inc. Automated data intake system
US10803229B2 (en) * 2015-07-16 2020-10-13 Thinxtream Technologies Pte. Ltd. Hybrid system and method for data and file conversion across computing devices and platforms
CN105224510B (zh) * 2015-09-21 2021-07-09 杭州施强教育科技有限公司 一种文档格式文件的转换方法
TWI580514B (zh) 2015-11-13 2017-05-01 莊旭彬 浮動式夾持機構
KR102500742B1 (ko) * 2021-07-06 2023-02-16 주식회사 한글과컴퓨터 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치 및 그 동작 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8901827A (nl) * 1989-07-14 1991-02-01 Oce Nederland Bv Systeem voor het verwerken van in bestanden georganiseerde gegevens, alsmede beheersmodule ten gebruike daarin en opslagmedium, voorzien van de programmatuur van deze beheersmodule.
JP2702366B2 (ja) 1992-12-16 1998-01-21 株式会社富士通ソーシアルサイエンスラボラトリ プログラム間の自動データ共有方式
DE4243009A1 (de) * 1992-12-19 1994-06-23 Toepholm & Westermann Aps Vaer Schaltungsanordnung für einen integrierten Ausgangsverstärker
US5584023A (en) * 1993-12-27 1996-12-10 Hsu; Mike S. C. Computer system including a transparent and secure file transform mechanism
US5675507A (en) * 1995-04-28 1997-10-07 Bobo, Ii; Charles R. Message storage and delivery system
US5461488A (en) * 1994-09-12 1995-10-24 Motorola, Inc. Computerized facsimile (FAX) system and method of operation
JPH08123714A (ja) * 1994-10-21 1996-05-17 Hitachi Ltd ファイル形式を集中変換するシステム
JPH08235098A (ja) * 1995-02-22 1996-09-13 Mitsubishi Electric Corp 分散アプリケーション通信方式
US5708828A (en) * 1995-05-25 1998-01-13 Reliant Data Systems System for converting data from input data environment using first format to output data environment using second format by executing the associations between their fields
JPH0969059A (ja) 1995-08-31 1997-03-11 Nec Corp ファイル形態変換システム
US6023694A (en) * 1996-01-02 2000-02-08 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US5802511A (en) * 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US5845283A (en) * 1996-04-24 1998-12-01 Lingua Teq, Inc. Method and apparatus for rationalizing different data formats in a data management system
US6029181A (en) * 1996-09-26 2000-02-22 Honeywell, Inc. System and method for translating visual display object files from non-component object model (COM) objects to COM objects
US6212550B1 (en) * 1997-01-21 2001-04-03 Motorola, Inc. Method and system in a client-server for automatically converting messages from a first format to a second format compatible with a message retrieving device
US6157956A (en) * 1997-03-28 2000-12-05 Global Maintech, Inc. Heterogeneous computing interface apparatus and method using a universal character set
JP3671595B2 (ja) * 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
US5923879A (en) * 1997-07-02 1999-07-13 Ncr Corporation Conversion system and method between corba and c/c++ architectures for corba data pairs/couples
US6131129A (en) * 1997-07-30 2000-10-10 Sony Corporation Of Japan Computer system within an AV/C based media changer subunit providing a standarized command set
US6141702A (en) * 1997-07-30 2000-10-31 Sony Corporation Of Japan Model and command set for an AV/C-based disc media player recorder
US6014670A (en) * 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6038565A (en) * 1998-01-16 2000-03-14 International Business Machines Corporation Object oriented data format mapping mechanism
US6151640A (en) * 1998-01-23 2000-11-21 Schneider Automation Inc. Control I/O module having the ability to interchange bus protocols for bus networks independent of the control I/O module
US6088747A (en) * 1998-02-20 2000-07-11 Unisys Corp System for reformatting and burning of data files having a first format onto a compact disk to be utilized in a network using different format
US6128628A (en) * 1998-02-27 2000-10-03 Mci Communication Corporation Meta data processing for converting performance data into a generic format
US6151608A (en) * 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system

Also Published As

Publication number Publication date
EP1411445A3 (en) 2011-06-22
EP0911745A3 (en) 2002-11-27
EP0911745A2 (en) 1999-04-28
DE69829253D1 (de) 2005-04-14
CA2250952A1 (en) 1999-04-27
US6567828B2 (en) 2003-05-20
EP0911745B1 (en) 2005-03-09
JPH11134227A (ja) 1999-05-21
US6385606B2 (en) 2002-05-07
US6377952B1 (en) 2002-04-23
SG95589A1 (en) 2003-04-23
EP1411445A2 (en) 2004-04-21
KR19990037321A (ko) 1999-05-25
US20020095433A1 (en) 2002-07-18
US20010002470A1 (en) 2001-05-31
TW455790B (en) 2001-09-21
DE69829253T2 (de) 2005-12-22

Similar Documents

Publication Publication Date Title
JP4035872B2 (ja) ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
JP3041528B2 (ja) フアイル・システム・モジュール
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
JP3466857B2 (ja) 辞書更新方法および辞書更新システム
US6988101B2 (en) Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system
US7676481B2 (en) Serialization of file system item(s) and associated entity(ies)
CN109564529B (zh) 基于符号链接的占位符
JP3460597B2 (ja) 複合文書管理システム及び複合文書の構造管理方法ならびに複合文書構造管理プログラムを格納した記録媒体
JP2008003847A (ja) 文書利用管理システム、文書管理サーバ及びそのプログラム
JP2004005491A (ja) ピア・ツー・ピア・ファイル共有の方法及びその装置
JP2005018754A (ja) 関連付けを有するコンピュータオブジェクトの共有
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
JPH06290099A (ja) 記憶管理方法及びサブシステム
JP2001101042A (ja) データ管理システム及びデータ管理方法
WO2010097848A1 (ja) ストレージシステム
EP1313033A2 (en) File system, control method, and program
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
JP2001273279A (ja) 電子ファイリングシステムおよび文書作成方法
JP2005157956A (ja) アーカイブ装置およびアーカイブ処理プログラム
JP2001195292A (ja) 電子ファイリングシステムおよび文書作成方法
TW200945067A (en) System for searching a static data transformed from a dynamic data and a method thereof
JP2006252312A (ja) コンテンツ管理システム及びこれに用いるプログラム
TWI227418B (en) Virtual library management system and method for storing data in specified region
KR20010000310A (ko) 개인 캐릭터 제작방법 및 그 방법을 기록한 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040330

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040330

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees