KR20140077115A - 3d 에서의 객체 그룹들의 정의 - Google Patents
3d 에서의 객체 그룹들의 정의 Download PDFInfo
- Publication number
- KR20140077115A KR20140077115A KR1020130154060A KR20130154060A KR20140077115A KR 20140077115 A KR20140077115 A KR 20140077115A KR 1020130154060 A KR1020130154060 A KR 1020130154060A KR 20130154060 A KR20130154060 A KR 20130154060A KR 20140077115 A KR20140077115 A KR 20140077115A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual object
- group
- user input
- virtual
- object group
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000003993 interaction Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 206010049816 Muscle tightness Diseases 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법은 입력 디바이스를 통해, 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하는 단계를 포함한다. 이 방법은 또한, 프로세서를 이용하여 사용자 입력의 목적을 결정하는 단계, 사용자 입력의 목적에 기초하여 가상 객체에 대한 객체 그룹을 변경하는 단계, 및 메모리 영역 내에 객체 그룹과 객체 간의 관계를 저장하는 단계를 포함한다.
Description
여기에 설명된 실시형태들은 일반적으로 가상 객체들을 관리하는 것에 관한 것이며, 보다 구체적으로, 실세계 객체들을 표현하는 가상 객체들의 그룹들을 생성, 변경, 및 삭제하는 것에 관한 것이다.
그룹 관리는 종래에는, 그룹 멤버들의 리스트, 그룹 명칭, 및 그룹에 추가하기 위해 이용가능한 엘리먼트들과 같은 정보를 디스플레이하는 테이블로 관리된다. 더욱이, 일부 그룹 관리 솔루션들은 또한, 그룹의 엘리먼트들을 예시하기 위해, 2 차원 (2D) 픽처이든 3 차원 (3D) 픽처이든 이미지들을 이용한다. 그러나, 이러한 종래의 그룹 관리 솔루션들은 일반적으로 진보된 기술적 및/또는 주관적 네이밍 (naming) 에 의해 유사한 엘리먼트들을 상관시키지 않는 텍스트 디스플레이들을 포함한다. 더욱이, 공지된 그룹 관리 솔루션들은 그룹 멤버들의 리스트와 같은 텍스트 디스플레이와, 그룹, 그 그룹의 멤버들, 및 다른 이용가능한 엘리먼트들의 연관된 2D 또는 3D 표현 간에 사용자로부터의 계속적인 백앤포스 아이 모션 (back-and-forth eye motion) 을 요구한다. 이런 종류의 계속적인 모션은 사용자에게 피로를 야기하고/하거나 사용자가 더 쉽게 실수하는 것을 허용할 수 있다. 덧붙여, 공지된 솔루션들은 그룹 멤버들의 리스트와, 그룹, 그 그룹의 멤버들, 및 다른 이용가능한 엘리먼트들의 연관된 2D 또는 3D 표현 간에 마우스를 백앤포스 이동시키는 것과 같이, 입력 디바이스의 계속적인 백앤포스 모션을 요구한다. 이러한 모션은 사용성 (usability) 의 감소를 초래하고, 사용자에게 피로를 야기하고/하거나 사용자가 더 쉽게 실수하는 것을 허용할 수 있다.
하나의 양태에서는, 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하기 위해 컴퓨터 구현 (computer-implemented) 방법이 제공된다. 컴퓨터 구현 방법은, 입력 디바이스를 통해, 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하는 단계, 및 프로세서를 이용하여 사용자 입력의 목적을 결정하는 단계를 포함한다. 이 방법은 또한, 사용자 입력의 목적에 기초하여 가상 객체에 대한 객체 그룹을 변경하는 단계, 및 메모리 영역 내에 객체 그룹과 가상 객체 간의 관계를 저장하는 단계를 포함한다.
다른 양태에서는, 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위해 컴퓨터 디바이스가 제공된다. 컴퓨터는 입력 디바이스, 메모리 영역, 및 입력 디바이스 및 메모리 영역에 커플링된 프로세서를 포함한다. 프로세서는 입력 디바이스를 통해, 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하고, 사용자 입력의 목적을 결정하도록 구성된다. 프로세서는 또한, 사용자 입력의 목적에 기초하여 가상 객체에 대한 객체 그룹을 변경하고, 메모리 영역 내에 객체 그룹과 가상 객체 간의 관계를 저장하도록 구성된다.
다른 양태에서는, 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위해 컴퓨터 시스템이 제공된다. 컴퓨터 시스템은 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하도록 구성된 클라이언트 디바이스를 포함한다. 컴퓨터 시스템은 또한, 클라이언트 디바이스에 커플링된 서버 시스템을 포함한다. 서버 시스템은 사용자 입력의 목적을 결정하고, 사용자 입력의 목적에 기초하여 가상 객체에 대한 객체 그룹을 변경하며, 메모리 영역 내에 객체 그룹과 가상 객체 간의 관계를 저장하도록 구성된다.
전술한 것은 유사한 참조 부호들이 상이한 도들 전반에 걸쳐 동일한 부분들을 지칭하는 첨부 도면들에 예시한 바와 같이, 다음에 오는 본 발명의 예시적인 실시형태들의 보다 구체적인 설명으로부터 명백할 것이다. 도면들은 반드시 일정한 비율이 아니며, 그 대신 본 발명의 실시형태들을 예시하는 것에 주안점을 둔다.
도 1 은 가상 객체들의 그룹을 정의하기 위한 일 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 2 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 3a 내지 도 3e 는 여기에 설명된 컴퓨터 구현 방법들을 예시하는 도면들이다.
도 4 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 5 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 6 은 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 일 예시적인 컴퓨터 시스템의 개략 블록도이다.
도 7 은 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 일 예시적인 컴퓨터 아키텍처의 개략 블록도이다.
도 1 은 가상 객체들의 그룹을 정의하기 위한 일 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 2 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 3a 내지 도 3e 는 여기에 설명된 컴퓨터 구현 방법들을 예시하는 도면들이다.
도 4 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 5 는 가상 객체들의 그룹을 정의하기 위한 다른 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트이다.
도 6 은 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 일 예시적인 컴퓨터 시스템의 개략 블록도이다.
도 7 은 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 일 예시적인 컴퓨터 아키텍처의 개략 블록도이다.
가상 객체들의 그룹들을 정의 및/또는 관리하는데 있어서 이용하기 위한 컴퓨터 시스템들, 컴퓨터 구현 방법들, 및 컴퓨터 디바이스들의 예시적인 실시형태들이 여기에 설명된다. 여기에 설명된 실시형태들은 사용자의 효율성을 향상시킴으로써 사용자들에 대한 생산성의 증가를 가능하게 한다. 예를 들어, 사용자는 단지 몇 개의 입력들만을 이용하여, 그리고 기존 그룹들의 텍스트 리스트, 그룹들 내의 엘리먼트들, 및 임의의 그룹들에 할당되지 않은 엘리먼트들을 스캔하지 않고 객체 그룹을 생성할 수 있다. 더욱이, 여기에 설명된 실시형태들은, 사용자가 그룹 멤버십의 텍스트적 표현 (textual representation) 과 실세계 객체들의 그래픽적 표현 간에 계속적으로 백앤포스 이동할 필요성을 제거함으로써, 눈 및/또는 근육 긴장의 감소는 물론 피로의 감소를 가능하게 한다. 더욱이, 실시형태들은 그룹 멤버십들을 디스플레이하고 그룹 멤버십을 관리하는데 필요한 스크린의 양을 감소시킴으로써 사용자들에 대한 이동성을 가능하게 한다. 이것은 스마트폰들 및 태블릿 컴퓨터들과 같은 모바일 디바이스들의 이용을 가능하게 한다.
여기에 사용한 바와 같이, 용어 "가상 객체" 는 일반적으로 실세계 객체의 소프트웨어 생성 (software-generated) 모델을 지칭한다. 예를 들어, 가상 객체는 제조 시에 이용되는 머신의 3 차원 모델일 수도 있다. 그러나, 용어 "가상 객체" 는 단지 실세계 객체들의 3 차원 표현들에만 제한되지 않고 2 차원 표현들을 또한 지칭할 수도 있다. 더욱이, 실세계 객체들은 단지 제조 머신들에 제한되지 않고 그 대신에 미리 정의된 프로세스에서 이용하기 위한 임의의 적합한 리소스를 지칭할 수도 있다.
도 1 은 가상 객체들의 그룹을 정의하기 위한 일 예시적인 컴퓨터 구현 방법을 예시하는 플로우차트 (100) 이다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는, 입력 디바이스를 통해, 하나 이상의 가상 객체들에 관련된 사용자 입력을 수신한다 (102). 상기 설명한 바와 같이, 가상 객체는 물리적 실세계 객체의 컴퓨터 생성 표현이다. 컴퓨터 디바이스는 랩톱 또는 데스크톱 컴퓨터와 같은 개인용 컴퓨터일 수도 있으며, 또는 태블릿 컴퓨터 또는 스마트폰일 수도 있다. 더욱이, 입력 디바이스는 마우스, 키보드, 또는 터치 스크린과 같이, 디스플레이된 객체들과의 사용자 인터랙션들을 수신하는데 있어서 이용하기 위한 임의의 적합한 디바이스일 수도 있다. 사용자 입력은, 가상 객체를 선택하는 것, 가상 객체 위를 호버링 (hovering) 하는 것, 및/또는 가상 객체가 수동으로 객체 그룹 안 또는 밖으로 또는 디스플레이 상의 다른 곳으로 이동되는 드래그-앤-드롭 동작과 같은 가상 객체에 대해 취해진 임의의 액션일 수도 있다. 터치 입력들은 당업자에게 알려진 임의의 적합한 수단을 이용하여 인식, 수신, 및/또는 프로세싱될 수도 있다.
사용자 입력을 수신한 후, 컴퓨터 디바이스는 사용자 입력의 목적을 결정한다 (104). 그 목적에 기초하여, 컴퓨터 디바이스는 가상 객체에 대한 객체 그룹을 변경한다 (106). 예를 들어, 가상 객체는 사용자 입력에 기초하여 객체 그룹에 추가되거나 또는 객체 그룹으로부터 제거될 수도 있다. 더욱이, 일단 객체 그룹이 변경되면 (106), 컴퓨터 디바이스는 메모리 영역 내에 가상 객체와 객체 그룹 간의 관계를 저장한다 (108). 예를 들어, 가상 객체와 객체 그룹 양자는, 그들 간의 관계가 생성, 변경, 또는 무효로 되는 경우, 가상 객체들이 어느 객체 그룹들과 연관되는지를 추적하기 위하여, 데이터베이스와 같이, 링크가 메모리 영역에서 생성되도록 고유 식별자들을 할당받을 수도 있다.
도 2 는 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법의 다른 실시형태를 예시하는 플로우차트 (200) 이다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는, 사용자 입력을 통해, 하나 이상의 가상 객체들에 관련된 제 1 사용자 입력을 수신한다 (202). 보다 구체적으로, 제 1 사용자 입력은 하나 이상의 가상 객체들과의 제 1 사용자 인터랙션이다. 일 예시적인 실시형태에서, 제 1 사용자 입력은 가상 객체 위를 호버링하기 위한 입력 디바이스의 이용이다. 마우스와 같은 물리적 입력 디바이스의 경우, 호버 액션 (hover action) 은 가상 객체를 둘러싸는 미리 정의된 영역 내와 같은, 가상 객체 위 또는 그 근방에의 커서의 배치일 수도 있다. 대안적으로, 호버 액션은 가상 객체의 온-스크린 식별자 위 또는 그 근방에의 커서의 배치일 수도 있다. 터치 스크린 디바이스의 경우, 호버 액션은 가상 객체 또는 가상 객체의 온-스크린 식별자의 터치일 수도 있다. 예를 들어, 터치는 미리 정의된 임계 시간보다 더 길 때 호버 액션인 것으로 결정될 수도 있다. 터치 입력들은 당업자에게 알려진 임의의 적합한 수단을 이용하여 인식, 수신, 및/또는 프로세싱될 수도 있다. 제 1 사용자 입력에 응답하여, 컴퓨터 디바이스는 가상 객체 위 또는 그 근방에 프롬프트를 디스플레이한다 (204).
도 3a 내지 도 3e 는 도 1 및 도 2 에는 물론 이하 설명되는 바와 같은 도 4 및 도 5 에 도시된 컴퓨터 구현 방법들을 예시하는 도면들이다. 구체적으로, 도 3a 내지 도 3e 는 제 1 가상 객체 (302) 내지 제 6 가상 객체 (312) 를 포함하는 복수의 가상 객체들 (300) 을 도시한다. 도 3a 내지 도 3e 에 도시한 바와 같이, 여기에 설명된 실시형태들은 제조 프로세스의 적어도 일부를 자동화하는데 이용되는 제조 머신들을 그룹화하는데 쉽게 적용될 수 있다. 제조 프로세스들의 이러한 진보된 계획은 프로세스의 진보된 시뮬레이션을 시종 일관 가능하게 함으로써, 그리고 물리적 모델 또는 목업 (mockup) 을 생성하지 않고 또는 실제 머신들을 이용하지 않고 제조 플랜트에 대한 생산성의 증가를 가능하게 한다. 여기에 설명된 실시형태들은 제조 머신들의 표현들을 그룹화하는 것에 제한되지 않고, 오히려 임의의 적합한 아이템의 표현들의 그룹들을 관리하는데 이용될 수 있다는 것에 주목해야 한다.
도 3a 는 어떠한 객체 그룹들도 정의되어 있지 않고 가상 객체들 (300) 이 스크린 상에 식별되지 않는 시작 포인트를 도시한다. 도 3b 에 도시한 바와 같이, 그리고 제 1 사용자 입력이 수신되는 경우 (202), 컴퓨터 디바이스는 각각의 가상 객체 (300) 에 대해 고유 식별자 (314) 를 디스플레이한다. 예를 들어, 컴퓨터 디바이스는 제 1 가상 객체 (302) 에 인접한 제 1 고유 식별자 (316), 제 2 가상 객체 (304) 에 인접한 제 2 고유 식별자 (318), 등등 내지 제 6 고유 식별자 (326) 를 디스플레이한다. 도 3c 는 프롬프트 (328) 의 일 예를 도시하며, 그 프롬프트 (328) 는 제 1 사용자 입력에 응답하여 사용자에게 디스플레이된다 (204). 구체적으로, 도 3c 에 도시된 프롬프트 (328) 는 객체 그룹에 제 5 가상 객체 (310) 를 추가할 것을 사용자에게 프롬프트한다.
다시 도 2 를 참조하면, 컴퓨터 디바이스는 가상 객체에 관련된 제 2 사용자 입력을 수신한다 (206). 보다 구체적으로, 제 2 사용자 입력은 하나 이상의 가상 객체들과의 제 2 사용자 인터랙션이다. 일 예시적인 실시형태에서, 제 2 사용자 입력은 객체 그룹을 변경하기 위해 가상 객체에 대하여 커맨드를 입력하기 위한 입력 디바이스의 이용이다. 예를 들어, 사용자는, 이를 테면 마우스에 의한 클릭 또는 더블-클릭 또는 터치 스크린 디바이스에 의한 터치, 탭, 또는 더블-탭을 이용하여, 도 3c 에 도시된 프롬프트 (328) 를 선택할 수도 있다. 상기 언급한 바와 같이, 터치 입력들은 당업자에게 알려진 임의의 적합한 수단을 이용하여 인식, 수신, 및/또는 프로세싱될 수도 있다. 컴퓨터 디바이스는 제 2 사용자 입력의 목적을 결정하고 (208), 그에 따라 객체 그룹을 변경한다. 제 2 사용자 입력의 목적이 객체 그룹에 가상 객체를 추가하는 것인 경우에, 컴퓨터 디바이스는 객체 그룹이 존재하는지를 결정한다 (210). 객체 그룹이 존재하지 않는다면, 컴퓨터 디바이스는 새로운 객체 그룹을 생성하고 (212), 새로운 객체 그룹에 가상 객체를 추가한다 (214). 객체 그룹이 존재한다면, 컴퓨터 디바이스는 그 객체 그룹에 가상 객체를 추가한다 (214). 도 3d 는 새롭게 생성된 객체 그룹 (330) 을 도시한다. 상기 설명한 바와 같이, 새로운 객체 그룹 (330) 은 제 5 가상 객체 (310) 를 추가하기 위하여 컴퓨터 디바이스에 의해 생성된다. 일 예시적인 실시형태에서, 가상 객체가 객체 그룹에 추가된 후 (214), 컴퓨터 디바이스는 메모리 영역 내에 저장한 바와 같은 가상 객체와 객체 그룹 간의 관계를 변경한다 (216). 예를 들어, 가상 객체와 객체 그룹 양자는, 그들 간의 관계가 생성, 변경, 또는 무효로 되는 경우, 가상 객체들이 어느 객체 그룹들과 연관되는지를 추적하기 위하여, 데이터베이스와 같이, 링크가 메모리 영역에서 생성되도록 고유 식별자들을 할당받을 수도 있다.
일 예시적인 실시형태에서, 그리고 제 2 사용자 입력의 목적이 객체 그룹으로부터 가상 객체를 제거하는 것인 경우, 컴퓨터 디바이스는 가상 객체를 제거하고 (218), 메모리 영역 내에 저장한 바와 같은 가상 객체와 객체 그룹 간의 관계를 변경한다 (216). 도 3c 는 객체 그룹에 제 5 가상 객체 (310) 를 추가하기 위하여 가산 (addition) 심볼 (+) 로서 프롬프트 (328) 를 도시한다. 그러나, 제 5 가상 객체 (310) 가 객체 그룹 (330) 과 같은 객체 그룹의 부분이었다면, 프롬프트 (328) 는 그 후 객체 그룹 (330) 으로부터 제 5 가상 객체 (310) 를 제거할 것을 사용자에게 프롬프트하기 위해 감산 (subtraction) 심볼 (-) 로서 도시된다.
일 예시적인 실시형태에서, 상기 단계들은 객체 그룹에 더 많은 가상 객체들을 추가하기 위해 반복될 수 있다. 예를 들어, 다른 제 1 사용자 인터랙션에 응답하여, 컴퓨터 디바이스는 제 4 가상 객체 (308) 와 같은 가상 객체에 대해 프롬프트를 디스플레이할 것이다 (204). 다른 제 2 사용자 인터랙션에 응답하여, 컴퓨터 디바이스는 도 3e 에 도시한 바와 같이 객체 그룹 (330) 과 같은 객체 그룹에 제 4 가상 객체 (308) 를 추가할 것이다 (214).
도 4 는 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법의 다른 실시형태의 플로우차트 (400) 이다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는 드래그-앤-드롭 사용자 입력을 수신한다 (402). 사용자 입력은 마우스 또는 터치 패드와 같은 입력 디바이스를 통해, 또는 터치 스크린 디스플레이를 통해 수신될 수도 있다. 터치 입력들은 당업자에게 알려진 임의의 적합한 수단을 이용하여 인식, 수신, 및/또는 프로세싱될 수도 있다. 컴퓨터 디바이스는 그 후 드래그된 아이템을 결정한다 (404).
그 아이템이 가상 객체 또는 가상 객체에 관련된 표시자 또는 식별자인 경우, 컴퓨터 디바이스는 가상 객체가 객체 그룹에 대하여 드래그되는 방향을 결정한다 (406). 예를 들어, 그리고 도 3e 를 참조하면, 컴퓨터 디바이스는, 제 5 가상 객체 (310) 에 관련된 표시자가 객체 그룹 (330) 에 관련된 표시자의 밖으로 또는 그 표시자에서 벗어나 드래그되는지, 또는 제 4 가상 객체 (308) 에 관련된 표시자가 객체 그룹 (330) 에 관련된 표시자를 향하여 드래그되는지를 결정할 것이다. 다시 도 4 를 참조하면, 표시자가 객체 그룹을 향하여 드래그된다면, 컴퓨터 디바이스는 객체 그룹에 가상 객체를 추가한다 (408). 더욱이, 컴퓨터 디바이스는 메모리 영역 내에 저장한 바와 같은 가상 객체와 객체 그룹 간의 관계를 변경한다 (410). 예를 들어, 가상 객체와 객체 그룹 양자는, 그들 간의 관계가 생성, 변경, 또는 무효로 되는 경우, 가상 객체들이 어느 객체 그룹들과 연관되는지를 추적하기 위하여, 데이터베이스와 같이, 링크가 메모리 영역에서 생성되도록 고유 식별자들을 할당받을 수도 있다. 표시자가 객체 그룹에서 벗어나 드래그된다면, 컴퓨터 디바이스는 객체 그룹으로부터 가상 객체를 제거하고 (412), 가상 객체와 객체 그룹 간의 관계를 변경한다 (410).
아이템이 객체 그룹 또는 객체 그룹에 관련된 표시자 또는 식별자인 경우, 컴퓨터 디바이스는 객체 그룹에 가상 객체를 추가한다 (408). 더욱이, 컴퓨터 디바이스는 메모리 영역 내에 저장한 바와 같은 가상 객체와 객체 그룹 간의 관계를 변경한다 (410).
도 5 는 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법의 다른 실시형태를 예시하는 플로우차트 (500) 이다. 도 3a 내지 도 3e 및 도 5 를 참조하면, 그리고 일 예시적인 실시형태에서, 사용자는 입력 디바이스를 이용하여 또는 터치 스크린 디스플레이를 통해 커맨드를 시작한다 (502). 터치 입력들은 당업자에게 알려진 임의의 적합한 수단을 이용하여 인식, 수신, 및/또는 프로세싱될 수도 있다. 응답으로, 컴퓨터 디바이스는 복수의 가상 객체들에 대한 식별자를 디스플레이한다 (504). 도 3a 는 사용자 커맨드 이전의 복수의 가상 객체들 (300) 을 도시하고, 도 3b 는 컴퓨터 디바이스에 의해 디스플레이된 각각의 가상 객체 (300) 의 식별자들 (314) 을 도시한다. 컴퓨터 디바이스는 그 후 입력 디바이스의 움직임과 같은 입력 모션을 검출한다 (506).
더욱이, 컴퓨터 디바이스는, 사용자가 가상 객체 식별자 위 또는 그 근방에 커서를 배치하는 경우를 검출하고 (508), 가상 객체에 대하여 가산 프롬프트 (addition prompt) 를 디스플레이한다 (510). 커서의 배치는 입력 디바이스에 의한 입력으로서의 로케이션에 의해 또는 터치 스크린 디스플레이와의 사용자에 의한 탭 또는 콘택의 로케이션에 의해 결정될 수도 있다. 도 3c 에 도시한 바와 같이, 예를 들어, 사용자가 제 5 식별자 (320) 위 또는 그 근방에 커서를 위치시키는 경우, 프롬프트 (328) 가 디스플레이된다. 이것은, 가상 객체가 그룹 멤버십에 대하여 조작하기 위한 현재 식별된 객체라는 것을 표시한다. 컴퓨터 디바이스는 그 후, 사용자가 가상 객체 식별자를 기존 객체 그룹 식별자, 이를 테면 (도 3d 에 도시되는) 객체 그룹 (330) 으로 드래그하는 경우 또는 드래그하는지를 결정한다 (512). 사용자가 가상 객체 식별자를 드래그하지 않는다면, 컴퓨터 디바이스는 다음 사용자 입력을 대기한다. 그러나, 사용자가 가상 객체 식별자를 드래그한다면, 컴퓨터 디바이스는 가상 객체가 추가될 객체 그룹을 선택할 것을 사용자에게 프롬프트한다 (514). 예를 들어, 도 3d 는 단지 제 5 가상 객체 (310) 만을 포함하는 객체 그룹 (330) 을 도시한다. 사용자가 제 4 가상 객체 (308) 의 식별자를 드래그하는 경우, 컴퓨터 디바이스는 목적지 객체 그룹을 선택할 것을 사용자에게 프롬프트한다. 사용자는 그 후 객체 그룹 (330) 에 제 4 가상 객체 (308) 를 추가하기 위하여 제 4 가상 객체 (308) 의 식별자를 객체 그룹 (330) 의 식별자로 드래그할 수 있다.
더욱이, 컴퓨터 디바이스는 가상 객체가 추가될 새로운 객체 그룹을 생성할 수도 있다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는, 사용자가 가상 객체에 대하여 가산 프롬프트 위 또는 그 근방에 커서를 배치하는 경우를 검출한다 (516). 커서의 배치는 입력 디바이스에 의한 입력으로서의 로케이션에 의해 또는 터치 스크린 디스플레이와의 사용자에 의한 탭 또는 콘택의 로케이션에 의해 결정될 수도 있다. 컴퓨터 디바이스는 그 후 사용자가 가산 프롬프트를 클릭하는지 여부를 검출 또는 결정한다 (518). 사용자가 가산 프롬프트를 클릭하지 않는다면, 컴퓨터 디바이스는 다음 사용자 입력을 대기한다. 그러나, 사용자가 가산 프롬프트를 클릭하는 경우, 컴퓨터 디바이스는 새로운 객체 그룹에 대한 명칭을 입력할 것을 사용자에게 프롬프트하고 (520), 새로운 객체 그룹에 가상 객체를 추가하며, 가상 객체와 객체 그룹 간의 메모리 영역 내의 연관성을 변경 또는 생성한다. 예를 들어, 도 3c 는 제 5 가상 객체 (310) 에 관련된 프롬프트 (328) 를 도시한다. 컴퓨터 디바이스가 사용자가 프롬프트 (328) 를 클릭 또는 선택하는 것을 검출한다면, 그리고 어떠한 기존의 객체 그룹도 없는 경우에, 컴퓨터 디바이스는 새로운 객체 그룹 명칭을 입력할 것을 사용자에게 프롬프트한다. 도 3d 는 이러한 경우에, 사용자가 "그룹 1" 과 같은 객체 그룹 명칭을 입력할 수 있고, 새로운 객체 그룹에 제 5 가상 객체 (310) 가 추가되는 것을 도시한다.
컴퓨터 디바이스는 또한 객체 그룹으로부터 가상 객체들을 제거할 수도 있다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는, 사용자가 가상 객체에 대하여 감산 프롬프트 (subtraction prompt) 위 또는 그 근방에 커서를 배치하는 경우를 검출한다 (522). 커서의 배치는 입력 디바이스에 의한 입력으로서의 로케이션에 의해 또는 터치 스크린 디스플레이와의 사용자에 의한 탭 또는 콘택의 로케이션에 의해 결정될 수도 있다. 컴퓨터 디바이스는 그 후 사용자가 감산 프롬프트를 클릭하는지 여부를 검출 또는 결정한다 (524). 사용자가 감산 프롬프트를 클릭하지 않는다면, 컴퓨터 디바이스는 다음 사용자 입력을 대기한다. 그러나, 사용자가 감산 프롬프트를 클릭하는 경우, 컴퓨터 디바이스는 그 현재의 객체 그룹으로부터 가상 객체를 제거하고 (526), 가상 객체와 객체 그룹 간의 메모리 영역 내의 연관성을 변경 또는 삭제한다.
더욱이, 컴퓨터 디바이스는 기존 객체 그룹들을 관리할 수도 있다. 일 예시적인 실시형태에서, 컴퓨터 디바이스는, 사용자가 객체 그룹 식별자 위 또는 그 근방에 커서를 배치하는 경우를 검출하고 (528), 객체 그룹에 가상 객체를 추가하기 위하여 드래그-앤-드롭 동작으로 가상 객체 식별자가 선택 또는 그래빙, 이를 테면 사전 그래빙되는지 여부를 결정한다 (530). 가상 객체 식별자가 그래빙되었다면, 컴퓨터 디바이스는 식별자가 릴리즈되었는지 여부를 결정한다 (532). 식별자가 릴리즈되지 않았다면, 컴퓨터 디바이스는 대기한다. 식별자가 릴리즈되는 경우, 컴퓨터 디바이스는 객체 그룹에 가상 객체를 추가하고 (534), 가상 객체와 객체 그룹 간의 메모리 영역 내의 연관성을 변경 또는 생성한다. 더욱이, 컴퓨터 디바이스가 가상 객체 식별자가 선택 또는 그래빙되지 않았다고 결정하는 경우 (530), 컴퓨터 디바이스는 가상 객체에 대하여 제거 프롬프트를 디스플레이한다 (536). 컴퓨터 디바이스는 그 후 객체 그룹 식별자가 이를 테면 더블-클릭 또는 더블-탭을 통해 선택되는지 여부를 결정한다 (538). 식별자가 선택되지 않았다면, 컴퓨터 디바이스는 다음 사용자 입력을 대기한다. 그러나, 식별자가 선택되는 경우, 컴퓨터 디바이스는 객체 그룹의 명칭과 같은 새로운 식별을 입력 또는 변경할 것을 사용자에게 프롬프트한다 (540). 컴퓨터 디바이스는 그 후 객체 그룹에 속하는 가상 객체(들)와 연관하여 새로운 명칭을 메모리 영역 내에 저장한다.
도 6 은 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한, 및/또는 상기 설명된 프로세스들 및/또는 상기 설명된 것들에 관련될 수도 있는 추가적인 프로세스들을 수행하는데 있어서 이용하기 위한 일 예시적인 컴퓨터 시스템 (600) 의 개략 블록도이다. 일 예시적인 실시형태에서, 메모리 영역 (602) 은 제조 머신들과 같은 물리적 객체들의 속성들; 이러한 물리적 객체들을 표현하는데 이용되는 가상 객체들의 속성들; 물리적 객체들이 이용될 수 있고 연관된 가상 객체들이 모델링하는데 이용될 수 있는 프로세스들의 속성들; 및 객체 그룹들과 가상 객체들을 링크하는 그룹 멤버십 리스트들 및/또는 연관성들과 같은 데이터를 저장하는데 있어서 이용하기 위한 하나 이상의 저장 디바이스들 (604) 을 포함한다. 저장 디바이스들 (604) 은 하나 이상의 데이터베이스들로서 구현될 수도 있고, 단일 또는 다중 지리적 사이트들에 로케이팅될 수도 있으며, 또는 서버 시스템 (606) 과 통합될 수도 있다. 일부 실시형태들에서, 메모리 영역 (602) 은 서버 시스템 (606) 에 커플링되며, 서버 시스템 (606) 은 결국 네트워크 (612) 를 통해 하나 이상의 모바일 클라이언트 디바이스들 (608) 및/또는 하나 이상의 정지형 클라이언트 디바이스들 (610) 과 같은 클라이언트 디바이스들에 커플링된다. 모바일 클라이언트 디바이스들 (608) 은 랩톱 컴퓨터들, 태블릿 컴퓨터들, 및/또는 스마트폰들을 포함하지만 단지 이들만을 포함하는 것으로 제한되지는 않는 임의의 모바일 디바이스일 수도 있다. 정지형 클라이언트 디바이스들 (610) 은 데스크톱 컴퓨터들 등과 같이 일반적으로는 모바일이 아닌 임의의 디바이스일 수도 있다.
알 수 있는 바와 같이, 네트워크 (612) 는 인터넷과 같은 공용 네트워크, 또는 LAN 또는 WAN 네트워크와 같은 사설 네트워크, 또는 이들의 임의의 조합일 수 있고, 또한 PSTN 또는 ISDN 서브-네트워크들을 포함할 수 있다. 네트워크 (612) 는 또한, 이더넷 네트워크과 같은 유선일 수 있고, 또는 EDGE, 3G 및 4G 무선 셀룰러 시스템들을 포함하는 셀룰러 네트워크와 같은 무선일 수 있다. 무선 네트워크는 또한, WiFi, 블루투스, 또는 공지되어 있는 임의의 다른 무선 형태의 통신일 수 있다. 따라서, 네트워크 (612) 는 단지 예시적일 뿐이며, 어떠한 방식으로도 본 진보의 범위를 제한하지 않는다.
클라이언트 디바이스들 (608 및 610) 은 도 7 을 참조하여 이하 설명되는 것과 같은 임의의 적합한 컴퓨터 아키텍처, 또는 공지되어 있는 임의의 다른 컴퓨팅 아키텍처일 수 있다. 더욱이, 서버 시스템 (606) 은 상기 설명된 프로세스들 및/또는 상기 설명된 것들에 관련될 수도 있는 임의의 추가적인 프로세스들을 수행하도록 구성된다는 것이 이해되어야 한다.
서버 시스템 (606) 은 상기 설명된 프로세스들을 실행하기 위해 컴퓨터 판독가능 명령들을 저장하고, 이들 명령들을 네트워크 (612) 를 통해 클라이언트 디바이스들 (608 및 610) 에 제공한다. 더욱이, 서버 시스템 (606) 은 또한, 클라이언트 디바이스들 (608 및 610) 이 상기 설명된 프로세스들을 실행하도록 메모리 영역 (602) 으로부터의 데이터를 요구 시에 클라이언트 디바이스들 (608 및 610) 에 제공할 수 있다. 이로써, 도 6 은 클라우드 컴퓨팅, 분산형 컴퓨팅 등을 통한 컴퓨터 시스템 (600) 의 구현들을 포함한다.
도 7 은 서버 시스템 (606) 및/또는 클라이언트 디바이스들 (608 및 610) (도 6 에 각각 도시됨) 과 함께 이용하기 위한 일 예시적인 컴퓨터 아키텍처 (700) 의 개략 블록도이다.
일 예시적인 실시형태에서, 컴퓨터 아키텍처 (700) 는 상기 설명된 프로세스들 및/또는 상기 설명된 것들에 관련될 수도 있는 임의의 추가적인 프로세스들을 수행하는 하나 이상의 프로세서들 (702) (CPU) 을 포함한다. 용어 "프로세서" 는 일반적으로 시스템들 및 마이크로제어기들, RISC (reduced instruction set circuits), 주문형 집적 회로들 (ASIC), 프로그램가능 로직 회로들, 및/또는 여기에 설명된 기능들을 실행하는 것이 가능한 임의의 다른 회로 또는 프로세서를 포함하는 임의의 프로그램가능 시스템을 지칭한다는 것이 이해되어야 한다. 상기 예들은 단지 예시적일 뿐이며, 따라서 임의의 방식으로 용어 "프로세서" 의 정의 및/또는 의미를 제한하는 것으로 의도되지 않는다.
상기 설명된 프로세스들 및/또는 상기 설명된 것들에 관련될 수도 있는 임의의 추가적인 프로세스들의 단계들은 예를 들어, 시스템 버스 (706) 에 의해 프로세서 (702) 에 동작적으로 및/또는 통신적으로 커플링되는 메모리 영역 (704) 내에 컴퓨터 실행가능 명령들로서 저장될 수도 있다. "메모리 영역" 은 여기에 사용한 바와 같이, 일반적으로 가상 객체들의 그룹을 정의하는 것을 돕기 위해, 및/또는 상기 설명된 프로세스들 및/또는 상기 설명된 것들에 관련될 수도 있는 추가적인 프로세스들을 수행하는데 있어서 이용하기 위해 하나 이상의 프로세서들에 의해 실행가능한 비일시적 프로그램 코드 및 명령들을 저장하는 임의의 수단을 지칭한다. 메모리 영역 (704) 은 하나, 또는 2 개 이상의 형태들의 메모리를 포함할 수도 있다. 예를 들어, 메모리 영역 (704) 은 랜덤 액세스 메모리 (RAM) (708) 를 포함할 수도 있으며, 그 RAM (708) 은 비휘발성 RAM, 자기 RAM, 강유전성 RAM, 및/또는 다른 형태들의 RAM 을 포함할 수 있다. 메모리 영역 (704) 은 또한 판독 전용 메모리 (ROM) (710) 및/또는 플래시 메모리 및/또는 전기적 프로그램가능 판독 전용 메모리 (EEPROM) 를 포함할 수도 있다. 임의의 다른 적합한 자기, 광, 및/또는 반도체 메모리, 이를 테면 하드 디스크 드라이브 (HDD) (712) 는 그 자체로 또는 다른 형태들의 메모리와 조합하여, 메모리 영역 (704) 에 포함될 수도 있다. HDD (712) 는 또한 프로세서 (702) 에 및 그로부터 메시지들을 송신 및 수신하는데 있어서 이용하기 위해 디스크 제어기 (714) 에 커플링될 수도 있다. 더욱이, 메모리 영역 (704) 은 또한, 분리가능 또는 착탈식 메모리 (716), 이를 테면 적합한 카트리지 디스크, CD-ROM, DVD, 또는 USB 메모리일 수도 있고, 또는 이들을 포함할 수도 있다. 상기 예들은 단지 예시적일 뿐이며, 따라서, 임의의 방식으로 용어 "메모리 영역" 의 정의 및/또는 의미를 제한하는 것으로 의도되지 않는다.
컴퓨터 아키텍처 (700) 는 또한 디스플레이 제어기 (720) 에 커플링, 이를 테면 동작적으로 커플링되는 디스플레이 디바이스 (718) 를 포함한다. 디스플레이 제어기 (720) 는 디스플레이 디바이스 (718) 에 의한 디스플레이를 위해 시스템 버스 (706) 를 통해 데이터를 수신한다. 디스플레이 디바이스 (718) 는 제한 없이, 모니터, 텔레비전 디스플레이, 플라즈마 디스플레이, 액정 디스플레이 (LCD), 발광 다이오드들 (LED) 에 기초한 디스플레이, 유기 LED들 (OLED) 에 기초한 디스플레이, 폴리머 LED들에 기초한 디스플레이, 표면-전도 전자 방출들에 기초한 디스플레이, 투사 및/또는 반사 이미지를 포함하는 디스플레이, 또는 임의의 다른 적합한 전자 디바이스 또는 디스플레이 메커니즘일 수도 있다. 더욱이, 디스플레이 디바이스 (718) 는 연관된 터치스크린 제어기를 가진 터치스크린을 포함할 수도 있다. 상기 예들은 단지 예시적일 뿐이며, 따라서 임의의 방식으로 용어 "디스플레이 디바이스" 의 정의 및/또는 의미를 제한하는 것으로 의도되지 않는다.
덧붙여, 컴퓨터 아키텍처 (700) 는 (도 7 에는 미도시되는) 네트워크와 통신하는데 있어서 이용하기 위한 네트워크 인터페이스 (722) 를 포함한다. 더욱이, 컴퓨터 아키텍처 (700) 는 키보드 (724) 및/또는 포인팅 디바이스 (726), 이를 테면 롤러 볼, 마우스, 터치패드 등과 같은 하나 이상의 입력 디바이스들을 포함한다. 입력 디바이스들은 입력/출력 (I/O) 인터페이스 (728) 에 커플링되고 이것에 의해 제어되며, 이 I/O 인터페이스 (728) 는 또한 시스템 버스 (706) 에 커플링된다.
디스플레이 디바이스 (718), 키보드 (724), 포인팅 디바이스 (726) 는 물론 디스플레이 제어기 (720), 디스크 제어기 (714), 네트워크 인터페이스 (722), 및 I/O 인터페이스 (728) 의 일반적인 특징들 및 기능성의 설명은 이들 특징들이 알려져 있기 때문에 간략화를 위해 여기서 생략된다.
가상 객체들의 그룹들을 정의 및/또는 관리하는데 있어서 이용하기 위한 컴퓨터 시스템들, 컴퓨터 구현 방법들, 및 컴퓨터 디바이스들의 예시적인 실시형태들이 상세히 상술되어 있다. 컴퓨터 시스템들, 컴퓨터 구현 방법들, 및 컴퓨터 디바이스들은 여기에 설명된 특정 실시형태들에 제한되지 않고, 오히려, 방법들의 동작들 및/또는 시스템 및/또는 장치의 컴포넌트들이 여기에 설명된 다른 동작들 및/또는 컴포넌트들과는 독립적으로 및 개별적으로 이용될 수도 있다. 게다가, 설명된 동작들 및/또는 컴포넌트들은 또한, 다른 시스템들, 방법들, 및/또는 장치에서 정의되거나, 또는 다른 시스템들, 방법들, 및/또는 장치와 조합하여 이용될 수도 있고, 여기에 설명한 바와 같이 단지 시스템들, 방법들, 및 저장 매체만을 이용하여 실시하는 것으로 제한되지 않는다.
여기에 설명된 것들과 같은 컴퓨터 디바이스는 적어도 하나의 프로세서 또는 프로세싱 유닛 및 시스템 메모리를 포함한다. 컴퓨터 디바이스는 통상 적어도 일부 형태의 컴퓨터 판독가능 매체를 갖는다. 제한 없이 일 예로, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 통신 매체는 통상 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 구현하고, 임의의 정보 전달 매체를 포함한다. 당업자는, 신호 내의 정보를 인코딩하는 그러한 방식으로 설정 또는 변경된 그 특성들 중 하나 이상을 갖는 변조된 데이터 신호에 정통하다. 상기의 임의의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함된다.
본 발명은 일 예시적인 컴퓨터 시스템 환경과 함께 설명되지만, 본 발명의 실시형태들은 다수의 다른 범용 또는 특수 목적 컴퓨터 시스템 환경들 또는 구성들과 함께 동작가능하다. 여기에 설명된 컴퓨터 시스템 환경은 본 발명의 임의의 양태의 이용 또는 기능성의 범위에 대해 임의의 제한을 제안하는 것으로 의도되지 않는다. 더욱이, 컴퓨터 시스템 환경은 예시적인 운영 환경으로 예시된 컴포넌트들 중 임의의 하나 또는 조합에 관한 임의의 의존성 또는 요건을 갖는 것으로 해석되지 않아야 한다. 본 발명의 양태들과 함께 이용하기에 적합할 수도 있는 널리 알려져 있는 컴퓨터 시스템들, 환경들, 및/또는 구성들의 예들은 개인용 컴퓨터들, 서버 컴퓨터들, 핸드-헬드 또는 랩톱 디바이스들, 멀티프로세서 시스템들, 멀티프로세서 기반 시스템들, 셋 톱 박스들, 프로그램가능 가전 제품들, 모바일 전화기들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 상기 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경들 등을 포함하지만 이들에 제한되지는 않는다.
본 발명의 실시형태들은 하나 이상의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는, 프로그램 컴포넌트들 또는 모듈들과 같은 컴퓨터 실행가능 명령들의 일반적인 맥락에서 설명될 수도 있다. 본 발명의 양태들은 임의의 수 및 조직의 컴포넌트들 또는 모듈들로 구현될 수도 있다. 예를 들어, 본 발명의 양태들은 도들에 예시되고 여기에 설명된 특정 컴퓨터 실행가능 명령들 또는 특정 컴포넌트들 또는 모듈들에 제한되지 않는다. 본 발명의 대안의 실시형태들은 여기에 예시 및 설명된 것보다 더 많거나 또는 더 적은 기능성을 갖는 상이한 컴퓨터 실행가능 명령들 또는 컴포넌트들을 포함할 수도 있다.
여기에 예시 및 설명된 본 발명의 실시형태들에서의 동작들의 실행 또는 수행의 순서는 다르게 특정하지 않았다면, 필수적인 것은 아니다. 즉, 그 동작들은 다르게 특정하지 않았다면 임의의 순서로 수행될 수도 있고, 본 발명의 실시형태들은 추가적인 또는 여기에 개시된 것들보다 더 적은 동작들을 포함할 수도 있다. 예를 들어, 다른 동작 전에, 그와 동시에, 또는 후에 특정 동작을 실행 또는 수행하는 것이 본 발명의 양태들의 범위 내에 있는 것으로 예상된다.
본 발명의 양태들 또는 본 발명의 실시형태들의 엘리먼트들을 도입하는 경우, 관사들 "a", "an", "the", 및 "said" 는 엘리먼트들이 하나 이상 존재한다는 것을 의미하는 것으로 의도된다. 용어들 "포함하는 것 (comprising)", "포함하는 것 (including)", 및 "갖는 것 (having)" 은 포괄적인 것으로 의도되고, 열거된 엘리먼트들이 아닌 추가적인 엘리먼트들이 있을 수도 있다는 것을 의미한다.
이 작성된 설명은 최선의 모드를 포함하여, 본 발명을 개시하고, 또한 임의의 디바이스들 또는 시스템들을 제작 및 이용하고 임의의 통합된 방법들을 수행하는 것을 포함하여, 당업자가 본 발명을 실시할 수 있게 하기 위해 예들을 이용한다. 본 발명의 특허를 받을 수 있는 범위는 청구항들에 의해 정의되며, 당업자에게 일어나는 다른 예들을 포함할 수도 있다. 이러한 다른 예들은, 그들이 청구항들의 문자적 언어 (literal language) 와는 다르지 않은 구조적 엘리먼트들을 갖는다면, 또는 그들이 청구항들의 문자적 언어와 대단찮은 차이들을 가진 등가의 구조적 엘리먼트들을 포함한다면 청구항들의 범위 내에 있는 것으로 의도된다.
300 : 가상 객체들
302 ~ 312 : 가상 객체
316 ~ 326 : 고유 식별자
328 : 프롬프트
330 : 객체 그룹
600 : 컴퓨터 시스템
602 : 메모리 영역
604 : 저장 디바이스들
606 : 서버 시스템
608 : 모바일 클라이언트 디바이스
610 : 정지형 클라이언트 디바이스
612 : 네트워크
700 : 컴퓨터 아키텍처
702 : CPU
704 : 메모리 영역
706 : 시스템 버스
708 : RAM
710 : ROM
712 : HDD
714 : 디스크 제어기
716 : DVD/CD
718 : 디스플레이 디바이스
720 : 디스플레이 제어기
722 : 네트워크 인터페이스
724 : 키보드
726 : 포인팅 디바이스
728 : I/O 인터페이스
302 ~ 312 : 가상 객체
316 ~ 326 : 고유 식별자
328 : 프롬프트
330 : 객체 그룹
600 : 컴퓨터 시스템
602 : 메모리 영역
604 : 저장 디바이스들
606 : 서버 시스템
608 : 모바일 클라이언트 디바이스
610 : 정지형 클라이언트 디바이스
612 : 네트워크
700 : 컴퓨터 아키텍처
702 : CPU
704 : 메모리 영역
706 : 시스템 버스
708 : RAM
710 : ROM
712 : HDD
714 : 디스크 제어기
716 : DVD/CD
718 : 디스플레이 디바이스
720 : 디스플레이 제어기
722 : 네트워크 인터페이스
724 : 키보드
726 : 포인팅 디바이스
728 : I/O 인터페이스
Claims (20)
- 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법으로서,
입력 디바이스를 통해, 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하는 단계;
프로세서를 이용하여 상기 사용자 입력의 목적을 결정하는 단계; 및
상기 사용자 입력의 목적에 기초하여 상기 적어도 하나의 가상 객체에 대한 객체 그룹을 변경하고, 메모리 영역 내에 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 관계를 저장하는 단계를 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 1 항에 있어서,
상기 사용자 입력을 수신하는 단계는, 상기 적어도 하나의 가상 객체와의 제 1 인터랙션을 표현하는 제 1 사용자 입력을 수신하는 단계를 포함하며, 상기 컴퓨터 구현 방법은, 디스플레이 디바이스를 통해 상기 적어도 하나의 가상 객체에 대한 상기 객체 그룹을 변경하기 위한 사용자에 대한 프롬프트를 디스플레이하는 단계를 더 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 2 항에 있어서,
상기 사용자 입력을 수신하는 단계는, 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 수신하는 단계를 더 포함하며, 상기 객체 그룹을 변경하는 단계는, 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하는 단계를 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 3 항에 있어서,
상기 객체 그룹을 변경하는 단계는, 상기 적어도 하나의 가상 객체가 추가되는 상기 객체 그룹을 생성하는 단계를 더 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 2 항에 있어서,
상기 사용자 입력을 수신하는 단계는, 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 수신하는 단계를 더 포함하며, 상기 객체 그룹을 변경하는 단계는, 상기 객체 그룹으로부터 상기 적어도 하나의 가상 객체를 제거하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하는 단계를 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 1 항에 있어서,
상기 사용자 입력은, 상기 적어도 하나의 가상 객체가 상기 객체 그룹의 표시자를 향하여 드래그되는 드래그-앤-드롭 동작이며, 상기 객체 그룹을 변경하는 단계는, 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하는 단계를 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 제 1 항에 있어서,
상기 사용자 입력은, 상기 객체 그룹의 표시자가 상기 적어도 하나의 가상 객체를 향하여 드래그되는 드래그-앤-드롭 동작이며, 상기 객체 그룹을 변경하는 단계는, 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하는 단계를 포함하는, 가상 객체들의 그룹을 정의하기 위한 컴퓨터 구현 방법. - 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 컴퓨터 디바이스로서,
입력 디바이스;
메모리 영역; 및
상기 입력 디바이스 및 상기 메모리 영역에 커플링된 프로세서를 포함하며,
상기 프로세서는 :
상기 입력 디바이스를 통해, 적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하고;
상기 사용자 입력의 목적을 결정하며;
상기 사용자 입력의 목적에 기초하여 상기 적어도 하나의 가상 객체에 대한 객체 그룹을 변경하고, 상기 메모리 영역 내에 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 관계를 저장하도록 구성된, 컴퓨터 디바이스. - 제 8 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 1 인터랙션을 표현하는 제 1 사용자 입력을 포함하며, 상기 프로세서는 또한, 디스플레이 디바이스로 하여금, 상기 적어도 하나의 가상 객체에 대한 상기 객체 그룹을 변경하기 위한 사용자에 대한 프롬프트를 디스플레이하게 하도록 구성되는, 컴퓨터 디바이스. - 제 9 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 더 포함하며, 상기 프로세서는, 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하도록 구성되는, 컴퓨터 디바이스. - 제 10 항에 있어서,
상기 프로세서는 또한, 상기 적어도 하나의 가상 객체가 추가되는 상기 객체 그룹을 생성하도록 구성되는, 컴퓨터 디바이스. - 제 9 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 더 포함하며, 상기 프로세서는, 상기 객체 그룹으로부터 상기 적어도 하나의 가상 객체를 제거하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하도록 구성되는, 컴퓨터 디바이스. - 제 8 항에 있어서,
상기 사용자 입력은, 상기 적어도 하나의 가상 객체가 상기 객체 그룹의 표시자를 향하여 드래그되는 드래그-앤-드롭 동작이며, 상기 프로세서는 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하도록 구성되는, 컴퓨터 디바이스. - 제 8 항에 있어서,
상기 사용자 입력은, 상기 객체 그룹의 표시자가 상기 적어도 하나의 가상 객체를 향하여 드래그되는 드래그-앤-드롭 동작이며, 상기 프로세서는 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하도록 구성되는, 컴퓨터 디바이스. - 물리적 객체들을 표현하는 가상 객체들의 그룹을 정의하는데 있어서 이용하기 위한 컴퓨터 시스템으로서,
적어도 하나의 가상 객체에 관련된 사용자 입력을 수신하도록 구성된 클라이언트 디바이스; 및
상기 클라이언트 디바이스에 커플링된 서버 시스템을 포함하며,
상기 서버 시스템은 :
상기 사용자 입력의 목적을 결정하고;
상기 사용자 입력의 목적에 기초하여 상기 적어도 하나의 가상 객체에 대한 객체 그룹을 변경하고, 상기 메모리 영역 내에 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 관계를 저장하도록 구성된, 컴퓨터 시스템. - 제 15 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 1 인터랙션을 표현하는 제 1 사용자 입력을 포함하며, 상기 서버 시스템은 또한, 상기 적어도 하나의 가상 객체에 대한 상기 객체 그룹을 변경하기 위한 사용자에 대한 프롬프트를 표현하는 신호를 상기 클라이언트 디바이스에 송신하도록 구성되는, 컴퓨터 시스템. - 제 16 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 더 포함하며, 상기 서버 시스템은, 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하도록 구성되는, 컴퓨터 시스템. - 제 17 항에 있어서,
상기 서버 시스템은 또한, 상기 적어도 하나의 가상 객체가 추가되는 상기 객체 그룹을 생성하도록 구성되는, 컴퓨터 시스템. - 제 16 항에 있어서,
상기 사용자 입력은 상기 적어도 하나의 가상 객체와의 제 2 인터랙션을 표현하는 제 2 사용자 입력을 더 포함하며, 상기 서버 시스템은, 상기 객체 그룹으로부터 상기 적어도 하나의 가상 객체를 제거하고, 상기 메모리 영역 내의 상기 객체 그룹과 상기 적어도 하나의 가상 객체 간의 저장된 상기 관계를 변경하도록 구성되는, 컴퓨터 시스템. - 제 15 항에 있어서,
상기 사용자 입력은, 상기 적어도 하나의 가상 객체가 상기 객체 그룹의 표시자를 향하여 드래그되는 제 1 드래그-앤-드롭 동작, 및 상기 객체 그룹의 표시자가 상기 적어도 하나의 가상 객체를 향하여 드래그되는 제 2 드래그-앤-드롭 동작 중 하나이며, 상기 서버 시스템은 상기 객체 그룹에 상기 적어도 하나의 가상 객체를 추가하도록 구성되는, 컴퓨터 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/714,320 | 2012-12-13 | ||
US13/714,320 US9164668B2 (en) | 2012-12-13 | 2012-12-13 | Defining object groups in 3D |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140077115A true KR20140077115A (ko) | 2014-06-23 |
Family
ID=49765855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130154060A KR20140077115A (ko) | 2012-12-13 | 2013-12-11 | 3d 에서의 객체 그룹들의 정의 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9164668B2 (ko) |
EP (1) | EP2743813A2 (ko) |
JP (1) | JP6321362B2 (ko) |
KR (1) | KR20140077115A (ko) |
CN (1) | CN103870268A (ko) |
CA (1) | CA2836433A1 (ko) |
IN (1) | IN2013MU03778A (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402896B1 (en) | 2014-07-03 | 2019-09-03 | Wells Fargo Bank, N.A. | Systems and methods for interactive financial categorization and budgeting |
US10223754B1 (en) | 2014-08-12 | 2019-03-05 | Wells Fargo Bank, N.A. | Personal financial planning and engagement with peer-based comparison |
WO2021001973A1 (ja) * | 2019-07-03 | 2021-01-07 | 日本電信電話株式会社 | 表示制御装置、表示制御方法、および、表示制御プログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0690367A1 (en) * | 1994-06-27 | 1996-01-03 | International Business Machines Corporation | User interface for managing media spanning for database tables |
US7693976B2 (en) | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US20030149631A1 (en) | 2001-12-27 | 2003-08-07 | Manugistics, Inc. | System and method for order planning with attribute based planning |
US6898472B2 (en) | 2001-12-27 | 2005-05-24 | Manugistics, Inc. | System and method for order group planning with attribute based planning |
US7539630B2 (en) | 2001-12-27 | 2009-05-26 | Jda Software Group | System, method, and computer program for replenishment by manufacture with attribute based planning |
US7275063B2 (en) * | 2002-07-16 | 2007-09-25 | Horn Bruce L | Computer system for automatic organization, indexing and viewing of information from multiple sources |
JP4239090B2 (ja) * | 2004-01-08 | 2009-03-18 | 富士フイルム株式会社 | ファイル管理プログラム |
US8683362B2 (en) * | 2008-05-23 | 2014-03-25 | Qualcomm Incorporated | Card metaphor for activities in a computing device |
US8656308B2 (en) * | 2007-01-26 | 2014-02-18 | Beth Shimkin | System and method for electronic item management |
KR101320919B1 (ko) * | 2008-01-29 | 2013-10-21 | 삼성전자주식회사 | 분할 화면을 통한 gui 제공방법 및 이를 적용한멀티미디어 기기 |
JP5171386B2 (ja) * | 2008-05-19 | 2013-03-27 | キヤノン株式会社 | コンテンツ管理装置、コンテンツ管理方法、プログラム及び記録媒体 |
US9013488B2 (en) * | 2010-10-19 | 2015-04-21 | Apple Inc. | Grouping items in a folder |
US8645230B2 (en) * | 2011-03-18 | 2014-02-04 | Microsoft Corporation | Virtual closet for storing and accessing virtual representations of items |
EP2610726B1 (en) * | 2011-12-29 | 2018-08-29 | Orange | Drag and drop operation in a graphical user interface with highlight of target objects |
US8757485B2 (en) * | 2012-09-05 | 2014-06-24 | Greatbatch Ltd. | System and method for using clinician programmer and clinician programming data for inventory and manufacturing prediction and control |
-
2012
- 2012-12-13 US US13/714,320 patent/US9164668B2/en active Active
-
2013
- 2013-12-03 IN IN3778MU2013 patent/IN2013MU03778A/en unknown
- 2013-12-06 JP JP2013253182A patent/JP6321362B2/ja active Active
- 2013-12-10 CA CA2836433A patent/CA2836433A1/en not_active Abandoned
- 2013-12-11 EP EP13196764.8A patent/EP2743813A2/en not_active Withdrawn
- 2013-12-11 KR KR1020130154060A patent/KR20140077115A/ko not_active Application Discontinuation
- 2013-12-13 CN CN201310684470.XA patent/CN103870268A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20140173477A1 (en) | 2014-06-19 |
EP2743813A2 (en) | 2014-06-18 |
CN103870268A (zh) | 2014-06-18 |
US9164668B2 (en) | 2015-10-20 |
CA2836433A1 (en) | 2014-06-13 |
IN2013MU03778A (ko) | 2015-07-31 |
JP2014120164A (ja) | 2014-06-30 |
JP6321362B2 (ja) | 2018-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691284B2 (en) | Canvas layout algorithm | |
US11354865B2 (en) | Funnel visualization with data point animations and pathways | |
US10528589B2 (en) | Cross visualization interaction between data visualizations | |
CN106575308B (zh) | 数据元素向可视化边缘的基于语义距离的指派 | |
CN105247548B (zh) | 基于应用的协作工作空间***中的用户定义工作流 | |
US8810576B2 (en) | Manipulation and management of links and nodes in large graphs | |
US20140019892A1 (en) | Systems and Methods for Generating Application User Interface with Practically Boundless Canvas and Zoom Capabilities | |
US9342227B2 (en) | Semantic card view | |
US20140359478A1 (en) | Systems and Methods for Sharing a User Interface Element Based on User Gestures | |
KR20160019528A (ko) | 모바일 디바이스 상에서의 원격 애플리케이션의 관리 및 사용 | |
US20140331179A1 (en) | Automated Presentation of Visualized Data | |
WO2022048329A1 (zh) | 菜单显示方法和装置 | |
US11321422B1 (en) | User-configurable aggregate web components | |
US11763201B1 (en) | System and methods for model management | |
EP4088176A1 (en) | Dynamic data relationships in whiteboard regions | |
US20210357991A1 (en) | Systems and Methods for Providing a Campaign Design Platform Having a Component Plug-In Framework | |
KR20140077115A (ko) | 3d 에서의 객체 그룹들의 정의 | |
US20140359463A1 (en) | Data templates for default data in data binding | |
US20150135126A1 (en) | Automated touch screen zoom | |
US9400584B2 (en) | Alias selection in multiple-aliased animations | |
US10296190B2 (en) | Spatially organizing communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |