KR0169537B1 - 컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스 - Google Patents

컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스 Download PDF

Info

Publication number
KR0169537B1
KR0169537B1 KR1019950700280A KR19950700280A KR0169537B1 KR 0169537 B1 KR0169537 B1 KR 0169537B1 KR 1019950700280 A KR1019950700280 A KR 1019950700280A KR 19950700280 A KR19950700280 A KR 19950700280A KR 0169537 B1 KR0169537 B1 KR 0169537B1
Authority
KR
South Korea
Prior art keywords
data entity
file
read command
storage device
argument
Prior art date
Application number
KR1019950700280A
Other languages
English (en)
Other versions
KR950702720A (ko
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 KR950702720A publication Critical patent/KR950702720A/ko
Application granted granted Critical
Publication of KR0169537B1 publication Critical patent/KR0169537B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Digital Computer Display Output (AREA)

Abstract

다수의 프로그램 모듈(32, 34, 36)은 작업을 수행하기 위하여 절차적 사용자 인터페이스(PUI, 50), 및 운영 체제(40)에 의하여 순차적으로 제어된다.
상기 모듈(32, 34, 36)과 기억 장치(13)간의 파일 또는 그 외의 데이터 엔티티의 전송은 순차 정보 통합 서비스(SIIS)(50)에 의하여 완전하게 통합된다. 기억장치(13)으로부터 파일을 판독하기 위하여, PUI(38) 또는 운영 체제(40)은 패스명, 완전한 파일명 또는 와일드 카드 문자를 포함할 수 있는 파일명 지정을 포함하는 판독 명령을 생성한다. 또한, 상기 판독 명령은 사용자 또는 그룹 액세스 코드와 같은 하나 또는 그 이상의 인수 및 필요한 파일을 찾을 수 없는 경우에 이를 표시하기 위한 에러 메시지를 포함할 수 있다. 자동 모드에서, 상기 서비스(50)은 파일명 지정 및 인수에 대응하는 가장 최근 파일을 자동적으로 선택하거나 이러한 기준을 만족시키는 파일을 찾을 수 없는 경우에 에러 메시지를 표시한다. 수동 모드에서, 상기 판독 명령은 수동 선택을 하도록 하기 위해 대화 상자 또는 윈도우(60)내에 파일명 지정 및 인수에 대응하는 파일의 목록(64)를 표시하기 위하여 상기 서비스(50)을 제어하는 수동 선택 인수를 포함한다. 상기 판독 명령은 파일의 목록(64)와 함께 윈도우(60)내에 표시하기 위한 프롬프트 메시지(62)를 더 포함할 수 있다.
컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스

Description

컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스
제1도는 다수의 프로그램 모듈을 통합시키기 위해 절차적 사용자 인터페이스 (PUI)로 프로그램된 범용 컴퓨터를 도시하는 도면.
제2도는 제1도의 컴퓨터 내에 있는 운영 체제 및 프로그램 모듈과 결합하여 본 발명을 구현하는 순차 정보 통합 서비스(SIIS)의 구조를 도시하는 블록도.
제3도 및 제4도는 SIIS의 수동 파일 선택 사양을 도시하는 도면.
제5도는 SIIS의 구조를 도시하는 블록도.
제6도는 SIIS의 메인 프로그램 루틴의 동작을 도시하는 순서도.
제7도는 파일 불러오기 및 인쇄프로그램 루틴의 동작을 도시하는 순서도.
제8도는 파일 불러오기서브루틴의 동작을 도시하는 순서도.
제9도는 인수 해석서브루틴의 동작을 도시하는 순서도.
제10도는 최근 파일 검색 서브루틴의 동작을 도시하는 순서도.
제11도는 윈도우 열기 선택루틴의 동작을 도시하는 순서도.
제12도는 삽입 통고루틴의 동작을 도시하는 순서도.
제13도는 파일 선택루틴의 동작을 도시하는 순서도.
본 발명은 컴퓨터 내에서 다수의 프로그램 모듈과 기억 장치 간의 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스를 제공한다.
본 발명의 바람직한 실시예는 데이터 엔티티가 프로그램 모듈들과 불휘발성 대용량 기억 매체 간에 전송되는 파일인 경우를 예를 들어 설명하고 있으나, 본 발명은 이에 제한되지 않으면, 메모리 내의 목적 코드 (오브젝트)의 블록, 데이터베이스 엔티티 등과 같은 데이터 엔티티의 기타의 응용 가능한 형태도 본 시스템을 사용하여 유리하게 전송될 수 있다.
본 발명의 개선 사항에 따라 제1도를 참조하여 설명된 기능을 구현하기 위한 예시적인 소프트웨어 시스템(30)은 제2도에 도시되어 있다. 상기 시스템(30)은 워드 프로세서 프로그램 모듈(32), 프린터 프로그램 모듈(34) 및 팩스 프로그램 모듈(36)을 포함한다. 절차적 사용자 인터페이스(PUI, 38)은 모듈(32, 34, 36)의 동작을 통합하기 위하여 UNIX와 같은 운영 체제(40) 및 뉴론 데이터 오픈 인터페이스와 같은 원도우 프로그램(42)과 상호 작용한다.
본 발명을 구현한 순차 정보 통합 서비스(SIIS 50)은 모듈(32, 34, 36)과 기억 장치 (13)간의 파일 (데이터 엔티티)의 전송을 완전하게 통합하기 위하여 PUI(38), 운영 체제(40) 및 윈도우 프로그램(42)와 상호 작용한다.
PUI(38)은 버튼(20, 22, 24 및 26)이 마우스 (18) 및 포인터(28) 에 의해 선택되는 경우에 작동되는 매크로(macros)또는 스크립트(scripts)를 포함한다. SIIS(50)은 PUI 스크립트 중 하나로부터 또는 운영 체제(40)에 의하여 호출될 수 있다. 작성버튼(20)에 의하여 작동된 스크립트는 사용자에게 작성될 새로운 파일에 대한 파일명(지정자, specifier)을 입력하도록 요구하는 프롬프트 메시지가 표시된 후에, 워드 프로세서 모듈(32)가 실행되는 것을 제어한다. 버튼(24, 26)에 의해 작동된 스크립트는 프린터 모듈(34) 및 팩스 모듈(36)이 각각 실행되도록 한다.
버튼(22, 24,2 6)에 의해 작동된 스크립트는 대화 상자 또는 윈도우(52)가 제3도에서 도시된 것처럼 표시되도록 한다. 윈도우(52)는 파일 선택과 같은 프롬프트 메시지(54), 예 버튼(56) 및 아니오버튼(58)을 포함한다. 버튼(56, 58)은 사용자가 마수으(18) 및 포인터(28)을 사용하여 SIIS(50)의 자동 또는 수동 모드 동작을 각각 선택할 수 있도록 한다.
기억 장치(13)으로부터 파일을 판독하기 위하여, PUI(38)또는 운영 체제(40)은 패스명, 완전한 파일명 또는 와일드 카드 문자를 포함할 수 있는 파일명 지정(데이터 엔티티 지정)을 포함하는 읽기 명령을 생성한다. 또한, 읽기 명령은 사용자 또는 그룹 액세스 코드와 같은 하나 또는 그 이상의 인수(데이터 엔티티 인수)와 필요한 파일을 찾을 수 없는 경우에 표시하는 에러 메시지를 포함할 수 있다.
아니오 버튼(58)에 의해 선택된 자동 모드에서는, SIIS(50)은 파일명 지정 및 인수에 대응하는 기억 장치(13)내의 가장 최근의 파일을 자동적으로 선택하거나 또는 이러한 기준을 만족시키는 파일을 찾을 수 없는 경우에 에러 메시지를 표시한다.
예 버튼(56)에 의해 선택된 수동 모드에서, 제4도에 도시한 것처럼 대화 상자 또는 윈도우(60)에 파일명 지정 및 인수에 대응하는 모든 파일의 파일명(지정자)를 표시하도록 SIIS(50)을 제어하는 읽기 명령에 수동 선택 인수가 부가된다.
윈도우(60)은 선택 바람(PLEASE SELECT)과 같은 프롬프트 메시지(62) 및 기준을 만족시키는 파일의 목록(64)를 포함한다. 그리고 나서 사용자는 마우스 (18) 및 포인터(28)을 사용하여 상기 목록(64)로부터 원하는 파일을 선택할 수 있다.
자동 모드 또는 수동 모드에서 원하는 파일을 선택한 후에, PUI(38)은 선택된 프로그램 모듈(32, 34 또는 36)이 선택된 파일을 적재하고 실행시키도록 한다.
읽기 명령에 대한 전형적인 구문은 % GETFILE [-n (또는 -d) 경로명/정규식(regular_expression)][-u] [-g] [-e 에러 스트링] [-m '프롬프트 메시지]이다.
%GETFILE은 PUI(38)로부터 호출되는 SIIS(50)의 프로그램명이다. -n은 자동 모드 동작을 지정하는 파일 인수이다. -d는 수동 모드 동작을 지정하는 파일 인수이다.
경로명은 원하는 파일이 있는 서브디랙토리를 나타낸다. 정규식은 확장자, 부분적 파일명(partial filename) 및 와일드 카드 문자를 가지거나 가지지 않는 완전한 파일명 또는 단지 와일드 카드 문자를 포함할 수 있는 파일명 지정이다.
-e는 사용자 에러 메시지가 제공되고 있는 것을 나타내는 파일 인수이다.
에러스트링은 사용자 제공 에러 메시지이다. -m은 사용자 프롬프트 메시지(62)가 제공되고 있다는 것을 나타내는 파일 인수이다. 프롬프트 메시지는 사용자 제공 프롬프트 메시지(62)이다.
-u는 각각의 사용자에게 할당되고, 기억 장치(13)에서 사용자가 액세스할 수 있는 파일 영역 또는 파일 형태를 나타내는 사용자 허가 액세스 코드 파일 인수(user authorization access code file argument)이다. -g는 -u와 유사하나, 사용자에게 살당된 작업 그룹(working group)을 나타내는 그룹 허가 코드 파일 인수이다.
사용자 및 그룹 액세스 코드는 PUI(38)또는 운영 체제(40)내에 저장되며, 보통은 사용자가 적법한 사용권을 가지고 있지 않는 요주의의(sensitive)정보를 액세스하는 것을 방지하는데 사용된다. 또한, 액세스 코드는 편의상 기억 장치(13)내에 사용자 자신의 파일만이 보이도록 하는데 사용될 수 있다.
본 발명이 어느 특정 프로그래밍 언너 또는 구조에 제한을 받지 않으나, SIIS(50)은 바람직하게는 C 프로그래밍 언어로 작성되어 사용하기 위하여 컴파일 된다. 제5도에서 도시한 바와 같이, SIIS(50)은 읽기 명령을 사용하여 PUI(38)또는 운영 체제(40)에 의하여 호출되는 메인 프로그램 루틴(70)을 포함하고 있다.
메인 루틴 (70)은 파일 불러오기 및 인쇄 루틴(GET FILE PRINT routine, subroution, 74)를 호출한다. 파일 불러오기 루틴(74)는 인수 해석 서브루틴(PARSEWARGUMENTS subroutine, 76), 최근 파일 검색 서브루틴(FIND RECENT FILE subroutine, 78) 및 윈도우 열기 선택 루틴(PICK OPEN WINDWO routine,80)을 호출한다.
윈도우 열기 선택 루틴(80)은 삽입 통고 루틴(NOTIFY INSERT routine, 82)를 호출하고, 이 루틴(82)는 차례로 파일 선택 루틴(SELECT FILE routine, 84)를 호출하고, 이 루틴(84)는 파일 불러오기 서브루틴(74)로 복귀한다. 상세하게 설명되거나 도시되어 있지 않지만, SIIS(50)은 또한 적당한 에러 처리 루틴 및 적당한 보조 관리 기능(housekeeping functions)을 포함한다.
제6도에 도시되어 있는 바와 같이, 메인 루틴은 PUI(38)에 대한 인터페이스 파라메터를 설정하며 파일 불러오기 및 인쇄 서브루틴(72)를 호출한다.
제7도에 도시되어 있는 바와 같이, 파일 불러오기 및 인쇄 루틴(72)는 원하는 파일의 파일명을 얻기 위해 파일 불러오기 서브루틴(74)를 호출하며, PUI(38) 또는 운영 체제(40)으로 파일명을 복귀시킨다. UNIX 운영 체제에서, 파일명은 표준 출력으로 인쇄된다.
파일 불러오기 서브루틴(74)는 제8도에 도시되어 있다. 파일 불러오기 루틴(74)가 수행하는 제1 동작은 제9도에 도시되어 있는 인수 해석 서브루틴(76)을 호출하는 것이다. 인수 해석 서브루틴(76)은 읽기 명령을 그 구성 성분(consituent parts)으로 분리시킨다. -d 파일 인수가 읽기 명령에 있는 경우, 대화 플래그는 수동 모드 동작이 선택되었음을 나타내는 참 논리값(logical TRUE)로 설정된다.
-n 파일 인수가 읽기 명령에 없는 경우는 호출자(caller)가 특정 파일명 지정을 지정하지 않았음을 나타낸다. 패스명은 디폴트 값(default value), 바람직하게는 현재 디렉토리로 설정되며, 파일명은 와일드 카드로 설정된다. -n 파일 인수가 읽기 명령에 있는 경우, 패스명 및 파일명이 해석된다.
-e 파일 인수가 읽기 명령에 없는 경우, 에러 메시지는 디폴트 값으로 설정된다.
-e 파일 인수가 있는 경우, 사용자 제공 에러 메시지 에러 스트링은 해석된다.
그리고 나서 인수 해석 서브루틴은 읽기 명령에서 -m 파일 인수를 찾는다.
찾을 수 없는 경우에는, 프롬프트 메시지는 디폴트 값으로 설정된다. 파일 인수 -m이 읽기 명령 내에 있는 경우, 프롬프트 메시지메시지 스트링은 해석된다.
-u파일 수가 읽기 명령에 있는 경우, 사용자 액세스 코드가 PUI(38) 또는 운영 체제(40)으로부터 검색되어 순차 파일 선택 동작을 위한 필터로 사용된다. -g 파일 인수가 읽기 명령에 있는 경우에는, 그룹 액세스 코드는 유사하게 PUI(38) 또는 운영 체제(40)으로부터 검색된다.
인수 해석 서브루틴(76)이 읽기 명령을 해석하는 것을 완료하고 파일 불러오기 서브루틴(74)로 복귀한 후에, 제10도에 도시되어 있는 바와 같이 최근 파일 검색 서브루틴(78)이 호출된다. 최근 파일 검색 서브루틴(78)은 기억 장치(13)내에서 파일명 지정에 대응하는 각각의 파일을 검사한다. -u 또는 -g 파일 인수가 읽기 명령에 없는 경우, 각각의 파일은 그것이 규정된 사용자 또는 그룹에 대해 허가되었는지를 결정하도록 검사된다. 파일이 마지막으로 수정되었던 짜와 시간이 검사되고 이전에 있던 가장 최근 파일과 비교된다.
최근 파일 검색 서부루틴(78)이 기억 장치(13)내에서 규정된 기준을 만족시키는 가장 최근 파일을 찾는 경우, 파일명을 파일 불러오기 서브루틴(74)로 복귀시킨다. 기준에 합치되는 파일을 찾을 수 없는 경우, 최근 파일 검색 서브루틴(78)은 파일명을 공백(null)으로 설정하고 파일 불러오기 서브루틴(74)로 복귀한다.
프로그램 제어가 최근 파일 검색 서브루틴(78)에서 파일 불러오기 서브루틴(74)로 복귀된 후, 복귀된 파일명이 검사된다. 파일명이 공백 스트링인 경우, 원하는 파일을 찾지 못한 것을 나타내며, 파일 불러오기 서브루틴(74)는 적당한 에러 메시지와 함께 파일 불러오기 및 인쇄 루틴(72)로 복귀한다.
규정된 기준에 합치되는 단 하나의 파일만을 찾는 경우, 호출자가 읽기 명령에서 완전한 파일명을 지정했음을 나타내며, 파일 불러오기 서브루틴(74)는 파일명과 함께 파일 불러오기 및 인쇄 루틴(72)로 복귀한다. 그 자신만을 포함하고 있는 목록에서 파일을 선택하는 것은 중복되는 것이기 때문에, 이러한 동작은 -d 파일 인수가 읽기 명령에 있는 경우에도 수행될 것이다.
-d 파일 인수가 읽기 명령에 없으며 대화 플래그가 논리적 거짓인 경우, 자동 동작을 나타내며 파일 불러오기 서브루틴(74)는 파일명과 함께 파일 불러오기 및 인쇄 서브루틴(72)로 복귀한다. 대화 플래그가 논리적으로 참인 경우, 수동 선택 동작을 나타내며 파일 불러오기 서브루틴(74)는 윈도우 열기 선택 루틴(80)을 호출한다.
윈도우 열기 선택 루틴(80)은 제11도에 도시되어 있으며, 윈도우 프로그램(42)를 제어하며 대화 상자 또는 윈도우(60)을 연 후, 삽입 통고 루틴(82)를 호출한다.
삽입 통고 루틴(82)는 제12도에 도시되어 있고, 윈도우 프로그램(42)를 모니터하여 윈도우(60)을 제어한다. 그 후에 삽입 통고 루틴(82)는 파일 선택 루틴(84)를 호출한다.
제13도에서 도시한 바와 같이, 파일 선택 루틴(84)는 윈도우(60) 내에 (사용자 제공 또는 디폴트) 프롬프트 메시지(62) 및 읽기 명령에서의 파일명 지정과 파일 인수에 대응하는 모든 파일의 목록을 표시하며, 최근 파일 검색 서브루틴(78)과 유사한 방법으로 목록 내의 파일을 검사하여 가장 최근 파일을 찾아 강조(highlight)한 후, 파일 불러오기 서브루틴(74)로 복귀한다.
파일 불러오기 서브루틴(74)는 사용자가 마우스(18) 및 포인터(28)을 사용하여 상기 목록(64)로부터 파일을 선택하기를 기다린다. 선택이 이루어지면, 파일 읽기 서브루틴(74)는 파일 불러오기 및 인쇄 서브루틴(72)로 복귀하고, 이 서브루틴(72)는 선택된 파일명과 함께 호출자로 차례로 복귀한다.
본 명세서에서는 본 발명의 예시적인 실시예가 도시되고 설명되었으나 본 기술 분야에서 숙력된 자라면 본 발명의 본질 및 범위를 벗어나지 않고 본 발명을 다양하게 변경하거나 달리 실시할 수 있다.
예를 들어, 제3도를 참조하여 설명한 윈도우(52) 및 이와 관련된 동작은 생략될 수 있고, 제어 흐름은 제1도의 메인 메뉴로로부터 제4도의 파일 목록(64) 표시로 직접 진행할 수 있다.
파일 또는 다른 데이터 엔티티는 불휘발성 메모리 내의 그래픽 이미지에 대응하는 오브젝트에 대한 모양 종별(shape type) 과 같은 파일명 이외의 지정자에 의하여 표현될 수 있다.
따라서, 본 발명은 단지 예시적인 목적으로 특별히 기술된 실시예에 한정되는 것은 아니다. 첨부된 특허 청구의 범위에 의해 정의되는 바와 같은 본 발명의 본질 및 범위를 벗어나지 않고 본 발명을 다양하게 변경하는 것이 가능하다.
이러한 변경은 애플 매킨토시 운영 체제에서 구현된 바와 같은 클립보드를 통해 잘리고 붙여진(cut and pasted) 텍스트, 그래픽 이미지 및 음향과 같은 오브젝트의 순차 통합 뿐만 아니라 구조적 질의어(structured query language; SQL)명령을 통한 데이터베이스 질의 결과의 순차적 통합을 포함하나 이러한 것들에 의해 제한받지 않는다.
본 발명은 일반적으로 컴퓨터 기술에 관한 것으로, 더욱 구체적으로는 컴퓨터 내의 다수의 프로그램 모듈과 기억 장치(storage)간의 파일 및 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스(sequential Information Intergration service)에 관한 것이다.
소프트웨어를 개발하는 자는 종래로부터 문서 작성과 같은 단일 기능을 수행하는 상업적 및 개인적 용도의 프로그램을 설계해 왔다. 또한, 예를 들어 워드 프로세서, 데이터 베이스 및 스프레드 시트를 포함하는 통합된 소프트웨어 패키지(integrated software packages)도 시판되고 있다.
그러나, 문서를 작성하고 편집하여 멀리 떨어진 장소에 팩스로 보내는 것과 같이, 단일 소프트웨어 패키지에는 없는 기능을 수행하고자 하는 경우가 종종 있다.
이 작업을 수행하기 위한 종래의 방법은 문서를 작성하고 편집하여 하드 디스크 또는 기타 기억 매체 상에 파일로 저장하는 것이다. 그 다음, 팩스 프로그램을 호출하여, 저장된 파일을 하드 디스크로부터 읽어 원하는 장소로 팩스로 보내게 된다. 종래 기술의 방법은 복잡하고, 사용자 쪽의 상당한 기술적인 전문 지식을 필요로 한다. 이것은 비효율적이고, 특히 사용자가 컴퓨터 전문가가 아니며 주업무 시간을 쪼개어 컴퓨터 교육을 심도있게 받을 만한 여유가 없는 대부분의 업무 분야에 있어서는 바람직하지 않다.
다수의 서로 다른 프로그램을 순차적으로 사용하는데 있어 수반되는 또 다른 문제는 서로 다른 응용 프로그램들간에 적당한 데이터 파일을 전송하는 것이다.
예를 들어, 사용자는 워드 프로세서를 사용하여 각기 다른 시간에 각기 다른 파일명을 가진 다수의 서로 다른 문서를 작성, 편집 및 저장할 수 있다. 이후에 사용자는 그 파일들 중 하나를 다른 장소로 팩스로 보내야 할 수도 있다. 이것을 달성하기 위해서 사용자는 기억 장치를 검색하여 적당한 파일을 찾아내어 그 파일을 선택하여 팩스 프로그램으로 전송해야 한다.
이것은 사용자가 운영 체제의 디렉토리 구조에 대한 전문적인 지식을 가져야 하고, 많은 사용자에 의해서 수많은 각종 파일들이 특정 디렉토리에 저장될 수도 있다는 점에서 불리하다. 원하는 파일의위치를 찾아내기 위해서는 많은 시간이 소요될 수가 있다.
어떤 애플리케이션에서는 파일명이 하드-코드(hard-coded)되어 명료하게 식별될 수 있으나, 이것은 워드 프로세싱과 같은 애플리케이션에서는 단지 하나의 데이터 파일 만이 특정 파일명으로 저장될 수 있기 때문에 비실용적이다.
프로그램 개발에서, 특정 작업을 수행하기 위하여 다양한 조합으로 통합될 수 있는 포괄적 프로그램 모듈(generic program modules)을 설계하는 경향이 두드러지고 있다. 절차적 사용자 인터페이스(procedural user Interface:PUI)는 다수의 그러한 프로그램 모듈의 동작을 통합하고 제어하는 쉘(shall)이다.
PUI는 프로그램 모듈에 의해 수행되는 작업 또는 기능을 윈도우 또는 대화 상자 내에 텍스트 또는 아이콘 선택 사양(options)으로 표시되는 윈도우 프로그램 및 운영 체제(UNIX, MS-DOS등)와 상호 작용한다. 이것은 그 시스템의 동작을 매우 단순화시키며 사용자에게 요구되는 전문적 지식의 양을 최소화한다.
PUI용으로 적합한 윈도우 프로그램의 예는 뉴론 데이터 오픈 인터페이스(Neuron Data Open Interface)이며, 이것은 1991년 5월의 판매 부로셔에서 설명하고 있는 바와 같이 캘리포니아 팔로 알토에 소재하는 뉴론 데이터 U.S.A로부터 입수 가능하다.
PUI에 의해 통합적으로 제어되는 문서 작성 프로그램 모듈, 프린터 제어 프로그램 모듈 및 팩스 프로그램 모듈의 예는 제1도에 도시되어 있다. 범용 컴퓨터(10)은 하드 디스크와 같은 대용량 기억 매체(13)을 구비하는 처리 장치(12), 디스플레이 스크린(14), 키보드(16) 및 마우스(18)을 포함한다. 작성버튼(20), 편집 버튼(22), 인쇄 버튼(24) 및 팩스 버튼(26) 등과 같은 다수의 버튼이 스크린(14)상의 대화 상자(dialog box) 또는 윈도우 내의 표시된다.
버튼(20, 22, 24 및 26)으로 표시되는 작업은 마우스(18)를 사용하여 선택된 버튼(20, 22, 24, 및 26)위에 포인터(28)을 위치시키고 그 선택을 입력하기 위해 마우스(18)의 버튼을 클릭킹(clicking)함으로써 작동 또는 시작(launched) 된다.
상세히 도시되어 있지는 않으나, 작성 버튼(20)을 선택하면 사용자에게 작성될 새로운 파일에 대한 파일명을 입력하도록 요구하는 프롬프트 메시지가 표시된 후, 문서 작성 프로그램이 실행된다. 또한, 편집 버튼(22)를 선택하면 사용자에게 편집될 파일의 파일명을 입력하도록 요구하는 프롬프트 메시지가 표시된 후, 문서 작성 프로그램이 실행된다.
특히, 편집될 파일이 최근 작성된 것이 아닌 경우, 사용자는 그 파일명을 잊어버렸을 지도 모른다. 이러한 경우, 사용자는 공백 파일명(null filename), 물음표 등을 입력할 것이고, 문서 작성 프로그램은 운영 체제가 기억 장치(13)의 디렉토리 구조를 표시하도록 제어하여 사용자가 원하는 파일을 찾아내고 이를 선택하여 편집할 수 있도록 해준다.
유사한 이름을 가진 상당수의 파일은 서로 다른 사용자에 의하여 기억 장치(13)에 저장될 수 있으며, 원하는 파일을 찾아내는 데에 상당한 시간, 노력, 시행 착오가 필요할 수있다.
파일이 작성되고 편집된 후에, 문서 작성 프로그램 모듈은, 제1도에 도시된 바와 같이 사용자가 그 파일을 기억 장치(13)에 저장하고 PUI쉘로 빠져 나살 수 있도록 해 준다.
인쇄 버튼(24)는 사용자가 원하는 파일을 인쇄 출력하여 하드 카피를 만들 수 있게 한다. 팩스 버튼(26)은 사용자가 원하는 파일을 특정 장소에 팩스로 보낼 수 있게 한다. 그러나, 인쇄 및 팩스 기능은 사용자가 원하는 파일의 파일명을 사전에 알거나 그 파일을 찾기 위해 디렉토리 구조를 탁색해야 한다는 점에서 편집 기능과 유사하다.
본 발명의 방법에 의하면, 다수의 프로그램 모듈은 작업을 수행하기 위하여 절차적 사용자 인터페이스 쉘 및 운영 체제에 의해 순차적으로 제어된다.
모듈과 기억 장치 간에 파일 및 목적 코드 (오브젝트) 블록 및 데이터 베이스 엔티티를 포함하는 기다의 데이터 엔티티의 전송은 순차 정보 통합 서비스 (sequential Information Intergration service: SIIS)에 의해 완전하게 통합된다. 예를 들어, 모듈은 기억 장치로부터 파일을 읽어 들이기 위하여 경로명(pathname), 완전한 파일명 또는 와일드 카드 문자를 포함할 수 있는 파일명 지정(designation)을 포함하는 읽기 명령(read command)을 생성한다. 또한, 읽기 명령은 사용자 또는 그룹 액세스 코드와 같은 하나 또는 그 이상의 인수(argument) 및 필요한 파일을 찾을 수 없는 경우를 표시하기 위한 에러 메시지를 포함할 수 있다.
자동 모드에서, 상기 서비스는 자동적으로 파일명 지정 및 인수에 대응하는 가장 최근 파일을 선택하거나 이러한 조건을 만족시키는 파일을 찾을 수 없는 경우에 에러 메시지를 표시한다.
수동 모드에서, 읽기 명령은 수동 선택을 위해 파일명 지정에 대응하는 모든 파일 및 인수를 윈도우 또는 대화 상자 내에 표시하기 위하여 상기 서비스를 제어하는 수동 선택 인수를 포함한다. 읽기 명령은 대화 상자 내에 파일과 함께 표시하기 위한 프롬프트 메시지를 더 포함할 수 있다.
순차 정보 통합 서비스는 C 프로그램밍 언어에서와 같이 소스 코드로 작성된 소프트웨어 프로그램으로 구현되며, 실행을 위한 목적 코드로 컴파일한다. 상기 프로그램은 필요한 기능을 수행하는 루틴 및 서브루틴의 형태로 된 모듈로 구성되며, 명령어 해석기(command parser), 자동 파일 선택기(automatic file selector), 표시 제어기 및 수동 파일 선택기를 포함한다.
본 차 정보 통합 서비스는 사용자가 거의 신경을 쓰지 않고도 프로그램 모듈을 완전하게 통합한다. 읽어질 파일을 수동적으로 선택하여야 하는 경우에는, 선행 기술에서와 같이 전체 디렉토리 구조 대신에 단지 적당한 파일만이 표시되어, 사용자가 그 시스템을 운영하는데 필요한 시간과 연습량을 크게 줄일 수 있다.
본 발명의 이러한 특징과 다른 특징 및 이점은 본 기술 분야에서 숙력된 자라면 같은 부분에 대해 동일한 도면 번호가 사용되는 첨부 도면과 함께 다음의 상세한 설명을 참조하여 명백하게 인식할 수 있을 것이다.

Claims (10)

  1. 컴퓨터(10), 기억 장치(13) 및 제어 시스템(38, 40)을 포함하는 컴퓨터 시스템에서, 다수의 프로그램 모듈(32, 34,3 6)과 상기 기억 장치(13)간의 데이터 엔티티(data entity)의 전송을 통합시키기 위한 순차 정보 통합 서비스(sequential Information Integration service)(50)에 있어서, 상기 기억 장치(13)로부터 상기 모듈(32, 34, 36)중의 하나 내로 읽어 들여질 데이터 엔티티를 지정하는 상기 제어 시스템(38, 40)으로부터의 읽기 명령-상기 읽기 명령은 데이터 엔티티 지정(designation) 및 데이터 엔티티 인수(argument)를 포함함-을 해석하기 위한 명령문 해석기(command parser, 76,) 및 상기 모듈(32, 34, 36)내로 읽어 들이기 위한 상기 명령문 해석기(76)에 의해 해석된 상기 읽기 명령 내의 임의의 데이터 엔티티 지정 및 임의의 데이터 엔티티 인수에 대응하는 상기 기억 장치(13)내의 가장 최근의 데이터 엔티티를 자동적으로 선택하기 위한 자동 데이터 엔티티 선택기(78)을 포함하는 것을 특징으로 하는 순차 정보 통합 서비스.
  2. 제1항에 있어서, 상기 읽기 명령은 수동 선택 인수를 더 포함하며,상기 순차 정보 통합 서비스는 상기 수동 선택 인수에 응답하여, 상기 자동 데이터 엔티티 선택기(78)의 동작을 중지시키고 상기 명령문 해석기(76)에 의해 해석된 상기 읽기 명령 내의 임의의 데이터 엔티티 지정 및 임의의 데이터 엔티티 인수에 대응하는 상기 기억 장치(13)내의 모든 지정자(specifiers)를 표시하기 위한 표시 제어기(80, 82), 및 상기 선택된 지정자를 가진 상기 데이터 엔티티를 상기 기억 장치 (13)로부터 상기 모듈(32, 34, 36)내로 읽어 들이기 위하여 상기 표시된 지정자 중 하나를 수동 선택하기 위한 수동 데이터 엔티티 선택기(84)를 포함하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  3. 제2항에 있어서, 데이터 엔티티는 액세스 코드에 따라 상기 기억 장치(13)내에 저장되며, 상기 읽기 명령은 상기 액세스 코드 중 하나를 지정하는 데이터 엔티티 인수를 포함하고, 상기 표시 제어기(80, 82)는 상기 지정된 액세스 코드에 따라서 상기 기억 장치(13)내에 저장된 데이터 엔티티의 지정자만을 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  4. 제2항에 있어서, 상기 읽기 명은 프롬프트 메시지를 더 포함하고, 상기 표시 제어기(80, 82)는 상기 지정자와 함께 상기 프롬프트 메시지를 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  5. 제2항에 있어서, 상기 읽기 표시는 프롬프트 메시지를 더 포함하며, 상기 표시 제어기(80, 82)는 상기 읽기 명령이 상기 프롬프트 메시지를 포함하는 경우에 상기 지정자와 함께 상기 프롬프트 메시지를 표시하고, 상기 표시 제어기(80, 82)는 상기 읽기 명경이 상기 프롬프트 메시지를 포함하지 않는 경우에 상기 지정자와 함께 디폴트(default) 프롬프트 메시지를 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  6. 제1항에 있어서, 데이터 엔티티는 액세스 코드에 따라 상기 기억 장치(13)내에 저장되며, 상기 데이터 엔티티 인수는 상기 액세스 코드 중 하나를 지정하고, 상기 자동 데이터 엔티티 선택기(78)는 상기 지정된 액세스 코드에 따라 상기 기억 장치(13)내에 저장된 데이터 엔티티로부터 상기 가장 최근 데이터 엔티티만을 선택하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  7. 제1항에 있어서, 상기 자동 데이터 엔티티 선택기(78)는 상기 기억 장치(13)내의 데이터 엔티티가 상기 읽기 명령 내의 임의의 데이터 엔티티 지정 및 임의의 데이터 엔티티 인수에 대응하지 않는 경우에 에러 메시지를 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  8. 제1항에 있어서, 상기 읽기 명령은 에러 메시지를 더 포함하고 상기 자동 데이터 엔티티 선택기(78)는 상기 기억 장치(13)내의 데이터 엔티티가 상기 읽기 명령 내의 임의의 데이터 엔티티 지정 및 임의의 데이터 엔티티 인수에 대응하지 않는 경우에 에러 메시지를 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  9. 제1항에 있어서 상기 읽기 명령은 에러 메시지를 더 포함할 수 있으며, 상기 자동 데이터 엔티티 선택기(78)는 상기 읽기 명령이 상기 에러 메시지를 포함하고 상기 기억 장치(13)내의 데이터 엔티티가 상기 데이터 엔티티 지정 및 상기 데이터 엔티티 인수에 대응하지 않는 경우에 상기 에러 메시지를 표시하고, 상기 자동 데이터 엔티티 선택기(78)는 상기 읽기 명령이 에러 메시지를 포함하지 않고 상기 기억 장치(13)내의 데이터 엔티티가 상기 데이터 엔티티 지정 및 상기 데이터 엔티티 인수에 대응하지 않는 경우에 디폴트 에러 메시지를 표시하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
  10. 제1항에 있어서, 상기 제어 시스템(38, 40)은 상기 읽기 명령을 생성할 수 있는 운영 체제(40), 및 상기 프로그램 모듈들을 제거하기 위하여 상기 운영 체제와 상호 작용하며 상기 읽기 명령도 생성할 수 있는 절차적 사용자 인터페이스(38)를 포함하는 것을 특징으로 하는 순차 정보 통합 서비스(50).
KR1019950700280A 1993-05-24 1994-05-20 컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스 KR0169537B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/069,053 US5692194A (en) 1993-05-24 1993-05-24 Sequential information integration service for automatically transferring a most recent data entity between a plurality of program modules and a storage in a computer
US08/069,053 1993-05-24
US8/069,053 1993-05-24
PCT/US1994/005678 WO1994028482A1 (en) 1993-05-24 1994-05-20 Sequential information integration service for integrating transfer of files or other data entities between a plurality of program modules and a storage in a computer

Publications (2)

Publication Number Publication Date
KR950702720A KR950702720A (ko) 1995-07-29
KR0169537B1 true KR0169537B1 (ko) 1999-01-15

Family

ID=22086432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950700280A KR0169537B1 (ko) 1993-05-24 1994-05-20 컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스

Country Status (10)

Country Link
US (1) US5692194A (ko)
EP (1) EP0651895B1 (ko)
JP (1) JPH08503568A (ko)
KR (1) KR0169537B1 (ko)
CA (1) CA2138661C (ko)
DE (1) DE69420926T2 (ko)
DK (1) DK0651895T3 (ko)
EG (1) EG20291A (ko)
IL (1) IL109675A (ko)
WO (1) WO1994028482A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0760187B1 (en) * 1994-05-19 2002-07-31 BRITISH TELECOMMUNICATIONS public limited company File transfer mechanism
JPH11143724A (ja) * 1997-11-13 1999-05-28 Sharp Corp 情報処理装置および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US6178429B1 (en) * 1997-11-26 2001-01-23 Cisco Technology, Inc. Mechanism for ensuring SCM database consistency on multi-part operation boundaries
US8121891B2 (en) 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US6195651B1 (en) 1998-11-19 2001-02-27 Andersen Consulting Properties Bv System, method and article of manufacture for a tuned user application experience
US6553363B1 (en) * 1999-03-31 2003-04-22 International Business Machines Corporation Method and apparatus for processing documents in a browser
US6874130B1 (en) 2000-02-17 2005-03-29 International Business Machines Corporation Copy/move graphical user interface apparatus and method
US7716674B1 (en) * 2000-10-06 2010-05-11 Apple Inc. Streaming server administration protocol
US20070124345A1 (en) * 2005-11-30 2007-05-31 Heinz Kathy K Library backup
JP5644266B2 (ja) * 2010-08-30 2014-12-24 株式会社リコー 電子黒板システム、電子黒板装置、電子黒板システムの制御方法及びプログラム
CN110532237B (zh) * 2019-09-05 2022-02-08 恒生电子股份有限公司 格式数据文件的并发处理方法、装置及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3984817A (en) * 1973-11-08 1976-10-05 Honeywell Information Systems, Inc. Data processing system having improved program allocation and search technique
US4555759A (en) * 1981-05-18 1985-11-26 International Business Machines Corp. Selective use of restored file setups
US4791556A (en) * 1984-08-29 1988-12-13 Vilkaitis John V Method for operating a computer which searches for operational symbols and executes functions corresponding to the operational symbols in response to user inputted signal
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5047981A (en) * 1988-07-15 1991-09-10 Texas Instruments Incorporated Bit and block erasing of an electrically erasable and programmable read-only memory array
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
US5075847A (en) * 1989-05-26 1991-12-24 Hewlett-Packard Company Method and apparatus for computer program encapsulation
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
US5375200A (en) * 1992-11-13 1994-12-20 International Business Machines Corporation Method and system for graphic interaction between data and applications within a data processing system

Also Published As

Publication number Publication date
IL109675A0 (en) 1994-08-26
DE69420926D1 (de) 1999-11-04
WO1994028482A1 (en) 1994-12-08
US5692194A (en) 1997-11-25
DK0651895T3 (da) 2000-04-03
JPH08503568A (ja) 1996-04-16
IL109675A (en) 1997-04-15
CA2138661A1 (en) 1994-12-08
EP0651895A1 (en) 1995-05-10
KR950702720A (ko) 1995-07-29
EG20291A (en) 1998-07-30
DE69420926T2 (de) 2000-03-09
EP0651895B1 (en) 1999-09-29
CA2138661C (en) 2000-03-14

Similar Documents

Publication Publication Date Title
US5761684A (en) Method and reusable object for scheduling script execution in a compound document
US6490634B2 (en) Adaptive digital data transfer apparatus and method
US5487141A (en) Development system with methods for visual inheritance and improved object reusability
US5583983A (en) Multi-platform object-oriented software development and deployment system
US5025395A (en) Data processing system capable of executing data processing using resources by designating displayed graphic patterns representing selected resources
US7406664B1 (en) System for integrating HTML Web site views into application file dialogs
US6305008B1 (en) Automatic statement completion
US6886024B1 (en) Distributed application control system, control method and a program
EP0811193B1 (en) Graphical environment for managing and developing applications
EP0640913B1 (en) Multilingual standard resources
US5892512A (en) Selection of operations in a computer system
US5047977A (en) Methods of generating and retrieving error and task message records within a multitasking computer system
KR0169537B1 (ko) 컴퓨터 내의 다수의 프로그램 모듈과 기억 장치 간에 파일 또는 기타 데이터 엔티티의 전송을 통합시키기 위한 순차 정보 통합 서비스
WO1993025961A1 (en) File directory structure generator and retrieval tool
EP0740258B1 (en) Data management system
US20080005752A1 (en) Methods, systems, and computer program products for generating application processes by linking applications
US5781902A (en) Method, computer program product, and system for extending the capabilities of an existing process to store and display foreign data
US7600199B2 (en) Task-based interface with underlying extensible framework
CN1326062C (zh) 计算机系统和方法
US5655154A (en) Method and system for sharing utilities between operating systems
US20100269032A1 (en) Advanced text completion, such as for markup languages
McLennan The new [incr Tcl]: Objects, mega-widgets, namespaces and more
Lawton et al. The Knowledge Weasel hypermedia annotation system
JPH10289084A (ja) 情報処理装置および読み出し専用の記憶媒体
JP2000020296A (ja) プログラム変更支援装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20011009

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee