KR20150118975A - 다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법 - Google Patents

다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20150118975A
KR20150118975A KR1020157024318A KR20157024318A KR20150118975A KR 20150118975 A KR20150118975 A KR 20150118975A KR 1020157024318 A KR1020157024318 A KR 1020157024318A KR 20157024318 A KR20157024318 A KR 20157024318A KR 20150118975 A KR20150118975 A KR 20150118975A
Authority
KR
South Korea
Prior art keywords
feature
user
instance
editing
cax
Prior art date
Application number
KR1020157024318A
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 KR20150118975A publication Critical patent/KR20150118975A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)

Abstract

다중 사용자 CAx 편집 시스템(200)은 다수의 편집 클라이언트(240) 및 a)피처를 제1 사용자에 할당(510)하고, 다른 사용자에 의한 피처의 편집 시도를 검출(520)하며, 및 제1 사용자가 피처가 재할당 될 수 있다고 표시(530, 550)하면 피처를 재할당(560)하며, 및/또는 b) 제1 사용자와 제2 사용자 사이의 피처에 대한 편집 충돌을 검출(630)하고, 하나 이상의 클라이언트들에 피처에 대한 복귀 요청을 송신(640)하며, 및/또는 c) 다른 사용자에 의해 편집된 전자 모델의 원격 인스턴스 내에서 피처에 대한 변경을 시작(720)하고, 전자 모델의 원격 인스턴스 내에서 피처에 대한 변경이 오류를 생성했다는 판단(730)에 응답하여 전자 모델의 로컬 인스턴스 내에서 피처에 대한 변경의 복귀를 시작(750)하는 협업형으로 구성된 편집 서버(210)를 포함할 수 있다.

Description

다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법{SYSTEM AND METHODS FOR MULTI-USER CAX EDITING CONFLICT MANAGEMENT}
본 출원은 "다중 사용자 CAD를 위한 실시간 충돌 관리"라는 제목의 미국 가출원 61/760,713에 대한 우선권을 주장하며 2013년 2월 5일에 출원되었다. 선출원은 본 명세서에 참고로써 포함된다.
청구된 발명은, 특히 다중 사용자 컴퓨터 이용 기술(multi-user CAx)의 편집에 관한 컴퓨터 이용 디자인, 엔지니어링(engineering), 분석 및 일반적인 제조 및 장치, 시스템, 수단, 및 방법과 같은 컴퓨터 이용 기술(computer aided technologies, CAx)과 관련이 있다.
대형의 디자인과 엔지니어링(engineering) 프로젝트는 다수의 디자이너 또는 엔지니어들의 활동의 조직화를 필요로 한다. 디자이너와 엔지니어는 경험하거나, 사용법을 배우거나, 또는 단순히 선호하는 다양한 컴퓨터 이용 기술(CAx) 도구를 가질 수 있다. 존재하는 CAx 데이터는 여전히 다른 CAx 도구를 이용하여 생성되었을 수 있다. 이러한 각각의 CAx 도구는 호환되지 않는 파일형식을 가질 수 있다.
그러나, 존재하는 CAx 시스템은 협업형 디자인과 편집에 적합하지 않다. 예를 들어, 몇몇 디자이너들 사이에 공유되어 디자이너들에 의해 편집된 데이터 파일은 자주 데이타 손실 및/또는 손상을 초래하는 편집충돌을 유발할 수 있다.
따라서, 본 발명은 다중 사용자의 CAx 편집 충돌 검출과 관리에 대한 부가적이고 개선된 시스템과 방법의 필요를 식별하고 다룬다.
본 명세서에 개시된 실시예는 본 기술분야의 현재 상태에 대응하여 개발되었으며, 그리고 특히, 현재의 이용가능한 다중 사용자 CAx 편집 시스템과 방법에 의해 아직 완전히 해결되지 않은 본 분야의 문제와 필요에 대한 응답으로써 개발되었다. 따라서, 청구된 발명은 본 기술분야의 단점을 극복하기 위한 다중 이용자 CAx의 편집 충돌 관리를 위한 방법과 시스템을 제공하기 위해 개발되었다.
하나의 예에서, 다중 사용자 CAx 편집 시스템은 다수의 편집 클라이언트와 하나의 협업형 편집 서버를 포함한다. 다양한 충돌관리 방법을 실행하기 위해 협업적으로 구성될 수 있는 편집 클라이언트 및 서버로서: a) 제1 사용자에게 피처(feature)를 할당하고, 제2 사용자에 의한 피처를 편집하려는 시도를 검출하며, 제1 사용자가 피처가 재할당될 수 있다고 표시하면 제2 사용자에게 피처를 재할당하는 단계, 및/또는 b) 제1 사용자와 제2 사용자 사이의 피처에 대한 편집 충돌을 검출하고, 하나 이상의 클라이언트의 피처에 대한 복귀요청을 송신하는 단계, 및/또는 c) 전자모델의 제2 인스턴스(예를 들어 다른 사용자에 의해 편집된 원격 인스턴스) 내에서 피처의 변경을 시작하고, 전자모델의 제2 인스턴스 내에서 변경된 피처가 오류를 생성했다는 판단에 응답하여, 제1 사용자(예를 들어 로컬 인스턴스)에 의해 편집된 전자모델의 제1 인스턴스 내에서 변경된 피처로 피처의 복귀를 시작하는 단계를 포함한다.
본 명세서 전반에 걸친 특징들, 이점들, 또는 유사한 언어에 대한 참고는 본 발명에 의해 실시될 수 있는 본 발명의 단일한 실시예 이어야 하거나 실시예인 모든 특징들과 이점들을 암시하지는 않는다는 것에 유의하여야 한다. 그 보다는, 특징들과 이점들을 참조하고 있는 언어는 세부적 특징, 이점, 또는 본 발명의 적어도 하나의 실시예에 포함된 임의의 실시예와 관련되어 서술된 특징을 의미하는 것으로 이해되어야 한다. 따라서, 본 명세서 전반에 걸친 특징들과 이점들, 및 유사한 언어에 대한 논의는 동일한 실시예를 지칭할 수 있으나, 반드시 동일한 실시예를 지칭할 필요가 있는 것은 아니다.
본 발명의 서술된 특징들, 이점들, 및 특성들은 하나 이상의 실시예에 임의의 적절한 방식으로 결합될 수 있다. 본 발명의 분야에 기술을 가진 자라면 본 발명은 하나 이상의 세부적 특징들 또는 특정한 실시예의 이점 없이도 실시될 수 있다는 것을 알 것이다. 다른 예시들에서, 부가적인 특징들과 이점들은 본 발명의 모든 실시예에 표시되지 않은 특정한 실시예들에서 인식될 수 있다.
이러한 특징들과 이점들은 이하의 서술 및 첨부된 청구항들로부터 더 분명해지거나, 본 명세서에 서술된 대로 본 발명을 실시함으로써 알 수 있다.
본 발명의 이점을 용이하게 이해할 수 있게 하기 위해, 위에 간략하게 서술된 본 발명의 더 구체적인 설명이 첨부된 도면들에 서술된 특정한 실시예에 대한 참조로서 제공될 것이다. 이러한 도면들은 단지 본 발명의 일반적인 실시예들을 서술한다는 것을 이해해야 한다. 따라서, 이러한 도면들은 본 발명의 범위를 제한하는 것으로 여겨져서는 안 된다. 본 발명은 다음의 첨부된 도면을 통한 부가적인 특성 및 세부사항에 의해 설명될 것이다.
도 1은 컴퓨팅 및 통신 기반시설에 대한 하나의 예의 블록도.
도 2는 협업형 CAx 편집 시스템의 하나의 실시예를 서술하는 개략도.
도 3은 협업형 CAx 편집 방법의 하나의 예를 나타내는 순서도.
도 4는 협업형 CAx 편집 시스템의 하나의 예를 나타내는 개략도.
도 5는 다중 이용 CAx 편집에 대한 제1 충돌 관리 방법 중 하나의 예를 나타내는 순서도.
도 6은 다중 이용 CAx 편집에 대한 제2 충돌 관리 방법 중 하나의 예를 나타내는 순서도.
도 7은 다중 이용 CAx 편집에 대한 제3 충돌 관리 방법 중 하나의 예를 나타내는 순서도.
기능 유닛들의 독립적인 구현을 더 세부적으로 강조하기 위하여 본 명세서에 서술된 일부 기능 유닛들은 모듈로 표시되었다. 다른 기능적 유닛들은 모듈로 가정될 것이다. 예를 들어, 모듈 또는 유사한 기능 유닛은 사용자 정의 VLSI 회로 또는 게이트 어레이, 논리 칩과 같은 규격품 반도체, 트랜지스터, 또는 다른 분리된 구성요소를 포함하는 하드웨어 회로로써 구현될 수 있다. 또한, 모듈은 현장 프로그램할 수 있는 게이트 어레이(field programmable gate array), 프로그램 할 수 있는 어레이 논리(programmable array logic), 프로그램 할 수 있는 논리 장치(programmable logic device) 또는 이와 같은 프로그램 할 수 있는 하드웨어 장치와 함께 구현될 수 있다.
모듈 또는 모듈의 세트는 또한 특정한 기능을 수행하기 위한 소프트웨어로 구성된 처리기로써 구현(전체적 또는 부분적으로)될 수 있다. 예를 들어, 식별된 모듈은 컴퓨터 명령의 하나 이상의 물리적 또는 논리적 블록(block)을 포함하며, 컴퓨터 명령은, 예를 들어, 오브젝트, 절차, 또는 기능으로 구성될 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행은 물리적으로 동일한 위치에서 함께 실행될 필요가 없으며 다른 위치에 저장된 상이한 명령어들을 포함할 수 있다. 다른 위치에 저장된 상이한 명령어들은, 서로 논리적으로 조합될 때, 모듈을 포함하고 위에 서술한 모듈에 대한 목적을 달성한다.
즉, 모듈의 실행가능한 코드는 단일 명령 또는 다수의 명령일 수도 있고 몇몇의 다른 코드 세그먼트에 걸쳐서, 다른 프로그램들 사이에 및 몇몇 기억장치에 걸쳐서 분산될 수도 있다. 유사하게, 본 명세서에서, 운영 데이터는 모듈 내에 있는 것으로 식별 및 서술될 수 있고, 임의의 적절한 형태로 구현될 수 있으며, 데이터 구조의 임의의 적절한 타입 내에 조직될 수 있다. 운영 데이터는 단일 데이터 세트로서 수집될 수 있거나 다른 저장 장치를 포함하는 다른 위치에 걸쳐서 분산될 수도 있다.
본 명세서 전반에 걸친 "하나의 실시예(one embodiment)", "한 실시예(an embodiment)" 또는 유사한 언어에 대한 참조는 실시예와 관련된 세부 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되었다는 것을 의미한다. 따라서, 본 명세서 전반에 걸친 "하나의 실시에에서(in one embodiment)", "한 실시예에서(in an embodiment)", 및 유사한 언어는 모두 동일한 실시예를 지칭할 수 있으나 반드시 그렇게 할 필요가 있는 것은 아니다.
컴퓨터 판독가능한 매체에 대한 참조는 디지털 처리 장치 상에서 기계 판독가능한 명령의 프로그램을 실행할 수 있게 하는 유형의 형태를 취할 수 있다. 예를 들어, 컴퓨터 판독가능한 매체는 플래시 드라이브, 컴팩트 디스크, 디지털비디오 디스크, 자기 테이프, 베르누이 드라이브(Bernoulli drive), 자기 디스크, 펀치 카드, 플래시 메모리, 집적 회로 또는 다른 디지털 처리 메모리 장치에 의해 구현될 수 있다. 컴퓨터와 같은 디지털 처리 장치는 컴퓨터 판독 가능한 매체에서 프로그램 코드, 관련 데이터 및 이와 같은 것들을 저장할 수 있다. 컴퓨터 판독 가능한 매체가 검색되면, 디지털 처리장치가 모듈에 의해 지정된 기능을 실행할 수 있게 된다.
더욱이, 본 발명의 서술된 특징들, 구조들 또는 특성들은 하나 이상의 실시예에서 임의의 적절한 방식으로 조합될 수 있다. 본 발명의 실시예들에 대한 완전한 이해를 위해, 프로그래밍의 예, 소프트웨어 모듈, 사용자 선택, 네트워크 작업, 데이터베이스 질의, 데이터베이스 구조, 하드웨어 모듈, 하드웨어 회로, 하드웨어칩 등에 대한 도면부호가 아래의 서술에서 제공될 것이다. 그러나, 본 발명과 관련된 분야에 기술이 있는 자라면, 하나 이상의 세부적 사항, 또는 다른 방법, 구성 요소, 재료 등이 없이도 본 발명은 실시될 수 있다는 것을 알 것이다. 다른 예시들에서, 본 발명의 측면들을 모호하게 하지 않기 위해, 잘 알려진 구조, 재료 또는 작업은 세부적으로 표시되거나 서술되지 않을 것이다.
도 1은 본 발명에서 청구된 하나 이상의 실시예들과 일치하는 컴퓨팅(computing) 및 통신 기반시설(100)에 대한 하나의 예의 블록도이다. 서술된 대로, 기반시설(100)은 공중 교환 전화망(public switched telephone network, PSTN, 110), PSTN을 인터네트워크(130)에 연결하는 시분할 다중 방식 게이트웨이(TDM gateway, 120), 다양한 워크스테이션(125), 관리 단말기(145)를 가지는 데이터센터(140), 로컬 네트워크를 인터네트워크(130)에 연결하는 인터네트워크 게이트웨이(150), 및 어플리케이션 서버(170)와 같은 다양한 서버, 통신 서버(180), 및 데이터 서버(190)와 같은 다양한 시스템, 서브 시스템 및 네트워크를 포함한다. 기반시설(100)은 작동가능하도록 상호 연결될 수 있는 구성요소 중 하나의 예이며 협업형 CAx 편집 시스템을 포함하는 컴퓨터를 사용한 디자인, 컴퓨터를 사용한 엔지니어링 또는 컴퓨터를 사용한 생산(CAx) 시스템에 대한 기반시설을 제공한다.
각각의 워크 스테이션(125)은 분리된 컴퓨팅 장치(126)와 통신 장치(127)를 포함할 수 있거나 컴퓨팅 장치와 통신 장치는 워크스테이션(125)에 통합될 수 있다. 통신 장치(127)의 예는 전화기, 인터넷 전화기 장치(VOIP device), 즉시 메시지 장치, 문자 장치, 검색 장치 및 이와 같은 것들을 포함할 수 있다. 컴퓨팅 장치(126)는 그래픽 보기 선택을 가능하게 할 수도 있다. 통신 장치(127)는 사용자가 다른 CAx 시스템 사용자와 통신하는 것을 가능하게 할 수 있다.
인터네트워크(13)는 다양한 워크스테이션과 서버 사이에 전자통신을 용이하게 할 수 있다. 하나의 실시예에서, 인터네트워크(130)는 인터넷이다. 다른 실시예에서, 인터네트워크(130)는 가상의 개인네트워크(VPN)이다.
로컬 및 원격 사용자에 의한 CAx 모델의 동시 협업형 편집을 용이하게 하기 위해, 데이터 센터(140) 내의 블레이드 서버와 같은 다양한 서버는 협력적으로 기능한다. 예를 들어, 어플리케이션 서버(170)는 로컬 또는 원격 사용자에게 하나 이상의 CAx 어플리케이션을 제공할 수 있다. 일부 사용자는 CAx 어플리케이션을 그들의 로컬 컴퓨팅 장치(126)에 설치할 수 있다. CAx 어플리케이션의 예는 지멘스 NX(Siemens NX), MSC Nastran, 다소 시스템 카티아(Dessault Systems CATIA) 및 솔리드웍스(Solidworks), ANSYS 및 이와 같은 것들을 포함할 수 있다.
통신 서버(180)는 VOIP 서비스, 이메일 서비스, 즉시 메시지 서비스, 단문 메시지 서비스, 및 문자 메시지 서비스와 같은 다양한 채널 또는 서비스를 통하여 사용자들 사이의 통신을 용이하게 할 수 있다. 통신 서버(180) 또는 다른 유효한 서비스 플랫폼을 통하여, 워크스테이션(125)은 그러한 사용자 대 사용자 통신에 관한 서비스를 활용할 수 있다.
데이터 서버(190) 또는 이와 같은 것은 다양한 모델 파일 또는 기록 내의 CAx 모델을 저장할 수 있다. 데이터 서버는 다양한 사용자가 사용하도록 모델의 사본을 복사할 수 있다. 일부 사용자는 모델의 로컬 복사본을 가지고 있을 수 있다. 본 명세서에 서술된 대로, 특정한 사용자의 모델 파일 또는 기록의 제어를 가정하도록 요구하는 대신에, 모델에 대한 업데이트는 그러한 어플리케이션의 클라이언트 버전, 서버 버전, 및 클라우드 버전을 포함하는 하나 이상의 CAx 어플리케이션에 의하여 조정될 수 있다.
도 2는 본 발명에서 청구된 하나 이상의 실시예들과 일치하는 협업형 CAx 편집 시스템(200)의 하나의 실시예의 블록도이다. 더 세부적으로 서술된 대로 및 더 서부적으로 서술될 예정인 대로, 협업형 CAx 편집 시스템(200)은, 전용 CAx 어플리케이션(245) 및 관련된 모듈을 실행할 수 있으며 사용자가 엔지니어링 오브젝트(engineering object)의 전용 표현을 편집할 수 있게 하는 적어도 하나의 처리기를 가지는 하나 이상의 CAx 클라이언트(240)를 포함할 수 있다.
협업형 CAx 편집 시스템(200)은 또한 엔지니어링 오브젝트의 작업로그를 저장할 수 있는 협업형 CAx 서버(210)를 포함할 수 있다. 또한, 협업형 CAx 편집 시스템(200)은, 전용 CAx 어플리케이션(245) 내에서 엔지니어링 오브젝트의 전용 피처(260)의 생성을 검출하고 엔지니어링 오브젝트의 전용 표현 내에서 피처에 대응하는 피처 식별자(feature identifier, 265)를 삽입할 수 있는 동기화 모듈(250)을 포함할 수 있다. 피처 식별자(265)는 피처 참조(feature reference, 225)에 대응하거나 피처 참조(225)와 동일할 수 있다.
또한, 도 2에 도시된 바와 같이, 협업형 CAx 편집 시스템(200)은 전용 오브젝트 파일(255) 또는 협업형 데이터베이스(215)와 같은 하나 이상의 데이터 저장소를 포함할 수 있다. 하나의 실시예에서, 전용 오브젝트 파일(255)은 엔지니어링 오브젝트의 전용 표현을 저장할 수 있게 구성될 수 있다. 협업형 데이터베이스(215)는 엔지니어링 오브젝트의 작업 로그를 저장할 수 있게 구성될 수 있다. 전용 오브젝트 파일(255) 및 협업형 데이터베이스(215)는 단일 데이터베이스 또는 단일 컴퓨터 장치, 또는 다수의 데이터베이스 또는 다수의 컴퓨팅 장치의 일부를 나타낼 수 있다. 예를 들어, 협업형 데이터베이스(215)는 도 1의 컴퓨팅 및 통신 기반시설(100)의 일부를 나타낼 수 있다.
각각의 모듈은 단일의 컴퓨팅 장치(즉, 노드(node)) 상에 상주하거나 다수의 장치 또는 노드 상에 공동분할 될 수 있다. 예를 들어, 서술된 실시예에서, CAx 어플리케이션(245)은 CAx 어플리케이션 클라이언트(245c) 및 CAx 어플리케이션 서비스(245s) 내에 분할된다. 유사하게, 동기화 모듈(250)은 클라이언트 모듈(250c) 및 서버 모듈(250s) 내에 분할된다. 주로 또는 전적으로, 모듈들은 지정된 기능을 제공하는 컴퓨터와 같은 디지털 처리장치에 의해 실행되고 처리될 수 있는 소프트웨어 코드 및 관련 데이터로 구성될 수 있다.
도 3은 협업형 CAx 편집 방법(300)의 흐름도이다. 도 3에 도시된 단계(즉, 동작)는 임의의 적절한 컴퓨터로 실행가능한 코드 및/또는 컴퓨팅 시스템에 의해 수행될 수 있으며, 일부의 경우에, 순차적 또는 서술된 순서대로 실행될 필요가 없다. 일부 실시예에서, 도 3에 도시된 단계는 도 1의 컴퓨팅 및 통신 기반시설(100), 도 2의 시스템(200), 및/또는 도 4의 시스템(400) 중 하나 이상의 구성요소에 의해 수행될 수 있다.
도 3에 도시된 바와 같이, 본 명세서에 서술된 단계(310)의 하나 이상의 시스템들은 전용 CAx 어플리케이션을 실행할 수 있으며 사용자에 의한 엔지니어링 오브젝트의 전용 표현의 편집을 가능하게 할 수 있다. 예를 들어, 단계(310)의 CAx 클라이언트(240)는, 도 2의 컴퓨팅 장치(200)의 일부로서, CAx 어플리케이션(245)을 실행 할 수 있으며, 사용자에 의한 엔지니어링 오브젝트의 전용 표현의 편집을 가능하게 할 수 있다. CAx 어플리케이션(245)은 엔지니어링 오브젝트의 전용 표현을 전용 오브젝트 파일(255)에 저장할 수 있다. 전용 표현은 전용 피처(260)과 같은 엔지니어링 오브젝트의 하나 이상의 피처를 포함할 수 있다.
본 명세서에 사용된 "엔지니어링 오브젝트"라는 표현은 일반적으로 오브젝트가 제작되기 전에 오브젝트의 외관 또는 기능을 표시하기 위해 생산된 개념적인 디자인을 지칭한다. 디자인은 계획, 도면, 도표, 개략도, 청사진, 스케치, 지도 또는 모델과 같은 표현에 통합될 수 있다. 디자인은 하나 이상의 "피처들(features)"을 포함할 수 있다. 즉, 특유의 CAx 속성은 하나 이상의 형상 또는 파라미터에 의해 표현될 수 있다. 피처들의 예는 모양, 차원, 구성, 재료 특성 및 오브젝트의 공차(tolerances) 또는 오브젝트의 부분, 메시(mesh) 크기 및 시뮬레이션을 위한 필요한 정확도, 경로 및 생산 도구에 대한 공차, 및 제품의 성능 및 생산에 영향을 줄 수 있는 다른 임의의 속성을 포함한다.
본 명세서에 사용된 "전용 표현"이라는 표현은 일반적으로 CAx 어플리케이션과 관련된 데이터 형식을 지칭한다. 엔지니어링 오브젝트의 전용 표현은 특정한 판매자일 수 있으며 일반적으로는 판매자에 의해 유효하게 되거나 인가된 어플리케이션 이외의 CAx 어플리케이션에 의해 직접적으로 편집될 수 없다. 일반적으로, 엔지니어링 오브젝트의 편집을 하기 위해서는 다른 판매자로부터의 CAx 어플리케이션에 대한 변환 처리가 요구된다. 변환 처리는 데이터의 손실을 초래할 수도 있다.
본 명세서에 도시된 단계(320)의 하나 이상의 시스템은 협업형 Cax 서버 상에서 엔지니어링 오브젝트에 대한 작업 로그를 저장할 수 있다. 예를 들어, 단계(320)의 협업형 CAx 서버(210)는, 도 2의 컴퓨팅 장치(200)의 일부로서, 협업형 CAx 서버(210) 상의 엔지니어링 오브젝트의 작업 로그를 저장할 수 있다. 작업 로그는 협업형 데이터베이스(215)에 저장될 수 있으며, 피처 정의(feature definition, 220)와 같은 하나 이상의 피처 정의를 포함할 수 있다.
본 명세서에 사용된 "작업 로그"라는 표현은, 일반적으로, 단일의 전용 CAx 어플리케이션과 관련되거나 관련되지 않은 CAx 작업의 로그를 지칭한다. 예를 들면, 작업 로그는 다양한 전용 CAx 어플리케이션들 사이의 협업형 편집을 용이하게 하는 피처 정의의 판매자 중립적인 로그일 수 있다.
협업형 CAx 서버(210)는 엔지니어링 오브젝트의 작업 로그를 다양한 방법으로 저장할 수 있다. 하나의 실시예에서, 엔지니어링 오브젝트의 작업 로그는 순차적으로 생성된 피처 정의의 로그를 포함한다. 엔지니어링 오브젝트는 엔지니어링 오브젝트를 포함하는 피처들을 순차적으로 재생성 함으로써 다양한 CAx 어플리케이션 내에서 재구성될 수 있다. 작업 로그 내에서의 피처 정의는 관련된 동기화 모듈(250)에 의해 각각의 CAx 어플리케이션 내에서 편집 명령들로 용이하게 번역될 수 있다.
엔지니어링 오브젝트의 작업 로그는 엔지니어링 오브젝트의 전용 표현 내의 피처들에 대한 참조를 포함할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 전용 피처(260)와 피처 식별자(265)에 대응하는 피처 정의(220)는, 피처 정의(220)와 전용 피처(260)를 관련시키는, 관련된 피처 참조(225)를 가질 수 있다. 일부 실시예에서, 피처 식별자(265)는 피처 참조(225)에 직접 대응한다. 하나의 실시예에서, 피차 식별자(265)와 피처 참조(225)는 동일하다. 동기화 모듈(250)은 피처 식별자(265)를 통해, 전용 오브젝트 파일(255) 내의 대응하는 전용 피처(260)를 식별하기 위한 피처 참조(225)를 사용할 수 있다. 하나의 실시예에서, 피처 참조(225)는 전용 피처(260)과 관련된 전 세계적으로 유일한 식별자(GUID)이다.
하나의 실시예에서, 엔지니어링 오브젝트의 전용 표현은 순차적으로 생성된 피처 정의의 로그 내의 어떤 시점에 대응한다. 어떤 시점은 로그 내의 스냅 사진 또는 복귀 마커에 대응할 수 있다. 협업형 CAx 편집 환경에서, 클라이언트가 오프라인일 때 엔지니어링 오브젝트의 편집이 이루어질 수 있다. 순차적으로 생성된 특징 정의는 엔지니어링 오브젝트의 작업 로그에서 연속해서 생성될 수 있다. 클라이언트가 엔지니어링 오브젝트의 작업 로그에 재접속 할 때, 어떤 시점 이후에 생성된 피처 정의는 전용 표현을 작업 로그에 동기화하기 위한 전용 표현에 적용될 수 있다.
도 3으로 돌아가 보면, 본 명세서에 도시된 단계(330)의 하나 이상의 시스템은 전용 CAx 어플리케이션 내에서 엔지니어링 오브젝트 피처의 생성을 검출할 수 있다. 예를 들어, 단계(330)의 협업형 CAx 동기화 모듈(250)은, 도 2의 CAx 클라이언트의 부분으로서, 전용 CAx 어플리케이션 내에서 엔지니어링 오브젝트 생성을 검출할 수 있다. 예를 들어, 협업형 CAx 동기화 모듈(250)은 전용 오브젝트 파일(255)에서 전용 피처(260)의 생성을 검출할 수 있다.
협업형 CAx 동기화 모듈(250)은 전용 CAx 어플리케이션 내에서 임의의 적절한 방식으로 엔지니어링 오브젝트 피처의 생성을 검출할 수 있다. 하나의 실시예에서, 협업형 CAx 동기화 모듈은 CAx 어플리케이션에 대한 플러그인(plugin)이며, 피처가 생성되었을 때에 실행하는 부가적인 기능들을 허용하는 CAx 어플리케이션에 의해 제공된 어플리케이션 프로그래밍 인터페이스(application programming interface, API)를 이용하여 엔지니어링 오브젝트의 피처의 생성을 검출한다.
본 명세서에 서술된 도 3의 단계(340)에서, 하나 이상의 시스템은 엔지니어링 오브젝트의 전용 표현 내의 피처에 대응하는 피처 식별자를 삽입할 수 있다. 예를 들어, 단계(340)의 동기화 모듈(250)은, 도 2의 CAx 클라이언트(240)의 일부분으로서, 전용 오브젝트 파일(255)에 저장된 엔지니어링 오브젝트의 전용 표현 내에 전용 피처(260)에 대응하는 피처 식별자(265)를 삽입할 수 있다.
본 명세서에 사용된 "피처 식별자"라는 표현은 일반적으로 전용 오브젝트 파일의 전용 피처를 협업형 데이터베이스의 특징 정의와 관련시키는 데이터 항목(data item)을 지칭한다. 하나의 실시예에서, 피처 식별자는 협업형 데이터베이스 내에서 피처 정의 기록 지수이다.
하나의 실시예에서, 피처 식별자는 엔지니어링 오브젝트의 전용 표현 내의 피처에 대한 파라미터에 저장된다. 피처 식별자를 엔지니어링 오브젝트의 전용 표현 내에 저장함으로써, 전용 피처와 작업 로그 내의 대응하는 피처 정의와의 관계는 CAx 클라이언트 상의 편집 세션 사이에서 지속된다. 피처 식별자는 전 세계적으로 유일한 식별자일 수 있다. 일부 실시예에서, 피처 식별자는 텍스트 형식으로 표현되어 다양한 CAx 어플리케이션 내에서 저장 및 검색을 용이하게 한다.
도 4는 본 발명에 청구된 하나 이상의 실시예들과 일치하는 협업형 CAx 편집 시스템(400)의 한 예의 개략도이다. 도 1의 컴퓨팅 및 통신 기반시설(100)의 인터네트워크(130) 및 도 2의 협업형 CAx 편집 시스템(200)의 모듈 이외에도, 협업형 CAx 편집 시스템(400)은 제2 CAx 클라이언트를 포함한다. 두 개의 CAx 클라이언트(240)에 대응 모듈들에 참조 문자 'a' 및 'b'가 추가되었다.
하나의 실시예에서, 전용 표현 및 엔지니어링 오브젝트의 작업 로그는 협업형 CAx 서버에 의하여 캐시에 저장될 수 있다. 예를 들어, 도 4의 협업형 CAx 편집 시스템(400)의 일부분으로서, CAx 서버(210)는 전용 오브젝트 캐시(410)에 있는 엔지니어링 오브젝트의 전용 표현을 캐시에 저장할 수 있다. 오브젝트의 작업 로그에서 순차적으로 생성된 피처 정의에서 엔지니어링 오브젝트의 전용 표현을 재생성하는 것은, 계산 집약적이며 시간 소모적인 과정일 수 있다. 작업 로그를 가지는 CAx 서버 상에서 엔지니어링 오브젝트의 전용 표현을 캐시에 저장하는 것은, 전용 표현이 CAx 클라이언트에 의해 사용 가능하고 기억장치에 아직 로딩되지 않은(CAx 클라이언트의 시스템 충돌을 따르거나, 새로운 CAx 클라이언트가 협업형 편집 시스템에 추가되었을 때와 같은) CAx 클라이언트 상에서, 엔지니어링 오브젝트의 로딩을 가속화 시킨다.
하나의 실시예에서, 엔지니어링 오브젝트의 전용 표현은 다른 CAx 클라이언트(제2 클라이언트)에 제공될 수 있다. 제2 CAx 클라이언트가 전용 표현 내의 피처를 추가하거나 변경하면, 제2 클라이언트에 대응하는 협업형 CAx 동기화 모듈의 인스턴스가 피처 식별자 및 대응하는 피처 정의를 CAx 서버로 통신하게 할 수 있다. 이후에, 협업형 CAx 동기화 모듈(제1 CAx 클라이언트와 관계가 있다)은 제2 CAx 클라이언트를 생성한 피처에 대응하는 피처 식별자 및 피처 정의를 수신할 수 있으며, 대응하는 로컬 피처를 생성할 수 있다. 예를 들어, 협업형 CAx 편집 시스템(400)의 일부분으로서, CAx 클라이언트(240b) 상의 동기화 모듈(250b)은 CAx 서버(210) 상의 협업형 데이터베이스(215) 내에 피처 정의(220)를 생성할 수 있다. CAx 서버(210)는 협업형 데이터 베이스(215) 내의 새로운 피처의 CAx 클라이언트(240a)에게 동기화 모듈(250a)을 통지할 수 있다. 이후에, 동기화 모듈(250a)은 CAx 클라이언트(240a) 상의 전용 오브젝트 파일(255a) 내에, CAx 클라이언트(240b) 상의 전용 오브젝트 파일(255b) 내의 피처(260)에 대응하는 동기화된 피처(440)를 생성할 수 있다.
일부 실시예들에서, CAx 동기화 모듈은, 엔지니어링 오브젝트의 작업 로그에 의해 직접적으로 지지되지 않는 피처들에 대한 엔지니어링 오브젝트의 작업 로그 내에, 플레이스홀더 피처 및 대응하는 피처 참조의 삽입을 시작할 수 있다. 예를 들어, 도 4의 협업형 편집 시스템(400)에 도시된 바와 같이, 전용 피처(420)는 CAx 클라이언트(240a) 상의 전용 오브젝트 파일(255a)에 생성될 수 있다. 동기화 모듈(250a)은 CAx 서버(210) 상의 협업형 데이터 베이스(215) 내에 플레이스홀더 피처(430)와 연관된 플레이스홀더 참조(435)의 생성을 시작할 수 있다. 플레이스홀더에 의해 표현된 피처들은 다른 CAx 사용자가 편집을 할 수 없을 수도 있다. 그러나, 플레이스 홀더 참조(435)는 플레이스홀더 피처(430)에 대한 데이터베이스 기록과 전용 오브젝트 파일(255a) 내의 데이터의 전용 표현 사이의 상관관계를 유지시킨다. 플레이스홀더 피처는 다른 피처들에 의해 참조될 수 있다. 예를 들어, 협업형 데이터베이스(215)에서 생성되거나 편집될 수 없는 시트 본체(sheet body)는 플레이스홀더 피처에 의해 표시될 수 있으며 분할된 본체 피처에 의해 참조될 수 있다.
위에 서술한 대로, 협업형 CAx 시스템은 엔지니어링 오브젝트의 전용 표현에 있는 피처를 엔지니어링 오브젝트의 작업 로그에 있는 대응하는 피처 정의와 연관시킬 수 있다. CAx 클라이언트 상에서 실행하는 CAx 어플리케이션으로의 플러그인 일 수 있는 동기화모듈은 엔지니어링 오브젝트의 전용 표현과 작업 로그 사이의 피처를 동기화 할 수 있다. 하나의 CAx 클라이언트 상에서 새로운 특징들이 생성되고 편집되며 판매자 중립적인 데이터베이스와 동기화 됨에 따라, 다른 CAx 클라이언트 상의 동기화 모듈은 판매자 중립적인 데이터베이스부터 엔지니어링 오브젝트의 전용 표현의 로컬(local) 복사본 까지의 피처를 동기화 할 수 있다.
협업형 CAx 편집 시스템은 비 일시적 저장매체에서 전용 표현과 엔지니어링 오브젝트의 작업 로그 표현을 연관시키는 식별자들 및 참조들을 유지할 수 있으며, CAx 클라이언트 또는 CAx 서버에서 시스템 오류가 발생할 경우의 데이터의 손실을 방지한다. CAx 서버 상의 전용 오브젝트 캐시에서 엔지니어링 오브젝트의 전용 표현을 캐시에 저장하는 것은, CAx 클라이언트의 시스템 오류로부터 신속한 복구를 용이하게 할 수 있다.
엔지니어링 오브젝트의 전용 표현은 "체크포인트(checkpoint)" 또는 작업 로그에 생성된 피처 정의의 순서 내의 어떤 시점일 수 있다. 전용 표현에 의해 표시된 어떤 시점 이후의 작업 로그에 생성된 전용 표현에 피처를 생성함으로써, 동기화 모듈은 전용 표현을 "최신(up to date)"에 이르게 할 수 있다.
도 5 내지 7은 공동출원된 미국 특허 출원 14/298,232("SYSTEM, METHOD, AND APPARATUS FOR COLLABORATIVE CAX EDITING", 2013년 11월 25일 출원) 및 13/790,556("Multi-User Decomposition of Design Space Models", 2013년 3월 8일 출원)에 서술된 협업형 CAx 편집 시스템들을 포함하는 협업형 CAx 편집 시스템(200, 400) 또는 이와 같은 것과 함께 수행될 수 있는 몇몇 CAx 충돌 관리 방법을 서술한다. 이러한 출원들 각각은 전적으로 본 명세서에 참조로 포함되어 있다. 도 5 내지 도 7에 서술되고 본 명세서에 서술된 충돌 관리 방법은 협업형 데이터 베이스(215) 및 전용 오브젝트 파일(255)과 같은 공유된 CAx 데이터 파일 및 데이터베이스에서 데이터의 손상 또는 손실을 방지한다.
도 5는 다중 이용 CAx 편집에 관한 충돌 관리 방법(500)의 하나의 예의 순서도이다. 서술된 바와 같이, 충돌 관리 방법(500)은 사용자에게 피처를 할당(510)하는 단계, 다른 사용자가 피처 편집을 시도하는 것을 검출(520)하는 단계, 사용자에게 프롬프팅(prompting)하는 단계(530), 타임아웃(timeout)이 발생했는가 테스팅 하는 단계(540), 피처가 재할당될 수 있는지 판단(550)하는 단계, 피처를 다른 사용자에게 재할당 하는 단계(560), 피처의 재할당을 차단하는 단계(570)를 포함한다.
피처를 사용자에게 할당(510)하는 단계는 제1 사용자에 의한 피처의 편집의 시작 또는 특징으로 요구된 접근을 검출하는 단계, 및 피처를 제1 사용자에게 할당하는 단계를 포함할 수 있다. 일부 실시예에서, 협업형 CAx 시스템(200) 내의 각각의 클라이언트(240)는 전자 모델의 로컬 인스턴스 내의 피처들로의 접근을 검출하며 협업형 서버(210)에 사용자가 피처를 편집하기 시작했다는 것을 표시하는 메시지를 전송한다. 접근은 클라이언트에 상주하는 CAx 어플리케이션(245)에 대한 플러그인 모듈(표시되지 않았다)에 의해 검출될 수 있다. 메시지에 응답하여, 협업형 서버(210)는 피처를 사용자에게 할당할 수 있으며 할당 테이블 또는 이와 같은 것에 할당을 기록할 수 있다. 일부 실시예에서, 할당은 협업형의 CAx 시스템(200) 내에서 각각의 클라이언트(240)에 전달될 수 있다.
검출(520)하는 단계는 제2 사용자가 피처를 편집하기 시작했다는 것, 또는 피처로 요구된 접근을 검출하는 것을 포함할 수 있으며 피처가 다른 사용자에게 할당되었는지 여부를 판단하는 것을 포함할 수 있다. 검출은 작업(510)의 검출 단계와 유사하게 발생할 수 있다. 일부 실시예에서, 제2 사용자가 피처를 편집하기 시작했는가, 또는 요구하였는가, 피처가 이미 다른 사용자에게 할당되었는지 여부를 확인하기 위해 할당 테이블이 사용된다.
사용자에게 프롬프팅(530)하는 단계는 전용적 접근을 포기하여 제2 사용자가 피처에 접근할 수 있게 하거나 전용적 접근을 포기하지 않는 것 중 하나를 선택하게 하는 대화박스를 제1 사용자에게 표시하는 것을 포함할 수 있다. 일부 실시예에서, 대화 상자 통지 및/또는 표시에서 특징 렌더링의 색 변경와 같은 잠재적 충돌을 알려주는 시각적 또는 음성의 피드백이 제2 사용자에게 제공된다. 프롬프트의 표시를 제어하는 논리는 클라이언트(240) 또는 협업형 서버(210) 상에서 작동할 수 있다.
타임아웃이 발생하였는지 여부를 테스팅(540)하는 단계는, 선택이 선택된 기간 내에 지시되었는지 여부를 확인하기 위해, 제1 사용자에게 주어진 프롬프트를 모니터링 하는 것을 포함할 수 있다. 소프트웨어 타이머를 이용하거나, 선택된 값에 도달될 때까지 내부 시간을 모니터링 하거나, 또는 본 분야에 기술이 있는 자에게 알려진 다른 방법을 사용하여 선택 기간은 제한될 수 있다. 타임아웃 기간을 측정하는 논리는 클라이언트(240) 또는 협업형 서버(210)에서 실행되는 소프트웨어에 상주할 수 있다.
피처가 재할당 되었는지 여부를 판단(550)하는 것은 사용자가 피처의 재할당의 거절을 표시하였는가, 또는 사용자가 요구를 수용하는 것을 표시하였는가, 또는 선택된 기간에 응답을 하지 않았는가를 확인하기 위한 사용자 프롬프트의 결과를 확인하는 것을 포함할 수 있다. 기간 내의 무응답 또는 허용응답은 모두 특징 재할당의 표시가 될 수 있다.
다른 사용자에게 피처를 재할당(560)하는 단계는 할당 테이블을 수정하는 것 또는 이와 같은 것을 포함할 수 있으며, 제2 사용자가 피처에 할당되었다는 것을 반영한다. 또한, 재할당은 제2 사용자에게 대화 또는 이와 같은 것을 이용하여 프롬프팅하는 것을 포함할 수 있으며, 제2 사용자에게 피처가 할당되었다는 것을 표시한다. 또한, 특히, 재할당이 사용자의 선택이 아닌 타임아웃 조건으로 인한 경우, 재할당은 제1 사용자가 피처의 재할당을 확인하도록 프롬프팅하는 것을 포함할 수 있다. 특징 재할당을 차단(570)하는 단계는 할당 요구가 제1 사용자에 의해 거절되었다는 것을 제2 사용자에게 알리는 것을 포함할 수 있다. 또한, 차단하는 단계는 피처가 여전히 제1 사용자에 할당되어 있다는 것을 제1 사용자에 확인시키는 단계를 포함할 수 있다.
도 6은 다중 사용자 CAx 편집에 대한 충돌 관리 방법(600)의 하나의 예의 순서도이다. 서술된 바와 같이, 충돌 관리 방법(600)은 제1 사용자에 의한 피처에 대한 편집 세션 시작의 검출(610)하는 단계, 피처에 대한 잠금 요청을 다른 사용자들에게 전달(620)하는 단계, 피처에 대한 다른 편집 세션의 시작을 검출(630)하는 단계, 다른 사용자(들)에게 피처에 대한 복귀 요청을 송신(640)하는 단계, 사용자(들)에 충돌 경고를 표시(650)하는 단계, 및, 다른 클라이언트(들)에 대한 피처를 복귀(660)시키는 단계를 포함한다.
사용자에 의해 피처에 대한 편집 세션의 시작을 검출하는 단계는(610), 제1 사용자가 편집할 피처를 선택하였다는 것을 표시하는 통신을 제1 클라이언트(240)로부터 수신하는 것을 포함할 수 있다. 일례로, 통신은 인터네트워크(130)를 거쳐서 클라이언트(240)에서 협업형 서버(210)로 전송될 수 있다. 각각의 클라이언트는, 사용자에 의한 어떠한 부가적인 작업을 요구하지 않고, 로컬 사용자가 피처에 대한 편집 세션을 시작했다는 것을 알려주는 자동화된 메시지를 발송하도록 구성될 수 있다. 협업형 서버(210)는 피처를 사용자에게 할당할 수 있으며 할당 테이블 또는 이와 같은 것에 할당을 기록할 수 있다.
피처에 대한 잠금 요청을 다른 사용자들에 전달(620)하는 단계는, 메세지를 수신하는 사용자(들) 각각에 대한 피처가 잠길 것을 표시하는 메시지를 하나 이상의 클라이언트(들)(240)에게 송신하는 것을 포함할 수 있다. 피처에 대한 다른 편집 세션의 시작을 검출(630)하는 단계는 제2 클라이언트가 피처를 편집하기 시작했다는 것을 표시하는 통신을 제2 클라이언트(240)로부터 수신하는 것을 포함할 수 있다.
피처에 관한 복귀 요청을 다른 클라이언트(들)에 송신(640)하는 단계는, 이후의 사용자에 의해 편집된 피처가 제1 사용자에 의해 편집된 특징과 동일한지 여부를 판단하는 것을 포함할 수 있다. 만일 그렇다면 이후의 사용자(들)에 대응하는 다른 클라이언트(들)에게 편집 세션을 중단하고 피처를 편집전의 상태로 복귀시키는 것을 요청하는 복귀 요청 메시지와 같은 통신을 송신한다.
사용자(들)에게 충돌 경고를 표시(650)하는 단계는, 이후의 사용자(들)에게 편집 세션이 제1 사용자의 편집 세션과 충돌 상태이었다는 정보를 주는 대화 박스를 표시하는 것을 포함할 수 있다. 다른 클라이언트(들)에 대한 피처를 복귀(660)하는 것은, 복귀 요청 명령을 수신하는 것에 응답하여 편집 세션 명령 전의 상태에 대한 피처를 복귀하는 것을 포함할 수 있다.
도 7은 다중 사용자 CAx 편집에 대한 충돌 관리 방법(700)의 하나의 예를 서술하는 순서도이다. 서술된 바와 같이, 충돌 관리 방법(700)은 제1 사용자에 의해 생성된 피처에 대한 변경을 수신(710)하는 단계, 전자 모델의 제2 인스턴스로의 피처에 대한 변경을 시작(720)하는 단계, 오류가 발생하면 변경을 복귀(730)시키는 단계, 및, 오류가 발생하지 않으면 변경을 유지(740)하는 단계를 포함한다.
제1 사용자에 의해 피처에 대한 변경을 수신(710)하는 단계는 제1 클라이언트(240)로부터 사용자가 전자 모델의 피처에 대한 하나 이상의 변경을 생성했다는 것을 알리는 통신의 수신을 포함할 수 있다. 하나의 실시예에서, 통신은 인터네트워크(130)를 통해 클라이언트(240)에서 협업형 서버(210)로 전송될 수 있다. 일부 실시예들에서, 클라이언트는 사용자에 의한 어떠한 부가적인 작업을 요구하지 않고 사용자가 변경을 하였다는 것을 표시하는 메시지를 자동으로 송신하도록 구성된다.
전자모델의 제2 인스턴스로 피처에 대한 변경을 시작(720)하는 단계는, 변경(들)을 모델의 제2 인스턴스를 관리하는 클라이언트(240)에 통신하는 단계를 포함할 수 있으며, 클라이언트가 요청된 변경(들)을 생성하게 한다. 또한, 일부 실시예들에서, 협업형 서버는 모델의 마스터 인스턴스를 유지하며 요청된 변경을 생성한다.
오류가 발생하였을 때 변경을 복귀(730)시키는 단계는 오류가 제2 인스턴스 및/또는 마스터 인스턴스에서 피처를 변경하여 초래되었는가 여부를 판단하는 것을 포함할 수 있으며, 만일 그렇다면, 변경을 국부적으로 복귀시키며, 제1 클라이언트에게 복귀 요청을 전달한다. 여기에 응답하여, 제1 클라이언트는 변경된 피처를 복귀시킬 수 있다. 오류가 발생하지 않을 경우 변경을 유지(740)하는 것은 전자 모델에 대한 변경을 그대로 두는 것을 포함할 수 있다. 하나의 실시예에서, 변경이 오류를 생성하지 않았다는 것을 확인하는 메시지가 헙업형 서버로 송신된다.
본 명세서에 서술된 시스템, 방법, 및 장치의 다양한 원소들은 협력적으로 기능하여 편집 충돌을 관리하며 생산적인 협업형 CAx 편집을 용이하게 한다. 앞에 서술한 내용들은 한정적인 것이 아니라 예시적인 것으로 의도된 것이다. 유사하게, 본 발명의 스피릿 또는 필수적인 특성에서 벗어나지 않고 본 발명에서 청구된 내용은 다른 특정한 형태로 구현될 수 있다. 서술된 실시예들은 제한적이 아니라 예시적인 것으로 여겨져야 한다. 따라서, 본 발명의 범위는 전술한 설명이 아니라 첨부된 청구항들에 의해 표시된다. 특허 청구 범위와 대등한 의미 및 범위 내에 오는 모든 변경사항들은 특허 청구 범위에 포함되어야 한다.

Claims (19)

  1. 제1 피처(feature)가 포함된 다수의 피처들(features)을 포함하는 엔지니어링 오브젝트(engineering object) 모델의 로컬 인스턴스(local instance)를 편집하도록 구성된 다수의 편집 클라이언트; 및
    상기 엔지니어링 오브젝트의 마스터 복사본(master copy)을 유지하도록 구성된 협업형 편집 서버를 포함하고,
    상기 협업형 편집 서버는:
    a) 상기 제1 피처를 제1 사용자에게 할당하고,
    제2 사용자가 상기 제1 피처에 대한 편집을 시도하는 것을 검출하며,
    상기 제1 사용자가 상기 제1 피처가 재할당될 수 있다고 표시하면 상기 제1 피처를 상기 제2 사용자에게 재할당하고,
    b) 상기 제1 피처에 대한 제1 편집 세션이, 상기 모델의 제1 인스턴스를 편집하는 제1 사용자에 의해 시작되는 것을 검출하며,
    상기 제1 피처에 대한 제2 편집 세션이, 상기 모델의 제2 인스턴스를 편집하는 제2 사용자에 의해 시작되는 것을 검출하고,
    상기 제1 편집 세션이 완료되는 것을 검출하기 이전에 상기 제2 편집 세션의 시작을 검출하는 것에 응답하여, 상기 제2 인스턴스에 대응하는 클라이언트에 상기 제1 피처로 복귀하는 요청을 송신하며,
    c) 전자 모델의 제1 인스턴스를 편집하는 제1 사용자에 의해 생성된 상기 제1 피처에 대한 변경을 수신하고,
    제2 사용자에 의해 편집되는 상기 전자 모델의 제2 인스턴스 내에서 상기 피처에 대한 변경을 시작하며,
    상기 전자 모델의 상기 제2 인스턴스 내 상기 피처의 변경이 오류를 생성했다는 판단에 응답하여, 변경된 상기 피처를 상기 전자 모델의 상기 제1 인스턴스 내의 상기 제1 피처로 복귀시키는 것을 시작하도록 구성된 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 다수의 편집 클라이언트 중 하나의 편집 클라이언트는 할당된 사용자가 피처가 다른사용자에게 재할당되는 것이 가능한지 여부를 표시하게 프롬프트(prompt)하도록 구성된 것을 특징으로 하는 시스템.
  3. 제2항에 있어서, 상기 할당된 사용자가 상기 피처가 재할당 될 수 없다는 것을 표시하면, 상기 협업형 편집 서버는 피처의 재할당을 차단하도록 구성된 것을 특징으로 하는 시스템.
  4. 제2항에 있어서, 상기 할당된 사용자가 상기 피처가 재할당 될 수 있는지 여부에 대한 표시를 선택된 기간 내에 하지 않을 경우, 상기 협업형 편집 서버는 상기 피처를 다른 사용자에게 재할당하도록 구성된 것을 특징으로 하는 시스템.
  5. 제1항에 있어서, 상기 협업형 편집 서버 또는 상기 다수의 편집 클라이언트 중 하나의 편집 클라이언트는, 상기 전자 모델의 상기 마스터 인스턴스 내에서 상기 피처에 대한 변경의 시작이 오류를 생성했다는 판단에 응답하여, 변경된 상기 피처를 상기 전자 모델의 클라이언트 인스턴스 내의 피처로 복귀시키는 것을 시작하도록 구성된 것을 특징으로 하는 시스템.
  6. 엔지니어링 오브젝트 모델의 피처를 제1 사용자에게 할당하는 단계;
    제2 사용자에 의한 상기 피처를 편집하는 시도를 검출하는 단계; 및
    상기 제1 사용자가 상기 피처가 재할당 될 수 있다고 표시하면, 상기 피처를 상기 제2 사용자에게 재할당하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제6항에 있어서, 상기 제1 사용자가 상기 피처가 재할당 될 수 없다고 표시하면, 상기 피처의 재할당을 차단하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제6항에 있어서, 상기 제1 사용자가 상기 피처가 재할당 될 수 있는지 여부를 표시하도록 프롬프팅하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제8항에 있어서, 상기 제1 사용자가 상기 피처가 재할당 될 수 있는지 여부를 선택된 기간 내에 표시하지 않으면, 상기 피처를 상기 제2 사용자에게 재할당하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 엔지니어링 오브젝트의 전자 모델의 피처에 대한 제1 편집 세션이, 상기 전자 모델의 제1 인스턴스를 편집하는 제1 사용자에 의해 시작됨을 검출하는 단계;
    상기 피처에 대한 제2 편집 세션이, 상기 전자 모델의 제2 인스턴스를 편집하는 제2 사용자에 의해 시작됨을 검출되는 단계;
    상기 제1 편집 세션이 완료되는 것을 검출하기 이전에 상기 제2 편집 세션의 시작을 검출하는 것에 응답하여, 상기 제2 인스턴스에 대응하는 클라이언트에 상기 제1 편집 세션의 피처로 복귀하는 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제10항에 있어서, 상기 제2 편집 세션의 시작의 검출에 응답하여, 상기 제2 편집 인스턴스에 대응하는 상기 클라이언트에 상기 피처에 대한 잠금 요청을 자동으로 전달하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제11항에 있어서, 상기 제2 인스턴스 내의 상기 피처를 복귀시키는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제10항에 있어서, 상기 제1 사용자 또는 상기 제2 사용자에게 충돌 경고를 표시하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 엔지니어링 오브젝트의 전자 모델의 제1 인스턴스를 편집하는 제1 사용자에 의해 생성된 피처에 대한 변경을 수신하는 단계;
    제2 사용자에 의해 편집된 상기 전자 모델의 제2 인스턴스로 상기 피처의 변경을 시작하는 단계; 및
    상기 전자 모델의 제2 인스턴스로 상기 피처의 변경이 오류를 생성했다는 판단에 응답하여, 변경된 상기 피처를 상기 전자 모델의 상기 제1 인스턴스로 복귀시키는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 제14항에 있어서, 상기 전자 모델의 마스터 인스턴스 내의 상기 피처에 대한 변경이 오류를 생성했다는 판단에 응답하여, 변경된 상기 피처를 상기 전자 모델의 상기 제1 인스턴스 내의 피처로 복귀시키는 것을 시작하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 제15항에 있어서, 상기 마스터 인스턴스는 협업형 서버에 상주하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 제14항에 있어서, 상기 제1 인스턴스 및 상기 제2 인스턴스는 제1 클라이언트 및 제2 클라이언트에 각각 상주하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 제14항에 있어서, 상기 피처로 변경을 시작하는 단계는 변경 요청을 전달하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 제14항에 있어서, 상기 변경 요청은 협업형 편집 서버에 의해 전달되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
KR1020157024318A 2013-02-05 2014-02-05 다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법 KR20150118975A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361760713P 2013-02-05 2013-02-05
US61/760,713 2013-02-05
PCT/US2014/014946 WO2014124051A1 (en) 2013-02-05 2014-02-05 System and methods for multi-user cax editing conflict management

Publications (1)

Publication Number Publication Date
KR20150118975A true KR20150118975A (ko) 2015-10-23

Family

ID=51260245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157024318A KR20150118975A (ko) 2013-02-05 2014-02-05 다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법

Country Status (4)

Country Link
US (1) US9648059B2 (ko)
EP (1) EP2954425A4 (ko)
KR (1) KR20150118975A (ko)
WO (1) WO2014124051A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366099B1 (en) * 2014-02-11 2019-07-30 United Technologies Corporation Reader for multi-user CAx entities created outside of database
US9871796B1 (en) 2014-02-11 2018-01-16 United Technologies Corporation Multi level decomposition for multi user CAx databases
US10002150B1 (en) * 2014-02-11 2018-06-19 United Technologies Corporation Conflict resolution for a multi-user CAx environment
US9781126B1 (en) 2014-02-11 2017-10-03 United Technologies Corporation Export control and clearance authorization for a multi-user CAx environment
US10108627B1 (en) 2014-02-11 2018-10-23 United Technologies Corporation Multi-user CAx with user defined functions
US9942310B1 (en) 2014-02-11 2018-04-10 United Technologies Corporation Load balanced system for a multi-user CAX environment
US10621288B2 (en) * 2014-06-12 2020-04-14 Brigham Young Unversity Interoperable hierarchical model for conducting multiuser CAx operations
US10491695B2 (en) * 2014-08-22 2019-11-26 Oracle International Corporation Autosave with across user session undo support
US10121269B1 (en) 2014-10-14 2018-11-06 United Technologies Corporation Visualization settings transfer in a multi-user CAx tool
US10317892B2 (en) * 2014-10-15 2019-06-11 Brigham Young University System and method for concurrent multi-user computer-aided manufacturing
US10114615B1 (en) 2014-12-16 2018-10-30 United Technologies Corporation Feature based control system for multi-user CAx
US10430715B1 (en) 2014-12-17 2019-10-01 United Technologies Corporation Predictive modeling system for a multi-user CAX environment
US11080940B1 (en) 2014-12-22 2021-08-03 Raytheon Technologies Corporation Export decomposition filter for a multi-user CAx environment
US9965572B1 (en) * 2015-01-14 2018-05-08 United Technologies Corporation Multi-user CAx assembly updater
US9904518B1 (en) * 2015-01-16 2018-02-27 United Technologies Corporation Support of undeveloped features in multi-user CAx environment
US9916400B1 (en) 2015-02-12 2018-03-13 United Technologies Corporation User defined object pusher for multi-user CAx environment
US9292261B1 (en) 2015-02-16 2016-03-22 United Technologies Corporation Revision management tools for a multi-user CAx environment
US10261756B2 (en) * 2015-06-01 2019-04-16 Brigham Young University Method for preventing reference invalidation when reversing operations in synchronous collaborative applications
US10341422B1 (en) * 2015-06-24 2019-07-02 United Technologies Corporation Entity pairing for a multi-user CAx environment
US10740500B1 (en) 2015-08-13 2020-08-11 Raytheon Technologies Corporation Meta data management system for a multi-user CAx environment
CN105631092B (zh) * 2015-12-15 2018-09-04 大连理工大学 一种基于机器学习的cad协同工作方法
US10154083B1 (en) 2016-02-03 2018-12-11 United Technologies Corporation Release status indicator for a multi-user CAx environment
US10140390B1 (en) 2016-04-21 2018-11-27 United Technologies Corporation Deletion blocking module for a multi-user CAx environment
CN109154951A (zh) * 2016-05-13 2019-01-04 西门子产品生命周期管理软件公司 建模方法和系统
US10742434B2 (en) * 2017-05-26 2020-08-11 Box, Inc. Event-based content object collaboration
CN109241571B (zh) * 2018-08-07 2022-05-13 武汉大学 一种基于crdt的支持特征cad模型的实时协同编辑方法
WO2020251531A1 (en) 2019-06-10 2020-12-17 Siemens Industry Software Inc. System and method for multi-user spatial impact analysis and management
CN111898098B (zh) * 2020-08-18 2021-07-13 哈尔滨工业大学 面向多方协作的利益相关者服务价值冲突发现和消解方法
US20220134222A1 (en) * 2020-11-03 2022-05-05 Nvidia Corporation Delta propagation in cloud-centric platforms for collaboration and connectivity

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341291B1 (en) 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
WO2000070417A1 (en) * 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US7707245B2 (en) * 2000-02-22 2010-04-27 Harvey Lunenfeld Metasearching a client's request for displaying different order books on the client
US6708313B2 (en) * 2001-12-10 2004-03-16 Charles Pfeil Parallel electronic design automation: shared simultaneous editing
WO2003050726A1 (en) * 2001-12-10 2003-06-19 Mentor Graphics Corporation Parallel electronic design automation: shared simultaneous editing
US7661101B2 (en) * 2004-01-15 2010-02-09 Parametric Technology Corporation Synchronous and asynchronous collaboration between heterogeneous applications
US9270478B2 (en) * 2004-04-13 2016-02-23 Brigham Young University Systems and methods for controlling and monitoring multiple electronic devices
US7881535B1 (en) * 2006-06-29 2011-02-01 Capital One Financial Corporation System and method for managing statistical models
US8341132B2 (en) * 2008-10-01 2012-12-25 Ca, Inc. System and method for applying deltas in a version control system
US8751464B1 (en) * 2009-02-11 2014-06-10 Avnet, Inc. Integrated version control in a business intelligence environment
US8229589B2 (en) 2009-04-13 2012-07-24 Battle Foam, LLC Method and apparatus for fabricating a foam container with a computer controlled laser cutting device
CA2738428A1 (en) 2010-04-30 2011-10-30 Iliv Technologies Inc. Collaboration tool
US9122817B2 (en) 2011-06-09 2015-09-01 Brigham Young University Collaborative CAx apparatus and method
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
US9298715B2 (en) * 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US10242430B2 (en) * 2012-03-08 2019-03-26 Brigham Young University Graphical interface for collaborative editing of design space models
US9582777B2 (en) * 2012-06-21 2017-02-28 Centerpoint Properties Trust Point-in-time requirement tracking methods and apparatus
US20140118223A1 (en) * 2012-10-26 2014-05-01 Brigham Young University Graphical view selection system, method, and apparatus
BR112015011900A2 (pt) * 2012-11-23 2017-07-11 Univ Brigham Young sistema, método e aparato para edição colaborativa de cax.
JP6055336B2 (ja) * 2013-02-25 2016-12-27 本田技研工業株式会社 二次電池用の負極活物質及びその製造方法
US8893220B2 (en) * 2013-03-15 2014-11-18 International Business Machines Corporation Managing co-editing sessions
US9946992B2 (en) * 2013-05-14 2018-04-17 International Business Machines Corporation Temporal promotion of content to a project activity
US9292261B1 (en) * 2015-02-16 2016-03-22 United Technologies Corporation Revision management tools for a multi-user CAx environment

Also Published As

Publication number Publication date
US20140222919A1 (en) 2014-08-07
EP2954425A4 (en) 2017-01-11
EP2954425A1 (en) 2015-12-16
US9648059B2 (en) 2017-05-09
WO2014124051A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
KR20150118975A (ko) 다중 사용자 컴퓨터 이용 기술에 대한 편집 충돌 관리 시스템 및 방법
US10503840B2 (en) System and methods for multi-user CAx editing data consistency
KR20150087325A (ko) 협업형 cax 편집을 위한 시스템, 방법 및 장치
US9122817B2 (en) Collaborative CAx apparatus and method
US10140402B2 (en) Parallel workflow finite element pre-processing apparatus and system
US10121286B2 (en) CAD synchronization system and method
CN107566165B (zh) 一种发现及部署电力云数据中心可用资源的方法及系统
WO2018103264A1 (zh) 三维典型机加工艺设计方法及装置
US9875311B2 (en) Collaborative CAx updates
US20160098494A1 (en) Integration of analysis with multi-user cad
TWI512513B (zh) 用於編輯或產生一示意圖之方法及非暫時性電腦可讀取媒體以及用於產生一示意圖之系統
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN109325016A (zh) 数据迁移方法、装置、介质及电子设备
US20170024447A1 (en) System, method, and apparatus for collaborative editing of common or related computer based software output
US10657219B2 (en) Collaborative editing of manufacturing drawings
US10706020B2 (en) Data sharing in CAx applications
CN105630571A (zh) 一种创建虚拟机的方法及装置
CN111177244A (zh) 面向多个异构数据库的数据关联分析方法
US20150213157A1 (en) Multi-user cax editing of a model of a design object
CN107168822B (zh) Oracle streams的异常修复系统及方法
CN115587141A (zh) 一种数据库同步方法和装置
US9916400B1 (en) User defined object pusher for multi-user CAx environment
CN115293365A (zh) 机器学习模型的管理方法、装置、管理平台和存储介质
CN111126961B (zh) 一种复杂产品全生命周期数字主线服务系统
US20150271221A1 (en) Selection triggered collaborative cax editing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application