KR19990037321A - 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템 - Google Patents

파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템 Download PDF

Info

Publication number
KR19990037321A
KR19990037321A KR1019980044479A KR19980044479A KR19990037321A KR 19990037321 A KR19990037321 A KR 19990037321A KR 1019980044479 A KR1019980044479 A KR 1019980044479A KR 19980044479 A KR19980044479 A KR 19980044479A KR 19990037321 A KR19990037321 A KR 19990037321A
Authority
KR
South Korea
Prior art keywords
file
conversion
format
program
converted
Prior art date
Application number
KR1019980044479A
Other languages
English (en)
Inventor
시게카즈 이노하라
도요히코 가기마사
후미오 노다
요시마사 마스오카
징후아 민
Original Assignee
가나이 쓰도무
가부시끼가이샤 히다치 세이사꾸쇼
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 가나이 쓰도무, 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가나이 쓰도무
Publication of KR19990037321A publication Critical patent/KR19990037321A/ko

Links

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)

Abstract

여러개의 계산기가 여러개의 파일포맷으로 정보교환을 실행할 때 적합한 파일포맷변환방법과 이것을 사용한 파일시스템, 각종 정보처리시스템 및 전자상거래시스템에 관한 것으로서, 여러개의 파일포맷의 파일 사이의 포맷변환을 사용자의 관여없이 실행하기 위해서, 소정의 포맷을 갖는 제1 파일을 변환프로그램에 의해 이 포맷과는 다른 포맷을 갖는 제2 파일로 변환하는 파일포맷 변환방법으로서,〔a〕 사용자의 어플리케이션에 의해 제2 파일의 1개를 지정하고,〔b〕 제1 파일과 이 제1 파일에서 지정한 제2 파일을 얻는 변환프로그램을 대응시키고,〔c〕 변환프로그램에 의해 제1 파일에서 적어도 1개의 원하는 제2 파일로의 포맷변환을 실행한다.
이것에 의해, 여러가지 포맷변환(1단계이어도 좋고 다단계이어도 좋다)을 사용자의 관여없이 실행할 수 있고, 변환원 파일을 지정하거나 포맷변환의 타이밍을 지정할 필요가 없어 사용자는 항상 최신의 변환지 파일을 이용할 수 있게 된다는 등의 효과가 얻어진다.

Description

파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템
본 발명은 계산기시스템에 관한 것으로서, 특히 사용자에 대해서 여러개의 파일포맷으로 정보를 제공하는 파일시스템의 파일포맷 변환방법에 관한 것이고, 더 구체적으로는 WWW(월드와이드웹;World-Wide Web)에 의해 여러개의 계산기가 여러개의 파일포맷으로 정보교환을 실행할 때 적합한 파일포맷변환방법과 이것을 사용한 파일시스템, 각종 정보처리시스템 및 전자상거래시스템에 관한 것이다.
종래의 기술을 설명하기 전에 우선 몇가지 용어에 대해서 설명한다.
계산기시스템에 있어서는 계산기의 전원이 오프(off)로 되어도 유지되어야 할 데이타를 저장하기 위해서 「2차기억장치」가 사용된다. 현재 사용되고 있는 2차기억장치의 예로서는 하드디스크, 플로피디스크, 광자기디스크 등이 있다.
「파일시스템」은 2차기억장치와 사용자의 응용프로그램(「어플리케이션」) 사이의 데이타의 교환을 담당하는 소프트웨어이다. 파일시스템이 2차기억장치의 데이타를 조작하는 단위는 「파일」이라 불린다. 일반적으로 여러개의 파일이 하나의 2차기억장치에 유지되고 각각의 파일은 「파일명」으로 구별된다. 파일명에는 문자열이 자주 사용된다. 파일시스템은 대부분의 경우 OS(Operating System;오퍼레이팅 시스템)의 일부로서 사용자에게 제공되지만, 라이브러리(library)와 OS의 조합 또는 라이브러리만으로 제공되는 경우도 있다. 즉, 예를 들면 OS가 제공하는 파일시스템과 이 파일시스템에 확장기능을 부가하는 라이브러리를 조합한 소프트웨어도 2차기억장치와 어플리케이션 사이의 데이타의 교환을 담당하는 소프트웨어이면 파일시스템이라 한다.
응용프로그램(어플리케이션)이 실행할 수 있는 파일로의 조작은 어플리케이션과 파일시스템의 API(application program interface)에 의해 정의되고 있다. 특히, 파일의 입출력에 관한 API를 「파일입출력API」라 한다. 파일입출력API에는 개방(open:파일 리드/라이트의 준비), 리드(파일에서 어플리케이션으로의 데이타의 이동), 라이트(어플리케이션에서 파일로의 데이타의 이동), 폐쇄(close:파일 리드/라이트의 종료)가 포함된다. 또, 파일과 디렉토리의 조작에 관한 API를 「파일관리API」라 한다. 파일관리API에는 파일작성, 파일명변경, 파일삭제가 포함된다. 파일입출력API와 파일관리API에 의해 가능하게 되는 파일로의 조작을 총칭해서 「파일조작」이라 한다.
파일내의 데이타가 갖는 구조를 「파일포맷」(또는 간단히 「포맷」)이라 한다. 포맷의 예로서는 「개행문자로 구획된 문자열의 배열」, 「탭문자로 구획된 항목군의 배열」, 「워드프로세서 소프트웨어A의 파일형식」, 「동화상의 프레임(어느 순간에 표시되는 화상)의 배열」 등이 있다. 파일명의 최후의 수개의 문자를 사용해서 파일포맷을 표현하는 것이 있다. 이 파일명의 최후의 수개의 문자를 「확장자」라 한다.
이하, 종래의 기술에 대해서 기술한다.
현재 대부분의 어플리케이션(예를 들면 워드 프로세서, 표계산, 스케쥴관리, 전자메일, 프로그래밍툴 등)이 사용하는 파일은 각각 고유의 포맷을 갖고 있다. 특히, 근래 널리 사용되게 된 퍼스널컴퓨터에서는 대부분의 파일포맷이 사용되고 있고 그 수는 대략 200에나 이른다. 또, 인터넷의 발전에 따라 출현한 WWW(월드와이드웹)에서는 단지 문자뿐만 아니라 정지화상, 동화상, 음성, 컴퓨터그래픽 등 각양각색의 포맷이 사용되고 있다.
일반적으로 모든 어플리케이션이 모든 파일포맷을 액세스할 수는 없다. 이 때문에, 사용자가 임의의 정보를 임의의 파일포맷으로 파일에 저장했다고 해도 다른 어플리케이션에서 그 정보로 액세스하기 위해서 그 파일을 「포맷변환」을 실행할 필요가 생기는 경우가 많다. 포맷변환의 입력으로 되는 파일을 「변환원 파일」, 출력으로 되는 파일을 「변환지 파일」이라 한다.
포맷변환에는 각양각색의 포맷에 관한 다수의 「변환프로그램」에서 〔1〕사용자가 원하는 변환을 실행하는 변환프로그램(또는 여러개의 변환프로그램의 조합)을 선택하는 작업과 〔2〕 선택한 변환프로그램에 대해서 변환원 파일과 변환지 파일을 정확하게 부여하고 적절한 시점에서 변환프로그램을 실행하는 작업이 필요로 된다. 이들 작업은 어플리케이션상에서 실행되는 사용자의 본래의 작업과는 관계없다. 이 때문에, 포맷변환에 관한 사용자의 부담을 가능한한 작게 하는 것이 바람직하다. 특히 상술한 바와 같이 인터넷과 WWW의 이용이 격증하고 있기 때문에, 각양각색의 포맷을 가능한한 간단하게 취급할 수 있는 필요성이 높아지고 있다.
지금까지 주로 상기 〔1〕의 작업을 간단화하기 위해 이하의 방법이 제안되고 있다.
일본국 특허공개공보 평성6-187219호 「프로그램간의 자동데이타 공유방법」(이하, 공지예 1)에서는 이용하는 어플리케이션과 파일의 이름을 사용자가 지시하고, 어플리케이션 데이타 대응표를 검색해서 적절한 변환프로그램을 선택하고 이 어플리케이션에 의해 이 파일을 이용하기 위해 필요한 포맷변환을 실행한다.
이것에 의해, 사용자는 상기 〔1〕의 작업 즉 이 파일을 액세스하기 위해 사용해야할 변환프로그램을 선택하는 작업에서 해방된다. 한편, 〔2〕의 작업 즉 포맷변환을 언제 어느 파일에 대해 실행할지를 지정하는 작업은 여전히 사용자에게 맡겨져 있다. 왜냐하면, 공지예 1의 사용자는 어플리케이션상에서 실행되는 사용자의 본래의 작업에는 필요없다. 변환하고자 하는 파일을 어플리케이션명과 함께 공지예 1의 시스템에 부여하는 작업이 요구되기 때문이다.
또, WWW를 포함하는 현재의 계산기시스템에서는 1개의 어플리케이션이 여러개의 파일포맷을 취급하고 또 1개의 파일포맷을 취급하는 어플리케이션이 여러개 존재한다. 이와 같은 상황에서는 어플리케이션과 파일의 이름을 지정해도 변환방법이 일의적으로 정해지지 않는다. 예를 들면, .tex, .ps, .pdf의 3개의 확장자에 의해 구별되는 3개의 파일포맷이 있고 프로그램A가 .ps와 .pdf를 취급할 수 있는 경우를 고려한다. 사용자가 프로그램A와 파일foo.tex를 지정해도 foo.tex를 foo.ps로 변환할지 foo.pdf로 변환할지는 일의적으로 결정되지 않는다.
일본국 특허공개공보 평성9-69059호 「파일형태변환시스템」(이하, 공지예 2)에서는 변환원 파일명과 변환지 파일명(또는 변환원 파일을 사용하는 어플리케이션명과 변환지 파일을 사용하는 어플리케이션명)을 사용자가 지정하면, 변환프로그램을 선택 또는 조합해서 변환원 파일에서 변환지 파일을 얻는 포맷변환을 실행한다. 이것에 의해, 사용자는 상기 〔1〕의 작업 즉 이 파일을 액세스하기 위해 사용할 변환프로그램을 선택 또는 조합하는 작업에서 해방된다. 한편, 〔2〕의 작업 즉 포맷변환을 언제 어느 파일에 대해서 실행할지의 지정은 사용자가 실행할 필요가 있고 이 부담은 여전히 사용자에게 맡겨져 있다.
또, 복잡한 파일처리과정을 일괄해서 자동화하는 방법으로서는 University of California, Computer Systems Research Group저의 문헌「4.4BSD User's Reference Manual」의 MAKE(1) 장 (O'Reilly&Associates, Inc, 1994)에 기재된 소프트웨어(이하, 공지예 3)이 알려져 있다. 공지예 3은 소스 프로그램에서 2진프로그램으로의 일단계 또는 다단계에 걸친 컴파일작업을 간단화하는 방법이다. 공지예 3도 〔1〕의 과제는 해결할 수 있지만 〔2〕의 과제는 해결할 수 없다.
상술한 바와 같이, 대부분의 제안에도 불구하고 종래의 포맷변환방법에서는 상기 〔2〕의 작업이 사용자에게 부여하는 부담에 대한 배려가 이루어져 있지 않았다. 〔2〕의 작업은 또 이하의 2개의 작업으로 나눌 수 있다.
〔2-a〕 어느 파일을 변환원 파일로 하고 어느 파일을 변환지 파일로 할지를 지정하는 작업. 이 지정을 잘못하면 변환지 파일의 내용이 사용자가 원하는 것으로 되지 않거나 다른 파일의 내용을 파괴할 위험성이 있다. 특히, 포맷변환 이전에는 변환지 파일이 존재하지 않는 경우가 있는 점에 주의할 필요가 있다.
〔2-b〕 포맷변환을 언지 실행할지를 지정하는 작업. 이 지정을 잘못하면 어플리케이션이 오래된 정보로 액세스할 위험성이 있다.
또, 종래의 포맷변환방법에서는 이하의 과제가 있었다.
〔ⅰ〕 변환원 파일과 변환지 파일 사이의 일관성을 취하는 방법이 준비되어 있지 않았기 때문에, 변환원 파일과 변환지 파일에 대략 동시에 라이트가 개시되고 이어지는 포맷변환에 의해 어느 한쪽의 라이트가 소실되는 등의 위험성이 있다.
〔ⅱ〕 다수의 변환지 파일을 유지하기 위해 2차기억영역이 여분으로 필요하게 된다.
〔ⅲ〕 변환원 파일을 어떠한 이유(예를 들면 변환원 파일을 임의의 어플리케이션이 편집중이거나 변환원 파일을 유지하는 2차기억장치의 전원이 오프로 되어 있는 등)에 의해 이용할 수 없는 동안에는 포맷변환을 실행할 수 없다.
본 발명의 목적은 여러개의 파일포맷을 여러개의 어플리케이션에서 이용할 수 있는 현상을 고려해서 상기 〔1〕과 함께 〔2-a〕, 〔2-b〕의 작업에 따른 과제에 부가하여 상기 〔ⅰ〕, 〔ⅱ〕, 〔ⅲ〕의 과제를 해결하고, 여러개의 파일포맷을 이용할 때의 사용자의 수고를 가능한한 저감하는 것이다.
도 1은 제1 실시예의 내부구성의 개략을 도시한 블럭도,
도 2는 제1 실시예에서 사용하는 데이타구조를 도시한 도면,
도 3은 파일작성API의 동작을 설명하는 흐름도,
도 4는 개방API의 동작을 설명하는 흐름도,
도 5는 폐쇄API의 동작을 설명하는 흐름도,
도 6은 제2 실시예의 내부구성의 개략을 도시한 블럭도,
도 7은 제2 실시예에서 변환원 파일의 폐쇄API의 동작을 설명하는 흐름도,
도 8은 본 발명의 퍼스널컴퓨터로의 적용예를 도시한 도면,
도 9는 본 발명의 WWW시스템으로의 적용예를 도시한 도면,
도 10은 본 발명의 WWW시스템으로의 다른 적용예를 도시한 도면,
도 11은 본 발명의 분산검색시스템으로의 다른 적용예를 도시한 도면,
도 12는 본 발명의 전자상거래시스템으로의 적용예를 도시한 도면.
〔2-a〕의 작업에 따른 과제는 변환원 파일과 변환지 파일이 각각 다수 있고 또한 이들 사이의 관계가 미리 부여되어 있지 않은 것에 기인하고 있다. 이 때문에, 어느 파일을 어느 파일로 포맷변환할지를 사용자가 그 때마다 지시할 필요가 있었지만, 본 발명에서는 변환원 파일과 변환지 파일과 변환프로그램 사이의 대응관계(1단계이어도 좋고 다단계이어도 좋다)를 파일시스템중에 유지한다. 이 수단에 의해 포맷변환방법이 변환지 파일에서만 변환원 파일과 변환프로그램을 얻는 것을 가능하게 했을 뿐만 아니라 변환원 파일에서만 1개 이상의 변환지 파일과 대응하는 1개 이상의 변환프로그램을 얻는 것도 가능하게 하였다.
또, 변환지 파일이 변환이전에는 존재하지 않은 경우에 대응하기 위해서 변환원 파일의 파일명에서 변환지 파일의 파일명을 얻는 파일명변환방법을 파일시스템중에 유지한다. 통상 변환지 파일은 포맷변환의 결과로서 생성되지만, 본 발명에서는 변환지 파일을 지정하는 것에 의해 포맷변환을 개시할 수 있도록 해서 사용자의 수고를 저감시킨다. 즉, 포맷변환과 변환지 파일의 어느 하나가 이전에 존재했는지 등의 문제를 파일명변환방법을 구비하는 것에 의해 해결하고 포맷변환을 실행하기 이전에 변환지 파일을 사용자에게 제공하는 것을 가능하게 하였다.
〔2-b〕는 어플리케이션과 포맷변환방법의 연휴(連携)를 취하는 수단이 없는 것 즉 어플리케이션이 어느 파일을 언제 어떻게 조작할지를 포맷변환방법이 아는 기술이 없었던 것에 기인한다. 이 때문에, 종래에는 포맷변환의 기동작업을 어플리케이션에 의한 작업과는 별도로 사용자가 실행해야 했다. 이것에 대해서 본 발명에서는 사용자에 의한 파일입출력API의 발행을 계기로 해서 파일시스템에서 변환프로그램을 기동하여 실행한다.
이상의 두가지 점을 구비하는 것에 의해 본 발명의 포맷변환방법은 어플리케이션이 어느 파일을 조작의 대상으로 하여 액세스가 라이트인지 리드인지를 알 수 있다. 즉, 사용자는 어플리케이션상에서 실행하는 사용자의 본래의 작업을 실행하면 좋고, 그 과정에서 필요로 되는 여러가지 포맷변환(1단계이어도 좋고 다단계이어도 좋다)은 사용자의 관여없이 실행된다. 특히, 파일조작을 계기로 해서 변환프로그램을 실행하기 위해서 포맷변환의 타이밍을 지정할 필요가 없고 사용자는 최신의 변환지 파일을 이용할 수 있게 된다.
또, 본 발명에서는 상기 〔ⅰ〕,〔ⅱ〕,〔ⅲ〕의 과제를 해결하기 위해 각각 이하의 〔Ⅰ〕,〔Ⅱ〕,〔Ⅲ〕의 수단을 마련한다.
〔Ⅰ〕 변환원 파일에 대한 파일입출력API의 실행과 변환지 파일에 대한 파일입출력API의 실행의 배타제어를 실행한다. 즉, 어느 한쪽이 실행되고 있는 동안은 다른쪽을 실행하지 않도록 제어한다. 이것에 의해, 변환원 파일과 변환지 파일의 일관성을 유지할 수 있다.
〔Ⅱ〕 다수의 변환지 파일을 유지하는 것에 의한 2차기억영역의 낭비를 해결하기 위해서 변환지 파일을 필요에 따라 소거한다.
〔Ⅲ〕 변환원 파일을 이용할 수 있는 동안에도 포맷변환을 실행하는 것을 가능하게 하기 위해서 중간파일을 도입하여 변환원 파일에서 중간파일로, 중간파일에서 변환지 파일로의 2단계의 변환을 실행한다.
파일시스템은 파일에 대한 모든 조작요구를 받아들이므로, 파일입출력API를 계기로 한 변환이나 배타제어, 2차기억영역의 낭비의 관리, 중간파일의 관리를 실현할 수 있다. 또, 파일시스템은 대부분의 어플리케이션에 의해 공유되고 있으므로, 본 발명에 의한 파일포맷변환기능을 파일시스템에 구비하는 것에 의해 대부분의 어플리케이션이 본 발명의 효과를 얻을 수 있다.
이하, 본 발명의 실시예를 도면을 참조하면서 설명한다.
도 1과 도 2를 사용해서 본 발명의 제1 실시예의 전체구성을 설명한다. 또한, 도 1에 있어서 굵은 화살표선((154)∼(160), (162)∼(166))은 주요한 데이타의 흐름을, 또 가는 화살표선((150)∼(153), (161), (167))은 주요한 제어의 흐름을 나타낸다.
계산기(10)은 소위 퍼스널컴퓨터, 워크스테이션, 병렬계산기, 대형계산기 등 임의의 컴퓨터이어도 좋다. 2차기억장치(11)은 파일을 보존하는 기억장치이다. 2차기억장치(11)에는 불휘발성 기억장치(자기하드디스크, 광디스크 등)가 자주 사용되지만, 특별한 경우에는 휘발성 기억장치(메인메모리, 캐시메모리 등)가 사용되는 경우도 있다. 계산기(10)과 2차기억장치(11) 사이의 결합에는 여러가지 형태가 고려되지만, 계산기(10)에 파일을 공급할 수 있으면 좋고 특정의 결합형태를 필요로 하지 않는다. 예를 들면, 계산기(10)이 점유하는 통신선에 의한 결합, 여러개의 계산기에 의해 공유되는 네트워크를 거친 결합, 다른 계산기 경유의 결합 등이 대표적인 예로서 고려된다. 또, 계산기(10)에 대해서 2차기억장치(11)을 1개 이상 사용해도 상관없다.
파일시스템(100)은 계산기(10)상에서 동작하는 소프트웨어이다. 파일시스템(100)은 데이타를 파일이라 불리는 단위로 관리, 보존한다. 1개 이상의 파일이 2차기억장치(11)에 유지되고 각각의 파일은 파일명으로 구별된다.
어플리케이션(101), (102)는 사용자가 실행하는 응용프로그램이다. 대부분의 어플리케이션은 파일을 조작하기 위해 파일시스템(100)과의 수수를 실행한다. 어플리케이션(101), (102)가 파일시스템(100)에 대해 요구하는 파일조작은 파일입출력API와 파일관리API를 포함한다.
변환원 파일(130)은 포맷변환의 입력으로 되는 파일이다. 변환지 파일군(131), (131'), …은 포맷변환의 출력으로 되는 파일이다. 또한, 제1 실시예에서는 설명을 명료하게 하기 위해 변환원 파일(130)과 변환지 파일군(131), (131'), …을 별개의 파일로 하고 있지만, 1개의 파일이 변환원 파일(130)이든 변환지 파일(131)이든 상관없다. 또, 도 1에 도시한 변환원 파일과 변환지 파일은 각각 여러개 존재해도 상관없다.
변환프로그램군(103), (103'),…은 파일시스템(100)이 실행하는 포맷변환을 위한 프로그램군이다. 본 실시예에서는 변환프로그램군(103), (103'),…은 파일시스템(100)의 외부에 배치되어 포맷변환을 실행하고 있지만, 파일시스템(100)에 내장해서 파일시스템(100)내에서 포맷변환을 실행해도 상관없다.
변환표(120)은 변환원 파일과 변환지 파일의 조를 변환프로그램에 대응시킨 표이다. 도 2에 도시한 바와 같이 변환표(120)은 1개 이상의 변환표엔트리(200)으로 이루어지고, 1개의 변환표엔트리(200)이 1개의 포맷변환에 대응한다. 변환표엔트리(200)은 또 변환원 포맷(201), 변환지 포맷(202), 변환프로그램(203)을 포함한다. 변환원 포맷(201)은 변환원 파일의 포맷, 변환지 포맷(202)는 변환지 파일의 포맷이다. 변환프로그램(203)은 변환원 포맷(201)의 포맷을 갖는 변환원 파일에서 변환지 포맷(202)의 포맷을 갖는 변환지 파일로의 변환을 실행하는 프로그램으로서, 그 이름(및 필요하다면 기동시 독립변수(argument))을 갖는다.
이름공간표(121)은 파일시스템(100)이 관리하는 파일군의 파일명과 파일시스템내부에서 이용되는 파일ID를 대응시킨다. 도 2에 도시한 바와 같이, 이름공간표(121)은 1개 이상의 이름공간표엔트리(210)으로 이루어지고, 1개의 이름공간표엔트리(210)이 1개의 파일에 대응한다. 이름공간표엔트리(210)은 또 파일명(211)과 파일ID(212)를 포함한다. 파일명(211)은 이름공간표엔트리(210)의 파일의 파일명, 파일ID(212)는 이 파일의 파일ID이다. 파일ID는 파일시스템(100)내부에서 사용되는 파일의 번호이고, 파일ID와 파일은 1대1로 대응한다.
파일표(122)는 파일시스템(100)이 관리하는 파일의 모든 속성을 유지한다. 특히, 파일의 포맷과 (만일, 파일이 변환지 파일이면)변환원 파일을 이 표에 유지한다. 도 2에 도시한 바와 같이, 파일표(122)는 1개 이상의 파일표엔트리(220)으로 이루어지고, 1개의 파일표엔트리(220)이 1개의 파일에 대응한다. 파일표엔트리(220)은 또 파일ID(221), 포맷(222), 변환원 파일ID(224), 토큰ID(225), 파일내용(226)을 포함한다. 파일ID(221)은 이 파일의 파일ID, 포맷(222)는 파일의 파일포맷, 타임스탬프(223)은 이 파일에 최후로 라이트가 있었던 시각, 변환원 파일ID(224)는(만일, 이 파일이 변환지 파일이면) 변환원 파일의 파일ID, 토큰ID(225)는 이 파일에 대해서 할당되어 토큰표(123)에 의해 관리되는 토큰ID이다. 파일내용(226)은 이 파일본체(즉 파일의 데이타를 저장하는 부분이다. 도 1의 변환원 파일(130)이나 변환지 파일군(131), (131'),…) 및 이 파일의 속성이다.
또한, 변환원 포맷(201), 변환지 포맷(202), 포맷(222)에 저장할 포맷의 표현방법으로는 몇가지가 고려되지만, 본 발명은 이 방법에는 의존하지 않는다. 예를 들면, 확장자가 파일의 포맷을 나타내고 있는 계산기시스템에서는 확장자를 저장할 수 있다. 또, 파일내용(226)의 일부 또는 전부에 의해 포맷이 결정되는 경우도 있지만, 이 경우에는 포맷마다 다른 포맷명을 결정해 두고 포맷명을 저장할 수 있다. 제1 실시예에서는 변환원 포맷(201), 변환지 포맷(202), 포맷(222)에 확장자를 저장하는 것으로 한다.
토큰표(123)은 토큰을 관리하는 표이다. 1개의 토큰은 임의의 변환원 파일과 이 변환원 파일에서 변환가능한 변환지 파일군으로 이루어지는 1군의 파일에 대해서 할당된다. 도 2에 도시한 바와 같이, 토큰표(123)은 1개 이상의 토큰표엔트리(230)으로 이루어지고, 1개의 토큰표엔트리(230)이 1개의 토큰에 대응한다. 토큰표엔트리(230)은 또 토큰ID(231)과 파일ID(232)로 이루어진다. 토큰ID(231)은 토큰을 일의적으로 식별하는 번호, 파일ID(232)는 현재토큰을 유지하고 있는 파일의 파일ID이다. 모드(233)은 이 파일의 현재의 개방모드(open mode)를 나타낸다.
삭제후보표(124)는 변환지파일을 열거한 표이다. 2차기억장치의 빈영역을 확보하는 등의 목적으로 변환지파일을 삭제할 때 사용한다. 도 2에 도시한 바와 같이 삭제후보표(124)는 1개 이상의 삭제후보표엔트리(240)으로 이루어지고, 1개의 삭제후보표엔트리(240)이 1개의 삭제가능한 파일에 대응한다. 삭제후보표엔트리(240)은 삭제가능한 파일의 ID인 파일ID(241)을 갖는다.
도 1의 포맷변환제어부(110)은 어플리케이션(101), (102)에서 발행되는 파일입출력API 및 파일관리API의 호출(API콜)을 수취하고 포맷변환을 제어하는 부분이다(제어의 상세한 것은 후술한다).
설정프로그램(104)는 파일시스템(100)에 의한 포맷변환의 동작을 사용자가 설정, 변경하기 위한 포맷변환설정API를 포맷변환설정부(111)에 대해서 발행하는 프로그램이다. 포맷변환설정부(111)은 사용자로 부터의 포맷변환설정API를 받고(161), 변환표(120)과 파일표(122)를 변경한다. 포맷변환설정API는 변환표(120)의 각 엔트리(200) 및 파일표(122)의 각 엔트리(210)을 참조해서 변경한다(162).
또한, 변환표(120), 파일표(122), 이름공간표(121), 토큰표(123) 및 삭제후보표(124)는 모두 주기억상이나 2차기억상 중의 한쪽 또는 양쪽에 있어도 상관없다. 또, 변환표(120), 파일표(122), 이름공간표(121), 토큰표(123) 및 삭제후보표(124)는 모두 파일시스템(100)의 외부에 보존되어도 상관없다. 예를 들면, 파일시스템(100)과 별도의 프로그램이 있고 변환표(120), 파일표(122), 이름공간표(121), 토큰표(123) 및 삭제후보표(124)의 일부 또는 전부에 대한 참조와 갱신을 제공하고 있고 파일시스템(100)이 이 프로그램을 경유해서 각 표로 액세스해도 상관없다.
이하, 제1 실시예의 동작을 설명한다. 본 발명이 특징을 발휘하는 이하의 3개의 경우를 상정하고 차례로 설명한다. 〔1〕 제1 어플리케이션(101)이 변환원 파일(130)을 작성한다. 〔2〕 제1 어플리케이션(101)이 변환원 파일(130)에 대해서 리드 및 라이트를 실행한다. 〔3〕 2차기억장치(11)의 빈영역이 부족했을 때 변환지 파일(131)을 소거한다. 또한, 여기에서는 설명을 간단하게 하기 위해 제1 어플리케이션(101)과 제2 어플리케이션(102)로 하고 있지만, 이 수 및 종류는 1예에 지나지 않는다. 어플리케이션의 수 및 종류는 1개이어도 3개 이상이어도 상관없다.
〔1〕어플리케이션에 의한 파일의 작성
제1 어플리케이션(101) 또는 제2 어플리케이션(102)는 파일시스템(100)의 파일작성API를 생성대상의 제1 파일의 제1 파일명과 함께 기동시키는 것에 의해 파일작성을 파일시스템(100)에 의뢰한다((150), (152)). 이 때, 파일시스템(100)은 도 3에 도시한 처리를 실행한다.
우선, 제1 파일명을 이름공간표(121)에 등록한다((155), 스텝301). 구체적으로는 새로운 이름공간표엔트리(210)을 이름공간표(121)에 할당하고, 파일ID(212)에 다른 파일에 아직 할당되어 있지 않은 제1 파일ID를 저장하고, 파일명(211)에 제1 파일명을 저장한다.
다음에, 제1 파일을 파일표(122)에 등록한다((156), 스텝302). 구체적으로는 새로운 파일표엔트리(220)을 파일표(122)에 할당하고, 파일ID(221)에 제1 파일ID를, 파일명의 확장자에서 결정한 포맷(222)에 제1 파일의 제1 포맷을, 타임스탬프(223)에 현재시각을, 변환원 파일ID(224)에 「비어있음(empty)」을, 토큰ID(225)에 아직 어느 토큰에도 할당되어 있지 않은 제1 토큰ID를, 파일내용(226)의 파일본체(즉 변환원 파일(130))에 「비어있음」을 각각 저장한다(159). 또한, 파일내용(226)이 결정되지 않으면, 파일의 포맷을 알 수 없는 계산기시스템의 경우에는 예를 들면 포맷(222)에 「비어있음」을 넣어 두고, 후에 제1 파일에 대한 라이트등에 의해 파일내용(226)이 얻어지고 나서 포맷(222)를 저장한다.
다음에, 제1 파일에 대응하는 토큰을 토큰표(123)에 등록한다((157), 스텝303). 구체적으로는 새로운 토큰표엔트리(230)을 토큰표(123)에 할당하고, 토큰ID(231)에 제1 토큰ID를, 파일ID(232)에 「비어있음」을 저장한다.
다음에, 1개 이상의 제1 변환지 파일명을 제1 파일명과 변환표(120)에서 생성한다((154), 스텝304). 구체적으로는 변환표(120)에 저장되어 있는 변환표엔트리(200)중 변환원 포맷(201)이 제1 포맷과 동일한 1개 이상의 제1 변환표엔트리를 검색한다. 그리고, 제1 변환표엔트리의 각각에 대해서 제1 파일명에서 확장자를 제거하고 대체 확장자로서 변환지 포맷(202)를 부여한 것을 변환지 파일명으로 한다. 이것이 제1 실시예에 있어서의 파일명변환방법이다.
다음에, 생성한 상기 변환지 파일명의 각각에 대해서(스텝305의 판정이 N인 동안) 스텝(306)과 스텝(307)의 처리를 실행한다. 구체적으로는 스텝(301)과 마찬가지의 방법으로 상기 변환지 파일명을 이름공간표(121)에 등록하고((155), 스텝306), 변환지 파일을 파일표(122)에 등록한다((156), 스텝307). 변환지 파일의 파일표(122)로의 등록에서는 새로운 파일표엔트리(220)을 파일표(122)에 할당하고, 파일ID(221)에 제1 파일ID를, 파일명의 확장자에서 결정한 포맷(222)에 제1 파일의 제1 포맷을, 타임스탬프(223)에 「비어있음」을, 변환원 파일ID(224)에 제1 파일ID를, 토큰ID(225)에 제1 토큰ID를, 파일내용(226)의 파일본체(즉 변환지 파일군(131), (131'), …중의 어느 하나)에 「비어있음」을 저장한다(160). 또, 변환지 파일이 또 변환원 파일로 될 수 있는 경우 즉 다단계의 변환이 가능한 경우 변환지 파일의 파일명을 또 파일명변환방법에 의해 변환하고, 얻어진 파일명 및 파일을 본 단락의 수순으로 이름공간표(121)과 파일표(122)에 각각 등록한다.
스텝(304)에서 생성한 모든 변환지 파일명을 처리했으면(스텝305의 판정이 Y), 나머지 파일생성조작을 실행한다(스텝308). 이 조작중에서 예를 들면 2차기억장치(11)로의 디스크블럭의 할당, 파일의 소유자, 액세스권, 생성시각 등의 속성의 설정 등을 실행하는 경우가 있지만, 이들은 이미 공지이고 본 발명의 특징과는 직접 관계없으므로 이 이상 설명하지 않는다.
이상의 파일작성API가 종료한 시점에서 파일시스템(100)은 제1 어플리케이션(101) 또는 제2 어플리케이션(102)에 대해 결과를 반송한다((151), (153)). 이 결과는 파일ID(또는 파일ID를 간접으로 나타내는 번호)이다.
이상이 제1 실시예에 있어서 새로운 파일을 생성할 때의 동작이다. 상술한 바와 같이 제1 실시예의 파일시스템은 변환원 파일의 파일명에서 변환지 파일의 파일명을 얻는 파일명변환방법을 파일시스템이 갖는다. 이것에 의해, 사용자가 파일작성API에 의해 직접 작성을 의뢰한 제1 파일이 작성되는 것에 부가해서 제1 파일을 변환원 파일로 하는 1개 이상의 변환지 파일이 파일시스템에 의해 생성된다.
또한, 제1 실시예에서는 변환원 파일의 작성조작을 계기로 해서 변환지 파일의 파일명을 생성했지만, 예를 들면 사용자가 디렉토리의 표시조작 또는 검색조작을 계기로 하는 것도 가능하다. 변환지 파일의 파일명이 생성되는 디렉토리에 「파일명생성을 실행할 필요가 있음」의 표시를 해 두고, 후에 이 디렉토리를 표시 또는 검색할 때 실제의 파일명생성을 실행한다. 이렇게 하는 것에 의해, 파일명생성의 처리를 지연하고 변환원 파일의 작성조작을 보다 고속으로 하는 것이 가능하다. 또, 「파일명생성을 실행할 필요가 있음」의 표시가 되어 있는 파일을 일정시간후 또는 일정시간마다 찾아내어 변환지 파일의 파일명을 생성해도 좋다.
〔2〕 어플리케이션에 의한 파일로의 리드/라이트
어플리케이션군((101), (102))에 의한 제1 파일로의 라이트는 개방API를 사용해서 라이트모드에 의해 제1 파일을 개방하고, 라이트API 또는 리드API를 사용해서 데이타를 리드 및 라이트하고, 폐쇄API를 사용해서 제1 파일을 폐쇄하는 등의 수순으로 실행한다. 또한, 계산기시스템에 의해서는 개방API나 폐쇄API가 없는 경우도 고려된다. 이와 같은 경우에는 리드API, 라이트API가 매회 개방과 폐쇄를 각각의 API처리의 최초와 최후에 실행하는 것으로 간주해서 본 발명을 적용할 수 있다.
개방API의 동작을 도 4를 사용해서 설명한다. 제1 실시예의 개방API는 제1 파일의 제1 파일명과 개방모드(리드, 라이트 또는 양쪽)를 수반해서 어플리케이션군((101), (102))에서 호출된다((150), (152)).
우선, 제1 파일과 변환가능한 파일군의 리드/라이트의 일관성을 유지하기 위해서 토큰을 취득한다(스텝401). 구체적으로는 이름공간표(121)중에서 파일명(211)이 제1 파일명과 동일한 이름공간표엔트리(210)을 검색하고(154), 이 제1 이름공간표엔트리의 파일ID(212)와 동일한 파일ID(221)을 갖는 파일표엔트리(220)을 검색하고(156), 이 제1 파일표엔트리의 토큰ID(225)와 동일한 토큰ID(231)을 갖는 토큰표엔트리(230)을 토큰표(123)중에서 검색한다(157). 그리고, 이 제1 토큰표엔트리의 파일ID(232)가 「비어있음」으로 될때까지 대기하고, 파일ID(232)에 제1 파일표엔트리의 토큰ID(225)를 저장한다. 모드(233)에는 개방모드를 저장한다. 본 실시예에서는 토큰에 의해 변환가능한 파일군으로의 파일조작을 모두 직렬화하고 있지만, 2개 이상의 라이트API(또는 2개 이상의 라이트개방API)를 금지하는 토큰취득, 해방알고리듬을 사용해도 상관없다.
다음에, 제1 파일이 변환지 파일인지(Y) 변환지 파일이 아닌지(N)을 판정한다(스텝402). 구체적으로는 상기 제1 파일표엔트리의 변환원 파일ID(224)가 「비어있음」이 아니면 제1 파일은 변환지 파일이다.
스텝(402)의 판정에 의해 제1 파일이 변환지 파일이 아니면(N) 후술하는 스텝(408)로 제어를 이동시키고, 제1 파일이 변환지 파일이면(Y) 제1 파일의 제1 변환원 파일을 결정한다(스텝403). 구체적으로는 제1 파일표엔트리의 변환원 파일ID(224)가 제1 변환원 파일의 파일ID이다. 이 파일ID와 동일한 파일ID(221)을 갖는 파일표엔트리(220)을 검색해서 이 제2 파일표엔트리로 한다.
다음에, 변환지 파일인 제1 파일이 제1 변환원 파일의 최신의 내용을 반영하고 있는지를 확인한다. 제1 파일표엔트리의 타임스탬프(223)이 「비어있음」 또는 「제1 파일표엔트리의 타임스탬프(223)<제1 파일표엔트리의 타임스탬프(223)」이면(스텝404의 판정이 Y) 최신의 내용을 반영하고 있지 않다.
이 경우에는 우선 변환원 파일을 개방하고(스텝405), 변환프로그램을 선택해서 실행한다(스텝406). 구체적으로는 변환표(120)중에서 변환지 포맷(202)가 제1 파일표엔트리의 포맷(222)와 동일하고 또한 변환원 포맷(201)이 제2 파일표엔트리의 포맷(222)와 동일한 변환표엔트리(200)을 검색하고((154), (156)), 제2 파일표엔트리의 파일ID(221)로 나타내는 파일을 개방한다(스텝405). 그리고, 이 제1 변환표엔트리의 변환프로그램(203)을 기동한다((167), 스텝406). 이 때, 변환프로그램(203)으로의 입력으로서 제2 파일표엔트리의 파일내용(226)의 파일본체를 인가하고(163), 변환프로그램(203)의 출력을 제1 파일표엔트리의 파일내용(226)의 파일본체에 저장한다(164). 이 때, 제2 파일표엔트리의 파일내용(226)의 파일본체가 파일시스템(100)중에 없으면, 2차기억장치(11)에서 추출한다(165). 또, 변환프로그램(203)종료후, 제1 파일표엔트리의 파일내용(226)의 파일본체를 2차기억장치(11)에 라이트한다(166). 또한, 제1 파일표엔트리의 파일내용(226)의 파일본체를 2차기억장치(11)에 라이트하는 것은 반드시 필요한 것은 아니다. 변환이 종료되면 제2 파일표엔트리의 파일ID(221)로 나타내는 파일을 후술하는 방법에 의해 폐쇄한다(스텝407).
그리고, 변환지 파일의 타임스탬프를 현재시각으로 설정한다((156), 스텝408). 구체적으로는 제1 파일표엔트리의 타임스탬프(223)에 현재시각을 저장한다.
또, 스텝(402)에서 변환지 파일의 타임스탬프가 「비어있음」이었으면 변환지 파일을 삭제후보표(124)에 등록한다((158), 스텝409). 구체적으로는 삭제후보표(124)에 새로운 삭제후보표엔트리(240)을 할당하고, 이 삭제후보표엔트리의 파일ID(241)에 제1 파일표엔트리의 파일ID(221)을 저장한다.
한편, 스텝(404)의 판정이 N이면 제1 파일은 제1 변환원 파일의 최신의 내용을 반영하고 있으므로, 스텝(410)에서 나머지 파일개방조작을 실행한다. 이 조작중에 파일포인터의 초기화, 주기억상의 리드/라이트용 버퍼의 할당, 파일액세스권한의 확인 등을 실행하는 경우가 있지만, 이들은 이미 공지이고 본 발명의 특징과도 직접 관계없으므로 이 이상 설명하지 않는다.
이상의 개방API가 종료한 시점에서 파일시스템(100)은 이 개방API를 호출한 어플리케이션에 대해 이 개방API가 종료한 것을 통지한다((151), (153)).
다음에, 라이트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)).
다음에, 리드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)).
다음에, 도 5를 사용해서 폐쇄API의 동작을 설명한다.
제1 실시예의 폐쇄API는 개방API에 의해 개방된 상기 제1 파일의 제1 파일ID를 수반해서 어플리케이션군((101), (102))에서 호출된다((150), (152)).
제1 파일의 개방이 라이트모드이고 제1 파일이 변환원 파일인지를 검사한다(스텝501). 개방이 라이트모드인지 아닌지는 이하의 방법에 의해 검사한다. 제1 파일ID와 동일한 파일ID(221)을 갖는 파일표엔트리(220)을 검색하고(156), 이 제1 파일표엔트리의 토큰ID(225)와 동일한 토큰ID(231)을 갖는 토큰표엔트리(230)을 토큰표(123)중에서 검색한다(157). 그리고, 이 제1 토큰표엔트리의 모드(233)이 라이트모드인지를 검사한다. 또, 제1 파일표엔트리의 변환원 파일ID(224)가 「비어있음」이면 제1 파일이 변환원 파일이고, 「비어있음」이외이면 제1 파일은 변환지 파일이다(156).
스텝(501)이 Y이면 스텝(502) 이하를 실행한다. 구체적으로는 제1 파일표엔트리의 타임스탬프(223)에 현재시각을 저장한다(156). 한편, 스텝(501)이 N이면 스텝(503)으로 제어를 이동시킨다.
다음에, 토큰을 해방한다(스텝503). 구체적으로는 제1 토큰표엔트리의 파일ID(232)와 모드(233)에 「비어있음」을 저장한다(157).
마지막으로, 스텝(504)에서 나머지 파일 폐쇄조작을 실행한다. 이 조작중에 주기억상의 리드/라이트용 버퍼의 해방, 파일내용의 2차기억장치(11)로의 라이트 등을 실행하는 경우가 있지만, 이들은 이미 공지이고 본 발명의 특징과도 직접 관계없으므로 이 이상 설명하지 않는다.
이상의 폐쇄API가 종료한 시점에서 파일시스템(100)은 이 폐쇄API를 호출한 어플리케이션에 대해서 이 폐쇄API가 완료한 것을 통지한다(151, 153).
이상 기술한 바와 같이 제1 실시예의 파일시스템에서는 주로 변화표(120)에 변환원 파일과 변환지 파일과 변환프로그램 사이의 대응관계(1단계이어도 좋고 다단계이어도 좋다)를 파일시스템중에 유지하고 어느 파일을 어느 파일로 변환할지를 사용자가 그 때마다 지시할 필요를 없애고 있다.
또, 제1 실시예는 파일로의 리드/라이트시에 반드시 어플리케이션이 실행하는 동작(개방API와 폐쇄API, 리드API나 라이트API이어도 상관없다)을 포맷변환의 계기로서도 사용한다. 이것에 의해, 제1 실시예의 포맷변환방법은 어플리케이션의 동작을 파일시스템을 통해서 순차 알고 대응하는 동작을 실행할 수 있다. 반대로, 어플리케이션은 포맷변환방법의 동작을 전혀 의식하는 일이 없지만 사용자의 작업을 진행하기 위해 필요한 변환은 순차 실행된다.
또, 제1 실시예에서는 주로 토큰표(123)과 타임스탬프(223)을 사용해서 변환원 파일의 최신의 내용을 변환지 파일로 반영시키고 또한 어플리케이션이 변환원 파일과 변환지 파일에 대해서 동시에 리드/라이트를 요구한 경우에도 이들을 조정해서 변환원 파일과 변환지 파일의 일관성을 유지한다.
〔3〕 변환지 파일의 소거
2차기억장치(11)의 빈영역이 적어진 경우 변환지 파일군(131), (131'), …을 소거할 수 있다. 이것은 이하의 수순으로 실행한다.
파일시스템(100)은 정기적으로 2차기억장치(11)의 빈영역의 감시를 실행하고, 빈영역의 양이 일정 이하로 되면 삭제후보표(124)에 포함되는 삭제후보표엔트리(240)의 각각에 대해서(158) 이하의 처리를 실행한다.
삭제후보엔트리의 파일ID(241)과 동일한 파일ID(221)을 갖는 파일표엔트리(220)을 파일표(122)에서 검색한다(156). 그리고, 이 파일표엔트리의 토큰ID(225)와 동일한 토큰ID(231)을 갖는 토큰표엔트리(230)을 토큰표(123)에서 검색하고(157), 이 토큰표엔트리의 파일ID(232)가 이 파일표엔트리의 파일ID(221)과 다르면, 이 파일표엔트리의 파일내용(226)의 파일본체를 「비어있음」으로 하고, 타임스탬프(223)에 「비어있음」을 저장한다(156).
이상의 조작에 의해, 2차기억장치(11)의 빈영역이 적어진 경우에 현재사용되고 있지 않은 변환지 파일의 파일내용을 모두 삭제하여 빈영역을 증가시킬 수 있다. 변환지 파일의 파일내용을 삭제했다고 해도 새로 사용자가 변환지 파일을 참조한 경우에는 상술한 바와 같이 포맷변환이 사용자의 관여없이 기동되고, 이 변환지 파일의 파일내용은 재차 충전된다. 이 때문에, 사용자는 변환지 파일의 파일내용이 삭제된 것을 전혀 의식하지 않고 작업을 진행할 수 있다.
〔4〕 포맷변환의 타이밍
본 제1 실시예에서는 개방API와 폐쇄API의 처리중에 포맷변환을 기동하고 있지만, API를 계기로 해서 다른 기동타이밍에서 포맷변환을 실행해도 상관없다.
예를 들면, 변환원 파일의 라이트API후 일정시간 경과후에 포맷변환을 실행해도 좋다. 예를 들면, 어플리케이션이 라이트API를 실행한 시점에서 파일시스템(100)이 타이머를 T1초후(T1은 소정수)로 설정하고 어플리케이션으로 제어를 이동시킨다. 그리고, T1초 이내에 이어지는 라이트API가 발행되면 재차 타이머를 T1초 후로 재설정한다. 한편, T1초 이내에 이어지는 라이트API가 발행되지 않으면 포맷변환을 실행한다. 이와 같이 하면, 라이트API의 발행이 연속해서 실행되는 동안은 포맷변환을 억제하고 라이트API의 발행이 정지된 후 잠시후에 포맷변환을 실행하여 변환지 파일군으로 최신의 내용을 전달하는 등의 동작을 실행할 수 있다.
또, 제1 실시예에서는 개방API의 발행과 동기해서 포맷변환을 실행하고 있었지만, 상기의 라이트API와 마찬가지로 폐쇄API의 처리후 잠시후에 파일시스템(100)이 자발적으로 포맷변환을 실행하는 것도 가능하다. 이렇게 하면, 개방API의 실행시에는 포맷변환을 실행하지 않아도 좋은 경우가 증가하므로, 개방API를 보다 고속으로 실행할 수 있게 된다. 자발적인 포맷변환의 타이밍으로서는 폐쇄API의 T2초후(T2는 소정수) 통상업무가 종료하는 심야 S시부터(S는 적당한 시각) 또는 계산기(10)의 CPU부하가 L이하로 된 시점(L은 적당한 CPU부하지표)에서 등과 같은 선택기점이 고려되고 어느쪽도 유효하다. 이들 자발적인 포맷변환은 API발행을 계기로 한 포맷변환과 병용하는 것에 의해 변환지 파일이 최신인 것을 보증하는 것이 바람직하다.
다음에, 도 6을 사용해서 제2 실시예의 전체구성을 설명한다. 제2 실시예는 제1 실시예의 주요부분을 분산시스템(2개 이상의 계산기가 네트워크에 의해 결합된 계산기시스템)으로 확장해서 2단계변환을 실행하는 것이다.
또한, 도 6에 도시한 계산기, 네트워크, 어플리케이션, 변환프로그램, 변환원 파일, 변환지 파일의 수와 구성은 1예에 지나지 않고 본 발명은 이것에 한정되는 것은 아니다. 또, 도 6은 네트워크(12)를 거쳐서 2개의 계산기(10), (10')가 결합한 구성을 취하고 있지만, 제2 실시예에서 실행하고 있는 처리를 하나의 계산기상에서 실현해도 상관없다.
계산기(10')는 제1 실시예에서 설명한 계산기(10)과 마찬가지로 소위 퍼스널컴퓨터, 워크스테이션, 병렬계산기, 대형계산기 등 임의의 컴퓨터이어도 좋다. 도 6에는 2차기억장치를 도시하고 있지 않지만, 계산기(10)도 계산기(10')도 2차기억장치를 갖고 있어도 좋다.
네트워크(12)는 계산기(10)과 계산기(10') 또는 다른 계산기를 결합한다. 여기에서, 네트워크(12)는 임의의 단체(기업이나 학교나 유사 단체)의 전체나 일부문에서 자주 사용되는 LAN이나 WAN(인트라넷이라 불리는 경우가 있다)이어도 좋고, 또 지리적으로 분산된 여러개의 지점을 결합하는 WAN의 일부 또는 전부이어도 좋다. 즉, 네트워크(12)는 인터넷의 일부 또는 전부이어도 좋다. 인터넷은 아메리카합중국을 중심으로 발전한 컴퓨터네트워크이다. 통신프로토콜로서 주로 TCP/IP(Transmission Control Protocol/Internet Protocol의 약칭)를 사용한다. 또, 네트워크(12)는 계산기간 결합망이나 병렬계산기 내부의 프로세서요소간의 결합망이어도 좋다.
파일시스템(100')는 제1 실시예에서 설명한 파일시스템(100)과 동일한 기능을 갖는 소프트웨어이다. 포맷변환제어부(110')는 포맷변환제어부(110)과 각각 동일한 기능을 갖는 소프트웨어이지만, 이하에 기술한 바와 같이 폐쇄API의 동작이 제1 실시예와는 다르다.
파일시스템(100)과 파일시스템(100')는 각각 변환표(120), 파일표(122), 이름공간표(121), 토큰표(123), 삭제후보표(124)를 갖는다(도 6에는 도시하고 있지 않다).
이하, 제2 실시예의 동작을 설명한다. 제2 실시예의 특징으로서 어플리케이션(101)이 변환원 파일(130)을 작성해서 라이트하고, 어플리케이션(102)가 변환원 파일(130)에서 변환된 변환지 파일(131)을 리드하는 경우를 상정해서 설명을 실행한다.
어플리케이션(101)은 파일시스템(100)의 파일작성API를 생성대상의 제1 파일의 제1 파일명과 함께 기동시키는 것에 의해 변환원 파일(130)의 작성을 파일시스템(100)에 의뢰한다(150). 이 때, 파일시스템(100)은 제1 실시예에서 이미 설명한 처리를 도 3의 흐름도에 따라 실행한다. 여기에서 변환원 파일(130)은 도 6에 도시한 바와 같이 변환프로그램(603) 및 중간파일(130')에 대응되어 있다. 포맷변환 제어부(110)은 개방API의 도중에 중간파일로서 사용하는 중간파일(130')를 생성하기 위해 포맷변환제어부(110')와 통신을 실행하고(650), 포맷변환 제어부(110')가 중간파일(130')를 생성한다.
다음에, 어플리케이션(101)이 파일시스템(100)에 대해서 변환원 파일(130)을 개방하고 라이트를 실행하고 폐쇄한다(150). 이 일련의 조작에 의해 변환원 파일(130)의 파일내용이 저장된다. 변환원 파일(130)의 개방API는 도 4를 사용해서 이미 설명한 수순으로 실행한다. 또, 변환원 파일(130)의 라이트API도 제1 실시예에서 이미 설명한 수순으로 실행한다. 계속되는 어플리케이션(101)로의 폐쇄API의 처리는 포맷변환 제어부(110)이 도 7에 따라 실행한다. 이하, 이 수순을 설명한다.
제2 실시예의 변환원 파일(130)의 폐쇄API는 개방API에 의해 개방된 변환원 파일(130)의 제1 파일ID를 수반해서 어플리케이션군((101), (102))에서 호출된다(150). 폐쇄의 대상으로 되고 있는 제1 파일의 개방이 라이트모드이고 제1 파일이 변환원 파일인지(Y) 변환원 파일이 아닌지(N)를 검사한다(스텝701). 개방이 라이트모드인지 아닌지는 이하의 방법에 의해 검사한다. 제1 파일ID와 동일한 파일ID(221)을 갖는 파일표엔트리(220)을 검색하고, 이 제1 파일표엔트리의 토큰ID(225)와 동일한 토큰ID(231)을 갖는 토큰표엔트리(230)을 토큰표(123)중에서 검색한다. 그리고, 이 제1 토큰표엔트리의 모드(233)이 라이트모드인지를 검사한다. 또, 제1 파일엔트리의 변환원 파일ID(224)가 「비어있음」이면 제1 파일이 변환원 파일이고, 「비어있음」이외이면 제1 파일은 변환지 파일이다. 스텝(701)의 판정이 Y이면 스텝(702)∼스텝(707)을 실행한다. 한편, 스텝(701)의 판정이 N이면 스텝(703)과 스텝(704)를 실행한다.
스텝(702)에서는 제1 파일표엔트리의 타임스탬프(223)에 현재시각을 저장한다(156).
다음에, 토큰을 해방한다(스텝703). 구체적으로는 제1 토큰표엔트리의 파일ID(232)와 모드(233)에 「비어있음」을 저장한다(157).
다음에, 스텝(704)에서 나머지 파일 폐쇄조작을 실행한다. 이 조작중에 주기억상의 리드/라이트용 버퍼의 해방, 파일내용의 2차기억장치(11)로의 라이트 등을 실행하는 경우가 있지만, 이들은 이미 공지이고 본 발명의 특징과도 직접 관계없으므로 이 이상 설명하지 않는다.
다음에, 스텝(705)에서 제1 파일에 대한 변환지 파일을 결정한다. 구체적으로는 파일표(122)중에서 변환원 파일ID(224)가 제1 파일ID와 동일한 파일표엔트리(220)을 검색한다. 이 파일표엔트리가 변환지 파일의 파일표엔트리이다.
다음에, 스텝(706)에서 이 변환지 파일을 리드모드에 의해 개방한다. 이 스텝의 처리는 도 4에서 이미 설명한 것이다.
다음에, 스텝(707)에서 제1 파일을 폐쇄한다. 이 스텝의 처리는 도 5에서 이미 설명한 것이다.
이상의 폐쇄API가 종료한 시점에서 파일시스템(100)은 이 폐쇄API를 호출한 어플리케이션에 대해서 이 폐쇄API가 완료한 것을 통지한다(151). 특히, 스텝(706)에서 변환지 파일을 개방하고 있는 점이 이 개방API처리의 특징이다. 이 개방에 의해 변환프로그램(603)에 의해서 변환원 파일(130)의 최신정보가 중간파일(130')로 전달된다. 또, 이 개방에 의해 중간파일(130')를 변환원 파일로 한 변환지 파일의 파일명이 이름공간표(121)에 등록된다.
다음에, 어플리케이션(102)가 파일시스템(100')에 대해서 변환지 파일(131)을 개방하고 리드를 의뢰한다(152). 이 때, 파일시스템(100')는 도 4에 따라서 제1 실시예에서 이미 설명한 처리를 실행한다. 단, 제2 실시예에 있어서 변환지 파일(131)은 변환프로그램(103)과 중간파일(130')에 대응되어 있다. 이 때문에, 변환지 파일(131)의 개방API조작은 중간파일(130')를 입력변환지 파일(131)의 출력으로 해서 변환프로그램(103)을 기동시키는 포맷변환조작을 야기시킨다.
이상이 어플리케이션(101)이 변환원 파일(130)을 작성해서 라이트하고, 어플리케이션(102)가 변환원 파일(130)을 작성해서 라이트하고, 어플리케이션(102)가 변환원 파일(130)에서 변환된 변환지 파일(131)을 리드하는 경우의 제2 실시예의 동작이다.
제2 실시예에서는 계산기(10)에 있는 변환원 파일(130)으로의 변경이 즉시 계산기(10')로 전달된다. 이 결과, 계산기(10)의 전원이 오프로 되거나 계산기(10)의 2차기억장치가 고장나거나 해서 변환원 파일(130)이 일시적 또는 영속적으로 이용불가능하게 되어도 계산기(10')의 중간파일(130'), 변환지 파일(131), (131'), …은 계산기(10')상의 어플리케이션에서 이용가능하다.
이 특징은 특히 계산기(10)이 사용자가 자주 이용하는 퍼스널컴퓨터나 휴대형 컴퓨터이고 계산기(10')가 다수의 사용자가 이용하는 WWW서버 등의 공유정보서버인 경우에 특히 효과가 있다. 왜냐하면, 계산기(10)의 사용자가 계산기(10)의 전원을 차단하거나 네트워크와 계산기(10)의 접속을 끊어도 계산기(10')를 경유해서 변환원 파일(130)의 정보를 공유하고 있는 사용자에게는 아무런 문제가 없고, 또 계산기(10') 를 경유해서 변환원 파일(130)의 정보를 공유하고 있는 사용자가 있는 동안에도 이들 사용자에게 변환지 파일군(131), (131'),…의 이용을 중단시키지 않고 계산기(10)의 사용자가 변환원 파일(130)을 갱신할 수 있기 때문이다. 이 경우, 변환프로그램(603)은 단순한 컴퓨터프로그램이어도 상관없다.
변형예 1 : 파일단위의 변환지정
상기 제1, 제2 실시예에서는 변환표(120)을 사용해서 변환원 포맷에서 변환지 포맷으로의 대응을 실행하고 있다. 그러나, 본 발명은 포맷단위의 대응처리에 한정되는 것은 아니다. 특히, 변형예 1로서 변환표에 변환원 파일에서 변환지 파일로의 대응을 저장할 수 있도록 해도 상관없다. 이것을 실행하기 위해서는 변환표엔트리(200)의 내부구조를 변환원 포맷(201)과 변환지 포맷(202)와 변환프로그램(203)의 조가 아니라 변환원 파일(ID)와 변환지 파일(ID)와 변환프로그램(203)의 조로 하고, 개방API나 폐쇄API에 의해 변환표(120)을 검색할 때 파일ID를 사용하면 좋다. 또, 실시예 1의 변환표(120)과 변형예 1의 변환표의 2개의 형식을 1개의 변환표에 현재시키는 실시방법이어도 상관없다.
변형예 2: 변환원 파일의 은폐
사용자의 상황에 따라서는 파일시스템이 변환원 파일을 은폐하고 변환지 파일만을 제공하는 쪽이 좋다는 경우도 있다. 예를 들면, 제1 실시예에서 변환원 파일(130)이 리드 라이트가능한 포맷이고, 변환지 파일군(131), (131'), …이 리드만 가능한 포맷인 경우, 변환원 파일(130)을 작성한 사용자는 다른 사용자에게 변환지 파일군(131), (131'), …만 액세스시키는 것에 의해 변환원 파일(130)의 변경을 방지할 수 있다.
또, 제2 실시예에서는 계산기(10')의 사용자는 중간파일(130')와 변환지 파일군(131), (131'), …중의 어느 것으로도 액세스가 가능하다. 그러나, 중간파일(130')는 파일시스템(100)이 사용하는 중간파일이므로, 중간파일(130')를 은폐한 쪽이 사용자가 알기 쉽다고 고려된다.
이와 같이, 변환원 파일(또는 특정의 변환지 파일)을 사용자로 부터 은폐하는 기능을 상기 제1 실시예, 제2 실시예 및 변형예 1에 추가할 수 있다. 구체적으로는 파일표(122)에 새로운 항목으로서 (a) 「은폐변환원 플래그」와 (b) 「은폐변환지 리스트」를 추가한다. (a)는 변환원 파일을 은폐하기 위한 것이고, 또 (b)는 변환지 파일을 은폐하기 위한 것이다. 임의의 파일의 은폐변환원 플래그가 진(true)이면 파일시스템은 이름공간표(121)에서 이 파일의 파일명을 삭제한다. 또, 은폐변환지 리스트는 변환지 포맷의 리스트를 저장하고 있고, 상기 파일작성API에 있어서 변환지 포맷이 변환원 파일의 은폐변환지 리스트에 포함되어 있으면 스텝(306)에 있어서 이 변환지 포맷의 파일을 이름공간표(121)에 추가하는 것을 정지한다.
도 8을 사용해서 본 발명을 퍼스널컴퓨터(PC)로 적용한 예를 설명한다. 또한, 계산기나 어플리케이션의 종류나 수는 예로서 사용한 것이고 본 발명의 범위를 한정하는 것은 아니다.
PC(800)은 사용자가 이용하는 계산기이다. 예를 들면, 워드 프로세서(801)이나 WWW브라우저(browser)(802)나 pdf문서표시 프로그램(803) 등이 PC(800)상의 어플리케이션으로서 동작한다. 본 발명에 따른 파일시스템(100)은 상술한 설명과 같이 어플리케이션의 파일조작을 수반해서 필요한 포맷변환을 실행한다. 예를 들면, 사용자가 워드 프로세서(801)로 작성한 문서를 보존하는 경우, hello.doc(804)인 파일을 작성하고 라이트를 실행해서 2차기억장치(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)로서 얻을 수 있다. 또한, 이 일련의 동작에 사용자나 어플리케이션은 포맷변환에 관한 조작을 실행할 필요가 일체 없었던 점에 유의해야만 한다.
본 발명은 어플리케이션에 의존하지 않으므로, 다른 어플리케이션(예를 들면 pdf문서표시 프로그램(803))이 다른 변환지 파일의 리드를 실행해도 전혀 문제가 없다. 이 경우, 이전과 마찬가지로 개방API(825)의 발행과 동기해서 변환프로그램(827)을 결정하고, 변환원 파일인 hello.doc(804)에서 변환지 파일인 hello.pdf(806)으로의 포맷변환(826)을 실행한다. 이것에 의해 pdf문서표시 프로그램(803)은 이어지는 hello.pdf(806)으로의 리드API(828)을 실행할 수 있다.
또한, 현재PC에서 사용되고 있는 OS(Operating System)중에는 종래의 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), 스텝(704)는 종래의 파일시스템의 기능을 호출하는 부분이므로 이들 스텝에서 NEW·FS.DLL이 FS.DLL을 호출하면 좋다.
다음에, 도 9를 사용해서 본 발명을 WWW시스템에 적용한 예를 설명한다. 네트워크(12)는 이미 설명한 바와 같이 인트라넷이나 인터넷을 포함하는 계산기 사이의 결합이다. 본 적용예는 특히 TCP/IP와 HTTP(Hyper-Text Transfer Protocol의 약칭)를 사용하는 WWW에 매우 적합하다.
이 예에서는 본 발명을 적용한 파일시스템(100)을 갖는 서버계산기(900)이 WWW서버(911)이나 분산파일 서버(912)를 사용해서 네트워크(12)에 의해 결합된 기능한정PC(901) 및 PC(902)에 파일을 제공한다. 기능한정PC(901)은 네트워크 컴퓨터나 Thin PC라고 불리고 있는 기능한정, 저가격의 퍼스널 컴퓨터이다. 이와 같은 계산기는 통상 저가격화를 진전시키기 위해 필요 최소한의 소프트웨어밖에 탑재하지 않는다. PC(902)는 통상의 퍼스널 컴퓨터이다. 또한, 이 예에서는 분산파일 서버(912)를 파일시스템(100)과 다른 프로그램으로 하고 있지만, 이들을 1개로 한 소위 분산파일시스템을 사용해도 상관없다. 분산파일시스템은 분산파일서버(912)가 파일시스템(100)에 조립된 것으로 고려할 수 있다.
사용자는 기능한정PC(901)이나 PC(902)를 조작해서 서버계산기(900)상의 파일로 액세스한다. 이 예에서는 기능한정PC(901)의 사용자는 WWW브라우저(916)을 사용하고, 또 PC(902)의 사용자는 pdf문서표시 프로그램(917)을 사용해서 액세스한다. 또, 서버계산기(900)상에서 동작하는 워드 프로세서(910)을 사용하면 서버계산기(900)상에 새로운 파일을 작성하거나 기존의 파일을 변경할 수 있다.
사용자가 워드프로세서(910)로 작성한 문서를 보존하는 경우, 워드 프로세서(910)은 파일시스템(100)에 변환원 파일인 hello.doc(913)의 작성을 의뢰하고(920), 라이트를 실행해서 2차기억장치(11)에 문서를 보존한다(921). 이 때, 파일시스템(100)은 도 3의 흐름도에 따라서 변환지 파일의 파일명을 도 1의 이름공간표(121)(도 9에는 도시하고 있지 않음)에 등록한다. 이 결과, 서버계산기(900)상의 어플리케이션인 공유정보 제공소프트웨어(이 예에서는 WWW서버(911)이나 분산파일서버(912))는 변환지 파일(도 9의 예에서는 hello.gif(914)와 hello.pdf (915))를 조작할 수 있게 된다.
예를 들면, 기능한정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.gif(914)의 내용을 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)의 내용을 기능한정PC(901)상에 표시할 수 있다. 즉, 본 발명에 의해 사용자는 hello.doc(913)을 작성한 워드프로세서를 탑재하지 않은 기능한정PC(901)상에서도 hello.doc(913)의 내용을 참조할 수 있다.
마찬가지로, 다른 사용자가 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).
이 예에 의해 본 발명이 기능한정PC를 포함하는 분산계산기 시스템상에서도 유효하다는 것이 명확하게 되었다.
또, 본 발명을 WWW시스템에 적용한 다른 예로서 도 10을 사용하여 WWW와 PC, ThinPC를 사용한 분산계산기시스템의 예를 설명한다. 또한, 계산기나 어플리케이션의 종류나 수는 1예에 지나지 않고 본 발명은 이것에 한정되는 것은 아니다.
PC(1001)을 사용하고 있는 사용자는 워드 프로세서(1010)을 사용해서 문서를 작성한다. 이 예에서는 hello.doc(1013)을 생성해서(1020) 라이트를 실행하고(1021), 라이트가 완료한 시점에서 폐쇄를 실행한다.
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).
다음에, 기능한정PC(1003)의 사용자가 WWW브라우저(1012)를 사용해서 hello.gif(1016)을 액세스하는 요구를 WWW서버(1011)에 발행하면(1030), 이 요구를 받은 WWW서버(1011)은 hello.gif(1016) 리드를 위한 개방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).
서버계산기(1002)는 대부분의 경우 다수의 사용자에 의해 공용되고 있으므로, 24시간 운전에 의해 운용된다. PC(1001)은 한사람의 사용자가 사용하는 계산기이므로 통상 빈번하게 전원이 온, 오프된다. PC(1001)의 전원이 오프로 되는 등의 이유에 의해 hello.doc(1013)으로 액세스할 수 없는 경우에도 본 발명이 중간파일hello.doc'(1014)를 거친 포맷변환기능을 구비하고 있으므로 기능한정PC(1003)의 사용자는 hello.gif(1016)이나 hello.pdf(1015) 및 hello.doc'(1014)로 액세스하는 것이 가능하다.
도 11을 사용해서 기업내 정보시스템에 있어서 여러가지 정보를 검색하는 분산검색시스템에 본 발명을 적용한 예를 설명한다.
기업내외의 각 곳에서 정보제공을 실행하는 WWW서버계산기(1101), (1102), (1103), …에서 사용자가 원하는 특정분야의 정보를 검색한다. 검색을 실행하는 것은 검색서버계산기(1100)상의 검색프로그램이고, 이 예에서는 전문검색서버(1111)과 화상검색서버(1112)이다. 전문검색서버(1111)은 문자열검색을 실행하고, 화상검색서버(1112)는 화상의 패턴매치에 의한 검색을 실행한다. 음성패턴검색, 데이타베이스검색 등 다른 검색방법도 혼재해도 상관없다. WWW서버계산기(1101), (1102), (1103), … 및 검색서버계산기(1100)은 네트워크(12)에 의해 결합되어 있다. 네트워크(12)는 기업내의 네트워크(인트라넷)이어도, 기업간을 연결하는 네트워크이어도, 또는 전세계를 연결하는 인터넷과 같은 네트워크이어도 상관없다.
기업내외의 WWW서버계산기군에서는 다양한 포맷의 정보가 제공되는 것이 보통이다. 그래서, 검색서버계산기(1100)에 본 발명에 따른 파일시스템(100)을 적용하여 각종 포맷간의 차이를 어플리케이션에 부담을 주지 않고 해소한다. 도 11에서는 WWW서버계산기(1101)이 hello.doc(1120)을, WWW서버계산기(1102)가 news.pdf(1121)을, WWW서버계산기(1103)이 survey.gif(1122)를 각각 제공하고 있다. 이들은 우선 검색서버계산기(1100)상의 WWW클라이언트(1110)에 의해 수집되고(1123, 1124, 1125) 파일시스템(100)에 저장된다(1126, 1127, 1128). 또한, 파일시스템(100)은 2차기억장치를 갖고 있어도 좋지만 도 11에서는 생략하고 있다.
전문검색서버(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)은 변환원 파일을 사용자가 사용하는 어플리케이션을 이용할 수 있는 포맷으로 변환하는 것에 의해 사용자의 편리를 도모할 수 있다.
또, 동일한 정보원을 화상으로 변환하는 것에 의해, 전혀 다른 검색방법을 실시하는 것이 가능하다. 화상검색서버(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)) 또한 검색된 정보가 개별의 포맷을 갖고 있는 것을 고려하지 않아도 좋다.
전자상거래시스템으로의 적용예:
마지막으로, 도 12를 사용해서 기업과 기업 또는 기업과 개인 사이의 거래를 전자적으로 실행하는 전자상거래(이하,EC)시스템에 본 발명을 적용한 예를 설명한다.
예를 들면, 인터넷을 경유해서 EC를 실행하는 경우에는 청구서는 몇개의 기업이나 단체의 네트워크를 경유해서 제1 사용자에서 제2 사용자에게 도달된다. 이 때, 제1, 제2 사용자의 프라이버시를 보호할 목적으로, 또 청구서가 제3자에 의해 부당하게 개찬되는 것을 방지할 목적으로 청구서를 암호화해서 전송하는 것이 자주 실행된다.
EC서버계산기(1200)은 EC클라이언트계산기(1201)과 통신해서 전자상거래를 실행한다. EC서버계산기(1200)을 사용하는 제1 사용자가 EC클라이언트계산기(1201)을 사용하는 제2 사용자의 주문에 대한 청구서를 작성하고, 제2 사용자가 그것을 수취하는 경우를 설명한다. 이와 같은 경우에서의 암호화(및 복호화)는 일종의 포맷변환으로 고려할 수 있다. 이 경우의 변환프로그램은 암호화 프로그램이나 복호화 프로그램이다.
제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). 또, 이 예에서는 설명하지 않았지만, 제2 사용자가 청구서의 암호화를 실행하는 경우에서도 본 발명을 적용할 수 있다. 이것에 의해, 제1 사용자, 제2 사용자 모두 청구서의 암호화와 복호화를 고려할 필요없이 고속이고 또한 쾌적하게 전자상거래를 실행할 수 있다.
이상 설명한 바와 같이, 사용자는 어플리케이션상에서 실행하는 사용자의 본래의 작업을 실행하면 좋고, 그 과정에서 필요로 되는 여러가지 포맷변환(1단계이어도 좋고 다단계이어도 좋다)은 사용자의 관여없이 실행된다. 이 때, 변환원 파일을 지정하거나 포맷변환의 타이밍을 지정할 필요가 없어 사용자는 항상 최신의 변환지 파일을 이용할 수 있게 된다. 또, 변환원 파일과 변환지 파일군 사이의 일관성이 유지된다. 또, 변환지 파일을 많이 유지하는 것에 의한 2차기억영역의 낭비를 해소할 수 있다. 만일 변환원 파일을 이용할 수 없는 동안에도 포맷변환을 실행할 수 있다.

Claims (28)

  1. 소정의 포맷을 갖는 제1 파일을 변환프로그램에 의해 이 포맷과는 다른 포맷을 갖는 제2 파일로 변환하는 파일포맷 변환방법으로서,
    〔a〕 사용자의 어플리케이션에 의해 제2 파일의 1개를 지정하고,
    〔b〕 제1 파일과 이 제1 파일에서 상기 지정한 제2 파일을 얻는 변환프로그램을 대응시키고,
    〔c〕 상기 변환프로그램에 의해 제1 파일에서 적어도 1개의 원하는 제2 파일로의 포맷변환을 실행하는 파일포맷 변환방법.
  2. 제1항에 있어서,
    상기 〔a〕의 지정하는 처리는 상기 제2 파일의 1개에 대해서 사용자의 어플리케이션이 발행하는 파일조작을 사용하여 이루어지는 파일포맷 변환방법.
  3. 제1 포맷을 갖는 제1 파일을 변환프로그램P1, P2, … Pm(m:1이상의 정수)에 의해 각각 제1 포맷과는 다른 제2 포맷을 갖는 제2 파일F1, F2,… Fm으로 변환하는 파일포맷 변환방법으로서,
    〔a〕 제1 파일과 변환프로그램과 각각의 변환프로그램에 의해 변환되는 제2 파일을 대응시키고,
    〔b〕 사용자의 어플리케이션에 의해 제1 파일 또는 제2 파일을 지정하고,
    〔c〕 ① 사용자의 어플리케이션이 발행하는 제1 파일 또는 제2 파일로의 파일조작의 시각, ② 소정의 시각, ③ 소정의 조건이 성립된 시각 중 적어도 1개의 시각을 계기로 해서 상기 대응된 변환프로그램에 의해 제1 파일에서 제2 파일로의 포맷변환을 실행하는 파일포맷 변환방법.
  4. 제1 포맷을 갖는 제1 파일을 변환프로그램P1, P2, … Pm(m:1이상의 정수)에 의해 각각 제1 포맷과는 다른 제2 포맷을 갖는 제2 파일F1, F2,… Fm으로 변환하는 파일포맷 변환방법으로서,
    〔a〕 제1 파일과 변환프로그램과 각각의 변환프로그램에 의해 변환되는 제2 파일을 대응시키고,
    〔b〕 상기 변환프로그램은 각각 상기 제1 파일에서 제3 파일을 얻는 제1 중간변환 프로그램과 제3 파일에서 상기 제2 파일을 얻는 제2 중간변환 프로그램으로 이루어지고,
    〔c〕 사용자의 어플리케이션에 의해 제1 파일 또는 제2 파일을 지정하고,
    〔d〕 어플리케이션이 발행하는 제1 파일로의 파일조작을 제1의 계기로 해서 상기 대응하는 변환프로그램의 제1 중간변환 프로그램에 의해 제1 파일에서 제3 파일을 얻고, 이 제3 파일로의 파일조작을 제2의 계기로 해서 제2 중간변환 프로그램에 의해 제3 파일에서 제1 파일을 얻는 파일포맷 변환방법.
  5. 제4항에 있어서,
    상기 제1의 계기로서 제1 파일로의 라이트조작 또는 라이트를 위한 개방조작을 사용하고, 상기 제2의 계기로서 제2 파일로의 리드조작 또는 리드를 위한 폐쇄조작을 사용하는 파일포맷 변환방법.
  6. 제4항에 있어서,
    상기 제1 파일이 제1 계산기에 저장되고 상기 제2 파일과 상기 제3 파일이 제2 계산기에 저장되는 파일포맷 변환방법.
  7. 제1 포맷을 갖는 제1 파일을 변환프로그램P1, P2, … Pm(m:1이상의 정수)에 의해 각각 제1 포맷과는 다른 제2 포맷을 갖는 제2 파일F1, F2,… Fm으로 변환하는 파일포맷 변환방법으로서,
    〔a〕 제1 파일과 변환프로그램과 각각의 변환프로그램에 의해 변환되는 제2 파일을 대응시키고,
    〔b〕 제1 파일의 파일명에서 제2 파일의 파일명을 생성하고,
    〔c〕 생성한 파일명으로 제2 파일을 사용자에게 제공하고,
    〔d〕 제공된 사용자의 어플리케이션에 의해 이 파일명으로 제1 파일 또는 제2 파일을 지정하고,
    〔e〕 어플리케이션이 발행하는 제1 파일 또는 제2 파일로의 파일조작을 계기로 해서 상기 대응된 변환프로그램에 의해 제1 파일에서 제2 파일로의 포맷변환을 실행하는 파일포맷 변환방법.
  8. 제7항에 있어서,
    상기 〔b〕의 파일명을 생성하는 처리는 상기 제1 파일의 작성조작을 계기로 해서 실행하는 파일포맷 변환방법.
  9. 제7항에 있어서,
    상기 〔b〕의 파일명을 생성하는 처리는 제2 파일의 파일명을 포함하는 디렉토리에 대한 검색조작 또는 표시조작을 계기로 해서 실행하는 파일포맷 변환방법.
  10. 제3항, 제4항, 제7항 중의 어느 한항에 있어서,
    상기 〔a〕의 대응시키는 처리는 제1 파일, 제1 변환프로그램중의 하나 및 상기 변환프로그램에 의해 제1 파일에서 얻어지는 제2 파일의 3종 중 제1 파일에서 대응하는 2종을 얻는 방법 또는 제2 파일에서 대응하는 2종을 얻는 방법을 포함하는 파일포맷 변환방법.
  11. 제10항에 있어서,
    상기 대응시키는 방법으로서 제1 파일과 제1 변환프로그램과 제2 파일 사이의 대응관계를 유지하는 표를 사용하는 파일포맷 변환방법.
  12. 제10항에 있어서,
    상기 대응시키는 방법으로서 제1 파일과 제1 변환프로그램과 제2 파일 사이의 대응관계를 유지하는 프로그램을 사용하는 파일포맷 변환방법.
  13. 제3항, 제4항, 제7항 중의 어느 한항에 있어서,
    상기 파일조작은 제1 파일로의 라이트조작이거나 라이트후의 폐쇄조작 또는 제2 파일로의 리드 라이트조작이거나 리드 라이트를 위한 개방조작인 파일포맷 변환방법.
  14. 제1항, 제3항, 제4항, 제7항 중의 어느 한항에 있어서,
    상기 제1 및 제2 파일과는 다른 제3 파일이 있고,
    상기 제1 파일에서 제2 파일로의 포맷변환시에 상기 제3 파일에서 제1 파일로의 포맷변환을 실행하는 파일포맷 변환방법.
  15. 제1항, 제3항, 제4항, 제7항 중의 어느 한항에 있어서,
    상기 제1 파일 또는 상기 제2 파일 중의 어느 하나가 전자메일 또는 전자메일의 첨부파일인 파일포맷 변환방법.
  16. 제1 파일과 제1 파일을 포맷변환해서 얻어지는 1개 이상의 제2 파일을 사용자에게 제공하는 파일포맷 변환방법으로서,
    제1 파일에 대한 제1 파일조작과 제2 파일의 하나인 제3 파일에 대한 제2 파일조작 중 동시에 실행하는 조작을 단지 1개로 하는 파일포맷 변환방법.
  17. 제16항에 있어서,
    상기 제1 파일조작과 상기 제2 파일조작 중의 어느 하나가 라이트조작 또는 라이트모드의 개방조작인 파일포맷 변환방법.
  18. 제1항, 제3항, 제4항, 제7항, 제16항 중의 어느 한항에 있어서,
    포맷변환에 의해 얻은 상기 제2 파일의 일부 또는 전부에 대해서 파일명을 삭제하지 않고 파일의 내용을 삭제하는 파일포맷 변환방법.
  19. 특허청구범위 제1항, 제3항, 제4항, 제7항, 제16항중의 어느 한항에 기재된 파일포맷 변환방법을 프로그램으로서 기록한 기록매체.
  20. 여러개의 파일을 유지하는 2차기억장치를 구비한 계산기시스템에 탑재되는 파일시스템으로서,
    변환원 파일, 포맷변환후의 변환지 파일, 변환원 파일과 변환프로그램과 변환지 파일을 대응시키는 대응지시부, 어플리케이션 프로그램을 실행할 수 있는 파일조작을 규정하는 API(application program interface) 및 이 API의 기동에 따라서 원하는 포맷변환을 실행하는 포맷변환 제어부로 이루어지는 파일시스템.
  21. 여러개의 파일을 유지하는 2차기억장치를 구비한 계산기 시스템이 여러개의 네트워크를 거쳐서 접속되어 있는 분산시스템에 있어서의 각 계산기시스템에 탑재되는 파일시스템으로서,
    변환원 파일과 포맷변환후의 변환지 파일의 적어도 한쪽으로 이루어지는 파일, 변환원 파일과 변환프로그램과 변환지 파일을 대응시키는 대응지시부, 어플리케이션 프로그램을 실행할 수 있는 파일조작을 규정하는 API(application program interface) 및 네트워크를 거쳐서 다른 파일시스템과 상호 통신을 실행하면서 상기 API의 기동에 따라 원하는 포맷변환을 실행하는 포맷변환 제어부로 이루어지는 파일시스템.
  22. 제20항 또는 제21항에 있어서,
    상기 대응지시부는 대응관계를 등록 또는 삭제하는 인터페이스를 포함하는 파일시스템.
  23. 파일편집의 기능을 갖고 전원의 온/오프를 실행할 수 있는 제1 퍼스널컴퓨터(PC), 전원이 온상태로 되어 있는 WWW(World Wide Web)서버계산기 및 파일변환의 기능을 갖지 않는 제2 퍼스널컴퓨터(TPC)를 네트워크에 의해 결합한 정보처리 시스템으로서,
    제1 퍼스널컴퓨터는 소정의 포맷을 갖는 변환원 파일과 어플리케이션 프로그램을 실행할 수 있는 파일조작을 규정하는 API(application program interface)를 통한 사용자로 부터의 지시에 따라 내장된 변환프로그램에 의한 포맷변환을 제어하는 제어부를 구비하고,
    WWW서버계산기는 제1 퍼스널컴퓨터에 있어서의 포맷변환에 의해 얻어진 중간파일, 이 중간파일을 적어도 1개의 변환프로그램에 의해 포맷변환해서 얻어진 적어도 1개의 변환지 파일 및 API를 통한 사용자로 부터의 지시에 따라서 이 포맷변환을 제어하는 포맷변환 제어부를 구비하고,
    제2 퍼스널컴퓨터는 WWW서버 계산기 중에 있는 상기 변환지 파일의 적어도 1개를 WWW브라우저를 경유해서 지정하여 그 내용의 리드를 WWW서버계산기에 대해 지시하는 기능을 갖는 정보처리 시스템.
  24. 여러개의 파일을 유지하는 2차기억장치를 구비한 퍼스널컴퓨터로서,
    상기 퍼스널컴퓨터는 파일편집의 기능을 구비하는 어플리케이션, 1개 이상의 포맷중 임의의 포맷을 갖는 문서의 표시프로그램 및 변환원 파일을 변환지 파일로 포맷변환하기 위해 특허청구범위 제1항∼제7항 중의 어느 한항에 기재된 파일포맷 변환방법을 갖는 파일시스템을 구비하고,
    상기 어플리케이션은 사용자의 조작에 따라서 변환원 파일을 작성하여 2차기억장치에 보존하고,
    표시프로그램은 개방API를 발행하고 이 발행과 동기해서 상기 파일시스템에 있어서 변환원 파일에서 변환된 다른 변환지 파일의 내용을 리드해서 표시하는 퍼스널컴퓨터.
  25. 여러개의 파일을 유지하는 2차기억장치를 구비한 서버계산기로서,
    이 서버계산기는 파일편집기능을 갖는 어플리케이션, 1개 이상의 포맷중 임의의 포맷을 갖는 문서를 표시 또는 편집하는 프로그램 및 변환원 파일을 변환지 파일로 포맷변환하기 위해 특허청구범위 제1항, 제3항, 제4항, 제7항, 제9항 중의 어느 한항에 기재된 파일포맷 변환방법을 갖는 파일시스템을 구비하고,
    상기 어플리케이션은 사용자의 조작에 따라서 변환원 파일을 작성해서 2차기억장치에 보존하고,
    WWW서버는 기능한정 퍼스널컴퓨터(PC)와 네트워크에 의해 결합되고 이 기능한정 퍼스널컴퓨터에 탑재된 상기 프로그램으로 부터의 파일리드요구를 받고 개방API(application program interface)를 발행하고, 이 발행과 동기해서 상기 파일시스템에 있어서 상기 변환원 파일에서 변환된 변환지 파일의 내용을 리드해서 상기 프로그램으로 반송하고,
    분산파일서버는 변환지 파일 포맷의 1개를 갖는 문서를 표시 또는 편집하는 프로그램에 상기 네트워크를 경유해서 결합되고, 이 프로그램에서 변환지 파일의 리드요구를 받고 개방API를 발행하고 이 발행과 동기해서 상기 파일시스템에 있어서 변환원 파일에서 변환된 변환지 파일의 내용을 리드해서 이 프로그램으로 반송하는 서버계산기.
  26. 여러개의 파일을 유지하는 2차기억장치를 구비한 검색서버계산기로서,
    WWW클라이언트, 적어도 1개의 검색서버, 변환원 파일을 변환지 파일로 포맷변환하기 위해 특허청구범위 제1항, 제3항, 제4항, 제7항중의 어느 한항에 기재된 파일포맷 변환방법을 갖는 파일시스템을 구비하고,
    WWW클라이언트는 각각 다른 포맷을 갖는 파일을 유지한 여러개의 WWW서버 계산기와 네트워크에 의해 결합되고, 각 파일의 내용을 수집해서 각각 변환원 파일로서 상기 파일시스템에 저장하고,
    검색서버는 검색할 정보의 종류에 대응해서 마련되고, 상기 파일시스템에 있어서 다른 포맷을 갖는 변환원 파일을 포맷변환한 후의 동일포맷을 갖는 변환지 파일군에 대해서 상기 정보의 종류에 대응한 검색서버에 의한 검색을 실행하는 검색서버계산기.
  27. 제26항에 있어서,
    상기 검색서버는 제1 포맷을 입력으로서 받아들이는 제1 검색프로그램과 제2 포맷을 입력으로서 받아들이는 제2 검색프로그램을 탑재하고, 상기 파일시스템에 의해 상기 정보를 제1 포맷과 제2 포맷으로 포맷변환해서 제1 검색프로그램과 제2 검색프로그램에 제공하는 검색서버 계산기.
  28. 여러개의 파일을 유지하는 2차기억장치를 구비하고, 암호화기능을 갖는 서버계산기와 복호화기능을 갖는 클라이언트계산기가 통신네트워크에 의해 결합된 전자상거래시스템으로서,
    서버계산기는 파일을 편집하는 기능을 갖는 편집프로그램, 암호화프로그램, 이 암호화 프로그램을 변환프로그램으로 해서 특허청구범위 제1항, 제3항, 제4항, 제7항중의 어느 한항에 기재된 파일포맷 변환방법에 의해 변환원 파일을 변환지 파일로 포맷변환하는 파일시스템을 구비하고,
    상기 편집프로그램에서 입력된 상거래정보를 이 파일시스템에 있어서의 변환원 파일에 저장하고,
    상기 변환원 파일을 상기 암호화 프로그램에 의해 암호화해서 변환지 파일에 저장하고,
    상기 변환지 파일을 통신네트워크를 경유해서 클라이언트계산기로 송신하고,
    클라이언트계산기는 상기 편집프로그램, 복호화프로그램, 이 복호화 프로그램을 변환프로그램으로 해서 특허청구범위 제1항, 제3항, 제4항, 제7항 중의 어느 한항에 기재된 파일포맷 변환방법에 의해 변환원 파일을 변환지 파일로 포맷변환하는 파일시스템을 구비하고,
    상기 파일시스템에 있어서의 변환원 파일에 상기 송신된 파일의 내용을 저장하고,
    복호화 프로그램에 의해 이 변환원 파일을 복호화하고,
    복호화된 변환원 파일을 상기 파일시스템에 있어서의 파일포맷 변환방법에 의해 변환지 파일로 포맷변환하고,
    상기 편집프로그램에 의해 이 변환지 파일의 내용을 참조하는 전자상거래 시스템.
KR1019980044479A 1997-10-27 1998-10-23 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템 KR19990037321A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR19990037321A true KR19990037321A (ko) 1999-05-25

Family

ID=17798932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980044479A KR19990037321A (ko) 1997-10-27 1998-10-23 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템

Country Status (8)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100756360B1 (ko) * 2005-05-09 2007-09-10 (주)비시엔소프트 통합 파일 변환 서비스 제공 시스템 및 방법

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
ES2235296T3 (es) * 1998-09-11 2005-07-01 Two Way Media Limited Distribucion de aplicaciones interactivas.
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
CA2363733C (en) 1999-03-02 2011-10-18 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system
US7353194B1 (en) 1999-03-02 2008-04-01 Alticor Investments, Inc. System and method for managing recurring orders in a computer network
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
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US7154898B1 (en) 2001-03-13 2006-12-26 Intelsat, Ltd. Scalable edge node
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US7284271B2 (en) 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
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
US7136859B2 (en) * 2001-03-14 2006-11-14 Microsoft Corporation Accessing heterogeneous data in a standardized manner
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US7539747B2 (en) * 2001-03-14 2009-05-26 Microsoft Corporation Schema-based context service
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
KR100614433B1 (ko) * 2001-05-14 2006-08-22 엔티티 도꼬모 인코퍼레이티드 애플리케이션 관리 서버, 이동 단말 및 애플리케이션 관리 방법
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
US7912932B2 (en) * 2003-03-24 2011-03-22 Siebel Systems, Inc. Service request common object
US8510179B2 (en) * 2003-03-24 2013-08-13 Siebel Systems, Inc. Inventory transaction common object
US8489470B2 (en) * 2003-03-24 2013-07-16 Siebel Systems, Inc. Inventory location common object
US7904340B2 (en) * 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
US20070208577A1 (en) * 2003-03-24 2007-09-06 Leon Maria T B Position common object
WO2004086198A2 (en) * 2003-03-24 2004-10-07 Siebel Systems, Inc. Common common object
US9704120B2 (en) * 2003-03-24 2017-07-11 Oracle International Corporation Inventory balance 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
US7941748B1 (en) 2003-10-21 2011-05-10 Adobe Systems Incorporated Systems and methods for web site editing interfaces
US7263534B1 (en) 2003-10-21 2007-08-28 Adobe Systems Incorporated Automatic set up for editing a web site
US7809858B1 (en) 2003-10-21 2010-10-05 Adobe Systems Incorporated Cross-protocol URL mapping
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
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7720888B2 (en) * 2004-12-08 2010-05-18 Electronics & Telecommunications Research Institute Contents conversion communication terminal, server system, and method
JP2008524688A (ja) * 2004-12-15 2008-07-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Blobを管理するためのシステム及び方法
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
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 富士ゼロックス株式会社 電子ファイル変換プログラム、電子ファイル変換装置、及び電子ファイル変換システム。
JP2010503063A (ja) * 2006-08-28 2010-01-28 トムソン ライセンシング マルチフォーマット・データ交換のための方法及び装置
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 複合包装紙材
EP2460104A4 (en) 2009-07-27 2016-10-05 Ibm METHOD AND SYSTEM FOR TRANSFORMING LOGICAL DATA OBJECTS FOR STORAGE USE
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
US9083534B2 (en) 2011-01-07 2015-07-14 Mastercard International Incorporated Method and system for propagating a client identity
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
US9032204B2 (en) 2011-01-07 2015-05-12 Mastercard International Incorporated Methods and systems for providing a signed digital certificate in real time
US8677308B2 (en) 2011-01-07 2014-03-18 Mastercard International Incorporated Method and system for generating an API request message
US8707276B2 (en) 2011-01-07 2014-04-22 Mastercard International Incorporated Method and system for managing programmed applications in an open API environment
GB2500356A (en) 2011-01-20 2013-09-18 Box 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
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based 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
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
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
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
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
GB2500152A (en) 2011-11-29 2013-09-11 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
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a 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
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
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
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
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based 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
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
GB2513671A (en) 2012-08-27 2014-11-05 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
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
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
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
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
JP5982343B2 (ja) 2012-10-17 2016-08-31 ボックス インコーポレイテッドBox, Inc. クラウドベース環境におけるリモートキー管理
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
EP2757491A1 (en) 2013-01-17 2014-07-23 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 富士ゼロックス株式会社 データ管理装置、情報処理端末及びプログラム
US9633037B2 (en) 2013-06-13 2017-04-25 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
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
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in 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
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for 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
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
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
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
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
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 주식회사 한글과컴퓨터 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치 및 그 동작 방법
US11778064B2 (en) * 2021-11-10 2023-10-03 Pencil Learning Technologies, Inc. Systems and methods for generating educational fluid media

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 ファイル形態変換システム
US5802511A (en) * 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US6023694A (en) * 1996-01-02 2000-02-08 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
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
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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100756360B1 (ko) * 2005-05-09 2007-09-10 (주)비시엔소프트 통합 파일 변환 서비스 제공 시스템 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR19990037321A (ko) 파일포맷 변환방법과 이것을 사용한 파일시스템, 정보처리시스템 및 전자상거래시스템
US11924277B2 (en) Systems and methods for establishing and maintaining virtual computing clouds
JP3466857B2 (ja) 辞書更新方法および辞書更新システム
JP2996197B2 (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
ES2387547T3 (es) Sistema y método para utilizar un gestor de datos de área de trabajo para acceder a, manipular y sincronizar datos de red
US6260040B1 (en) Shared file system for digital content
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
JP3041528B2 (ja) フアイル・システム・モジュール
US6374268B1 (en) Methods and systems for an incremental file system
KR20020062727A (ko) 프로젝트 관리 시스템 및 방법
US10229170B2 (en) File system manager for customized resource allocation
WO2004097600A2 (en) Content management for rich media publishing system
JP2003523568A (ja) コンピュータにおいてアプリケーションソフトウエアを起動するための制御装置及び制御方法並びにこれを用いたマルチモニタコンピュータ、クライアントサーバシステム及び記憶媒体
JPH06290099A (ja) 記憶管理方法及びサブシステム
US7107272B1 (en) Independent distributed metadata system and method
JP2002259387A (ja) 文書検索システム
JP2000347915A (ja) ドキュメント管理システムおよびドキュメント管理システムのドキュメント提供方法
JP3703708B2 (ja) 共同利用コンピュータ利用方法
JP3195183B2 (ja) 情報検索方法及びその装置
JP4881723B2 (ja) データ入力確認方法、サーバ装置、クライアントサーバシステムおよびデータ入力確認プログラム
JP2000347825A (ja) リソース管理方法及び装置及びシステム並びにダウンロード方法及びシステム並びに記憶媒体
JPH1115818A (ja) 文書の参照制御方法
JPH11175451A (ja) 情報配信装置
JP2002149553A (ja) ウェブコンテンツ公開管理装置および方法、記録媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid