KR100287045B1 - 객체의 명명 및 결합들 위한 방법 및 시스템 - Google Patents
객체의 명명 및 결합들 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR100287045B1 KR100287045B1 KR1019930012598A KR930012598A KR100287045B1 KR 100287045 B1 KR100287045 B1 KR 100287045B1 KR 1019930012598 A KR1019930012598 A KR 1019930012598A KR 930012598 A KR930012598 A KR 930012598A KR 100287045 B1 KR100287045 B1 KR 100287045B1
- Authority
- KR
- South Korea
- Prior art keywords
- identifier
- moniker
- raw data
- identifier object
- primitive
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Steroid Compounds (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Image Generation (AREA)
Abstract
본 발명은 데이타객체를 명명하고 결합하는 방법 및 체제에 관한 것이며, 양호한 실시예에서는 편입된 객체에 대한 링크가 모니커로서 기억되고, 모니커는 편입된 데이타에 접근하기 위해 요구된 정보를 포함하고 편입된 데이타에 결합하는 방법을 제공하는 객체이다.
Description
제1도는 예시적 혼합문서(compound document)를 나타내는 도면.
제2도는 스케줄링 데이터와 분배(budgeting)데이터 및 설명 데이터가 혼합문서에 편입되는 방법을 나타내는 도면.
제3도는 어떤 연결된 객체(a linked object)와 그 원시 (source)의 관계를 나타내는 도면.
제4도는 예시적 객체의 블록선도.
제5도는 객체의 공시를 나타내는 블록선도.
제6도는 아이모니커 인터페이스(IMoniker interface)의 범례를 나타내는 블록선도.
제7도는 제3도의 관리요약적 혼합문서(303; a executive summary compound document))에 기억된 모니커(moniker)를 나타내는 블록선도.
제8도는 범용 복합모니커의 객체데이터구조를 나타내는 블록선도.
제9도는 범용 복합모니커방법(a generic composite moniker method)의 "구성하기(ComposeWith)"의 구현(implenentation)법을 나타내는 순서도.
제10도는 "모니커가 범용 콤포지트를 만들기(MkCreateGenericComposite)"의 함수를 위한 순서도.
제11도는 두 개의 모니커를 만드는 범용 구현법의 "최종요소를 찾기(FindLastElt)"의 순서도.
제12도는 범용 구현법의 "제 1 요소를 찾기(FindFirstElt)"를 위한 순서도.
제13도는 범용 구현법을 위한 "객체에 결합하기(BindToObject)"의 순서도.
제14도의 파일 모니커(file moniker)의 범용 구현법을 위한 "객체에 결합하기"의 순서도.
제15도는 아이템 모니커(item moniker)의 범용 구현법을 위한 "객체에 결합하기"의 순서도.
제16도는 워드프로세싱 아이템 모니커(WltemMoniker)의 범용 구현법을 위한 "객체에 결합하기"의 순서도.
제17도는 범용 복합모니커 인터페이스를 위한 감축된 방법(reduced method)을 위한 개략적 순서도.
제18도는 파일모니커의 범용 구현법을 위한 감축된 방법을 위한 개략적 순서도.
제19도는 워드프로세싱 아이템 모니커(WItemMoniker)의 범용 구현법을 위한 감축된 방법의 개략적 순서도.
제20도는 "모니커가 이용자명을 분석하기(MkParseUserName)"의 함수를 위한 개략적 순서도.
제21도는 파일모니커의 범용 구현법을을 위한 "이용자명을 분석하기(ParseUserName)"의 방법을 위한 개략적 순서도.
제22도는 어떤 연결된 객체를 나타내는 선도.
〈도면의 주요부분에 대한 부호의 설명〉
101, 2201, 2202 : 혼합문서 102 : 스케줄링 데이터
103 : 분배데이터 104 : 설명데이터
201 : 프로젝트 관리프로그램 203 : 클립보드
204 : 전개식 프로그램 206 : 워드프로세싱 프로그램
301 : 주간 프로젝트 리포트 302 : 전개식 프로그램
304 : 원시문자열 305 : 분배챠트
401, 601 : 객체 데이터구조 402 : 포인터
403 : 부류식별자 404 : 핸들
405 : 데이터 406 : 전용 데이터구조
407 : 포인터 408, 603, 802 : 가상함수표
413 : 인터페이스 데이터구조 502, 503, 504, 505, 506 : 인터페이스
602 : 포인터 701 : 복합모니커
702, 703, 704 : 부분모니커 801 : 데이터구조
803 : 부류확인자(CLASS_ID) 804 : 포인터
805 : 목록 806 : 엔트리
809, 810, 811 : 혼합모니커
[기술 분야]
본 발명은 일반적으로 객체(object)를 명명(naming)하고 결합(binding)시키는 방법(method) 및 시스템(system)에 관한 것이며, 특히, 각각의 객체를 포함하는 연결된 객체(a linked object)를 명명하고 그 것을 그 원시(source)에 배치(locating)하고 결합시키며 객체를 결합시키기 위해 요구되는 서버호출(server invocation)의 수를 감소시키는 일반화된 방법 및 시스템에 관한 것이다.
[발명의 배경]
현행 문서처리용 컴퓨터시스템은 이용자가 혼합문서를 마련할 수 있게 한다. 혼합문서는 다양한 형식(format)으로 정보를 포함하고 있는 문서이다. 일례로, 혼합문서는 문자열 형식과 챠트형식 및 숫자형식 등으로 데이터를 포함할 것이다. 제 1 도는 혼합문서의 일례이다. 이러한 예에서 혼합문서 (101)는 특정한 제조프로젝트를 위한 리포트로서 만들어진다. 혼합문서(101)는 챠트형식으로 주어지는 스케줄링 데이터(102 : scheduling data)와 전개형식(spreadsheet format)으로 주어지는 분배데이터(103 : budgeting data) 및 문자열형식으로 주어지는 설명데이터(104 : explanatory data)를 포함한다. 전형적인 종래의 시스템에서는 프로젝트관리 컴퓨터프로그램을 이용한 스케줄링 데이터(102)와 전개식 컴퓨터프로그램을 이용한 분배데이터(103)를 만들었다. 이러한 데이터가 생성된 후에 이용자는 혼합문서(101)를 만들고 설명데이터(104)를 입력하며 워드프로세싱컴퓨터프로그램을 이용하여 스케줄링 데이터(102)와 분배데이터(103)를 편입시킨다.
제 2 도는 스케줄링 데이터와 분배데이터 및 설명데이터가 혼합문서에 편입될 수 있는 방법을 나타낸다. 이용자는 프로젝트관리프로그램(201)을 이용하여 스케줄링 데이터를 만들고, 이어서, 클립보드(203 : clipboard)에 그러한 데이터를 기억한다. 이용자는 전개식 프로그램(204)을 이용하여 분배데이터를 생성시키고, 이어서, 클립보드(203)에 그러한 데이터를 기억한다. 클립보드(203)는 통상적으로 모든 프로그램으로 접근가능한 기억부(디스크나 메모리)이다. 프로젝트관리프로그램(201)과 전개식 프로그램(204)은 통상적으로 사전선택형식(presentation format)으로 클립보드속에 그러한 데이터를 기억시킨다. 사전선택형식은 데이터가 출력장치에 용이하게 표시되는 형식이다. 일례로, 사전선택형식은 표준비트맵블록전송연산(standard bitmap block transfer operation ; BitBlt)으로 표시될 수 있는 비트맵(bitmap)일 것이다. 데이터를 클립보드속에 기억시키는 것은 클립보드에 "복사(copying)"하는 것이라고 말해진다.
데이터가 클립보드(203)에 복사된 후에 이용자는 혼합문서(101)를 만들기 위한 워드프로세싱프로그램(206)을 시작한다. 이용자는 설명데이터(104)에 들어가서 클립보드(203)에 있는 스케줄링 데이터 및 분배데이터가 복사될 혼합문서(101)내의 위치를 정한다. 클립보드로부터 문서로의 데이터복사는 클립보드로부터의 "페이스팅(pasting)" 이라고 말해진다. 워드프로세싱프로그램(206)은 이어서 클립보드(203)로부터 혼합문서(101)내의 특정위치에 스케줄링 데이터(102) 및 분배데이터(103)를 복사한다. 클립보드로부터 혼합문서속으로 복사되는 데이터는 "내장(embeded)"데이터라고 말해진다. 워드프로세싱 프로그램(206)은 혼합문서(101)를 출력장치에 띄울 때 BitBlt(표준비트맵블록전송연산)로 표시되는 간단한 비트맵으로서의 내장데이터를 처리한다. 일부의 종래 시스템에서는 클립보드가 한 번에 1부(one copy)의 명령을 위한 데이터를 기억할 수 있을 뿐일 수도 있다. 그러한 시스템에서는 스케줄링 데이터는 클립보드에 복사되고, 이어서, 혼합문서속에 페이스트될 수 있다. 이어서, 분배데이터는 클립보드에 복사되고 혼합문서속에 페이스트될 수 있다.
워드프로세서는 통상적으로 문자열데이터만을 처리하므로 워드프로세싱프로그램의 이용자는 내장데이터를 이동시키거나 지울 수 있지만 데이터가 문자열형식으로 있지 않는 한 내장데이터를 변화시킬 수는 없다. 따라서, 이용자가 일례로, 혼합문서(101)에 있는 분배데이터(103)를 변화시키는 것을 원한다면, 이용자는 전개식 프로그램(204)을 시작해서 파일로부터 분배데이터(103)를 싣고 변경작업을 하며 변경된 것을 클립보드(203)에 복사하고 워드프로세싱프로그램(206)을 사작하며 혼합문서(101)에 싣고 변경된 클립보드데이터를 혼합문서(101)에 페이스트해야 한다.
일부의 종래 시스템은 데이터를 실제적으로 내장하기보다는 혼합문서에 포함될 데이터에 대한 링크를 기억한다. 워드프로세싱프로그램이 클립보드로부터 혼합 문서속에 데이터를 페이스트할 때 링크는 혼합문서내에 기억된다. 링크는 포함될 데이터(통상적으로 파일에 있는)로 향해진다. 이러한 종래 시스템은 통상적으로 워드프로세싱프로그램이 사전선택형식으로서 인식할, 즉, 처리할 형식으로의 데이터에 대한 링크를 마련한다. 일례로, 워드프로세싱프로그램(206)이 이용자로부터 스케줄링 데이터 및 분배데이터를 혼합문서속에 내장(embedding)보다는 연결(linking)에 의해 페이스트할 것을 지시받을 때는 스케줄링 데이터 및 분배데이터가 사전선택형식으로 있는 파일명이 문서에 삽입된다. 수개의 혼합문서가 동일 데이터에 대한 링크를 포함하여 1 부(one copy)의 데이터가 수개의 혼합문서에 의해 공유되게 할 수 있다.
[발명의 개요]
본 발명의 목적은 혼합문서내에 편입된 데이터에 대한 링크를 생성시키는 방법 및 시스템을 제공하려는 것이다.
본 발명의 또다른 목적은 언더라잉 데이터(underlying data)에 링크를 결합시키는 방법 및 시스템을 제공하려는 것이다.
본 발명의 또다른 목적은 언더라잉데이터와 독립적으로 이러한 링크를 인터페이스시키는 방법 및 시스템에 관한 것이다.
본 발명의 또다른 목적은 혼합문서내의 임의레벨(arbitrary level)에 내포된 데이터에 대해 링크시키는 방법 및 시스템에 관한 것이다.
본 발명의 상기 및 기타의 목적은 다음의 설명에서 보다 명료해질 것이며, 이는 데이터객체를 명명하고 결합시키는 방법 및 시스템에 의해 달성된다. 양호한 실시에에서는 편입된 객체에 대한 링크가 모니커로서 기억된다. 모니커는 편입된 데이터에 접근하기 위해 필요한 정보를 캡슐화하고 편입된 데이터에 결합하는 방법을 제공하는 객체이다.
[발명의 설명]
본 발명은 연결된 데이터를 명명하고 결합시키는 일반화된 방법을 제공한다. 양호한 실시예에서는 연결된 데이터를 편입시키는 혼합문서가 링크원시(link source)에 대한 인용문인 "모니커(moniker)"로 불리우는 지속적인 데이터핸들을 기억한다. 모니커는 연결된 데이터를 확인하고 응용프로그램의 연결된 데이터에 결합할 수 있는 방법을 제공하는 정보를 포함하는 데이터객체이다.
결합프로세스는 접근될 수 있는 연결된 데이터로 통하는 인터페이스의 사례(instance)를 복귀시킨다. 어떤 경우에는 모니커는 또다른 혼합문서의 내장데이터이기도 한 데이터를 연결시킬 수도 있다. 일례로, 모니커는 워드프로세싱 문서내에 포함된 전개식표내의 일정범위의 셀(cell)에 연결될 것이다. 모니커는 혼합문서내의 모든 레벨에서 데이터에 연결될 것이다. 결합프로세스의 과정에서 수개의 응용프로그램이 링크데이터를 배치하기 위해 호출될 것이다. 일례로, 전개식 표내, 즉, 워드프로세싱 문서내의 일정범위의 셀에 연결시키기 위해 워드프로세싱프로그램은 내장된 전개식 데이터를 배치시키도록 호출되고 전개식 프로그램은 일정 범위의 셀에 결합하도록 호출될 것이다.
본 발명은 접근될 모니커로 통하는 앱스트랙 클래스(abstract class : 일종의 인터페이스)를 형성한다. 통상적으로, 혼합문서에 연결될 수 있는 데이터를 제공하는 각각의 응용프로그램은 지원할 모니커인터페이스를 구현시킨다.
본 발명의 양호한 실시예에서는 혼합문서를 생성시키는 응용프로그램이 또다른 응용프로그램에 의해 발생된 연결되거나 내장된 데이터의 조작을 제어한다. 객체 위주의 팰런스(object-oriented parlance)에서는 이러한 데이터는 객체라고 말해진다(참고문헌인 매디슨-웨즐리출판사의 1991 년판인 티. 버드의 "객체위주의 프로그래밍에 대한 개설"은 객체위주의 개념과 용어에 대한 개설을 제공한다.) 혼합문서에 연결되거나 내장된 객체는 그 문서내에 "포함"된다. 또한, 혼합문서는 "수용기(container)" 객체라고 말해지며, 혼합문서내에 포함된 객체는 "수용자(containee)" 객체라고 말해진다. 제 1 도 및 제 2 도를 보면 스케줄링 데이터(102) 및 분배데이터(103)는 수용자객체이고 혼합문서(101)는 수용기객체이다. 이용자는 분배데이터(103)와 같이 이용자가 수용자 객체를 편집하고 싶은 워드프로세서에 지시할 수 있다. 이용자가 분배데이터(103)가 편집되어야 할 것을 지시할 때는 워드프로세싱프로그램은 분배데이터를 편집하기 위해 사용되어야 할 응용프로그램(일례로, 전개식 프로그램)을 결정하고 그러한 응용프로그램을 시작(launching 또는 starting up)한다. 이용자는 시작된 응용프로그램을 이용하여 분배데이터를 조작하고 그렇게 변화된 것이 혼합문서에 반영될 수 있다. 분배데이터가 내장객체로서 기억되든지 연결객체로서 기억되든지 간에 동일한 절차가 이용된다.
제 3 도는 예시적 혼합문서를 나타내는 블록선도이다. 주간프로젝트리포트(301)는 제 1 도와 동일한 혼합문서이다. 실행상의 요약적 문서(303: 리포트)는 주간프로젝트(301)에 연결되는 분배챠트(305)를 포함한다. 주간프로젝트(301)는 내장된 전개식 프로그램(302)을 포함한다. 내장된 전개식 프로그램(302)은 제 2 도의 전개식 프로그램(204)에 의해 생성된다. 프로젝트를 위한 분배에서 이러한 전개식 프로그램을 위한 데이터는 그 것이 내장객체이므로 주간 프로젝트 리포트(301)의 기억부내에 기억된다. 실행상의 요약적 문서(303)는 원시문자열(304 : native text)과 수용자 객체인 분배챠트 (305)를 수용한다. 분배챠트(305)는 혼합 문서(301)에 내장된 전개식 프로그램(302)내에 수용된 데이터에 연결된다.
양호한 실시예에서는 다수의 응용프로그램(application program 또는 applications)이 객체연결 및 내장기능을 이용하여 혼합문서를 만들고 조작하기 위해 상호협력한다. 혼합문서를 만드는 응용프로그램은 클라이언트 응용프로그램(client application)이라고 말해지며 수용자객체를 생성하고 조작하는 응용프로그램은 서버 응용프로그램(server applications)이러고 말해진다. 하나의 응용프로그램이 클라이언트 응용프로그램과 서버 응용프로그램인 양자 모두로서의 특성을 가질 수도 있다. 제 2 도를 보면 프로젝트 관리프로그램(201)과 전개식 프로그램(204)은 서버 응용프로그램이고 워드프로세싱 프로그램(206)은 클라이언트 응용프로그램이다. 클라이언트 응용프로그램은 수용기객체내의 다양한 객체의 선택 및 선택된 수용자객체를 조작하기 위해 적절한 서버 응용프로그램의 호출을 위한 것이다. 서버 응용프로그램은 수용자객체의 내용을 조작하기 위한 것이다.
양호한 실시예에서는 응용프로그램은 객체연결 및 내장기능을 제공하는 응용프로그래밍 인터페이스(Application Programming Interface : API)를 구비한다. API 는 클라이언트 응용프로그램과 서버 응용프로그램에 의해 호출되는 한 세트의 함수(function)이다. 이러한 함수는 여러가지 중에서 서버 응용프로그램으로나 서버 응용프로그램으로부터 메시지 및 데이터를 보내거나 수용하는 클라이언트 응용 프로그램을 위해 필요한 설정(setup) 및 초기화(initialization)를 처리한다. API는 특정 수용자객체에 작용하고 수용자객체를 조작하기 위해 정확한 서버응용프로그램을 호출하는 함수를 제공한다.
또한, 객체연결 및 내장용 API 는 클라이언트 응용프로그램이 거기에 포함된 객체와 통신할 때 통과하는 "인터페이스"를 형성한다. 인터페이스는 특정한 입력과 출력 및 작동법칙에 의해 이행되는 한 세트의 방법이다. 수용된 객체가 특정한 인터페이스를 지원하면 클라이언트 응용프로그램은 한정된 작동을 실행하기 위해 그 인터페이스의 방법을 호출할 수 있다. 양호한 실시예에서는 클라이언트응용 프로그램은 객체데이터에 대한 직접 접근을 허용하지 않으며 지원된 인터페이스를 이용하여 객체를 조작해야만 한다. 클라이언트 응용프로그램은 인터페이스의 방법을 호출함으로써 객체에 접근한다. 클라이언트 응용프로그램은 인터페이스에 대한 포인터(pointer)를 통해 수용된 객체에 결합된다. 객체데이터에 접근하기 위해 방법은 특정한 접근을 요구하는 서버응용프로그램에 메시지를 보낸다. 양호한 실시예에서는 메시지는 언더라잉 운영 시스템에 의해 구비된 프로세스간 통신기구를 이용하여 클라이언트 응용프로그램 및 서버응용프로그램의 사이로 보내진다.
클라이언트프로세스와 서버프로세스의 사이의 관계를 설명하기 위해 하나의 예를 제시한다. 제 1 도를 다시 보면, 이용자가 혼합문서(101)의 분배데이터(103)를 편집하고 싶으면 다음 순서의 경우(event)가 생긴다. 첫째, 이용자는 객체연결 및 내장용 API에 동적으로 연결되는 워드프로세서 프로그램을 시작한다. 둘째, 이용자는 편집을 위한 혼합문서를 개방한다. 셋째, 이용자는 수용자객체인 분배데이터를 선택하고 선택된 객체가 편집될 것을 표시한다. 넷째, 클라이언트응용프로그램이 클라이언트 API 루틴을 지나는 객체상에서 동작(action)을 수행하는 클라이언트 API 루틴과 객체에 대한 핸들(선택된 객체를 독특하게 확인하는) 및 동작이 편집될 지시기(indicator)를 호출한다. 다섯째, 클라이언트 API 루틴은 전개식 프로그램이 분배데이터를 위한 동작(action)을 부여하는 것을 결정한다. 여섯째, 클라이언트 API 코드는 서버프로세스로서의 전개식 프로그램이 아직 시작되지 않았으면, 이를 시작한다. 일곱째, 워드프로세서 응용프로그램은 전개식 프로그램에 그 것이 분배데이터를 편집해야 한다는 메시지를 보낸다. 여덟째, 서버 API 코드는 편집요구를 수용하고 데이터편접용 전개식 프로그램의 루틴을 호출한다. 편집이 완료되었을 때 전개식 루틴은 서버 API 코드로 복귀한다. 서버 API 코드는 편집이 완료된 것을 표시하는 메시지를 워드프로세서 응용프로그램으로 보낸다. 클라이언트 API 코드는 메시지를 수용하고 그 호출상태로부터 복귀한다. 호출상태로부터의 복귀시에 워드프로세서 응용프로그램은 편집이 완료된 것을 안다.
클라이언트 API 및 서버 API에 더하여 본 발명의 객체연결 및 내장기능은 지속성의 전역 "레지스트리(registry)"를 통해 클라이언트 응용프로그램 및 서버 응용프로그램에 대해 정보를 제공한다. 이러한 레지스트리는, (1) 각각의 종류의 객체마다에 그러한 객체를 이행하는 서버응용프로그램과, (2) 각각의 서버응용프로그램이 클라이언트 응용프로그램에 대해 가하는 동작(action)과, (3) 각각의 서버 응용프로그램을 위한 실행가능한 파일이 배치되는 위치 및, (4) 각각의 서버응용프로그램이 어떤 편입된 객체 핸들러(an associated object handler)를 갖는지의 여부 등과 같은 정보의 데이터베이스이다.
객체위주의 팰런스에서는 인터페이스가 데이터 및 방법의 정의(definition)는 없는 부류(class)인 "앱스트랙 클래스"이다. 객체 "부류(class)"가 객체를 조작하기 위해 이용가능한 실제코드(actual code)를 제공하게 하는 것이 서버응용프로그램의 역할이다.
제 4 도는 견본사례의 객체의 블록선도이다. 양호한 실시예에서의 견본사례의 배치(layout)는 본원에서 참고로 인용하며 명칭이 "객체위주의 프로그래밍언어를 위한 콤파일러에서 가상함수(Virtual Functions) 및 가상 베이스(Virtual Bases)를 이행하는 방법"인 미국특허출원 제 07/682,537 호에 기재된 모델과 일치한다. 견본사례는 각각의 지원된 인터페이스를 위해 객체데이터구조(401 : object data structure) 및 인터페이스 데이터구조(413 : interface data structure)를 포함한다. 객체데이터구조(401)는 인터페이스 데이터구조(413)에 대한 포인터(402 : pointer)를 포함하며 견본사례의 전용데이터(private data)를 포함할 수도 있다. 이러한 견본사례의 전용데이터는 부류식별자(403 : class identifier)와, 객체용기억부에 대한 핸들(404) 및, 객체의 상태를 추적(tracking)하는 데이터(405)를 포함한다. 부류식별자는 객체를 위해 적절한 서버응용프로그램에 접근하기 위해 이용된다. 그것은 프로그래밍 언어로 이용되는 데이터구조 "형태(type)"와 유사하다. 인터페이스는 지속적인 전역 레지스트리에 대한 인덱스(index)로서 부류확인자(CLASS_ ID)를 이용함으로써 객체를 위한 서버응용프로그램을 결정할 수 있다. 제 4 도에 보이듯이, 각각의 인터페이스 데이터구조(413)는 전용데이터구조(406)와 가상함수표(408 : virtual function table)를 포함한다. 전용데이터구조(406)는 가상함수 표(408)에 대한 포인터(407)를 포함한다. 가상함수표(408)는 인터페이스의 방법을 구현시키는 코드에 대한 포인터를 포함한다.
표 1은 객체데이터구조(401)에서의 제 1 엔트리 pintf1을 위한 인터페이스의 정의를 나타낸다. 표 1에서 단어 "interface"는 C++ class 를 의미하는 것으로 정의된다. 정의는 3 개의 방법을 그 인자(argument)와 함께 보인다. 각각의 인자목록(argument list)의 끝에 있는 "=0"은 방법이 코드구현(code implementation)을 갖지 않음을 나타낸다. C++ 프로그래밍언어에서는 이러한 함수는 "순수가상함수(pure virtual functions)"라고 말해진다. 모든 순수가상함수를 갖는 부류는 엡스트랙 클래스라고 말해진다.
제 5 도는 객체의 공시(public view)를 나타내는 블록선도이다. 객체의 공시는 객체가 지원하는 다양한 인터페이스(502-506)이다. 각각의 인터페이스는 클라이언트 응용프로그램이 객체로 접근하는 방법을 제공한다. 각각의 객체는 아이언논 인터페이스(502 : IUnknown interface)를 지원한다. 응용프로그램은 아이언논 인터페이스(502)를 이용하여 그 객체가 지원하는 다른 인터페이스를 결정한다. 특정객체를 위한 아이언논 인터페이스의 구현은 그것이 지원한 다른 인터페이스를 알고 호출한 응용프로그램 포인터(application pointer)를 그러한 인터페이스로 복귀시킨다. 양호한 실시예에서는 방법 아이언논 : 퀴리인터페이스(IUnknown : Querylnterface)가 이러한 목적으로 사용된다. 인터페이스 503 내지 506 은 객체에 의해 지원될 수 있는 범용 인터페이스의 일례이다. 일례로, 인터페이스 503 은 새로은 사례의 객체를 생성시키는 방법을 제공한다. 아이수용기 인터페이스(504 : IContainer interface)는 객체내에 수용되는 수용자객체를 목록화하는 방법을 제공한다. 아이데이터 클라이언트사이트 인터페이스(505 : IDataClientsite interface)는 수용기객체와 통신하는 서버응용프로그램에 의해 이용될 방법을 제공한다. 아이테이터 객체인터페이스(506 : IDataObject interface)는 객체데이터를 조작하는 방법을 제공한다.
제 6 도는 아이모니커인터페이스의 일반적인 사례를 나타내는 블록선도이다. 어펜딕스(A: Appendex)는 아이모니커 인터페이스의 방법의 상세한 설명을 수용한다. 사례데이터구조는 객체데이터구조(601)와 가상함수표(603)를 수용한다. 객체 데이터구조(601)는 가상함수표(603) 및 전용 사례데이터(private instance data)에 대한 포인터(602)를 포함한다. 표 2 는 아이모니커인터페이스를 위한 부류정의(class definition)이다.
이러한 방법에 더하여 아이모니커구현은 통상적으로 아래에서 설명하는
"모니커가 이용자을 명분석하기 (MkParseUserName)"와,
"모니커가 아이결합문맥을 만들기 (MkCreateIBindContext)"와,
"모니커가 범용 복합모니커를 만들기 (MkCreateGenericComposite)"와,
"모니커가 파일모니커를 만들기 (MkCreateFileMoniker)"와,
"모니커가 아이템모니커를 만들기 (MkCreateltemMoniker)" 및,
"모니커가 안티모니커를 만들기 (MkCreateAntiMoniker)"의 함수를 지원한다.
제 22 도는 연결된 객체를 도시한 선도이다. 이러한 예에서, 혼합문서 2201는 혼합문서 101 에 기억된 리포트 등과 같은 다양한 프로젝트리포트의 컴파일(compilation)이다. 혼합문서 2201 는 혼합문서 2202 에 대한 링크를 포함한다. 링크는 파일 "VAC1. DOC"에 기억된 혼합문서가 논리상 혼합문서 2201 내에 있는 것을 나타낸다. 양호한 실시예에서는 링크가 모니커로서 기억된다. 모니커는 링크의 원시에 접근하는 방법을 제공하는 부류(모니커객체)의 사례이다. 모니커객체는 링크원시를 확인하는 데이터를 캡슐화하고 응용프로그램이 링크원시에 접근하는 방법을 제공한다. 일례로, 혼합문서 2201 로부터 혼합문서 2202 로의 링크가 생길 때 워드프로세서는 "VAC1. DOC" 파일로 향하는 모니커객체를 사례화(instantiation)하기 위한 함수를 호출한다. 함수는 포인터를 새로운 모니커객체로 복귀시킨다. 워드프로세서는 이어서 혼합문서 2201 내에 모니커객체를 기억한다. 워드프로세서는 모니커객체의 방법을 통해 링크원시에 접근된다. 일례로, 모니커부류는 "결합(bind)" 방법을 지원한다. 결합방법은 링크원시가 배치되는 위치를 결정하고 원시를 나타내는 객체로 포인터를 복귀시킨다. 이러한 예에서, 모니커객체의 결합방법은 원시가 파일 "VAC.DOC"에 기억되는지를 결정하고 파일을 나타내는 객체를 사례화하며 포인터를 사례화된 객체로 복귀시킨다. 워드프로세서는 이어서 원시데이터에 접근하는 복귀된 파일객체의 방법을 호출할 수 있다.
제 7 도는 제 3 도의 실행상의 요약적 혼합문서(303)에 기억된 모니커를 나타내는 블록선도이다. 이러한 모니커는 연결된 챠트객체(305)를 나타낸다. 링크는 혼합문서내에 내장된 데이터로 향하기 때문에 모니커는 혼합문서를 확인하기 위해 필요한 링크와 혼합문서내의 데이터를 확인하기 위해 필요한 링크의 콤포지트로서 나타내어진다. 링크는 복합모니커라고 말해진다. 복합모니커는 내장계층도에서 좌측 또는 우측에 배치되는 부분모니커(component moniker)를 포함한다. 복합 모니커(701)는 3 개의 부분모니커(702, 703, 704)를 포함한다. 부분모니커(702)는 부류확인자(CLASS_ID : 파일모니커)와 혼합문서(301)의 이용자 판독명 "C: VAC1. DOC"를 포함한다. 부분모니커(703)는 내장객체의 혼합문서 (301)를 조회한다. 워드프로세싱 응용프로그램은 부분모니커(703)를 이해하고 내장된 전개식 프로그램을 배치시키기 위해 이용된다. 부분모니커(703)는 부류확인자(CLASS_ID ; 더블유 아이템모니커)와 내장된 전개식 프로그램의 이용자 판독명을 수용한다. 부류확인자 "더블유아이템모니커"는 워드프로세서가 이러한 부분모니커를 인식하는 것을 지시한다. 부분모니커(704)는 내장된 전개식 객체(302)내의 일정범위의 데이터를 조회한다. 부분모니커(704)는 부류확인자(에스아이템 모니커)와 일정범위의 데이터의 이용자 판독명을 수용한다. 부류확인자 "에스아이템모니커"는 전개식 프로그램이 이러한 부분모니커를 인식하는 것을 지시한다. 복합모니커의 객체데이터구조는 데이터구조(801)와 가상함수표(802)를 포함한다. 데이터구조 (801)는 부류확인자(803)와 연결된 목록(805)에 대한 포인터(804)를 수용한다. 본 예에서 부류 확인자는 아이디 범용 복합모니커(ID GenCompositeMoniker)형 모니커를 지시한다.
제 8 도는 통상적인 복합모니커의 객체데이터 구조를 나타내는 블록선도이다. 연결된 목록(805)은 각각의 부분모니커 마다에 하나의 엔트리(806)를 수용한다. 각각의 엔트리는 부분모니커(809 내지 811)에 대한 포인터를 수용한다.
제 9 도는 "범용 복합모니커방법 :: 구성하기 (GenCompositeMoniker :: ComposeWith)"의 구현의 순서도이다. "범용 복합모니커방법 :: 구성하기"는 좌측에서의 특정 모니커를 갖는 새로운 복합모니커와 그 새로운 복합모니커의 우측부로서의 지정된 모니커를 만든다. 이러한 방법은 포인터를 새로운 복합모니커로 복귀시킨다. 스텝 901 에서의 방법은 지정된 모니커가 범용 복합모니커인지의 여부를 결정하기 위해 "범용 콤포지트인가 ? (IsGenericComposite ?)"를 묻는 방법이다. 만일 그 대답이 "아니오"이면 방법은 스텝 904 로 계속되지만, 그렇지 않으면, 방법은 스텝 902로 계속된다. 스텝 902에서 방법은 포인터를 최초의 부분모니커로 복귀시키는 지정된 모니커의 "제 1 요소를 찾기(FindFirstElement)"의 방법과 부분 모니커의 잔부에 대한 포인터를 호출한다. 스텝 903 에서 방법은 제 1 부분모니커의 부류확인자를 추출한다. 스텝 904 에서 함수는 지정된 모니커의 부류확인자를 추출한다. 스텝 903 과 스텝 904 가 완료되었을 때 방법은 새로운 복합모니커의 우측부로서 이용할 모니커의 부류확인자를 얻는다. 스텝 907 에서 방법은 좌측에 특정모니커가 있고 우측에 지정모니커가 있는 새로운 범용 복합모니커를 만들기 위해 "모니커가 범용 복합모니커를 만들기(MkCreateGenericComposite)"함수를 호출하며, 이어서, 방법은 포인터를 새로운 복합모니커로 복귀시킨다.
제 10 도는 "모니커가 범용 복합모니커를 만들기" 함수를 위한 순서도이다. 이러한 함수는 좌우측에 두개의 모니커를 갖고 좌우측의 모니커를 포함하는 하나의 새로운 모니커를 만들며 포인터를 새로운 모니커로 복귀시킨다. 스텝 1001 에서 함수는 좌측모니커가 범용 복합모니커인지의 여부를 결정하기 위해 pmk 제 1 의 "범용 복합모니커인가 ? (pmkFirst :: IsGenericComposite ?)"를 묻는 것이다. 만일 그 대답이 "예" 이면 함수는 스텝 1004 로 계속되며, 그렇지 않으면 스텝 1002로 계속된다. 스텝 1002 와 스텝 1004 에서 함수는 새로운 범용 복합모니커를 정위치에 배분하고 그 제 1 요소로서 1 부의 좌측모니커를 기억한다. 스텝 1002 에서 함수는 새로운 범용 복합모니커 노드(composite moniker node)를 연결된 목록에서 정위치에 배분하고 이전의 변수에 이러한 값을 기억한다. 스텝 1003 에서 함수는 pcm에 의해 가리켜진 새로운 복합모니커의 제 1 요소로서 pmk 제 1 (pmkFirst)로 지나는 좌측모니커를 삽입한다. 이어서, 방법은 스텝 1008 로 계속된다. 스텝 1004 내지 스텝 1007 에서 함수는 최초의 좌측모니커의 다수의 부분모니커를 포함하는 새로운 복합모니커를 이루기 위한 루프를 이룬다. 루프는 최초의 좌측모니커의 연결된 목록의 요소를 가로지르고 새로운 복합모니커속으로 1 부의 부분모니커를 삽입한다. 스텝 1004 에서 함수는 좌측모니커의 최종요소를 찾기 위해 몇개의 변수를 조기화한다. 이렇게 하기 위해 그 것은 이전의 변수가 연결된 목록의 제 1 요소로 향해지고 현재의 변수가 연결된 리스트의 두번째 요소로 향해지며 pcm 이 연결된 목록의 제 1 요소에 의해 가리켜진 제 1 모니커로 향해지도록 설정한다. 스텝 1005 에서 함수는 현재의 변수가 널(NuLL)인지의 여부를 결정한다. 만일 그 대답이 "예"이면 이전의 변수는 모든 부분모니커가 새로운 복합모니커속에 무효 처리된 것을 지시하는 좌측복합모니커의 최종요소로 향하고 함수는 스텝 1008 로 계속되며, 그렇지 않으면 함수는 스텝 1006 으로 계속된다. 스텝 1006 에서 함수는 현재의 변수에 의해 가리켜진 모니커로 지나는 변수 pcm 에 의해 가리켜진 모니커의 "구성하기(ComposeWith)"의 방법을 호출한다. 스텝 1007 에서 함수는 이러한 새로운 복합모니커로 향하도록 변수 pcm 을 설정하고, 연결된 목록의 이후의 두개의 요소로 향하도록 이전 및 현재의 변수를 갱신(update)하며 이전의 변수가 연결된 목록의 끝을 향하는지의 여부를 결정하도록 스텝 1005 를 향해 루프를 이룬다. 스텝 1008 에서 함수는 우측모니커가 범용 복합모니커인지의 여부를 결정하기 위해 "pmk 잔부가 범용복합모니커인가 ? (pmkRestIsGenericComposite?)"를 묻는 것이다. 만일, 그 대답이 "아니오" 이면, 함수는 스텝 1010 으로 계속되고, 그렇지 않으면, 스텝 1009 로 계속된다. 스텝 1009 에서 함수는 새로운 좌측모니커에 대해 우측모니커의 연결된 목록을 첨부한다. 이어서, 함수는 스텝 1012 로 계속된다. 스텝 1010 과 스텝 1011 에서 함수는 새로운 좌측모니커에 대해 우측모니커를 향하는 새로운 요소를 첨가한다. 스텝 1012 에서 함수는 복귀치 ppmk 복합모니커를 새로이 구성된 모니커인 pcm 로 설정하고 복귀한다.
제 11 도는 전형적인 구현의 "최종요소를 찾기 (FindLastElt)" 방법의 순서도이다. 이러한 방법은 두개의 모니커를 만든다. 제 1 모니커는 특정모니커의 최종부분모니커에 대응한다. 제 2 모니커는 특정모니커의 잔부에 대응한다. 스텝 1101 에서 방법은 현재의 변수가 연결된 목록의 제 2 요소로 향하고, 이전의 변수가 연결된 목록의 제 1 요소로 항하며, 잔여변수가 제 1 부분모니커로 향하도록 설정한다. 스텝 1102 내지 스텝 1105 는 제 2 모니커를 만드는 특정 모니커의 연결된 목록을 가로지른다. 스텝 1102 에서 현재의 변수가 최종요소를 향하면 방법은 스텝 1106으로 계속되고, 그렇지 않으면 방법은 스텝 1103 으로 계속된다. 스텝 1106 에서 방법은 현재의 변수에 의해 가리켜진 모니커로 향하도록 최종요소인자를 설정한다.
제 12 도는 전형적인 구현의 "제 1 요소를 찾기 (FindFirstElt)"의 방법을 위한 순서도이다. 이러한 방법은 "최종요소를 찾기(FindLast Elt)"의 방법과 유사하지만 포인터를 제 1 부분모니커로 복귀시키며, 또한, 포인터를 잔여부분 모니커를 갖는 새로운 복합모니커로 복귀시킨다.
제 13 도는 전형적인 구현의 "객체에 결합하기 (BindToObject)" 방법의 순서도이다. "객체에 결합하기" 방법은 배치에 이용될 객체(또는, 기억부)를 얻고 특정 모니커에 의해 지시된 객체에 결합하기 위해 "객체에 결합하기 (또는, 기억부에 결합하기"를 반복적으로 호출한다. 일반적으로, "객체에 결합하기" 방법은 접두 부분모니커 (prefix component moniker)의 방법을 이용하여 특정 모니커에 의해 지시된 객체 또는 기억부로 복귀한다. 이러한 방법은 우측의 접두모니커(prefixmoniker)의 다수의 "객체에 결합하기" 방법을 좌측으로 호출하는 최종부분 모니커의 "객체에 결합하기" 방법을 호출한다. "객체에 결합하기" 방법은 여섯개의 인자, 즉, 결합문맥에 대한 포인터와, 제 3 의 인자의 인터페이스확인기와, 접두모니커에 대응하는 객체의 인터페이스에 대한 포인터와, 접두모니커와, 콜러(caller)가 결합하려는 인터페이스 및, 사례화한 인터페이스에 대응하는 출력인자를 갖는다. 스텝 1301 에서 방법은 최종부분모니커를 찾기 위해 특정 모니커의 "최종요소를 찾기" 방법을 호출한다. 스텝 1302 에서 방법은 최종부분모니커의 "아이 아이디 객체에 결합하기(IidBindToObject)" 방법을 호출한다. 스텝 1303 에서 본 방법이 아이디_널(ID_NULL)로 복귀하면 최종부분모니커의 "객체에 결합하기" 방법이 결합을 위해 요구되는 인터페이스를 결정하기 위해 호출되어야 하고 방법은 스텝 1304 로 계속되며, 그렇지 않으면 방법은 스텝 1305 로 계속된다. 스텝 1304 에서 "객체에 결합하기" 방법은 접두모니커로서의 복합모니커의 제 1 부분으로 지나는 최종복하모니커의 "객체에 결합하기" 방법을 호출하고 복귀한다. 스텝 1305 에서 최종부분모니커의 "아이아이디 객체에 결합하기" 방법에 의해 복귀된 인터페이스가 아이디_기억부(ID_STORAGE)와 동등하면 방법은 스텝 1306 으로 계속되고, 그렇지 않으면 스텝 1307로 계속된다. 스텝 1306 에서 방법은 접두모니커(변수잔존)의 "기억부에 결합하기 (BindToStorage)" 방법을 호출한다. 그것이 복귀할 때 변수 pv 는 접두모니커에 대응하는 기억부객체의 결합 사례로 향하고 스텝 1308 로 계속된다. 스텝 1307 에서 방법은 접두모니커의 "객체에 결합하기" 방법을 호출한다. 이러한 경우에 그 것은 최종부분모니커에 의해 요구된 인터페이스를 지나고 그 인터페이스에 대응하는 사례화한 객체가 변수 pv 로 복귀된다. 스텝 1308 에서는 변수 pv 에 의해 가리켜진 사례화한 객체는 경과된 결합문맥(bind context)에 지정(register)된다. 결합문맥은 "객체에 결합하기" 방법의 이전의 호출에 의해 결합된 것과 대응하는 현재의 사례화한 객체의 연결된 목록이다. 결합문맥은 특정 모니커에 의해 인용된 객체가 이미 사례화되었는지의 여부를 결정하기 위해 "객체에 결합하기" 방법에 의해 이용된다. 스텝 1309 에서 방법은 최종부분모니커에 의해 요구되는 인터페이스와 접두모니커에 대응하는 사례화한 인터페이스 및 최초의 "객체에 결합하기"에서 요구된 최초의 인터페이스를 갖는 최종부분모니커를 위한 "객체에 결합하기" 방법을 호출한다. 이어서, 방법은 복귀한다.
제 11 도는 파일모니커의 전형적인 구현을 위한 "객체에 결합하기" 방법의 순서도이다. 이러한 방법은 특정파일 모니커에 대응하는 객체가 실행객체표(Running Oboect Table)에 의해 지시된 바와 같이 존재하는지의 여부를 결정하며 포인터를 객체로 복귀시킨다. 실행객체표는 현재의 사례화된 모든 객체에 대한 포인터를 포함한다. 그렇지 않으면 이러한 방법은 적절한 서버응용프로그램을 배치하고 파일에 대한 인터페이스를 사례화한다. "파일모니커 :: 객체에 결합하기" 방법은 일반적인 복합모니커의 "객체에 결합하기" 방법에 목록화된 것과 동일한 여섯개의 인자를 갖는다. 스텝 1401 내지 스텝 1404 에서 방법은 특정파일모니커가 존재하는지의 여부를 결정하기 위해 대응하는 객체에 대한 실행객체를 이용한다. 스텝 1401 에서 방법은 특정모니커가 실행객체표에 목록화 되었는지의 여부를 결정한다. 만일, 그 대답이 예이면 방법은 스텝 1402 로 계속되고, 그렇지 않으면 스텝 1405 로 계속된다. 스텝 1402 에서 방법은 요구된 인터페이스가 실행객체표의 인터페이스에 필적하는지의 여부를 결정한다. 만일, 그 대답이 예이면, 스텝 1403 에서 방법은 포인터를 인터페이스로 복귀시킨다. 그렇지 않으면, 스텝 1404 에서 방법은 실행객체표에서 찾아진 객체의 퀴리인터페이스방법을 통하여 요구된 인터페이스를 얻고 복귀한다. 스텝 1405 에서는 특정모니커가 실행객체표에서 발견되지 않았기 때문에 이러한 방법은 특정모니커(파일명)에 대응하는 서버응용프로그램을 찾는다. 스텝 1406 에서 방법은 그 부류의 사례를 만들기 위해 서버응용프로그램을 이용한다. 스텝 1407 에서 방법은 결합을 위한 인터페이스를 얻기 위해 이러한 사례의 퀴리인터페이스 방법을 이용한다. 스텝 1408 에서는 방법은 결합용 인터페이스의 적재(Load) 방법을 이용하고 복귀한다.
제 15 도는 아이템모니커의 전형적인 구현을 위한 "객체에 결합하기" 방법의 순서도이다. 상기 예에서는 워드프로세싱아이템모니커와 에스아이템모니커가 모두 유사한 구현 방법을 갖는다. 본 방법은 그 "객체를 얻기(Get Object)"의 방법을 호출하기 위해 접두모니커의 인터페이스객체를 이용한다. "객체를 얻기"의 방법은 아이템모니커에 의해 배치된 객체의 사례를 배치시키고 그것에 결합한다. 본 방법은 범용복합모니커의 "객체에 결합하기" 방법으로 보내지는 동일한 여섯개의 인자를 갖는다. 스텝 1501 에서 방법은 객체가 결합을 위해 보내졌는지의 여부를 결정한다. 만일, 그 대답이 "예" 이면 방법은 스텝 1502 로 계속되고, 그렇지 않으면 스텝 1503 으로 계속된다. 스텝 1502 에서 방법은 아이템모니커에 의해 지시된 객체를 사례화하기 위해 통과되는 인터페이스의 "객체를 얻기"의 방법을 호출하고 복귀한다. 스텝 1503 에서는 방법이 요구된 아이수용기인터페이스 (IContainer interface)의 "객체를 얻기" 방법을 호출한다.
제 16 도는 더블유아이템모니커의 전형적인 구현을 위한 "기억부에 결합하기" 방법의 순서도이다. 본 방법은 접두모니커의 "기억부에 결합하기" 방법을 호출하고, 이어서, 그것이 접두모니커를 위한 기억핸들을 얻었을 때 그 것은 특정모니커와 관련된 기억부를 얻는다. 스텝(1601)에서 방법은 통과되는 접두모니커가 널(NULL)인지의 여부를 결정하고, 그 대답이 "예"이면 방법은 복귀하며, 그렇지 않으면 방법은 스텝 1602 로 계속된다. 스텝 1602 에서 방법은 접두모니커의 "기억부를 얻기(GetStorage)" 방법을 호출하고 요구된 인터페이스로 보낸다. 스텝 1603 에서 방법은 현재의 워드프로세싱아이템모니커의 특정객체를 위해 스텝 1602 에서 복귀된 기억인터페이스를 독특한 확인자로 통과시키는 "기억부를 얻기 (GetStorage)" 방법을 호출한다. 이어서, 방법은 종료한다.
제 17 도는 범용 복합모니커 인터페이스(GenericCompositeMoniker interface)를 위한 감축(Reduce) 방법을 위한 개략적인 순서도이다. 본 루틴은 각각의 부분모니커의 감축방법을 이용하여 각각의 부분모니커를 감축하기 위한 시도이고 감축된 부분을 갖는 새로운 범용부분모니커를 구성한다. 방법은 3 개의 인자, 즉, 결합문맥에 대한 포인터와, 접두모니커 및, 감축된 모니커를 위한 출력인자를 갖는다. 스텝 1701 에서 방법은 특정모니커를 포함하는 부분모니커의 연결된 목록에서 제 1 요소를 찾는다. 스텝 1702 내지 스텝 1709 에서 방법은 각각의 부분모니커의 감축된 방법을 호출하고 감축된 부분을 갖는 새로운 복합모니커를 만든다. 스텝 1702 에서 연결된 목록의 모든 요소가 처리되었으면 방법은 스텝 1703 으로 계속되고, 그렇지 않으면 스텝 1704 로 계속된다. 스텝 1703 에서 방법은 새로운 감축된 복합모니커에 대한 출력인자를 설정하고 복귀한다. 스텝 1704 에서 방법은 결합문맥 및 접두모니커에 대한 포인터를 따라 지나는 변수 엠_요소(M_Element)에 의해 가리켜진 부분모니커의 감축 방법을 호출한다. 접두모니커는 지금까지 만들어진 새로운 구성된 모니커에 대응한다. 스텝 1705 에서 방법이 접두모니커로 향하는 변수가 널(NULL)인 것을 결정하면 스텝 1706 으로 계속되고, 그렇지 않으면 스텝 1707 으로 계속된다. 스텝 1706 에서 접두모니커로 향하는 변수가 널(NULL)(루프를 통해 최초에 일어나는)을 가리키면 그것은 스텝 1704 로 복귀된 감축된 부분모니커로 설정되고, 방법은 1709 로 계속된다. 스텝 1707 에서 접두모니커로 향하는 변수가 널(NULL)이 아니면 방법은 스텝 1704 로 복구된 새로운 감축된 모니커를 갖는 접두모니커를 합성하기 위해 접두모니커의 "구성하기(ComposeWith)"의 방법을 호출한다. 스텝 1708 에서 접두모니커로 향하는 변수는 발생된 모든 모니커감축을 수용하는 새로이 구성된 결과모니커로 재설정된다. 스텝 1709 에서 변수 엠_요소(M_Element)는 부분모니커의 연결된 목록의 이후의 요소로 진행되고 방법은 스텝 1702 에서의 루프의 정상으로 복귀한다.
제 18 도는 파일모니커의 전형적인 구현을 위한 감축방법은 순서도이다. 감축방법은 통과되는 접두모니커를 고찰하여 접두모니커의 최종부분이 또다른 파일모니커인지의 여부를 결정한다. 만일, 또다른 파일모니커가 있으면 본 방법은 두개의 파일모니커를 하나로 조합한 새로운 구성된 파일모니커로 복귀한다. 그것은 또한 통과되는 접두모니커로 부터 소모된 파일모니커를 제거한다. 이 기능은 3 개의 인자, 즉, 결합문맥에 대한 포인터와, 접두모니커에 대한 포인터 및, 새로이 감축된 모니커가 복귀되는 출력인자를 갖는다. 스텝 1801 에서 함수는 혹시 널(NULL) 인지를 알아보기 위해 통과되는 접두모니커를 시험한다. 만일, 그 것이 널(NULL)이면 기능은 복귀하고, 그렇지 않으면 함수는 스텝 1802 로 계속된다. 스텝 1802 에서 함수는 혹시 일반적인 복합모니커인지를 알아보기 위해 접두모니커를 고찰한다. 만일, 그러하면 함수는 스텝 1804 로 계속되고, 그렇지 않으면 스텝 1803 으로 계속된다. 스텝 1803 에서 함수는 접두모니커가 단순모니커(simple moniker)이기 때문에 접두모니커에 대한 최종요소를 설정하고 스텝 1805 로 복귀한다. 스텝 1804 에서 함수는 접두복합모니커에 최종요소를 얻기 위해 접두모니커의 "최종요소를 찾기" 방법을 호출한다. 스텝 1805 에서 최종요소의 부류확인자(CLASS_ID)가 혹시 파일모니커인지를 알기 위해 검사된다. 만일, 그렇지 않다면 함수는 스텝 1806 으로 계속되고, 그러면 스텝 1807 으로 계속된다. 스텝 1806 에서 함수는 아무런 감축도 발생되지 않았기 때문에 출력인자를 그대로 설정하고 복귀한다. 스텝 1807 에서 함수는 최종요소에 의해 가리켜진 모니커의 파일명에 대해 그 모니커와 관련된 파일명을 첨가한다. 이제, 스텝 1808 에서 함수는 새로운 파일명기호열(filename string)을 갖는 그 자체의 생성방법을 호출한다. 스텝 1809 에서는 함수가 접두모니커를 접두모니커에서 최종요소를 뺀 것과 동일한 것으로 두거나, 또는, 접두모니커가 복합모니커가 아니면 널(NULL)인 것으로 처리한다. 1810 에서 함수는 새로이 감축된 모니커에 대응하는 출력인자를 스텝 1808 로 만들어진 모니커로 설정하고, 이후에 함수로 복귀한다.
제 19 도는 워드프로세싱 아이템모니커인 더블유아이템 모니커(Wltem Moniker)의 전형적인 구현을 위한 감축된 방법의 개략적인 선도를 나타낸다. 본 루틴은 내장객체를 위해 서버응용프로그램을 직접 호출함으로써 워드프로세싱응용프로그램을 호출하는 것을 우회하도록 "객체에 결합하기" 방법에 의해 이용될 수 있는 특정한 종류의 모니커인 기억모니커로 복귀한다. 이를 위해, 내장객체를 위한 적절한 기억포인터를 찾기 위해 워드프로세싱문서내에 포함된 특정한 객체표(object table)를 탐색한다. 이러한 기억포인터는 이어서 기억모니커로 구성되며, 그 "객체에 결합하기" 방법에 호출되고 이용할 서버응용프로그램을 어림잡을 수 있다. 본 루틴은 3 개의 인자, 즉, 결합 문맥에 대한 포인터와, 접두모니커 및, 새로이 감축된 모니커를 포함할 출력인자를 갖는다. 스텝 1901 에서 방법은 접두모니커가 널(NULL)인지의 여부를 탐지하고, 만일, 그러하면 복귀하고, 그렇지 않으면 방법은 스텝 1902로 계속된다. 스텝 1902 에서 방법은 혹시 접두모니커가 범용 복합모니커인지의 여부를 탐지하고, 만일, 그러하면 스텝 1903 으로 계속되고, 그렇지 않으면 스텝 1904 로 계속된다. 스텝 1903 에서 함수는 연결된 목록에서 최종모니커에 대한 포인터를 얻기 위해 접두모니커의 "최종요소를 찾기" 방법을 호출한다. 스텝 1904 에서 방법은 접두모니커가 복합모니커가 아니기 때문에 최종요소 포인터를 접두모니커로 설정한다. 스텝 1905 에서 방법은 혹시 파일모니커인지의 여부를 알아보기 위해 최종요소의 부류확인자(CLASS_ID)를 고찰한다. 만일, 그렇지 않으면 함수눈 스텝 1906 으로 계속되고, 그러하면 스텝 1907 으로 계속된다. 스텝 1906 에서 함수는 어떤 감축도 불가능하므로 그대로 출력인자로 복귀한다. 스텝 1907 에서 방법은 파일이 워드프로세싱응용 프로그램에 속하는지의 여부를 결정하기 위해 파일연장부를 고찰한다. 만일, 파일이 미지의 것인 것으로 결정하면 스텝 1906 으로 계속되고, 그렇지 않으면 스텝 1908 로 계속된다. 스텝 1908 에서 방법은 접두모니커를 갖는 최종요소의 파일명을 얻기 위해 최종요소포인터에 의해 가리켜진 모니커의 "이용자명을 얻기(GetUserName)" 방법을 호출한다. 스텝 1909 에서는 현재의 모니커에 대응하는 엔트리를 찾기 위해 얻어진 파일명의 알려진 위치에서 객체표를 탐색한다. 표에서의 요소는 3 개의 터플(tupple : 더블유아이템 모니커, 아이기억부, 이용자명)의 형태이다. 이러한 표로부터 방법은 저항포인터와 만들어진 새로운 모니커를 위한 이용자명을 얻는다. 이어서, 스텝 1910 에서는 얻어진 새로운 명칭에 대해 접두모니커의 최종요소의 파일명의 이용자명을 첨가한다. 스텝 1911 에서 방법은 기억포인터와 새로운 명칭을 갖는 새로운 아이기억부(IStorage)모니커를 만든다. 스텝 1912 에서 접두모니커는 접두모니커에서 최종요소를 뺀 것의 잔부로 설정된다. 최후로, 스텝 1913 에서 출력인자가 만들어진 새로운 아이기억부모니커로 설정되고 함수가 복귀한다.
제 20 도는 "모니커가 이용자명을 분석하기(MkParseUserName)"함수를 위한 순서도이다. 이러한 함수는 기호열 명(string name)을 가지며 대응하는 모니커로 복귀한다. 스텝 2001 에서 함수는 적합한 파일명을 찾기 위해 기호열(string)을 분석한다. 스텝 2002 에서 함수는 이러한 파일명을 위한 파일모니커를 만들고 그것을 변수 pfm 에 기억한다. 스텝 2003 에서 함수는 잔존하는 기호열을 지나간 최초의 기호열에서 소모된 문자를 뺀 것으로 설정한다. 최후로, 스텝 2004 에서 함수는 pfm 에 의해 가리켜진 파일모니커를 위한 "이용자명을 분석하기" 방법을 호출하고 잔존하는 기호열과 복귀모니커의 어드레스를 통과시킨다. 파일모니커의 "이용자명을 분석하기" 방법이 복귀한 때에 기호열의 잔부는 분석되었을 것이다. 함수는 복귀한다.
제 21 도는 파일모니커의 전형적인 구현을 위한 "이용자명을 분석하기" 방법을 위한 개략적인 순서도이다. 수용될 수 있는 객체의 종류를 알지 못하기 때문에 방법은 기호열의 다음 부분을 분석하기 위하여 파일명에 의해 지시된 객체에 결합할 필요가 있는지의 여부를 결정해야 한다. 이러한 방법은 4 개의 인자, 즉, 결합 문맥(BindContext)에 대한 포인터와, 접두모니커에 대한 포인터와, 분석될 잔존하는 기호열명 및, 결과모니커에 대한 포인터를 갖는다. 스텝 2101 에서 방법은 이러한 파일내에 수용된 객체의 기호배열(syntax)을 이해할 수 있는지의 여부를 결정 한다. 그 대답이 "예"이면 방법은 스텝 2102로 계속되고, 그렇지 않으면 스텝 2103 으로 계속된다. 스텝 2102 에서 방법은 그 내부의 "기호열을 분석하기" 루틴을 이용하여 분석가능한 기호열부분을 위한 모니커를 만든다. 이어서, 스텝 2105로 계속된다. 스텝 2103 에서 방법은 그 자체예 "객체에 결합하기"를 호출하여 그 것을 "이용자명을 분석하기" 방법으로 통과된 접두모니커로 보낸다. 이어서, 스텝 2104 에서 이러한 방법은 객체의 "이용자명분석하기" 방법을 호출하여 접두모니커로 보내고, 이용자기호열은 분석되게 남겨둔다. 최후로, 스텝 2105 에서 접두모니커의 "구성하기(ComposeWith)"의 방법이 새롭게 만들어진 모니커를 부가하기 위해 이용된다. 함수는 복귀한다.
본 발명이 양호한 실시예를 중심으로 기술되어 있으나, 그것은 본 발명이 그러한 실시예로 제한되는 것을 의도하지 않는다. 본 발명의 정신내에서의 변경이 당분야에 숙련된 자에게는 명백할 것이다. 본 발명의 범위는 첨부된 청구범위에 의해 한정된다.
Claims (22)
- 컴퓨터 시스템에서 객체의 발생 방법에 있어서, 호출할 때 원시 객체를 배치 및 접근함으로써 원시 객체에 결합하는 결합 멤버 함수를 갖는 식별자 클래스의 식별자 객체의 사례를 제공하는 단계와, 원시 객체에 결합하기 위한 결합 멤버 함수에 의해 명명 정보로서 식별자 객체에 레퍼런스를 저장하는 단계와, 원시 객체에 결합했을 때 사용되는 원시 객체에 저장된 레퍼런스를 갖는 식별자 객체에 레퍼런스를 저장하는 단계를 포함하는 컴퓨터 시스템에서 객체의 발생방법.
- 제1항에 있어서, 식별자 객체의 결합 멤버 함수는 호출했을 때 식별자 객체의 명명 정보에 의해 참조된 원시 객체를 사례화하고 사례화된 원시 객체에 포인터를 복귀하는 것에 의해 결합하는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 식별자 객체는 식별자 객체의 정규 형태인 감축된 식별자 객체를 생성하기 위한 감축 멤버 함수를 갖는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 호출할 때, 식별자 객체는 스크립트를 분석 및 프로세스하고 프로세스했을 때 원시 객체를 확인하고 식별자 객체의 감축된 형태인 다른 식별자 객체를 생성 및 복귀하는 감축 멤버 함수를 갖는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 식별자 객체는 프로세스시 원시 객체를 확인하는 마크로 및 호출시 원시 객체를 참조하고 식별자 객체의 감축된 형태인 감축 식별자 객체를 생성하고 복귀하기 위해 마크로를 분석 및 프로세스하는 감축 멤버 함수를 갖는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 호출되었을 때 식별자 객체의 결합 멤버 함수는 감축된 식별자 객체를 생성하기 위해 감축 멤버 함수를 호출하고 그 후 원시 객체에 결합하기 위해 감축 식별자 객체의 함수의 결합 멤버 함수를 호출하는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 식별자 객체는 호출시 퀴리(query)를 실행하고 만족시 복수의 원시 객체로부터 원시 객체를 확인하는 감축 멤버 함수를 갖는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 원시 객체를 참조하는 복합 식별자 객체를 생성하기 위해 제2 식별자 객체를 구비하며 호출시 내부 스테이트에 의해 참조되는 수용기 객체에 배치 및 연결하는 결합 코드를 확인하는 제1 부류식별자를 갖는 제 1 식별자 객체를 포함하며, 복합 식별자 객체의 사례를 생성하며, 그 생성된 복합 식별자 객체는 호출시 생성된 복합 식별자 객체의 내부 스테이트에 의해 참조되는 원시 객체에 배치 및 연결하는 결합 코드를 확인하는 복합 부류식별자를 갖고 내부 스테이트를 가지며, 생성된 복합 식별자 객체의 내부 스테이트내 제1 식별자 객체에 레퍼런스를 저장하며, 생성된 복합 식별자 객체의 내부 스테이트내 제2 식별자 객체에 레퍼런스를 저장하며, 이때 제 2 식별자는 아이템을 참조하는 내부 스테이트를 가지며 호출시 내부 스테이트에 의해 참조되는 아이템에 배치 및 연결하는 결합 코드를 확인하는 제 2 부류식별자를 가지며, 제 2 식별자 객체는 원시 객체로서 수용기 객체내에 아이템을 참조하는 제 1 식별자 객체로 구성되는 컴퓨터 시스템에서 객체의 발생 방법.
- 제8항에 있어서, 복합 부류식별자에 의해 확인된 결합 코드가 호출되었을 때 제1 식별자 객체에 저장된 레퍼런스를 통과하는 제2 식별자 객체의 제 2 부류식별자에 의해 확인되는 결합 코드를 호출하며, 제2 식별자 객체의 제2 부류식별자에 의해 확인된 결합 코드가 호출되었을때, 제1 식별자 객체의 내부 스테이트에 의해 참조된 수용기 객체에 결합하기 위해 제1 식별자 객체의 결합 코드를 호출하며, 제1 식별자 객체에 의해 참조된 결합된 수용기 객체에 레퍼런스를 수용하며, 제2 식별자 객체의 내부 스테이트에 의해 참조된 아이템에 배치 및 연결하기 위해 결합된 수용기 객체에 수용된 레퍼런스를 사용하는 것을 포함하는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 컴퓨터 시스템은 클라이언트 코드, 서버 코드 관련 원시 객체를 가지며, 이 때 식별자 객체의 사례의 생성은 식별자 객체의 사례를 생성한 후에 서버 코드의 실행을 종결하며, 서버 코드의 실행을 종결한 후에 생성된 식별자 객체의 결합 멤버 함수를 실행하는 것에 의해 원시 객체를 배치 및 접근하며, 이 때 결합 멤버 함수는 생성된 식별자 객체의 명명 정보에 의해 참조되는 원시 객체를 배치 및 접근하기 위해 서버 코드를 시작하는 컴퓨터 시스템에서 객체의 발생 방법.
- 제1항에 있어서, 원시 객체는 실행시 원시 데이터를 관리하는 관련 서버 코드를 나타내는 데이터 형태를 가지며 파일내에 저장된 원시 데이터를 포함하며, 이 때 명명 정보는 파일내에 저장된 원시 데이터의 데이터 형태를 나타내는 파일명이며, 실행시 명명 정보로서 저장된 파일명에 의해 표시되는 데이터 형태와 관련된 서버 코드를 호출하는 식별자 객체의 부류식별자에 의해 확인되는 결합코드는 파일명에 의해 참조되는 파일로부터 원시 데이터를 로드하기 위해 호출된 서버 코드를 요구하며 로드된 데이터로 레퍼런스를 복귀하는 컴퓨터 시스템에서 객체의 발생 방법.
- 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템에 있어서, 호출시 원시 데이터를 배치 및 접근하는 것에 의해 원시 데이터에 결합하는 결합 멤버 함수를 갖는 식별자 클래스의 식별자 객체의 사례를 생성하기 위한 수단과, 원시 데이터에 결합하기 위해 결합 멤버 함수에 의해 사용되는 명명 정보로서 식별자 객체내 원시 데이터에 레퍼런스를 저장하기 위한 수단과, 원시 데이터에 결합했을 때 사용되는 원시 데이터에 저장된 레퍼런스를 갖는 식별자 객체에 레퍼런스를 저장하기 위한 수단을 포함하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 호출시 식별자 객체의 결합 멤버 함수는 식별자 객체의 명명 정보에 의해 참조되는 원시 데이터를 사례화하고 그 사례화된 원시 데이터에 포인터를 복귀하는 것에 의해 결합하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 식별자 객체는 원시 데이터를 확인하고 식별자 객체의 정규형태인 감축된 식별자 객체를 생성하기 위해 감축 멤버 함수를 갖는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 식별자 객체는 호출시 스크립트를 분석 및 프로세스하고, 프로세스시 원시 데이터를 확인하고 식별자 객체의 감축된 형태인 다른 식별자 객체를 생성 및 복귀하는 감축 멤버 함수를 갖는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 식별자 객체는 프로세스시 원시 데이터를 확인하는 마크로와, 호출시 원시 데이터를 참조하고 식별자 객체의 감축된 형태인 감축된 식별자 객체를 생성하고 복귀하기 위해 상기 마크로를 분석 및 프로세스하는 감축 멤버 함수를 갖는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 호출되었을 때 식별자 객체의 결합 멤버 함수는 감축된 식별자 객체를 생성하기 위해 감축 멤버 함수를 호출하고 그 후 원시 데이터에 결합하기 위해 감축된 식별자 객체의 결합 멤버 함수를 호출하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 식별자 객체는 호출시 퀴리를 실행하고, 만족시 복수의 원시 데이터로부터 한 원시 데이터를 확인하는 감축 멤버 함수를 갖는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 원시 객체를 참조하는 복합 식별자 객체를 생성하기 위해 제2 식별자 객체를 구비하며 호출시 내부 스테이트에 의해 참조되는 수용기 객체에 배치 및 연결하는 결합 코드를 확인하는 제1 부류식별자를 갖는 제 1 식별자 객체를 포함하는 수단과, 복합 식별자 객체의 사례를 생성하며, 그 생성된 복합 식별자 객체는 호출시 생성된 복합 식별자 객체의 내부 스테이트에 의해 참조되는 원시 객체에 배치 및 연결하는 결합 코드를 확인하는 복합 부류식별자를 가지면 내부 스테이트를 가지며, 생성된 복합 식별자 객체의 내부 스테이트내 제1 식별자 객체에 레퍼런스를 저장하며, 생성된 복합 식별자 객체의 내부 스테이트내 제2 식별자 객ㅊ에 레퍼런스를 저장하며, 이때 제 2 식별자는 아이템을 참조하는 내부 스테이트를 가지며 호출시 내부 스테이트에 의해 참조되는 아이템에 배치 및 연결하는 결합 코드를 확인하는 제 2 부류식별자를 가지며, 제 2 식별자 객체를 원시 객체로서 수용기 객체내에 아이템을 참조하는 제 1 식별자 객체를 구성하기 위한 수단을 포함하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제19항에 있어서, 복합 부류식별자에 의해 확인된 결합 코드가 호출되었을 때 제1 식별자 객체에 저장된 레퍼런스를 통과하는 제2 식별자 객체의 제2 부류식별자에 의해 확인되는 결합 코드를 호출하기 위한 수단과, 제2 식별자 객체의 제2 부류식별자에 의해 확인된 결합 코드가 호출되었을때, 제1 식별자 객체의 내부 스테이트에 의해 참조된 수용기 객체에 결합하기 위해 제1 식별자 객체의 결합 코드를 호출하며, 제1 식별자 객체에 의해 참조된 바운드된 수용기 객체에 레퍼런스를 수용하며, 제2 식별자 객체의 내부 스테이트에 의해 참조된 아이템에 배치 및 연결하기 위해 결합된 수용기 객체에 수용된 레퍼런스를 사용하기 위한 수단을 포함하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 컴퓨터 시스템은 클라이언트 코드, 서버 코드와 관련된 원시 객체를 가지며, 이 때 식별자 객체의 사례의 생성은 식별자 객체의 사례를 생성한 후에 서버 코드의 실행을 종결하며, 서버 코드의 실행을 종결한 후에 생성된 식별자 객체의 결합 멤버 함수를 실행하는 것에 의해 원시 객체를 배치 및 접근하며, 이 때 결합 멤버 함수는 생성된 식별자 객체의 명명 정보에 의해 참조되는 원시 객체를 배치 및 접근하기 위해 서버 코드를 시작하기 위한 수단을 갖는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
- 제12항에 있어서, 원시 객체는 실행시 원시 데이터를 관리하는 관련 서버 코드를 나타내는 데이터 형태를 가지며 파일내에 저장된 원시 데이터를 포함하며, 이 때 명명 정보는 파일내에 저장된 원시 데이터의 데이터 형태를 나타내는 파일명이며, 실행시 명명 정보로서 저장된 파일명에 의해 표시되는 데이터 형태와 관련된 서버 코드를 호출하는 식별자 객체의 부류식별자에 의해 확인되는 결합 코드는 파일명에 의해 참조되는 파일로부터 원시 데이터를 로드하기 위해 호출된 서버 코드를 요구하며 로드된 데이터로 레퍼런스를 복귀하는 원시 데이터를 참조하는 객체를 발생하기 위한 컴퓨터 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90998392A | 1992-07-06 | 1992-07-06 | |
US909,983 | 1992-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940006027A KR940006027A (ko) | 1994-03-22 |
KR100287045B1 true KR100287045B1 (ko) | 2001-04-16 |
Family
ID=25428141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930012598A KR100287045B1 (ko) | 1992-07-06 | 1993-07-06 | 객체의 명명 및 결합들 위한 방법 및 시스템 |
Country Status (7)
Country | Link |
---|---|
US (10) | US5581760A (ko) |
EP (2) | EP0930566A3 (ko) |
JP (1) | JP3613401B2 (ko) |
KR (1) | KR100287045B1 (ko) |
AT (1) | ATE187268T1 (ko) |
CA (1) | CA2099918C (ko) |
DE (1) | DE69327138T2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100772396B1 (ko) * | 2006-02-10 | 2007-11-01 | 삼성전자주식회사 | 데이터 객체 병합 방법 및 장치 |
KR101213843B1 (ko) | 2004-08-27 | 2012-12-20 | 마이크로소프트 코포레이션 | 원활한 객체 비교 시스템 및 방법 |
Families Citing this family (457)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506983A (en) * | 1992-07-06 | 1996-04-09 | Microsoft Corporation | Method and system for transactioning of modifications to a tree structured file |
US5805885A (en) * | 1992-12-24 | 1998-09-08 | Microsoft Corporation | Method and system for aggregating objects |
WO1994027228A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | System for automatically determining the status of contents added to a document |
AU6826794A (en) * | 1993-05-10 | 1994-12-12 | Apple Computer, Inc. | Computer-human interface system which manipulates parts between a desktop and a document |
US5812862A (en) * | 1993-05-10 | 1998-09-22 | Apple Computer, Inc. | Computer-human interface system for compound documents |
US6751796B1 (en) | 1993-06-25 | 2004-06-15 | Microsoft Corporation | Integration of systems management services with an underlying system object model |
CA2124720C (en) * | 1993-06-25 | 2002-10-22 | Michael R. C. Seaman | Integration of systems management services with an underlying system object model |
DE69426615T2 (de) * | 1993-07-20 | 2001-06-28 | Canon K.K., Tokio/Tokyo | Vorrichtung und Verfahren zum Verarbeiten von Dokumenten |
CA2118169A1 (en) * | 1993-10-27 | 1995-04-28 | Michael R.C. Seaman | Event architecture for system management in an operating system |
US5568639A (en) * | 1993-11-24 | 1996-10-22 | Menai Corporation | Method and apparatus for providing an object-oriented file structuring system on a computer |
US6813769B1 (en) * | 1997-10-28 | 2004-11-02 | Microsoft Corporation | Server application components with control over state duration |
US5991782A (en) * | 1994-02-18 | 1999-11-23 | Fujitsu Limited | Automated extraction and doubly linked reference marks for partialized document contents and version control |
FR2717280B1 (fr) * | 1994-03-10 | 1996-04-05 | Bull Sa | Procédé de gestion de l'héritage multiple d'objets persistants et partagés. |
US5608909A (en) * | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
US6708196B1 (en) * | 1994-04-15 | 2004-03-16 | Microsoft Corporation | Method and system for caching presentation data |
EP0729610B1 (en) * | 1994-09-21 | 2000-07-12 | Kodak Limited | A link manager for managing links integrating data between application programs |
US5838906A (en) | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
US5862372A (en) * | 1994-11-16 | 1999-01-19 | Morris; Robert M. | Visually oriented computer implemented application development system utilizing standardized objects and multiple views |
US5831606A (en) * | 1994-12-13 | 1998-11-03 | Microsoft Corporation | Shell extensions for an operating system |
DE69535580T2 (de) * | 1994-12-13 | 2007-12-06 | Microsoft Corp., Redmond | Datenaustausch mit erweiterten Zwischenablage-Datenformaten |
JPH08212205A (ja) * | 1995-02-07 | 1996-08-20 | Nec Corp | 複合文書管理システム |
US5884321A (en) * | 1995-03-22 | 1999-03-16 | Meffert; Gregory John | Document image and query management system for application databases |
US5802531A (en) * | 1995-05-08 | 1998-09-01 | Apple Computer, Inc. | Method and system for embedding parts of documents and synchronizing multiple views thereof |
US6213392B1 (en) * | 1995-05-09 | 2001-04-10 | Smartmove, Ltd. | Card interface for interfacing a host application program to data storage cards |
US5664208A (en) * | 1995-05-16 | 1997-09-02 | Apple Computer, Inc. | Methods and apparatuses for seamless compound document processing |
US5740455A (en) * | 1995-05-16 | 1998-04-14 | Apple Computer, Inc. | Enhanced compound document processing architectures and methods therefor |
US6577746B1 (en) * | 1999-12-28 | 2003-06-10 | Digimarc Corporation | Watermark-based object linking and embedding |
US6016392A (en) | 1995-11-03 | 2000-01-18 | Intergraph Corporation | Method for object-oriented programming using dynamic interfaces |
US5870464A (en) * | 1995-11-13 | 1999-02-09 | Answersoft, Inc. | Intelligent information routing system and method |
US6246410B1 (en) * | 1996-01-19 | 2001-06-12 | International Business Machines Corp. | Method and system for database access |
US5802380A (en) * | 1996-03-08 | 1998-09-01 | Microsoft Corporation | Method and system for uniform access of textual data |
JPH09282167A (ja) * | 1996-04-10 | 1997-10-31 | Internatl Business Mach Corp <Ibm> | メソッド起動方法及びメソッド起動制御装置 |
DE19615683A1 (de) * | 1996-04-22 | 1997-10-23 | Sel Alcatel Ag | Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6138238A (en) * | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6272559B1 (en) * | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
US6134603A (en) * | 1998-03-20 | 2000-10-17 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US5923877A (en) * | 1996-05-01 | 1999-07-13 | Electronic Data Systems Corporation | Object-oriented programming memory management framework and method |
US5940616A (en) * | 1996-05-31 | 1999-08-17 | International Business Machines Corporation | Tracker class for object-oriented programming environments |
US5818447A (en) * | 1996-06-06 | 1998-10-06 | Microsoft Corporation | System and method for in-place editing of an electronic mail message using a separate program |
US5768532A (en) * | 1996-06-17 | 1998-06-16 | International Business Machines Corporation | Method and distributed database file system for implementing self-describing distributed file objects |
US5881230A (en) | 1996-06-24 | 1999-03-09 | Microsoft Corporation | Method and system for remote automation of object oriented applications |
US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
US5987245A (en) | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
US5999972A (en) | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
US6038590A (en) | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
US5893107A (en) * | 1996-07-01 | 1999-04-06 | Microsoft Corporation | Method and system for uniformly accessing multiple directory services |
US5809507A (en) * | 1996-07-01 | 1998-09-15 | Sun Microsystems, Inc. | Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework |
US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US5848246A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US5895476A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic reformatting for design and media |
US5895477A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic layout of content |
US5956737A (en) * | 1996-09-09 | 1999-09-21 | Design Intelligence, Inc. | Design engine for fitting content to a medium |
US5903902A (en) * | 1996-09-09 | 1999-05-11 | Design Intelligence, Inc. | Design engine with tree and component structure |
DE69714598T2 (de) * | 1996-09-09 | 2003-03-27 | Microsoft Corp., Redmond | Automatische anordnung und formatierung von inhalt für einen entwurf auf einem medium |
US5878431A (en) * | 1996-10-04 | 1999-03-02 | Hewlett-Packard Company | Method and apparatus for providing topology based enterprise management services |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6237142B1 (en) * | 1996-11-12 | 2001-05-22 | International Business Machines Corporation | Method for synchronization between links and group definitions within an object-oriented system |
US6401099B1 (en) | 1996-12-06 | 2002-06-04 | Microsoft Corporation | Asynchronous binding of named objects |
US6460058B2 (en) * | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US6047296A (en) * | 1996-12-09 | 2000-04-04 | Omnimark Technologies Corporation | Comprehensive method of resolving nested forward references in electronic data streams within defined resolution scopes |
US6374250B2 (en) * | 1997-02-03 | 2002-04-16 | International Business Machines Corporation | System and method for differential compression of data from a plurality of binary sources |
US6687761B1 (en) | 1997-02-20 | 2004-02-03 | Invensys Systems, Inc. | Process control methods and apparatus with distributed object management |
US6363433B1 (en) * | 1997-03-12 | 2002-03-26 | Microsoft Corporation | Method and mechanism for client-side handling of extensions originally written for servers |
EP0983541B1 (en) * | 1997-05-29 | 2003-08-06 | Sun Microsystems, Inc. | Method and apparatus for signing and sealing objects |
US6125383A (en) * | 1997-06-11 | 2000-09-26 | Netgenics Corp. | Research system using multi-platform object oriented program language for providing objects at runtime for creating and manipulating biological or chemical data |
US5987481A (en) * | 1997-07-01 | 1999-11-16 | Microsoft Corporation | Method and apparatus for using label references in spreadsheet formulas |
US6760746B1 (en) * | 1999-09-01 | 2004-07-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
US5905991A (en) * | 1997-08-21 | 1999-05-18 | Reynolds; Mark L | System and method providing navigation between documents by creating associations based on bridges between combinations of document elements and software |
US6233584B1 (en) * | 1997-09-09 | 2001-05-15 | International Business Machines Corporation | Technique for providing a universal query for multiple different databases |
US5995918A (en) * | 1997-09-17 | 1999-11-30 | Unisys Corporation | System and method for creating a language grammar using a spreadsheet or table interface |
US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
DE19747583B4 (de) * | 1997-10-28 | 2006-04-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Kommunikationssystem und Verfahren |
US6134594A (en) | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
US5958004A (en) | 1997-10-28 | 1999-09-28 | Microsoft Corporation | Disabling and enabling transaction committal in transactional application components |
US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
US6631425B1 (en) * | 1997-10-28 | 2003-10-07 | Microsoft Corporation | Just-in-time activation and as-soon-as-possible deactivation or server application components |
US6055543A (en) * | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
US6148438A (en) * | 1998-01-06 | 2000-11-14 | National Instruments Corporation | System and method for creating composite classes for objects having virtual functions for avoidance of user mode/kernel mode transitions |
JP2002505473A (ja) | 1998-02-26 | 2002-02-19 | サンマイクロシステムズ インコーポレーテッド | 決定性ハッシュでリモートメソッドを識別する方法とシステム |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
US6330006B1 (en) * | 1998-05-12 | 2001-12-11 | Silverstream Software, Inc. | Method and apparatus for synchronizing an application's interface and data |
US6233582B1 (en) * | 1998-05-14 | 2001-05-15 | Sun Microsystems, Inc. | Persistent storage interface for a configuration object-based system |
US6691183B1 (en) | 1998-05-20 | 2004-02-10 | Invensys Systems, Inc. | Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation |
US6366916B1 (en) | 1998-05-22 | 2002-04-02 | International Business Machines Corporation | Configurable and extensible system for deploying asset management functions to client applications |
US6826571B1 (en) | 1998-05-22 | 2004-11-30 | International Business Machines Corporation | Method and apparatus for dynamically customizing and extending functions of a server program to enable and restrict functions of the server |
US6912561B1 (en) | 1998-05-22 | 2005-06-28 | International Business Machines Corporation | Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data |
US6917939B1 (en) | 1998-05-22 | 2005-07-12 | International Business Machines Corporation | Method and apparatus for configurable mapping between data stores and data structures and a generalized client data model using heterogeneous, specialized storage |
KR19990087910A (ko) * | 1998-05-27 | 1999-12-27 | 포만 제프리 엘 | 관련되지않은윈도들간의연합상호작용 |
US6611954B1 (en) * | 1998-06-03 | 2003-08-26 | Intel Corporation | Binary compatible software objects |
US6654881B2 (en) * | 1998-06-12 | 2003-11-25 | Microsoft Corporation | Logical volume mount manager |
US8527882B2 (en) * | 1998-06-12 | 2013-09-03 | Gregory J. Swartz | System and method for iconic software environment management |
US7346850B2 (en) | 1998-06-12 | 2008-03-18 | Cygnus Systems, Inc. | System and method for iconic software environment management |
US6662236B1 (en) * | 1998-06-29 | 2003-12-09 | International Business Machines Corporation | Runtime object binding in scripting |
US6526416B1 (en) | 1998-06-30 | 2003-02-25 | Microsoft Corporation | Compensating resource managers |
US6342899B1 (en) | 1998-07-20 | 2002-01-29 | Pitney Bowes Inc. | Method and system of displaying database contents in envelope data fields |
US6384931B1 (en) | 1998-07-20 | 2002-05-07 | Pitney Bowes Inc. | Method and system for capturing destination addresses from label data |
US6282524B1 (en) | 1998-07-20 | 2001-08-28 | Pitney Bowes Inc. | Method and system of printing postage indicia from an envelope design application |
GB2340266B (en) * | 1998-07-31 | 2003-03-12 | Sony Uk Ltd | Data processing |
US6442620B1 (en) | 1998-08-17 | 2002-08-27 | Microsoft Corporation | Environment extensibility and automatic services for component applications using contexts, policies and activators |
US6425017B1 (en) | 1998-08-17 | 2002-07-23 | Microsoft Corporation | Queued method invocations on distributed component applications |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
US7143421B2 (en) * | 1998-09-09 | 2006-11-28 | Microsoft Corporation | Highly componentized system architecture with a demand-loading namespace and programming model |
US8434099B2 (en) | 1998-09-09 | 2013-04-30 | Microsoft Corporation | Efficient linking and loading for late binding and platform retargeting |
US6282590B1 (en) | 1998-09-15 | 2001-08-28 | Pitney Bowes Inc. | Method and system for establishing a standard peripheral interface server |
JP3460597B2 (ja) | 1998-09-22 | 2003-10-27 | 日本電気株式会社 | 複合文書管理システム及び複合文書の構造管理方法ならびに複合文書構造管理プログラムを格納した記録媒体 |
US8078727B2 (en) | 1998-10-09 | 2011-12-13 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
US8060656B2 (en) * | 1998-10-09 | 2011-11-15 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
US7107591B1 (en) * | 1998-11-05 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Task-specific flexible binding in a software system |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6385724B1 (en) | 1998-11-30 | 2002-05-07 | Microsoft Corporation | Automatic object caller chain with declarative impersonation and transitive trust |
US6574736B1 (en) | 1998-11-30 | 2003-06-03 | Microsoft Corporation | Composable roles |
US6487665B1 (en) | 1998-11-30 | 2002-11-26 | Microsoft Corporation | Object security boundaries |
US6621506B2 (en) * | 1998-12-11 | 2003-09-16 | Adobe Systems Incorporated | Applying operations to selected data of different types |
US6397384B1 (en) * | 1998-12-18 | 2002-05-28 | Adobe Systems Incorporated | Run-time addition of interfaces |
US6681371B1 (en) * | 1998-12-21 | 2004-01-20 | At&T Corp. | System and method for using container documents as multi-user domain clients |
US6978450B2 (en) * | 1999-01-15 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing compilation time of a program by selectively reusing object code |
US6594819B1 (en) * | 1999-01-25 | 2003-07-15 | International Business Machines Corporation | Method and system for establishing collection of hostable applications |
US7127724B2 (en) * | 1999-02-03 | 2006-10-24 | International Business Machines Corporation | Method and apparatus for providing protocol independent naming and life cycle services in an object-oriented system |
US6704924B1 (en) * | 1999-02-03 | 2004-03-09 | William H. Gates, III | Method and system for implementing virtual functions of an interface |
US6493120B1 (en) * | 1999-02-17 | 2002-12-10 | Alcatel | Optical fiber-delay line buffers with void filling |
US6829770B1 (en) | 1999-02-23 | 2004-12-07 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events |
US6748455B1 (en) | 1999-02-23 | 2004-06-08 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events with filtering |
US7283991B1 (en) * | 1999-03-11 | 2007-10-16 | Microsoft Corporation | Caching system for path search optimization |
US6463533B1 (en) * | 1999-04-15 | 2002-10-08 | Webtv Networks, Inc. | System for generating site-specific user aliases in a computer network |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
AU5025600A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
US6754885B1 (en) | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
US6678745B1 (en) * | 1999-06-01 | 2004-01-13 | Bruce Hodge | Dynamic object synthesis with automatic late binding |
US6539374B2 (en) | 1999-06-03 | 2003-03-25 | Microsoft Corporation | Methods, apparatus and data structures for providing a uniform representation of various types of information |
US6606613B1 (en) | 1999-06-03 | 2003-08-12 | Microsoft Corporation | Methods and apparatus for using task models to help computer users complete tasks |
US6330554B1 (en) | 1999-06-03 | 2001-12-11 | Microsoft Corporation | Methods and apparatus using task models for targeting marketing information to computer users based on a task being performed |
US6778971B1 (en) | 1999-06-03 | 2004-08-17 | Microsoft Corporation | Methods and apparatus for analyzing computer-based tasks to build task models |
US6501995B1 (en) | 1999-06-30 | 2002-12-31 | The Foxboro Company | Process control system and method with improved distribution, installation and validation of components |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6877163B1 (en) | 1999-06-14 | 2005-04-05 | Sun Microsystems, Inc. | Method and system for dynamic proxy classes |
US7150005B2 (en) * | 1999-07-02 | 2006-12-12 | Beryl Technical Assays, Llc | Method and system for global constant management for memory |
US6634019B1 (en) | 1999-07-16 | 2003-10-14 | Lamarck, Inc. | Toggling software characteristics in a fault tolerant and combinatorial software environment system, method and medium |
US6973560B1 (en) | 1999-07-16 | 2005-12-06 | Lamarck, Inc. | Fault tolerant and combinatorial software environment system, method and medium |
US6631497B1 (en) * | 1999-07-19 | 2003-10-07 | International Business Machines Corporation | Binding data from data source to cells in a spreadsheet |
US7039863B1 (en) | 1999-07-23 | 2006-05-02 | Adobe Systems Incorporated | Computer generation of documents using layout elements and content elements |
US7337174B1 (en) | 1999-07-26 | 2008-02-26 | Microsoft Corporation | Logic table abstraction layer for accessing configuration information |
US6513112B1 (en) | 1999-07-26 | 2003-01-28 | Microsoft Corporation | System and apparatus for administration of configuration information using a catalog server object to describe and manage requested configuration information to be stored in a table object |
US6675353B1 (en) * | 1999-07-26 | 2004-01-06 | Microsoft Corporation | Methods and systems for generating XML documents |
US6421682B1 (en) | 1999-07-26 | 2002-07-16 | Microsoft Corporation | Catalog management system architecture having data table objects and logic table objects |
US6598037B1 (en) | 1999-07-26 | 2003-07-22 | Microsoft Corporation | Data table object interface for datastore |
US6466943B1 (en) * | 1999-07-26 | 2002-10-15 | Microsoft Corporation | Obtaining table objects using table dispensers |
US6418486B1 (en) * | 1999-07-28 | 2002-07-09 | Intel Corporation | Device handling system and method |
WO2001009690A1 (en) | 1999-07-29 | 2001-02-08 | The Foxboro Company | Methods and apparatus for object-based process control |
US6614808B1 (en) | 1999-09-02 | 2003-09-02 | International Business Machines Corporation | Network packet aggregation |
US6748555B1 (en) * | 1999-09-09 | 2004-06-08 | Microsoft Corporation | Object-based software management |
US6320591B1 (en) | 1999-09-10 | 2001-11-20 | Gateway, Inc. | System and method for the utilization of an electronic book |
US7171646B2 (en) * | 1999-10-05 | 2007-01-30 | Borland Software Corporation | Generating source code for object oriented elements with language neutral transient meta model and correlating display of names, symbols and code |
US6782532B1 (en) * | 1999-10-21 | 2004-08-24 | Oracle International Corporation | Object type system for a run-time environment using generated high-order language instructions for generic functions |
US6871203B1 (en) | 1999-10-29 | 2005-03-22 | International Business Machines Corporation | Data processing system |
US6553387B1 (en) | 1999-11-29 | 2003-04-22 | Microsoft Corporation | Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers |
US6684231B1 (en) | 1999-11-29 | 2004-01-27 | Microsoft Corporation | Migration of friendly volumes |
US6473660B1 (en) | 1999-12-03 | 2002-10-29 | The Foxboro Company | Process control system and method with automatic fault avoidance |
US6920636B1 (en) * | 1999-12-15 | 2005-07-19 | Microsoft Corporation | Queued component interface passing for results outflow from queued method invocations |
US7178105B1 (en) * | 2000-02-04 | 2007-02-13 | International Business Machines Corporation | Method and system for document component importation and reconciliation |
US6779128B1 (en) | 2000-02-18 | 2004-08-17 | Invensys Systems, Inc. | Fault-tolerant data transfer |
CA2301822A1 (fr) * | 2000-03-24 | 2001-09-24 | 9071 9410 Quebec Inc. | Projection simultanee de plusieurs patrons avec acquisition simultanee pour l'inspection d'objets en trois dimensions |
US6995853B1 (en) | 2000-03-31 | 2006-02-07 | Pitney Bowes Inc. | Method and system for modifying print stream data to allow printing over a single I/O port |
US6728768B1 (en) * | 2000-04-13 | 2004-04-27 | International Business Machines Corporation | Method and apparatus for improving dynamic simple network management protocol GetNext processing |
US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
US7260543B1 (en) | 2000-05-09 | 2007-08-21 | Sun Microsystems, Inc. | Automatic lease renewal with message gates in a distributed computing environment |
US6950875B1 (en) | 2000-05-09 | 2005-09-27 | Sun Microsystems, Inc. | Message conductors in a distributed computing environment |
US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US6970869B1 (en) | 2000-05-09 | 2005-11-29 | Sun Microsystems, Inc. | Method and apparatus to discover services and negotiate capabilities |
US7065574B1 (en) | 2000-05-09 | 2006-06-20 | Sun Microsystems, Inc. | Messaging system using pairs of message gates in a distributed computing environment |
US6868447B1 (en) | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US7072967B1 (en) | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
US6898618B1 (en) | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US7243356B1 (en) | 2000-05-09 | 2007-07-10 | Sun Microsystems, Inc. | Remote method invocation with secure messaging in a distributed computing environment |
US7016966B1 (en) | 2000-05-09 | 2006-03-21 | Sun Microsystems, Inc. | Generating results gates in a distributed computing environment |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US7395333B1 (en) | 2000-05-09 | 2008-07-01 | Sun Microsystems, Inc. | Method and apparatus to obtain negotiated service advertisement |
US8135796B1 (en) | 2000-05-09 | 2012-03-13 | Oracle America, Inc. | Mechanism and apparatus for accessing and addressing services in a distributed computing environment |
US7370091B1 (en) | 2000-05-09 | 2008-05-06 | Sun Microsystems, Inc. | Method and apparatus for obtaining space advertisements |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US7010573B1 (en) | 2000-05-09 | 2006-03-07 | Sun Microsystems, Inc. | Message gates using a shared transport in a distributed computing environment |
US7200848B1 (en) | 2000-05-09 | 2007-04-03 | Sun Microsystems, Inc. | Migrating processes using data representation language representations of the processes in a distributed computing environment |
US7080078B1 (en) | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US6973493B1 (en) | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
US7188251B1 (en) | 2000-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System and method for secure message-based leasing of resources in a distributed computing environment |
US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
US7013340B1 (en) * | 2000-05-18 | 2006-03-14 | Microsoft Corporation | Postback input handling by server-side control objects |
US6865657B1 (en) | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
US6763440B1 (en) | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | Garbage collection using nursery regions for new objects in a virtual heap |
US6760815B1 (en) | 2000-06-02 | 2004-07-06 | Sun Microsystems, Inc. | Caching mechanism for a virtual heap |
US6854115B1 (en) | 2000-06-02 | 2005-02-08 | Sun Microsystems, Inc. | Process persistence in a virtual machine |
US20020019845A1 (en) * | 2000-06-16 | 2002-02-14 | Hariton Nicholas T. | Method and system for distributed scripting of presentations |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
WO2001098928A2 (en) | 2000-06-21 | 2001-12-27 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7124408B1 (en) * | 2000-06-28 | 2006-10-17 | Microsoft Corporation | Binding by hash |
US7117371B1 (en) | 2000-06-28 | 2006-10-03 | Microsoft Corporation | Shared names |
US7219332B2 (en) * | 2000-07-07 | 2007-05-15 | Microsoft Corporation | Configuring software components(merge) with transformation component using configurable and non-configurable data elements |
US6738968B1 (en) * | 2000-07-10 | 2004-05-18 | Microsoft Corporation | Unified data type system and method |
EP1174791B1 (en) | 2000-07-10 | 2017-09-27 | Microsoft Technology Licensing, LLC | Unified data type system and method |
US6651248B1 (en) * | 2000-09-01 | 2003-11-18 | International Business Machines Corporation | Method and apparatus for efficient interface method dispatch |
TW518509B (en) * | 2000-11-28 | 2003-01-21 | Ibm | Method and system in an electronic spreadsheet for persistently filling by samples a range of cells |
US6561342B2 (en) * | 2000-11-29 | 2003-05-13 | Charles Lepage | Granular material conveyor |
US6842786B1 (en) * | 2001-02-09 | 2005-01-11 | Adobe Systems Incorporated | Method and apparatus for remote communication of data associated with dynamically generated type object at runtime to describe the data type |
US7152223B1 (en) * | 2001-06-04 | 2006-12-19 | Microsoft Corporation | Methods and systems for compiling and interpreting one or more associations between declarations and implementations in a language neutral fashion |
US7493397B1 (en) | 2001-06-06 | 2009-02-17 | Microsoft Corporation | Providing remote processing services over a distributed communications network |
US6915454B1 (en) | 2001-06-12 | 2005-07-05 | Microsoft Corporation | Web controls validation |
US7454753B2 (en) * | 2001-06-27 | 2008-11-18 | International Business Machines Corporation | Semaphore management subsystem for use with multi-thread processor systems |
US7089555B2 (en) * | 2001-06-27 | 2006-08-08 | International Business Machines Corporation | Ordered semaphore management subsystem |
US7069540B1 (en) * | 2001-07-02 | 2006-06-27 | Unisys Corporation | COM persistence model |
US6941550B1 (en) | 2001-07-09 | 2005-09-06 | Microsoft Corporation | Interface invoke mechanism |
US20030051029A1 (en) * | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7406690B2 (en) * | 2001-09-26 | 2008-07-29 | International Business Machines Corporation | Flow lookahead in an ordered semaphore management subsystem |
US7143414B2 (en) * | 2001-09-26 | 2006-11-28 | International Business Machines Corporation | Method and apparatus for locking multiple semaphores |
US6925640B2 (en) * | 2001-10-12 | 2005-08-02 | Sun Microsystems, Inc. | Method and apparatus for extending a program element in a dynamically typed programming language |
US7552222B2 (en) * | 2001-10-18 | 2009-06-23 | Bea Systems, Inc. | Single system user identity |
US20030093435A1 (en) * | 2001-11-05 | 2003-05-15 | Bandekar Vijay R. | Method and system for application level data object synchronization between two or more processes |
CN1591400A (zh) * | 2001-11-09 | 2005-03-09 | 无锡永中科技有限公司 | 集成数据处理*** |
JP2003150762A (ja) * | 2001-11-15 | 2003-05-23 | Hitachi Ltd | プロジェクト情報連携方法およびシステム |
DE10157633A1 (de) * | 2001-11-26 | 2003-08-28 | Siemens Ag | Medizinische Systemarchitektur mit einer komponentenorientierten Architektur zur Befundung und Dokumentation |
US20040015835A1 (en) * | 2002-01-24 | 2004-01-22 | Sasank Kotnur | Dynamic distribution and integration of computer code objects |
US7036039B2 (en) * | 2002-03-29 | 2006-04-25 | Panasas, Inc. | Distributing manager failure-induced workload through the use of a manager-naming scheme |
US7007024B2 (en) * | 2002-03-29 | 2006-02-28 | Panasas, Inc. | Hashing objects into multiple directories for better concurrency and manageability |
US6975914B2 (en) | 2002-04-15 | 2005-12-13 | Invensys Systems, Inc. | Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with unified messaging interface |
JP4224250B2 (ja) * | 2002-04-17 | 2009-02-12 | パイオニア株式会社 | 音声認識装置、音声認識方法および音声認識プログラム |
US7035862B2 (en) * | 2002-05-09 | 2006-04-25 | Siemens Medical Solutions Health Services Corporation | Method for processing information from an information repository |
US20040064828A1 (en) * | 2002-10-01 | 2004-04-01 | Cox David Payton | Supplanting first device objects with second device objects |
US7234109B2 (en) * | 2002-11-19 | 2007-06-19 | Microsoft Corp. | Equality of extensible markup language structures |
CN1264090C (zh) * | 2002-12-31 | 2006-07-12 | 上海科泰世纪科技有限公司 | 调用构件对象功能的智能指针的封装方法 |
US20040181748A1 (en) * | 2003-03-10 | 2004-09-16 | International Business Machines Corporation | Thin client framework deployment of spreadsheet applications in a web browser based environment |
US7480921B1 (en) | 2003-03-12 | 2009-01-20 | Microsoft Corporation | Method, system, and apparatus for customizing web parts |
US7281252B1 (en) | 2003-03-12 | 2007-10-09 | Microsoft Corporation | Method, system, and apparatus for implementing object interfaces at runtime |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7197512B2 (en) * | 2003-03-26 | 2007-03-27 | Microsoft Corporation | Type bridges |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7299450B2 (en) * | 2003-06-17 | 2007-11-20 | Microsoft Corporation | Undoing changes in a software configuration management system |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7409693B2 (en) * | 2003-10-30 | 2008-08-05 | International Business Machines Corporation | Method and system for providing version control of parameters in a command-based API using Java serialization |
US7464330B2 (en) * | 2003-12-09 | 2008-12-09 | Microsoft Corporation | Context-free document portions with alternate formats |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7469408B2 (en) * | 2004-02-13 | 2008-12-23 | Microsoft Corporation | Document customization for transparent execution on a client and a server |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7496649B2 (en) * | 2004-02-20 | 2009-02-24 | Microsoft Corporation | Policy application across multiple nodes |
US7664828B2 (en) * | 2004-02-20 | 2010-02-16 | Microsoft Corporation | Invalid policy detection |
US7243157B2 (en) | 2004-02-20 | 2007-07-10 | Microsoft Corporation | Dynamic protocol construction |
US20050188350A1 (en) * | 2004-02-20 | 2005-08-25 | Microsoft Corporation | Data binding |
US7545362B2 (en) * | 2004-02-26 | 2009-06-09 | Microsoft Corporation | Multi-modal navigation in a graphical user interface computing system |
US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
US20050197845A1 (en) * | 2004-03-02 | 2005-09-08 | Kai Wachter | Business workbook precalculation |
US20050198610A1 (en) * | 2004-03-03 | 2005-09-08 | Ulf Fildebrandt | Providing and using design time support |
US7653880B2 (en) * | 2004-04-13 | 2010-01-26 | Microsoft Corporation | Application of data-binding mechanism to perform command binding |
US7539687B2 (en) * | 2004-04-13 | 2009-05-26 | Microsoft Corporation | Priority binding |
US7779387B2 (en) * | 2004-04-15 | 2010-08-17 | Microsoft Corporation | Offline source code control |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
EP1751672A4 (en) * | 2004-05-03 | 2007-05-09 | Lg Electronics Inc | METHOD AND APPARATUS FOR MANAGING MARKING INFORMATION OF STORED CONTENTS IN A NETWORKED MEDIA SERVER |
US7890604B2 (en) | 2004-05-07 | 2011-02-15 | Microsoft Corproation | Client-side callbacks to server events |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
US9026578B2 (en) | 2004-05-14 | 2015-05-05 | Microsoft Corporation | Systems and methods for persisting data between web pages |
US7464386B2 (en) | 2004-05-17 | 2008-12-09 | Microsoft Corporation | Data controls architecture |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7596546B2 (en) * | 2004-06-14 | 2009-09-29 | Matchett Douglas K | Method and apparatus for organizing, visualizing and using measured or modeled system statistics |
US20060010175A1 (en) * | 2004-06-17 | 2006-01-12 | International Business Machines Corporation | Apparatus, system, and method for automated conversion of content having multiple representation versions |
JP2006065462A (ja) * | 2004-08-25 | 2006-03-09 | Canon Inc | ソフトウェア・システム、ソフトウェア停止方法、プログラム、及び、記憶媒体 |
US20060048095A1 (en) * | 2004-08-31 | 2006-03-02 | Microsoft Corporation | Local type alias inference system and method |
US20060064643A1 (en) | 2004-09-14 | 2006-03-23 | Hariton Nicholas T | Distributed scripting for presentations with touch screen displays |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US7475384B2 (en) * | 2004-10-19 | 2009-01-06 | Microsoft Corporation | Binding to types |
US7401340B2 (en) * | 2004-10-21 | 2008-07-15 | Oracle International Corporation | Supporting cross-component references in an object-oriented programming system |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US8996486B2 (en) * | 2004-12-15 | 2015-03-31 | Applied Invention, Llc | Data store with lock-free stateless paging capability |
US7774308B2 (en) * | 2004-12-15 | 2010-08-10 | Applied Minds, Inc. | Anti-item for deletion of content in a distributed datastore |
US11321408B2 (en) | 2004-12-15 | 2022-05-03 | Applied Invention, Llc | Data store with lock-free stateless paging capacity |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US8275804B2 (en) * | 2004-12-15 | 2012-09-25 | Applied Minds, Llc | Distributed data store with a designated master to ensure consistency |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US7581168B2 (en) * | 2004-12-20 | 2009-08-25 | Microsoft Corporation | Method, system, and computer-readable medium for determining whether to reproduce chart images calculated from a workbook |
US7752632B2 (en) * | 2004-12-21 | 2010-07-06 | Microsoft Corporation | Method and system for exposing nested data in a computer-generated document in a transparent manner |
GB0428482D0 (en) * | 2004-12-30 | 2005-02-02 | Ibm | Method and apparatus for managing feedback in a group resource environment |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7793255B1 (en) * | 2005-03-01 | 2010-09-07 | Oracle America, Inc. | System and method for maintaining alternate object views |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7636888B2 (en) * | 2005-03-15 | 2009-12-22 | Microsoft Corporation | Verifying compatibility between document features and server capabilities |
US20060212842A1 (en) * | 2005-03-15 | 2006-09-21 | Microsoft Corporation | Rich data-bound application |
JP4517923B2 (ja) * | 2005-03-31 | 2010-08-04 | 沖電気工業株式会社 | オブジェクト救済システム及び方法 |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US9363481B2 (en) * | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
JP4797444B2 (ja) * | 2005-05-24 | 2011-10-19 | ブラザー工業株式会社 | 情報処理装置及び情報処理プログラム |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
US20070043695A1 (en) * | 2005-08-16 | 2007-02-22 | Bare Ballard C | Action consolidation using hash table |
US7644403B2 (en) * | 2005-09-12 | 2010-01-05 | Oracle International Corporation | Method and system for automated root-cause analysis for class loading failures in java |
EP1785396A1 (en) * | 2005-11-09 | 2007-05-16 | Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO | Process for preparing a metal hydroxide |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US20070192363A1 (en) * | 2005-12-19 | 2007-08-16 | Microsoft Corporation | Document-centric application environment |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US7860857B2 (en) | 2006-03-30 | 2010-12-28 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
US20070257354A1 (en) * | 2006-03-31 | 2007-11-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Code installation decisions for improving aggregate functionality |
US7552129B2 (en) * | 2006-04-26 | 2009-06-23 | International Business Machines Corporation | Automatically binding and populating a selection control with both display labels and identification values |
US7836440B2 (en) * | 2006-04-27 | 2010-11-16 | Oracle America, Inc. | Dependency-based grouping to establish class identity |
US8650541B2 (en) * | 2006-08-04 | 2014-02-11 | Apple Inc. | Graphical motion composition files and methods for formatting and organization thereof |
US20080040360A1 (en) * | 2006-08-14 | 2008-02-14 | Microsoft Corporation | Design pattern for choice types in object oriented languages |
US7769843B2 (en) | 2006-09-22 | 2010-08-03 | Hy Performix, Inc. | Apparatus and method for capacity planning for data center server consolidation and workload reassignment |
US20080091733A1 (en) * | 2006-10-16 | 2008-04-17 | Scott Shelton | Reusable data query language statements |
US20080144076A1 (en) * | 2006-10-27 | 2008-06-19 | Martin Boliek | Systems and methods for serving documents from a multifunction peripheral |
US20080126368A1 (en) * | 2006-11-24 | 2008-05-29 | Microsoft Corporation | Document Glossaries For Linking To Resources |
US10318624B1 (en) | 2006-12-28 | 2019-06-11 | Apple Inc. | Infinite canvas |
US9390059B1 (en) * | 2006-12-28 | 2016-07-12 | Apple Inc. | Multiple object types on a canvas |
US20080172597A1 (en) * | 2007-01-16 | 2008-07-17 | Siemens Medical Solutions Usa, Inc. | Data Field Referencing Text Processing System |
US20080201360A1 (en) * | 2007-02-15 | 2008-08-21 | Mirapoint, Inc. | Locating Persistent Objects In A Network Of Servers |
US20080235597A1 (en) * | 2007-03-19 | 2008-09-25 | Mor Schlesinger | Systems and methods of data integration for creating custom books |
US8132152B2 (en) * | 2007-06-08 | 2012-03-06 | Apple Inc. | Extending a scripting language to provide an object hierarchy |
US8079025B2 (en) * | 2007-06-08 | 2011-12-13 | Apple Inc. | Asynchronous load of source dependencies |
US9035948B2 (en) * | 2007-08-02 | 2015-05-19 | Adobe Systems Incorporated | Methods and systems for drawing graphics into a data chart |
US8788986B2 (en) | 2010-11-22 | 2014-07-22 | Ca, Inc. | System and method for capacity planning for systems with multithreaded multicore multiprocessor resources |
US7957948B2 (en) * | 2007-08-22 | 2011-06-07 | Hyperformit, Inc. | System and method for capacity planning for systems with multithreaded multicore multiprocessor resources |
US20090089653A1 (en) * | 2007-09-28 | 2009-04-02 | Microsoft Corporation | Auto-generation and syndication of tables as forms |
BRPI0722176A2 (pt) * | 2007-10-26 | 2014-04-08 | Ericsson Telefon Ab L M | Método para uso em uma rede de ip móvel de proxy, nó de âncora de mobilidade local, e, ponto de conexão de acesso móvel |
US20090157841A1 (en) * | 2007-12-14 | 2009-06-18 | Microsoft Corporation | Encapsulation of online storage providers |
US20090254809A1 (en) * | 2008-04-02 | 2009-10-08 | Colorquick, L.L.C. | Objects having usage rules that exist outside of the environment in which the object is used |
US8001099B2 (en) * | 2008-05-15 | 2011-08-16 | International Business Machines Corporation | Maintaining and utilizing copy histories |
US8099721B2 (en) * | 2008-06-17 | 2012-01-17 | Microsoft Corporation | Parsing of declarations in all branches of preprocessor conditionals |
EP2304536A4 (en) | 2008-06-20 | 2012-08-15 | Invensys Sys Inc | SYSTEMS AND METHOD FOR IMMERSIBLE INTERACTION WITH ACTUAL AND / OR SIMULATED DEVICES FOR PROCESS, ENVIRONMENTAL AND INDUSTRIAL CONTROL |
US9253536B2 (en) * | 2009-03-18 | 2016-02-02 | Microsoft Technology Licensing, Llc | Updating data-consuming entities |
US9135091B2 (en) * | 2009-04-03 | 2015-09-15 | Microsoft Technology Licensing, Llc | Communicating events or data between application components |
US8131676B2 (en) * | 2009-04-03 | 2012-03-06 | Microsoft Corporation | Updating media-location data for media-playing entities |
US8392840B2 (en) * | 2009-05-22 | 2013-03-05 | Microsoft Corporation | Large sets of data |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US9411647B2 (en) * | 2010-01-22 | 2016-08-09 | Qualcomm Incorporated | Hierarchical routing and interface selection for multi-processor multimode network devices |
US10289636B2 (en) * | 2010-02-08 | 2019-05-14 | Here Global B.V. | Virtual table generator for analyzing geographic databases |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US8499290B2 (en) * | 2010-06-15 | 2013-07-30 | Microsoft Corporation | Creating text functions from a spreadsheet |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US9811353B1 (en) * | 2010-07-29 | 2017-11-07 | Crimson Corporation | Remotely invoking dynamic classes on a computing device |
US9747270B2 (en) | 2011-01-07 | 2017-08-29 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
US9665601B1 (en) | 2010-12-16 | 2017-05-30 | Crimson Corporation | Using a member attribute to perform a database operation on a computing device |
US8726396B1 (en) | 2011-01-14 | 2014-05-13 | Symantec Corporation | Scanning protected files for violations of a data loss prevention policy |
US8826229B2 (en) * | 2011-06-02 | 2014-09-02 | The Mathworks, Inc. | Immutable properties in a class |
US8930888B2 (en) * | 2011-06-29 | 2015-01-06 | International Business Machines Corporation | Modelling serialized object streams |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9069748B2 (en) | 2011-10-04 | 2015-06-30 | Microsoft Technology Licensing, Llc | Selective generation and display of data items associated with a spreadsheet |
US8990675B2 (en) * | 2011-10-04 | 2015-03-24 | Microsoft Technology Licensing, Llc | Automatic relationship detection for spreadsheet data items |
US20130111435A1 (en) * | 2011-10-28 | 2013-05-02 | Thomas W. Rudwick, III | Reducing object size by class type encoding of data |
US9053083B2 (en) * | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US9141393B2 (en) * | 2011-11-17 | 2015-09-22 | EnterCalo, Inc. | Business content authoring and distribution |
US8863129B2 (en) | 2011-12-06 | 2014-10-14 | International Business Machines Corporation | Automated caching and mirroring of immutable data in distributed virtual machines via native interface components |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US20140222866A1 (en) | 2013-02-01 | 2014-08-07 | Google Inc. | Accessing objects in hosted storage |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US9401818B2 (en) | 2013-03-15 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US20150006146A1 (en) | 2013-06-28 | 2015-01-01 | Google Inc. | Omega names: name generation and derivation |
US9483508B1 (en) | 2013-06-28 | 2016-11-01 | Google Inc. | Omega names: name generation and derivation |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
JP5592552B1 (ja) * | 2013-10-25 | 2014-09-17 | 株式会社Ubic | 文書分別調査システム及び文書分別調査方法並びに文書分別調査プログラム |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US20160065473A1 (en) * | 2014-09-02 | 2016-03-03 | Brocade Communications Systems, Inc. | Persistent storage in a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
JP6673654B2 (ja) * | 2015-08-20 | 2020-03-25 | Yamagata Intech株式会社 | 情報処理装置 |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
EP3452924A4 (en) * | 2016-04-27 | 2020-01-01 | Coda Project, Inc. | SYSTEM, METHOD AND APPARATUS FOR OPERATING A UNIFIED DOCUMENT SURFACE WORKSPACE |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US11061575B2 (en) | 2017-09-19 | 2021-07-13 | International Business Machines Corporation | Read-only table of contents register |
US10705973B2 (en) | 2017-09-19 | 2020-07-07 | International Business Machines Corporation | Initializing a data structure for use in predicting table of contents pointer values |
US10620955B2 (en) | 2017-09-19 | 2020-04-14 | International Business Machines Corporation | Predicting a table of contents pointer value responsive to branching to a subroutine |
US10713050B2 (en) | 2017-09-19 | 2020-07-14 | International Business Machines Corporation | Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions |
US10896030B2 (en) * | 2017-09-19 | 2021-01-19 | International Business Machines Corporation | Code generation relating to providing table of contents pointer values |
US10884929B2 (en) | 2017-09-19 | 2021-01-05 | International Business Machines Corporation | Set table of contents (TOC) register instruction |
US10725918B2 (en) | 2017-09-19 | 2020-07-28 | International Business Machines Corporation | Table of contents cache entry having a pointer for a range of addresses |
US11115486B2 (en) * | 2018-08-08 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data re-use across documents |
CN110213367B (zh) * | 2019-05-31 | 2023-11-28 | 北京字节跳动网络技术有限公司 | 互动信息通知方法、装置、设备及计算机可读存储介质 |
RU2721960C1 (ru) * | 2019-08-02 | 2020-05-25 | Общество с ограниченной ответственностью "ПИРФ" (ООО "ПИРФ") | Компьютерно-реализуемый способ взаимодействия между компонентами и задачами операционной системы через интерфейсную шину |
US10904027B1 (en) * | 2020-03-31 | 2021-01-26 | Amazon Technologies, Inc. | Usage-based device naming and grouping |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4739477A (en) * | 1984-08-30 | 1988-04-19 | International Business Machines Corp. | Implicit creation of a superblock data structure |
US4674040A (en) * | 1984-12-26 | 1987-06-16 | International Business Machines Corporation | Merging of documents |
US4962475A (en) * | 1984-12-26 | 1990-10-09 | International Business Machines Corporation | Method for generating a document utilizing a plurality of windows associated with different data objects |
US4815029A (en) * | 1985-09-23 | 1989-03-21 | International Business Machines Corp. | In-line dynamic editor for mixed object documents |
US5249275A (en) * | 1986-04-21 | 1993-09-28 | Texas Instruments Incorporated | Apparatus and method enabling a compiled program to exactly recreate its source code |
US5072412A (en) * | 1987-03-25 | 1991-12-10 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US4933880A (en) * | 1988-06-15 | 1990-06-12 | International Business Machines Corp. | Method for dynamically processing non-text components in compound documents |
JPH0277872A (ja) * | 1988-09-14 | 1990-03-16 | Hitachi Ltd | 文書処理プログラムを格納した記憶媒体と文書処理装置 |
CA1323448C (en) * | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5339423A (en) * | 1989-06-16 | 1994-08-16 | International Business Machines Corporation | System for accessing objects external to an application using tables containing path definitions |
US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
US5551035A (en) * | 1989-06-30 | 1996-08-27 | Lucent Technologies Inc. | Method and apparatus for inter-object communication in an object-oriented program controlled system |
EP0953900A3 (en) * | 1989-07-21 | 2000-05-24 | Hewlett-Packard Company | Object based systems |
EP0502857B1 (de) * | 1989-11-29 | 1994-04-06 | Siemens Aktiengesellschaft | Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems |
JPH03191429A (ja) * | 1989-12-20 | 1991-08-21 | Nec Corp | オブジェクト管理方式 |
AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
AU628753B2 (en) * | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions in a distributed heterogeneous environment |
US5237680A (en) * | 1990-09-27 | 1993-08-17 | Sun Microsystems, Inc. | Method for incremental rename propagation between hierarchical file name spaces |
US5204947A (en) * | 1990-10-31 | 1993-04-20 | International Business Machines Corporation | Application independent (open) hypermedia enablement services |
US5191645A (en) * | 1991-02-28 | 1993-03-02 | Sony Corporation Of America | Digital signal processing system employing icon displays |
US5187786A (en) * | 1991-04-05 | 1993-02-16 | Sun Microsystems, Inc. | Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system |
JP2811990B2 (ja) * | 1991-04-19 | 1998-10-15 | 三菱電機株式会社 | プログラム処理装置及びプログラム処理方法 |
US5274803A (en) * | 1991-04-26 | 1993-12-28 | Sun Microsystems, Inc. | Method and apparatus for aligning a restored parent environment to its child environments with minimal data loss |
US5517655A (en) * | 1991-04-26 | 1996-05-14 | Hewlett-Packard Company | Method for monitoring transactions in an object-oriented environment |
DE69230452T2 (de) * | 1991-08-19 | 2000-08-24 | Sun Microsystems, Inc. | Verfahren und Vorrichtung zur Änderungskontrolle in mehreren Entwicklungsumgebungen |
JP3191429B2 (ja) | 1992-09-02 | 2001-07-23 | 富士通テン株式会社 | 電子機器の挿排装置 |
WO1994011810A1 (en) * | 1992-11-13 | 1994-05-26 | Microsoft Corporation | A method and system for marshalling interface pointers for remote procedure calls |
US5805885A (en) * | 1992-12-24 | 1998-09-08 | Microsoft Corporation | Method and system for aggregating objects |
US5535389A (en) * | 1993-01-26 | 1996-07-09 | International Business Machines Corporation | Business process objects with associated attributes such as version identifier |
US5446842A (en) * | 1993-02-26 | 1995-08-29 | Taligent, Inc. | Object-oriented collaboration system |
US5369766A (en) * | 1993-03-25 | 1994-11-29 | Taligent, Inc. | Object-oriented loader system with support for different load formats |
US5459865A (en) * | 1993-04-05 | 1995-10-17 | Taligent Inc. | Runtime loader |
US5408665A (en) * | 1993-04-30 | 1995-04-18 | Borland International, Inc. | System and methods for linking compiled code with extended dictionary support |
US5848234A (en) * | 1993-05-21 | 1998-12-08 | Candle Distributed Solutions, Inc. | Object procedure messaging facility |
US5887172A (en) * | 1996-01-10 | 1999-03-23 | Sun Microsystems, Inc. | Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends |
-
1993
- 1993-07-06 EP EP99104967A patent/EP0930566A3/en not_active Withdrawn
- 1993-07-06 EP EP93110799A patent/EP0578207B1/en not_active Expired - Lifetime
- 1993-07-06 JP JP16713993A patent/JP3613401B2/ja not_active Expired - Lifetime
- 1993-07-06 KR KR1019930012598A patent/KR100287045B1/ko not_active IP Right Cessation
- 1993-07-06 US US08/088,724 patent/US5581760A/en not_active Expired - Lifetime
- 1993-07-06 AT AT93110799T patent/ATE187268T1/de not_active IP Right Cessation
- 1993-07-06 DE DE69327138T patent/DE69327138T2/de not_active Expired - Lifetime
- 1993-07-06 CA CA002099918A patent/CA2099918C/en not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/470,055 patent/US5842018A/en not_active Expired - Lifetime
- 1995-06-06 US US08/467,917 patent/US5740439A/en not_active Expired - Lifetime
- 1995-06-06 US US08/467,065 patent/US5689703A/en not_active Expired - Lifetime
- 1995-06-07 US US08/474,330 patent/US5682536A/en not_active Expired - Lifetime
-
1997
- 1997-08-20 US US08/916,999 patent/US6263379B1/en not_active Expired - Fee Related
-
2001
- 2001-05-29 US US09/867,853 patent/US6519764B1/en not_active Expired - Fee Related
-
2002
- 2002-10-29 US US10/283,627 patent/US7150024B2/en not_active Expired - Fee Related
-
2006
- 2006-07-03 US US11/481,345 patent/US7441253B2/en not_active Expired - Fee Related
- 2006-07-03 US US11/481,154 patent/US20070061816A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101213843B1 (ko) | 2004-08-27 | 2012-12-20 | 마이크로소프트 코포레이션 | 원활한 객체 비교 시스템 및 방법 |
KR100772396B1 (ko) * | 2006-02-10 | 2007-11-01 | 삼성전자주식회사 | 데이터 객체 병합 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR940006027A (ko) | 1994-03-22 |
EP0578207A3 (en) | 1995-03-15 |
US20070061816A1 (en) | 2007-03-15 |
DE69327138D1 (de) | 2000-01-05 |
US5689703A (en) | 1997-11-18 |
US20070061817A1 (en) | 2007-03-15 |
US5740439A (en) | 1998-04-14 |
EP0930566A2 (en) | 1999-07-21 |
US6263379B1 (en) | 2001-07-17 |
US5842018A (en) | 1998-11-24 |
JP3613401B2 (ja) | 2005-01-26 |
JPH06195339A (ja) | 1994-07-15 |
EP0578207B1 (en) | 1999-12-01 |
CA2099918C (en) | 2002-11-19 |
US5581760A (en) | 1996-12-03 |
US5682536A (en) | 1997-10-28 |
US7150024B2 (en) | 2006-12-12 |
DE69327138T2 (de) | 2000-04-27 |
US6519764B1 (en) | 2003-02-11 |
EP0930566A3 (en) | 2006-07-05 |
US7441253B2 (en) | 2008-10-21 |
ATE187268T1 (de) | 1999-12-15 |
US20030200504A1 (en) | 2003-10-23 |
EP0578207A2 (en) | 1994-01-12 |
CA2099918A1 (en) | 1994-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100287045B1 (ko) | 객체의 명명 및 결합들 위한 방법 및 시스템 | |
Akşit et al. | An object-oriented language-database integration model: The composition-filters approach | |
Vinoski | Distributed object computing with CORBA | |
JP4070248B2 (ja) | オブジェクト接続を動的に発生する方法及びシステム | |
EP0669020B1 (en) | Methods for marshalling interface pointers for remote procedure calls | |
US5583983A (en) | Multi-platform object-oriented software development and deployment system | |
US6430556B1 (en) | System and method for providing a query object development environment | |
JP4027679B2 (ja) | コンポーネント接続管理方法およびその方法をコンピュータで制御するためのコンピュータ読取り可能な記憶媒体 | |
CA2140166C (en) | Method and system for aggregating objects | |
US8667508B2 (en) | Method for providing stand-in objects | |
EP0752674B1 (en) | System and method for allowing disparate naming service providers to dynamically join a naming federation | |
US5937409A (en) | Integrating relational databases in an object oriented environment | |
US5848273A (en) | Method for generating OLE automation and IDL interfaces from metadata information | |
US20040236781A1 (en) | Method and system for registering data formats for objects | |
EP0746815A1 (en) | Method and system for interfacing to a type library | |
US6223227B1 (en) | Method for providing stand-in objects | |
Grieshaber | A computer-aided software engineering toolkit for the integration of CAD/CAM application software in a network environment | |
Rudolf et al. | Implementation of an object-oriented shell | |
Tangney | Integrating ECMA/ISO PCTE and OMG's CORBA | |
Router | C++ Foundation Classes | |
Bengelloun | MDC-Programmer: A Muddle-to-datalanguage Translator for Information Retrieval | |
Dedo | Command Line Arguments & Environment Variables | |
Bouguettaya et al. | Middleware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121227 Year of fee payment: 13 |
|
EXPY | Expiration of term |