KR102550499B1 - 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버 - Google Patents

폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버 Download PDF

Info

Publication number
KR102550499B1
KR102550499B1 KR1020220175527A KR20220175527A KR102550499B1 KR 102550499 B1 KR102550499 B1 KR 102550499B1 KR 1020220175527 A KR1020220175527 A KR 1020220175527A KR 20220175527 A KR20220175527 A KR 20220175527A KR 102550499 B1 KR102550499 B1 KR 102550499B1
Authority
KR
South Korea
Prior art keywords
folder
local terminal
tree
information
access
Prior art date
Application number
KR1020220175527A
Other languages
English (en)
Inventor
이선웅
Original Assignee
주식회사 클라우다이크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 클라우다이크 filed Critical 주식회사 클라우다이크
Priority to KR1020220175527A priority Critical patent/KR102550499B1/ko
Application granted granted Critical
Publication of KR102550499B1 publication Critical patent/KR102550499B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버가 제공된다. 본 발명의 일 실시예에 따른 클라우드 서버는, 폴더 트리(folder tree)를 구비하며, 로컬 단말의 프리페치(pre-fetch) 요청에 따라 상기 폴더 트리에 포함된 하나 이상의 폴더에 대한 메타 데이터를 상기 로컬 단말로 전달하는 클라우드 서버로서, 상기 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하는 패턴 학습부; 상기 로컬 단말이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 상기 로컬 단말이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정하는 접근 예측부; 및 상기 로컬 단말이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 상기 로컬 단말로 전달하는 메타 데이터 전달부를 포함한다.

Description

폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버{METHOD FOR DYNAMICALLY PRE-FETCHING FOLDER TREE AND CLOUD SERVER FOR EXECUTING THE SAME}
본 발명의 실시예들은 폴더 트리의 동적 프리페치 기술과 관련된다.
네트워크 기술이 발전함에 따라 사용자가 이용하는 단말(예컨대, 데스크탑, 노트북, 휴대용 기기 등)에 저장되던 데이터는 클라우드 스토리지에 저장되고, 사용자는 필요할 때마다 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지에 저장된 데이터를 이용할 수 있게 되었다. 사용자는 클라우드 스토리지를 통해 파일을 업로드하거나 다운로드할 수 있으며, 파일 공유 및 동기화를 통해 수정된 파일을 실시간으로 확인할 수 있다.
이때, 클라우드 스토리지의 각 폴더에 저장된 파일들은 폴더 트리(folder tree)를 통해 로컬 단말에 표시될 수 있으며, 사용자는 상기 폴더 트리를 통해 각 폴더의 계층적인 구조를 보다 직관적으로 확인할 수 있다. 사용자는 상기 폴더 트리를 통해 각 폴더에 접근할 수 있으며, 이에 따라 자신이 원하는 파일에 보다 빠르게 접근할 수 있다.
한편, 로컬 단말을 통해 이러한 폴더 트리를 뷰잉(viewing)하기 위해서는 로컬 단말에서 폴더 트리의 각 폴더에 대한 메타 데이터를 클라우드 서버로부터 프리페치(pre-fetch)하여야 한다. 그러나, 폴더 트리 내 각 폴더들의 개수가 매우 많거나 폴더 트리의 구조가 복잡한 경우 프리페치에 많은 시간이 소요되고 이 경우 로컬 단말에서 폴더 트리를 신속하게 표시하는 데 어려움이 있다. 또한, 이 경우 한정된 크기의 화면에 폴더 트리 전체를 표시하는 데에도 많은 어려움이 있다.
한국등록특허공보 제10-1221399호(2013.01.07)
본 발명의 실시예들은 폴더 트리에 접근하는 사용자들의 접근패턴을 기초로 로컬 단말의 접근이 예상되는 폴더를 결정하고, 결정된 폴더에 대한 동적 프리페치를 통해 로컬 단말에서의 폴더 트리 뷰잉을 보다 효율적으로 수행하기 위한 것이다.
예시적인 실시예에 따르면, 폴더 트리(folder tree)를 구비하며, 로컬 단말의 프리페치(pre-fetch) 요청에 따라 상기 폴더 트리에 포함된 하나 이상의 폴더에 대한 메타 데이터를 상기 로컬 단말로 전달하는 클라우드 서버로서, 상기 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하는 패턴 학습부; 상기 로컬 단말이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 상기 로컬 단말이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정하는 접근 예측부; 및 상기 로컬 단말이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 상기 로컬 단말로 전달하는 메타 데이터 전달부를 포함하는, 클라우드 서버가 제공된다.
상기 패턴 학습부는, 사용자의 소속, 직급 및 직무 중 적어도 하나를 포함하는 사용자 정보와, 설정된 기간동안 상기 사용자가 상기 폴더 트리에 접근한 폴더경로, 폴더개수 및 상기 사용자가 상기 폴더 트리에 접근한 접근 시간대 중 적어도 하나를 포함하는 폴더 정보를 매칭시켜 상기 사용자들의 접근패턴을 학습할 수 있다.
상기 접근 예측부는, 상기 사용자 정보로부터 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하고, 상기 폴더 정보로부터 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율을 고려하여 상기 제2 폴더를 결정할 수 있다.
상기 접근 예측부는, 상기 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무와 상기 타 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무를 각각 비교하여 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별할 수 있다.
상기 접근 예측부는, 상기 로컬 단말이 상기 제1 폴더에 최초로 접근한 이후 상기 폴더 트리 내 상기 제1 폴더가 아닌 하나 이상의 타 폴더에 순차적으로 접근하는 경우 상기 로컬 단말이 상기 타 폴더에 순차적으로 접근할 때마다 상기 제1 폴더에 관한 정보, 상기 타 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제2 폴더를 결정할 수 있다.
상기 제2 폴더에 관한 메타 데이터는, 각 로컬 단말에 대응되는 사용자 정보 및 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 동적으로 변경될 수 있다.
상기 폴더 트리는, 상기 메타 데이터에 따라 상기 로컬 단말에서 동적으로 표시되며, 상기 폴더 트리 내 폴더들은, 상기 메타 데이터의 수신 여부에 따라 상기 로컬 단말에서 서로 다르게 표시될 수 있다.
다른 예시적인 실시예에 따르면, 폴더 트리(folder tree)를 구비하며 로컬 단말로부터 상기 폴더 트리에 대한 프리페치(pre-fetch) 요청을 수신하는 클라우드 서버에서 제공되는 폴더 트리의 동적 프리페치 방법으로서, 패턴 학습부에서, 상기 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하는 단계; 접근 예측부에서, 상기 로컬 단말이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 상기 로컬 단말이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정하는 단계; 및 메타 데이터 전달부에서, 상기 로컬 단말이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 상기 로컬 단말로 전달하는 단계를 포함하는, 폴더 트리의 동적 프리페치 방법이 제공된다.
상기 접근패턴을 학습하는 단계는, 사용자의 소속, 직급 및 직무 중 적어도 하나를 포함하는 사용자 정보와, 설정된 기간동안 상기 사용자가 상기 폴더 트리에 접근한 폴더경로, 폴더개수 및 상기 사용자가 상기 폴더 트리에 접근한 접근 시간대 중 적어도 하나를 포함하는 폴더 정보를 매칭시켜 상기 사용자들의 접근패턴을 학습할 수 있다.
상기 제2 폴더를 결정하는 단계는, 상기 사용자 정보로부터 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하는 단계; 및 상기 폴더 정보로부터 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율을 고려하여 상기 제2 폴더를 결정하는 단계를 포함할 수 있다.
상기 타 로컬 단말을 선별하는 단계는, 상기 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무와 상기 타 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무를 각각 비교하여 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별할 수 있다.
상기 제2 폴더를 결정하는 단계는, 상기 로컬 단말이 상기 제1 폴더에 최초로 접근한 이후 상기 폴더 트리 내 상기 제1 폴더가 아닌 하나 이상의 타 폴더에 순차적으로 접근하는 경우 상기 로컬 단말이 상기 타 폴더에 순차적으로 접근할 때마다 상기 제1 폴더에 관한 정보, 상기 타 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제2 폴더를 결정할 수 있다.
상기 제2 폴더에 관한 메타 데이터는, 각 로컬 단말에 대응되는 사용자 정보 및 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 동적으로 변경될 수 있다.
상기 폴더 트리는, 상기 메타 데이터에 따라 상기 로컬 단말에서 동적으로 표시되며, 상기 폴더 트리 내 폴더들은, 상기 메타 데이터의 수신 여부에 따라 상기 로컬 단말에서 서로 다르게 표시될 수 있다.
본 발명의 실시예들에 따르면, 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하고, 로컬 단말이 폴더 트리 내 제1 폴더에 최초로 접근하는 경우 제1 폴더에 관한 정보, 로컬 단말의 정보 및 학습 데이터를 기초로 로컬 단말의 접근이 예상되는 제2 폴더를 결정함으로써, 로컬 단말의 접근 전 로컬 단말이 접근할 것으로 예상되는 폴더 트리 내 위치를 특정할 수 있다.
또한, 본 발명의 실시예들에 따르면, 로컬 단말이 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 로컬 단말로 전달함으로써, 로컬 단말에서의 폴더 트리의 뷰잉 속도가 향상될 수 있다.
또한, 본 발명의 실시예들에 따르면, 로컬 단말에서 상기 메타 데이터의 수신 여부에 따라 폴더 트리 내 폴더들을 서로 다르게 표시함으로써, 사용자가 접근할 것으로 예측되는 폴더만이 선택적으로 표시되도록 할 수 있으며 이에 따라 한정된 크기의 화면에서 보다 효율적인 뷰잉을 가능하게 한다.
도 1은 본 발명의 일 실시예에 따른 폴더 트리의 동적 프리페치 시스템을 나타낸 개략도
도 2는 본 발명의 일 실시예에 따른 클라우드 서버의 상세 구성을 나타낸 블록도
도 3은 본 발명의 일 실시예에 따른 폴더 트리의 예시
도 4는 본 발명의 일 실시예에 따른 사용자들의 접근패턴을 나타낸 예시
도 5는 본 발명의 제1 실시예에 따라 접근 예측부에서 제2 폴더의 접근을 예측하는 과정을 나타낸 도면
도 6은 본 발명의 제1 실시예에 따라 메타 데이터 전달부에서 제2 폴더에 대한 메타 데이터를 로컬 단말로 전달하고, 로컬 단말에서 폴더 트리를 동적으로 뷰잉하는 과정을 나타낸 도면
도 7은 본 발명의 제2 실시예에 따라 접근 예측부에서 제2 폴더의 접근을 예측하는 과정을 나타낸 도면
도 8은 본 발명의 제2 실시예에 따라 메타 데이터 전달부에서 제2 폴더에 대한 메타 데이터를 로컬 단말로 전달하고, 로컬 단말에서 폴더 트리를 동적으로 뷰잉하는 과정을 나타낸 도면
도 9는 본 발명의 일 실시예에 따른 폴더 트리가 각 로컬 단말의 사용자 정보에 따라 서로 상이하게 뷰잉되는 예시
도 10은 본 발명의 일 실시예에 따른 폴더 트리가 각 로컬 단말의 접근 시간대에 따라 서로 상이하게 뷰잉되는 예시
도 11은 본 발명의 일 실시예에 따른 폴더 트리를 오픈(open)하기 위한 사용자 인터페이스를 나타낸 예시
도 12는 도 11의 사용자 인터페이스에 따라 폴더 트리가 오픈된 상태를 나타낸 예시
도 13은 본 발명의 일 실시예에 따른 폴더 트리에서 하위 폴더를 표시하는 예시를 나타낸 도면
도 14는 본 발명의 일 실시예에 따른 폴더 트리에서 하위 폴더를 표시하는 예시를 나타낸 도면
도 15는 본 발명의 일 실시예에 따른 폴더 트리의 동적 프리페치 방법을 설명하기 위한 흐름도
도 16은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 폴더 트리의 동적 프리페치 시스템(100)을 나타낸 개략도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 폴더 트리의 동적 프리페치 시스템(100)은 로컬 단말(102) 및 클라우드 서버(104)를 포함한다. 로컬 단말(102) 및 클라우드 서버(104)는 네트워크(106)를 통해 상호 연결될 수 있다. 여기서, 네트워크(106)는 예를 들어, 인터넷, 와이파이 네트워크(wifi network), 3G 네트워크, LTE 네트워크 등과 같은 모바일 네트워크(mobile network), 광역 네트워크(wire area networks) 등을 포함할 수 있다.
로컬 단말(102)은 사용자가 소지하는 단말로서 예를 들어, 데스크탑, 노트북, 태블릿 컴퓨터, 스마트폰, PDA, 스마트 워치와 같은 웨어러블 디바이스 등이 될 수 있다. 사용자는 로컬 단말(102)을 통해 클라우드 서버(104)에서 제공되는 클라우드 스토리지(미도시)에 접근할 수 있다. 사용자는 클라우드 스토리지를 통해 파일을 업로드하거나 다운로드할 수 있으며, 파일 공유 및 동기화를 통해 수정된 파일을 실시간으로 확인할 수 있다. 이때, 클라우드 스토리지의 각 폴더에 저장된 파일들은 폴더 트리(folder tree)를 통해 로컬 단말(102)에 표시될 수 있으며, 사용자는 상기 폴더 트리를 통해 각 폴더의 계층적인 구조를 보다 직관적으로 확인할 수 있다. 여기서, 파일은 예를 들어, 문서(document), 사진(picture), 이미지(image), 동영상(video) 파일 등을 포함할 수 있으나, 상기 파일의 종류가 특별히 한정되는 것은 아니다.
또한, 로컬 단말(102)은 이러한 폴더 트리의 표시를 위한 프리페치 요청을 클라우드 서버(104)로 전달할 수 있다. 본 실시예들에 있어서, 프리페치 요청은 로컬 단말(102)에서 폴더 트리를 표시하기 위해 필요한 폴더 트리 내 폴더들에 대한 메타 데이터를 불러오는 요청을 의미한다. 여기서, 폴더들에 대한 메타 데이터는 각 폴더의 이름, 각 폴더에 포함된 파일의 이름, 개수, 크기, 확장자 등이 될 수 있다. 상기 프리페치 요청은 로컬 단말(102)이 폴더 트리 내 임의의 폴더에 최초로 접근하는 순간 자동으로 트리거링(triggering)되어 클라우드 서버(104)로 전달될 수 있다.
클라우드 서버(104)는 클라우드 스토리지를 관리하고 이를 통해 각종 클라우드 서비스를 제공하는 장치이다. 본 실시예들에 있어서, 클라우드 스토리지는 파일이 저장되는 저장소이다. 사용자는 로컬 단말(102)을 통해 클라우드 스토리지에 접속하여 파일 액세스(access), 파일 수정, 파일 생성, 파일 업로드, 파일 다운로드 등을 수행할 수 있다. 상술한 바와 같이, 파일들은 계층적인 구조, 즉 폴더 트리의 형태로 각 폴더에 저장될 수 있으며, 클라우드 서버(104)는 로컬 단말(102)의 프리페치 요청에 따라 상기 폴더 트리 내 폴더들에 대한 메타 데이터를 로컬 단말(102)로 전달할 수 있다.
이때, 클라우드 서버(104)는 폴더 트리 전체, 즉 폴더 트리에 포함된 모든 폴더들에 대한 메타 데이터를 로컬 단말(102)로 한번에 전달하지 않고, 로컬 단말(102)이 폴더 트리 내 특정 폴더에 최초로 접근한 이후 다음으로 접근할 것으로 예상되는 하나 이상의 폴더를 결정하여 이를 기반으로 메타 데이터의 전달을 동적으로 수행하도록 구성된다. 또한, 로컬 단말(102)은 폴더 트리 전체를 한번에 표시하는 것이 아니라 클라우드 서버(104)로부터 수신된 메타 데이터를 기반으로 폴더 트리의 일부분만을 동적으로 표시할 수 있다. 이 경우, 로컬 단말(102)에서의 폴더 트리의 뷰잉 속도가 향상되고, 사용자가 접근할 것으로 예측되는 폴더만이 선택적으로 표시됨으로써 한정된 크기의 화면에서 보다 효율적인 뷰잉을 가능하게 한다. 이하에서는, 도 2 내지 도 15를 참조하여 이러한 폴더 트리의 동적 프리페치 구성에 대해 보다 자세히 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 클라우드 서버(104)의 상세 구성을 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 클라우드 서버(104)는 패턴 학습부(202), 접근 예측부(204) 및 메타 데이터 전달부(206)를 포함한다.
패턴 학습부(202)는 폴더 트리에 접근하는 사용자들의 접근패턴을 학습한다. 구체적으로, 패턴 학습부(202)는 폴더 트리에 접근하는 사용자 정보와 사용자자 접근하였던 폴더에 관한 정보, 즉 폴더 정보를 상호 매칭시켜 사용자들의 접근패턴을 학습할 수 있다. 여기서, 사용자 정보는 예를 들어, 사용자의 소속, 직급, 직무 등이 될 수 있다. 또한, 폴더 정보는 예를 들어, 설정된 기간동안 사용자가 폴더 트리에 접근한 폴더경로, 폴더개수, 접근시각 등이 될 수 있다.
도 3은 본 발명의 일 실시예에 따른 폴더 트리의 예시이며, 도 4는 본 발명의 일 실시예에 따른 사용자들의 접근패턴을 나타낸 예시이다.
도 3을 참조하면, 폴더 트리는 루트 노드(root node), 부모 노드(parent node), 자식 노드(child node)로 이루어질 수 있다. 루트 노드는 보모 노드가 없는 노드를 의미한다. 또한, 부모 노드는 자식 노드와의 관계에서 상위 노드를 의미하며, 루트 노드는 부모 노드와의 관계에서 하위 노드를 의미한다. 부모 노드는 상위 노드와의 관계에서 자식 노드가 될 수 있으며, 마찬가지로 자식 노드는 하위 노드와의 관계에서 부모 노드가 될 수도 있다. 또한, 서로 동일한 레벨이 있는 노드들, 예를 들어, Folder A1, Folder A2, Folder A3는 이들 간의 관계에서 형제 노드(sibling node)로 표현될 수 있다.
도 4를 참조하면, 패턴 학습부(202)는 폴더 트리에 접근하는 사용자들의 접근패턴을 학습할 수 있다. 상술한 바와 같이, 패턴 학습부(202)는 사용자 정보 및 폴더 정보를 상호 매칭시켜 사용자들의 접근패턴을 학습할 수 있다. 여기서, 사용자 정보는 예를 들어, 사용자의 소속(ex. Company #1), 직급(ex. 대리), 직무(ex. 개발팀), 최근 사용폴더(ex. Folder B), 참여 프로젝트(ex. Preoject #5), 지사/현장정보(ex. 충북지사) 등이 될 수 있다. 또한, 폴더 정보는 폴더경로(ex. Folder A →Folder A3 → Folder A31 → Folder A32), 폴더개수(ex. 4개), 접근 시간대(ex. 월요일/화요일 등의 접근요일, 1월/2월 등의 접근월 등) 등이 될 수 있다.
패턴 학습부(202)는 인공지능 모델을 통해 설정된 시간 동안 사용자 정보 및 폴더 정보를 수집하여 사용자들의 접근패턴을 학습할 수 있다. 이때, 패턴 학습부(202)는 접근횟수 또는 비율이 높은 순으로 사용자들의 접근패턴을 수집 및 학습할 수 있다. 이러한 사용자들의 접근패턴은 후술할 접근 예측부(204)에서 로컬 단말(102)이 접근할 것으로 예상되는 폴더를 결정하는 데 활용될 수 있다.
다시 도 2로 돌아오면, 접근 예측부(204)는 로컬 단말(102)이 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 로컬 단말(102)의 정보 및 패턴 학습부(202)에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 로컬 단말(102)이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정한다.
이를 위해, 접근 예측부(204)는 상기 사용자 정보로부터 상기 로컬 단말(102)의 정보와 대응되는 타 로컬 단말을 선별할 수 있다. 구체적으로, 접근 예측부(204)는 상기 로컬 단말(102)을 소지하는 사용자의 소속, 직급 및 직무와 상기 타 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무를 각각 비교하여 상기 로컬 단말(102)의 정보와 대응되는 타 로컬 단말을 선별할 수 있다. 즉, 접근 예측부(204)는 상기 로컬 단말(102)의 사용자 정보와 대응되는 타 로컬 단말을 선별할 수 있다. 예를 들어, 상기 로컬 단말(102)의 사용자 정보가 Company #1, 개발팀인 경우, 접근 예측부(204)는 Company #1, 개발팀에 해당하는 타 로컬 단말을 선별할 수 있다. 또한, 접근 예측부(204)는 상기 로컬 단말(102)을 소지하는 사용자의 최근 사용폴더, 참여 프로젝트, 지사/현장정보와 상기 타 로컬 단말을 소지하는 사용자의 최근 사용폴더, 참여 프로젝트, 지사/현장정보와 각각 추가적으로 비교하여 상기 로컬 단말(102)의 정보와 대응되는 타 로컬 단말을 선별할 수 있다.
이후, 접근 예측부(204)는 상기 폴더 정보로부터 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율을 고려하여 상기 제2 폴더를 결정할 수 있다. 예를 들어, 타 로컬 단말이 상기 제1 폴더(ex. Folder A)에 접근한 이후 다음으로 접근했던 폴더들에 대한 접근패턴을 분석한 결과 Folder A3 → Folder A31 → Folder A32 로의 접근횟수 또는 비율이 가장 높은 것으로 나타난 경우, 접근 예측부(204)는 Folder A3, Folder A31, Folder A32를 제2 폴더로 결정할 수 있다. 이와 같이, 접근 예측부(204)는 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율이 가장 높은 하나 이상의 폴더를 상기 제2 폴더로 결정할 수 있다.
이때, 접근 예측부(204)는 상기 접근횟수, 비율뿐 아니라 접근 시간대를 추가적으로 고려하여 상기 제2 폴더를 결정할 수 있다. 일 예시로서, 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율이 기준치 이상인 폴더들의 세트가 복수 개인 경우, 접근 예측부(204)는 로컬 단말(102)이 제1 폴더에 접근한 시각에 대응되는 시간대에서 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율이 가장 높은 하나 이상의 폴더를 상기 제2 폴더로 결정할 수 있다.
또한, 접근 예측부(204)는 로컬 단말(102)이 상기 제1 폴더에 최초로 접근한 이후 상기 폴더 트리 내 상기 제1 폴더가 아닌 하나 이상의 타 폴더에 순차적으로 접근하는 경우 로컬 단말(102)이 상기 타 폴더에 순차적으로 접근할 때마다 상기 제1 폴더에 관한 정보, 상기 타 폴더에 관한 정보, 상기 로컬 단말(102)의 정보 및 패턴 학습부(202)에서 학습된 학습 데이터를 토대로 상기 제2 폴더를 결정할 수 있다.
일 예시로서, 로컬 단말(102)이 Folder A에 최초로 접근한 이후 Folder A1, Folder A2에 순차적으로 접근하는 경우, 접근 예측부(204)는 로컬 단말(102)이 Folder A에서 Folder A1, Folder A2 로 각각 접근할 때마다 상기 제2 폴더를 새롭게 결정할 수 있다. 만약, 로컬 단말(102)이 Folder A → Folder A1 로 접근하는 경우, 접근 예측부(204)는 제2 폴더로서 Folder A2 를 결정할 수 있다. 또한, 로컬 단말(102)이 Folder A → Folder A1 → Folder A2 로 접근하는 경우, 접근 예측부(204)는 제2 폴더로서 Folder A11과 Folder A12를 결정할 수 있다. 이와 같이, 접근 예측부(204)는 로컬 단말(102)이 폴더 트리 내 각 폴더들에 대한 접근이 이루어질 때마다 현재까지 접근했던 폴더들에 대한 정보, 로컬 단말(102)의 정보 및 학습 데이터를 토대로 접근이 예상되는 제2 폴더를 그때그때 새롭게 결정할 수 있다.
메타 데이터 전달부(206)는 로컬 단말(102)이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 로컬 단말(102)로 전달한다. 도 2를 참조하면, 메타 데이터 전달부(206)는 상기 제2 폴더에 관한 메타 데이터를 프론트 엔드(Frontend)의 각 애플리케이션(예를 들어, 웹, 모바일, PC)에 대응되는 API(Application Programming Interface)를 통해 로컬 단말(102)로 전달할 수 있다. 상기 제2 폴더에 관한 메타 데이터는 예를 들어, 제2 폴더의 이름, 제2 폴더에 포함된 파일의 이름, 개수, 크기, 확장자 등이 될 수 있다. 로컬 단말(102)은 상기 제2 폴더에 접근하기 전에 상기 제2 폴더에 관한 메타 데이터를 프리페치하게 되므로, 상기 메타 데이터를 기초로 상기 제2 폴더를 화면에 표시할 수 있다. 즉, 로컬 단말(102)은 상기 제2 폴더에 관한 메타 데이터를 기초로 상기 제2 폴더로의 접근 전 상기 제2 폴더를 표시할 수 있으며, 이에 따라 사용자는 폴더 트리 전체에 관한 프리페치 없이도 자신이 원하는 폴더를 신속하게 확인할 수 있다.
이러한 제2 폴더에 관한 메타 데이터는 각 로컬 단말(102)에 대응되는 사용자 정보 및 각 로컬 단말(102)의 프리페치 요청 시간대에 따라 동적으로 달라질 수 있다. 또한, 폴더 트리는 상기 메타 데이터에 따라 로컬 단말(102)에서 동적으로 표시될 수 있다. 즉, 폴더 트리 내 폴더들은 상기 메타 데이터의 수신 여부에 따라 로컬 단말(102)에서 서로 다르게 표시될 수 있다. 일 예시로서, 동일한 폴더 트리도 로컬 단말(102)의 사용자 정보에 따라 각 로컬 단말(102)마다 서로 다르게 표시될 수 있다. 다른 예시로서, 하나의 로컬 단말(102)에서도 접근 시간대에 따라 폴더 트리가 서로 다르게 표시될 수 있다.
도 5는 본 발명의 제1 실시예에 따라 접근 예측부(204)에서 제2 폴더의 접근을 예측하는 과정을 나타낸 도면이다. 또한, 도 6은 본 발명의 제1 실시예에 따라 메타 데이터 전달부(206)에서 제2 폴더에 대한 메타 데이터를 로컬 단말(102)로 전달하고, 로컬 단말(102)에서 폴더 트리를 동적으로 뷰잉하는 과정을 나타낸 도면이다.
도 5를 참조하면, 로컬 단말(102)이 폴더 트리 내 최초로 접근하는 제1 폴더가 Folder A라 가정하는 경우, 접근 예측부(204)는 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 로컬 단말(102)이 Folder A3, Folder A31, Folder A32에 접근할 것으로 예측할 수 있다. 즉, 접근 예측부(102)는 Folder A3, Folder A31, Folder A32를 제2 폴더로 결정할 수 있다.
도 6을 참조하면, 메타 데이터 전달부(206)는 제2 폴더에 관한 메타 데이터, 즉 Folder A3, Folder A31, Folder A32에 관한 메타 데이터를 로컬 단말(102)로 전달할 수 있다. 이 경우, 로컬 단말(102)은 상기 메타 데이터를 기초로 Folder A, Folder A3, Folder A31, Folder A32 를 정상적으로 표시하고, 나머지 폴더들은 이와 다르게 표시할 수 있다. 예를 들어, 로컬 단말(102)은 Folder A, Folder A3, Folder A31, Folder A32 에 대해서는 실선 표시하고, 나머지 폴더들에 대해서는 점선 표시할 수 있다. 또한, 로컬 단말(102)은 Folder A, Folder A3, Folder A31, Folder A32 에 대해서는 폴더의 이름을 표시하고, 나머지 폴더들에 대해서는 폴더의 이름을 표시하지 않을 수 있다. 이와 같이, 폴더 트리는 상기 메타 데이터에 따라 로컬 단말(102)에서 동적으로 표시될 수 있으며, 각 폴더들은 상기 메타 데이터의 수신 여부에 따라 로컬 단말(102)에서 서로 다르게 표시될 수 있다.
도 7은 본 발명의 제2 실시예에 따라 접근 예측부(204)에서 제2 폴더의 접근을 예측하는 과정을 나타낸 도면이다. 또한, 도 8은 본 발명의 제2 실시예에 따라 메타 데이터 전달부(206)에서 제2 폴더에 대한 메타 데이터를 로컬 단말(102)로 전달하고, 로컬 단말(102)에서 폴더 트리를 동적으로 뷰잉하는 과정을 나타낸 도면이다.
도 7을 참조하면, 로컬 단말(102)이 폴더 트리 내 최초로 접근하는 제1 폴더가 Folder B라 가정하는 경우, 접근 예측부(204)는 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 로컬 단말(102)이 Folder B2, Folder B21 에 접근할 것으로 예측할 수 있다. 즉, 접근 예측부(102)는 Folder B2, Folder B21를 제2 폴더로 결정할 수 있다.
도 8을 참조하면, 메타 데이터 전달부(206)는 제2 폴더에 관한 메타 데이터, 즉 Folder B2, Folder B21에 관한 메타 데이터를 로컬 단말(102)로 전달할 수 있다. 이 경우, 로컬 단말(102)은 상기 메타 데이터를 기초로 Folder B2, Folder B21을 정상적으로 표시하고, 나머지 폴더들은 이와 다르게 표시할 수 있다. 예를 들어, 로컬 단말(102)은 Folder B2, Folder B21에 대해서는 실선 표시하고, 나머지 폴더들에 대해서는 점선 표시할 수 있다. 또한, 로컬 단말(102)은 Folder B2, Folder B21에 대해서는 폴더의 이름을 표시하고, 나머지 폴더들에 대해서는 폴더의 이름을 표시하지 않을 수 있다. 이와 같이, 폴더 트리는 상기 메타 데이터에 따라 로컬 단말(102)에서 동적으로 표시될 수 있으며, 각 폴더들은 상기 메타 데이터의 수신 여부에 따라 로컬 단말(102)에서 서로 다르게 표시될 수 있다.
또한, 메타 데이터 전달부(206)는 제2 폴더에 관한 메타 데이터뿐 아니라 제2 폴더와 동일한 레벨에 위치한 폴더(즉, 형제 노드의 위치에 있는 폴더)에 관한 메타 데이터를 로컬 단말(102)로 전달할 수 있다. 이 경우, 로컬 단말(102)은 상기 제2 폴더와 상기 제2 폴더와 동일한 레벨에 위치한 폴더들과 나머지 폴더들을 서로 다르게 표시할 수 있다. 예를 들어, 로컬 단말(102)은 상기 제2 폴더와 상기 제2 폴더와 동일한 레벨에 위치한 폴더들에 대해서는 폴더의 이름을 표시하고, 나머지 폴더들에 대해서는 폴더의 이름을 표시하지 않을 수 있다. 또한, 로컬 단말(102)은 상기 제2 폴더와 상기 제2 폴더와 동일한 레벨에 위치한 폴더들에 대해서는 실선 표시하고, 나머지 폴더들에 대해서는 점선 표시할 수 있다.
도 9는 본 발명의 일 실시예에 따른 폴더 트리가 각 로컬 단말(102)의 사용자 정보에 따라 서로 상이하게 뷰잉되는 예시이다. 여기서, 각 로컬 단말(102)의 사용자 정보는 상이하고, 각 로컬 단말(102)의 폴더 트리에 대한 접근 시간대, 즉 프리페치 요청 시간대는 동일한 것으로 가정한다.
도 9를 참조하면, 각 로컬 단말(102)의 사용자 정보가 상이하므로, 폴더 트리 내 폴더들이 각 로컬 단말(102)마다 서로 다르게 표시되는 것을 확인할 수 있다.
도 10은 본 발명의 일 실시예에 따른 폴더 트리가 각 로컬 단말의 접근 시간대에 따라 서로 상이하게 뷰잉되는 예시이다. 여기서, 각 로컬 단말(102)의 사용자 정보는 동일하고, 각 로컬 단말(102)의 폴더 트리에 대한 접근 시간대, 즉 프리페치 요청 시간대는 상이한 것으로 가정한다.
도 10을 참조하면, 로컬 단말(102)의 폴더 트리에 대한 접근 시간대가 상이하므로, 폴더 트리 내 폴더들이 각 접근 시간대에 따라 서로 다르게 표시되는 것을 확인할 수 있다.
도 11은 본 발명의 일 실시예에 따른 폴더 트리를 오픈(open)하기 위한 사용자 인터페이스를 나타낸 예시이며, 도 12는 도 11의 사용자 인터페이스에 따라 폴더 트리가 오픈된 상태를 나타낸 예시이다.
도 11을 참조하면, 사용자는 예를 들어 “+” 버튼을 클릭함으로써 폴더 트리를 오픈시킬 수 있다.
도 12를 참조하면, 사용자의 “+” 버튼의 클릭에 따라 사용자가 최초로 접근 가능한 상위 폴더들이 화면에 표시될 수 있다. 사용자가 폴더 트리 내 임의의 폴더에 최초로 접근하는 경우 상술한 폴더 트리의 동적 프리페치 과정이 동작하게 된다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 폴더 트리에서 하위 폴더를 표시하는 예시를 나타낸 도면이다.
도 13을 참조하면, 사용자가 Folder A 를 최초로 클릭하여 접근하는 경우 Folder A에 대한 하위 폴더들이 해당 하위 폴더들의 좌측면에 위치한 수직선과 함께 화면에 표시될 수 있다. 이때, 상술한 폴더 트리의 동적 프리페치 과정이 동작하여 사용자가 다음으로 예측할 것으로 판단되는 Folder A3, Folder A31, Folder A32 가 상기 Folder A와 함께 화면에 표시될 수 있으며, 나머지 폴더들은 이와 다르게 표시될 수 있다. 예를 들어, 나머지 폴더들은 화면에 폴더명이 표시되지 않은 채 “…” 형태로 표시될 수 있다.
또한, 도 14를 참조하면, 사용자가 Folder B 를 최초로 클릭하여 접근하는 경우 Folder B에 대한 하위 폴더들이 해당 하위 폴더들의 좌측면에 위치한 수직선과 함께 화면에 표시될 수 있다. 이때, 상술한 폴더 트리의 동적 프리페치 과정이 동작하여 사용자가 다음으로 예측할 것으로 판단되는 Folder B2, Folder B21 이 상기 Folder B와 함께 화면에 표시될 수 있으며, 나머지 폴더들은 이와 다르게 표시될 수 있다. 예를 들어, 나머지 폴더들은 화면에 폴더명이 표시되지 않은 채 “…” 형태로 표시될 수 있다. 여기서, “…”으로 생략 표시된 폴더들을 클릭하는 경우 생략된 폴더들의 폴더명 등이 표시될 수 있다.
이와 같이, 사용자가 접근할 것으로 예측되는 하위 폴더들이 화면에 선택적으로 표시되고 하위 폴더들의 시작과 끝을 나타내는 수직선이 상기 하위 폴더들과 함께 표시됨으로써, 사용자는 한정된 크기의 화면에서 보다 효율적인 뷰잉을 할 수 있으며 특정 폴더에 대한 하위 폴더의 현황을 보다 직관적으로 확인할 수 있다.
도 15는 본 발명의 일 실시예에 따른 폴더 트리의 동적 프리페치 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S102 단계에서, 패턴 학습부(202)는 폴더 트리에 접근하는 사용자들의 접근패턴을 학습한다.
S104 단계 및 S106 단계에서, 접근 예측부(204)는 로컬 단말(102)이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우 상기 제1 폴더에 관한 정보, 상기 로컬 단말(102)의 정보 및 패턴 학습부(202)에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 로컬 단말(102)이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정한다.
S108 단계에서, 메타 데이터 전달부(206)는 로컬 단말(102)이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 로컬 단말(102)로 전달한다.
S110 단계에서, 로컬 단말(102)은 상기 메타 데이터를 기초로 폴더 트리를 동적으로 표시한다.
도 16은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 폴더 트리의 동적 프리페치 시스템(100), 또는 폴더 트리의 동적 프리페치 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 폴더 트리의 동적 프리페치 시스템
102 : 로컬 단말
104 : 클라우드 서버
106 : 네트워크
202 : 패턴 학습부
204 : 접근 예측부
206 : 메타 데이터 전달부

Claims (14)

  1. 폴더 트리(folder tree)를 구비하며, 로컬 단말의 프리페치(pre-fetch) 요청에 따라 상기 폴더 트리에 포함된 하나 이상의 폴더에 대한 메타 데이터를 상기 로컬 단말로 전달하는 클라우드 서버로서,
    상기 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하는 패턴 학습부;
    상기 로컬 단말이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 상기 로컬 단말이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정하는 접근 예측부; 및
    상기 로컬 단말이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 상기 로컬 단말로 전달하는 메타 데이터 전달부를 포함하며,
    상기 제2 폴더에 관한 메타 데이터는, 각 로컬 단말에 대응되는 사용자 정보 및 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 동적으로 변경되고,
    상기 폴더 트리의 전체가 상기 로컬 단말에서 한번에 표시되는 대신, 상기 메타 데이터에 따라 상기 로컬 단말이 접근할 것으로 예상되는 상기 제2 폴더를 포함하는 상기 폴더 트리의 일부분만이 상기 로컬 단말에서 선택적으로 표시되고,
    상기 폴더 트리는, 상기 각 로컬 단말의 프리페치 요청 시간대가 동일하더라도 상기 각 로컬 단말의 사용자 정보가 상이한 경우 상기 각 로컬 단말의 사용자 정보에 따라 상기 각 로컬 단말에서 서로 다르게 표시되며,
    상기 폴더 트리는, 상기 각 로컬 단말의 사용자 정보가 동일하더라도 상기 각 로컬 단말의 프리페치 요청 시간대가 상이한 경우 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 상기 각 로컬 단말에서 서로 다르게 표시되는, 클라우드 서버.
  2. 청구항 1에 있어서,
    상기 패턴 학습부는, 사용자의 소속, 직급 및 직무 중 적어도 하나를 포함하는 사용자 정보와, 설정된 기간동안 상기 사용자가 상기 폴더 트리에 접근한 폴더경로, 폴더개수 및 상기 사용자가 상기 폴더 트리에 접근한 접근 시간대 중 적어도 하나를 포함하는 폴더 정보를 매칭시켜 상기 사용자들의 접근패턴을 학습하는, 클라우드 서버.
  3. 청구항 2에 있어서,
    상기 접근 예측부는, 상기 사용자 정보로부터 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하고, 상기 폴더 정보로부터 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율을 고려하여 상기 제2 폴더를 결정하는, 클라우드 서버.
  4. 청구항 3에 있어서,
    상기 접근 예측부는, 상기 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무와 상기 타 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무를 각각 비교하여 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하는, 클라우드 서버.
  5. 청구항 1에 있어서,
    상기 접근 예측부는, 상기 로컬 단말이 상기 제1 폴더에 최초로 접근한 이후 상기 폴더 트리 내 상기 제1 폴더가 아닌 하나 이상의 타 폴더에 순차적으로 접근하는 경우 상기 로컬 단말이 상기 타 폴더에 순차적으로 접근할 때마다 상기 제1 폴더에 관한 정보, 상기 타 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제2 폴더를 결정하는, 클라우드 서버.
  6. 삭제
  7. 삭제
  8. 폴더 트리(folder tree)를 구비하며 로컬 단말로부터 상기 폴더 트리에 대한 프리페치(pre-fetch) 요청을 수신하는 클라우드 서버에서 제공되는 폴더 트리의 동적 프리페치 방법으로서,
    패턴 학습부에서, 상기 폴더 트리에 접근하는 사용자들의 접근패턴을 학습하는 단계;
    접근 예측부에서, 상기 로컬 단말이 상기 폴더 트리 내 제1 폴더에 최초로 접근하는 경우, 상기 제1 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제1 폴더의 접근 이후 상기 로컬 단말이 접근할 것으로 예상되는 하나 이상의 제2 폴더를 결정하는 단계; 및
    메타 데이터 전달부에서, 상기 로컬 단말이 상기 제2 폴더에 접근하기 전 상기 제2 폴더에 관한 메타 데이터를 프리페치할 수 있도록 상기 제2 폴더에 관한 메타 데이터를 상기 로컬 단말로 전달하는 단계를 포함하며,
    상기 제2 폴더에 관한 메타 데이터는, 각 로컬 단말에 대응되는 사용자 정보 및 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 동적으로 변경되고,
    상기 폴더 트리의 전체가 상기 로컬 단말에서 한번에 표시되는 대신, 상기 메타 데이터에 따라 상기 로컬 단말이 접근할 것으로 예상되는 상기 제2 폴더를 포함하는 상기 폴더 트리의 일부분만이 상기 로컬 단말에서 선택적으로 표시되고,
    상기 폴더 트리는, 상기 각 로컬 단말의 프리페치 요청 시간대가 동일하더라도 상기 각 로컬 단말의 사용자 정보가 상이한 경우 상기 각 로컬 단말의 사용자 정보에 따라 상기 각 로컬 단말에서 서로 다르게 표시되며,
    상기 폴더 트리는, 상기 각 로컬 단말의 사용자 정보가 동일하더라도 상기 각 로컬 단말의 프리페치 요청 시간대가 상이한 경우 상기 각 로컬 단말의 프리페치 요청 시간대에 따라 상기 각 로컬 단말에서 서로 다르게 표시되는, 폴더 트리의 동적 프리페치 방법.
  9. 청구항 8에 있어서,
    상기 접근패턴을 학습하는 단계는, 사용자의 소속, 직급 및 직무 중 적어도 하나를 포함하는 사용자 정보와, 설정된 기간동안 상기 사용자가 상기 폴더 트리에 접근한 폴더경로, 폴더개수 및 상기 사용자가 상기 폴더 트리에 접근한 접근 시간대 중 적어도 하나를 포함하는 폴더 정보를 매칭시켜 상기 사용자들의 접근패턴을 학습하는, 폴더 트리의 동적 프리페치 방법.
  10. 청구항 9에 있어서,
    상기 제2 폴더를 결정하는 단계는,
    상기 사용자 정보로부터 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하는 단계; 및
    상기 폴더 정보로부터 상기 타 로컬 단말이 상기 제1 폴더에 접근한 이후 다음으로 접근했던 폴더에 대한 접근횟수 또는 비율을 고려하여 상기 제2 폴더를 결정하는 단계를 포함하는, 폴더 트리의 동적 프리페치 방법.
  11. 청구항 10에 있어서,
    상기 타 로컬 단말을 선별하는 단계는, 상기 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무와 상기 타 로컬 단말을 소지하는 사용자의 소속, 직급 및 직무를 각각 비교하여 상기 로컬 단말의 정보와 대응되는 타 로컬 단말을 선별하는, 폴더 트리의 동적 프리페치 방법.
  12. 청구항 8에 있어서,
    상기 제2 폴더를 결정하는 단계는, 상기 로컬 단말이 상기 제1 폴더에 최초로 접근한 이후 상기 폴더 트리 내 상기 제1 폴더가 아닌 하나 이상의 타 폴더에 순차적으로 접근하는 경우 상기 로컬 단말이 상기 타 폴더에 순차적으로 접근할 때마다 상기 제1 폴더에 관한 정보, 상기 타 폴더에 관한 정보, 상기 로컬 단말의 정보 및 상기 패턴 학습부에서 학습된 학습 데이터를 토대로 상기 제2 폴더를 결정하는, 폴더 트리의 동적 프리페치 방법.
  13. 삭제
  14. 삭제
KR1020220175527A 2022-12-15 2022-12-15 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버 KR102550499B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220175527A KR102550499B1 (ko) 2022-12-15 2022-12-15 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220175527A KR102550499B1 (ko) 2022-12-15 2022-12-15 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버

Publications (1)

Publication Number Publication Date
KR102550499B1 true KR102550499B1 (ko) 2023-07-03

Family

ID=87157843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220175527A KR102550499B1 (ko) 2022-12-15 2022-12-15 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버

Country Status (1)

Country Link
KR (1) KR102550499B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101221399B1 (ko) 2010-11-25 2013-01-14 주식회사 시큐브 파일 경로 기반 파일 접근 제어 시스템 및 방법
KR20200101501A (ko) * 2019-01-29 2020-08-28 김광준 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템
KR102418961B1 (ko) * 2022-03-07 2022-07-11 주식회사 클라우다이크 인공지능 기반의 보안 관리 시스템 및 방법
KR102472330B1 (ko) * 2021-11-15 2022-11-30 삼성전자주식회사 컨텍스트 기반 프리페치를 수행하는 분산 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101221399B1 (ko) 2010-11-25 2013-01-14 주식회사 시큐브 파일 경로 기반 파일 접근 제어 시스템 및 방법
KR20200101501A (ko) * 2019-01-29 2020-08-28 김광준 대다수의 클라우드 스토리지 서비스를 합치는 가상적인 파일 시스템
KR102472330B1 (ko) * 2021-11-15 2022-11-30 삼성전자주식회사 컨텍스트 기반 프리페치를 수행하는 분산 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템
KR102418961B1 (ko) * 2022-03-07 2022-07-11 주식회사 클라우다이크 인공지능 기반의 보안 관리 시스템 및 방법

Similar Documents

Publication Publication Date Title
US10491552B2 (en) Inserting content into an application from an online synchronized content management system
US10356200B2 (en) Optimizing user interface data caching for future actions
RU2666302C2 (ru) Интерфейсы для прикладного программирования для курирования контента
US11734581B1 (en) Providing contextual actions for mobile onscreen content
US20090240698A1 (en) Computing environment platform
US9622016B2 (en) Invisiblemask: a tangible mechanism to enhance mobile device smartness
US20120233235A1 (en) Methods and apparatus for content application development and deployment
CN102937999A (zh) 动态浏览器图标
US20100031185A1 (en) Web page push to new window
US9307010B2 (en) Data upload method using shortcut
US20140208193A1 (en) Method and electronic device for sharing resource file data
US10372512B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
CN111752426A (zh) 聊天线程的显示方法、记录介质及计算机装置
US11113455B2 (en) Web page rendering on wireless devices
CN114827634A (zh) 混合源架构中的图像变换
CN111694629A (zh) 信息展示方法、装置和电子设备
CN115061745A (zh) 页面资源的预加载方法、装置及存储介质
KR102550499B1 (ko) 폴더 트리의 동적 프리페치 방법 및 이를 수행하기 위한 클라우드 서버
CN111310086A (zh) 一种页面跳转方法、装置和电子设备
US10430711B2 (en) Method and system for FUNC-based experience framework with cross-user intelligence
KR20220161245A (ko) 컨텐츠 목록 제공 방법, 장치 및 컴퓨터 프로그램
US20050278419A1 (en) System and method for linking resources with actions
CN111782915B (zh) 信息展示方法和装置、以及电子设备和介质
KR102436215B1 (ko) 인공지능 기반의 파일 추천 시스템 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant