KR970007758B1 - 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템 - Google Patents

2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템 Download PDF

Info

Publication number
KR970007758B1
KR970007758B1 KR1019890005351A KR890005351A KR970007758B1 KR 970007758 B1 KR970007758 B1 KR 970007758B1 KR 1019890005351 A KR1019890005351 A KR 1019890005351A KR 890005351 A KR890005351 A KR 890005351A KR 970007758 B1 KR970007758 B1 KR 970007758B1
Authority
KR
South Korea
Prior art keywords
data
link
objects
display
file
Prior art date
Application number
KR1019890005351A
Other languages
English (en)
Other versions
KR890016476A (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 KR890016476A publication Critical patent/KR890016476A/ko
Application granted granted Critical
Publication of KR970007758B1 publication Critical patent/KR970007758B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

내용없음.

Description

2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템
제1도는 본 발명의 양호한 실시예에 따른 컴퓨터의 블럭도.
제2a도 및 제2b도는 본 발명의 양호한 실시예에 따른 오브젝트, 응용과 데이터 파일간의 관계를 도시한 블럭도.
제3도는 본 발명의 양호한 실시예에 따라 링크된 다수의 오브젝트를 도시한 도면.
제4도는 본 발명의 양호한 실시예에 따른, 데이터를 포함하는 오브젝트의 친 오브젝트로서의 폴더로서 작용하는 일련의 오브젝트를 도시한 도면.
제5도는 본 발명의 양호한 실시예에 따른 다양한 오브젝트의 링킹으로부터 발생하는 스크린 디스플레이를 도시한 도면.
제6도는 제5도에 도시된 스크린 디스플레이를 발생시키기 위한 오브젝트의 링킹을 도시한 도면.
제7도는 본 발명의 양호한 실시예에 따라 3개의 오브젝트들이 서로 링크될 수 있는 방식을 도시한 도면.
제8도 및 제9도는 본 발명의 양호한 실시예에 따라 오브젝트가 카피될 수 있는 방식을 도시한 도면.
제10도 및 제11도는 본 발명의 양호한 실시예에 따른 퍼블릭 오브젝트의 카핑을 도시한 도면.
제12도 내지 제71도는 본 발명의 양호한 실시예에 따라 오브젝트를 조작하는 세션의 스크린상에 나타나는 형태를 도시한 도면으로서, 본 발명의 양호한 실시예에 따라 사용자에게 나타나는 오브젝트가 링크되는 방식을 도시한 블럭도.
제72도는 본 발명의 양호한 실시예의 따른 오브젝트 관리 장치(OMF)의블럭도.
제73도는 제72도에 도시된 OMF내에 포함된 시스템 파일 HPOMF·CAT의 구성을 도시한 블럭도.
제74도는 본 발명의 양호한 실시예에 따른 글로벌 친 오브젝트와 글로벌 오브젝트사이의 관계를 도시한 도면.
제75도는 제1도에 도시된 메모리로부터의 데이터 파일 및 응용을 제72도내에 도시된 OMF내의 시스템 파일이 억세스하는 방식을 도시한 블럭도.
제76도는 제75도에 도시된 메모리의 구성을 도시한 블럭도.
제77도 및 제78도는 본 발명의 양호한 실시예에 따른 오브젝트 및 링크를 도시한 도면.
제79도는 제73도내에 도시된 OMF 내에 포함된 시스템 파일 HPOMF·XRF의 구성을 도시한 블럭도.
제80도는 본 발명의 양호한 실시예에 따른 뷰 명세 레코드를 도시한 도면.
제81도는 본 발명의 양호한 실시예에 따른 스냅숏의 사용을 도시한 도면.
제82도는 본 발명의 양호한 실시예에 따른, 스냅숏이 전혀 없을 때의 뷰의 데이터 경로를 도시한 도면.
제83도는 본 발명의 양호한 실시예에 따른, 스냅숏이 있을 때의 뷰의 데이터 경로를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
14 : 모니터 17 : 컴퓨터 주메모리
18 : 컴퓨터 19 : 키보드
20 : 마우스 100 : 오브젝트 관리 장치(OMF)
101, 102, 103, 104, 105, 106 : 응용
131, 132, 133, 231, 232, 233 : 특성
170 : 대량 격납 메모리
202, 203, 204, 205, 207, 208, 209, 210, 301, 302, 303, 304, 305, 306, 307, 308, 309, 411, 412, 413, 611, 612, 613, 614, 701, 702, 703 : 오브젝트
211 : 메세지 221, 222, 223 : 데이터 파일
401, 402, 403, 404 : 폴더 503 : 스냅숏
511, 512 : 텍스트 513, 514 : 그래픽
515 : 스프레드시트 데이터
601, 602, 603, 604, 605, 606, 607 : 시스템 파일
615, 616, 617, 704 :데이터 링크
650, 652 : 식별자 720 : 클립보드
740 : 뷰 명세 레코드 741, 742, 743 : 필드
779, 799 : 다이얼로그 박스 781 : 커서
782, 783, 794 : 풀 다운 메뉴 785, 789, 791, 796, 797 : 윈도우
790 : 텍스트
본 발명은 컴퓨팅 시스템내의 데이터 전송에 관한 것이다.
또한, 상이한 컴퓨터 응용(application)에 의해 생긴 데이터 파일들 사이에는 데이터 호환성이 없다. 전형적으로, 각 컴퓨터 응용은 다른 컴퓨터 응용에 무관하게 동작한다. 한 컴퓨터 응용으로부터의 데이터가 다른 응용으로부터의 데이터내에 효과적으로 이용될 수 있는 경우는 매우 드물다.
필요에 따라서 소위 말하는 통합 소프트웨어가 개발됨으로써, 소정의 응용들간에 소정의 데이터 호환성이 있게 된다. 그러나, 이 통합 소프트웨어 팩키지들은 통합 소프트웨어 팩키지의 일부가 아닌 컴퓨터 응용과의 데이터 호환성을 제공하지 못한다.
본 발명의 양호한 실시예에 따르면, 파일 관리 시스템 및 다수의 오브젝트를 갖고 있는 컴퓨터가 제공된다. 파일 관리 시스템은 오브젝트들 사이에서의 데이터의 전송을 조정한다. 일반적으로, 오브젝트는 1개 이상의 파일내의 데이터를 포함하고 파일내의 데이터를 프로세스하기 위해 컴퓨터에 의해 실행될 수 있는 실행 가능한 코드를 포함하는 실재물(entity)인 것으로 생각된다.
본 발명의 양호한 실시예내에서, 파일 관리 시스템은 다수의 데이터 파일, 다수의 응용 프로그램, 다수의 클래스(class) 데이터 구조 및 다수의 오브젝트 데이터 구조를 포함한다. 각 클래스 데이터 구조는 다수의 응용 프로그램내의 응룔 프로그램에 대한 참조(reference)를 포함한다. 각 오브젝트 데이터 구조는 다수의 클래스 데이터 구조로부터의 클래스의 데이터 구조에 대한 참조 및 다수의 데이터 파일로부터의 최소한 1개의 데이터 파일에 대한 참조를 포함한다.
오브젝트 데이터 구조를 사용하면, 컴퓨터 사용자와 데이터 파일들 사이에 층(layer)이 추가된다. 이것은 사용자가 엑세스할 수 없는 태그(tag)를 사용하여 컴퓨터가 오브젝트 데이터 구조 및 이에 관련된 엑세스 파일을 참조하게 한다. 사용자는 스크린상의 오브젝트의 물리적 위치에 기초를 두고 오브젝트를 참조한다. 또한, 사용자는 태그값과는 완전히 무관한 명칭을 오브젝트 데이터 구조에 제공할 수 있다. 이것은 사용자가, 예를 들어 동일한 명칭을 동일한 디렉토리내의 2개의 오브젝트에 제공하게 한다.
부수적으로, 파일 관리 시스템은 다수의 링크 데이터 구조를 포함하는데, 각각의 링크 데이터 구조는 링크의 친(parent) 오브젝트로서 작용하는 다수의 오브젝트 데이터 구조내의 제1오브젝트 데이터 구조에 대한 참조를 포함하고, 링크의 자(child) 오브젝트로서 작용하는 다수의 오브젝트 데이터 구조내의 제2오브젝트 데이터 구조에 대한 참조를 포함한다. 자 오브젝트와 친 오브젝트는 반드시 각 링크 데이터 구조마다 동일하지는 않다.
뷰와의 링크는 다음과 같이 자 오브젝트와 친 오브젝트 사이에 만들어질 수 있다. 사용자는 디스플레이된 데이타를 자 오브젝트에 지정한다. 사용자는 데이타가 디스플레이될 위치를 친 오브젝트에 지정한다. 사용자는 파일 관리 시스템이 자 오브젝트 및 친 오브젝트를 링크시키게 하므로, 링크 데이타 구조는 링크 데이타 구조를 식별하는 참조명, 자 오브젝트에 대한 참조, 친 오브젝트에 대한 참조, 및 전송될 데이타를 식별하는 데이타 식별자를 포함한다.
친 오브젝트로부터의 요구에 따라, 자 오브젝트는 친 오브젝트에 의해 지정된 위치내의 데이터를 디스플레이 한다. 요구는 참조명, 데이터가 디스플레이될 위치, 데이터 전송 요구를 파일 관리 시스템에 보냄으로써 친 오브젝트 의해 행해진다. 친 오브젝트는 자 오브젝트 또는 데이터 식별자를 식별하지 못한다. 친 오브젝트가 이들을 알 필요는 없다.
파일 관리 시스템이 친 오브젝트로부터의 요구를 수신할 때, 이것은 데이터 전송 요구를 자 오브젝트에 보낸다. 이 요구는 데이터가 디스플레이될 위치 및 데이터 식별자를 포함한다. 이것은 참조명 또는 친 오브젝트의 식별을 포함하지 않는다. 자 오브젝트는 지정된 위치에 데이터를 디스플레이 한다.
선택적으로, 링크가 셋업되면, 자 오브젝트는 스냅숏(snapshot) 오브젝트를 셋업시킬 수 있다. 스냅숏은 지정된 위치에 데이터를 디스플레이할 책임을 갖는다. 파일 관리 시스템이 친 오브젝트로부터의 요구를 수신하면, 이것은 데이터 전송 요구를 자 오브젝트가 아닌 스냅숏에 보낸다. 스냅숏은 지정된 위치에 데이터를 디스플레이 한다.
본 발명의 한가지 장점은, 제1응용을 사용자가 제2응용으로부터 데이터를 억세스하게 한다는 것이다. 예를 들어, 단일 스프레드시트(spreadsheet)가 워드 프로세싱 문서(document)내의 테이블 및 바 챠트(bar chart)용 데이터 소오스로서 사용된 몇 개의 상이한 폴더(folder)들 내에 링크될 수 있다. 예를 들어, 소정의 이 링크된 위치들로부터, 사용자는 스프레드시트를 보다 완전하게 검사하거나 변경시키기 위해 이 스프레드시트를 매우 용이하게 디스플레이 할 수 있다.
스냅숏 사용의 장점은 전형적으로, 친 오브젝트가 자 오브젝트로부터의 데이터를 요구할 때, 자 오브젝트에 관련된 응용이 작동되어야 한다는 것이다. 이것은 복잡한 응용에 대한 높은 오버헤드(overhead)를 요구할 수 있다. 스냅숏이 사용되면, 자 오브젝트에 관련된 응용은 작동될 필요없고, 요구된 데이터는 거의 오버헤드 없이 디스플레이될 수 있다.
이하, 첨부 도면을 참조하여 본 발명을 더욱 상세하게 설명하겠다.
제1도는 모니터(14), 키보드(19) 및 마우스(mouse, 20)을 갖고 있는 컴퓨터(18)를 도시한 것이다. 컴퓨터 주 메모리(17)의 일부분은 컴퓨터(18)내로 들어가는 것으로 화살표(9)로 도시되어 있다. 컴퓨터 주 메모리(17)내에는, 오브젝트 관리 장치(OMF)(100), 응용(101), 응용(102), 응용(104), 응용(105) 및 응용(106)이 도시되어 있다.
각각의 응용(101 내지 106)은 오브젝트를 사용하는 데이터를 격납시킨다. 예를 들어, 제2a도내에서, 응용(101)은 오브젝트(202), 오브젝트(203), 오브젝트(204) 및 오브젝트(205)를 사용하는 데이터가 격납되어 있는 것으로 도시되어 있다. 이와 마찬가지로, 응용(106)은 오브젝트(207), 오브젝트(208), 오브젝트(209) 및 오브젝트(210)의 데이터가 격납되어 있는 것으로 도시되어 있다. OMF(100)은 어떤 오브젝트가 어떤 응용으로 가는 지를 나타내는 정보를 격납한다. 단일 응용에 관련되는 오브젝트는 동일 형태 또는 동일 클래스의 오브젝트인 것으로 생각된다. 예를 들어, 오브젝트(202, 203, 204 및 205)는 이들의 각각 응용(101)에 관련되기 때문에 동일한 클래스로 되어 있다. 이와 마찬가지로, 오브젝트(207, 208, 209 및 210)은 이들이 각각 응용(106)에 관련되기 때문에 동일 클래스로 되어 있다. 동일 클래스의 모든 오브젝트는 동일한 응용을 사용한다. 응용이 컴퓨터(18)에 의해 실행되고 있을 때, OMF(100)은 응용이 데이터를 엑세스해야 하는 오브젝트가 어떤 오브젝트인지를 응용에 알린다. 이때, 이 오브젝트는 활성상태인 것으로 생각된다. 오브젝트는 오브젝트가 관련되는 응용이 컴퓨터(18)에 의해 실행되고 있지 않을 때, 또는 오브젝트가 관련되는 응용이 실행중이지만 이 오브젝트의 데이터로 실행되고 있지 않을 때 비활성 상태이다.
활성 오브젝트는 메시지를 사용하여 서로 통신할 수 있다. 예를 들어, 응용(101)의 2가지 경우, 즉 오브젝트(202)의 데이터를 갖고 있는 경우와 오브젝트(203)의 데이터를 갖고 있는 경우가 컴퓨터(18)에 의해 실행되고 있으면, 오브젝트(202)와 오브젝트(202)은 둘다 활성상태로 된다. 그러므로, 오브젝트(202)는 메시지(211)을 오브젝트(203)으로 보낼 수 있다. 이와 마찬가지로, 컴퓨터(18)이 오브젝트(202)의 데이터를 갖고 있는 응용(106)을 실행하고 있으면, 오브젝트(202)와 오브젝트(207)은 둘다 활성상태로 된다. 그러므로, 오브젝트(202)는 메시지(212)를 오브젝트9207)로 보낼 수 있다.
메시지(211 및 212)과 같은 메시지는 모든 형태의 오브젝트에 의해 송신 및 수신되도록 포맷될 수 있다. 이것은 모든 활성 오브젝트들간의 자유로운 통신을 허용한다. 또한, 이것은 기준 오브젝트 형태가 새로운 형태를 사용하도록 갱신될 필요없이 새로운 오브젝트 형태가 정해져서 시스템에 추가되게 한다.
각각의 오브젝트는 한 셋트의 데이터 파일에 관련되었다. 예를 들어, 오브젝트(210)은 데이터 파일(221), 데이터 파일(222) 및 데이터 파일(223)에 관련된 것으로 도시되어 있다. 데이타 파일(221, 222 및 223)내의 데이타는 응용(106)에 의해 해석될 수 있는 포맷으로 되어 있다.
각 오브젝트는 특성 리스트에 관련되었다. 각 특성은 명치 및 명칭을 지정함으로써 엑세스될 수 있는 값을 갖고 있다. 부수적으로, 오브젝트의 각 클래스는 이 클래스의 모든 오브젝트에 공통인 특성 리스트에 관련되었다. 예를 들어, 제24도내에는, 오브젝트(205) 및 응용(101)이도시되어 있다. 오브젝트(205)는 특성(231), 특성(232) 및 특성(233)에 관련되었다. 응용(101)은 특성(131), 특성(132) 및 특성(133)에 관련되었다.
특성 리스트는 소정 수의 특성을 포함할 수 있다. 각 특성값은 길이가 0에서 32,762바이트까지 될 수 있다. 특성은 명칭, 코멘트등과 같은 오브젝트 및 클래스에 관한 해설적인 정보를 격납하는데 사용된다.
오브젝트는 다른 오브젝트에 대한 참조를 가질 수 있다. 이 참조들을 링크라 부른다. 링크는 방향성인데, 한 오브젝트는 친 오브젝트라 부르고, 다른 오브젝트는 자 오브젝트라 부른다. 각 링크는 각각의 자 오브젝트를 식별하기 위해 친 오브젝트에 의해 지정되는 번호인 참조명을 갖고 있다. 모든 오브젝트의 자 오브젝트, 계속해서 이것의 자 오브젝트의 자 오브젝트 등을 집합적으로 이 오브젝트들의 후손(descendent)이라 부른다. 이와 마찬가지로, 오브젝트의 친 오브젝트, 계속해서 이것의 친 오브젝트의 친 오브젝트 등을 집합적으로 오브젝트의 선조(ancestor)라 부른다. 본 발명의 양호한 실시예 내에서, 사용자에 의해 조작될 수 있는 오브젝트들은 0 이상의 자 오브젝트 및 1개 이상의 친 오브젝트를 가질 수 있다. 오브젝트는 자신의 후손이 되지는 못한다.
제3도내에는 오브젝트(31), 오브젝트(302), 오브젝트(303), 오브젝트(304), 오브젝트(305), 오브젝트(306), 오브젝트(307),오브젝트(308) 및 오브젝트(309)가 도시되어 있다. 오브젝트(301-309)는 각 링크에 의해 괄호내에 도시된 번호인 참조 번호와의 링크들을 갖고 있다. 오브젝트 (301)은 참조명 "1"을 갖고 있는 오브젝트(302)와의 링크(310)을 갖고 있다. 오브젝트(301)은 참조명 "2"를 갖고 있는 오브젝트(303)과의 링크(311)을 갖고 있다. 오브젝트(302)은 참조명 "7"을 갖고 있는 오브젝트(304)와의 링크(312)를 갖고 있다. 오브젝트(302)는 참조명 "8"을 갖고 있는 오브젝트(305)와의 링크(313)을 갖고 있다. 오브젝트(303)은 참조명 "1"을 갖고 있는 오브젝트(306)과의 링크(314)를 갖고 있다. 오브젝트(303)은 참조명 "4"를 갖고 있는 오브젝트(307)과의 링크(315)를 갖고 있다. 오브젝트(304)는 참조명 "1"을 갖고 있는 오브젝트(308)과의 링크(316)을 갖고 있다. 오브젝트(305)은 참조명 "7"을 갖고 있는 오브젝트(308)와의 링크(317)을 갖고 있다. 오브젝트(306)은 참조명 "8"을 갖고 있는 오브젝트(309)와의 핑크(318)을 갖고 있다. 오브젝트(307)은 참조명 "9"를 갖고 있는 오브젝트(306)과의 링크(319)를 갖고 있다. 오브젝트(307)은 참조명 "13"을 갖고 있는 오브젝트(309)와의 링크(320)을 갖고 있다. 오브젝트(308)은 참조명 "3"을 갖고 있는 오브젝트(303)과의 링크(322)를 갖고 있다.
오브젝트(301)은 오브젝트(302 및 303)의 친 오브젝트이다. 오브젝트(303)은 오브젝트(301) 및 오브젝트(308)의 자 오브젝트이다. 각각의 오브젝트(302-309)는 오브젝트(301)의 후손이다. 오브젝트(303)의 후손은 오브젝트(306, 307 및 309)이다. 오브젝트(309)의 선조는 모든 오브젝트(301-308)이다. 오브젝트(303)의 선조는 오브젝트(301. 302, 304, 305 및 308)이다.
활성 오브젝트는 다른 오브젝트와의 링크를 동적으로 형성할 수 있고 삭제할 수 있다. 오브젝트와 링크가 삭제될 때, OMF(100)은 오브젝트가 소정의 다른 친 오브젝트를 갖는지를 검사한다. 그렇지 않은 경우, OMF(100)은 오브젝트의 데이터 파일을 삭제하고, 오브젝트에 관련된 다른 격납 공간을 채움으로써 오브젝트를 파괴시킨다.
오브젝트 링크들은 여러가지 목적을 위해 사용될 수 있다. 예를 들어, 폴더는 오브젝트 형태로 될 수 있다. 폴더로서 사용된 오브젝트의 자 오브젝트들은 여러가지 응용에 사용하기 위한 데이터를 포함하는 오브젝트로 될 수 있거나, 이 오브젝트는 다른 폴더로 될 수 있다. 제4도는 폴더와 같은 오브젝트의 사용예를 도시한 것이다. 오브젝트(401)[또는, 일명 폴더(401)이라 부름], 오브젝트(402)[일명, 폴더(402)라 부름], 오브젝트(403)[일명, 폴더(403)이라 부름] 및 오브젝트(404)[일명, 폴더(404)라 부름]는 폴더로서 사용된다. 폴더(401)은 데이터를 포함하는데 사용된 오브젝트(405), 데이터를 포함하는데 사용된 오브젝트(406), 데이터를 포함하는데 사용된 오브젝트(407), 및 폴더(402)를 포함한다. 폴더(402)는 데이터를 포함하는데 사용된 오브젝트(408), 폴더(403) 및 폴더(404)를 포함한다. 폴더(403)은 데이터를 포함하는데 사용된 오브젝트(409), 및 데이터를 포함하는데 사용된 오브젝트(410)을 포함한다. 폴더(404)는 데이터를 포함하는데 사용된 오브젝트(411), 데이터를 포함하는데 사용된 오브젝트(412), 및 데이터를 포함하는데 사용된 오브젝트(413)을 포함한다.
보다 복잡한 링크 사용은 복합 오브젝트를 구성하는 것이다. 예를 들어, 제5도내에서, 문서(510)은 텍스트(text, 511)의 라인, 텍스트(512)의 라인, 그래픽(513), 그래픽(514) 및 스프레드시트 데이터(515)를 포함한다. 제6도에 도시된 바와 같이, 텍스트 및 포맷팅 데이터는 오브젝트(611)내에 격납되고, 그래픽(513)용 그래픽 데이터는 오브젝트(612)내에 격납되며, 그래픽(514)용 그래픽 데이터는 오브젝트(613)내에 격납되고, 스프레드시트 데이터(515)는 오브젝트(614)내에 격납된다. 복합 오브젝트를 형성하는데 사용되는 링크들은 항상 링크에 관련된 몇 가지 종류의 데이터 전송, 즉 데이터 링크를 갖는다. 제6도내에는 데이터 링크(615) 및 데이터 링크(616)은 시각적 데이터 링크이다. 시각적 데이터 링크내에서, 친 오브젝트의 윈도우내의 데이터를 디스플레이하기 위한 요구를 자 오브젝트에 보내게 된다.
제7도내에, 제1스프레드시트용 데이터를 포함하는 오브젝트(701) 데이터 링크(704)를 통해, 제2스프레드시트용 데이터를 포함하는 오브젝트(702)에 링크되고, 데이터 링크(705)를 통해, 제3스프레드시트용 데이터를 포함하는 오브젝트(703)에 링크된다. 제1스프레드시트는 제2스프레드시트 및 제3스프레드시트로부터의 데이터를 사용한다. 제1스프레드시트가 제2 및 제3스프레드시트로부터의 데이터를 디스플레이하기 때문에, 데이터 링크(704) 및 데이터 링크(705)를 데이터-패싱(data-passing) 데이터 링크라 부른다.
OMF(100)은 오브젝트가 카피되거나 우송될 때 "부기(bookkeeping)" 기능을 행한다. 오브젝트가 카피될 때, OMF(100)은 오브젝트에 관련된 데이터 파일을 카피한다. 카피되고 있는 오브젝트가 자 오브젝트를 갖고 있는 경우, OMF(100)은 오브젝트의 후손을 카피하고, 원구조와 동일한 구조를 새로운 복합 오브젝트에 제공하기 위해 새로운 오브젝트들간에 링크를 형성한다.
예를 들어, 제8도에는 제3도로부터의 오브젝트(308), 및 오브젝트(308)의 후손이 도시되어 있다. OMF가 오브젝트(308)을 카피할 때, OMF는 제8도에 도시된 각각의 오브젝트(308)의 후손 및 링크들을 카피한다. 제9도에는 목적(308)의 카피가 도시되어 있다. 오브젝트(308a)는 오브젝트(308)카피이다. 오브젝트(303a)는 오브젝트(303)의 카피이다. 오브젝트(306a)는 오브젝트(306의 카피이다. 오브젝트(307a)는 오브젝트(307)의 카피이다. 오브젝트(309a)는 오브젝트(309)의 카피이다. 링크(321a)는 링크(321)의 카피이다. 링크(322a)는 링크(322)의 카피이다. 링크(314a)는 링크(314)의 카피이다. 링크(315a)는 링크(315)의 카피이다. 링크(318a)는 링크(318)의 카피이다. 링크(319a)는 링크(319)의 카피이다. 링크(320a)는 링크(320)의 카피이다.
양호한 실시예 내에서, 친 오브젝트가 카피될 때 디폴드(default) 동작은 친 오브젝트의 자 오브젝트를 카피한다. 그러나, 자 오브젝트가 "퍼블릭(public)" 오브젝트로 지정될 때, 이것은 카피되지 않는다. 친 오브젝트가 카피는 자 오브젝트에 대한 링크를 포함한다. 예를 들어, 제10도내에서, 친 오브젝트의 오브젝트(161)은 카피된다. 친 오브젝트(161)은 링크(163)을 통해 자 오븍젝트(162)에 링크된다. 자 오브젝트(162)는 퍼블릭 오브젝트이다. 제11도에 도시된 바와 같이, 친 오브젝트(161)을 카피하면 새로운 링크(163a)를 통해 오브젝트(162)에 링크되는 새로운 오브젝트(161a)가 발생된다. 오브젝트(161a)는 오브젝트(161)의 카피이다. 링크(163a)는 링크(163)의 카피이다.
제12도 내지 제17도내에는, 오브젝트가 모니터(14) 상에서 사용자에게 디스플레이되는 방식이 도시되어 있다. 제12도내에서, "뉴웨이브 오피스(NewWave Office)" 데스크 탑은 "파일 드로워(File Drawer)", "웨스트 바스켓(Waste Basket)", "다이어그노스틱(diagnostic)", "프린터", "스타(Star)" 및 "마이 폴더(My Folder)"로서 레이블된 아이콘(icon)들을 포함하는 것으로 도시되어 있다. 사용자(도시하지 않음)는 "마이 폴더"를 선택하기 위해 키보드(19) 또는 마우스(mouse, 20)을 사용하여 커서(cursor, 78)을 조작하였다.
제13도에는 모니터(14)상에 디스플레이된 오브젝트들이 링크되는 방식이 도시되어 있다[오브젝트(700)으로서 도시된]. 뉴웨이브 오피스는 링크(711)을 통하는 [오브젝트(701)로서 도시된] "파일 드로워", 링크(712)를 통하는 [오브젝트(703)으로서 도시된] "다이어그노스틱", 링크(714)를 통하는 [오브젝트(704)로서 도시된] 프린터, 링크(715)를 통하는 [오브젝트(705)로서 도시된] 마이 폴더, 및 링크(716)을 통하는 [오브젝트(706)으로서 도시된] "스타"의 친 오브젝트이다.
제14도내에서, 사용자는 커서(781)을 사용하여 풀 다운 메뉴(pull down menu)(782)내의 "새로운 …을 만듬(Create a Now …)"를 선택하였다. 이 선택의 결과로서, 다이얼로그(dialog) 박스(779)는 제15도에 도시된 바와 같이 나타난다. 커서(781)을 사용하여, 사용자는 아이콘 "레이아웃(Layout)" 하이라이트시켰고, 키보드(19)를 사용하여, 만들어질 새로운 오브젝트에 대한 명칭으로서 "페이스트 업(Paste Up)"을 타이프하였다. 이때, 커서(781)은 "오케이(OK)" 로 레이블된 영역을 지시한다. 이 영역이 선택될 때, "페이스트 업"이라 하는 새로운 오브젝트가 제16도에 도시된 바와 같이 만들어진다.
제17도내에서, "페이스트 업"은 링크(717)을 통하는 뉴웨이브 오피스의 자 오브젝트로서 링크된 오브젝트(707)이 도시되어 있다
기본 클립보드 동작은 컷(cut), 카피(Copy), 및 페이스트(Paste)이다. 사용자는 이동되거나 카피될 데이터를 선택한 다음, 컷 명령 또는 카피 명령을 제공해야 한다. 컷은 (데이터를 이것의 원위치로부터 삭제하는) 클립보드로 선택된 데이터를 이동시킨다. 카피는 클립보드상의 선택된 데이터 카피를 만든다. 그 다음, 사용자는 이동되거나 카피될 데이터를 원하는 위치를 선택하고 페이스트 한다. 이 명령은 클립보드의 내용을 선택된 위치에 카피한다.
제18a도내에는, 사용자가 "페이스트 업"을 선택한 것이 도시되어 있다. 이 선택은 아이콘에 의해 반전비디오를 사용하여 디스플레이되는 "페이스트 업"으로 나타난다. 커서(781)로 사용자는 폴 다운 메뉴(783)으로부터 "카피"를 선택한다. 제18b도내에는, 클립보다 오브젝트(720)이 링크(721)을 통하는 오브젝트(708)의 침 오브젝트인 것으로 도시되어 있다. 오브젝트(708)은 오브젝트(707)("페이스트 업")의 카피이다.
제19도에 도시된 바와 같이, 다음에, 사용자는 폴 다운 메뉴(783)으로부터 "페이스트"를 선택한다. 제20도내에 도시된 결과 원 "페이스트 업" 오브젝트(707)의 카피인 커서(781)에 의해 지시된 오브젝트(708)의 추가 상대이다.
제21도내에는, 새로운 오브젝트가 링크(718)을 통하는 뉴웨이브 오피스의 자오브젝트로서 링크된 오브젝트(708)인 것으로 도시되어 있다.
제22도내에서, "마이 폴더"는 커서(781)을 사용하여 "마이 폴더"영 아이콘을 이중(double) 클리킹시킴으로써 개방되었다. 그 결과는 "마이 폴더"를 나타내는 새로운 윈도우(785)이다.
제23도내에는, 커서(781)을 사용하여, "페이스트 업"[오브젝트(708)]이 윈도우(785)로 드랙(drag)되는 것으로 도시되어 있다. 제24도내에서, 프로세스는 완전하고, "페이스트 업"[오브젝트(708)]이 윈도우 "마이 폴더"내에 있다. 제25도내에서, 오브젝트(708)으로서 도시된 "페이스트 업"은 링크(728)을 통하는 "마이 폴더"의 자 오브젝트이다.
사용자는 쉐어(Share) 명령을 사용함으로써 다수의 링크들을 셋업(set up)시킨다. 이 명령은 시스템 주변으로 데이터를 이동시켜 카피하기 위한 요즘 소프트웨어 팩키지내에서 일반적인 클립보드 메타퍼(metaphor)의 확장 명령이다. 클립보드는 시스템이 전송중에 있는 데이터를 유지하는데 사용하는 특수버퍼이다.
어떤 면에서, 쉐어 명령은 상술한 컷 또는 카피 명령과 유사하게 동작한다. 즉, 쉐어, 컷 또는 카피를 사용하여, 사용자는 먼저 소정의 데이터를 선택한 다음, 쉐어 명령을 제공하는데, 이것은 클립보드상에 풋(put)되는 어떤 것을 발생시킨다. 그러나, 쉐어 명령의 경우에, 클립보드상에 풋되는 것은 실제 데이터도 실제 데이터의 카피도 아니다. 그 대신, 이것은 선택된 데이터와의 링크이다. 이 링크가 페이스트되면, 원 데이터와 페이스트의 위치 사이에 영구 접속이 행해진다. OMF(100)을 사용함으로써, 이 링크는 (전체 응용시에) 원 데이터를 용이하게 억세스하고, 원 데이터가 변형될 때 자동 갱신(updating)을 제공하기 위해 포함된 응용에 의해 사용된다.
제26a도내에서, 뉴웨이브 오피스 윈도우는 활성화되었다. "페이스트 업"[오브젝트(707)]은 반전 비디오 내에 있는 "페이스트 업" [오브젝트(707)]에 의해 입증된 바와 같이 선택되었다. 커서(781)을 사용하여, 메뉴(783)으로부터 "쉐어"가 선택된다 제26b도내에서, 클립보드 오브젝트(720)은 링크(722)를 통해 "페이스트 업"오브젝트(707)의 친 오브젝트인 것으로 도시되어 있다.
제27도내에서, 윈도우(785)는 활성화되었다. 메뉴(787)로부터, "페이스트"가 선택된다. 제28a도내에 도시된 결과는 "페이스트 업"[오브젝트(707)]이 윈도우(785) 및 뉴웨이브 오피스 윈도우에 의해 쉐어되는 것을 타나내는 윈도우(785)내에 나타나는 아이콘(707a)이다 제28b도내에서, 페이스트의 결과로서, "페이스트 업"이 링크(722)를 통하는 클립보드(720)이 자 오브젝트와 링크(727)를 통하는 "마이 폴더"(705)의 자 오브젝트인 것으로 도시되어 있다. 사용자의 눈에 보이는 오브젝트의 상호 접속 상태를 도시한 제29도내에서, "페이스트 업"[오브젝트(707)]은 링크(727)을 통하는 "마이 폴더"(725)의 자 오브젝트인 것으로 도시되어 있다. "페이스트 업"[오브젝트(707)]이 쉐어되고, 카피되지 않으므로, "페이스트 업"[오브젝트(707)]은 링크(717)을 통하는 뉴웨이브 오피스의 자 오브젝트인 채로 있게 된다.
데이터 링크의 한가지 주요 특징은 자동화된 데이터 전송 방법이다. 자 오브젝트가 개방되고, 사용자가 "쉐어 아웃"되는 이것의 일부를 변화시킬 때, 이것은 OMF(100)으로의 호출을 실행한다. OMF(100)은 소정의 오브젝트의 친 오브젝트가 이 특정 변화에 "관심을 갖는지(care)"를 검사한다. 이들이 관심을 갖고, 이들이 개방되는 경우에도, OMF(100)은 새로운 데이터가 이용가능하다는 것을 알리는 메시지를 친 오브젝트로 보낸다. 그 다음, 친 오브젝트는 데이터를 발생시키거나 디스플레이하기 위해 자 오브젝트에 메시지를 보낼 수 있다. 이 특징은 사용자가 복잡한 데이터 종속 변수를 갖고 있는 복합 오브젝트를 설정하게 한 다음, 다른 부분내에 자동적으로 반영되는 소정의 부-부분(sub-part)을 변화시키게 한다. 예를 들어, 스프레드시트내의 수를 변화시키면 그래프가 문서내의 숫자로서 재-도시 및 갱신되게 할 수 있다. 그리고, 오브젝트가 다수의 친 오브젝트를 가질 수 있기 때문에, 단일 오브젝트가 소정수의 다른 오브젝트에 대한 "보일러 플레이트(boiler plate)"로서 사용될 수 있다. 보일러 플레이트의 변화는 이것으로의 링크를 갖고 있는 모든 오브젝트내에 방영된다. 다음에, 자동화 데이터 전송에 대해 기술한다.
제30도내에서, "마이 폴더"용 윈도우(785)는 폐쇄되었다. 제31도내에서, 커서(781)은 풀 다운 메뉴(782)로부터 "새로운 …을 만듬"을 선택하는데 사용된다. 이 선택의 결과로서, 다이얼로그 박스(779)가 제32도내에 도시된 바와 같이 나타난다. 커서(781)을 사용하여, 아이콘 HPText는 하이라이트되었고, 키보드(19)를 사용하여, 명칭 "샘플 텍스트(Sample Text)"가 만들어질 새로운 오브젝트에 대한 명칭으로 타이프되었다. 이때, 커서(781)은 "OK"로 레이블된 영역을 지시한다. 이 영역이 선택될 때, "샘플 텍스트"라는 명칭의 새로운 오브젝트가 제33도에 도시된 바와 같이 만들어진다.
제34도내에서, "샘플 텍스트"[오브젝트(709)]는 링크(719)를 통하는 뉴웨이브 오피스의 자오브젝트인 것으로 도시되어 있다. 제34도내에서, "마이 폴더"가 폐쇄되었기 때문에, "페이스트 업"[오브젝트(708)], 링크(728) 및 링크(727)은 도시되어 있지 않다. 그러나, 이들은 여전히 존재하지만, 사용자의 눈에는 보이지 않는다.
제35도내에, 커서(781)을 아이콘 "샘플 텍스트"상에 배치시키고, 마우스(20)상의 버튼(button)을 이중 클리킹하면, "샘플 텍스트"가 개방된다. 제36도내에는, "샘플 텍스트"용 개방 윈도우(789)가 도시되어 있다.
제37도내에서, "페이스트 업"[오브젝트(707)]용 윈도우(791)은 "페이스트 업"용 아이콘 상의 이중 클리킹에 의해 개방되었다. 제38도내에서, 마우스(20)에 의해 제어된 커서(781)을 사용하여, "샘플 텍스트"의 텍스트부(790)이 선택되었다. "뉴웨이브 오피스 환경(environment)"을 나타내는 반전 비디오 부분은 부분(790)이다.
제39도내에서, 커서(781)이 풀 다운 메뉴(792)내의 선택 "쉐어(Share)"를 선택하는데 사용된다. 제40도내에서, 원도우(791)내의 영역(793)은 커서(781)을 사용하여 선택된다. 제41도내에서, 선택 "페이스트"는 커서(781)을 사용하여 풀 다운 메뉴(794)로부터 선택된다. 제42도내에서, "샘플 텍스트"는 "페이스트 업" [오브젝트(707)]에 링크되고, 디스플레이된 텍스트(790)은 "페이스트 업" 원도우(791)내에 디스플레이된다. 제43도내에서, "샘플 텍스트"[오브젝트(709)]는 링크(729)를 통하는 "페이스트 업"[오브젝트(707)]의 자 오브젝트인 것으로 도시되어 있다. 제42도내에, 디스플레이된 텍스트(790)은 "스타(Star)" 윈도우(789)가 개방되어 있기 때문에 어둡게 도시되어 있다. 제44도내에서, "스타" 윈도우(789)가 폐쇄되므로, 디스플레이된 텍스트(790)은 명료하게 디스플레이된다.
제45도내에서, 윈도우(791)의 영역(795)는 커서(781)을 사용하여 선택된다. 제46도에는 윈도우(791)의 영역(795)내에 아이콘 "스타"를 드랙시키는 커서(781)이 도시되어 있다.
제47도내에서, 스타[오브젝트(706)]으로부터의 데이터는 윈도우(791)의 영역(795)내에 디스플레이된다. 제48도내에서 알 수 있는 바와 같이, "스타"[오브젝트(706)]는 링크(726)을 통하는 "페이스트 업" [오브젝트(707)]의 자 오브젝트이다.
제49도내에서, 사용자는 윈도우(719)의 영역(795)상에 커서(781)을 배치하여, 마우스(20)상의 버튼을 이중 클리킹시켰다. 이 결과가 윈도우(796)내의 스타[오브젝트(706)]의 개방 및 디스플레이이다. 제50도에는 스타에서 "타원(ellipse)"으로 변화되는 "스타"[오브젝트(706)]내의 데이터를 발생시키는 메뉴 윈도우(797)내의 선택 "타원"을 선택하기 위한 커서(781)의 사용 방식이 도시되어 있다. 제51도내에 도시된 바와 같이, 이 결과는 윈도우(796)내에 디스플레이된 데이터와 윈도우(791)의 영역(795) 내에 디스플레이된 데이터의 변화이다.
제52도내에서, 커거(781)은 윈도우(791)내의 영역(797)을 정하는데 사용된다. 재53도내에서, 커거(781)은 풀 다운 메뉴(798)내의 선택 "새로운 …를 만듬"을 선택하는데 사용된다. 이 선택의 결과로서, 다이얼로그 박스(799)가 제54도에 나타난다. 다이얼로그 박스(799)는 윈도우(791)의 영역(797)내의 데이터를 디스플레이하는데 이용할 수 있는 2개 클래스의 오브젝트용 아이콘을 포함한다. 커서(781)을 사용하여, 아이콘 "에이취피 쉐이프(HP Shape)"가 하이라이트되었다. 키보트(19)를 사용하여, 명칭 "뉴 쉐이프(New Shape)"가 만들어질 새로운 오브젝트에 대한 명칭으로서 타이프되었다. 이때, 커서(781)은 "오케이"로 레이블된 영역을 지시한다. 이 영역이 선택될 때, "뉴 쉐이프"란 명칭의 새로운 오브젝트가 만들어진다. "뉴 쉐이프"용 데이터는 제55도내에 도시된 바와 같이 윈도우(791)의 영역(797)내에 디스플레이된다. 제56도내에서, "뉴 쉐이프", [오브젝트(750)]은 링크(760)을 통하는 "페이스트 업"[오브젝트(707)]의 자 오브젝트인 것으로 도시되어 있다.
제57도내에서, "뉴 쉐이프"용 윈도우(800)은 윈도우(791)의 영역(797)상에 커거(781)을 배치하고 마우스(20)상의 버튼상에서의 2회 클리킹에 의해 개방되었다. 제58도내에서, 커거(781)은 풀 다운 메뉴(801)로부터 선택 "삼각형(Triangle)"을 선택하는데 사용된다. 제59도내에 도시된 바와 같은 결과는 삼각형이 윈도우(800)과 윈도우(791)의 영역(797)내에 디스플레이된다는 것이다.
제60도내에서, 윈도우(800)은 폐쇄되었다. 제61도내에서, "뉴 쉐이프"는 윈도우(796)의 영역(797)상에 커서(781)을 배치하고, 마우스(20)상의 버튼을 클리킹함으로써 선택된다. 제62도내에서, 커서(781)은 풀 다운 메뉴(794)로부터 선택 "쉐어"를 선택하는데 사용된다. 제63도내에서, 커서(781)은 윈도우(781)의 영역(802)를 선택하는데 사용된다. 제64도내에서, 커서(781)은 풀 다운 메뉴(794)로부터 선택 "페이스트"를 선택하는데 사용된다. 제65도내에 도시된 바와 같은 결과는 윈도우(791)의 영역(797) 및 영역(802)내에 디스플레이될 "Now Shape"로부터의 데이터로 "뉴 쉐이프"를 쉐어하는 것이다. 제66도내에서, "뉴 쉐이프"[오브젝트(750)]는 이것의 친 오브젝트 "페이스트 업"[오브젝트(707)]로부터의 추가 링크(770)을 갖는 것으로 도시되어 있다.
제67도내에서, 영역(797)은 커서(781)을 사용하여 선택되었다. 이때, 커서(781)은 풀 다운 메뉴(794)로부터 선택 "컷"을 선택하는데 사용된다. 제68도에 도시된 바와 같은 결과는 영역(781)이 윈도우(791)로부터 제거되었다는 것이다. 제69도내에서, 커서(781)은 풀 다운 메뉴(783)으로부터 선택 "페이스트"를 선택하는데 사용된다. 제70도내에 도시된 결과는 커서(781)에 의해서 지시된 "뉴 쉐이프"용 아이콘이다. 제71도내에서, "뉴 쉐이프"[오브젝트(750)]은 링크(780)을 통하는 뉴웨이브 오피스의 자 오브젝트인 것으로 도시되어 있다.
제72도내에서, OMF(100)은 6개의 시스템 파일, 즉 시스템 파일(601), 시스템 파일(602), 시스템 파일(603), 시스템 파일(604), 시스템 파일(605), 시스템 파일(606) 및 시스템 파일(607)을 포함하는 것으로 도시되어 있다. OMF 인터페이스(599)는 컴퓨터(18)상에서 작동하는 다른 프로그램과의 OMF의 인터페이스로서 작용한다. 시스템 파일(601-607)은 여러가지 정보를 제공하는 주 데이터로서 작용한다. 이들은 각 오브젝트를 각 오브젝트의 명칭이 무엇인지 분류하는 것과 같은 오브젝트 특성에 관한 정보를 제공한다. 시스템 파일(601-607)은 어떤 응용이 오브젝트의 각 클래스에 관련되고, 어떤 아이콘이 특정 클래스의 오브젝트를 나타내며, (제2도에 도시된 바와 같은) 어떤 메시지의 리스트가 특정 클래스의 오브젝트에 의해 프로세스될 수 있는 것과 같은 오브젝트의 클래스에 관한 정보를 제공한다. 또한, 시스템 파일(601-607)은 각 오브젝트용 친 오브젝트로부터의 각 링크의 친 오브젝트 및 참조명의 리스트, 각 오브젝트용 자 오브젝트와의 각 링크의 자 오브젝트 및 참조명의 리스트, 및 데이터 링크 양단의 데이터 교환을 관리하기 위한 추가 정보를 포함하는 친 오브젝트와 자 오브젝트사이의 링크에 관한 정보를 포함한다. 부수적으로, 시스템 파일(601-607)은 어떤 파일이 설치되는 각 클래스용 동작 시스템내에 설치되고, 어떤 오브젝트가 OMF(100)이 재개시될 때 자동 재개시를 요구하였는지와 같은 일반적인 정보를 포함한다.
본 발명의 양호한 실시예 내에서, 시스템 파일(601)은 HPOMF·CAT로서 칭해지고, 시스템 파일(602)는 HPOMF·CLS로서 칭해지며, 시스템 파일(604)는 HPOMF·XRF로서 칭해지고, 시스템 파일(604)는 HPONE·PRP로서 칭해지며, 시스템 파일(605)는 HPONE·INS로서 칭해지고, 시스템 파일(606)은 HPONE·SDF로서 칭해지며, 시스템 파일(607)은 HPONE·NWE로서 칭해진다. 지금부터, 각 시스템 파일에 설명하겠다.
시스템 파일(601) HPOMF·CAT는 SYSCAT로서 칭해진다. HPOMF·CAT는 시스템 내에 존재하는 모든 오브젝트의 카탈로그이다. 제73도내에서, HPOMF·CAT는 레코드 배향된 것으로 도시되어 있다. HPOMF·CAT는 다수의 파일 레코드를 갖고 있다 제73도내에는, 파일 레코드 0 내지 파일 레코드 8이 도시되어 있지만, HPOMF·CAT는 제73도내에 도시된 것보다 많은 파일 레코드를 포함할 수 있다. 파일 레코드 0은 여러가지 기호(signature)를 포함하는 헤더이고, 자유(free) 파일 레코드의 리스트를 관리하는데 사용된다. 기호는, 존재하는 경우에, 파일이 틀리지 않다는 것을 나타내는 소정의 공지된 값이다. 파일 레코드 1내지 파일 레코드 8 및 추가 파일 레코드(도시하지 않음)는 기존 오브젝트를 정하거나, 자유 파알 레코드이다. 양호한 실시예 내에서, HOMF·CAT는 더 많은 파일 레코드가 필요할 때 동적으로 성장할 수 있지만, 감소하지는 않는다.
파일 레코드 1은 글로벌 친 오브젝트라 하는 특수 오브젝트를 정한다. 글로벌 친 오브젝트는 모든 다른 오브젝트와 상이한 형태를 갖고 있고, "의사(pseudo)" 오브젝트로서 간주될 수 있다. 제74도에는, 도시된 바와 같이, 링크(260)을 통하는 글로벌 오브젝트(250), 링크(261)을 통하는 글로벌 오브젝트(251), 링크(262)를 통하는 글로벌 오브젝트(252), 링크(263)을 통하는 글로벌 오브젝트(253), 링크(264)를 통하는 글로벌 오브젝트(254) 및 링크(265)를 통하는 글로벌 오브젝트(255)의 친 오브젝트인 것으로 글로벌 친 오브젝트가 도시되어 있다. 또한, 글로벌 오브젝트(250-255)는 HPOF·CAT내에 있다. 각 글로벌 오브젝트(250-255)는 HPOF·CAT내의 1개 이상의 오브젝트의 친 오브젝트일 수 있다. 글로벌 오브젝트가 아닌 HPOF·CAT내의 각 오브젝트의 후손이다. 제74도에는 6개의 글로벌 오브젝트만이 도시되어 있지만, 시스템 상에서 동작하는 글로벌 오브젝트의 수는 시스템 형태의 문제이다. 시스템 내의 소정의 오브젝트는 글로벌 오브젝트로부터 이 글로벌 오브젝트와의 링크의 참조명을 사용함으로써 글로벌 오브젝트라 칭할 수 있다.
제73도에서 알 수 있는 바와 같이, HPOF·CAT내의 파일 레코드들은 일련 번호가 붙여져 있다. 이 번호들은 각 오브젝트를 식별하는 태그로서 작용한다.
본 발명의 양호한 실시예 내에서, 각 레코드의 길이는 128바이트이다. 파일 레코드 0에 대한 필드는 표 1에 나타나 있다.
[표 1]
Figure kpo00001
아래 표 2는 파일 레코드 0보다는 파일 레코드에 대한 HPOMF·CAT내의 파일 레코드용 필드를 포함한다.
[표 2]
Figure kpo00002
시스템 파일(602), HOMF·CLS는 SYSCLASS로서 칭해진다. 이 시스템 파일은 시스템내에 설치된 모든 시스템의 리스트이다. 이것은 레코드 배향된다. 번호 0이 붙여진 제1레코드는 여러가지 기호를 포함하는 헤더이고, 자유 레코드의 리스트를 관리하는데 사용된다. 모든 다른 레코드들은 설치된 클래스를 정하거나 자유 레코드이다. 양호한 실시예 내에서, HPOMF·CLS는 동적으로 성장할 수 있지만, 감소하지는 않는다.
HPOMF·CLS내의 각 파일 레코드의 길이는 32 바이트이다. HPOMF·CLS 파일 레코드 0(헤더)는 표 3에 기재된 다음과 같은 필드를 포함한다.
[표 3]
Figure kpo00003
아래 표 4는 파일 레코드 0보다는 파일 레코드에 대한 HPOMF·CLS내의 파일 레코드용 필드를 포함한다.
[표 4]
Figure kpo00004
Figure kpo00005
제75도내에는, HPOMF·CAT와 HPOMF·CLS의 관계가 도시되어 있다. HPOMF·CAT내의 각 오브젝트 엔트리내에서, 오브젝트의 태그인 레코드 수는 오브젝트에 관련된 대량 격납 메모리(170)내의 데이터 파일의 식별자(650)으로서 작용한다. 필드 "TypeInClass"는 각 오브젝트의 클래스를 식별하는 HPOMF·CLS내의 클래스 엔트리의 식별자(651)로서 작용한다. HPOMF·CLS내의 각 클래스 엔트리내에서, 필드 "ModuleFileName"은 클래스에 관련되는 대량 격납 메모리(170)내의 응용파일의 식별자(652)로서 작용한다.
제76도내에는, 대량 격납 메모리(170)의 일부분의 구성이 도시되어 있다. 루트 디렉토리(660)은 HPNWDATA 디렉토리(661) 및 HPNWPROG 디렉토리에 대한 포인터를 포함한다. HPNWPROG 디렉토리(668)은 화살표(669)로 도시한 응용 파일용 격납 위치한다. HPNWDATA는 디렉토리(662, 663, 664, 665 및 666)으로 도시한 다수의 HPOMFddd 디렉토리를 포함한다. HPOMFddd 디렉토리내에는 오브젝트에 관련된 데이터 파일이 격납된다. HPOMFddd 내의 "ddd"는 16진수로 0이 선행하는 3디지트를 나타낸다. 각 HPOMFddd 디렉토리는 상이한 "ddd" 16진수를 갖고 있다. "ddd"수는 어떤 HPOMFddd 디렉토리가 특정 오브젝트용 데이터 파일을 격납하는 지를 나타낸다. 특정 오브젝트용 데이터 파일은 정수, 즉 54로 제산된 오브젝트에 대한 태그와 동일한 "ddd" 수를 갖고 있는 HPOMFddd 디렉토리내에 격납된다. 각 HPOMFddd 디렉토리 내에, 파일이 태그 수만큼 격납되는데, 예를 들어 데이터 파일명은 포맷 xxxxxxxx.111을 갖고, 이때, "xxxxxxxx"은 16진수 태그인 0이 선행하는 8 디지트이고, "111"은 응용에 의해 선택된 참조이다.
시스템 파일(603), HPOMF· XRF는 SYSXREF로서 칭해진다. 이 파일은 시스템내에 존재하는 모든 링크들의 리스트이다. 이것은 레코드 배향되지만, 헤더 레코드는 갖고 있지 않다. 각 레코드 파일은 자유 레코드이거나, 기존 링크를 정하거나, 추가 뷰 명세(view specification) 정보를 지정하기 위해 이전 레코드로부터의 오버플로우(overflow) 레코드로서 사용된다. 뷰 명세를 포함하는 레코드는 뷰 명세 파일 레코드라 불리워진다. 뷰 명세 파일 레코드는 기존 데이터 링크를 정하는 이전 레코드에 의해서만 식별될 수 있는데, 뷰 명세 파일 레코드는 뷰 명세 파일 레코드내의 내용에 의해서는 식별될 수 없다. HPOMF·XRF의 크기는 한번에 16K 바이트씩 증가된다. HPOMF·XRF의 새로 할당된 부분은 0으로 채워진다. 자유 레코드이거나 링크를 정하는 HPOMF·XRF내의 파일 레코드들은 표 5에 기재된 다음과 같은 필드를 갖고 있다.
[표 5]
Figure kpo00006
뷰 명세 파일 레코드인 HPOMF·XRF내의 파일 레코드는 표 5A에 기재된 다음과 같은 필드를 갖고 있다.
[표 5A]
Figure kpo00007
예를 들어, 제77도내에서, 오브젝트(671)은 폴더이고, "6"의 태그를 갖고 있다. 오브젝트(671)은 링크(674)를 통하는 오브젝트(672)의 친 오브젝트 및 링크(675)를 통하는 오브젝트(673)의 친 오브젝트이다. 오브젝트(632)는 "12"의 태그를 갖고 있다. 링크(674)는 참조명 "1"을 갖고 있다. 오브젝트(673)은 "19"의 태그를 갖고 있다. 링크(675)는 참조명 "7"을 갖고 있다. 참조명은 친 오브젝트에 의해 픽(pick)되고, 특정 친 오브젝트 특유의 참조명으로 되어야 하지만, 다른 친 오브젝트는 각각의 친 오브젝트 특유의 동일한 참조명을 갖고 있는 링크를 갖는다.
제79도에는 HPOMF·XRF(603)의 블럭도가 도시되어 있다. HPOMF·XRF는 친 오브젝트와 자 오브젝트사이의 각 링크용 엔트리를 포함한다. HPOMF·XRF(603)내에서, 컬럼(731)은 각 링크용 친 오브젝트의 태그를 포함한다. 컬럼(732)는 각 링크용 자 오브젝트의 태그를 포함한다. 컬럼(733)은 각 링크에 대한 참조명을 포함한다. 서브-칼럼(734)로서 제79도내에 도시된 컬럼(733)의 제1의 3개 비트위치들은 뷰 명세 파일 레코드가 존재하는지("110"), 뷰 명세 파일 레코드가 뒤따르지 않는지, ("0") 또는 링크가 글로벌 친 오브젝트에서 글로벌 오브젝트("100")까지의 링크인지를 나타낸다.
알 수 있는 바와 같이, 엔트리(735)는 제77도에 도시된 링크(674)를 타나내는 엔트리이다. 즉, 엔트리(735)의 컬럼(731)내에는, 친 태그 "6"이 있다. 컬럼(732)내에는, 자 태그 "12"가 있고, 컬럼(733)내에는, 참조명 "1"이 있다. 오브젝트(671)이 폴더이기 때문에, 뷰가 없으므로, 서브컬럼(734)내의 3개의 비트는 "0"으로 된다.
이와 마찬가지로, 엔트리(736)은 제77도내에 도시된 링크(675)를 타나내는 엔트리이다. 즉, 엔트리(736)의 컬럼(731)내에는 침 태그 "6"이 있다. 컬럼(732)내에는 자 태그 "19"가 있고, 컬럼(733)내에는 참조명 "7"이 있다. 오브젝트(671)이 폴더이기 때문에, 뷰가 없으므로, 서브컬럼(734)내의 3개의 비트는 "0"으로 된다.
제78도내에서, 오브젝트(676)는 문서이고, "17"의 태그를 갖고 있다. 오브젝트(676)은 링크(679)를 통하는 오브젝트(677)의 친 오브젝트 및 링크(680)을 통하는 오브젝트(678)의 친 오브젝트이다. 오브젝트(677)은 "8"의 태그를 갖고 있다. 링크(679)는 참조명 "1"을 갖고 있다. 오브젝트(678)은 "21"의 태그를 갖고 있다. 링크(680)을 참조명 "3"을 갖고 있다.
제79도내에서, 엔트리(737)은 제78도내에 도시된 링크(679)를 설명한다. 즉, 엔트리(737)의 컬럼(731)내에는 친 태그 "17"이 있다 컬럼(732)내에는 자 태그 "8"이 있고, 컬럼(733)내에는 참조명 "1"이 있다. 오브젝트(676)은 문서이고, 링크(679)에 관련된 뷰가 있다고 가정하면, 서브컬럼(734)내의 3개의 비트들은 3개 비트 "110"을 포함하고, 엔트리(738)은 뷰 명세 레코드이다.
이와 마찬가지로, 엔트리(739)는 제78도내에 도시된 링크(680)을 설명한다. 즉, 엔트리(739)의 컬럼(731)내에는 친 태그 "17"이 있다. 컬럼(732)내에는 자 태그 "21"이 있고 컬럼(733)내에는 참조명 "3"이 있다. 링크(680)에 관련된 뷰가 있다고 가정하면, 서브컬럼(734) 내의 3개의 비트는 3개의 비트 "110"을 포함하고, 엔트리(740)은 뷰 명세 레코드이다.
제80도내에서, 뷰 명세 레코드(740)은 뷰용 데이터 식별을 포함하는 필드(741), 뷰내에 사용된 스넵숏이 있는지를 나타내는 필드(742), 및 뷰에 관한 잡다한 정보를 포함하는 필드(743)을 포함하는 것으로 도시되어 있다. 데이터 식별 번호는 어떤 데이터가 링크를 통해 보내지는지를 결정하기 위해 링크의 자 오브젝트에 의해 사용된다.
제37도 내지 제43도에는 뷰와의 링크의 설정 상태가 도시되어 있다. 상술한 바와 같이, 제37도내에서, "페이스트 업"[오브젝트(707)]영 윈도우(791)은 "페이스트 업"용 아이콘 상의 이중 클리킹에 의해 개방되었다. 제38도내에서, 마우스(20)에 의해 제어된 커서(781)을 사용하여, "샘플 텍스트"의 텍스트부(790)이 선택되었다. "뉴웨이브 오피스 환경"을 나타내는 반전 비디오내의 부분은 부분(790)이다.
제39도내에서, 커서(781)이 풀 다운 메뉴(792)내의 선택 "쉐어"를 선택하는데 사용된다. "쉐어"가 선택될 때, 자 오브젝트(709)("샘플 텍스트")는 자 오브젝트(709)에 대한 텍스트부(790)을 식별하는 데이터 식별 번호를 만든다. 또한, 다 오브젝트(709)는 OMF(100)이 클립보드(720)상의 자 오브젝트(709)에 링크를 부여하게 한다. 즉, 자 오브젝트(709)는 본 명세서에 첨부된 부록 B 내에 기술된 명령에 의해 OMF(100)과 통신한다. 또한, 자 오브젝트(709)는 어느 데이터 식별 번호가 자 오브젝트(709)와 클립보드(720) 사이의 새로운 링크에 관련되는 지를 OMF(100)에 알린다. 링크에 관련된 스냅숏이 있는 경우, 자 오브젝트(709)는 링크에 관련된 스냅숏이 있는지를 OMF(100)에 알린다. 스냅숏은 더욱 상세하게 후술되어 있다. 결과적으로, OMF(100)은 클립보드(720)과 자 오브젝트(709) 사이의 링크를 위해 HPOMF·XRF(603)의 엔트리를 형성하게 된다. 링크용 뷰 명세 레코드는 자 오브젝트(709)에 의해 OMF(100)에 제공된 데이터 식별 번호를 포함하게 된다.
제40도내에서, 윈도우(791)내의 영역(793)은 커서(781)을 사용하여 선택된다. 제41도내에서, 선택 "페이스트"는 커서(781)을 사용하여 풀 다운 메뉴(794)로부터 선택된다. 이때, 친 오브젝트(707)("페이스트 업")은 링크용 OMF(100)이 클립보드(720) 상에 있는 오브젝트의 친 오브젝트가 되게 한다. 클립보드(720)과 자 오브젝트(709)용 뷰 명세 레코드는 친 오브젝트오브젝트(707)과 자 오브젝트(709)사이의 링크(729)용으로 카피된다. 제43도내에서, "샘플 텍스트"[오브젝트(709)]는 링크(729)를 통하는 "페이스트 업"[오브젝트(707)]의 자 오브젝트인 것으로 도시되어 있다.
제42도내에서, 디스플레이된 텍스트(790)은 "페이스트 업" 윈도우(791)내에 디스플레이된다. 이것을 달성할 때, 친 오브젝트(707)은 메시지가 링크(729)에 대한 참조명에 의해 식별된 오브젝트로 보내질 지를 묻는 OMF(100)의 호출을 행한다. 이 메시지는 친 오브젝트(707)에 의해 지정된 위치내에, 이 링크로부터의 데이터를 디스플레이할 것을 자 오브젝트(709)에게 요구한다. OMF(100)은 친 오브젝트(707)로부터의 메시지를 취하고, 링크(729)용 뷰 명세 레코드로부터의 데이터 식별 번호를 추가하며, 메시지를 자 오브젝트(709)로 송달한다. 자 오브젝트(709)는 지정된 위치, 이 경우 영역(793)내에 데이터를 디스플레이한다. OMF(100)에 대한 친 오브젝트(707)로부터 자 오브젝트(709)로 보내진다. 메시지의 명칭은 본 명세서내에 첨부된 부록 B내에 기술된 "DISPLAY_VIEW"이다.
또한, 부록 B 내에 기술된 다른 메시지 "PRINT_SLAVE"는 터미널 스크린상에 데이터를 디스플레이하는 것이 아니라 프린터상에 데이터를 프린트하고저 할 때 사용될 수 있다.
부수적으로, 친 오브젝트(707)은 "GET_SIZE" 메시지를 자 오브젝트(709)로 보낼 수 있다. "GET_SIZE"메시지 내에서, 친 오브젝트(707)은 링크(729)용 참조명을 식별하고, 디스플레이용 좌표(coordinate)를 나타낸다. OMF(100)은 친 오브젝트(707)로부터 GET_SIZE 메시지를 취하고, 링크(729)용 뷰 명세 레코드로부터 데이터 식별 번호를 추가하며, 메시지를 자 오브젝트(709)로 송달한다. 자 오브젝트(709)는 자 오브젝트(709)가 데이터를 디스플레이하는데 사용하는 지정된 영역 부분의 크기를 친 오브젝트(707)로 복귀시킨다. 이것은 친 오브젝트(707)이 자 오브젝트(709)가 친 오브젝트(707)내의 지정된 영역내에 끼우기 위해 데이터를 스케일할 수 없을 때 자 오브젝트(709)로부터 데이터를 디스플레이시키기 위해 보존된 영역을 변형시키게 한다.
자 오브젝트로부터의 데이터가 친 오브젝트에 의해 디스플레이되고 있고, 자 오브젝트가 디스플레이된 데이터를 변화시킬 때, 자 오브젝트는 데이터 오브젝트가 변화되었다는 것을 OMF(100)에 알린다. 예를 들어, 상술한 바와 같이, 제47도내에서, "스타"[오브젝트(706)]으로부터의 데이터는 윈도우(791)의 영역(795)내에 디스플레이된다. 그리고, 제48도에서 알 수 있는 바와 같이, "스타"[오브젝트(706)]은 링크(726)을 통하는 "페이스트 업"[오브젝트(707)]의 자 오브젝트이다. 데이터가 자 오브젝트(706)으로부터 친 오브젝트(707)로 통과되고 있기 때문에, 링크(726)은 뷰 명세를 포함하는 데이터 링크이다.
제49도내에는 자 오브젝트(706)내의 데이터를 변화시키기 위한 방법이 도시되어 있다. 사용자는 윈도우(791)의 영역(795)상에 커서(781)을 배치하고, 마우스(20)상의 버튼을 이중 클리킹한다. 그 결과, 윈도우(796)내의 "스타"[오브젝트(706)]이 개방되어 디스플레이된다. 메뉴 윈도우(797)내의 선택 "타원"을 선택하기 위해 커서(781)을 사용하면, 스타에서 타원으로 변화되는 "스타"[오브젝트(706)]내의 데이터가 발생된다. 제51도에 도시된 바와 같이, 그 결과, 윈도우(796)내에 디스플레이된 데이터와 윈도우(791)의 영역(795)내에 디스플레이된 데이터가 변화된다.
자 오브젝트(706)은 OMF(100)을 호출하여 링크(726)에 관련된 데이터 식별 번호에 관련된 데이터가 변화되게 함으로써 이 변화를 달성한다. OMF(100)은 데이터 식별 번호를 사용하는 모든 링크를 조사한다. 소정의 링크의 친 오브젝트가 활성 상태가 아닌 경우, OMF(100)은 HPOMF·XRF내의 링크용으로 비트 VS_NEWDATAANNOUNCED를 셋트시킨다. 친 오브젝트가 활성 상태일 때, 친 오브젝트는 새로운 데이터를 요구할 수 있다.
친 오브젝트가 활성 상태인 경우, OMF(100)은 친 오브젝트에 메세지를 보내어 새로운 데이터를 이용할 수 있다는 것을 알린다. OMF(100)은 추가 데이터가 있는 링크의 참조명을 친 오브젝트에 대해 식별하게 된다. 친 오브젝트는 디스플레이된 새로운 데이터를 원하는 경우 메시지를 자 오브젝트로 보낸다. 이 경우에, 친 오브젝트(707)은 활성상태이고, 윈도우(791)의 영역(795)내에 디스플레이될 새로운 데이터를 요구하였다. 뷰 명세의 다른 설명은 부록 B, C 및 D내에 기술되어 있다.
본 발명의 장점은 친 오브젝트(707)이 친 오브젝트(707) 또는 자 오브젝트(706)이 서로에 관한 정체 또는 소정의 다른 상태를 알지 않고서 OMF(100)을 통해 자 오브젝트(706)과 통신할 수 있다는 것이다. 친 오브젝트는 링크의 참조명만을 사용하여 링크를 식별한다. 자 오브젝트는 링크의 데이터 식별번호만을 사용하여 링크를 식별한다. OMF(100)은 어느 링크 및 어느 오브젝트가 포함되는 지를 모두 번역 및 식별한다.
또한, 시스템 파일(604), HPOMF·PRP는 SYSPROP로서 칭해진다. HPOMF·PRP는 HPOMF·CAT내에 포함되는 신속 오브젝트 특성을 제외한 모든 오브젝트 및 클래스 특성을 포함한다. 시스템 파일(601) (HPOMF·CAT)및 시스템 파일(602) (HPOMF·CAT)내의 각 레코드는 상술한 바와 같은 특성 필드를 갖고 있다. 각 특성 필드는 아래의 표 6내에 기재된 필드를 포함한다.
[표 6]
Figure kpo00008
각각의 오브젝트 및 각각의 클래서의경우, DirDiskLoc에서, HPOMF·PRP 파일내의 위치는 오브젝트 또는 클래스용의 특성 디렉토리이다. 디렉토리는 2개의 주요 위치, 즉 명칭 풀이 뒤따르는 엔트리 어레이를 갖고 있다. 엔트리 어레이는 특성 리스트내의 각각 특성에 대해 1개의 엔트리를 갖고 있다. 각각의 엔트리는 다음 표 7내에 기재된 필드를 갖고 있다.
[표 7]
Figure kpo00009
Figure kpo00010
엔프리 어레이 바로 다음에는 명칭 폴이 뒤따른다. 이 HPOMF·PRP 부분은 엔트리 어레이와 동일한 순서로 특성 리스트내의 널-종단 특성명을 포함한다. 특성은 타이틀, 사용자 코멘트, 만든 일시, 오브젝트를 만든 사용자와 같은 것들을 포함할 수 있다. 특성에 대한 보다 많은 정보는 부록 D를 참조한다.
HPOMF·PRP는 필요한 경우에 동적으로 성장한다. HPOMF·PRP의 개시시에는, HPOMF·PRP의 제1의 1024페이지의 할당을 제어하는 128바이트 비트맵이 있다. 이 페이지들은 비트맵을 곧바로 뒤따른다. 비트맵은 첫번째로 사용된 각 워드의 최대 유효 비트를 갖고 있는 워드의 어레이이다. 그러므로 비트맵의 제1워드의 비트(15 내지 0)은 파일의 페이지(0 내지 15)의 할당을 각각 제어한다.
제1의 1024페이지내의 격납 상태가 불충분할 때, 제2의 비트맵은 파일 다음 페이지(1023)에 추가된다. 이 비트맵은 제2비트맵을 바로 뒤따르는 페이지(1024 내지 2047)의 할당을 제어한다. 추가 비트맵 및 페이지들은 필요시에 동일한 방식으로 추가된다.
각 디렉토리 및 특성값은 파일내의 단일 블럭, 즉 동일한 비트맵내에 모두 할당되는 페이지의 인접한 수행으로서 격납된다. 이것은 디렉토리 또는 값의 길이가 32K 바이트(1024×32)를 초과할 수 없게 제한한다.
또한, 시스템 파일(605), HPOMF·INS는 SYSINSTL로서 칭해진다. HPOMF·INS는 각 클래스가 설치된 때 시스템에 카피된 파일의 리스트를 포함한다. 이 정보는 클래스가 설치되어 있지 않을 때 파일들이 삭제될 수 있도록 사용한다.
HPOMF·INS의 실제 개시값은 유효성/버젼 식별자로서 작용하는 이중 워드값이다. 양호한 실시예내에서, 이 이중 워드값은 유효하게 될 0101ABCD(16진수)이어야 한다. 표 8내에서, 이 수는 양호한 실시예에 의해 사용된 특정한 프로세서, 즉 Intel Corporation사 제품인 80286 마이크로 프로세서내에 격납하기 위한 프로토콜로 인해 도시된 바와 같이 격납된다.
이중 워드 다음에는 일련의 가변 길이 레코드가 온다. 각각의 설치된 클래스마다 1개의 레코드가 있다. 각 레코드의 제1워드는 바이트 내의 나머지 레코드의 길이이다 이 다음에는, 설치된 클래스의 널 종단 클래스 명칭이 뒤따른다. 그 다음에는 널 바이트에 의해 각각 종료되고 길이 바이트및 널 종단기를 포함하는 파일 명칭의 길이를 제공하는 바이트가 선행된 OMF 디렉토리에 카피된 파일들의 파일 명칭이 뒤따른다. 파일 명칭이 특수 문자 "*"로 시작되는 경우, 이 파일은 HPNWPROG 디렉토리내에 위치한다고 가정한다. 파일 명칭이 특수 문자 "+"로 시작되는 경우, 파일은 HPNWDATA 디렉토리내에 위치한다고 가정된다.
예를 들어, 2개의 클래스, 즉 클래스 "AB" 및 클래스 "CDE"가 설치된다고 가정한다. 클래스 "AB"는 2개의 파일이 설치되게 하였다, 즉 "Z"를 HPNWPROG 디렉토리(668)에 설치하고 "YY"를 HPNWDATA 디렉토리에 설치하였다. 클래스 "CDE"는 1개의 파일이 설치되게 하였다. 즉, "XXX"를 HPNWPROG 디렉토리(668)에 설치하였다 이 경우에, 표 8은 이 예에 대한 HPOMF·INS의 내용을 나타낸다.
[표 8]
Figure kpo00011
시스템 파일(606), HPOMF·SDF는 "셧다운(Shutdown file)"로서 칭해진다. HPOMF·SDF는 시스템이 깨끗이 셧다운된 때에만 존재한다. 이것은 시스템이 개시될 때 삭제되어, 시스템이 셧다운될 때 만들어진다. 개시시에, 이 파일이 빠진 경우, OMF는 최종 세션(session)이 이상(abnormally)종료되었다고 가정하므로, 이것은 시스템 파일을 가능한 유효하게 하고 수리하기 위한 충돌 회복 절차를 실행한다. 이 시스템 파일은 무효상태로 될 수 있지만, 충돌시에 예측가능한 상태로 될 수 있다. 이 에러들은 사용자 중재없이 정정된다. 소정의 다른 종류의 파일 일관성 에러들이 검출되지만, "정규(ordinary)" 시스템 충돌로부터는 실제로 불가능하다. 이 에러들은 일반적으로 정정 불가능하고, OMF는 이 경우에 시스템을 컴업(come up)시키지 못한다.
HPOMF·SDF가 존재하는 경우, 이것은 오브젝트의 리스트를 포함한다. 시스템이 정상적으로 셧다운 되고 있을 때, 활성 상태인 각 오브젝트는 시스템이 재개시될 때 OMF가 이들을 재개시시키도록 요구할 수 있다. 이때, 오브젝트의 리스트는 시스템이 재개시될 때 이들이 재개시될 것을 요구한 오브젝트의 태그 리스트이다.
HPOMF·SDF내의 제1워드는 플래그 워드이다. 이 워드가 0이 아닌 경우, OMF는 HPOMF·SDF가 존재하더라도 이것의 충돌 회복 코드를 실행하게 된다 정상 셧다운은 소정의 심각한 에러가 종단되고 있는 세션내에서 발생된 경우 파일을 발생시킬 때 이 플래그를 셋트시키게 된다.
제1워드 다음에, 파일의 나머지는 일련의 3바이트 레코드이다. 각 레코드의 제1의 2개 바이트들은 재격납될 오브젝트의 태그를 포함한다. 최소 유효 바이트는 제1바이트이다. 제3바이트는 양호한 실시예 내에서 사용되지 않고, 0이다.
예를 들어, 시스템이 최종 세션내에서 깨끗히 셧다운되고, 2 및 7의 태그를 각각 갖고 있는 2개의 오브젝트가 재개시를 요구한 경우, HPOMF·SDF의 내용은 다음 표 9내에 기재된 바와 같이 된다.
[표 9]
Figure kpo00012
Figure kpo00013
시스템 파일(7), HPOMFICO·NWE는 더미(dummy) 엔트리 포인트를 포함하고 데이터가 전혀 없는 마이크로소프트 윈도우즈 동적 라이브러리 실생 가능 파일이다. 마이크로 소프트 윈도우즈는 미합중국 98073-9717 워싱턴주 레드몬드 서틱식스웨이 엔이 16011에 주소를 둔 Microsoft Corporation 사가 시판중인 프로그램이다. 또한, HPOMFICO·NWE는 각각의 설치된 클래스의 아이콘을 "자원(resources)"으로서 포함한다. OMF는 가동중에 HPOMFICO·NWE를 직접 변형시키고, 아이콘 자원을 불러오기 위해 로드 및 언로드한다. HPOMFICO·NWE의 포맷은 Microsoft Corporation사가 판매하는 마이크로소프트 윈도우즈내에서 정해진다.
뷰(상술한 뷰에 대한 설명을 참조)로의 정상적인 작업은 자 오브젝트 응용을 불러내게 한다. 많은 응용이 포함하는 경우, 이것은 많은 불필요한 오버헤드를 야기시킬 수 있다. 스냅숏을 사용하면 이 오버헤드를 제거할 수 있다.
스냅숏은 전체 응용 실행 가능 코드를 사용하는 것이 아니라 동적 억세스 라이브러리(또는, DAL)로서 칭해진 별도의 라이브러리로부터의 실행가능 코드를 사용하는 오브젝트이다. 스냅숏에 관련된 데이터 파일만이 자 오브젝트로부터 친 오브젝트로 보내질 데이터를 포함한다 동적 라이브러리로서 칭해졌더라도, 데이터 파일을 망라하는 코드는 여전히 디렉토리 HPOMFPROG[디렉토리(668)]내에 격납된다.
예를 들어, 제81도에는 링크(504)를 통하는 자 오브젝트(502)에 링크된 친 오브젝트(501)이 도시되어 있다. 링크(504)는 스냅숏(503)에 관련된다. 다 오브젝트가 링크(504)에 대한 뷰 명세 레코드내의 스냅숏(503)을 지정하였을 때, 스냅숏(503)은 자 오브젝트(502)에 관련된 응용을 불러낼 필요없이 자 오브젝트(502)로부터의 데이터를 친 오브젝트(501)로 제공할 수 있다.
제82도내에 도시된 바와 같이, 스냅숏이 전혀 없을 때, 자 오브젝트(502)는 친 오브젝트(501)이 윈도우 디스플레이(521)내의 뷰 데이터(522)를 디스플레이하는 순서로, 뷰 데이터(522)를 친 오브젝트(501)로 보내기 위해서 활성 상태로 되어야 한다. 그러나, 제83도내에서, 스냅숏(503)은 자 오브젝트(501)에 제공하는 것으로 도시되어 있다. 스냅숏의 다른 실행의 상세한 설명은 부록 B, 부록 C 및 부록 D 내에 제공된다.
부록 A는 OMF(100)내의 주요 데이터 구조의 리스트이다.
부록 B는 OMF 인터페이스(599)가 본 발명의 양호한 실시예 내에서 인지되는 기능을 설명한 것이다.
부록 C (HP NewWave Environment : Program Design Examples)는 OMF(100)이 모니터(14)상에 디스플레이된 윈도우를 사이에 데이터를 뷰시키는 방식에 관한 상세한 설명을 포함하여, 본 발명의 양호한 실시예가 실행될 수 있는 방식의 예를 제공한다.
부록 D (Programmer's Guide의 제2장)에는 본 발명의 양호한 실시예의 다른 개요, 및 본 발명의 양호한 실시예의 동작에 관한 다른 상세한 설명이 제공된다.

Claims (13)

  1. 제2오브젝트의 요구에 따라 제1오브젝트로부터의 데이터의 전송을 조정할 수 있는 파일 관리 시스템을 갖고 있는 컴퓨터에 있어서, 상기 파일 관리 시스템이 엔트리를 갖고 있는 링크 참조 파일을 포함하고, 상기 엔트리가 상기 엔트리의 참조명, 상기 제1오브젝트에 대한 참조, 상기 제2오브젝트에 대한 참조, 및 상기 제1오브젝트로부터의 데이터를 식별하는 식별자를 포함하는 것을 특징으로 하는 컴퓨터.
  2. 제1항에 있어서, 상기 컴퓨터가 디스플레이 스크린을 포함하고, 상기 제2오브젝트가 상기 디스플레이 스크린의 특정 영역 상에 데이터를 디스플레이하도록 상기 제1오브젝트에 지시하는 것을 특징으로 ㅅ하는 컴퓨터.
  3. 제1항에 있어서, 상기 엔트리가 부수적으로 상기 제1오브젝트로부터의 데이터를 수신하고 상기 제2오브젝트의 요구에 따라 데이터를 전송하도록 기능하는 스냅숏 오브젝트에 대한 참조를 포함하는 것을 특징으로 하는 컴퓨터.
  4. 다른 오브젝트들로부터의 요구에 따라 오브젝트들로부터의 데이터의 전송을 조정할 수 있는 파일 관리 시스템을 갖고 있는 컴퓨터에 있어서, 상기 파일 시스템이 다수의 엔트리를 갖고 있는 링크 참조 파일을 포함하고, 상기 각각의 엔트리가, 상기 엔트리의 참조명, 전송될 데이터를 발생시키는 제1오브젝트에 대한 참조, 상기 제1오브젝트로부터의 데이터 전송을 요구하는 제2오브젝트에 대한 참조, 및 상기 제1오브젝트로부터 전송될 데이터를 식별하는 참조를 포함하는 것을 특징으로 하는 컴퓨터.
  5. 파일 관리 시스템 및 다수의 오브젝트들을 갖고 있는 컴퓨터내에서, 상기 다수의 오브젝트들 중 제2오브젝트의 요구에 따라 상기 다수의 오브젝트들 중 제1오브젝트로부터의 데이터의 디스플레이를 조정하기 위한 방법에 있어서, 링크 참조 파일내에서 링크 엔트리를 식별하는 참조명, 상기 제1오브젝트에 대한 참조, 상기 제2오브젝트에 대한 참조 및 전송될 데이터를 식별하는 데이터 식별자를 포함하는 링크 엔트리를 만드는 단계, 데이터를 디스플레이하기 위해서 상기 참조명, 및 상기 데이터가 디스플레이될 위치를 포함하는 제1디스플레이 요구를 상기 제2오브젝트로부터 상기 파일 관리 시스템으로 보내는 단계, 및 데이터를 디스플레이하기 위해서 상기 데이터가 디스플레이될 위치, 및 상기 데이터 식별자를 포함하는 제2디스플레이 요구를 상기 파일 관리 시스템으로부터 상기 제1오브젝트로 보내는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  6. 제5항에 있어서, 상기 링크 엔트리를 만드는 단계가 전송될 데이터를 사용자가 상기 제1오브젝트로 지정하는 단계, 사용자에 의해 지정된 데이터에 상기 데이터 식별자를 상기 제1오브젝트에 의해 관련시키는 단계, 및 상기 참조명을 상기 제2오브젝트로부터 상기 파일 관리 시스템으로 보내는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  7. 제5항에 있어서, 상기 제1디스플레이 요구가 상기 제1오브젝트 또는 상기 데이터 식별자를 식별하지 못하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  8. 제5항에 있어서, 상기 제2디스플레이 요구가 상기 제2오브젝트 또는 상기 참조명의 식별을 포함하지 않는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  9. 제5항에 있어서, 데이터가 디스플레이될 위치의 조정을 포함하는 메시지를 상기 제2오브젝트로부터 상기 파일 관리 시스템을 통해 상기 제1오브젝트로 보내는 단계, 및 데이터를 디스플레이하기 위해 상기 제1오브젝트에 의해 사용될 조정에 의해 표시된 영역 부분을 타나내는 값을 상기 제1오브젝트로부터 상기 파일 관리 시스템을 통해 상기 제2오브젝트로 복귀시키는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  10. 파일 관리 시스템 및 다수의 오브젝트를 갖고 있는 컴퓨터내에서, 상기 다수의 오브젝트들 중 제2오브젝트의 요구에 따라 상기 다수의 오브젝트들 중에 제1오브젝트로부터의 데이터의 디스플레이를 조정하기 위한 방법에 있어서, 링크 참조 파일내에서 링크 엔트리를 식별하는 참조명, 상기 제1오브젝트에 대한 참조, 상기 제2오브젝트에 대한 참조, 전송될 데이터를 식별하는 데이터 식별자. 및 전송될 데이터로의 억세스를 갖는 스냅숏 오브젝트를 포함하는 링크 엔트리를 만드는 단계, 데이터를 표시하기 위해서 참조명, 및 상기 데이터가 디스플레이될 위치를 포함하는 제1디스플레이 요구를 상기 제2오브젝트로부터 상기 파일 관리 시스템으로 보내는 단계, 및 데이터를 디스플레이하기 위해서 상기 데이터가 디스플레이될 위치, 및 상기 데이터 식별자를 포함하는 제2디스플레이 요구를 상기 파일 관리 시스템으로부터 상기 스냅숏 오브젝트로 보내는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  11. 제10항에 있어서, 상기 링크 엔트리를 만드는 단계가 전송될 데이터를 사용자가 상기 제1오브젝트로 지정하는 단계, 사용자에 의해 지정된 데이터에 상기 데이터 식별자를 상기 제1오브젝트에 의해 관련시키는 단계, 및 상기 스냅숏 오브젝트의 식별을 상기 파일 관리 시스템으로 상기 제1오브젝트에 의해 지정하는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  12. 제10항에 있어서, 상기 스냅숏을 사용하여 데이터를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
  13. 파일 관리 시스템 및 다수의 오브젝트들을 갖고 있는 컴퓨터 내에서, 상기 다수의 오브젝트들 중 제2오브젝트의 요구에 따라 상기 다수의 오브젝트들 중 제1오브젝트로부터의 데이터의 디스플레이를 조정하기 위한 방법에 있어서, 데이터를 디스플레이하기 위해서 상기 데이터가 디스플레이될 위치를 포함하지만, 디스플레이될 데이터의 특수 식별자 또는 상기 제1오브젝트의 식별을 포함하지 않는 제1디스플레이 요구를 상기 제2오브젝트로부터 상기 파일 관리 시스템으로 보내는 단계, 데이터를 디스플레이하기 위해서 상기 데이터가 디스플레이될 위치 및 디스플레이될 데이터의 식별자를 포함하지만, 상기 제2오브젝트의 식별을 포함하지 않는 제2디스플레이 요구를 상기 파일 관리 시스템으로부터 상기 제1오브젝트로 보내는 단계, 및 상기 제1오브젝트에 의해 데이터를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 데이터의 디스플레이 조정 방법.
KR1019890005351A 1988-04-25 1989-04-24 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템 KR970007758B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/186,312 US5079695A (en) 1988-04-25 1988-04-25 Object management facility which includes a snapshot facility for providing data transfer between two objects
US186,312 1988-04-25
US186312 1988-04-25

Publications (2)

Publication Number Publication Date
KR890016476A KR890016476A (ko) 1989-11-29
KR970007758B1 true KR970007758B1 (ko) 1997-05-16

Family

ID=22684446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890005351A KR970007758B1 (ko) 1988-04-25 1989-04-24 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템

Country Status (7)

Country Link
US (1) US5079695A (ko)
EP (1) EP0339221A3 (ko)
JP (1) JPH01312647A (ko)
KR (1) KR970007758B1 (ko)
CN (1) CN1041839A (ko)
AU (1) AU607063B2 (ko)
CA (1) CA1340484C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952190B1 (ko) * 2001-12-20 2010-04-09 프랑스 텔레콤 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283895A (en) * 1988-07-14 1994-02-01 Casio Computer Co., Ltd. Apparatus and method for processing data corresponding to word labels
CA1328027C (en) * 1988-07-14 1994-03-22 Toshio Kashio Data processing apparatus
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
EP0408812B1 (en) * 1989-07-21 2000-03-01 Hewlett-Packard Company Distributed object based systems
GB8917490D0 (en) * 1989-07-31 1989-09-13 Hewlett Packard Co Object based computer system
US5619638A (en) * 1989-07-31 1997-04-08 Hewlett-Packard Company Object based computer system having representation objects for providing interpretative views onto a data object
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
DE69032349T2 (de) * 1990-07-31 1998-10-01 Hewlett Packard Co Objektbasiertes System
EP0469198B1 (en) * 1990-07-31 1998-05-27 Hewlett-Packard Company Object based system
US5412774A (en) * 1990-08-29 1995-05-02 At&T Corp. Apparatus for and method of displaying a data item of a database using the display function of a selected data item
US5367623A (en) * 1990-09-25 1994-11-22 Sharp Kabushiki Kaisha Information processing apparatus capable of opening two or more windows on screen, one window containing a page and other windows containing supplemental information
US5463727A (en) * 1990-10-16 1995-10-31 Advanced Systems, Inc. Window selection method and system for an interactive display
US5293615A (en) * 1990-11-16 1994-03-08 Amada Carlos A Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command
US5446896A (en) * 1990-12-17 1995-08-29 Next, Inc. Method and apparatus for inter-program communication
US5442742A (en) * 1990-12-21 1995-08-15 Apple Computer, Inc. Method and apparatus for the manipulation of text on a computer display screen
JP3074737B2 (ja) * 1990-12-29 2000-08-07 カシオ計算機株式会社 ファイル更新処理装置
EP0496494A3 (en) * 1991-01-22 1993-05-12 International Business Machines Corporation Software maintenance system
DE69228621T2 (de) * 1991-02-25 1999-07-22 Hewlett-Packard Co., Palo Alto, Calif. Objektorientiertes verteiltes Rechnersystem
US5430836A (en) * 1991-03-01 1995-07-04 Ast Research, Inc. Application control module for common user access interface
US5528744A (en) * 1991-04-02 1996-06-18 International Business Machines Corporation Data processing system
US5421008A (en) * 1991-11-08 1995-05-30 International Business Machines Corporation System for interactive graphical construction of a data base query and storing of the query object links as an object
CA2071309C (en) * 1991-11-15 1998-01-20 Daryl J. Kahl Method and apparatus utilizing data icons
JPH0785216B2 (ja) * 1992-02-07 1995-09-13 インターナショナル・ビジネス・マシーンズ・コーポレイション メニュー表示装置および方法
US5408659A (en) * 1992-03-05 1995-04-18 International Business Machines Corporation Link pane class and application framework
US5461710A (en) * 1992-03-20 1995-10-24 International Business Machines Corporation Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
JP3134505B2 (ja) * 1992-05-29 2001-02-13 カシオ計算機株式会社 伝票処理装置
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
EP0820008A3 (en) * 1992-12-01 2006-05-24 Microsoft Corporation A method and system for in-place interaction with embedded objects
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5499334A (en) * 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US5598524A (en) * 1993-03-03 1997-01-28 Apple Computer, Inc. Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5621878A (en) * 1993-03-03 1997-04-15 Apple Computer, Inc. Method and apparatus or manipulating data from a suspended application program on a computer-controlled display system
US5696915A (en) * 1993-03-03 1997-12-09 Apple Computer, Inc. Method and apparatus for linking routines for different contexts
US6212577B1 (en) * 1993-03-03 2001-04-03 Apple Computer, Inc. Method and apparatus for improved interaction with an application program according to data types and actions performed by the application program
US5530865A (en) * 1993-03-03 1996-06-25 Apple Computer, Inc. Method and apparatus for improved application program switching on a computer-controlled display system
US5754178A (en) * 1993-03-03 1998-05-19 Apple Computer, Inc. Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US5734905A (en) * 1993-05-06 1998-03-31 Board Of Trustees Of The Leland Stanford Junior University User interface in object oriented computer system for performing intuitive object transformations
US5969705A (en) * 1993-06-28 1999-10-19 Apple Computer, Inc. Message protocol for controlling a user interface from an inactive application program
US5721919A (en) 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US5808611A (en) * 1993-09-23 1998-09-15 International Business Machines Corporation Positioning for multiple icons in an object-oriented interface
JP2692782B2 (ja) * 1993-12-13 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトをリンクする方法
US5819090A (en) * 1994-03-04 1998-10-06 Ast Research, Inc. Application control module for common user access interface
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US5724532A (en) * 1994-10-27 1998-03-03 Bay Networks, Inc. Method and apparatus for exchanging information between application programs according to a drag and drop operation
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US5771379A (en) * 1995-11-01 1998-06-23 International Business Machines Corporation File system and method for file system object customization which automatically invokes procedures in response to accessing an inode
US5848272A (en) * 1996-06-04 1998-12-08 Lucent Technologies Inc. Object-oriented intra-process messaging arrangement for windows environments
WO1998011723A1 (fr) * 1996-09-11 1998-03-19 Matsushita Electric Industrial Co., Ltd. Appareil de reception/d'execution de programme pouvant commencer l'execution d'un programme meme lorsque seulement une partie du programme est reçue, et emetteur de programme destine a cet appareil
US6157380A (en) * 1996-11-05 2000-12-05 International Business Machines Corporation Generic mechanism to create opendoc parts from workplace shell objects
US6219717B1 (en) 1996-11-20 2001-04-17 Merrill Lynch & Co., Inc. Method and apparatus for implementing object transparent invocation
US5937402A (en) * 1997-06-19 1999-08-10 Ontos, Inc. System for enabling access to a relational database from an object oriented program
US5890155A (en) * 1997-08-22 1999-03-30 Honeywell Inc. System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same
US6609144B1 (en) * 1998-05-04 2003-08-19 Matsushita Electric Industrial Co., Ltd. Program reception/execution apparatus that can commence execution of a machine program having only received the program in part, and a program transmission apparatus that enables such execution
US6163794A (en) 1998-10-23 2000-12-19 General Magic Network system extensible by users
WO2001043075A1 (en) * 1999-12-08 2001-06-14 Browseup, Inc. Automatic publishing system and method
US6874035B1 (en) * 2000-02-02 2005-03-29 Storage Technology Corporation System and methods for transforming data from a source to target platform using snapshot
EP1351108B1 (en) * 2000-11-24 2015-06-24 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
GB0107766D0 (en) * 2001-03-28 2001-05-16 Hewlett Packard Co Improvements relating to developing documents
US6934952B2 (en) * 2001-04-09 2005-08-23 International Business Machines Corporation Method and apparatus for managing multiple instances of server code on a machine
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
JP4325524B2 (ja) * 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
CN100362509C (zh) * 2004-10-11 2008-01-16 佛山市顺德区顺达电脑厂有限公司 在若干个电脑间进行电脑对象选取及传送的方法及装置
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
KR100773782B1 (ko) * 2005-08-02 2007-11-12 엔에이치엔(주) 클라이언트 시스템 사이의 게임 플레이 데이터 보정 시스템및 그 방법
US8468441B2 (en) * 2005-09-15 2013-06-18 Microsoft Corporation Cross-application support of charts
US8578277B2 (en) * 2005-09-15 2013-11-05 Microsoft Corporation Integrating charts in documents
US20070130183A1 (en) * 2005-12-01 2007-06-07 Morris Robert P Methods, systems, and computer program products for associating computer-system-accessible resources using behaviors
US20070198542A1 (en) * 2006-02-09 2007-08-23 Morris Robert P Methods, systems, and computer program products for associating a persistent information element with a resource-executable pair
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US20140108564A1 (en) * 2012-10-15 2014-04-17 Michael Tolson Architecture for a system of portable information agents
US20160019210A1 (en) 2014-07-21 2016-01-21 Dropbox, Inc. Sharing unmanaged content using a content management system
CN106126489A (zh) * 2016-06-23 2016-11-16 江苏中威科技软件***有限公司 一种报告文件动态图表编辑方法及***

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4635189A (en) * 1984-03-01 1987-01-06 Measurex Corporation Real-time distributed data-base management system
DE3581000D1 (de) * 1984-05-19 1991-02-07 British Aerospace Industrielle verarbeitungs- und herstellungsverfahren.
US4723210A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Superblock structure in a multiple in a data editor
US4713754A (en) * 1984-10-09 1987-12-15 Wang Laboratories, Inc. Data structure for a document processing system
US4701848A (en) * 1984-11-19 1987-10-20 Clyde, Inc. System for effectively paralleling computer terminal devices
US4674040A (en) * 1984-12-26 1987-06-16 International Business Machines Corporation Merging of documents
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4868745A (en) * 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US4815030A (en) * 1986-09-03 1989-03-21 Wang Laboratories, Inc. Multitask subscription data retrieval system
US4849877A (en) * 1986-12-22 1989-07-18 American Telephone And Telegraph Company Virtual execution of programs on a multiprocessor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952190B1 (ko) * 2001-12-20 2010-04-09 프랑스 텔레콤 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기

Also Published As

Publication number Publication date
CN1041839A (zh) 1990-05-02
EP0339221A2 (en) 1989-11-02
JPH01312647A (ja) 1989-12-18
KR890016476A (ko) 1989-11-29
AU3307389A (en) 1989-10-26
AU607063B2 (en) 1991-02-21
US5079695A (en) 1992-01-07
EP0339221A3 (en) 1990-06-13
CA1340484C (en) 1999-04-06

Similar Documents

Publication Publication Date Title
KR970007758B1 (ko) 2개의 오브젝트들 사이에서 데이타를 전송하기 위한 스냅숏을 포함하는 오브젝트 관리 시스템
KR970007759B1 (ko) 컴퓨터 시스템내의 데이타를 유지하기 위한 오브젝트 관리 장치
US6091409A (en) Automatically activating a browser with internet shortcuts on the desktop
US6437810B1 (en) Shell extensions for an operating system
US5999942A (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US5771384A (en) Method and system for replacement and extension of container interfaces
KR101152988B1 (ko) 문맥 액션 게시
JP4230969B2 (ja) ファイルオブジェクトおよび非ファイルオブジェクトをあたかもファイルのように転送する方法およびコンピュータシステム
US7895179B2 (en) Asynchronous updating of web page data views
US20060031778A1 (en) Computing platform for loading resources both synchronously and asynchronously
EP0628907B1 (en) Method of running on a computer system an application not designed to run on the computer system
US20070198542A1 (en) Methods, systems, and computer program products for associating a persistent information element with a resource-executable pair
CA1340917C (en) Encapsulation of applications for inclusion within an object management facility environment
Liu et al. How to Start

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070208

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee