KR20100056594A - Workspace management method, workspace management system, and computer readable medium - Google Patents

Workspace management method, workspace management system, and computer readable medium Download PDF

Info

Publication number
KR20100056594A
KR20100056594A KR1020080115468A KR20080115468A KR20100056594A KR 20100056594 A KR20100056594 A KR 20100056594A KR 1020080115468 A KR1020080115468 A KR 1020080115468A KR 20080115468 A KR20080115468 A KR 20080115468A KR 20100056594 A KR20100056594 A KR 20100056594A
Authority
KR
South Korea
Prior art keywords
window
docking
docked
workspace
windows
Prior art date
Application number
KR1020080115468A
Other languages
Korean (ko)
Inventor
히로히토 시바타
요시후미 마츠나가
아키노리 고무라
Original Assignee
후지제롯쿠스 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지제롯쿠스 가부시끼가이샤 filed Critical 후지제롯쿠스 가부시끼가이샤
Priority to KR1020080115468A priority Critical patent/KR20100056594A/en
Publication of KR20100056594A publication Critical patent/KR20100056594A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

PURPOSE: A workspace management method, a workspace management system, and a computer readable medium are provided to manage a window, which is displayed through the response to the operation of an application, as a work space of a user interface. CONSTITUTION: When the movement of one window is detected from plural windows, an adjacent window detection device(250) refers to management information and another window adjacent to the one window is detected. When another window is detected, a margin display device(240) displays the positions docked with another window and the one window. When the stop of movement of the one window is detected, the one window is docked with another window.

Description

워크스페이스 관리 방법, 워크스페이스 관리 방식 및 컴퓨터 판독 가능한 기억매체{WORKSPACE MANAGEMENT METHOD, WORKSPACE MANAGEMENT SYSTEM, AND COMPUTER READABLE MEDIUM}WORKSPACE MANAGEMENT METHOD, WORKSPACE MANAGEMENT SYSTEM, AND COMPUTER READABLE MEDIUM

본 발명은 애플리케이션(application)의 기동에 응답하여 표시된 윈도우를 유저 인터페이스의 워크스페이스로서 관리하는 워크스페이스 관리 방법, 워크스페이스 관리 방식, 및 컴퓨터 판독 가능한 기억매체에 관한 것이다.The present invention relates to a workspace management method, a workspace management method, and a computer-readable storage medium for managing a displayed window as a workspace of a user interface in response to activation of an application.

최근, 점점 더 정보가 다양화하고, 그 양도 방대해져 있다. 개인의 퍼스널 컴퓨터(PC) 내에서도 예외가 아니다. 유저는 PC 상에서 다양한 애플리케이션을 기동하고, 다양한 도큐먼트(document)를 동시에 열어서 작업을 행한다. 다양한 정보를 표시하거나 편집하거나 할 경우에는, 다양한 애플리케이션을 이용하게 된다. 이것은 목적이나 정보의 종류에 따라 조작 체계가 상이하기 때문이다. 예를 들면, 텍스트(text) 문장은 워드프로세서, 그림 그리기를 할 경우에는 드로우 툴(draw tool), 웹(web) 상의 도큐먼트를 볼 경우에는 웹 브라우저를 이용하게 된다.In recent years, more and more information is diversified, and the amount is also enormous. This is not an exception in the personal personal computer (PC). The user launches various applications on the PC and opens various documents at the same time to perform work. When displaying or editing a variety of information, various applications are used. This is because the operation system differs depending on the purpose and the type of information. For example, a text sentence uses a word processor, a draw tool for drawing, and a web browser for viewing documents on the web.

이러한 상황에서는, PC 상에서 다양한 애플리케이션을 기동하여 다수의 도큐먼트를 여는 것으로 되어, 그 관리도 번거로운 일이 된다. 범용 OS(운영체제)인 Windows(등록상표)에서는, 기동하고 있는 애플리케이션이나 열려 있는 도큐먼트를 태스크 바(task bar)라고 지칭되는 바(bar)에 아이콘을 나열하고, 현재 기동하고 있는 애플리케이션이나 열려 있는 도큐먼트(즉, 윈도우)를 관찰할 수 있도록 하고 있다. 그러나, 윈도우의 수가 증가하면, 많은 아이콘이 나열되는 것으로 되고, 태스크 바 상에서 원하는 아이콘을 탐색하는 것도 번거로운 일이 된다. 이 문제에 대처하기 위해서, Windows에서는, 동일한 애플리케이션(예를 들면, Microsoft Word 또는 Internet Explorer)에서 열려 있는 복수의 도큐먼트를 태스크 바 상에서 하나로 정리하여 아이콘화하고 있다.In such a situation, a large number of documents are opened by launching various applications on the PC, and the management is cumbersome. In Windows (registered trademark), which is a general-purpose OS (operating system), icons for running applications and open documents are listed in a bar called a task bar, and the currently running application or open document is listed. (I.e., window). However, as the number of windows increases, many icons are listed, and it is cumbersome to search for a desired icon on the task bar. In order to cope with this problem, in Windows, a plurality of documents opened in the same application (for example, Microsoft Word or Internet Explorer) are collectively iconized on the task bar.

그러나, 여기에 한 가지 문제가 있다. 유저가 갖는 목적을 달성하려고 하는 행위(태스크)는 반드시 애플리케이션과 대응하는 것은 아니다. 즉, 1개의 태스크가 1개의 애플리케이션에 의해 완결되는 것은 아니다. 오히려, 1개의 태스크의 수행에 복수의 애플리케이션을 필요로 하는 것이 많다. 예를 들면, 기술 논문을 작성하는 경우에는, 워드프로세서 이외에, 사전, 자기가 읽은 논문, 자기가 지금까지 작성했던 자기의 논문, 그림을 작성하기 위한 드로우 툴 등을 동시에 (대응하는 애플리케이션을 동시에 기동하여) 표시한다. 또한, 프로그래밍을 행할 경우에는, 소스 코드(source code)를 편집하는 에디터(editor), 컴파일(compile)이나 디버그(debug)하는 환경, 매뉴얼, (필요에 따라 검색할 수 있도록) 웹 브라우저 등이 동시에 이용된다. 메일을 작성할 경우에는, 메일러(mailer), 달력, 스케줄 관리 시스템, 명부 관리 시스템 등이 동시에 이용된다. 또한, 이 태스크에서, 개개의 애플리케이션이나 도큐먼트는 유저의 기호에 따라 데스크톱 상에 나열되어서 유저 의 작업 공간을 구성하게 된다. 이러한 유저의 태스크에 대응한 작업 공간을, 본 명세서에서는, "워크스페이스"라고 지칭하기로 한다.However, there is one problem here. Actions (tasks) attempting to achieve a user's purpose do not necessarily correspond to an application. In other words, one task is not completed by one application. Rather, many applications require multiple applications to perform one task. For example, when writing a technical paper, in addition to the word processor, a dictionary, a paper read by him, his paper, and a draw tool for drawing, etc., are simultaneously executed. Display). In addition, when programming, an editor for editing source code, an environment for compiling or debugging, a manual, a web browser (to search as necessary), and the like are simultaneously used. Is used. When creating a mail, a mailer, a calendar, a schedule management system, a list management system, and the like are used simultaneously. In this task, individual applications or documents are arranged on the desktop according to the user's preferences to form the user's workspace. The workspace corresponding to the task of the user will be referred to as "workspace" in this specification.

통상, 유저는 다양한 태스크를 병행하여 작업하는 경우가 많다. 메일을 읽거나 쓰고 나서, 타인의 논문을 읽고, 또한 자기의 논문을 쓰는 경우이다. 이때, 태스크를 전환하는 작업은 종종 성가신 일이 된다. 복수의 애플리케이션이나 도큐먼트를 액티브하게 하기 위해서 몇 번이나 아이콘을 클릭할 필요가 생기거나, 동일한 도큐먼트를 상이한 워크스페이스에서 상이한 위치에 놓을 수 없다는 문제가 생기거나 한다. 유저가 행하고 싶은 것은, 태스크, 즉 워크스페이스의 전환이며 관리이다. 애플리케이션의 전환이나 관리는 시스템 측의 형편을 유저에 부과하고 있는 것에 지나지 않는다. 다양한 애플리케이션이나 도큐먼트를 유저의 기호에 따라 유연하게 배치함으로써 워크스페이스의 구성을 용이하게 하여 태스크 전환에 의해 발생하는 워크스페이스의 전환을 간단히 행할 수 있도록 하는 것이 필요하다.Usually, a user often works in parallel with various tasks. After reading or writing an e-mail, reading someone else's paper, or writing their own. At this point, switching tasks is often cumbersome. You may need to click an icon several times to activate multiple applications or documents, or you may not be able to place the same document in different locations in different workspaces. The user wants to perform tasks, that is, switch between workspaces and manage. Application switching and management imposes only a system on the user's side. By arranging various applications or documents flexibly according to the user's preference, it is necessary to facilitate the configuration of the workspace so that the workspace can be easily switched due to the task switching.

유저가 워크스페이스를 구성하고 그 전환을 용이하게 하기 위한 기술로서, 비특허문헌1에 나타낸 Rooms라고 하는 시스템에서는, 룸 메타포(room metaphor)를 이용하여 워크스페이스의 전환을 지원하고 있다. 애플리케이션이나 도큐먼트(즉, 윈도우)의 배치를 Room으로서 보존하고, overview에서 Rooms를 개관하거나, Doors를 사용하여 Room(워크스페이스)을 전환하거나 한다.As a technique for the user to configure the workspace and to facilitate the switching, a system called Rooms described in Non-Patent Document 1 supports the switching of the workspace using a room metaphor. You can preserve the layout of an application or document (that is, a window) as a Room, overview the Rooms in the overview, or switch the Room (workspace) using Doors.

비특허문헌1의 Rooms와 유사한 아이디어를 삼차원으로 확장하여 실현한 시스템으로서, Task Gallary가 비특허문헌2에 개시되어 있다. Task Gallary에서는, 벽에 특정의 윈도우 세트를 배치하여 두는 등, 삼차원의 공간 기억을 이용하여 태스 크 관리가 가능하다.Task Gallary is disclosed in Non-Patent Document 2 as a system in which an idea similar to the rooms of Non-Patent Document 1 is extended and realized in three dimensions. In Task Gallary, tasks can be managed using three-dimensional spatial memory, such as placing a specific set of windows on a wall.

또한, 비특허문헌3의 Scalable Fabric이라고 하는 시스템에서는, 큰 디스플레이의 중앙에서 유저가 주로 작업을 행하는 것을 상정하고 있다. 복수의 윈도우를 동시에 이동시키는 것이 가능하고, 중앙의 작업 스페이스로부터 디스플레이의 주변 영역으로 윈도우를 이동시키면, 윈도우 전체가 작아진다. 옆에 배치된 윈도우 집합(워크스페이스)을 다시 중앙으로 이동시키면 윈도우 전체가 커지게 되며, 이전의 작업 상태로 돌아간다. 이와 같이, 어떤 태스크의 작업 중에도 다른 태스크의 존재를 (윈도우 이미지의 축소도(縮小圖)로서) 인지하는 것이 가능하며, 워크스페이스의 전환이 용이해진다.In addition, in the system called Scalable Fabric of Non-Patent Document 3, it is assumed that a user mainly works in the center of a large display. It is possible to move a plurality of windows simultaneously, and moving the window from the central work space to the peripheral area of the display reduces the overall window. If you move the next set of windows (workspace) back to the center, the entire window grows and returns to the previous working state. In this way, it is possible to recognize the existence of another task (as a reduced size of the window image) during the operation of any task, and it is easy to switch the workspace.

Windows(등록상표)의 태스크 바에 대한 연구를 실시한 것으로서, 비특허문헌4 및 비특허문헌5에는 GroupBar라고 하는 시스템이 제안되어 있다. 데스크톱 상에 표시되어 있는 복수의 윈도우의 상태를 그룹으로서 정리하여 보존하고 재현할 수 있도록 한 것이다. 이때, 태스크 바 상에서는 윈도우마다 아이콘이 표시되는 것이 아니고, 그룹마다 아이콘이 표시되므로, 태스크 바에 아이콘이 넘치게 되는 문제를 회피할 수 있다. 또한, 워크스페이스의 전환은 그룹에 대응하는 아이콘의 전환으로서 용이하게 행할 수 있다.As a study on the task bar of Windows (registered trademark), a system called GroupBar has been proposed in Non-Patent Document 4 and Non-Patent Document 5. The state of a plurality of windows displayed on the desktop can be arranged in a group so as to be preserved and reproduced. In this case, an icon is not displayed for each window on the task bar, but an icon is displayed for each group, thereby avoiding the problem of overflowing the icon in the task bar. In addition, switching of the workspace can be easily performed by switching icons corresponding to the groups.

비특허문헌6에 나타낸 Elastic Windows에서는, 복수의 윈도우를 다중 상자 구조로 표시하고, 워크스페이스를 계층적으로 관리할 수 있다. 다중 상자 구조의 하위 구조에 위치하는 복수의 윈도우가 중첩하지 않도록 배치를 자동 조정하거나, 복수의 윈도우에 대하여 일괄적인 조작(닫기, 이동하기, 최소화하기, 최대화하기 등)이 가능하도록 되어 있다.In Elastic Windows shown in Non-Patent Document 6, a plurality of windows can be displayed in a multi-box structure, and the workspace can be managed hierarchically. It is possible to automatically adjust the layout so that a plurality of windows located in a substructure of the multi-box structure does not overlap, or to collectively operate (close, move, minimize, maximize, etc.) the plurality of windows.

특허문헌1은 복수의 도큐먼트를 가상적인 보드에 붙여서, 재현할 수 있도록 하는 프레임워크(Framework)를 제안하고 있다. 보드를 여는 것에 의해, 이전에 전자 보드를 닫은 상태가 재현된다. 보드를 워크스페이스와 같이 취급함으로써, 이전의 워크스페이스의 상태를 간단히 재현하거나 전환하는 것이 가능해지게 된다.Patent Literature 1 proposes a framework that allows a plurality of documents to be attached to a virtual board and reproduced. By opening the board, the state of closing the electronic board previously is reproduced. By treating the board like a workspace, it becomes possible to simply reproduce or switch the state of the previous workspace.

특허문헌2에는, 복수의 중첩한 윈도우의 크기나 위치를 간단한 지시에 따라 변경하고, 서로 중첩하지 않도록 재배치하는 방식을 제안하고 있다. 마지막으로, 특허문헌3에는, 새로운 윈도우를 열 때에, 다른 윈도우와 중첩하지 않도록 윈도우의 위치를 자동적으로 제어하는 방식을 제안하고 있다.Patent Literature 2 proposes a method of changing the sizes and positions of a plurality of overlapping windows according to simple instructions and rearranging them so as not to overlap each other. Finally, Patent Document 3 proposes a method of automatically controlling the position of a window so as not to overlap with another window when opening a new window.

[비특허문헌1] S. K. Card and A. Henderson. "A multiple, virtual-workspace interface to support user task switching." in Proceedings of CHI, pp. 53-59, 1987.[Non-Patent Document 1] S. K. Card and A. Henderson. "A multiple, virtual-workspace interface to support user task switching." in Proceedings of CHI, pp. 53-59, 1987.

[비특허문헌2] G. Robertson, M. van Dantzich, D. Robbins, M. Czerwinski, K. Hinckley, K. Risden, D. Thiel, V. Gorokhovsky. "The Task Gallery : A 3D Window manager." in Proceedings of CHI 2000, 494-501, 2000.[Non-Patent Document 2] G. Robertson, M. van Dantzich, D. Robbins, M. Czerwinski, K. Hinckley, K. Risden, D. Thiel, V. Gorokhovsky. "The Task Gallery: A 3D Window manager." in Proceedings of CHI 2000, 494-501, 2000.

[비특허문헌3] G. Robertson, E. Horvitz, M. Czerwinski, P. Baudisch, D. Hutchings, B. Meyers, D. Robins, G. Smith. "Scalable Fabric : Flexible task management," in Proceedings of AVI, pp. 85-89, 2004.[Non-Patent Document 3] G. Robertson, E. Horvitz, M. Czerwinski, P. Baudisch, D. Hutchings, B. Meyers, D. Robins, G. Smith. "Scalable Fabric: Flexible task management," in Proceedings of AVI, pp. 85-89, 2004.

[비특허문헌4] G. Smith, P. Baudisch, G. Robertson, M. Czerwinski, B. Meyers, D. Robbins, E. Horvitz, and D. Andrews. "GroupBar : The TaskBar evolved." in Proceedings of OZCHI '03, 2003.[Non-Patent Document 4] G. Smith, P. Baudisch, G. Robertson, M. Czerwinski, B. Meyers, D. Robbins, E. Horvitz, and D. Andrews. "GroupBar: The TaskBar evolved." in Proceedings of OZCHI '03, 2003.

[비특허문헌5] M. Czerwinski, E. Horvitz, and S. Wilhite. "A diary study of task switching and interruptions." in Proceedings of CHI, pp. 175-182, 2004.[Non-Patent Document 5] M. Czerwinski, E. Horvitz, and S. Wilhite. "A diary study of task switching and interruptions." in Proceedings of CHI, pp. 175-182, 2004.

[비특허문헌6] E. Kandogan and B. Shneiderman. "Elastic Windows : Improved spatial layout and rapid multiple Window operations." in Proceedings of ACM Advanced Visual Interfaces (AVI), Gubbio, Italy, pp. 29-38, 1996.[Non-Patent Document 6] E. Kandogan and B. Shneiderman. "Elastic Windows: Improved spatial layout and rapid multiple Window operations." in Proceedings of ACM Advanced Visual Interfaces (AVI), Gubbio, Italy, pp. 29-38, 1996.

[비특허문헌7] E. Kandogan, B Shneiderman. "Elastic Windows : Evaluation of multi-window operations." in Proceedings of CHI, pp. 250-257, 1997.[Non-Patent Document 7] E. Kandogan, B Shneiderman. "Elastic Windows: Evaluation of multi-window operations." in Proceedings of CHI, pp. 250-257, 1997.

[특허문헌1] 일본국 특허 제2715421호[Patent Document 1] Japanese Patent No. 2715421

[특허문헌2] 일본국 공개특허 제1989-76114호 공보[Patent Document 2] Japanese Unexamined Patent Publication No. 1989-76114

[특허문헌3] 일본국 공개특허 제1990-28716호 공보 [Patent Document 3] Japanese Unexamined Patent Publication No. 1990-28716

상기한 종래 기술을 이하의 3개의 평가 기준으로부터 비교해 본다.The above prior art is compared from the following three evaluation criteria.

1. 워크스페이스의 구축·전환이 지원되는가 아닌가?1. Is the construction and switching of workspaces supported?

2. 윈도우의 중첩을 없애도록, 윈도우간에서의 조정이 어느 정도 행해져 있는가?2. How much adjustment is made between windows to eliminate overlapping windows?

3. 기존의 애플리케이션이 이용 가능한가 아닌가, 가능하다면 어느 정도의 곤란함으로 가능한가?3. Is the existing application available or, if possible, with some difficulty?

[표 1]TABLE 1

Figure 112008079932293-PAT00001
Figure 112008079932293-PAT00001

이들 종래 기술에 대하여 본 발명이 해결하려고 하는 과제는 2가지이다.There are two problems to be solved by the present invention with respect to these prior arts.

1. 워크스페이스의 구축과 전환에 관한 기능상의 과제1. Functional challenges in building and switching workspaces

2. 기존 애플리케이션을 활용하기 위한 실현 방식에 관한 과제2. The Challenge of Realization to Leverage Existing Applications

1. 워크스페이스의 구축과 전환에 관한 기능상의 과제1. Functional challenges in building and switching workspaces

전술한 종래 연구 중, 워크스페이스의 구축을 가능하게 하는 것은, 표 1에 나타낸 바와 같이, Rooms(비특허문헌1), Task Gallery(비특허문헌2), Scalable Fabric(비특허문헌3), GroupBar(비특허문헌4, 5), 특허문헌1, 및 Elastic Windows(비특허문헌6)이다. 어떻게 태스크 전환을 용이하게 할지, 어떻게 하여 이전의 태스크 상태로 간단히 되돌리도록 할지, 그것을 위한 유저 인터페이스를 연구한다는 것이 이들 기술의 중심과제이다.Among the above-mentioned conventional studies, it is possible to construct a workspace as shown in Table 1, as shown in Table 1, Rooms (Non-Patent Document 1), Task Gallery (Non-Patent Document 2), Scalable Fabric (Non-Patent Document 3), and GroupBar. (Non-Patent Documents 4 and 5), Patent Document 1, and Elastic Windows (Non-Patent Document 6). Studying the user interface for how to facilitate task switching, how to simply return to a previous task state, and so on are the core challenges of these technologies.

워크스페이스의 구축을 가능하게 하는 상기의 제안에 있어서, 워크스페이스의 구축 방법에 대하여 각각의 기술의 과제를 설명한다.In the above proposal for enabling the construction of the workspace, the problems of the respective technologies will be described with respect to the construction method of the workspace.

Rooms(비특허문헌1), 특허문헌1에서는, 윈도우의 배치에 앞서, 룸(room) 또는 보드(board)를 준비하고, 그 위에 필요한 윈도우를 배치할 필요가 있다. 즉, 워크스페이스 구축에 앞서, 「나는 이제부터 xx의 워크스페이스를 구축합니다」라는 것을 시스템에 대하여 선언할 필요가 있다.In Rooms (Non-Patent Literature 1) and Patent Literature 1, it is necessary to prepare a room or a board and arrange a required window thereon prior to the arrangement of the windows. In other words, before building your workspace, you need to declare to the system that "I will now build an xx workspace".

Task Gallery(비특허문헌2) 및 GroupBar(비특허문헌4, 5)에서는, 윈도우를 배치하고, 배치한 윈도우의 상태를 보존하는 조작이 필요하게 된다. 즉, 워크스페이스를 구축한 후에, 「나는 구축한 xx를 워크스페이스로서 유지합니다」라는 것을 시스템에 대하여 선언할 필요가 있다.In Task Gallery (Non-Patent Documents 2) and GroupBar (Non-Patent Documents 4, 5), an operation for arranging windows and preserving the state of the arranged windows is required. In other words, after building the workspace, you need to declare to the system that I keep the xx as the workspace.

Scalable Fabric(비특허문헌3)에서는, 윈도우를 배치한다는 행위가 그대로 워크스페이스의 구축으로 이어지지만, 현재 작업 중이 아닌 워크스페이스를 주변의 영역으로 퇴피시키기 때문에, 작업 스페이스가 디스플레이의 중앙 부분으로 제한된 다는 문제가 있다.In Scalable Fabric (Non-Patent Document 3), the act of arranging windows leads to the construction of the workspace as it is, but the workspace is limited to the center part of the display because it retracts the workspace that is not currently being worked on to the surrounding area. there is a problem.

Elastic Windows(비특허문헌6)에서는, 윈도우의 배치에 앞서, 윈도우 내에 다중 상자 구조의 새로운 윈도우를 차례차례로 열어갈 필요가 있다.In Elastic Windows (Non-Patent Document 6), it is necessary to sequentially open a new window of a multi-box structure in the window before arranging the window.

이와 같이 종래의 기술은 어느 것이나, 워크스페이스의 구축시, 어디에 무엇을 배치할 것인가라는 윈도우의 배치에 관한 조작 이외에 「어느 것을 워크스페이스로 할 것인가」라고 하는 지정이 필요하다. 또는, 디스플레이 영역을 유효하게 활용할 수 없다는 문제가 있다. 바람직하게는, 윈도우를 배치하는 행위가 그대로 워크스페이스의 구축으로 이어질만한 직감적인 유저 인터페이스가 바람직하다. 또, 이것은 디스플레이 영역을 유효하게 활용함으로써 실현되는 것이 바람직하다.As described above, in the prior art, all of the prior arts need to designate "what should be the workspace" in addition to the operations related to the layout of the window, where and what should be placed when constructing the workspace. Another problem is that the display area cannot be utilized effectively. Preferably, an intuitive user interface where the act of arranging windows will lead directly to building a workspace. This is preferably realized by effectively utilizing the display area.

또한, Elastic Windows(비특허문헌6)를 제외한 종래 기술은 단지 복수의 윈도우의 배치를 워크스페이스로서 유지할 뿐이고, 워크스페이스 내의 윈도우 배치에 대해서 어떤 조정을 행하는 것은 아니다. 통상, 1개의 태스크를 행하기 위해서는 복수의 윈도우의 정보를 참조한다. 이때, 윈도우의 중첩을 없애거나, 무용한 스페이스가 없어지도록 윈도우의 배열을 최적화하는 것은 유저에게는 번거로운 작업이다. 이들 기술에서는 이것이 지원되지 않는다. 윈도우의 중첩이나 무용한 스페이스를 없애도록, 워크스페이스 내에서의 윈도우 위치를 자동적으로 조정하는 기능이 바람직하다.In addition, the prior art except for Elastic Windows (Non-Patent Document 6) merely maintains the arrangement of the plurality of windows as the workspace, and does not make any adjustments to the arrangement of the windows in the workspace. Normally, to perform one task, the information of a plurality of windows is referred to. At this time, it is cumbersome for the user to eliminate the overlap of the windows or to optimize the arrangement of the windows so that there is no useless space. These technologies do not support this. It is desirable to have the ability to automatically adjust the window's position within the workspace to eliminate overlapping or wasted space.

2. 기존 애플리케이션을 활용하기 위한 실현 방식에 관한 과제2. The Challenge of Realization to Leverage Existing Applications

이상, 워크스페이스 내에서의 윈도우가 중첩하지 않도록 윈도우 위치를 자동 조정하는 것의 필요성을 설명했다. 특허문헌2 및 특허문헌3에서는, 이 문제를 부 분적으로 해결한다. 즉, 유저로부터의 지시, 또는 윈도우를 여는 타이밍에서 윈도우간의 중첩이 없어지도록 윈도우 배치를 조정한다. 그러나, 그 후에 유저가 윈도우를 이동시키거나 사이즈 변경을 시행했을 경우에는, 다른 윈도우가 숨어버릴 가능성이 있다.In the above, the necessity of automatically adjusting the window position so that windows in the workspace do not overlap has been described. In Patent Document 2 and Patent Document 3, this problem is partially solved. That is, the window arrangement is adjusted so that there is no overlap between windows at the instruction from the user or at the timing of opening the window. However, if the user later moves or resizes the window, the other window may be hidden.

상기의 윈도우 배치의 문제를 해결하기 위해서, Elastic Windows(비특허문헌6)는 윈도우를 계층적으로 관리하고, 유저에 의한 윈도우의 이동, 사이즈 변경에 따라 다른 윈도우의 재배치를 행한다. 이 프레임워크에서는, 윈도우간의 연계가 밀집되어 있기 때문에 기존의 애플리케이션을 취급할 수 없다. Elastic Windows 상에 독자적으로 구축한 애플리케이션밖에 동작시킬 수 없다는 점이 문제이다.In order to solve the problem of the above window arrangement, Elastic Windows (Non-Patent Document 6) manages windows hierarchically, and rearranges other windows according to the movement and size change of the window by the user. This framework does not handle existing applications because of the tight integration between windows. The problem is that you can only run your own application on Elastic Windows.

워크스페이스 관리 방식에서는, 그 프레임워크 상에서 기존의 애플리케이션도 (가능하다면 기존 애플리케이션에 변경을 시행하지 않고, 변경이 필요하여도 가능한 한 적게 하면서) 취급하는 것이 바람직하다.In a workspace management approach, it is desirable to handle existing applications on the framework (if possible, without making changes to existing applications, but with as few changes as necessary).

본 발명은 이러한 종래 기술에 비추어, 윈도우의 중첩이나 무용한 스페이스가 없는 워크스페이스를 구성하기 위한 직감적인 유저 인터페이스를 제공하는 것을 목적으로 한다. 또한, 본 발명은 기존 시스템에 대해 가능한 한 적은 변경을 가함으로써, 복수의 윈도우의 배치를 재현함으로써 워크스페이스의 구성을 가능하게 하고, 또는 각 워크스페이스 내에서 윈도우가 중첩되지 않도록 윈도우 배치의 조정을 가능하게 하는 것을 목적으로 한다. 바꾸어 말하면, 본 발명은 기존 시스템에의 변경을 가능한 한 적게 하고, 종래 기술에 대하여 3개의 평가 기준 모두를 만족시키는 것, 또는 이를 위한 간이하고 직감적인 유저 인터페이스를 제공하는 것을 목 적으로 한다.SUMMARY OF THE INVENTION In view of this prior art, an object of the present invention is to provide an intuitive user interface for constructing a workspace without overlapping windows or useless space. In addition, the present invention enables configuration of a workspace by reproducing the arrangement of a plurality of windows by making as few changes as possible to the existing system, or adjusting the arrangement of the windows so that windows do not overlap within each workspace. It aims at making it possible. In other words, the present invention aims to make as few changes to the existing system as possible and to satisfy all three evaluation criteria for the prior art, or to provide a simple and intuitive user interface for this.

본 발명에 관한 워크스페이스 관리 방법은 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 것으로서, 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 관리하는 관리 스텝과, 윈도우의 상태의 변화를 검출하는 검출 스텝과, 상기 검출 스텝에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈도우를 검출하는 윈도우 검출 스텝과,The workspace management method according to the present invention manages a window displayed in response to the application startup as a workspace for a user interface, the management step of managing management information about a plurality of windows displayed on the display, and the state of the window. A detection step for detecting a change in a window and a window detection for detecting another window in the vicinity or overlapping of the one window with reference to the management information when a movement of one window among the plurality of windows is detected by the detection step Steps,

윈도우 검출 스텝에 의해 다른 윈도우가 검출되었을 때, 상기 1개의 윈도우와 상기 다른 윈도우의 각각에 도킹되는 위치를 표시하는 표시 스텝과, 상기 검출 스텝에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 도킹 위치를 통하여 도킹하는 도킹 스텝을 포함한다.When another window is detected by the window detection step, a display step of displaying a position docked to each of the one window and the other window; and when the stop of the movement of the one window is detected by the detection step. And a docking step of docking the one window to the other window through the docking position.

윈도우의 도킹은 윈도우의 결합을 의미한다. 또한, 도킹 위치의 표시 양태는, 예를 들면 윈도우의 변(邊)의 형상이 변화되거나, 윈도우의 변의 색채가 변화되거나, 또는 윈도우의 변의 형상과 색채의 쌍방이 변화되거나 하는 것이 가능하다. 예를 들면, 윈도우에 마진(margin)을 표시할 수 있다. 이 이외에도, 유저가 시각적으로 도킹 위치를 인식할 수 있는 양태이면 되고, 부가적으로 다른 색채나 형상 등의 이미지를 부가하는 것이어도 된다.Docking a window means combining the windows. In addition, the display mode of a docking position can change the shape of the side of a window, the color of the side of a window, or both the shape and the color of the side of a window can change. For example, you can display margins in windows. In addition to this, an aspect in which a user can visually recognize a docking position may be sufficient, and an image of another color, a shape, etc. may be added additionally.

복수의 윈도우는 각각 상이한 애플리케이션에 의해 기동되지만, 이것은 애플 리케이션이 복수인 것을 의미하며, 복수의 애플리케이션은 동일한 것이어도 되고, 상이한 것이어도 된다.Although a plurality of windows are each started by different applications, this means that there are a plurality of applications, and the plurality of applications may be the same or different.

바람직하게는, 복수의 윈도우는 직사각형이며, 상기 1개의 윈도우는 다른 윈도우의 1변의 사이즈에 적합한 사이즈로 도킹되고, 도킹된 윈도우는 직사각형이다. 또한, 표시 스텝은 다른 윈도우가 복수인 때, 1개의 윈도우와 복수의 다른 윈도우의 각각의 적어도 2변에의 도킹 위치를 표시하도록 해도 된다.Preferably, the plurality of windows are rectangular, the one window is docked to a size suitable for the size of one side of the other window, and the docked window is a rectangle. The display step may display a docking position of at least two sides of one window and a plurality of other windows when there are a plurality of other windows.

워크스페이스 관리 방법은 상기 검출 스텝에 의해 도킹된 윈도우에 포함되는 서브윈도우의 사이즈가 변경된 것이 검출되었을 때, 상기 관리 정보를 참조하여, 도킹된 윈도우에 포함되는 다른 서브윈도우의 사이즈를 동시에 변경하는 사이즈 변경 스텝을 더 포함할 수 있다.In the workspace management method, when it is detected that the size of a subwindow included in the docked window is changed by the detecting step, the size of changing the size of another subwindow included in the docked window simultaneously with reference to the management information. The change step may further include.

워크스페이스 관리 방법은 상기 검출 스텝에 의해 도킹된 윈도우의 이동이 검출되었을 때, 도킹된 윈도우를 전체로서 이동시키는 스텝을 더 포함할 수 있다.The workspace management method may further include moving the docked window as a whole when the movement of the docked window is detected by the detecting step.

본 발명에 관한 워크스페이스 관리 방식( 및 관리 프로그램)은 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 것으로서, 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 기억하는 윈도우 관리 수단과, 윈도우의 상태의 변화를 검출하는 검출 수단과, 상기 검출 수단에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈도우를 검출하는 윈도우 검출 수단과, 윈도우 검출 수단에 의해 다른 윈도우가 검출된 때, 상기 1개의 윈도우와 상기 다른 윈도우가 도킹 가능한 것을 제시하는 제시 수단과, 상기 검 출 수단에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 제시된 도킹 위치를 통하여 도킹하는 도킹 수단을 갖는다.The workspace management method (and management program) according to the present invention manages a window displayed in response to the application startup as a workspace for a user interface, and manages window management information for storing a plurality of windows displayed on a display. Means, a detection means for detecting a change in the state of the window, and when the movement of one of the plurality of windows is detected by the detection means, the other, near or overlapping the one window with reference to the management information. Window detecting means for detecting a window, presenting means for presenting that the one window and the other window are dockable when another window is detected by the window detecting means, and the detecting means for the one window. When a stop of movement is detected, the one window is The dough has a docking means for docking a docked through the position shown.

바람직하게는, 관리 정보는 적어도 윈도우를 식별하는 식별 정보, 윈도우의 위치 정보, 윈도우의 사이즈 정보를 포함하고, 또한 도킹된 윈도우의 식별 정보, 위치 정보 및 사이즈 정보를 포함한다. 바람직하게는, 제시 수단은 상기 1개의 윈도우가 상기 다른 윈도우에 도킹되는 위치를 표시하는 표시 수단을 포함하고, 표시 수단은 윈도우의 특정 변에 다른 변과 식별가능한 표시를 부여할 수 있다. 바람직하게는, 검출 수단은 정기적으로 액티브한 윈도우의 상태를 감시하고, 액티브한 윈도우의 이벤트(event)의 변화를 검출한다. 또는, 검출 수단은 윈도우에 대하여 조작된 이벤트의 종류를 검출하도록 해도 된다. 바람직하게는, 복수의 윈도우는 각각 상이한 애플리케이션에 의해 기동된다.Preferably, the management information includes at least identification information identifying the window, position information of the window, size information of the window, and also includes identification information, position information and size information of the docked window. Preferably, the presenting means includes display means for indicating a position at which the one window is docked with the other window, and the display means can give a display distinguishable from the other side to the specific side of the window. Preferably, the detection means periodically monitors the state of the active window and detects a change in the event of the active window. Alternatively, the detection means may detect the type of event operated for the window. Preferably, the plurality of windows are each activated by a different application.

워크스페이스 관리 방식은 도킹된 윈도우의 상태를 보존하는 상태 보존 수단과, 상기 상태 보존 수단에 의해 보존된 상태에 기초하여 도킹 윈도우를 재현하는 상태 재현 수단을 더 포함할 수 있다.The workspace management scheme may further include state preserving means for preserving the state of the docked window and state reproducing means for reproducing the docking window based on the state preserved by the state preserving means.

또한, 본 발명의 워크스페이스 관리 방식은 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 것으로서, 1개의 윈도우를 다른 윈도우에 도킹하는 도킹 수단과, 도킹된 도킹 윈도우 내의 서브윈도우에 대한 조작 이력 정보를 유지하는 이용 이력 유지 수단과, 상기 조작 이력 정보에 기초하여 도킹된 윈도우 내의 서브윈도우의 배치를 추천하는 배치 추천 수단 을 갖는다.In addition, the workspace management method of the present invention manages a window displayed as a workspace for a user interface in response to an application startup, and includes docking means for docking one window to another window and a subwindow in the docked docking window. And use history holding means for holding operation history information for the second and placement recommendation means for recommending the arrangement of the sub-window in the docked window based on the operation history information.

바람직하게는, 배치 추천 수단은 상기 조작 이력 정보에 기초하여 적어도 서브윈도우의 이용 빈도 또는 서브윈도우간의 유사도를 산출하고, 그 산출 결과에 따라 서브윈도우의 배치를 결정한다.Preferably, the arrangement recommendation means calculates at least the frequency of use of the sub-windows or the similarity between the sub-windows based on the operation history information, and determines the arrangement of the sub-windows according to the calculation result.

또한, 본 발명에 관한 워크스페이스 관리 방식( 및 프로그램)은 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 것으로서, 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 기억하는 윈도우 관리 수단과, 윈도우의 상태의 변화를 검출하는 검출 수단과, 상기 검출 수단에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈도우를 검출하는 윈도우 검출 수단과, 윈도우 검출 수단에 의해 다른 윈도우가 검출되었을 때, 상기 1개의 윈도우와 상기 다른 윈도우의 각각에 도킹되는 위치를 표시하는 표시 수단과, 상기 검출 수단에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 도킹 위치를 통하여 도킹하는 도킹 수단을 갖는다.In addition, the workspace management method (and program) according to the present invention manages a window displayed in response to the application startup as a workspace for a user interface, and stores a management information about a plurality of windows displayed on the display. When the movement means of one of the plurality of windows is detected by the management means, the detection means for detecting a change in the state of the window, and the detection means moves near or overlaps the one window with reference to the management information. Window detection means for detecting another window, display means for displaying a position docked to each of the one window and the other window when another window is detected by the window detection means, and the detection means causes the 1 to be displayed. When a stop of movement of two windows is detected, the one window is The other window has docking means for docking through the docking position.

본 발명에 의하면, 다음과 같은 효과를 얻을 수 있다.According to the present invention, the following effects can be obtained.

(a) 윈도우에 의한 워크스페이스를 구축하는 조작이 종래의 것에 비하여 직감적으로 간단하다.(a) The operation of constructing a workspace by a window is intuitively simple compared with the conventional one.

(b) 워크스페이스에서의 윈도우 배치를 자동화함으로써 윈도우 배치가 용이 하게 되고, 무용한 스페이스를 만들지 않아서 한정된 디스플레이 공간을 유효하게 이용할 수 있다.(b) By automating the arrangement of windows in the workspace, it becomes easy to arrange windows and makes use of the limited display space effectively without creating useless spaces.

이하, 본 발명의 워크스페이스 관리 방식의 기본적인 아이디어에 대하여 도면을 참조해서 설명한다. 본 발명의 아이디어는 주로 2가지로 대별된다.EMBODIMENT OF THE INVENTION Hereinafter, the basic idea of the workspace management system of this invention is demonstrated with reference to drawings. The idea of the present invention mainly falls into two categories.

1. 워크스페이스의 구축, 전환을 지원하는 유저 인터페이스1. User interface for building and switching workspaces

2. 1의 유저 인터페이스를 실현하기 위한 아키텍쳐(architecture)이며, 기존의 애플리케이션을 발명의 프레임워크에 가능한 한 간이하게 취입하기 위한 실현 방식An architecture for realizing the user interface of 2.1, an implementation scheme for injecting existing applications into the framework of the invention as easily as possible.

1. 유저 인터페이스와 그 동작1. User Interface and Its Operation

도 1의 (a)는 디스플레이 상에 2개의 윈도우A, B가 표시되고, 윈도우A의 가까이에 윈도우B가 드래그(drag)되어 있는 상태를 나타내고 있다. 윈도우A, B는 각각 별개의 애플리케이션 소프트웨어를 컴퓨터의 운영 소프트웨어 상에서 실행하는 것에 의해 디스플레이 상에 표시된 것이며, 윈도우B는 마우스 등의 입력 장치에 의해 선택되어 드래그(이동)된다. 윈도우A와 윈도우B가 어느 정도 가까워지면, 양자가 도킹 가능하다는 것을 나타내는 톱니 형상의 마진(10, 12)이 윈도우A, B의 대향하는 변에 각각 표시된다. 이 상태에서, 윈도우B를 드롭(이동을 정지)하면, 도 1의 (b)에 나타낸 바와 같이 양쪽 윈도우A, B는 도킹하여 1개의 윈도우로 된다. 이때, 윈도우B의 사이즈는 윈도우A의 마진이 표시된 변의 사이즈에 적합한 사이즈로 조정된다.FIG. 1A shows a state in which two windows A and B are displayed on the display, and a window B is dragged near the window A. FIG. Windows A and B are displayed on the display by executing separate application software on the operating software of the computer, respectively, and Window B is selected and dragged (moved) by an input device such as a mouse. When the window A and the window B come to some extent, the sawtooth margins 10 and 12 indicating that both can be docked are displayed on opposite sides of the windows A and B, respectively. In this state, when window B is dropped (moving is stopped), as shown in Fig. 1B, both windows A and B are docked to become one window. At this time, the size of the window B is adjusted to a size suitable for the size of the side where the margin of the window A is displayed.

여기서, 도킹된 윈도우(이하, 도킹 윈도우라고 한다)는 도킹되어 있지 않은 통상의 윈도우(이하, 비도킹 윈도우라고 한다)와 유사한 행동을 한다.Here, a docked window (hereinafter referred to as a docking window) behaves similarly to a normal window that is not docked (hereinafter referred to as an undocked window).

(a) 도킹후의 윈도우의 형상은 장방형 또는 직사각형이다.(a) The shape of the window after docking is rectangular or rectangular.

(b) 도킹후의 윈도우는 한꺼번에 이동한다. 즉, 타이틀 바(Title Bar)를 드래그 함으로써 윈도우A, B 양쪽이 동시에 이동한다.(b) Windows after docking move at once. That is, by dragging the title bar, both windows A and B move simultaneously.

(c) 도킹 윈도우에 포함되는 개개의 서브윈도우에 대하여, 동시에 닫기(close), 최대화, 최소화를 하는 것이 가능하다.(c) It is possible to simultaneously close, maximize, and minimize individual subwindows included in the docking window.

또한, 도킹 윈도우는 복수의 윈도우의 집합체이기 때문에, 이하와 같은 점이 일반적인 윈도우와 상이하다.In addition, since the docking window is an aggregate of a plurality of windows, the following points are different from the general windows.

(a) 특정 서브윈도우의 사이즈를 변경하는 것에 의해, 다른 서브윈도우(, 또는 전체를 통괄하는 도킹 윈도우)의 사이즈도 변화된다.(a) By changing the size of the specific subwindow, the size of the other subwindow (or the docking window which covers the whole) is also changed.

(b) 도킹의 해제가 가능하다. 전체를 해제할 경우도 있을 것이고, 특정 서브윈도우만을 해제할 경우도 있을 것이다.(b) Undock is possible. In some cases, you might want to release all of them, or you may want to release only certain subwindows.

(c) 필요에 따라, 도킹된 것을 나타내도록 타이틀 바의 표시를 통상의 윈도우의 표시와 상이하게 해도 좋다.(c) If necessary, the display of the title bar may be different from that of the normal window so as to indicate that it is docked.

(c1) 통상의 「최소화」, 「최대화」,「닫기」의 버튼에 대하여 「도킹 해제」의 버튼을 추가한다.(c1) The "undocking" button is added to the normal "minimize", "maximize", and "close" buttons.

(c2) 윈도우의 아이콘을 특수한 것으로 변경한다.(c2) Change the window icon to something special.

(c3) 타이틀 바의 배경의 색을 변경한다.(c3) Change the background color of the title bar.

다음으로, 서브윈도우의 사이즈를 변경했을 경우의 동작에 관하여 설명을 행 한다. 도 2는 서브윈도우B의 사이즈를 변경함으로써 윈도우A의 사이즈도 변경하고, 동시에 (윈도우A, B를 포함한) 도킹 윈도우 전체의 사이즈가 변화되는 것을 나타내고 있다. 도 2의 (a)에 나타낸 바와 같이 윈도우B를 확대(높이 및 폭을 넓힘)하면, 도 2의 (b)에 나타낸 바와 같이 윈도우A의 높이가 변화된다. 다만, 윈도우A의 폭은 변화되지 않는다.Next, the operation when the size of the subwindow is changed will be described. 2 shows that the size of the window A is changed by changing the size of the sub window B, and the size of the entire docking window (including the windows A and B) is changed at the same time. As shown in Fig. 2A, when the window B is enlarged (height and width are widened), the height of the window A is changed as shown in Fig. 2B. However, the width of the window A does not change.

도 3은 서브윈도우A, B, C가 도킹된 윈도우에서, 윈도우A의 폭을 넓히고 있다. 도 3의 (a)에 나타낸 상태로부터 서브윈도우A의 폭이 넓혀지면, 도 3의 (b)에 나타낸 바와 같이 윈도우B와 C는 폭의 비율을 유지한 상태로 축소된다.3 shows a widening of the width of the window A in a window in which the sub-windows A, B, and C are docked. When the width of the sub-window A is widened from the state shown in Fig. 3A, as shown in Fig. 3B, the windows B and C are reduced while maintaining the width ratio.

도 4는 서브윈도우A, B, C, D가 도킹된 윈도우에서, 서브윈도우A의 폭을 확대하고 있다. 도 4의 (a)에 나타낸 상태로부터 서브윈도우A를 확대하면, 도 4의 (b)에 나타낸 바와 같이 그에 따라 윈도우C와 D의 폭은 축소된다. 동시에 윈도우B의 폭은 확대된다.4 is an enlarged view of the width of the sub-window A in a window in which the sub-windows A, B, C, and D are docked. If the sub-window A is enlarged from the state shown in Fig. 4A, the widths of the windows C and D are reduced accordingly as shown in Fig. 4B. At the same time, the width of window B is enlarged.

본 발명에서는 도킹한 윈도우를 워크스페이스로서 이용하는 것을 상정한다. 그 의미로써, 도킹 윈도우와 워크스페이스를 종종 동일한 의미로 취급한다.In the present invention, it is assumed that the docked window is used as the workspace. In that sense, docking windows and workspaces are often treated in the same sense.

2. 아키텍처(실현 방식)2. Architecture (realization)

본 발명의 상기한 아이디어의 프레임워크(Docking Window Framework(DWF)로 지칭)를 실현함에 있어서, 운영체제(OS)에 기능을 추가하는 것만으로 DWF를 실현하는 것이 가능하다면, 다음과 같은 관점에서 유리하다.In realizing the framework of the above idea of the present invention (referred to as Docking Window Framework (DWF)), if it is possible to realize DWF only by adding a function to an operating system (OS), it is advantageous in the following aspects. .

(a) 기존의 애플리케이션(예를 들면, Microsoft Office의 애플리케이션 등)에 일절의 변경을 시행하지 않고, DWF의 이점을 얻을 수 있다.(a) Benefit from DWF without any changes to existing applications (for example, Microsoft Office applications).

(b) 시스템에 버그(bug)가 있어도, OS에 추가한 모듈만을 치환해도 되고, 애플리케이션마다 치환할 필요가 없다. 이것은 시스템의 버전 업에 관해서도 할 수 있다.(b) Even if there is a bug in the system, only the modules added to the OS may be replaced, and there is no need to replace each application. This can also be done for system upgrades.

그러나, 일반적으로 이러한 것은 곤란하다. 애플리케이션의 밖으로부터 애플리케이션의 윈도우에서 어떠한 이벤트가 발생되어, 윈도우가 어떠한 상태에 있는지를 아는 것이 곤란하기 때문이다. 여기에서는, 이 대처법으로서 2가지 방식을 제안한다. 여기서, OS에 추가된 윈도우를 관리하는 모듈을 「매니저」로 지칭하기로 한다.However, this is generally difficult. This is because it is difficult to know what event is occurring in the window of the application from outside the application, and in what state the window is. Here, two methods are proposed as this countermeasure. Here, the module managing the window added to the OS will be referred to as "manager".

방식A(이벤트 검출 방식) : 이벤트 검출 방식은 매니저에 의해 정기적으로 전체 윈도우의 상태를 체크하고, 윈도우 상태에 변화가 있었을 경우, 변화의 종류로부터 이벤트의 종류를 특정한다.Method A (Event Detection Method): The event detection method checks the state of all windows on a regular basis by the manager, and when there is a change in the window state, specifies the type of event from the type of change.

방식B(이벤트 통지 방식) : 이벤트 통지 방식은 각 윈도우에서 윈도우 상태에 변경이 있었을 경우, 윈도우로부터 매니저로 이벤트가 생성된 것을 통지한다.Method B (Event Notification Method): The event notification method notifies that the event is generated from the window to the manager when there is a change in the window state in each window.

이벤트 검출 방식은 애플리케이션 측에는 일절의 변경을 시행하지 않고 DWF를 실현할 수 있다. 그러나, 이하와 같은 문제를 수반하게 된다.The event detection method can realize DWF without any change on the application side. However, the following problems are accompanied.

(a) 매니저가 정기적으로 모든 윈도우의 상태를 체크하므로, 컴퓨터의 리소스를 대폭적으로 사용하게 된다.(a) Since the manager regularly checks the status of all windows, it uses up a lot of computer resources.

(b) 정기적인 체크에 의해 이벤트를 검출하므로, 실제의 이벤트의 발생으로부터 이벤트를 검지할 때까지 시간 지연(time lag)이 발생하게 된다. 이것이 DWF 전체의 행동에 지연을 초래하게 된다. 물론, 체크의 주기를 작게 함으로써 문제는 경감될 수 있지만, 주기를 작게 하면 한 만큼 컴퓨터의 리소스가 소비되게 된다.(b) Since the event is detected by regular checks, a time lag occurs from the occurrence of the actual event until the event is detected. This causes a delay in the overall behavior of the DWF. Of course, the problem can be alleviated by making the check period small, but by reducing the cycle, computer resources are consumed by one.

이벤트 통지 방식은 각 애플리케이션 측에서 「필요한 타이밍에서 매니저에 이벤트가 있었던 것을 통지한다」라는 처리를 행할 필요가 있다. 즉, 애플리케이션마다 변경을 실시할 필요가 있다. 물론, 변경은 적으면 적을수록 좋다. 또한, 매니저에서의 기능 변경이 있을 때마다 모든 애플리케이션에 변경을 실시하는 것도 번거로운 일이므로, 각 애플리케이션에서 실장될 기능은 보편적인 (기능 변경에 대하여 완강(頑强)한) 것이 바람직하다. 거기에서, 애플리케이션 측이 구비해야 할 최소한의 기능으로서, 「특정 이벤트가 발생하면 그것을 매니저에게 통지한다」를 제기한다. 여기서 중요한 것은 애플리케이션 측에서는 이벤트의 발생을 매니저에 알릴뿐이고, (매니저와의 쌍방향 통신을 포함한) 그 이외의 것은 일절 행하지 않는다는 것이며, 그것만 행하면 그 밖의 것은 모두 매니저가 대처해 준다는 것이다. 또, 실시예에서 상세하게 설명하겠지만, 송신해야 할 이벤트의 종류는 최소한의 구성으로서 다음을 들 수 있다.The event notification method needs to perform a process of "notifying the manager that an event has occurred at the required timing" on each application side. In other words, changes need to be made for each application. Of course, the smaller the change, the better. In addition, it is cumbersome to make changes to all applications whenever there is a function change in the manager. Therefore, the function to be implemented in each application is preferably universal (stiff against function change). From there, as the minimum function that the application side should have, it raises "notify the manager when a specific event occurs". The important thing here is that the application only informs the manager of the occurrence of the event, and does nothing else (including two-way communication with the manager), and if it does, the manager takes care of everything else. In addition, although it demonstrates in detail in an Example, the kind of event to transmit is the following as a minimum structure.

애플리케이션 기동 「Execute」Launching the Application "Execute"

애플리케이션 종료 「Exit」Application Exit "Exit"

윈도우가 액티브 「Active」Windows is active "Active"

윈도우의 이동 「Move」Move window "Move"

윈도우의 드롭(이동의 종료) 「Drop」Drop window (end of movement) "Drop"

윈도우의 사이즈 변경 「Resize」Resize Window "Resize"

실제로, Execute에 대응시킨 Exit도 리스트에 부가되어 있지만, Exit에 관해 서는 절대로 필요로 하는 것은 아니다. Exit가 있는 쪽이 스마트하지만, 필수적이지는 않다. 구체적으로 설명하면, Exit가 검출되지 않으면, 윈도우의 닫기에 대응하여 테이블로부터 윈도우를 삭제하는 것이 불가능하기 때문에, 윈도우가 점점 커져 간다. 이것은 처리의 증대를 초래한다. 또한, 윈도우의 「최대화」,「최소화」,「되돌리기」에의 대처로서, Resize 이벤트를 세분화할 가능성도 있다. 참고로, 이들 이벤트의 몇몇은 매니저 측에서 자동적으로 검출하고, 다른 것을 애플리케이션 측으로부터 통지할 가능성도 있다.In fact, the Exit corresponding to Execute is also added to the list, but it is not absolutely necessary for Exit. The exit is smarter, but not essential. Specifically, if Exit is not detected, it is impossible to delete the window from the table in response to the closing of the window, and thus the window becomes larger. This results in an increase in processing. In addition, the Resize event may be subdivided as a countermeasure to "maximizing", "minimizing", and "reverting" a window. For reference, some of these events are automatically detected on the manager side, and there is a possibility to notify others from the application side.

도킹의 종류Type of dock

도 1에 나타낸 도킹은, 도킹되는 윈도우A의 외측에 도킹한 윈도우B가 달라붙는 (A의 외측으로 B가 밀려 나오는) 형태로 도킹이 행해진다. 이러한 도킹을 「확장 도킹」이라 지칭하기로 한다. 이에 대하여, 도 5의 (a), (b)에 나타낸 도킹은 윈도우A, B의 도킹 윈도우에 대하여, 윈도우C가 윈도우B의 영역에 끼어들도록 도킹되어 있다. 이렇게 기존의 윈도우에 들어가는 형태로써의 도킹을 「매립 도킹」이라 지칭하기로 한다.The docking shown in FIG. 1 is docked in a form in which the window B docked on the outside of the window A to be docked is attached (the B is pushed out of the outside of A). Such docking will be referred to as "extended docking". In contrast, the docking shown in Figs. 5A and 5B is docked with respect to the docking windows of windows A and B so that window C intervenes in the area of window B. This docking as a form of entering an existing window will be referred to as "embedded docking".

다음으로, 확장 도킹과 매립 도킹의 차이에 관하여 설명을 부가한다. 첫째로, 확장 도킹은 도킹의 전후에서 윈도우의 크기가 변화되는 것에 대해서, 매립 도킹은 도킹의 전후에서 윈도우의 크기가 변화하지 않는다. 둘째로, 확장 도킹에서는 「마진」이 표시되는 것은 각 윈도우마다 1변뿐인 것에 대하여, 매립 도킹에서는 각 윈도우마다 2변 이상의 「마진」이 표시된다. 도 5의 (a)에 나타낸 바와 같이, 도킹된 윈도우A와 B의 각 변에 마진(14a, 14b)이 표시되고, 윈도우C의 좌단, 상단에 마진(16)이 표시되어 있는 것이 그에 해당한다.Next, a description is given regarding the difference between the extended docking and the buried docking. First, extended docking does not change the size of the window before or after docking, whereas buried docking does not change the size of the window before or after docking. Second, in the extended docking, "margin" is displayed on only one side of each window, whereas in the embedded docking, "margin" of two or more sides is displayed on each window. As shown in FIG. 5A, the margins 14a and 14b are displayed on each side of the docked windows A and B, and the margins 16 are displayed on the left and upper ends of the window C. FIG. .

본 발명의 최대의 특징은 단독으로 이용할 수 있는 애플리케이션을 도킹이라는 조작을 통하여 워크스페이스를 구성할 수 있는 것에 있다. 종래와 같이, 윈도우를 나열하여 배치를 보존하는 것이 아니라, 배치한다는 조작 그것이 워크스페이스를 구성하는 것으로 이어진다. 즉, 워크스페이스의 작성이 직감적이며, 그 결과에 관한 피드백도 바로 얻을 수 있다. 또, 그 실현에서의 특징은 기존의 애플리케이션에 대한 변경 없이, 또는 변경이 적게, 워크스페이스의 관리를 행한다는 점이다.The biggest feature of the present invention is that the workspace can be configured through an operation of docking an application that can be used alone. As in the prior art, rather than arranging the windows to preserve the layout, the operation of arranging it leads to configuring the workspace. In other words, creating a workspace is intuitive, and you get instant feedback on the results. In addition, a feature of the realization is that the workspace is managed without changing or changing the existing application.

또한, 본 발명의 워크스페이스 관리 방식은 다음과 같이 응용하는 것이 가능하다.In addition, the workspace management method of the present invention can be applied as follows.

도킹 윈도우에 대한 상호작용(interaction)Interaction with the docking window

(a) 워크스페이스 내의 특정 윈도우를 크게 하거나 작게 한다. 상대적으로 다른 것은 작아지거나 커지거나 한다. 최대화, 최소화는 아니고, 확대, 축소에 대응한다.(a) Make a particular window larger or smaller in the workspace. Relatively others become smaller or larger. It is not maximization or minimization, but corresponding to enlargement and reduction.

(b) 워크스페이스 내의 특정 윈도우를 축소시킨다. 상대적으로 다른 것은 커진다.(b) Collapse specific windows in the workspace. Relatively different things get bigger.

(c) 도킹 윈도우의 상태(서브윈도우의 애플리케이션과 위치 관계)를 보존하고 재현하는 것이 가능하다.(c) It is possible to preserve and reproduce the state of the docking window (relationship with the application of the subwindow).

(d) 도킹 윈도우의 도큐먼트 상태(윈도우 상태 외에도, 각 윈도우에서 열고 있는 도큐먼트, 스크롤 위치, 커서 위치 등)를 보존하고 재현하는 것이 가능하다.(d) It is possible to save and reproduce the document state of the docking window (in addition to the window state, the document being opened in each window, scroll position, cursor position, etc.).

워크스페이스를 구성하는 윈도우를 시스템이 자동으로 탐색하여 후보를 제시The system automatically detects the windows that make up the workspace and presents candidates

본 발명을 이용한 프레임워크를 유저가 먼저 이용할 경우에, 워크스페이스 구축 지원으로서 이용할 수 있을 것이고, 통상의 이용에 있어서, 윈도우를 도킹했을 때, 다른 후보가 될 수 있는 윈도우를 자동적으로 추천해도 된다. 도킹 후보의 애플리케이션이나 도큐먼트는 아래와 같이 수집하면 된다.When the user uses the framework using the present invention, it may be used as a workspace construction support, and in normal use, a window that may be another candidate may be automatically recommended when the window is docked. The applications and documents of the docking candidate may be collected as follows.

(a) 도큐먼트의 일시(日時) 속성(작성, 갱신, 참조)이 가까운 것(a) the date-time attributes (create, update, reference) of the document are close.

(b) 전에 함께 이용한 적이 있는 도큐먼트(b) Documents you've used together before

(c) 다른 워크스페이스에서 함께 이용되고 있는 도큐먼트(c) Documents being used together in different workspaces

워크스페이스에서의 윈도우 배치에서, 시스템이 최적인 배치 방법을 제시In window layout in the workspace, the system suggests the best layout method

(a) 워크스페이스 내에서의 유저의 행동에 있어서, 액티브한 서브윈도우가 어떻게 추이할지를 분석하고, 적절한 윈도우 배치를 추천한다.(a) Analyze how the active subwindow will transition in the user's behavior in the workspace, and recommend appropriate window layout.

(a1) 조작의 이동이나 목선(目線) 이동은 적은 쪽이 바람직하다.(a1) It is preferable that the movement of the operation and the movement of the neck line are small.

(a2) 조작은 좌로부터 우, 위로부터 아래로 이동하는 것이 바람직하다.(a2) It is preferable to move an operation from left to right and top to bottom.

(a3) 빈번히 조작의 전환이 일어나는 서브윈도우는 근방에 있는 것이 바람직하다.(a3) It is preferable that the sub-window in which the operation is frequently switched is near.

(실시예)(Example)

다음으로, 본 발명의 실시예에 관한 워크스페이스 방식에 대하여 설명한다. 본 실시예에 관한 워크스페이스 방식은, 예를 들면 PC에 탑재된 OS 상에서 실행 가능한 애플리케이션 소프트웨어 또는 OS에 결합된 프로그램에 의해 실행가능하다.Next, a workspace method according to an embodiment of the present invention will be described. The workspace method according to the present embodiment is executable by, for example, application software executable on an OS mounted on a PC or a program coupled to the OS.

이하의 설명에서는, 먼저, 1. 이벤트 검출과, 2. 이벤트 통지 방식의 2개의 이벤트 처리 방식에 대하여 설명한다. 다음으로, 그 발전으로서, 3. 윈도우 상태, 도큐먼트 상태의 보존과 재현을 행하는 시스템의 실시예를 나타낸다. 다음으로, 4. 도킹 대상의 윈도우 후보를 자동적으로 제시하는 시스템의 실시예, 5. 워크스페이스 내의 최적인 윈도우 배치를 제시하는 시스템의 실시예를 나타낸다. 마지막으로, 6. 매립 도킹의 실시예를 나타낸다. 또, 상기의 실시예에서는, 도킹 방법으로서, 확장 도킹을 전제로 하여 설명하고 있다. 매립 도킹에 대해서는 후술하기로 한다. 또, 확장 도킹을 단지 도킹으로 설명함에 유의한다.In the following description, first, two event processing methods of 1. event detection and 2. event notification method will be described. Next, as the development, an embodiment of a system for storing and reproducing 3. the window state and the document state is shown. Next, an embodiment of the system for automatically presenting window candidates to be docked, and an embodiment of the system for presenting an optimal window arrangement in the workspace will be described. Finally, 6. An embodiment of a buried dock is shown. In the above embodiment, the docking method is described under the assumption of extended docking. A buried dock will be described later. Also note that extended docking is merely described as docking.

1. 이벤트 검출 방식1. Event Detection Method

이벤트 검출 방식에서는, 개개의 애플리케이션의 윈도우에는 일절의 변경을 시행할 필요는 없고, 매니저가 모든 처리를 행한다. 또한, 이벤트의 검출에서, Exit 이벤트는 검출하지 않는 것으로 한다.In the event detection method, no change is necessary to the window of each application, and the manager performs all the processing. In addition, the exit event is not detected when the event is detected.

도 6은 이벤트 검출 방식의 구성을 나타낸 블록도이다. 동 도면에 나타낸 바와 같이, 이벤트 검출 방식을 실행하는 매니저(100)는 윈도우를 도킹하는 도킹 수단(110), 도킹되는 윈도우에 마진을 표시하는 마진 표시 수단(120), 도킹 대상이 되는 인접하는 윈도우를 검출하는 근방 윈도우 검출 수단(130), 이벤트 검출 수단(140) 및 윈도우 관리 수단(150)을 포함하고 있다.6 is a block diagram showing the configuration of an event detection method. As shown in the figure, the manager 100 that executes the event detection method includes a docking means 110 for docking a window, a margin display means 120 for displaying a margin in the docked window, and an adjacent window to be docked. It includes a near window detection means 130, an event detection means 140 and a window management means 150 for detecting the detection.

이벤트 검출 수단Event detection means

우선, 이벤트 검출 수단(140)부터 설명한다. 이벤트 검출 수단(140)은 정기적으로 액티브한 윈도우 상태를 취득하고, 윈도우 이벤트 테이블을 참조하면서 이전의 윈도우 상태와 비교함으로써, 이벤트의 검출을 행한다.First, the event detection means 140 will be described. The event detecting unit 140 periodically detects an event by acquiring an active window state and comparing it with the previous window state while referring to the window event table.

윈도우 이벤트 테이블의 데이터 구조를 표 2에 나타낸다. 윈도우 이벤트 테이블은 이하의 열을 갖는다.Table 2 shows the data structure of the window event table. The window event table has the following columns.

「윈도우 ID」는 윈도우의 식별자를 유지한다.The "window ID" holds the identifier of the window.

「위치」는 윈도우의 좌측위의 좌표를 유지한다."Position" maintains the coordinates of the upper left corner of the window.

「사이즈」는 윈도우의 폭과 높이를 유지한다.Size keeps the width and height of the window.

「액티브」는 윈도우가 현재 액티브인지 아닌지를 나타내는 플래그(flag)를 유지한다."Active" holds a flag indicating whether the window is currently active or not.

「이벤트」는 액티브한 윈도우에 대하여 직전에 발생한 이벤트를 유지한다."Event" holds the event just before the active window.

[표 2]TABLE 2

Figure 112008079932293-PAT00002
Figure 112008079932293-PAT00002

도 7에 이벤트 검출 수단의 동작 흐름을 나타낸다. 동 도면에 나타낸 바와 같이, 이벤트 검출 수단(140)은 정기적으로 액티브 윈도우W의 윈도우ID(id), 위치(position), 및 사이즈(size)를 취득한다(스텝 S10). 그리고, 액티브 윈도우W가 윈도우 이벤트 테이블에 이미 등록되어 있는지 아닌지를 체크한다(스텝 S11).7 shows the operational flow of the event detecting means. As shown in the figure, the event detecting means 140 periodically acquires the window ID (id), position, and size of the active window W (step S10). Then, it is checked whether or not the active window W is already registered in the window event table (step S11).

액티브 윈도우W가 테이블에 등록되어 있지 않다면, 윈도우가 처음으로 액티브로 된 것을 알 수 있으므로, 이벤트는 「Execute」인 것을 알 수 있다. 이벤트 「Execute」를 검출하고(스텝 S12), 이것을 윈도우 이벤트 테이블에 액티브 윈도우W의 아이템으로서 추가하여 종료한다.If the active window W is not registered in the table, the window is known to be active for the first time. Therefore, the event is "Execute". The event "Execute" is detected (step S12), and this is added to the window event table as an item of the active window W and ends.

액티브 윈도우W가 테이블에 이미 있다면, 테이블로부터 W가 액티브인지 아닌지를 취득한다(스텝 S13). 테이블의 W가 액티브가 아니면, 이번의 체크에서 액티브로 됨으로써 이벤트 「Active」를 검출한다(스텝 S14). 그리고, 테이블의 재기록을 행하여 종료한다(스텝 S15).If the active window W already exists in the table, it is obtained from the table whether or not W is active (step S13). If W of the table is not active, the event "Active" is detected by being activated by this check (step S14). Then, the table is rewritten to finish (step S15).

테이블의 W가 이미 액티브이면, 적어도 이번에 처음으로 액티브가 된 것은 아님을 알 수 있다. 다음에는, 테이블로부터 이전의 사이즈 「size_old」를 취득하고, 액티브 윈도우W의 현재의 사이즈「size」와 비교하여, 사이즈가 변경되어 있는지 아닌지를 체크한다(스텝 S16). 「size」와 「size_old」의 값이 상이하다면, 액티브 윈도우W의 사이즈가 변경된 것임을 알 수 있으므로, 이벤트 「Resize」를 검출한다(스텝 S17). 그리고, 테이블의 재기록을 행하여 종료한다.If W in the table is already active, you know that it is not active at least this time. Next, the previous size "size_old" is obtained from the table, and compared with the current size "size" of the active window W, it is checked whether or not the size has been changed (step S16). If the values of "size" and "size_old" are different, it is understood that the size of the active window W has been changed, and the event "Resize" is detected (step S17). Then, the table is rewritten to finish.

「size」와 「size_old」의 값이 동일하다면, 사이즈 변경이 행하여진 것은 아님을 알 수 있다. 이때에는 테이블로부터 이전의 위치「position_old」를 취득하고, 액티브 윈도우W의 현재의 위치「position」과 비교하여, 위치가 변경되어 있는지 아닌지를 체크한다(스텝 S18).If the values of "size" and "size_old" are the same, it is understood that the size change has not been performed. At this time, the previous position "position_old" is acquired from the table, and it is checked whether or not the position is changed by comparing with the current position "position" of the active window W (step S18).

「position」과 「position_old」가 상이한 경우, 윈도우 위치가 변경된 것임을 알 수 있으므로, 이벤트 Move를 검출한다(스텝 S19). 「position」과 「position_old」가 동일하다면, 이동은 행하여지지 않은 것임을 알 수 있다. 이 경우, 테이블로부터 이전의 이벤트를 취득하고, 이전의 이벤트가 Move이었는지 아닌지를 체크한다(스텝 S20). Move의 경우에는, 이번의 체크에서 Move가 종료된 것임을 알 수 있으므로, 이벤트 Drop을 검출한다(스텝 S21).If "position" and "position_old" are different, it is understood that the window position has changed, and therefore the event Move is detected (step S19). If "position" and "position_old" are the same, it can be seen that the movement is not performed. In this case, the previous event is obtained from the table, and it is checked whether or not the previous event was Move (step S20). In the case of Move, since it is known that Move is finished by this check, the event Drop is detected (step S21).

이상의 요령에 의해 이벤트의 검출을 행하면, 이벤트가 검출된 경우에도 검출되지 않았을 경우에도, 윈도우 이벤트 테이블의 재기록이 필요하다(스텝 S22). 우선, 테이블의 「액티브」열과 「이벤트」열을 모두 클리어(clear)한다. 다음으로, 「액티브」열의 W의 행을 체크한다. 또한, 이벤트가 검출되었을 경우에는, W의 「이벤트」열에 검출된 이벤트를 기입한다.When the event is detected by the above-described method, even if the event is detected or not detected, the window event table needs to be rewritten (step S22). First, both the "active" and "event" columns of the table are cleared. Next, the W row of the "active" column is checked. When an event is detected, the detected event is written in the "event" column of W.

윈도우 관리 수단Window management tool

「윈도우 관리 수단」은 개개의 윈도우의 이벤트 송신 수단으로부터 이벤트 메시지를 수취하면, 「윈도우 테이블」,「도킹 테이블」을 참조하여, 필요한 윈도우에 조작을 행한다. 우선은, 윈도우 테이블, 도킹 테이블의 데이터 구조를 설명하고, 다음으로 윈도우 관리 수단의 행동을 설명한다.When the window management means receives the event message from the event transmission means of each window, the window management means refers to the window table and the docking table and performs operations on the necessary windows. First, the data structures of the window table and the docking table will be described, and then the behavior of the window management means will be described.

「윈도우 테이블」은 기동 중의 모든 윈도우를 관리한다. 그 데이터 구조를 표 3에 나타낸다. 윈도우 테이블은 이하의 열을 갖는다. 「윈도우ID」는 윈도우의 ID를 유지한다. 「위치」는 각 윈도우의 좌측위의 좌표를 유지한다. 「사이즈」는 각 윈도우의 폭과 높이를 유지한다. 「도킹ID」는 윈도우가 도킹되어 있을 경우, 도킹되어 있는 윈도우의 윈도우ID의 집합을 유지한다. 윈도우가 어느 윈도우와도 도킹되어 있지 않을 경우, 이 열은 공백이 된다.The Window Table manages all windows during startup. The data structure is shown in Table 3. The window table has the following columns. "Window ID" keeps the ID of the window. "Position" maintains the coordinates of the upper left of each window. "Size" maintains the width and height of each window. "Dock ID" maintains a set of window IDs of the docked windows when the windows are docked. If the window is not docked with any window, this column is blank.

[표 3][Table 3]

Figure 112008079932293-PAT00003
Figure 112008079932293-PAT00003

표 3에서는, 7개의 윈도우가 현재 PC 상에서 열려 있고, 또한 W003, W004가 도킹되어 있고(도킹의 정보는 도킹 테이블의 D001의 행에 있다), 또한 W005, W006, W007도 또한 도킹되어 있는 것을 나타내고 있다(도킹의 정보는 도킹 테이블의 D002의 행에 있다).Table 3 shows that seven windows are currently open on the PC, W003 and W004 are docked (the docking information is in row D001 of the docking table), and W005, W006, and W007 are also docked. (The docking information is in row D002 of the docking table).

「도킹 테이블」은 기동 중인 전체의 도킹 윈도우를 관리한다. 그 데이터 구조를 표 4에 나타낸다. 윈도우 테이블은 이하의 열을 갖는다. 「도킹ID」는 도킹 윈도우의 ID를 유지한다. 「위치」는 각 도킹 윈도우의 좌측위의 좌표를 유지한다. 「사이즈」는 각 도킹 윈도우의 폭과 높이를 유지한다. 「도킹 집합」은 도킹되어 있는 윈도우의 윈도우ID의 집합을 유지한다.The "dock table" manages the entire docking window being activated. The data structure is shown in Table 4. The window table has the following columns. "Docking ID" holds the ID of the docking window. "Position" maintains the coordinates of the upper left of each docking window. "Size" maintains the width and height of each docking window. The docking set maintains a set of window IDs of the docked windows.

[표 4][Table 4]

Figure 112008079932293-PAT00004
Figure 112008079932293-PAT00004

표 4에서는, 현재 기동 중인 도킹 윈도우가 2개 있고, 한쪽은 2개의 서브윈 도우로, 다른 쪽은 3개의 서브윈도우로 구성되어 있는 것을 나타내고 있다.In Table 4, there are two docking windows currently being activated, one of which is composed of two subwindows, and the other of which is composed of three subwindows.

윈도우 관리 수단으로 돌아오면, 윈도우 관리 수단은 윈도우W의 이벤트 송신 수단으로부터 이벤트 메시지를 수신하면, 수취한 이벤트의 종류에 따라 윈도우 테이블이나 도킹 테이블을 참조하여, 필요한 윈도우에 대하여 필요한 처리를 행한다. 각각의 이벤트마다의 동작을 설명한다.Returning to the window management means, upon receiving the event message from the event transmission means of the window W, the window management means refers to the window table or the docking table according to the received event type and performs necessary processing on the necessary window. The operation for each event will be described.

Execute의 경우In case of Execute

Execute 이벤트를 검출했을 때의 동작 흐름을 도 8에 나타낸다. W가 도킹 윈도우인지 아닌지에 따라 동작이 상이하다. W가 도킹 윈도우인지 아닌지를 체크하고(스텝 S20), 도킹 윈도우인 경우, 도킹 테이블로부터 W의 위치, 사이즈를 취득하고(스텝 S21), 도킹 테이블에 W의 정보(ID, 위치, 사이즈, 서브윈도우의 집합)를 추가하고(스텝 S22), 윈도우 테이블로부터 서브윈도우의 위치, 사이즈를 취득하고(스텝 S23), 윈도우 테이블에 서브윈도우의 정보를 추가한다(스텝 S24). W가 비도킹 윈도우인 경우에는, W의 사이즈를 취득하고(스텝 S25), 단지 윈도우 테이블에 W의 정보를 추가한다(스텝 S26).8 shows an operation flow when the Execute event is detected. The operation differs depending on whether W is a docking window or not. It is checked whether or not W is a docking window (step S20). In the case of a docking window, the position and size of W are obtained from the docking table (step S21), and the W information (ID, position, size, and subwindow) is displayed in the docking table. Set) (step S22), the position and size of the subwindow are obtained from the window table (step S23), and the subwindow information is added to the window table (step S24). If W is an undocked window, the size of W is obtained (step S25), and only the information of W is added to the window table (step S26).

Move의 경우In case of Move

Move 이벤트를 검출했을 때의 동작 흐름을 도 9에 나타낸다. 우선은, W의 위치를 취득하고(스텝 S30), 윈도우 테이블에서의 W의 정보를 갱신한다(스텝 S31). W가 도킹되어 있는지 아닌지를 체크하여(스텝 S32), 도킹되어 있는 경우에는 W와 도킹되어 있는 다른 윈도우를 탐색하고, 윈도우 위치를 재계산한다(스텝 S33). 다음으로, W와 도킹되어 있는 다른 윈도우에 대해서, 윈도우 테이블에서의 위치 정보 및 도킹 테이블에서의 대응하는 정보를 갱신한다(스텝 S34). 또한, 근방 윈도우 검출 수단에 있어서, 윈도우 테이블을 참조하여, 인접하는 윈도우가 존재하는지 아닌지를 탐색한다(스텝 S35). 근방의 윈도우가 있는 경우에는, 마진 표시 수단에서 마진을 표시한다(스텝 S36). 근방의 윈도우가 없는 경우에는, 마진 표시 수단에서 마진을 표시하지 않는다(스텝 S37).The operation flow when detecting a Move event is shown in FIG. First, the position of W is acquired (step S30), and the information of W in a window table is updated (step S31). If W is docked or not (step S32), if docked, another window that is docked with W is searched for and the window position is recalculated (step S33). Next, the positional information in the window table and the corresponding information in the docking table are updated for the other windows docked with W (step S34). Further, in the near window detection means, the window table is searched for whether an adjacent window exists or not (step S35). If there is a window nearby, the margin is displayed by the margin display means (step S36). If there is no window nearby, the margin display means does not display the margin (step S37).

Drop의 경우In case of Drop

Drop 이벤트를 검출했을 때의 동작 흐름을 도 10에 나타낸다. 우선은, W의 위치, 사이즈를 취득한다(스텝 S40). 다음으로, 근방 윈도우 검출 수단에서, W의 근방 윈도우를 탐색한다(스텝 S41). 근방 윈도우가 존재하지 않는 경우에는 아무것도 하지 않고 종료한다. 근방 윈도우W'가 있는 경우에는(스텝 S42), 도킹 수단에서, W와 W'의 위치, 사이즈를 재계산하여 윈도우 위치를 설정하고, 양자를 도킹시킨다(스텝 S43). 또한, 윈도우 테이블에서의 W와 W'의 위치 및 사이즈의 정보를 갱신하고(스텝 S44), 도킹 테이블에서의 정보도 갱신한다(스텝 S45).The operation flow when a Drop event is detected is shown in FIG. First, the position and size of W are acquired (step S40). Next, the near window detection means searches for the near window of W (step S41). If there is no nearby window, do nothing and exit. If there is an adjacent window W '(step S42), the docking means recalculates the position and size of W and W', sets the window position, and docks both (step S43). In addition, the position and size information of W and W 'in the window table is updated (step S44), and the information in the docking table is also updated (step S45).

Resize의 경우For Resize

Resize의 이벤트를 검출했을 때의 동작 흐름을 도 11에 나타낸다. 우선은, W의 위치를 취득하고(스텝 S50), 테이블 윈도우에서의 W의 정보를 갱신한다(스텝 S51). W가 다른 윈도우와 도킹하고 있는지 아닌지를 체크하여(스텝 S52), 도킹하지 않고 있을 경우에는 처리를 종료한다. W가 다른 윈도우와 도킹하고 있을 경우에는, 도킹하고 있는 W이외의 윈도우에 관하여 위치와 사이즈를 재계산하고, 윈도우 위치를 설정한다(스텝 S53). 또한, 윈도우 테이블에서의 W와 도킹하고 있는 W 이외의 윈도우의 정보를 갱신하고(스텝 S54), 도킹 테이블에서의 W의 위치와 사이즈의 정보를 갱신한다(스텝 S56).11 shows the operational flow when a Resize event is detected. First, the position of W is acquired (step S50), and the information of W in a table window is updated (step S51). It is checked whether W is docked with another window (step S52), and the process ends if it is not docked. If W is docked with another window, the position and size are recalculated for windows other than the docked W, and the window position is set (step S53). In addition, the information of the window other than W in the window table and the docked W is updated (step S54), and the information of the position and size of the W in the docking table is updated (step S56).

근방 윈도우 검출 수단Near window detection means

윈도우W가 이동 중(W에서 이벤트 Move가 검출되고 있는 중)의 「근방 윈도우 검출 수단」의 동작을 설명한다. 도 12에 나타낸 바와 같이, 윈도우의 4변의 위치를 나타내기 위해서, 도면과 같이, 위를 톱(Top), 아래를 보톰(Bottom), 좌를 레프트(Left), 우를 라이트(Right)라고 지칭하기로 한다.The operation of the "near window detection means" while the window W is moving (while the event Move is detected in the W) will be described. As shown in Fig. 12, in order to show the positions of the four sides of the window, the top is referred to as the top, the bottom is the bottom, the left is the left, and the right is the right. Let's do it.

2개의 윈도우를 도킹할 수 있는 것은 윈도우의 위치 관계가 이하의 세트 중 어느 하나의 경우이다.Two windows can be docked when the positional relationship of the windows is any of the following sets.

라이트(Right)? 레프트(Left)Right? Left

톱(Top)? 보톰(Bottom)Top? Bottom

즉, 윈도우W는 이하의 케이스에서 윈도우X와 도킹의 가능성이 있다.In other words, the window W may be docked with the window X in the following cases.

W의 라이트(Right)와 X의 레프트(Left)Right of W and Left of X

W의 레프트(Left)와 X의 라이트(Right)Left of W and Right of X

W의 톱(Top)과 X의 보톰(Bottom)Top of W and Bottom of X

W의 보톰(Bottom)과 X의 톱(Top)Bottom of W and Top of X

상기의 윈도우 위치의 거리가 어떤 일정한 임계값(threshold)보다 작게 되는 X를 W의 「근방 윈도우」라고 지칭하기로 한다. 여기서, W의 근방 윈도우를 탐색함에 있어서, 우선은 도킹 테이블로부터 W의 근방 윈도우를 탐색한다. 만일 있다면 그것을 되돌린다. 만일 없다면, 이때에는 윈도우 테이블에 대하여 근방 윈도우 를 탐색한다. 이렇게 하여, 도킹 윈도우 또는 도킹되지 않은 단독의 윈도우에 대하여, W의 근방 윈도우를 단 하나 탐색한다.X in which the distance of the window position is smaller than a certain threshold will be referred to as "near window" of W. Here, in searching for the window near the W, first, the window near the W is searched from the docking table. If it is, return it. If not, then the window is searched for a window table. In this way, only the window near W is searched for the docked window or the single window which is not docked.

마진 표시 수단Margin indicator

이동 중의 W에 대하여, 근방 윈도우 검출 수단에서 근방 윈도우X가 검출되면, 마진 표시 수단은 W와 X의 양편에 「W와 X가 도킹 가능」인 것을 나타내는 마진을 표시한다. X가 W의 근방 윈도우이며, W의 레프트(Left)와 X의 라이트(Right)가 접근하여 있을 경우, 마진 표시 수단은, 도 13의 (a)에 나타낸 바와 같이, 윈도우X에 마진(20)을, 윈도우W에 마진(22)을 표시한다. 마진의 표시 양태는, 예를 들면 윈도우의 변의 형상이 변화되거나, 윈도우의 변의 색채가 변화되거나, 또는 윈도우의 변의 형상과 색채의 쌍방이 변화되어도 된다. 이 이외에도, 유저가 시각적으로 도킹 위치를 인식할 수 있는 양태이면 되고, 부가적으로 다른 색채나 형상 등의 이미지를 부가하는 것이어도 된다.With respect to W during movement, when near window X is detected by the near window detecting means, the margin display means displays a margin indicating that "W and X can be docked" on both sides of W and X. When X is a window in the vicinity of W, and the left of W and the right of X are approaching, the margin display means shows a margin 20 in the window X, as shown in Fig. 13A. The margin 22 is displayed in the window W. As for the margin display mode, the shape of the side of a window may change, the color of the side of a window may change, or both the shape and the color of the side of a window may change. In addition to this, an aspect in which a user can visually recognize a docking position may be sufficient, and an image of another color, a shape, etc. may be added additionally.

도킹 수단Docking means

윈도우W로부터 Drop 이벤트가 검출되었을 경우, 윈도우 관리 수단은 W의 근방 윈도우를 탐색한다. W의 근방 윈도우X가 존재하는 경우, 「도킹 수단」에 의해 실제로 W와 X의 도킹 처리가 행하여진다.When a Drop event is detected from the window W, the window management means searches for a window near W. When the window X near W exists, the docking process of W and X is actually performed by "docking means."

도킹 처리에서는, W의 어느 변이 도킹 대상(이 변의 위치를 「도킹 위치」라고 지칭)인지에 따라 동작이 상이하다.In the docking process, the operation differs depending on which side of W is the docking target (the position of this side is referred to as the "docking position").

W의 도킹 위치가 레프트(Left)인 경우;The docking position of W is left;

W의 높이를 X의 높이와 동일하게 하여, X의 우측으로 X와 접하도록 W를 이동 시킨다(도 13의 (b)를 참조).The height of W is made equal to the height of X, and W is moved to contact X to the right of X (see FIG. 13B).

W의 도킹 위치가 라이트(Right)인 경우;The docking position of W is Right;

W의 높이를 X의 높이와 동일하게 하여, X의 좌측으로 X와 접하도록 W를 이동시킨다.The height of W is made equal to the height of X, and W is moved to the left of X in contact with X.

W의 도킹 위치가 톱(Top)인 경우;The docking position of W is Top;

W의 폭을 X의 폭과 동일하게 하여, X의 아래로 X와 접하도록 W를 이동시킨다.The width of W is made equal to the width of X, and W is moved below X to make contact with X.

W의 도킹 위치가 보톰(Bottom)인 경우;The docking position of W is Bottom;

W의 폭을 X의 폭과 동일하게 하여, X의 위로 X와 접하도록 W를 이동시킨다.The width of W is made equal to the width of X, and W is moved above X to make contact with X.

2. 이벤트 통지 방식2. Event Notification Method

본 실시예에서는, 윈도우간의 데이터나 타이밍의 교환은 이벤트 드리븐(event-driven)에서 행하는 것을 전제로 하지만, 실시예는 이벤트 드리븐 만에 한정되는 것은 아니다. 메모리나 파일을 통하여 행해도 된다. 일단, 어떠한 수단에 의해 각 윈도우로부터 매니저에 대하여 메시지를 송신한다.In the present embodiment, the exchange of data and timing between windows is assumed to be performed in event-driven, but the embodiment is not limited to event-driven alone. This may be done via a memory or a file. First, a message is sent to the manager from each window by some means.

도 14에, 본 실시예의 이벤트 통지 방식의 시스템 구성을 나타낸다. 동 도면에 나타낸 바와 같이, 이벤트 통지 방식은 개개의 윈도우마다 이벤트 송신 수단(200)을 갖는다. 또한, 윈도우를 통괄하는 매니저(210)는 윈도우 관리 수단(220), 근방 윈도우 검출 수단(230), 마진 표시 수단(240), 및 도킹 수단(250)을 포함하여 구성된다.14 shows the system configuration of the event notification method of the present embodiment. As shown in the figure, the event notification method has an event transmitting means 200 for each window. In addition, the manager 210 that manages the window includes a window managing means 220, a nearby window detecting means 230, a margin display means 240, and a docking means 250.

앞서의 실시예와의 구성의 차이는 각 윈도우에 「이벤트 송신 수단」이 추가 되고, 매니저로부터 「이벤트 검출 수단」이 제외된 것이다. 따라서, 본 실시예에서는, 이벤트 송신 수단(200)의 동작과 윈도우 관리 수단(220)의 차이점을 설명한다.The difference in configuration from the above embodiment is that "event sending means" is added to each window, and "event detecting means" is removed from the manager. Therefore, in the present embodiment, the difference between the operation of the event transmitting means 200 and the window managing means 220 will be described.

이벤트 송신 수단Event sending means

이벤트 송신 수단(200)은 자기의 윈도우에 이하와 같은 조작이 발생했을 때에, 그 이벤트를 윈도우 관리 수단(220)으로 송신한다. 앞서의 실시예에서는, Exit 이벤트의 검출을 행하지 않았지만, 본 실시예에서는 각 윈도우로부터 Exit 이벤트도 송신되는 것으로 한다.When the following operation occurs in its window, the event transmitting means 200 transmits the event to the window managing means 220. Although the Exit event was not detected in the above embodiment, it is assumed that the Exit event is also transmitted from each window in this embodiment.

이벤트 송신 수단(200)이 윈도우 관리 수단(220)으로 송신하는 이벤트 메시지의 데이터 구조를 표 5에 나타낸다. 표 5에서는, 윈도우ID가 W001인 윈도우로부터 Move의 이벤트가 송신된 것을 나타내고 있다. 「소스 윈도우」는 이벤트를 송신하는 윈도우의 윈도우ID를 유지한다. 「이벤트의 종류」는 송신하는 이벤트의 종류를 나타낸다.Table 5 shows the data structure of the event message that the event transmitting means 200 transmits to the window management means 220. Table 5 shows that the Move event is transmitted from the window whose window ID is W001. The "source window" holds the window ID of the window for sending the event. "Type of event" indicates the type of event to be sent.

[표 5]TABLE 5

Figure 112008079932293-PAT00005
Figure 112008079932293-PAT00005

윈도우 관리 수단Window management tool

윈도우 관리 수단(220)은 기본적으로는 상기한 이벤트 검출 방식과 동일하다. 단, Exit 이벤트의 관리가 새롭게 추가되어 있기 때문에, 그 차이만을 설명한다.The window management means 220 is basically the same as the above-described event detection method. However, since the management of the Exit event is newly added, only the difference is explained.

윈도우 관리 수단(220)에서 Exit 이외의 이벤트를 수신한 경우에는, 이벤트 검출 방식의 실시예에서의 동작과 동일하다. Exit 이벤트를 수신한 경우의 동작을 설명한다.When the window management unit 220 receives an event other than Exit, the operation is the same as that in the embodiment of the event detection method. The following describes the operation when the Exit event is received.

Exit의 경우For Exit

Exit 이벤트를 검출했을 때의 동작 흐름을 도 15에 나타낸다. W가 도킹 윈도우인지 아닌지에 따라 동작이 상이하다. W가 도킹 윈도우인지 아닌지를 체크하여(스텝 S60), W가 도킹 윈도우인 경우, 윈도우 테이블로부터 W의 서브윈도우의 정보를 삭제하고(스텝 S61), 다음으로, 도킹 테이블로부터 W의 정보를 삭제한다(스텝 S62). W가 비도킹 윈도우인 경우에는, 단지 윈도우 테이블로부터 W의 정보를 삭제한다(스텝 S63).15 shows an operation flow when an Exit event is detected. The operation differs depending on whether W is a docking window or not. It is checked whether or not W is a docking window (step S60), and if W is a docking window, information of the subwindow of W is deleted from the window table (step S61), and then information of W is deleted from the docking table. (Step S62). If W is an undocked window, only the information of W is deleted from the window table (step S63).

전술한 바와 같이, Exit 이벤트를 수신하고, 닫힌 윈도우를 윈도우 테이블, 도킹 테이블로부터 삭제하는 것에 의해 테이블의 사이즈가 작아진다. 이것은 처리의 효율화로 이어진다.As described above, the size of the table is reduced by receiving the Exit event and deleting the closed window from the window table and the docking table. This leads to more efficient processing.

3.윈도우 상태/도큐먼트 상태의 보존과 재현의 시스템3.System of preservation and reproduction of window state / document state

우선은, 윈도우의 상태 보존에 있어서, 2개의 보존 형태가 있는 것을 명기해 둔다.First, it is specified that there are two saving forms in the state preservation of the window.

윈도우 상태의 보존Preserve window state

윈도우 상태의 보존에서는 이하의 정보를 유지한다.The following information is retained when saving the window state.

개개의 윈도우의 애플리케이션Application of individual windows

개개의 윈도우의 위치와 사이즈The position and size of individual windows

도큐먼트 상태의 보존Preservation of the document state

도큐먼트 상태의 보존에서는 윈도우 상태 이외에도 이하의 정보를 유지한다.In saving the document state, the following information is held in addition to the window state.

개개의 윈도우에서 열고 있는 도큐먼트Document opening in individual window

개개의 윈도우에서의 스크롤 위치The scroll position in the individual window

개개의 윈도우에서의 커서 위치Cursor position in individual windows

도큐먼트 상태를 보존하는 구성은 윈도우 상태를 보존하는 구성을 포함하고 있으므로, 여기에서는 도큐먼트 상태의 보존과 재현에 관하여 설명한다. 또한, 여기에서의 실시예는 이벤트 통지 방식을 기초로 하여 설명한다.Since the configuration for saving the document state includes the configuration for saving the window state, a description will be given of the preservation and reproduction of the document state. Incidentally, the embodiment herein will be described based on the event notification method.

도 16은 윈도우 상태/도큐먼트 상태의 보존과 재현을 실행하는 시스템의 구성을 나타낸 블록도이다. 앞서의 실시예에 대하여, 윈도우 매니저(212) 측에는, 상태 보존 수단(300) 및 상태 재현 수단(310)의 모듈이 추가되어 있다. 또한, 윈도우 테이블의 데이터 구조가 지금까지의 것과 상이하다. 여기에서는, 그 차이만을 설명한다.Fig. 16 is a block diagram showing the configuration of a system for executing saving and reproducing of a window state / document state. With respect to the above embodiment, the module of the state saving means 300 and the state reproducing means 310 is added to the window manager 212 side. In addition, the data structure of the window table is different from that of the past. Here, only the difference is explained.

윈도우 테이블Windows table

윈도우 관리 수단(220)에 포함되는 윈도우 테이블의 데이터 구조는 표 6에 나타낸 바와 같이 확장된다. 「윈도우ID」, 「위치」, 「사이즈」, 「도킹ID」는 표 3의 것과 동일하며, 표 6은 이하의 필드(field)를 확장하고 있다. 「도큐먼트」는 윈도우에서 연 도큐먼트의 경로(path)나 URL을 나타낸다. 도큐먼트를 지정하지 않은 경우에는 공백으로 한다. 「스크롤 위치」는 도큐먼트의 스크롤 위치(도큐먼트의 길이에 대한 비율)를 유지한다. 「도큐먼트」필드가 공백인 경우에는, 스크롤될 일도 없으므로, 이 필드도 공백으로 된다. 「커서 위치」는 도큐먼트에서의 커서 위치(선두로부터의 문자 수)를 유지한다. 「도큐먼트」 필드가 공백인 경우에는 커서가 배치될 일도 없으므로, 이 필드도 공백으로 된다.The data structure of the window table included in the window management means 220 is expanded as shown in Table 6. "Window ID", "Position", "Size", and "Docking ID" are the same as those in Table 3, and Table 6 expands the following fields. "Document" indicates the path or URL of the document opened in the window. Leave blank if no document is specified. The "scroll position" maintains the scroll position (ratio of the length of the document) of the document. If the "Document" field is blank, it will not scroll, so this field will also be blank. The "cursor position" maintains the cursor position (the number of characters from the head) in the document. If the "Document" field is blank, no cursor is placed, so this field is blank.

[표 6]TABLE 6

Figure 112008079932293-PAT00006
Figure 112008079932293-PAT00006

표 6의 W003의 윈도우에서는 도큐먼트 "C:\work\paper.doc"가 열려 있으며, 스크롤은 전체의 57%의 위치, 커서는 도큐먼트의 선두로부터 1922문자 째인 것을 나타내고 있다.In the window of W003 of Table 6, the document "C: \ work \ paper.doc" is opened, indicating that the scroll is 57% of the total, and the cursor is 1922 characters from the beginning of the document.

상태 보존 수단State preservation

도킹 ID가 D001의 도킹 윈도우의 보존이 지정되었을 경우, 상태 보존 수단(300)은, 표 6으로부터 D001에 관한 부분을 추출한 정보(표 7을 참조)를 포함하는 구조화 데이터를, 유저가 지정하거나 또는 미리 지정되어 있는 파일에 보존한다.When the docking ID is designated to save the docking window of D001, the state preserving means 300 designates the structured data including the information (see Table 7) obtained by extracting the part related to D001 from Table 6, or Save to a predefined file.

[표 7]TABLE 7

Figure 112008079932293-PAT00007
Figure 112008079932293-PAT00007

상태 재현 수단State reproduction means

상태 재현 수단(310)은 파일을 판독하고, 상기의 데이터 구조에 기초하여 도킹 윈도우를 재현한다. 우선은, 지정된 애플리케이션을 이용하여 서브윈도우를 열고, 윈도우의 위치와 사이즈를 정한다. 또한, 지정된 도큐먼트를 열고, 스크롤 위치, 커서 위치를 설정한다.The state reproducing means 310 reads the file and reproduces the docking window based on the data structure described above. First, open the subwindow using the specified application, and determine the position and size of the window. It also opens the specified document and sets the scroll position and cursor position.

4. 도킹 대상 윈도우 후보를 제시하는 시스템4. A system for presenting docking target window candidates

도킹 대상 윈도우 후보의 제시를 행하는 시스템 구성을 도 17에 나타낸다. 여기에서는, 상기한 이벤트 통지 방식에 대하여, 윈도우 매니저(214) 측에, 후보 도큐먼트 검색 수단(400), 후보 도큐먼트 알림 수단(410), 후보 도큐먼트 제시 수단(420) 및 윈도우 생성 수단(430)이 추가되어 있다.17 shows a system configuration for presenting a docking target window candidate. Here, with respect to the event notification method described above, the candidate document search means 400, the candidate document notification means 410, the candidate document presentation means 420, and the window generation means 430 are provided to the window manager 214 side. It is added.

후보 도큐먼트 검색 수단(400)은 도킹 대상의 도큐먼트를 이하와 같은 타이밍에서 유저의 PC로부터 자동적으로 검색한다.The candidate document retrieving means 400 automatically retrieves the document to be docked from the user's PC at the following timing.

- 유저가 윈도우를 도킹할 때-When the user docks the window

- 유저로부터 후보 도큐먼트의 검색이 지시되었을 때 -When the user is instructed to search for candidate documents

검색 방법으로서 이하와 같은 것이 고려된다.The following are considered as a search method.

(a) 현재 액티브한 윈도우에서 표시하고 있는 도큐먼트와 일시 속성(작성 일 시, 갱신 일시, 참조 일시)이 가까운 것을 검색한다. 액티브한 윈도우가 도킹 윈도우일 경우, 그 서브윈도우에서 표시하고 있는 도큐먼트와 일시 속성이 가까운 것을 검색한다.(a) Searches for a document that is displayed in the currently active window that is close to the date and time attribute (creation date, update date, and reference date and time). If the active window is a docking window, the search finds ones close to the temporary properties of the document displayed in the subwindow.

(b) 현재 액티브한 윈도우에서 표시하고 있는 도큐먼트와 전에 함께 이용한 적이 있는 도큐먼트를 검색한다. 액티브한 윈도우가 도킹 윈도우일 경우, 그 서브윈도우에서 표시하고 있는 도큐먼트와 전에 함께 이용한 적이 있는 도큐먼트를 검색한다. 이것을 실현하려면, 지금까지의 도큐먼트의 이용을 이력으로서 유지해 둘 필요가 있다.(b) Searches for the document currently displayed in the active window and the document that has been used before. If the active window is a docking window, it searches for documents displayed in that subwindow and documents that have been used previously. To realize this, it is necessary to keep the use of the document so far as a history.

(c) 현재 액티브한 윈도우에서 표시하고 있는 도큐먼트와 다른 워크스페이스(도킹 윈도우)에서 함께 이용되고 있는 도큐먼트를 검색한다. 액티브한 윈도우가 도킹 윈도우일 경우, 그 서브윈도우에서 표시하고 있는 도큐먼트와 다른 워크스페이스에서 함께 이용되고 있는 도큐먼트를 검색한다. 이것을 실현하려면, 도킹 윈도우에서의 도큐먼트의 이용을 이력으로서 유지해 둘 필요가 있다.(c) Search for the document currently displayed in the active window and the document being used together in another workspace (docking window). If the active window is a docking window, it searches for the document displayed in that subwindow and the document being used in another workspace. To achieve this, it is necessary to keep the use of the document in the docking window as a history.

여기서, 윈도우 매니저는 OS의 실행 중에 항상 기동되어 있는 상주형의 애플리케이션이다. 여기에서는, Windows(등록상표)의 태스크 트레이(task tray)(태스크 바의 우측에 있으며, 상주 애플리케이션의 아이콘이 표시되어 있음)에 있는 것으로 한다.Here, the window manager is a resident type application which is always activated during the execution of the OS. In this case, it is assumed to be in a task tray of Windows (registered trademark) (on the right side of the task bar, and the icon of the resident application is displayed).

후보 도큐먼트 검색 수단에서의 검색에 의해 후보 도큐먼트가 존재하는 경우, 후보 도큐먼트 알림 수단(410)은 태스크 트레이에서의 윈도우 매니저의 아이콘의 상태를 변화시키고, 도킹의 후보 도큐먼트가 존재하는 것을 유저에게 알린다.When the candidate document exists by the search in the candidate document searching means, the candidate document notifying means 410 changes the state of the icon of the window manager in the task tray and informs the user that the candidate document for docking exists.

윈도우 매니저의 아이콘의 상태가 변화된 것을 보아서 유저가 아이콘을 클릭했을 경우, 후보 도큐먼트 제시 수단(420)은 후보 도큐먼트를 리스트 업(list up) 한다. 그 예를 도 18에 나타낸다. 동 도면에 나타낸 바와 같이, 클릭하면 메뉴가 표시되어 후보 도큐먼트가 리스트 업 되며, 도큐먼트를 선택하면 그 도큐먼트가 열려서 드래그 가능한 상태로 된다.When the user clicks on the icon because the state of the icon of the window manager has changed, the candidate document presentation means 420 lists up the candidate document. An example thereof is shown in FIG. 18. As shown in the figure, when clicked, a menu is displayed to list a candidate document, and when a document is selected, the document is opened and becomes draggable.

리스트 업 된 메뉴에서, 유저가 특정 도큐먼트를 선택한 경우, 윈도우 생성 수단(430)은 그 도큐먼트를 대응하는 애플리케이션에 의해 연다. 그리고, 생성된 윈도우를 드래그 가능한 상태로 한다. 이에 의해, 유저는 도킹하고 싶은 도큐먼트를 즉석에서 찾아내, 그것을 곧장 다른 윈도우와 도킹하는 것이 가능해진다. 워크스페이스 생성을 지원하기 위한 제안이다.In the listed menu, when the user selects a specific document, the window generating means 430 opens the document by the corresponding application. The generated window is then dragged. As a result, the user can immediately find a document to be docked and dock it with another window immediately. A suggestion to support workspace creation.

5. 워크스페이스 내에서의 최적의 윈도우 배치를 추천하는 시스템5. A system that recommends optimal window layout within the workspace

윈도우 배치의 추천을 행하기 위한 시스템 구성을 도 19에 나타낸다. 이벤트 통지 방식의 실시예에 대하여, 윈도우 매니저(216) 측에, 이용 로그(log) 취득 수단(500), 이용 로그 분석 수단(510), 및 레이아웃(layout) 추천 수단(520)이 추가된다.19 shows a system configuration for recommending window arrangement. For the embodiment of the event notification method, the usage log acquisition means 500, the usage log analysis means 510, and the layout recommendation means 520 are added to the window manager 216 side.

이용 로그 취득 수단Usage log acquisition means

이용 로그 취득 수단(500)은 도킹 윈도우 내에서의 서브윈도우에 대한 조작의 로그를 취득하고, 이용 로그 테이블에 이력을 저장한다. 이용 로그 테이블은 도킹 윈도우에 대한 유저의 조작 이력을 유지하는 테이블이다. 데이터 구조의 일례를 표 8에 나타낸다. 테이블은 이하의 필드를 갖는다. 「일시」는 조작이 발생 한 일시를 유지한다. 「도킹ID」는 조작이 행하여진 도킹 윈도우의 ID를 유지한다. 여기서, 도킹ID는 도킹 윈도우의 기동마다 상이하지 않은 것으로 한다. 「윈도우ID」는 도킹 윈도우의 서브윈도우의 윈도우ID를 유지한다. 여기서, 윈도우ID는 기동마다 상이하지 않은 것으로 한다. 「조작의 종류」는 유저로부터 어떤 조작이 있었는지를 유지한다. 일단 액티브, 스크롤, 클릭, 입력 등의 조작을 유지하지만, 그 중에서 가장 중요한 것은 액티브이다. 후술하는 이용 로그 분석 수단의 알고리즘에서는 액티브의 이력을 해석하는 것에 의해 추천을 행한다.The usage log acquisition means 500 acquires the log of the operation with respect to the subwindow in the docking window, and stores the history in the usage log table. The usage log table is a table for maintaining a user's operation history for the docking window. An example of the data structure is shown in Table 8. The table has the following fields. "Pause" keeps the date and time the operation occurred. "Docking ID" holds the ID of the docking window in which the operation was performed. Here, the docking ID is not different for each startup of the docking window. "Window ID" holds the window ID of the subwindow of the docking window. Here, it is assumed that the window ID does not differ from startup to startup. "Type of operation" keeps what kind of operation has been performed by the user. Once active, scroll, click, input, and other operations are maintained, but the most important of them is active. In the algorithm of the usage log analysis means described later, the recommendation is made by analyzing the active history.

[표 8][Table 8]

Figure 112008079932293-PAT00008
Figure 112008079932293-PAT00008

이용 로그 분석 수단(510)에서는, 이용 로그 DB(530)를 분석하여, 도킹 윈도우 내에서의 최적의 서브윈도우의 배치를 탐색한다.The usage log analysis means 510 analyzes the usage log DB 530 to search for an optimal subwindow arrangement in the docking window.

여기에서는, 그 일례로서, 도킹 윈도우D에 있어서의 최적의 서브윈도우의 배치를 추천하기 위한 방식을 나타낸다. 우선은, 2개의 지표를 도입한다.Here, as an example, a method for recommending an optimal subwindow arrangement in the docking window D is shown. First, two indicators are introduced.

(a) 서브윈도우의 이용 빈도(a) Frequency of use of subwindow

(b) 서브윈도우간의 유사도(b) Similarity between subwindows

서브윈도우간의 유사도는 다른 서브윈도우가 (비교적 단시간 내에서) 동시에 이용될 가능성의 높이로서 산출된다. 시간 구간을 일정 시간 간격 T마다 구획한 다. 그리고, 행이 서브윈도우, 열이 길이 T로 구획된 시간, 요소가 그 시간 내에 서브윈도우가 액티브로 된 횟수로 되도록 행렬을 작성한다. 서브윈도우A와 B의 유사도는 A와 B에 대응하는 행벡터의 코사인으로서 정의한다. 결과적으로, 일정한 시간 구간 내에서 함께 이용된 횟수가 많은 윈도우끼리의 유사도가 높아진다. 상기의 행렬과 유사도의 관계를 개념적으로 나타낸 것이 도 20이다.The similarity between the subwindows is calculated as the height of the likelihood that other subwindows will be used simultaneously (within a relatively short time). The time interval is partitioned at regular time intervals T. Then, a matrix is created such that the row is divided by the subwindow, the column is divided by the length T, and the element is the number of times the subwindow has been activated within that time. The similarity between the subwindows A and B is defined as the cosine of the row vectors corresponding to A and B. As a result, the similarity between the number of windows used together in a certain time interval increases. Fig. 20 conceptually illustrates the relationship between the matrix and the similarity.

우선은, 이 단계의 것(즉, 서브윈도우의 이용 빈도와 서브윈도우간의 유사도)을 유저에게 제시하는 것만으로도 효과가 있다고 생각한다. 유저는 이용 빈도가 높은 것이 이용하기에 곤란한 장소에 있거나, 함께 이용하는 빈도가 높은 2개의 서브윈도우가 떨어져서 배치되어 있는 등이라는, 자신의 워크스페이스에서의 문제점을 알아챌 수 있는 가능성이 있기 때문이다.First of all, it is thought that it is effective only to present the user of this step (that is, the similarity between the use of the subwindow and the subwindow) to the user. This is because there is a possibility that a user may notice a problem in his or her workspace, such as a place where a high frequency of use is difficult to use, or two sub-windows which are frequently used together are arranged apart.

다음으로, 상기의 2개의 지표를 이용하여 워크스페이스 내에서의 서브윈도우의 배치를 추천하는 방식에 대해서 설명한다. 실제로, 이 알고리즘은 윈도우의 사이즈도 고려할 필요가 있기 때문에 복잡하다. 여기에서는, 매우 단순한 방법을 소개한다.Next, a method of recommending the arrangement of sub-windows in the workspace using the above two indices will be described. In practice, this algorithm is complex because it also needs to consider the size of the window. Here, a very simple method is introduced.

(1) 가장 이용 빈도가 높은 서브윈도우를 가장 좌측에 둔다.(1) The most frequent subwindow is placed on the left side.

(2) 그것과 가장 유사도가 높은 윈도우를 좌측에서 2번째에 둔다.(2) The window with the most similarity to it is placed second from the left.

(3) 아직 배치가 결정되어 있지 않은 서브윈도우 중에서 좌측에서 2번째의 서브윈도우와 가장 유사도가 높은 것을 좌측에서 3번째에 둔다.(3) Among the sub windows which are not yet arranged, the one most similar to the second sub window from the left is placed in the third from the left.

(4) (3)의 처리를 반복함으로써 모든 서브윈도우의 배치(좌측으로부터의 순서)를 결정한다.(4) By repeating the process of (3), the arrangement (the order from the left) of all subwindows is determined.

(5) 서브윈도우의 사이즈는 원래의 서브윈도우의 면적에 비례하도록 횡폭을 결정한다.(5) The width of the subwindow is determined to be proportional to the area of the original subwindow.

상기의 스탠스(stance)에 의한 배치의 결정에 의해, 함께 이용할 가능성이 높은 윈도우가 인접하도록 나열되게 된다. 또한, 원래의 서브윈도우의 형상은 변화되지만, 면적의 비율은 유지되게 된다.By the determination of the arrangement by the above stance, the windows that are likely to be used together are arranged to be adjacent to each other. In addition, although the shape of the original subwindow changes, the ratio of the area is maintained.

레이아웃 제시 수단(520)은 레이아웃의 샘플을 유저에 제시한다. 유저는 상기 샘플을 보면서, 스스로 워크스페이스 내의 서브윈도우의 레이아웃을 변경한다.The layout presentation means 520 presents a sample of the layout to the user. While viewing the sample, the user changes the layout of the subwindow within the workspace.

서브윈도우의 배치에 관한 추천뿐만 아니라, 그다지 사용되고 있지 않은 서브윈도우를 워크스페이스로부터 제외하거나, 사이즈를 작게 하거나 하는 것을 추천하는 것도 가능하다.In addition to the recommendations for subwindow placement, it is also possible to remove subwindows that are not in use from the workspace or to reduce their size.

6. 매립 도킹6. Landfill Docking

상술한 바와 같이, 매립 도킹에는 그 동작에 관해서 다음과 같은 특징이 있다. 도킹의 전후에서 (드롭된 측의) 윈도우 전체의 사이즈가 변화되지 않는다. 「마진」이 윈도우의 복수의 변에 표시된다.As described above, the buried dock has the following features with respect to its operation. Before and after docking, the size of the entire window (on the dropped side) does not change. "Margin" is displayed on a plurality of sides of the window.

여기에서는, 이벤트 통지 수단의 실시예를 확장하는 형태에서의 매립 도킹의 실현 방식에 관하여 설명한다. 매립 도킹을 위한 시스템 구성도를 도 21에 나타낸다.Here, the implementation method of the embedding docking in the form which expands the Example of an event notification means is demonstrated. A system configuration diagram for a buried dock is shown in FIG. 21.

이벤트 통지 방식의 시스템 구성도에 대하여, 매니저(218)에는 근방 서브윈도우 검출 수단(600)이 추가되어 있다. 또한, 근방 윈도우 검출 수단(600), 마진 표시 수단(240), 및 도킹 수단(230)의 동작이 이벤트 통지 방식과 상이하다. 이들 에 관하여 설명한다.In the system configuration diagram of the event notification method, the neighboring subwindow detecting means 600 is added to the manager 218. In addition, the operations of the near window detection means 600, the margin display means 240, and the docking means 230 are different from the event notification method. Explain about these.

근방 윈도우 검출 수단Near window detection means

이벤트 통지 방식의 근방 윈도우 검출 수단(600)은 2개의 윈도우가 레프트(Left)-라이트(Right), 톱(Top)-보톰(Bottom)의 관계에 있는 윈도우만을 검출했지만, 본 실시예에서는, 2개의 윈도우가 중첩하고 있을 경우도 검출한다.The near window detection means 600 of the event notification method detects only windows in which two windows have a relationship of left-right and top-bottom. Also detect if two windows overlap.

확장 도킹과 매립 도킹의 구별은, 도 22의 (a)에 나타낸 바와 같이 윈도우에 중첩이 없을 경우에는 확장 도킹, 도 22의 (b)에 나타낸 바와 같이 중첩이 있을 경우에는 매립 도킹으로 한다. 도면에서는, 윈도우의 외형을 나타낸 굵은 선(30)이 마진을 나타내고 있다. 2개의 윈도우에 중첩이 없는 확장 도킹의 경우에는, 근방 서브윈도우 검출 수단을 필요로 하지 않고, 지금까지와 동일하게 처리를 행하면 된다.The distinction between extended docking and embedded docking is extended docking when there is no overlapping in the window as shown in Fig. 22A, and embedded docking when there is overlapping as shown in Fig. 22B. In the figure, the thick line 30 showing the outline of the window shows a margin. In the case of the extended docking in which two windows do not overlap, the nearby subwindow detection means is not required, and the processing may be performed in the same manner as before.

근방 서브윈도우 검출 수단Nearby subwindow detection means

근방 서브윈도우 검출 수단(600)은 근방 윈도우 검출 수단에서 매립 도킹으로 판단되었을 경우, 도킹 윈도우의 어느 서브윈도우의 어느 위치를 밀어내서 새롭게 윈도우를 도킹시킬지를 결정한다. 개념적으로는 도 23에 나타낸다.When the neighboring subwindow detecting means 600 determines that the nearby window detecting means is buried docking, the neighboring subwindow detecting means 600 determines which position of which subwindow of the docking window to push the new window to. Conceptually, it is shown in FIG.

근방 서브윈도우 검출 수단(600)에서는 다음의 2개의 스텝을 갖는다.The neighborhood subwindow detection means 600 has the following two steps.

(1) 밀어내는 대상의 서브윈도우를 검출한다.(1) The subwindow of the object to be pushed out is detected.

(2) 밀어내는 대상의 서브윈도우에서, 밀어내는 위치를 검출한다.(2) The pushing position is detected in the subwindow of the pushing object.

여기에서는, 도 23과 같이, 2개의 윈도우A와 B가 도킹된 도킹 윈도우AB의 어딘가에 새로운 윈도우C를 매립 도킹시킬 경우를 예로 설명한다.Here, as shown in FIG. 23, a case where the new window C is buried docked somewhere in the docking window AB where the two windows A and B are docked.

스텝 1에서는, 밀어내는 대상의 서브윈도우를 검출한다. A의 중심(윈도우의 장방형의 중심)과 B의 중심을 산출한다. 이들과 C의 중심과의 거리를 산출하고, 거리적으로 가까운 쪽이 윈도우C의 도킹 대상의 윈도우가 된다. 여기에서는, B가 도킹 대상이었던 것으로 한다.In step 1, the subwindow to be pushed out is detected. Calculate the center of A (the center of the rectangle of the window) and the center of B. The distance between these and the center of C is computed, and the one nearer to the distance becomes the window to be docked of the window C. Here, suppose that B was a docking object.

스텝 2에서는, 윈도우B의 어느 위치를 밀어낼지를 결정한다. 우선은, B의 윈도우 영역을 도 24에 나타낸 바와 같이 2개의 대각선에 의해 구획되는 4개의 영역으로 분할한다. 다음으로, B의 4개의 영역의 각 중심으로부터 C의 중심으로의 거리를 산출한다. 다만, 거리가 가까운 영역이 B에 대한 C의 매립 위치로 된다. 예를 들면, C의 중심이 B의 좌영역의 중심에 가깝다면(도 23c의 예), C는 B의 좌위치에 매립되어 도킹되게 된다.In step 2, it is determined which position of window B to push out. First, the window area of B is divided into four areas divided by two diagonal lines as shown in FIG. Next, the distance from the center of each of the four areas of B to the center of C is calculated. However, the area close to the distance becomes the embedding position of C with respect to B. For example, if the center of C is close to the center of the left region of B (example of Fig. 23C), C is embedded at the left position of B and docked.

마진 표시 수단Margin indicator

마진 표시 수단(240)은 근방 서브윈도우 검출 수단(600)에서 검출된 서브윈도우(앞서의 예에서는B)의 매립 위치(앞서의 예에서는 좌), 그것으로부터 드래그 중인 윈도우(앞서의 예에서는 C)의 대응하는 위치에 마진을 표시한다. 여기서, 대응하는 위치란, 도 23의 (a), (b) 및 (c)에 나타낸 바와 같이, 도킹한 결과, 다른 서브윈도우와 접하게 되는 변40B, 40C, 42B, 42C, 44B, 44C인 것이다.The margin display means 240 is a buried position (left in the previous example) of the subwindow (B in the previous example) detected by the nearby subwindow detecting means 600, and a window being dragged therefrom (C in the previous example). Mark the margin at the corresponding position in. Here, the corresponding positions are sides 40B, 40C, 42B, 42C, 44B, 44C which come into contact with other sub-windows as a result of docking, as shown in Figs. 23A, 23B, and 23C. .

도킹 수단Docking means

도킹 수단(230)은 마진 표시 수단(240)에서 표시한 마진의 부분에 새로운 윈도우(앞서의 예에서는 C)를 도킹한다.The docking means 230 docks a new window (C in the previous example) to the portion of the margin displayed by the margin display means 240.

도 25는 본 실시예에 관한 워크스페이스 관리 방식을 실행하는 처리 장치의 일례를 나타낸 도면이다. 본 실시예에 관한 처리 장치(700)는 키보드, 마우스, 터치 패널, 화상 스캐너, 그 밖의 입력을 포함하는 입력 장치(702), 외부의 네트워크 등과 정보의 송수신을 가능하게 하는 외부 인터페이스(I/F)(704), 표시 장치(706), 프린터 등의 출력 장치(708), 각종의 데이터를 기억할 수 있는 기억 장치(710), OS, 프로그램, 애플리케이션 소프트웨어 등을 저장하는 메모리(712), 프로그램에 따라 각 부(部)의 동작을 제어할 수 있는 CPU(Central Processing Unit)(714)를 포함하여 구성된다.25 is a diagram showing an example of a processing apparatus that executes a workspace management method according to the present embodiment. The processing apparatus 700 according to the present embodiment includes an input device 702 including a keyboard, a mouse, a touch panel, an image scanner, and other inputs, an external interface (I / F) that enables transmission and reception of information with an external network. 704, display device 706, output device 708 such as a printer, a storage device 710 capable of storing various kinds of data, a memory 712 for storing an OS, a program, application software, and the like. Therefore, it is comprised including the CPU (Central Processing Unit) 714 which can control the operation | movement of each part.

CPU(714)는 메모리(712)에 저장된 애플리케이션을 기동함으로써, 표시 장치(706)에 유저 인터페이스를 위한 윈도우를 표시하고, 유저에게 워크스페이스를 부여한다. 본 실시예의 워크스페이스 관리 방식은 OS 및/또는 애플리케이션 소프트웨어에 결합되어, 상기한 바와 같은 윈도우의 도킹 등을 실행 가능하게 한다. 표시 장치(706) 상에 표시된 윈도우는 마우스 등의 입력 장치(702)를 통하여 유저에 의해 조작된다.The CPU 714 activates an application stored in the memory 712 to display a window for the user interface on the display device 706, and gives the user a workspace. The workspace management scheme of this embodiment is coupled to the OS and / or application software to enable docking of the windows as described above. The window displayed on the display device 706 is operated by the user through an input device 702 such as a mouse.

이상, 본 발명의 바람직한 실시예에 대하여 상세히 설명했지만, 본 발명은 이러한 특정 실시예에 한정되는 것이 아니라, 특허청구범위에 기재된 본 발명의 요지의 범위 내에서 다양한 변형·변경이 가능하다.As mentioned above, although preferred Example of this invention was described in detail, this invention is not limited to this specific Example, A various deformation | transformation and a change are possible within the range of the summary of this invention described in a claim.

도 1의 (a)는 윈도우A의 가까이에 윈도우B가 드래그되어 있는 상태를 나타내고, 도 1의 (b)는 윈도우B가 윈도우A에 도킹된 상태를 나타내는 도면.1A shows a state in which window B is dragged near window A, and FIG. 1B shows a state in which window B is docked in window A. FIG.

도 2는 도킹된 윈도우의 서브윈도우의 사이즈 변경을 설명하는 도면이며, 도 2의 (a)는 서브윈도우B의 사이즈 변경을 나타내고, 도 2의 (b)는 서브윈도우A의 사이즈 변경을 나타내는 도면.FIG. 2 is a view for explaining the size change of the subwindow of the docked window, FIG. 2A shows the size change of the subwindow B, and FIG. 2B shows the size change of the subwindow A. FIG. .

도 3은 윈도우A, B, C가 도킹된 윈도우에서 서브윈도우의 사이즈가 변경된 상태를 설명하며, 도 3의 (a)는 서브윈도우A의 사이즈 변경을 나타내고, 도 3의 (b)는 서브윈도우B, C의 사이즈 변경을 나타내는 도면.3 illustrates a state in which a size of a subwindow is changed in a window in which windows A, B, and C are docked, (a) of FIG. 3 shows a change in size of a subwindow A, and FIG. 3 (b) shows a subwindow. A figure which shows the size change of B and C. FIG.

도 4는 윈도우A, B, C, D가 도킹된 윈도우에서 서브윈도우의 사이즈가 변경된 상태를 설명하며, 도 4의 (a)는 서브윈도우A의 사이즈 변경을 나타내고, 도 4의 (b)는 서브윈도우B, C, D의 사이즈 변경을 나타내는 도면.4 illustrates a state in which a size of a subwindow is changed in a window in which windows A, B, C, and D are docked. FIG. 4A illustrates a change in size of a subwindow A. FIG. A diagram showing the resizing of subwindows B, C, and D. FIG.

도 5는 매립 도킹을 설명하는 도면이며, 도 5의 (a)는 윈도우C가 도킹 윈도우A, B에 도킹되기 전의 상태를 나타내고, 도 5의 (b)는 윈도우C가 도킹된 후의 상태를 나타내는 도면.FIG. 5 is a view illustrating a buried dock, FIG. 5A illustrates a state before the window C is docked to the docking windows A and B, and FIG. 5B illustrates a state after the window C is docked. drawing.

도 6은 본 발명의 실시예에 관한 워크스페이스 관리 방식의 이벤트 검출 방식의 구성을 나타내는 블록도.6 is a block diagram showing the configuration of an event detection method of a workspace management method according to the embodiment of the present invention;

도 7은 본 실시예의 이벤트 검출 수단의 동작 흐름을 나타내는 도면.Fig. 7 is a diagram showing the operational flow of the event detecting means of this embodiment.

도 8은 본 실시예의 윈도우 관리 수단의 Execute의 경우의 동작 흐름을 나타내는 도면.8 is a diagram showing an operational flow in the case of Execute of the window management means of the present embodiment.

도 9는 본 실시예의 윈도우 관리 수단의 Move의 경우의 동작 흐름을 나타내는 도면.9 is a diagram showing an operation flow in the case of Move of the window management means of the present embodiment.

도 10은 본 실시예의 윈도우 관리 수단의 Drop의 경우의 동작 흐름을 나타내는 도면.10 is a diagram showing an operation flow in the case of Drop of the window management means of the present embodiment.

도 11은 본 실시예의 윈도우 관리 수단의 Resize의 경우의 동작 흐름을 나타내는 도면.Fig. 11 is a diagram showing the operational flow in the case of Resize of the window management means of this embodiment.

도 12는 근방 윈도우 수단의 동작 설명도.12 is an operation explanatory diagram of a near window means.

도 13의 (a)는 마진 표시 수단의 동작 설명도이고, 도 13의 (b)는 도킹 수단의 동작 설명도.13A is an explanatory view of the operation of the margin display means, and FIG. 13B is an explanatory view of the operation of the docking means.

도 14는 본 실시예에서의 이벤트 통지 방식의 구성을 나타내는 블록도.Fig. 14 is a block diagram showing the structure of an event notification method in the present embodiment.

도 15는 이벤트 통지 방식에서의 윈도우 관리 수단의 Exit의 경우의 동작 흐름을 나타내는 도면.Fig. 15 is a diagram showing the operational flow in the case of Exit of the window management means in the event notification method.

도 16은 본 실시예의 윈도우 상태/도큐먼트 상태의 보존과 재현을 실행하는 시스템의 구성을 나타내는 블록도.Fig. 16 is a block diagram showing the structure of a system for executing saving and reproducing of the window state / document state in this embodiment.

도 17은 본 실시예의 도킹 대상 윈도우 후보의 제시를 행하는 시스템 구성을 나타내는 블록도.Fig. 17 is a block diagram showing a system configuration for presenting a docking target window candidate of the present embodiment.

도 18은 후보 도큐먼트 제시 수단에 의해 후보 도큐먼트의 리스트 업의 예를 나타내는 도면.18 is a diagram showing an example of list-up of candidate documents by candidate document presentation means.

도 19는 본 실시예의 윈도우 배치의 추천을 행하기 위한 시스템 구성을 나타내는 블록도.Fig. 19 is a block diagram showing a system configuration for recommending the window arrangement of this embodiment.

도 20은 본 실시예에서의 서브윈도우간의 유사도 산출의 개념을 설명하는 도면.20 is a diagram for explaining the concept of similarity calculation between sub-windows in the present embodiment.

도 21은 본 실시예의 매립 도킹을 위한 시스템 구성을 나타내는 블록도.Fig. 21 is a block diagram showing a system configuration for a landfill dock in this embodiment.

도 22의 (a)는 확장 도킹의 예를 나타내고, 도 22의 (b)는 매립 도킹의 예를 나타내는 도면.22A shows an example of extended docking, and FIG. 22B shows an example of a buried dock.

도 23은 근방 서브윈도우 검출 수단의 동작을 설명하는 도면.Fig. 23 is a diagram for explaining the operation of nearby subwindow detecting means.

도 24는 윈도우 내에서의 영역의 분할 예를 나타내는 도면.24 is a diagram illustrating an example of division of an area in a window;

도 25는 본 실시예에 관한 워크스페이스 관리 방식, 워크스페이스 관리 방법, 워크스페이스 관리 프로그램을 실행하기 위한 처리 장치의 구성 예를 나타내는 도면.Fig. 25 is a diagram showing a configuration example of a processing apparatus for executing a workspace management method, a workspace management method, and a workspace management program according to the present embodiment.

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

10, 12, 14b, 16, 30 : 마진 표시10, 12, 14b, 16, 30: margin display

40B, 40C, 42B, 42C, 44B, 44C : 마진 표시40B, 40C, 42B, 42C, 44B, 44C: margin display

100 : 매니저 110 : 도킹 수단100: manager 110: docking means

120 : 마진 표시 수단 130 : 근방 윈도우 검출 수단120: margin display means 130: near window detection means

140 : 이벤트 검출 수단 150 : 윈도우 관리 수단140: event detection means 150: window management means

200 : 이벤트 송신 수단 210, 212, 214, 216, 218 : 매니저200: event transmission means 210, 212, 214, 216, 218: manager

220 : 윈도우 관리 수단 230 : 도킹 수단220: window management means 230: docking means

240 : 마진 표시 수단 250 : 근방 윈도우 검출 수단240: margin display means 250: near window detection means

300 : 상태 보존 수단 310 : 상태 재현 수단300: state preservation means 310: state reproduction means

400 : 후보 도큐먼트 검색 수단 410 : 후보 도큐먼트 알림 수단400: candidate document search means 410: candidate document notification means

420 : 후보 도큐먼트 제시 수단 430 : 윈도우 생성 수단420: candidate document presentation means 430: window generation means

500 : 이용 로그 취득 수단 510 : 이용 로그 분석 수단500: usage log acquisition means 510: usage log analysis means

520 : 레이아웃 제시 수단 600 : 근방 서브윈도우 검출 수단520: layout presentation means 600: nearby sub-window detection means

Claims (32)

애플리케이션(application)의 기동에 응답하여 표시된 윈도우를 유저 인터페이스(user interface)용의 워크스페이스(workspace)로서 관리하는 워크스페이스 관리 방법으로서,A workspace management method for managing a displayed window in response to the application startup as a workspace for a user interface. 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 관리하는 관리 스텝과,A management step of managing management information about a plurality of windows displayed on the display; 윈도우의 상태의 변화를 검출하는 검출 스텝과,A detection step of detecting a change in state of the window; 상기 검출 스텝에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈도우를 검출하는 윈도우 검출 스텝과,A window detection step of detecting another window in the vicinity of or overlapping with the one window with reference to the management information when the movement of one of the plurality of windows is detected by the detecting step; 윈도우 검출 스텝에 의해 다른 윈도우가 검출되었을 때, 상기 1개의 윈도우와 상기 다른 윈도우의 각각에 도킹(docking)되는 위치를 표시하는 표시 스텝과,A display step of displaying a position docked to each of the one window and the other window when another window is detected by the window detection step; 상기 검출 스텝에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 도킹 위치를 통하여 도킹하는 도킹 스텝을 포함하는 워크스페이스 관리 방법.And a docking step of docking the one window to the other window via the docking position when the detection step stops the movement of the one window. 제 1 항에 있어서,The method of claim 1, 상기 복수의 윈도우는 각각 상이한 애플리케이션에 의해 기동되는 워크스페이스 관리 방법.And the plurality of windows are each activated by different applications. 제 1 항에 있어서,The method of claim 1, 상기 복수의 윈도우는 직사각형이며, 상기 1개의 윈도우는 다른 윈도우의 1변(邊)의 사이즈에 적합한 사이즈로 도킹되고, 도킹된 윈도우는 직사각형인 워크스페이스 관리 방법.And said plurality of windows is a rectangle, said one window is docked with a size suitable for the size of one side of another window, and said docked window is a rectangle. 제 1 항에 있어서,The method of claim 1, 상기 표시 스텝은 상기 1개의 윈도우와 상기 다른 윈도우의 각각의 적어도 2변에 도킹 위치를 표시하는 워크스페이스 관리 방법.And said displaying step displays a docking position on at least two sides of each of said one window and said other window. 제 1 항에 있어서,The method of claim 1, 워크스페이스 관리 방법은 상기 검출 스텝에 의해 도킹된 윈도우에 포함되는 서브윈도우의 사이즈가 변경된 것이 검출되었을 때, 상기 관리 정보를 참조하여, 도킹된 윈도우에 포함되는 다른 서브윈도우의 사이즈를 동시에 변경하는 사이즈 변경 스텝을 더 포함하는 워크스페이스 관리 방법.In the workspace management method, when it is detected that the size of a subwindow included in the docked window is changed by the detecting step, the size of changing the size of another subwindow included in the docked window simultaneously with reference to the management information. Workspace management method further comprising a change step. 제 1 항에 있어서,The method of claim 1, 워크스페이스 관리 방법은 상기 검출 스텝에 의해 도킹된 윈도우의 이동이 검출되었을 때, 도킹된 윈도우를 전체로서 이동하는 스텝을 더 포함하는 워크스페이스 관리 방법.The workspace management method further comprises the step of moving the docked window as a whole when movement of the docked window is detected by the detecting step. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,7. The method according to any one of claims 1 to 6, 워크스페이스 관리 방법은 도킹된 윈도우의 도킹을 해제하는 스텝을 더 포함하는 워크스페이스 관리 방법.The workspace management method further comprises the step of undocking the docked window. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 워크스페이스 관리 방법으로서,A workspace management method for managing a displayed window in response to the application startup as a workspace for a user interface. 1개의 윈도우가 드래그되어 다른 윈도우에 접근되었을 때, 1개의 윈도우와 다른 윈도우의 도킹되는 위치를 표시하고,When one window is dragged to access another window, the docking position of one window and the other window is displayed. 도킹 위치가 표시된 상태에서 1개의 윈도우의 드래그가 정지되었을 때, 1개의 윈도우가 다른 윈도우에 도킹되어 1개의 윈도우로 되는 워크스페이스 관리 방법.A method of managing a workspace, wherein when a drag of one window is stopped while a docking position is displayed, one window is docked with another window to become one window. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 워크스페이스 관리 방식으로서,As a workspace management method for managing a window displayed in response to starting an application as a workspace for a user interface, 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 기억하는 윈도우 관리 수단과,Window management means for storing management information about the plurality of windows displayed on the display; 윈도우의 상태의 변화를 검출하는 검출 수단과,Detecting means for detecting a change in state of the window; 상기 검출 수단에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈 도우를 검출하는 윈도우 검출 수단과,Window detection means for detecting another window in the vicinity or overlapping of the one window with reference to the management information when the movement of one of the plurality of windows is detected by the detection means; 윈도우 검출 수단에 의해 다른 윈도우가 검출되었을 때, 상기 1개의 윈도우와 상기 다른 윈도우가 도킹 가능한 것을 제시하는 제시 수단과,Presentation means for presenting that the one window and the other window are dockable when another window is detected by the window detection means; 상기 검출 수단에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 제시된 도킹 위치를 통하여 도킹하는 도킹 수단을 갖는 워크스페이스 관리 방식.And docking means for docking said one window through said docking position in said other window when said stop of movement of said one window is detected by said detecting means. 제 9 항에 있어서,The method of claim 9, 상기 제시 수단은 상기 1개의 윈도우가 상기 다른 윈도우에 도킹되는 위치를 표시하는 표시 수단을 포함하는 워크스페이스 관리 방식.And the presentation means includes display means for indicating a location where the one window is docked with the other window. 제 10 항에 있어서,The method of claim 10, 상기 표시 수단은 윈도우의 특정 변에 다른 변과 식별 가능한 표시를 부여하는 워크스페이스 관리 방식.And the display means assigns a display distinguishable from another side to a specific side of the window. 제 9 항에 있어서The method of claim 9 상기 검출 수단은 정기적으로 액티브한 윈도우의 상태를 감시하고, 액티브한 윈도우의 이벤트(event)의 변화를 검출하는 워크스페이스 관리 방식.And the detecting means periodically monitors the state of the active window and detects a change in the event of the active window. 제 9 항에 있어서,The method of claim 9, 상기 검출 수단은 윈도우에 대하여 조작된 이벤트의 종류를 검출하는 워크스페이스 관리 방식.And the detecting means detects the type of the event operated on the window. 제 9 항에 있어서,The method of claim 9, 복수의 윈도우는 각각 상이한 애플리케이션에 따라 기동되는 워크스페이스 관리 방식.Workspace management scheme in which a plurality of windows are each launched according to different applications. 제 9 항에 있어서,The method of claim 9, 상기 관리 정보는 적어도 윈도우를 식별하는 식별 정보, 윈도우의 위치 정보, 윈도우의 사이즈 정보를 포함하는 워크스페이스 관리 방식.And the management information includes at least identification information for identifying a window, position information of the window, and size information of the window. 제 9 항에 있어서,The method of claim 9, 상기 복수의 윈도우는 직사각형이며, 상기 도킹 수단은 상기 1개의 윈도우를 다른 윈도우의 1변의 사이즈에 적합한 사이즈로 도킹하고, 도킹된 윈도우는 직사각형인 워크스페이스 관리 방식.The plurality of windows are rectangular, and the docking means docks the one window to a size suitable for the size of one side of the other window, and the docked window is a rectangle. 제 10 항에 있어서,The method of claim 10, 상기 제시 수단은 상기 1개의 윈도우가 복수의 다른 윈도우에 접근했을 때, 상기 1개의 윈도우와 상기 다른 윈도우의 각각의 적어도 2변에 도킹 위치를 표시하는 워크스페이스 관리 방식.And said presenting means displays a docking position on at least two sides of each of said one window and said other window when said one window approaches a plurality of other windows. 제 9 항에 있어서,The method of claim 9, 워크스페이스 관리 방식은 상기 검출 수단에 의해 도킹된 윈도우에 포함되는 서브윈도우의 사이즈의 변경이 검출되었을 때, 상기 관리 정보를 참조하여, 도킹된 윈도우에 포함되는 다른 서브윈도우의 사이즈를 동시에 변경하는 사이즈 변경 수단을 더 포함하는 워크스페이스 관리 방식.The workspace management method is a size for simultaneously changing the size of another subwindow included in the docked window with reference to the management information when a change in the size of the subwindow included in the window docked by the detection means is detected. Workspace management methods further comprising a means of change. 제 9 항에 있어서,The method of claim 9, 워크스페이스 관리 방식은 상기 검출 수단에 의해 도킹된 윈도우의 이동이 검출되었을 때, 도킹된 윈도우를 이동하는 이동 수단을 더 포함하는 워크스페이스 관리 방식.The workspace management method further includes moving means for moving the docked window when the movement of the docked window is detected by the detecting means. 제 9 항에 있어서,The method of claim 9, 워크스페이스 관리 방식은 도킹된 윈도우의 상태를 보존하는 상태 보존 수단과, 상기 상태 보존 수단에 의해 보존된 상태에 기초하여 도킹 윈도우를 재현하는 상태 재현 수단을 더 포함하는 워크스페이스 관리 방식.The workspace management method further includes state preserving means for preserving the state of the docked window and state reproducing means for reproducing the docking window based on the state preserved by the state preserving means. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 워크스페이스 관리 방식으로서,As a workspace management method for managing a window displayed in response to starting an application as a workspace for a user interface, 1개의 윈도우를 다른 윈도우에 도킹하는 도킹 수단과,Docking means for docking one window to another window; 도킹된 도킹 윈도우 내의 서브윈도우에 대한 조작 이력 정보를 유지하는 이용 이력 유지 수단과,Use history holding means for holding operation history information for the sub-window in the docked docking window; 상기 조작 이력 정보에 기초하여 도킹된 윈도우 내의 서브윈도우의 배치를 추천하는 배치 추천 수단을 갖는 워크스페이스 관리 방식.And a layout recommendation means for recommending an arrangement of sub-windows in a docked window based on the operation history information. 제 21 항에 있어서,The method of claim 21, 배치 추천 수단은 상기 조작 이력 정보에 기초하여 적어도 서브윈도우의 이용 빈도 또는 서브윈도우간의 유사도를 산출하고, 그 산출 결과에 따라 서브윈도우의 배치를 결정하는 워크스페이스 관리 방식.The layout recommendation means calculates at least the frequency of use of the sub-windows or the similarity between the sub-windows based on the operation history information, and determines the arrangement of the sub-windows according to the calculation result. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 워크스페이스 관리 방식으로서, As a workspace management method for managing a window displayed in response to starting an application as a workspace for a user interface, 1개의 윈도우가 드래그되어 다른 윈도우에 접근된 것을 검출하는 수단과,Means for detecting that one window has been dragged to access the other window, 상기 검출에 응답하여 1개의 윈도우와 다른 윈도우의 도킹되는 위치를 표시하는 표시 수단과,Display means for displaying a docked position of one window and another window in response to the detection; 도킹 위치가 표시된 상태에서 1개의 윈도우의 드래그가 정지되었을 때, 1개의 윈도우가 다른 윈도우에 도킹하여 1개의 윈도우를 생성하는 도킹 수단을 갖는 워크스페이스 관리 방식.And docking means for docking one window to another window to create one window when dragging of one window is stopped while the docking position is displayed. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크 스페이스로서 관리하는 워크스페이스 관리 프로그램이 저장된 컴퓨터 판독 가능한 기억매체로서,A computer-readable storage medium storing a workspace management program for managing a displayed window in response to the application startup as a workspace for a user interface, 디스플레이 상에 표시된 복수의 윈도우에 관한 관리 정보를 기억하는 윈도우 관리 수단과,Window management means for storing management information about the plurality of windows displayed on the display; 윈도우의 상태의 변화를 검출하는 검출 수단과,Detecting means for detecting a change in state of the window; 상기 검출 수단에 의해 복수의 윈도우 중 1개의 윈도우의 이동이 검출되었을 때, 상기 관리 정보를 참조하여 당해 1개의 윈도우의 근방 또는 중복하는 다른 윈도우를 검출하는 윈도우 검출 수단과,Window detection means for detecting another window in the vicinity of, or overlapping with, the one window with reference to the management information when the movement of one of the plurality of windows is detected by the detecting means; 윈도우 검출 수단에 의해 다른 윈도우가 검출되었을 때, 상기 1개의 윈도우와 상기 다른 윈도우의 각각에 도킹되는 위치를 표시하는 표시 수단과,Display means for displaying a position docked to each of the one window and the other window when another window is detected by the window detecting means; 상기 검출 수단에 의해 상기 1개의 윈도우의 이동의 정지가 검출되었을 때, 상기 1개의 윈도우를 상기 다른 윈도우에 상기 도킹 위치를 통하여 도킹하는 도킹 수단을 갖는 워크스페이스 관리 프로그램이 저장된 컴퓨터 판독 가능한 기억매체.And a docking means for docking said one window to said other window via said docking position when said detection means detects a stop of movement of said one window. 제 24 항에 있어서,The method of claim 24, 상기 복수의 윈도우는 직사각형이며, 상기 도킹 수단은 상기 1개의 윈도우를 다른 윈도우의 1변의 사이즈에 적합한 사이즈로 도킹하고, 도킹된 윈도우는 직사각형인 컴퓨터 판독 가능한 기억매체.And the plurality of windows are rectangular, and the docking means docks the one window to a size suitable for the size of one side of the other window, and the docked window is rectangular. 제 24 항에 있어서,The method of claim 24, 워크스페이스 관리 방식은 상기 검출 수단에 의해 도킹된 윈도우의 이동이 검출되었을 때, 도킹된 윈도우를 이동하는 이동 수단을 더 포함하는 컴퓨터 판독 가능한 기억매체.The workspace management method further comprises moving means for moving the docked window when the movement of the docked window is detected by the detecting means. 제 24 항에 있어서,The method of claim 24, 워크스페이스 관리 방식은 도킹된 윈도우의 상태를 보존하는 상태 보존 수단과, 상기 상태 보존 수단에 의해 보존된 상태에 기초하여 도킹 윈도우를 재현하는 상태 재현 수단을 더 포함하는 컴퓨터 판독 가능한 기억매체.The workspace management method further comprises state preserving means for preserving the state of the docked window, and state reproducing means for reproducing the docking window based on the state preserved by the state preserving means. 애플리케이션의 기동에 응답하여 표시된 윈도우를 유저 인터페이스용의 워크스페이스로서 관리하는 워크스페이스 관리 프로그램이 저장된 컴퓨터 판독 가능한 기억매체로서,A computer-readable storage medium storing a workspace management program for managing a displayed window in response to the application startup as a workspace for a user interface, 1개의 윈도우가 드래그되어 다른 윈도우에 접근된 것을 검출하는 수단과,Means for detecting that one window has been dragged to access the other window, 상기 검출에 응답하여 1개의 윈도우와 다른 윈도우의 도킹되는 위치를 표시하는 표시 수단과,Display means for displaying a docked position of one window and another window in response to the detection; 도킹되는 위치가 표시된 상태에서 1개의 윈도우의 드래그가 정지되었을 때, 1개의 윈도우가 다른 윈도우에 도킹하여 1개의 윈도우를 생성하는 도킹 수단을 갖는 워크스페이스 관리 프로그램이 저장된 컴퓨터 판독 가능한 기억매체.A computer-readable storage medium storing a workspace management program having docking means for docking one window to another window and creating one window when dragging of one window is stopped while the docked position is displayed. 제 28 항에 있어서,29. The method of claim 28, 상기 표시 수단은 윈도우의 특정 변에 다른 변과 식별가능한 표시를 부여하는 컴퓨터 판독 가능한 기억매체.And the display means provides a specific side of the window with an identifiable indication of the other side. 제 28 항에 있어서,29. The method of claim 28, 상기 검출 수단은 정기적으로 액티브한 윈도우의 상태를 감시하고, 액티브한 윈도우의 이벤트의 변화를 검출하는 컴퓨터 판독 가능한 기억매체.And the detecting means periodically monitors a state of an active window and detects a change in an event of the active window. 제 28 항에 있어서,29. The method of claim 28, 상기 검출 수단은 윈도우에 대하여 조작된 이벤트의 종류를 검출하는 컴퓨터 판독 가능한 기억매체.And the detecting means detects a type of the event operated on the window. 제 28 항에 있어서,29. The method of claim 28, 복수의 윈도우는 각각 상이한 애플리케이션에 의해 기동되는 컴퓨터 판독 가능한 기억매체.And a plurality of windows, each of which is launched by a different application.
KR1020080115468A 2008-11-20 2008-11-20 Workspace management method, workspace management system, and computer readable medium KR20100056594A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080115468A KR20100056594A (en) 2008-11-20 2008-11-20 Workspace management method, workspace management system, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080115468A KR20100056594A (en) 2008-11-20 2008-11-20 Workspace management method, workspace management system, and computer readable medium

Publications (1)

Publication Number Publication Date
KR20100056594A true KR20100056594A (en) 2010-05-28

Family

ID=42280573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080115468A KR20100056594A (en) 2008-11-20 2008-11-20 Workspace management method, workspace management system, and computer readable medium

Country Status (1)

Country Link
KR (1) KR20100056594A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014085502A1 (en) * 2012-11-29 2014-06-05 Edsense, L.L.C. System and method for displaying multiple applications
KR101466211B1 (en) * 2013-03-07 2014-11-27 에스피테크놀러지 주식회사 A method and apparatus for aligning windows in a user interface screen
US9584402B2 (en) 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
US9886229B2 (en) 2013-07-18 2018-02-06 Fasetto, L.L.C. System and method for multi-angle videos
US10075502B2 (en) 2015-03-11 2018-09-11 Fasetto, Inc. Systems and methods for web API communication
US10123153B2 (en) 2014-10-06 2018-11-06 Fasetto, Inc. Systems and methods for portable storage devices
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
US10614234B2 (en) 2013-09-30 2020-04-07 Fasetto, Inc. Paperless application
US10712898B2 (en) 2013-03-05 2020-07-14 Fasetto, Inc. System and method for cubic graphical user interfaces
US10763630B2 (en) 2017-10-19 2020-09-01 Fasetto, Inc. Portable electronic device connection systems
US10904717B2 (en) 2014-07-10 2021-01-26 Fasetto, Inc. Systems and methods for message editing
US10929071B2 (en) 2015-12-03 2021-02-23 Fasetto, Inc. Systems and methods for memory card emulation
US10956589B2 (en) 2016-11-23 2021-03-23 Fasetto, Inc. Systems and methods for streaming media
US10979466B2 (en) 2018-04-17 2021-04-13 Fasetto, Inc. Device presentation with real-time feedback
US11708051B2 (en) 2017-02-03 2023-07-25 Fasetto, Inc. Systems and methods for data storage in keyed devices
US11985244B2 (en) 2017-12-01 2024-05-14 Fasetto, Inc. Systems and methods for improved data encryption

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495881B2 (en) 2012-11-29 2016-11-15 Edsense, L.L.C. System and method for displaying multiple applications
WO2014085502A1 (en) * 2012-11-29 2014-06-05 Edsense, L.L.C. System and method for displaying multiple applications
US10712898B2 (en) 2013-03-05 2020-07-14 Fasetto, Inc. System and method for cubic graphical user interfaces
KR101466211B1 (en) * 2013-03-07 2014-11-27 에스피테크놀러지 주식회사 A method and apparatus for aligning windows in a user interface screen
US9886229B2 (en) 2013-07-18 2018-02-06 Fasetto, L.L.C. System and method for multi-angle videos
US10614234B2 (en) 2013-09-30 2020-04-07 Fasetto, Inc. Paperless application
US9584402B2 (en) 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
US10084688B2 (en) 2014-01-27 2018-09-25 Fasetto, Inc. Systems and methods for peer-to-peer communication
US11374854B2 (en) 2014-01-27 2022-06-28 Fasetto, Inc. Systems and methods for peer-to-peer communication
US10812375B2 (en) 2014-01-27 2020-10-20 Fasetto, Inc. Systems and methods for peer-to-peer communication
US10904717B2 (en) 2014-07-10 2021-01-26 Fasetto, Inc. Systems and methods for message editing
US10123153B2 (en) 2014-10-06 2018-11-06 Fasetto, Inc. Systems and methods for portable storage devices
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
US10983565B2 (en) 2014-10-06 2021-04-20 Fasetto, Inc. Portable storage device with modular power and housing system
US11089460B2 (en) 2014-10-06 2021-08-10 Fasetto, Inc. Systems and methods for portable storage devices
US10075502B2 (en) 2015-03-11 2018-09-11 Fasetto, Inc. Systems and methods for web API communication
US10848542B2 (en) 2015-03-11 2020-11-24 Fasetto, Inc. Systems and methods for web API communication
US10929071B2 (en) 2015-12-03 2021-02-23 Fasetto, Inc. Systems and methods for memory card emulation
US10956589B2 (en) 2016-11-23 2021-03-23 Fasetto, Inc. Systems and methods for streaming media
US11708051B2 (en) 2017-02-03 2023-07-25 Fasetto, Inc. Systems and methods for data storage in keyed devices
US10763630B2 (en) 2017-10-19 2020-09-01 Fasetto, Inc. Portable electronic device connection systems
US11985244B2 (en) 2017-12-01 2024-05-14 Fasetto, Inc. Systems and methods for improved data encryption
US10979466B2 (en) 2018-04-17 2021-04-13 Fasetto, Inc. Device presentation with real-time feedback

Similar Documents

Publication Publication Date Title
JP4858313B2 (en) Workspace management method
KR20100056594A (en) Workspace management method, workspace management system, and computer readable medium
CN101739196B (en) Working space management method and working space management system
JP5704825B2 (en) Information processing apparatus, control method thereof, and program
RU2619896C2 (en) Method of displaying applications and corresponding electronic device
US20140075302A1 (en) Electronic apparatus and handwritten document processing method
US5594847A (en) System and method for selecting free form objects associated with a selection region displayed by a computer
JP5812507B2 (en) Terminal apparatus, annotation method, computer system, and computer program
CN102246498A (en) Controlling data transfer between devices
CN101436115A (en) Information display apparatus, method for displaying information
JP5818172B2 (en) Information display device, display control program, and display control method
CN101807141A (en) The control device of image processing system and image formation system
JP2008152585A (en) Display image control apparatus and its control method
US20120066584A1 (en) Host apparatus and method of displaying content by the same
JP5167850B2 (en) GUI system, GUI generation method, program, and recording medium
JP5974657B2 (en) Information processing apparatus, information processing method, and information processing program
JP2007179168A (en) Information processor, information processing method, and program
JP2004118550A (en) Text editing device and program
JP2020123234A (en) Information processor, control method, and program thereof
JPH1153161A (en) Information processing method, device and storage medium in which control program to execute information processing method is stored
AU2008243141B2 (en) Workspace management method, workspace management system, and workspace management program
JP2005284559A (en) Tool bar display switching method
Klein et al. Coderibbon: More efficient workspace management and navigation for mainstream development environments
KR20170126213A (en) Method and Apparatus for executing function for plural items on list
JP6624972B2 (en) Method, apparatus, and program for controlling display

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application