KR20030045008A - 컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어 - Google Patents

컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어 Download PDF

Info

Publication number
KR20030045008A
KR20030045008A KR10-2003-7000020A KR20037000020A KR20030045008A KR 20030045008 A KR20030045008 A KR 20030045008A KR 20037000020 A KR20037000020 A KR 20037000020A KR 20030045008 A KR20030045008 A KR 20030045008A
Authority
KR
South Korea
Prior art keywords
objects
function
data objects
data
model
Prior art date
Application number
KR10-2003-7000020A
Other languages
English (en)
Inventor
매튜 비. 월
벤자민 엠. 린더
티모씨 알. 월
Original Assignee
오컬루스 테크놀로지스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오컬루스 테크놀로지스 코포레이션 filed Critical 오컬루스 테크놀로지스 코포레이션
Publication of KR20030045008A publication Critical patent/KR20030045008A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

컴퓨터 네트워크 상에서 모델을 위한 접속 제어는 데이터 객체들 및/또는 함수 객체들을 발생하는 단계, 상기 데이터 객체들 및/또는 함수 객체들에 참조를 발행하는 단계, 상기 함수 객체들안에서 참조되는 데이터 객체들을 통해 상기 데이터 객체들 및/또는 함수 객체들에 지급하는 단계, 따라서 상기 데이터 객체들 및/또는 함수 객체들을 링크하는 단계를 포함하며, 링크된 데이터 객체들 및/또는 함수 객체들의 네트워크가 발현된다. 상기 발현 링크된 데이터 객체들 및/또는 함수 객체들은 다른 데이터 객체들 및/또는 함수 객체들과 더 링크를 하기 위해 가용되며 참조되는 데이터 객체들 및/또는 함수 객체들이 변화할 때 메시지들은 데이터 객체들 및/또는 함수 객체들에 전송된다. 상기 함수는 상기 메시지가 수신되고 따라서 상기 참조되는 데이터 중에서 적어도 하나가 변화하게 할 때 해결된다. 상기 데이터 객체들 및/또는 함수 객체들은 컴퓨터 네트워크 상의 다수의 컴퓨팅 기기에 걸쳐 분산된 방식으로 저장된다. 상기 발현 링크된 데이터 객체들 및/또는 함수 객체들은 세계적으로 미리정해진 데이터 객체들 및/또는 함수 객체들의 정의에 무관하게 독립적으로 발행되고 지급되며, 따라서 상기 발현 모델을 발생한다. 접속 제어는 상기 발현 모델의 사용자를 식별하고 데이터 객체들 및/또는 함수 객체들 각각의 사용자에 적절한 읽기, 쓰기, 실행 및 행정적인 허용을 할당함으로써 제공되며, 상기 허용은 특정한 데이터 객체들 및/또는 함수 객체들로의 접속을 제한하는데 사용된다

Description

컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에 대한 접속 제어{ACCESS CONTROL FOR A DECENTRALIZED OR EMERGENT MODEL ON A COMPUTER NETWORK}
모델링은 컴퓨터들을 사용하여 시스템의 작동을 설명하는 프로세스이며, 따라서 시스템의 작동은 입력들의 변화에 따라 예상될 수 있다. 모델들은 수학식을 사용하여 객체(개체)나 그들의 상호관계를 설명할 수 있다. 예를 들어, 스프레드시트 툴은 특정 비지니스의 금융 모델(시스템)을 작성하여 금융 변화를 예상하는데 사용될 수 있으며, 따라서 사용자로 하여금 여러 솔루션(디자인)들을 평가하여 그 중에서 선택할 수 있도록 한다.
일정한 모델들은 입력과 출력 인터페이스를 나타내는 모듈(장치)들의 세트로부터 만들어질 수 있다. 상기 입력들과 출력들은 상기 객체들을 통합하는데 사용되는 연결과 종속을 형성하여 상기 모델을 제작한다. 각각의 객체들은 비록 통합되어 있지만, 컴퓨터 네트워크 상에서 분산되어 있는 형태로 저장될 수 있다.
다른 형태들의 객체들이 모델되는 시스템의 다른 측면에 관한 정보를 언급하기 위해 사용된다. 물리적/기계적인 모델링은 솔리드 모델(solid model), 선형 모델(surface model), 3차원 모델, 2차원 모델 및 유선-프렘임 모델을 생산할 수 있으며, 제한된 공간에서 시스템의 상기 물리적 측면들을 전송하는데 사용될 수 있다. 디자인 모델링은 주어진 세트의 디자인 변수에 대해 시스템의 작동을 예상하기 위해 만들어질 수 있다. 디자인 모델들은 그들의 입력 변수들을 수정하여 바람직한 성능 특성을 달성할 수 있도록 한다. 평가 모델은 디자인 모델의 성능 특성과 특정한 가치 구조를 비교하여 디자인 대안에 접속할 수 있도록 한다.
생산 디자인 프로세스는 물리적 모델링, 디자인 모델링 및 평가 모델링을 포함할 수 있는 프로세스의 예이다. 어떤 사람은 생산 디자인의 이러한 모델들을 시뮬레이션 기반 디자인이라고 부른다. 생산 디자인은 개방 다중-규율(multi disciplinary)과 다중-목적(multi-objective)인 복잡한 합작 프로세스이다. 상기 생산 디자인 프로세스의 이러한 측면들은 강력한 모델링 프레임워크를 요구한다.
시뮬레이션 기반 디자인(SBD)의 예는 록히드 마틴 미사일&스페이스 회사와 공동으로 미국국방과학연구재단(defense advanced research project agency)에 의해 스폰서되는 프로그램이다. 상기 SBD 소프트웨어의 목표는 회사로 하여금 인간과 소프트웨어 툴 사이의 이종 자원 걸쳐 유동적이고 효율적인 통신 채널을 설립하여 더 빠르고, 더 좋고, 더 저렴하게 수행할 수 있도록 하기 위함이다. 이러한 작업은 협동적인 분산된 컴퓨팅 기반구조를 개발하도록 한다. 그들의 작업은 Common Object Request Broker Architecture(CORBA)에 기반한 소프트웨어 툴의 범위에 대한 상호작용을 제공하는 프레임워크로 사용될 수 있다. 록히트마틴 미사일 & 스페이스 회사가 개발한 넷빌더(NetBuilder) 애플리케이션은 디자인 및 모델링 구성요소들을 통합하고 서로 연결하기 위한 프레임워크이다. 객체 지향(object-oriented) 저장매체는 모델 구성요소들을 저장하기 위함이며, 능동적인 장치 서버는 생산 개발과 다중 개발 규율들 사이의 상호작용들의 여러 측면을 유지하기 위함이다. 래거시 구성요소들을 프레임워크 안에 있는 논-래거시 구성요소들과 링크되도록 함으로써 넷빌더 프레임워크 안에 있는 래거시 애플리케이션은 랩(wrapped)되어 그들의 기능을 인갭슐레이트한다. 에이전트들은 또한 상기 넷빌더 프레임워크 안에서 정보 관리 패러다임을 인갭슐레이트하고 정보를 발행/지급하며, 분산된 작업흐름 프로세스의 작동 관리를 위해 사용될 수 있다. 넷빌더는 상기 개발 프로세스을 조정하기 위한 미드웨어로 작동한다.
MIT-DOME(Distributed Object-based Modeling and Evaluation)은 MIT CDA실험실(Senin, 1997;Pahug,1988)에서 사용되는 통합된 모델링을 위한 분산된 모델링 환경이다. 이러한 환경에서, 디자이너는 쉽게 개체(entity) 관계도에 의해 가시화되는 객체 지향 모델을 제작할 수 있다. 이산 및 연속 변수 타입들이 상기 모델들에서 허용된다. 모델들은 서브-모델들로 정리될 수 있으며, 이러한 서브-모델들은 모델을 만들 때 서로 다른 서브-모델의 선택을 허용하는 소위, 카타로그에서 참고될 수 있다. MIT-DOME에서, 일정하지 않은 입력을 가지고 있는 모델 입력은 확률 밀도 함수로 정의될 수 있으며, 이러한 일정하지 않은 입력은 자동적으로 몬테 카롤로스 시뮬레이션과 다른 방법들을 사용하는 상기 모델을 통해 전달된다. MIT-DOME 사용자는 또한 목표나 상세한 것들을 설정하거나 계산될 수 있는 대안적인 디자인에 의해 제공된다. 해결자(solver)로서 일반적인 알고리즘을 사용하는 빌트-인 최적화 툴은 독립 파라미터들과 카타로그 선택을 조정하여 모델 목표들 사이에서 최적의 거래를 찾아낸다.
본 발명은 일반적으로 컴퓨터 기반 모델링 프로세스 방법들에 관한 것이며, 보다 구체적으로는 컴퓨터 네트워크 상에서 분산되어 있거나 또는 발현되는 모델을 위한 접속 제어를 제공하는 방법 및 장치에 관한 것이다.
본 발명의 전술한, 그리고 다른 목적, 특징 및 장점들은 동일한 도면 부호가 동일한 부분을 나타내는 도면을 참고로 하여 이하 보다 자세하게 설명하고 있는 본원 발명의 바람직한 실시예로부터 명확해질 것이다. 상기 도면들은 본 발명의 원칙을 설명하기 위해 조정될 수 있다.
도1은 본 발명의 실시예가 구현되는 컴퓨터 네트워크를 도시하고 있다.
도2는 도1의 컴퓨터 네트워트 상의 컴퓨팅 기기의 내부 구조를 보여주고 있다.
도3은 본 발명의 실시예에 의해 발생된 모델들과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 구성된 발현 모델을 도시하고 있다.
도4는 컴퓨터 네트워크 상에서 본 발명의 실시예에 의해 다수의 컴퓨팅 기기에 저장되고 구성되는 모델과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 구성된 발현 모델을 도시하고 있다.
도5는 다수의 구성이 본 발명의 실시예에 의해 사용되는 것과 같이 공통의 저장매체를 공유하는 모델과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅기기로 구성된 발현 모델을 도시하고 있다.
도6은 본 발명의 실시예에 의해 발생되는 것과 같이 상기 모델들 사이에서 상호종속적으로 그룹된 모델들과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 구성된 발현 모델을 도시하고 있다.
도7a는 본 발명의 실시예에 상응하게 단방향으로 통신하는 모델들을 도시하고 있다.
도7b는 본 발명의 실시예에 상응하게 양방향으로 통신하는 모델들을 도시하고 있다.
도8a는 본 발명의 실시예에 상응하여 또 다른 발현 모델의 일부분으로서 사용 가능한 발현 모델을 도시하고 있다.
도8b는 도8a는 본 발명의 실시예에 상응하여 또 다른 발현 모델의 일부분으로 사용되는 발현 모델을 도시하고 있다.
도9a는 본 발명의 실시예에 의해 모델과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 수성된 발현 모델을 발생하는 방법을 구현하는데 사용되는 장치 기반 디자인을 도시하고 있다.
도9b는 도9a에서 정의된 장치 기반 디자인을 사용하여 정의된 모델의 예를 도시하고 있다.
도9c는 모델의 조직 계층의 예를 도시하고 있다.
도10은 본 발명의 실시예에 상응하는 컴퓨터 네트워크 상에서 분산되거나 또는 발현되는 모델을 위한 접속 제어를 제공하는 프로세스 흐름도이다.
도11a와 11b는 본 발명의 실시예에 상응하는 컴퓨터 네트워크 상에서 분산되거나 또는 발현되는 모델을 위한 접속 제어를 제공하는데 사용되는 사용자 인터페이스 그래펙을 도시하고 있다.
도12a와 12b는 컴퓨팅 기기의 네트워크를 도시하고 있다.
현존하는 모델링 프레임워크(예를 들어, MIT의 DOME)은 분산되고 통합된 프레임워크에서 물리적인 모델링, 디자인 모델링 및 평가 모델링을 제공하지만, 이러한 프레임워크들은 발현 모델을 생성하는 능력이 부족하다.
발현 모델은 소정의 또는 세계적인 정의없이 생성되는 모델이며, 따라서 상기 발현 모델은 분산된, 다중-컴퓨팅 기기 네트워크에서 만들어지는 능동적이고 통합된 모델이다. 발현 모델은 컴퓨터 네트워크 상에서 다수의 컴퓨팅 기기에 걸쳐 분산되어 연결된 데이터 객체(data object)(모듈) 및/또는 함수 객체(function object)(모듈)로 구성된다. 발현되고 분산된 모델로의 접속 제어는 상기 발현되고 분산된 모델들의 사용자를 식별하고 상기 사용자에게 데이터 객체 및/또는 함수 객체 마다 적절한 읽기, 쓰기, 실행 및 관리상의 허용을 할당함으로써 제공되며, 상기 허용은 상기 데이터 객체 및/또는 함수 객체의 일정한 서브셋으로의 접속을 제한하는데 사용된다.
본 발명은 모델 데이터를 알려주고 상기 데이터를 통합하여 시스템의 성능을 예견하는 능력을 제공한다. 상기 발현 모델은 평가되고 최적화된다. 본 발명은 엔지니어링, 생산 및 비지니스 데이터를 위한 웹 서버로서 보여질 수 있다. 현재고객에게 소프트웨어 중립 환경에서 발현 모델을 생성하기 위해 상기 인터넷을 통해 실시간 데이터 링크를 생성하는 수단을 제공하는 회사는 존재하지 않는다. 상기 웹-인에이블한, 본 발명의 실시간 비지니스 대 비지니스 인터페이스는 상기 생산 공급 체인을 관리하는 능력을 증가시켜 줄 뿐만 아니라 생산 개발을 위한 시장에서 시간과 비용을 절감한다.
따라서, 본 발명은 컴퓨터 네트워크 상에서 모델에 대한 접속 제어를 제공한다. 본 발명의 일 실시예에서, 발현 모델에 대한 접속 제어를 위한 방법은 데이터 객체 및/또는 함수 객체을 발생하는 단계, 상기 데이터 객체 및/또는 함수 객체에게 참고를 발행하는 단계 및 상기 함수 객체내에서 데이터 객체의 참고를 통해 상기 데이터 객체 및/또는 함수 객체 사이의 관계를 생성함으로써 상기 데이터 객체 및/또는 함수 객체에 지급(subscribe)하는 단계, 따라서 상기 데이터 객체 및/또는 함수 객체를 링크하는 단계를 포함하며, 여기서 링크된 데이터 객체 및/또는 함수 객체의 네트워크는 발현한다. 상기 발현된 링크된 데이터 객체 및/또는 함수 객체는 다른 데이터 객체 및/또는 함수 객체와의 또 다른 링크를 위해 활용되며, 메시지들은 참고된 데이터 객체 및/또는 함수 객체가 변화할 때 참고된 데이터 객체 및/또는 함수 객체로 전송된다. 상기 함수들은 상기 메시지가 수신될 때 해결되며, 따라서 상기 참고된 데이터 중에서 적어도 하나를 변화하게 한다. 상기 데이터 객체 및/또는 함수 객체는 컴퓨터 네트워크 상에서 다수의 컴퓨팅 기기에 걸쳐 분산된 방식으로 저장된다. 상기 발현되어 링크된 데이터 객체 및/또는 함수 객체는 독립적으로 세계적으로 미리정해진 데이터 객체 및/또는 함수 객체 정의에서 벗어난 방식으로 발행(publish)되고 지급되어, 상기 발현된 모델을 발생한다.
접속 제어는 상기 발현 모델의 사용자를 식별하고 적절한 쓰기, 일기, 실행 및 관리적인 허용을 데이터 객체 및/또는 함수 객체 마다 상기 사용자에게 할당함으로써 제공되며, 상기 허용은 상기 데이터 객체 및/또는 함수 객체의 일정한 서브세트에 접속을 제한하는데 사용된다.
본 발명의 바람직한 실시예는 다음과 같다. 상기 설명된 분산된 조합들의 여러 서브세트는 종래기술이다. 많은 서브세트는 분산되지 않은 저장매체, 실행 및 접속(완전히 집중된)을 제공한다. MIT-DOME는 분산되지 않은 실행과 접속을 가지고 있으며, 분산된 저장매체를 제공한다. 다른 시스템들(예를 들어, 블랙스버그의 피닉스 통합에 의한 모델센터tm, 버지니아)은 분산된 실행, 저장매체 또는 접속의 여러 조합을 제공하지만, 본 발명만이 완전히 분산된 실행, 저장매체 및 접속을 제공하여 발현되는 모델들을 발생한다.
발현 모델을 발생하는 시스템에서, 객체 지향(object-oriented) 패러다임을 사용하는 시스템의 측면들을 나타내는 것이 종종 바람직한데, 상기 객체 지향 패러다임에서 시스템은 상기 시스템에서 다른 객체와 상호작용할 수 있는 능력을 가지고 있는 경로들과 데이터 구조의 집합을 자체적으로 포함하고 있는 이산 객체의 집합으로 보여질 수 있다. 객체 지향 시스템들은 클래스의 정의를 제공하는데 상기 클래스는 상기 클래스의 객체를 생성하는데 사용된다. 상기 객체들은 데이터의 인캡슐레이션(encapsulation)을 허용하며, 객체로 데이터를 전송하거나 또는 수신하는데 사용되는 다른 객체들을 위한 잘 정의된 인터페이스를 제공한다. 하나의 클래스 정의는 기초가 되는, 더 간단한 클래스로부터 보다 복잡한 클래스가 만들어지는 것을 허용하는 능력을 또 다른 클래스에 상속시킬 수 있다. 이러한 클래스들은 또한 실행 시간에만 완전히 정의되는 일정한 작동을 규정할 수 있다. 객체 지향 시스템에 제공되는 특징들의 조합은 발현 모델을 발생하는데 사용되는 본 발명의 실시예를 호스팅하기 위한 플랫폼을 생성하도록 돕는다.
본 발명에서, 모델들은 모델되는 시스템 부분의 작동을 설명하기 위한 인터페이스를 제공하는 컴퓨터 지시들과 데이터의 집합이며, 따라서 상기 인터페이스는 시스템의 다른 부분들에 의해 이해될 수 있다. 본 발명은 하나 이상의 객체들로 구성된 하나 이상의 모델들로 구성된 발현 모델을 발생하는 단계를 제공하며, 따라서 모델은 복잡한 서브모델들의 계층을 포함할 수 있다. 객체들은 여러 모델들을 서로 다른 모델들에 관련시킬 수 있는 모델 입력들과 출력들일 수 있다. 이러한 객체들은 분산된 객체 관리 기술 규격(예를 들어, CORBA, DCOM)을 사용하여 구현된다. 그렇게 함으로써, 각 객체는 상응하는 객체에 대한 참고를 가진다.
CORBA는 Common Object Request Broker Architecture를 의미한다. 상기 객체 관리 그룹에 의해 1992에 개발된 규정은, 비록 두 개의 프로그램들이 다른 언어로 쓰여졌고 서로 다른 컴퓨딩 플랫폼에 의해 운영되더라도, 수 개의 프로그램(객체 )이 다른 프로그램의 객체와 서로 통신한다. 프로그램은 객체에 대한 그것의 요구를 객체 요구 브로커(ORB)를 통해 행하며, 따라서 상기 객체가 발생한 프로그램의 구조를 알 필요가 없다. DCOM은 Distributed Component Object Model의 약자이며, 상기 DCOM은 윈도우 기반 네트워크 상에서 컴포넌트이 어떻게 통신하는지를 규정한 마이크로소프트의 컴포넌트 객체 모델(COM)규격의 버전이다. DCOM은 네트워크 상에서 분포된 애플리케이션을 실행하는 두 개 이상의 네트워크로 연결된 컴퓨터들을 통해서 단일의 애플리케이션을 위해 상기 서로 다른 컴포넌트들의 분산을 허용하며, 따라서 상기 컴포넌트들의 분산은 사용자에게는 명확하지 않으며 원격적으로 애플리케이션을 디스플레이한다.
본 발명에서, 상기 객체 참조는 상대적인 Uniform Resource Identifier(URL) 컴포넌트 및/또는 Uniform Resource Identifier(URI) 컴포넌트로 구성될 수 있다. 분산된 객체 관리 기술들은 상응하는 원격 객체상에서 방법을 작동하는 적절한 프록시 객체로의 객체 참조의 해결을 제공한다. 분산된 객체 시스템에서 객체들 사이에서 메시지들을 전송하기 위한 기술들은 공통적이다. 본 발명은 소스 객체가 어떻게 변화하였는지를 나타내는 정보뿐만 아니라 메시지 소스의 객체 참조를 포함하는 메시지의 변화를 전송하고 수신한다. 메시지 전송 기술들에 공통된 점은 상기 수신 객체가 상기 메시지를 프로세스하는 동안에 전송 객체 블럭을 포함하는지에 대한 옵션이다. 본 발명에서, 블록 메시지 프로세스가 사용된다.
본 발명에서, 객체들은 데이터 객체들과 함수 객체들의 두 개의 주요한 타입을 가지고 있다. 객체들은 다른 객체들을 조직하는데 사용될 수 있는 객체 및/또는 객체 참조를 가질 수 있다. 객체들은 수(예를 들어, 플로팅 포인트, 정수 및 허수), 스트링, 불연산(boolean), 벡터, 매트릭스, 테이블 및 파일 타입의 속성을 가질 수 있다. 수의 속성을 가지는 객체들은 확정적이거나 또는 개연성의 속성을가질 수 있다. 모델의 상호종속 또는 관계는 함수 객체를 사용하여 정의될 수 있다. 현존하는 정보 또는 시스템으로의 인터페이스는 데이터 객체와 함수 객체의 조합을 사용하여 정의될 수 있다.
본 발명에서, 객체들은 객체의 작동을 정의하는데 사용되는 제한을 가질 수 있다. 제한들은 각 객체들의 속성이며, 객체의 매쏘드(method)로 연결되어 있으며 상응하는 제한들은 상기 객체에서 매쏘드 호출이 만들어질 때 조사된다. 만약 조사가 상응하는 제한에 위반되었다는 것을 지시하면, 상기 매쏘드 호출은 완료되지 않는다. 제한은 객체에 존재할 수 있으며, 모델의 입력과 출력으로 사용될 수 없을 것이다. 제한들의 종류는 종속(dependency) 제한들, 허용/접속(permission/access) 제어 제한들, 데이터 제한들, 유닛 제한들 및 메지시 전송 제한들을 포함하고 있지만 이에 한정되지 않는다.
종속 제한은 상기 데이터 객체의 값이 함수 객체에 의해 설정될 때 데이터 객체에 더해질 수 있다. 상기 제한이 놓여있더라도 상기 제한에 상응하는 함수 객체만이 상기 데이터 객체의 값을 설정할 수 있다. 다른 객체에 의존하는 객체들만이 출력이 될 수 있는데, 그들의 값들이 그것의 종속에 의해 제한되기 때문이다. 일단 객체가 종속 제한을 가지고 있으면, 추가적인 종속 관계들이 다른 함수 객체에 의해 생성될 수 없다. 종속 제한들은 객체들 사이의 관계에서 루프가 형성되는 것을 방지한다.
접속/허용 설정은 객체에 대한 제한을 생성하는 또 다른 방법이다. 어떠한 사용자 또는 객체들이 객체를 조회하고 편집(edit)하고 실행하거나 또는 관리하는지를 규정하고 있는 정보는 접속 정책(access policy) 제한에 놓여진다. 접속 제한을 가지고 있는 객체에서의 호출 매쏘드는 상기 호출자가 상기 매쏘드의 호출을 허용하는 제한 리스트에 놓여 있을때만 허용된다. 예를 들어, getValue() 매쏘드는 상응하는 접속 제한에서 허용할 수 있는 호출자에 의해서만 호출될 수 있다. 객체들은 그러한 객체들에 대한 읽기전용 허용을 가지고 있는 사용자에게만 출력된다(예를 들어, 읽기 전용 객체는 다른 함수 객체에 의해 쓰여질 수 없다). 객체들은 그러한 객체들에 대한 쓰기 전용 허용을 가지고 있는 사용자에 대해서만 입력된다. 객체들은 그러한 객체들에 대한 읽기-쓰기 허용을 가지고 있는 사용자에 대해서는 입력되고 출력된다.
메시지가 전송되거나 수신되는 것을 방지할 수 있는 메시지 전송 제한은 메시지가 전송 및/또는 수신될 때 조회된다. 메시지 전송 제한은 목적지 및 출발지 객체 참조와 같은 메시지 루팅 정보와 데이터 객체의 변화 값과 관련된 새로운 또는 낡은 값과 같은 메시지 컨텐즈 정보를 참조할 수 있다. 접속 제한들은 또한 데이터를 조회할 수 있는 허가를 받지 않은 사용자가 객체에 대한 메시지로부터 데이터를 획드하지 못하도록 하는 메시지 제한으로 사용된다. 함수 객체에서 "트리거(trigger)"메시지 제한은 함수 객체가 그것의 표현을 해결하기 위해 트리거될 때 결정된다. 트리거 제한 모드들은 "어느 일정한(any)", "모든(all)", "아무것도 아닌(none)" 및 "고객(custom)"을 포함한다. 상기 "어느 일정한" 트리거는 함수에 의해 참조되는 어느 일정한 객체가 변화하는 메시지를 전송할 때 함수 객체가 해결되도록 허용하며, 반면에 "아무것도" 트리거는 함수 객체에 의해 참조되는객체가 변화할 때 자동적인 재평가를 방지한다. "모든"트리거는 함수 객체에서 참조되는 모든 객체들이 발생하는 재평가를 위해 변화 메시지를 전송한다. 상기 "고객"트리거는 함수가 해결되면 결정되는 또 다른 객체에 제공되는 후크이다.
데이터 객체는 속성 데이터를 포함하고 있으며 상기 속성들을 얻어서 설정하기 위한 방법을 제공한다. 데이터 객체는 상기 데이터 객체가 변화할 때 변화 메시지를 감지하도록 등록된 객체에 변화 메시지를 전송한다. 수 데이터 객체는 본 발명에 의해 구현되는 데이터 객체의 예이다. 수 객체는 상기 객체의 매쏘드과 관련된 접속 정책 제한뿐만 아니라 이름, 값 및 유닛 속성을 가지고 있다. 데이터 객체들의 값들이 설정될 때, 공통된 기술과 규칙들을 이용하여 강압(corecion)이 수행된다. 데이터 손실없이 강압될 수 있는 데이터 객체들은 강압된다. 데이터 손실을 가져올 수 있는 강압은 탐지되고 사용자에 의한 승인을 위해 플래그될 수 있다.
유닛은 종래에 정의되고 적용되는 물리적 양이며, 그것에 의해 동일한 종류의 다른 특정 양들은 그들의 값들을 표현하기 위해 비교된다. 유닛들의 국제 시스템(SI)은 7개의 기본 유닛을 정의한다:
길이미터
질량킬로그램
시간초
전류암페어
열역학온도
물질의 양몰
광도칸델라
함수 객체는 데이터 객체와 함수 객체를 언급할 수 있는 표현을 제공함으로써 작동을 제공하며, 따라서 링크된 데이터 객체와 데이터 객체의 네트워크를 생성할 수 있다. 함수 객체는 접속 정책과 트리거 메시지 전달 제한뿐만 아니라 이름, 표현, 객체 참조 테이블 및 해결자 속성을 가지고 있다. 상기 표현은 다수의 입력과 출력 객체를 가지고 있는 함수로 생각될 수 있으며, 해결자에 의해 평가된다. 상기 표현 문구는 베이직, C, C++ 및 자바등을 포함하는 다른 프로그래밍 언어를 사용하여 정의될 수 있다. 상기 객체 참조 테이블은 데이터 객체와 함수 객체에 대한 참조를 포함할 수 있다. 상기 표현 문구는 객체 참조 테이블에서 참조되는 객체를 요구하는 방법을 규정하는 부분을 포함할 수 있다. 상기 해결자는 상기 표현 문구를 평가할 수 있으며, 그것은 상기 함수 객체에 의해 참조된 객체들의 변화를 가져온다. 해결자들은 컴파일러, 해석기 또는 개체 래거시(legacy) 애플리케이션을 사용하여 구현될 수 있다. 상기 함수 객체는 상기 함수 객체에 의해 참조되는 객체들 중 하나로부터 변화 메시지를 수신할 때, 상기 표현을 해결한다. 함수 객체들은 또한 사용자에 의해 수동적으로 해결될 수 있다. 종속 제한들은 선택적으로 데이터 객체들에 놓이는데, 상기 데이터 객체들은 함수 객체의 표현에 의해 설정되는 그들의 값들을 가진다.
동등한 함수 객체는 본 발명에 의해 구현되는 함수 객체의 예이다. 다음의 간소화된 예는 수 개의 데이터 객체를 동등하게 하는 동등한 함수 객체의 예이다(즉, 데이터 객체의 값들 중에서 하나가 변화하면, 다른 데이터 객체들의 값은 변화하여 그들의 값이 매치된다). 이러한 예에서, 상기 동등한 함수는 수 데이터 객체와의 조합으로 사용되며, 적용되는 메시지 전달 제한의 예를 제공한다.
함수 객체:동등{
참조되는 객체 테이블
수신 메시지{
만약(제한을 만나면){
해결자를 사용하여 상기 기능 표현을 해결한다()
}
}
함수 표현{
변화된 객체 값을 획득한다
(각 참조된 데이블 엔트리)에 대해{
만약(참조가 변화된 객체에 상응하지 않으면){
참조된 객체 값을 상기 획득한 값으로 설정한다
}
}
}
해결자{
상기 함수 표현을 해결한다
}
접속 정책 제한{
호출 허용을 조사한다
}
객체 참조를 더한다{
참조된 객체 테이블 등록의 엔트리를 상기 객체에 더하여 메시지가 수신될 수 있도록 한다
}
객체 참조를 제거한다{
참조된 객체 테이블 등록 해제의 엔트리를 상기 객체로 삭제하여 메시지가 수신되지 않도록 한다
}
}
데이터 객체:수{
등록된 메시지 수신기의 객체 참조 테이블
이름
값 매쏘드를 설정한다{
수 값을 새로운 값으로 설정한다
(각 참조 데이블 엔트리)에 대해{
만약(메시지 전달 및 접속 제한을 만나면)
값이 변화하였다는 것을 지시하는 메시지를 참도된 객체에 전송한다
}
}
}
값 매쏘드를 획득한다{
수 값을 요구자에게 제공한다;
}
메시지 전달 제한{
만약(참조가 상기 객체 값 변화기에 상응하면){
상기 메시지가 전송되지 못하도록 한다
}그렇지 않으면{
메시지가 전송되도록 한다
}
}
접속 정책 제한{
모든 사용자 및/또는 객체들이 상기 이름과 값을 획득할 수 있다
}
객체 참조를 더한다{
등록된 메시지 수신기의 객체 참조 테이블의 엔트리를 더한다
}
객체 참조를 제거한다{
등록된 메시지 수신기의 객체 참조 테이블의 엔트리를 삭제한다
}
}
모델은 데이터 객체 및/또는 함수 객체의 예를 생성함으로써 발생된다. 발생 프로세스 과정에서, 상기 객체의 컨텐즈는 상기 데이터와 애플리케이션의 알려진 애플리케이션 프로그래밍 인터페이스(APIs)을 사용하는 래거시 애플리케이션으로부터 획득되며, 이것들에 의해 조정된다. 예를 들어, 데이터 모듈은 스프레드시트 셀 값을 데이터 모듈의 값에 매치되게 한다.
객체는 그것을 발행함으로써 사용가능하게 된다. 발행은 분산된 객체 관리 기술들의 규격을 사용하여 행해지며, 따라서 객체들은 규격적인 방식으로 사용가능하게 되어 상기 객체의 가입자에 의해 활성화되고 사용된다. 발행되었을 때, 각 데이터 객체와 함수 객체는 상기 객체에 접속하고 제어하는데 사용되는 객체 참조를 가지고 있다. 객체가 일단 발행되면, 상기 객체의 객체 참조, 일반적으로 URL,는 종래의 기술(전자메일, 메시지 포스팅)을 통해 예상되는 사용자들에게 통신하거나 예상되는 사용자는 상기 발행된 객체의 객체 참조를 알기 위한 탐지를 시작한다.
객체는 상기 객체 참조를 상기 참조되는 함수 객체의 객체 테이블로 더함으로써 지급된다. 이것은 또한 참조되는 객체의 수신 메시지의 테이블에 놓여있는 함수 객체로의 참조를 가진다.
참조된 객체가 변화할 때, 메시지는 제한들에 종속되는 그들의 표현을 해결할 어느 일정한 참조 객체들에 전송될 것이다. 상기 표현을 해결하는 것은 데이터 객체가 변화되도록 할 수 있다. 어느 시간에서, 추가적인 객체들은 발생되고 발행되며 서로 다른 사용자 또는 사용자를 나타내는 객체에 의해 지급될 수 있다. 이러한 단계들이 실행될 때, 링크된 데이터 객체들과 함수 객체들의 네트워크는 발현되는데, 이것이 발현 모델이다. 이러한 단계들은 또한 바람직한 객체들의 네트워크 정의에 의해 유도될 수 있다.
발현 모델의 상기 데이터 객체 값은 최적화될 수 있다. 규격 최적화 패키지들은 공지된 방식으로 본 발명에서 설명된 것과 같은 객체 환경으로 인터페이스되도록 사용될 수 있다. 예를 들어, 공지된 최적화 알고리즘은 함수 객체의 표현에 의해 접속될 수 있으며, 따라서 상기 최적화 알고리즘은 상기 함수 객체가 해결될 때 운영될 것이다. 객체들은 사용되는 최적화 알고리즘에 대한 입력과 출력으로 식별된다. 상기 최적화 알고리즘은 너무 많은 자원이 소비되는 것을 방지하기 위해 상기 알고리즘을 중단하는 전형적인 기준 세트가 주어진다. 상기 최적화 알고리즘이 운영될 때, 그것은 상기 알고리즘의 디자인에 상응하게 입력 객체를 변화시키며 상기 결과는 상기 출력 객체로 변화된다. 상기 출력 객체들은 함수 객체와 데이터 객체들의 네트워크에서 상기 입력 객체들과 링크되어 있기 때문에, 출력 개체들이 변화한다. 상기 중단 조건들이 달성되고 상기 데이터 객체들의 최적화 값이 조회되며 다른 데이터 객체들에 의해 접속될 수 있는 후에 상기 최적화는 중단된다.
도1은 본 발명의 실시예가 구현되는 컴퓨터 네트워크(50)을 도시하고 있다. 컴퓨팅 기기(100)는 발현 모델(300)을 발생하고 조회하기 위한 프로세싱, 저장 매체 및 입력/출력 기기를 제공한다. 컴퓨팅 기기(100)는 각각 키보드(102)와 마우스(104)에 연결되어 입력을 수신하며, 디스플레이(106)에 연결되어 있어 컨텐즈를 보여준다. 일 실시예에서, 컴퓨팅 기기(100)는 개인 컴퓨터이다. 또한, 컴퓨팅 기기(100)는 각각의 입력/출력 기기(102a, 102b ,104a, 104b, 106a, 106b)에 의해 다른 컴퓨팅 기기(100a, 100b)로의 접속을 가지고 있는 다른 통신 네트워크(110)에 링크되어 있다. 상기 통신 네트워크(110)는 서로 서로 통신하기 위한 적절한 프로토콜인 TCP/IP를 사용하는 게이트웨이, 컴퓨터, 네트워크의 세계적인 조합인 인터넷의 부분이다. 상기 인터넷은 데이터 및 메시지를 전송하는 수 천개의 상업, 정부, 교육 및 다른 컴퓨터 네트워크로 구성된 메이저 노드와 호스트 컴퓨터 사이의 초고속 데이터 통신 라인의 백본을 제공한다. 통신 네트워크(110)에 링크되어 있는 컴퓨팅 기기(100)는 발현 모델의 발생에 사용되는 모델과 래거시 애플리케이션을 호스트한다. 이러한 모델들은 본 발명의 실시예의 사용자가 조회할 수 있도록 디스플레이(106)에 디스플레이된다.
도2는 도1의 컴퓨터 네트워크(50)에 있는 컴퓨팅 기기(100)의 내부 구조를 도시하고 있다. 상기 컴퓨팅 기기(100)는 시스템 버스(204)를 포함하고 있는데,버스는 컴퓨터 네트워크(50)상의 컴퓨팅 기기(100)의 구성요소들 사이에서 데이터를 전송하는데 사용되는 하드웨어 라인들의 세트이다. 버스(204)는 시스템의 서로 다른 부분(예를 들어, 프로세서, 디스크-드라이브, 제어기, 메모리 및 입력/출력 포트)을 연결하는 공유된 하이웨이이며, 서로 다른 부분들이 정보를 전송할 수 있도록 한다. 디스플레이 인터페이스(206)가 상기 시스템 버스(204)에 연결되어 있는데, 디스플레이 인터페이스(206)는 디스플레이(106)로 하여금 시스템 버스(204)상의 다른 구성요소와 통신을 할 수 있도록 한다. 키보드 인터페이스(208)와 마우스 인터페이스(210)는 또한 버스 시스템(204)에 연결되어 있으며, 상기 입력 기기로 하여금 시스템 버스(204)상의 다른 구성요소와 통신할 수 있도록 한다. 네트워크 인터페이스(212)는 외부 네트워크(예를 들어, 통신 네트워크(110))로의 링크를 제공하며, 컴퓨터 기기(100)에서 프로세스들이 실행될 수 있도록 허여하여 통신 네트워크(110)에 연결되어 있는 다른 컴퓨터 기기(100)와 통신할 수 있도록 한다. 메모리(200)는 본 발명의 실시예를 구현하는데 사용되는 컴퓨터 소프트웨어 지시들과 데이터 구조들을 저장한다. 프로세서(202)는 메모리에 저장되어 있는 지시들을 실행하며, 상기 컴퓨팅 기기로 하여금 발현 모델의 발생에 관여하게 한다.
도3은 본 발명의 실시예에 의해 발생되는 모델들과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 구성된 발현 모델을 도시하고 있다. 발현 모델(300)은 소정의 또는 세계적인 정의없이 생성되는 모델이며, 따라서 상기 발현 모델(300)은 분산된 다수의 컴퓨팅 기기, 컴퓨터 네트워크(50)상에 만들어진 능동적이고 통합된 객체로부터 발생된다. 서버(302-374)는 발현 모델(300)을 만들어내는, 사각형으로 도시되어 있는 래거시 애플리케이션(352-374)과 원으로 도시되어 있는 모델들(302-322)을 호스트한다.
모델들(302-322)은 모델되는 시스템 부분의 작동을 설명하기 위한 인터페이스를 제시하고 있는 데이터와 컴퓨터 지시들의 조합이며, 따라서 상기 인터페이스는 상기 시스템의 다른 부분에서 이해될 수 있다. 이러한 인터페이스는 상기 모델들이 생성한 출력과 그들이 요구하는 입력과 통신할 수 있는 하나의 수단이다. 상기 모델(302-322)들은 그들 자신의 저장 매체 서브시스템을 사용하여 데이터를 저장할 수 있으며, 또는 그들은 공통의 데이터 저장 매체를 사용할 수 있다. 상기 객체들 자신은 파일 시스템, 데이터베이스 또는 생산 데이터 관리 시스템 안에 저장될 수 있다.
래거시 애플리케이션(352-374)는 새로운 시스템의 사용 이전에 존재하는 인터페이스를 제시하는 컴퓨터 지시들의 조합이다. 래거시 애플리케이션(352-374)들은 모델되는 새로운 시스템과 인터페이스하기 위해 데이터 파일들 포맷을 번역함으로써 프로세스 또는 기술의 변화를 요구한다. 이러한 번역은 종종 새로운 시스템에서 제공되는 "래퍼(wrappers)"를 사용함으로써 달성된다. 이러한 래퍼는 래거시 애플리케이션(352-374)로 하여금 모델(302-322)와 인터페이스하여 발현 모델(300)을 발생하도록 한다. 추가적으로, 본 시스템의 객체들은 래거시 애플리케이션의 API를 사용하는 이러한 애플리케이션에 의해 저장된 코드 라이브러리를 통해 래거시 애플리케이션과 인터페이스할 수 있다. 비록 래거시 애플리케이션(352-374)의 존재가 발현 모델(300)의 생성을 위해 요구되지 않는다고 하더라도, 그들의 사용은종종 발현 모델을 발생하기 위해 요구되는 시간을 감소시킨다. 래거시 애플리케이션(352-374)은 또한 엔터프라이즈 자원 계획(ERP) 시스템(예를 들어, 펜실베니아 뉴타운 스퀘어 SAP 아메리카 인크의 SAP R/3)과 같은 엔터테인먼트-와이드 툴을 포함할 수 있다.
모델들(302-322)와 래거시 애플리케이션(352-374)를 포함하고 있는 발현 모델(300)의 예는 전력 툴의 생산 디자인을 모델하기 위한 발현 모델(300)이다. 상기 전력 툴 생산 디자인의 측면들은 그것의 성능, 환경 효과 및, 비용뿐만 아니라 그것의 셀과 모터를 포함하고 있으며, 상기 전력 툴 생산 디자인의 측면들은 모델된다. 상기 전력 툴의 셀을 위한 모델은 이미 종래의 기계 디자인 툴(예를 들어, 매사추세츠, 월삼의 PTC 코포레이션 Pro/ENGINEER)에 존재하였으며, 그것의 환경 효과에 관련된 모델은 이미 스프레드 시트(예를 들어, 워싱턴, 레드몬드의 마이크로소프트 코포레이션의 마이크로소프트 엑셀)에 존재한다. 이러한 래거시 애플리케이션(352-374)은 상기 전력 툴 모터, 성능 및 비용으로부터 발현 모델(300)을 발생하기 위해 선척적인 모델들(302-322)와 연결되어 있다.
도4는 본 발명의 실시예에 의한 컴퓨터 네트워크의 다수 컴퓨터 기기에 저장되고 구성되어 있는 모델들과 래거시 애플리케이션을 호스팅하는 상호연결되어 있는 컴퓨팅 기기로 구성되어 있는 발현 모델을 도시하고 있다. 상기 모델들(302-322)와 래거시 애플리케이션(352-374)를 호스트하는 상기 컴퓨팅 기기들(302-374)은 전형적으로 효율적인 관리와 제어를 위한 그룹으로 조직되어 있다. 각 컴퓨팅 기기 구조(380-386)는 컴퓨팅 기기들(302-374)의 그룹을 보여주고 있다.구조(380)는 더 큰 회사에서 출발한 것이며, 구조들(382와 384)은 파트너쉽으로 포함되어 있는 분리된 회사일 수 있다. 구조(386)는 모델을 제공하도록 계약되어 있는 외부 컨설팅 그룹일 수 있다. 이러한 구조들(3080-386)은 대칭적일 필요가 없으며, 그들의 조직은 그들에서 실행되는 모델(302-322)과 래거시 애플리케이션(352-374)의 통신 능력의 제한이 없다.
도5는 도4의 모델과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기들로 구성된 발현 모델을 도시하고 있으며, 여기서 상기 다수의 구조들(380-386)은 본 발명의 실시예에 의해 사용되는 것과 같이 공통의 저장매체를 공유한다. 시스템의 작동을 설명하는 모델들은 종종 많은 양의 데이터를 포함하고 있으며, 이러한 데이터는 효율적인 접속과 제어를 위해 중앙 저장매체에 의해 관리될 수 있다. 예를 들어, 생산 디자인 모델링 프로세스에서 사용되는 데이터는 종래의 생산 데이터 관리(PDM) 시스템(예를 들어, 오와이오, 밀포드 구조 능동 연구 코포레이션에 의한 메타플레이즈 엔터테인먼트)에 의해 관리될 수 있다. PDM 시스템들은 많은 생산 디자인 모델을 개발하는데 유용한 효율적인 저장매체와 버전 관리 능력을 제공할 수 있다. 이러한 시스템들은 발현 모델의 관리를 도울 수 있다. 도5에서, PDM 데이터 저장매체(388)는 도4의 (380과 382)의 구조에서 실행되는 발현 모델의 저장 부분에 사용되며, 반면에 구조(384)는 저장매체(390)에 저장되며, 구조(386)는 저장매체(392)에 저장될 수 있다.
도6은 본 발명의 실시예에 의해 발생된 모델들 사이에서 상호종속하도록 그룹된 도4와 5의 모델과 래거시 애플리케이션을 호스팅하며, 상호연결되어 있는 컴퓨팅 기기로 구성된 발현 모델(300)을 도시하고 있다. 예를 들어, 상호종속의 한 세트는 모터 성능 모델(394)를 생산하는데, 상기 성능 모델은 토크 요구 분석을 제공하는 래거시 애플리케이션(352)과 모터 비용 분석을 제공하는 래거시 애플리케이션(360)에 의해 모터 속도 분석을 위한 모델(302), 마찰 분석을 위한 모델(304) 및 전류 분석을 위한 모델(312)을 활용한다. 유사하게, 환경 효과 모델(396)과 전체 비용 모델(398)은 실행될 때 근본적인 모델들과 래거시 애플리케이션을 활용한다. 이러한 그룹된 모델들 각각은 발현 모델(300)의 발생에 기여한다.
도7a는 본 발명의 실시예에 상응하게 단방향으로 통신하는 모델을 도시하고 있다. 하나의 모델 출력은 직접적으로 또는 간접적으로 다른 모델의 입력일 수 있다. 모델들 사이의 통신은 대칭적일 필요는 없다; 즉, 모델은 다른 모델로부터 입력들을 받을 수 있지만, 그 모델로 출력을 제공하지 않으며, 그 반대일 수 있다. 예를 들어, 모델(324)은 그것의 출력을 모델(326)에 입력으로 제공할 수 있다. 모델(326)은 그것의 출력을 모델(328)에 입력으로 제공할 수 있으며, 모델(328)은 바꾸어 그것의 출력을 다시 모델(324)에 제공할 수 있다. 여러 모델들 사이에서 발행하는 것과 지급하는 것은 원형 종속으로 생성되기 때문에, 발현 모델(300)은 탐지를 위한 프로세스와 어드레스 원형 종속을 포함하며, 따라서 모델들이 바람직하게는 무한 루프에서 실행되는 것을 방지한다.
모델의 입력들은 입력을 요구하는 또 다른 모델을 그들에게 지급하는 방식으로 상기 모델을 발행함으로써 사용가능하게 된다. 전형적으로, 구성요소들의 제공자는 종이 카테고리에 그들의 가용능력을 발행하며, 디자이너는 상기 카테고리에서그들의 기준과 일치하는 구성요소들 찾을 수 있다. 만약 수행하고 있는 구성요소가 발견되면, 그것의 파라미터들은 모델되는 관심있는 시스템의 측면을 모델하는데 사용될 수 있다. 컴퓨터 네트워크상에서 구현되는 통합되고 분산된 모델에서 이것이 발행되고 지급되며, 메카니즘은 근본적인(underlying) 모델들이 실행될 때 발현 모델이 생성되는 방식으로 상기 모델들의 여러 입력과 출력들을 연결함으로써 평가될 수 있다.
도7b는 본 발명의 실시예에 상응하게 양방향 방식으로 통신하는 모델들을 도시하고 있다. 도7a에서 논의한 것과 같이, 한 모델의 출력은 직접 또는 간접적으로 다른 모델의 입력이 될 수 있다. 두 개의 모델들이 직접적으로 그들의 입력들과 출력들을 공유할 때, 통신은 양방향이라고 말할 수 있다. 도7b의 모델(324)은 모델(326)에 의해 사용되는 일정한 출력을 생산하며, 모델(326)은 모델(324)에 의해 사용되는 일정한 출력들을 생성하며, 그것은 양방향 통신의 예이다.
도8a는 본 발명의 실시예에 상응하게 도 따른 발현 모델의 일부분으로 사용될 수 있는 발현 모델을 도시하고 있다. 모델들은 모델되는 시스템의 작동을 설명하고 있다. 근본적인 작동들은 그들 자신의 모델로 그룹되며, 모델들 안에서 모델들의 계층(서브 모델)을 생성한다. 따라서 모델들은 조절할 수 있다. 모델들은 그들이 연결될 수 있는 서버에 의해서 뿐만 아니라 그들의 상호 종속에 의해 조직될 수 있다. 예를 들어, 사용자(460a-c)는 발현 모델을 발생하기 위해 모델(450)의 서브-모델들과 인터페이스할 수 있다.
도8b는 본 발명의 실시예에 상응하게 또 다른 발현 모델의 일부분으로 사용되는 발현 모델을 도시하고 있다. 상기 모델(450)은 다른 모델들(452, 454)과 연결되어 발현 모델(456)을 발생한다. 소정의 모델 정의 없이도 서브-모델을 연결하는 이러한 능력은 예를 들어, 모델(456)과 같은 큰 발현 모델들을 생성하기 쉽게 한다.
도9a는 본 발명의 실시예에 상응하게 모델들과 래거시 애플리케이션을 호스팅하는 상호연결된 컴퓨팅 기기로 구성되어 있는 발현 모델을 발생하기 위한 방법을 구현할 때 사용되는 객체 지향 디자인을 도시하고 있다. 객체 클래스(500과 501)은 모델의 상태와 작동을 설명하기 위해 사용되는 다수의 속성/필드(502-512)를 정의하는 클래스의 예이다. 객체 클래스(500과 501)의 예는 다른 객체 클래스에 부가하여 발현 모델을 발생하는데 사용된다. 객체 클래스(500)는 함수 객체를 정의하는 속성/필드들을 리스트하며, 객체 클래스(501)는 수 데이터 객체를 정의하는 속성/필드들을 리스트한다. 이름 필드(502)는 객체를 참조하기 위한 이름이다. 유닛 필드(503)는 수 데이터 객체의 일부로 저장되어 있는 값 필드(505)를 위한 측정 유닛을 정의한다. 접속 정책 제한 필드(508)은 사용자(460a-f)에 의해 객체로의 접속을 제한하는 것으로 정의된다. 원하는 정도의 조회, 편집, 실행 및 상기 발현 모델 안에서 각 객체의 적절한 관리에 기반하여 많은 접속 구조가 가능하다. 최소한으로, 개인과 공중을 커버하는 접속 정책(508)이 구현된다. 트리거 메시지 전송 제한(512)은 상기 함수 객체의 재-평가의 타이밍을 제어한다. 상기 기술되어 있는 것과 같이, 트리거 모델은 "어느 일정한", "모든", "아무것도 아닌" 및 "고객"을 포함한다. 표현(504)은 상기 객체 참조(506) 사이의 객체 관계를 정의한다.해결자(510)은 상기 표현(504)를 해결하고 실행하며, 객체 참조(506)에서 상기 객체들을 업데이트한다. 객체 참조(506)는 상기 해결자에서 참조된 객체들의 값들을 얻어서 설정하기 위해 참조된 객체의 매쏘드로의 접속을 제공한다.
도9b는 도9a에서 정의되어 있는 상기 객체 지향 디자인을 사용하여 정의된 모델 예를 도시하고 있다. 영역의 제곱 풋에이지(footage)(즉, A=L*W)를 설명하고 있는 객체를 제시하고 있는 간단한 모델은 객체 클래스(500과 501)로부터 예를 들어 설명되고 있는 객체들을 사용하여 발생된다. 상기 영역의 길이를 나타내고 있는 객체(530)은 "L"이라는 이름의 객체로 정의되는데, 상기 "L"은 "미터"의 유닛 속성을 가지고 있으며, "3.2"의 값을 가지고 있다. 접속 정책 속성(508)은 사용자(460a-f)의 객체로의 접속을 제어하는데 사용된다. 비록 개인 접속 정책이 일정한 레벨의 사용자들(460a-f)만을 지시하는 반면, 컴퓨터 네트워크의 모든 사용자(460a-f)들이 상기 객체에 접속할 수 있는 공중 접속 신호들의 설정은 상기 객체로 접속을 가지고 있다. 길이 객체(530)과 유사한 방식으로, 폭 객체(540)은 상기영역의 폭 값을 정의한다. 이러한 객체들의 값을 요구하는 객체들은 그들에 제공된 방법들(예를 들어, 객체.겟밸루()(Object.getValue()))을 사용하여 상기 객체에 접속한다. 영역 함수 객체(520)는 상기 식 "A+L*W"을 그것의 표현(504)로 저장한다. 함수 객체(520)은 길이 객체(530)과 폭 객체(540)의 값을 구해 객체(550)의 값을 결정하는 해결자(510)을 사용한다.
길이 객체(530)와 폭 객체(540)는 종속 또는 접속/허용(둘 다 공중 접속을 가지고 있다)에 의해 제한되지 않는다. 영역 객체(550)는 그것의 값이 영역 함수객체(520)의 해결자(510)에 의해 결정된다는 사실에 기인하여 읽기 전용으로 제한된다. 추가적으로, 영역 객체(550)는 일정한 사용자들이 그것의 값으로 제한된 접속을 가지고 있다는 것을 나타내는 접속/허용을 위해 개인적으로 정의된다.
도9c는 모델 조직 계층의 예를 도시하고 있다. 일반적으로 서버는 다수의 모델을 포함하고 있으며, 모델은 다수의 객체를 포함하고 있다. 서버들은 모델들을 조직하기 위한 논리적인 구조이다. 도9c에서, 서버1(570)은 모델(572)를 포함하고 있으며, 모델(572)는 객체(574)를 포함하고 있다. 이러한 서버들을 어드레스할 때, 모델들과 객체들은 URL/URI를 사용하여 행해지며, 여기서 서버, 모델 및 객체는 서버/모델/객체의 어드레스 형식으로 계층적으로 나타내진다(예를 들어, "스키마:// 서버A IP 어드레스:포크/모델A/객체B"). 이러한 어드레싱은 객체들을 링크하는 상기 발행와 지급 단계에 의해 사용된다.
도10은 본 발명에 상응하여 발현 모델을 발생하는 프로세스의 흐름도이다. 상기 프로세스는 단계(600)에서 시작하며, 단계(602)에서 데이터 및/또는 함수 객체들은 모델을 생성하기 위해 발생된다. 예를 들어, 영역 객체(520(도9b))는 단계(602)에 상응하게 발생된 모델을 나타낸다. 전형적으로, 사용자는 사용자 인터페이스에 의해 객체를 발생하도록 유도되며, 명령들이 객체들을 생성하기 위해 제기되며, 또 다른 명령들이 그러한 객체들의 속성들/필드들의 값을 규정하기 위해 제기될 수 있다. 단계(604)에서, 발생된 객체의 참조는 전자 미디어, 프린트 미디어 또는 인간의 대화를 통해 상기 객체 참조를 사용가능하게 하거나 알려지게함으로써 발행된다. 단계(606)에서, 함수 객체 또는 데이터 객체들은 참조되는 상기객체들에 의해 함수 객체에 가입된다. 예를 들어, 영역 함수 객체(520도9b)는 객체(530, 540 및 550)에 가입한다. 단계(608)에서, 참조된 데이터 객체들 및/도는 함수 객체들의 변화가 발생할 때, 메시지들은 참조되는 데이터 객체들 및/또는 함수 객체들로 전송된다. 단계(610)에서, 함수 객체가 참조되는 객체가 변화하였다는 메시지를 수신하고 상기 함수 객체가 상기 메시지를 필터하지 않을 때, 상기 함수 객체는 그것의 표현을 해결한다. 그것의 표현을 해결하는 것은 데이터 객체들의 값을 얻어 설정하는 것 또는 함수 객체들의 해결자를 초기화하는 것과 같은 상기 참조된 객체들에 방법을 요구하게 된다. 상기 표현을 해결하는 것은 전송된 추가적인 메시지들로 유도되는 참조된 객체들의 값의 변화를 초래한다. 단계(612)에서, 각 컴퓨팅 기기에서 각 객체는 그것이 생성되고 상기 객체가 변화하거나 또는 요구될 때 선택적으로 저장된다. 사용자들에게 상호작용하는 능력과 발현 모델을 강화하는 능력을 제공한다면, 각 객체들의 저장은 상기 컴퓨터 네트워크의 컴퓨팅 기기에 저장된 발현 모델을 초래한다.
데이터 객체들 및/또는 함수 객체들과 링크되어 있는 상기 발현 네트워크는 세계적으로 미리정해진 데이터 객체 및/또는 함수 객체 네트워크에 무관한 방식으로 독립적으로 발행되고 지급되어, 상기 발현 모델을 발생한다. 도4와 도5에서 설명되어 있는 것과 같이, 상기 발현의 저장은 분리된 저장 매체를 사용하여 또는 사용하지 않고 이전에 존재하던 구조에서 발생할 수 있다. 단계(614)에서 상기 프로세스는 종료한다. 도11a와 11b는 본 발명의 실시예에 상응하게 발현 모델을 발생하는데 사용하기 위한 그래픽한 사용자 인터페이스를 설명하고 있다. 이러한 예에서, 두 개의 윈도우(도11a와 11b)들은 서버들, 모델들 및 객체들의 계층적 관계을 사용하여 정의된 모델을 도시한다. 여기서, 서버는 모델과 모델의 디렉토리를 위한 저장 장치로 작동한다. 모델들은 객체들로부터 만들어지며, 객체들은 모델 객체와 다른 객체를 포함한다. 객체 기원 모델 클래스(500)의 일정한 측면은 이름(502), 값(506), 타입/유닛(504) 및 접속 정책(508)을 포함하고 있는 도11b에 도시되어 있다.
이러한 예는 객체-Y로 정의된 상기 영역 객체(520)를 도시하고 있는데, 여기서 객체_Y는 객체_X와 함께 모델_A에 포함되어 있다. 모델_A는 모델_B 및 모델들의 디렉토리와 함께 CO_서버_2에 저장되어 있다. 이러한 계층은 영역 객체(520)를 정의하기 위한 하나의 장치만을 나타내며, 다른 모델 조직은 동등한 객체를 정의하기 위해 발생될 수 있다.
도12a와 12b는 컴퓨팅 기기의 네트워크들을 도시하고 있다. 본 발명은 0개 또는 하나 이상의 조정 컴퓨팅 기기에 의해 네트워크를 생성하는 방법을 제공한다. 도12a는 컴퓨팅 기기(702, 704, 706 및 708)로 구성되어 있다. 컴퓨팅 기기(706)는 컴퓨팅 기기를 조절한다. 조정 컴퓨팅 기기들은 컴퓨터 네트워크에 있는 컴퓨팅 기기 사이에서 통신을 조절한다. 예를 들어, 컴퓨팅 기기(702)가 메시지를 컴퓨팅 기기(708)로 전송하기 위해, 상기 메시지는 조절 컴퓨팅 기기(706)를 통해 조절되어야 한다. 반대로, 도12b는 단일(또는 중앙) 조절 컴퓨팅 기기(예를 들어, 도12a의 조절 컴퓨터 기기(706))가 없는 컴퓨터 기기(710, 712 및 714)를 도시하고 있다. 도12b에 도시된 컴퓨팅 기기이 네트워크에서, 메시지들은 직접적으로 하나의 컴퓨팅 기기로부터 또 다른 컴퓨팅 기기로 간접적인 조절없이도 전송된다. 예를 들어, 컴퓨팅 기기(710)은 메시지를 컴퓨팅 기기(712)로 전송할 수 있다.
본 발명은 바람직한 실시예를 참조하여 설명되고 도시되었지만, 당업자는 본 발명의 여러 수정이 첨부된 청구항에 의한 본 발명의 범위에서 가해질 수 있다는 것을 이해할 수 있을 것이다. 특히, 데이터 객체들 및/또는 함수 객체들의 조합은 본 발명에 상응하는 모델을 형성한다.

Claims (20)

  1. 컴퓨터 네트워크상에서 발현 모델을 위한 접속 제어를 제공하는 방법으로서,
    데이터 객체들 및/또는 함수 객체들을 발생하는 단계;
    상기 데이터 객체들 및/또는 함수 객체들에 참조를 발행하는 단계;
    상기 함수 객체들 안에서 상기 데이터 객체들 및/또는 함수 객체들의 참조를 통해 상기 데이터 객체들 및/또는 함수 객체들 사이의 관계를 생성함으로써 상기 데이터 객체들 및/또는 함수 객체들에 지급하는 단계로서, 여기서 링크된 데이터 객체들 및/또는 함수 객체들의 네트워크가 발현되는 지급 단계;
    참조된 데이터 객체들 및/또는 함수 객체들이 변화할 때, 메시지를 참조되는 데이터 객체들 및/또는 함수 객체들에 전송하는 단계;
    상기 메시지를 수신할 때 상기 함수를 해결하는 단계;
    컴퓨터 네트워크상의 다수의 컴퓨팅 기기에 걸쳐 분산된 방식으로 데이터 객체들 및/또는 함수 객체들을 저장하는 단계;
    상기 발현 모델의 사용자를 식별하는 단계와 데이터 객체들 및/또는 함수 객체들 각각의 사용자에 적절한 읽기, 쓰기, 실행 및 행정적인 허용을 할당하는 단계로서, 상기 허용은 특정한 데이터 객체들 및/또는 함수 객체들로의 접속을 제한하는데 사용되는 할당 단계; 및
    여기서 링크된 데이터 객체들 및/또는 함수 객체들의 발현 네트워크들은 세계적으로 미리정해진 데이터 객체들 및/또는 함수 객체들의 네트워크에 무관하게독립적으로 발행되고 지급되며, 따라서 상기 발현 모델을 발생하는 접속 제어 제공 방법.
  2. 제1항에 있어서, 상기 링크된 데이터 객체들 및/또는 함수 객체들의 네트워크 구조의 적어도 일부분은 미리 정해지며, 컴퓨터 네트워크의 어떠한 컴퓨팅 기기에서 어떠한 데이터 객체들 및/또는 함수 객체들이 발생되는지를 결정하는 접속 제어 제공 방법.
  3. 제1항에 있어서, 상기 사용자 인터페이스는 서버 프로세스와 통신하는 클라이언트 프로세스를 사용하는 컴퓨터 네트워크상의 컴퓨팅 기기로 상기 데이터 객체들 및/또는 함수 객체들을 디스플레이하도록 정의되며, 상기 데이터 객체들 및/또는 함수 객체들은 상기 컴퓨터 네트워크에 연결되어 있는 어느 컴퓨팅 기기에서도 볼 수 있는 접속 제어 제공 방법.
  4. 제1항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들은 논리적 그룹에 저장되는 접속 제어 제공 방법.
  5. 제1항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들로의 참조는 전자 매체, 프린트 매체 또는 인간의 대화를 사용하여 발행되는 접속 제어 제공 방법.
  6. 제1항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들을 발생하는 단계는 애플리케이션 프로그램, 데이터베이스 또는 컴퓨터 코드 라이브러리에 저장되어 있는 데이터 객체들 및/또는 함수 객체들을 위한 인터페이스 매핍(mapping)을 제공하는 접속 제어 제공 방법.
  7. 제1항에 있어서, 상기 함수 객체들은 컴파일되어 있으며, 능동적으로 링크되어 있고 실행시간에 평가되는 컴퓨터 코드에 의해 구현되는 접속 제어 제공 방법.
  8. 제1항에 있어서, 상기 함수 객체들은 실행시간에 평가되고 번역되는 컴퓨터 코드에 의해 구현되는 접속 제어 제공 방법.
  9. 제1항에 있어서, 상기 메시지를 전송하거나 수신하는 것은 소정의 기준에 의해 인에이블되거나 디스에이블되는 접속 제어 제공 방법.
  10. 제9항에 있어서, 상기 기준은 메시지 소스, 메시지 수신지(destination) 또는 메시지 컨텐즈에 근거하는 접속 제어 제공 방법.
  11. 컴퓨터 네트워크 상에서 분산된 모델을 발생하는 방법으로서,
    데이터 객체들 및/또는 함수 객체들을 발생하는 단계;
    상기 데이터 객체들 및/또는 함수 객체들에 참조를 발행하는 단계;
    상기 함수 객체들 안에서 상기 데이터 객체들 및/또는 함수 객체들의 참조를 통해 상기 데이터 객체들 및/또는 함수 객체들 사이의 관계를 생성함으로써 상기 데이터 객체들 및/또는 함수 객체들에 지급하는 단계로서, 여기서 링크된 데이터 객체들 및/또는 함수 객체들의 네트워크가 발현되는 지급 단계;
    참조된 데이터 객체들 및/또는 함수 객체들이 변화할 때, 메시지를 참조되는 데이터 객체들 및/또는 함수 객체들에 전송하는 단계;
    상기 메시지를 수신할 때 상기 함수를 해결하는 단계;
    컴퓨터 네트워크상의 다수의 컴퓨팅 기기에 걸쳐 분산된 방식으로 데이터 객체들 및/또는 함수 객체들을 저장하는 단계;
    상기 분산된 모델의 사용자를 식별하는 단계와 데이터 객체들 및/또는 함수 객체들 각각의 사용자에 적절한 읽기, 쓰기, 실행 및 행정적인 허용을 할당하는 단계로서, 상기 허용은 특정한 데이터 객체들 및/또는 함수 객체들로의 접속을 제한하는데 사용되는 할당 단계; 및
    상기 데이터 객체들 및/또는 함수 객체들 사이의 상기 관계는 단일 조정 컴퓨팅 기기를 사용하지 않고 생성되거나 또는 컴퓨터 네트워크 상에서 다수의 조정 컴퓨팅 기기를 사용하여 생성되는 분산된 모델 발생 방법.
  12. 제11항에 있어서, 상기 링크된 데이터 객체들 및/또는 함수 객체들의 네트워크 구조의 적어도 일부분은 미리 정해지며, 컴퓨터 네트워크의 어떠한 컴퓨팅 기기에서 어떠한 데이터 객체들 및/또는 함수 객체들이 발생되는지를 결정하는 분산된모델 발생 방법.
  13. 제11항에 있어서, 상기 사용자 인터페이스는 서버 프로세스와 통신하는 클라이언트 프로세스를 사용하는 컴퓨터 네트워크상의 컴퓨팅 기기로 상기 데이터 객체들 및/또는 함수 객체들을 디스플레이하도록 정의되며, 상기 데이터 객체들 및/또는 함수 객체들은 상기 컴퓨터 네트워크에 연결되어 있는 어느 컴퓨팅 기기에서도 볼 수 있는 분산된 모델 발생 방법.
  14. 제11항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들은 논리적 그룹에 저장되는 분산된 모델 발생 방법.
  15. 제11항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들로의 참조는 전자 매체, 프린트 매체 또는 인간의 대화를 사용하여 발행되는 분산된 모델 발생 방법.
  16. 제11항에 있어서, 상기 데이터 객체들 및/또는 함수 객체들을 발생하는 단계는 애플리케이션 프로그램, 데이터베이스 또는 컴퓨터 코드 라이브러리에 저장되어 있는 데이터 객체들 및/또는 함수 객체들을 위한 인터페이스 매핍(mapping)을 제공하는 분산된 모델 발생 방법.
  17. 제11항에 있어서, 상기 함수 객체들은 컴파일되어 있으며, 능동적으로 링크되어 있고 실행시간에 평가되는 컴퓨터 코드에 의해 구현되는 분산된 모델 발생 방법.
  18. 제11항에 있어서, 상기 함수 객체들은 실행시간에 평가되고 번역되는 컴퓨터 코드에 의해 구현되는 분산된 모델 분산 방법.
  19. 제11항에 있어서, 상기 메시지를 전송하거나 수신하는 것은 소정의 기준에 의해 인에이블되거나 디스에이블되는 분산된 모델 발생 방법.
  20. 제19항에 있어서, 상기 기준은 메시지 소스, 메시지 수신지(destination) 또는 메시지 컨텐즈에 근거하는 분산된 모델 발생 방법.
KR10-2003-7000020A 2000-07-03 2001-07-03 컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어 KR20030045008A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US21590300P 2000-07-03 2000-07-03
US21591700P 2000-07-03 2000-07-03
US60/215,903 2000-07-03
US60/215,917 2000-07-03
PCT/US2001/021171 WO2002003198A2 (en) 2000-07-03 2001-07-03 Access control for a decentralized or emergent model on a computer network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009322A Division KR101142608B1 (ko) 2000-07-03 2001-07-03 컴퓨터 네트워크 상의 분산되거나 신생되는 모델에 대한 액세스 제어

Publications (1)

Publication Number Publication Date
KR20030045008A true KR20030045008A (ko) 2003-06-09

Family

ID=26910483

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2003-7000020A KR20030045008A (ko) 2000-07-03 2001-07-03 컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어
KR1020097009322A KR101142608B1 (ko) 2000-07-03 2001-07-03 컴퓨터 네트워크 상의 분산되거나 신생되는 모델에 대한 액세스 제어

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097009322A KR101142608B1 (ko) 2000-07-03 2001-07-03 컴퓨터 네트워크 상의 분산되거나 신생되는 모델에 대한 액세스 제어

Country Status (5)

Country Link
US (6) US7039920B2 (ko)
EP (1) EP1297459A2 (ko)
KR (2) KR20030045008A (ko)
AU (1) AU2001271802A1 (ko)
WO (1) WO2002003198A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081522A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030045008A (ko) * 2000-07-03 2003-06-09 오컬루스 테크놀로지스 코포레이션 컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어
US7853922B1 (en) * 2001-05-15 2010-12-14 The Mathworks, Inc. Data objects for model-based design
EP1456769A4 (en) 2001-07-26 2004-11-17 Irise Inc SYSTEM AND METHOD FOR GATHERING, RECORDING AND VALIDATING REQUIREMENTS FOR COMPUTING APPLICATIONS
US7774388B1 (en) * 2001-08-31 2010-08-10 Margaret Runchey Model of everything with UR-URL combination identity-identifier-addressing-indexing method, means, and apparatus
GB0207354D0 (en) * 2002-03-28 2002-05-08 Ibm Inheritance of access controls within a hierarchy of data processing system resources
US20040064803A1 (en) * 2002-09-27 2004-04-01 Graves David A. Validation system and method
US7610575B2 (en) * 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
US8271369B2 (en) * 2003-03-12 2012-09-18 Norman Gilmore Financial modeling and forecasting system
US7546578B2 (en) * 2003-05-16 2009-06-09 Oracle International Corporation High level mathematical programming modeling language in an object oriented programming language
CA2527501A1 (en) * 2003-05-28 2004-12-09 Caymas Systems, Inc. Multilayer access control security system
US7653936B2 (en) * 2003-06-25 2010-01-26 Microsoft Corporation Distributed expression-based access control
WO2005029314A1 (en) 2003-08-21 2005-03-31 Microsoft Corporation Storage platform for organizing, searching, and sharing data
WO2005029363A1 (en) 2003-08-21 2005-03-31 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7886307B1 (en) * 2003-09-26 2011-02-08 The Mathworks, Inc. Object-oriented data transfer system for data sharing
US7191160B2 (en) * 2003-11-10 2007-03-13 Sap Ag Platform-independent data dictionary
US7617531B1 (en) 2004-02-18 2009-11-10 Citrix Systems, Inc. Inferencing data types of message components
US7613718B2 (en) * 2004-03-03 2009-11-03 Microsoft Corporation Mechanism for efficiently implementing object model attributes
US20050216282A1 (en) * 2004-03-25 2005-09-29 International Business Machines Corporation System and method for business object discovery
US9552599B1 (en) * 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
US20060136361A1 (en) * 2004-12-22 2006-06-22 Microsoft Corporation Extensible, customizable database-driven row-level database security
US20060245096A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Application framework phasing model
US7886269B2 (en) * 2005-04-29 2011-02-08 Microsoft Corporation XML application framework
US7581225B2 (en) * 2005-04-29 2009-08-25 Microsoft Corporation Multithreading with concurrency domains
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US8132148B2 (en) 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US8275793B2 (en) 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US20060253843A1 (en) * 2005-05-05 2006-11-09 Foreman Paul E Method and apparatus for creation of an interface for constructing conversational policies
CN100426825C (zh) * 2005-08-04 2008-10-15 华为技术有限公司 实现紧急业务检测的方法、系统及接入控制功能实体
US20070083853A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for declarative validation rule editor
US9336015B2 (en) * 2005-09-27 2016-05-10 Oracle International Corporation System and method for action output/page input mismatch detection and resolution
US8078954B2 (en) * 2005-09-27 2011-12-13 Oracle International Corporation System and method for page flow editor
US7472103B1 (en) * 2005-12-23 2008-12-30 The Mathworks, Inc. Registering rules for entity attributes for validation and inference
CN100466814C (zh) * 2006-01-26 2009-03-04 华为技术有限公司 一种为未激活用户提供紧急业务的方法
US20070185887A1 (en) * 2006-01-30 2007-08-09 Quark, Inc. Systems and methods for attribute binding
US8694953B2 (en) * 2006-08-14 2014-04-08 Payman Khodabandehloo Tool and methodology for enterprise software applications
US8843883B2 (en) * 2007-01-03 2014-09-23 International Business Machines Corporation System and method for model-driven dashboard for business performance management
US8682982B2 (en) * 2007-06-19 2014-03-25 The Invention Science Fund I, Llc Preliminary destination-dependent evaluation of message content
US20090063632A1 (en) * 2007-08-31 2009-03-05 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Layering prospective activity information
US8984133B2 (en) 2007-06-19 2015-03-17 The Invention Science Fund I, Llc Providing treatment-indicative feedback dependent on putative content treatment
US9374242B2 (en) 2007-11-08 2016-06-21 Invention Science Fund I, Llc Using evaluations of tentative message content
US20090063585A1 (en) * 2007-08-31 2009-03-05 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Using party classifiability to inform message versioning
US8065404B2 (en) 2007-08-31 2011-11-22 The Invention Science Fund I, Llc Layering destination-dependent content handling guidance
US20090063631A1 (en) * 2007-08-31 2009-03-05 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Message-reply-dependent update decisions
US8082225B2 (en) 2007-08-31 2011-12-20 The Invention Science Fund I, Llc Using destination-dependent criteria to guide data transmission decisions
US7930389B2 (en) 2007-11-20 2011-04-19 The Invention Science Fund I, Llc Adaptive filtering of annotated messages or the like
US9026993B2 (en) 2008-06-27 2015-05-05 Microsoft Technology Licensing, Llc Immutable types in imperitive language
US8495329B2 (en) * 2009-04-13 2013-07-23 Microsoft Corporation Type system support for memory isolation permissions
US9569282B2 (en) 2009-04-24 2017-02-14 Microsoft Technology Licensing, Llc Concurrent mutation of isolated object graphs
FR2948788B1 (fr) * 2009-07-30 2011-09-16 Xaga Network Systeme de gestion d'applications
WO2012048162A2 (en) 2010-10-08 2012-04-12 Irise System and method for extending a visualization platform
US9292575B2 (en) * 2010-11-19 2016-03-22 International Business Machines Corporation Dynamic data aggregation from a plurality of data sources
US8856171B2 (en) 2011-03-29 2014-10-07 Microsoft Corporation Locating and executing objects in a distributed network
US20140058798A1 (en) * 2012-08-24 2014-02-27 o9 Solutions, Inc. Distributed and synchronized network of plan models
US10614400B2 (en) 2014-06-27 2020-04-07 o9 Solutions, Inc. Plan modeling and user feedback
US11379781B2 (en) 2014-06-27 2022-07-05 o9 Solutions, Inc. Unstructured data processing in plan modeling
US11216765B2 (en) 2014-06-27 2022-01-04 o9 Solutions, Inc. Plan modeling visualization
US9530019B1 (en) * 2014-07-14 2016-12-27 Sas Ip, Inc. Encapsulated simulation components
US11216478B2 (en) 2015-10-16 2022-01-04 o9 Solutions, Inc. Plan model searching
CN108596415B (zh) 2017-12-15 2023-11-24 创新先进技术有限公司 一种模型整合方法及装置
CN108961897A (zh) * 2018-07-04 2018-12-07 北京四航科技有限公司 一种虚拟学习系统及方法
US11263286B2 (en) * 2019-12-23 2022-03-01 Amadeus S.A.S. System and method for legacy-based access to non-legacy data

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US46047A (en) * 1865-01-24 Improvement in horse hay-forks
US4228232A (en) * 1979-02-27 1980-10-14 Minnesota Mining And Manufacturing Company Photopolymerizable composition containing ethylenically unsaturated oligomers
DE3374088D1 (en) * 1982-04-23 1987-11-19 Autotype Int Ltd Photopolymers
US5317729A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Method for the storage of multi-versioned data with retrieval based on searched query
US5517655A (en) * 1991-04-26 1996-05-14 Hewlett-Packard Company Method for monitoring transactions in an object-oriented environment
US5550976A (en) 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5560005A (en) 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
EP0737922B1 (en) 1995-03-22 2003-05-14 Sun Microsystems, Inc. Method and apparatus for managing computer processes
WO1996036921A1 (en) 1995-05-19 1996-11-21 3Com Corporation Method and apparatus for linking computer aided design databases with a numerical control machine database
DE19525050C2 (de) * 1995-07-10 1999-11-11 Kodak Polychrome Graphics Llc Sulfonamidsubstituierte Acetalpolymere und Verwendung derselben in lichtempfindlichen Zusammensetzungen und lithographischen Druckplatten
WO1997029421A1 (fr) * 1996-02-05 1997-08-14 Athena Telecom Lab, Inc. Procede et equipement de gestion d'objets
CA2171802C (en) * 1996-03-14 2001-06-05 Richard Denison Mcdonald Comparative performance modeling for distributed object oriented applications
US5838973A (en) 1996-05-03 1998-11-17 Andersen Consulting Llp System and method for interactively transforming a system or process into a visual representation
US5787080A (en) 1996-06-03 1998-07-28 Philips Electronics North America Corporation Method and apparatus for reservation-based wireless-ATM local area network
KR20000048960A (ko) 1996-10-08 2000-07-25 마치오 나카지마 상품 디자인 제작 시스템 및 방법
US5930512A (en) * 1996-10-18 1999-07-27 International Business Machines Corporation Method and apparatus for building and running workflow process models using a hypertext markup language
US6633922B1 (en) * 1997-12-15 2003-10-14 International Business Machines Corporation Object access mechanism that dynamically switches between multiple distributed access models
US6898791B1 (en) 1998-04-21 2005-05-24 California Institute Of Technology Infospheres distributed object system
US6889379B1 (en) * 1998-12-31 2005-05-03 Microsoft Corporation Transporting objects between a client and a server
US6829770B1 (en) * 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6195625B1 (en) * 1999-02-26 2001-02-27 Engineering Dynamics Corporation Method for simulating collisions
US6629128B1 (en) * 1999-11-30 2003-09-30 Recursion Software, Inc. System and method for distributed processing in a computer network
US20030005407A1 (en) * 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
KR20030045008A (ko) * 2000-07-03 2003-06-09 오컬루스 테크놀로지스 코포레이션 컴퓨터 네트워크 상에 분산되거나 또는 발현되는 모델에대한 접속 제어
US20030046047A1 (en) * 2001-08-30 2003-03-06 The Boeing Company Integrated multi-disciplinary optimization process for thermal protection system design
US6625802B2 (en) * 2002-02-01 2003-09-23 Intel Corporation Method for modifying a chip layout to minimize within-die CD variations caused by flare variations in EUV lithography

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081522A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법

Also Published As

Publication number Publication date
US20020069401A1 (en) 2002-06-06
US7131107B2 (en) 2006-10-31
KR20090061674A (ko) 2009-06-16
US7080384B2 (en) 2006-07-18
US20020091701A1 (en) 2002-07-11
US20020065645A1 (en) 2002-05-30
US7043736B2 (en) 2006-05-09
WO2002003198A3 (en) 2002-09-12
USRE43146E1 (en) 2012-01-24
KR101142608B1 (ko) 2012-05-11
WO2002003198A2 (en) 2002-01-10
US20020065888A1 (en) 2002-05-30
AU2001271802A1 (en) 2002-01-14
EP1297459A2 (en) 2003-04-02
US7062771B2 (en) 2006-06-13
US20020087557A1 (en) 2002-07-04
US7039920B2 (en) 2006-05-02

Similar Documents

Publication Publication Date Title
KR101142608B1 (ko) 컴퓨터 네트워크 상의 분산되거나 신생되는 모델에 대한 액세스 제어
CN100530160C (zh) 分布式计算系统的架构和分布式应用程序的自动设计,部署及管理
US7386578B2 (en) Associations between duplicate master data objects
US9189501B2 (en) Semantic model of everything recorded with UR-URL combination identity-identifier-addressing-indexing method, means, and apparatus
US20090300341A1 (en) System and method for automatic configuration of portal composite applications
JP2011070707A (ja) 分散コンピューティングシステムと、分散アプリケーションの自動化された設計、展開、および管理とのためのアーキテクチャ
US20180150488A1 (en) Semantic model of everything recorded with UR-URL combination identity-identifier-addressing-indexing method, means and apparatus
US20070283318A1 (en) Method, system, and program product for modeling processes
JP2004280821A (ja) ソフトウェアビジネスプロセスモデル
JP2004280820A (ja) ビジネスソフトウェアアプリケーションをサポートするフレームワーク
JP2004272908A (ja) システムの設計、展開、管理のフェーズを統合する方法
US20070239717A1 (en) System and method for architecting pattern based models within a governmental framework
Hardwick et al. Data protocols for the industrial virtual enterprise
Deschrevel The ANSA model for trading and federation
Merz et al. Agents, services, and electronic markets: How do they integrate?
US8856260B2 (en) Providing access to shared state data
JP2011159275A (ja) ターゲットシステムのデータへのアクセスを提供するコンピューターの方法およびシステム
Schattkowsky et al. Uml model mappings for platform independent user interface design
Egyhazy et al. Interoperability architecture using RM-ODP
Papapostolu et al. Towards a methodology for designing micro-service architectures using μσADL
Changizi et al. Service orchestration with priority constraints
Nikolaidou et al. An application-oriented approach for distributed system modeling and simulation
Cole Application configuration in a client-server distributed system
Barth Development of an integrated data management in civil engineering with the help of methods of the Systems Engineering
Stodola et al. Architecture of Tools and Processes for Affordable Vehicles

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E90F Notification of reason for final refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment
J201 Request for trial against refusal decision
A107 Divisional application of patent
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090407

Effective date: 20100830

Free format text: TRIAL NUMBER: 2009101003165; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090407

Effective date: 20100830

J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

Free format text: TRIAL NUMBER: 2010201008054; APPEAL AGAINST DECISION TO DECLINE REFUSAL

WITB Written withdrawal of application
J122 Written withdrawal of action (patent court)