KR20160084448A - 문서 관리 및 협업 시스템 - Google Patents

문서 관리 및 협업 시스템 Download PDF

Info

Publication number
KR20160084448A
KR20160084448A KR1020167015415A KR20167015415A KR20160084448A KR 20160084448 A KR20160084448 A KR 20160084448A KR 1020167015415 A KR1020167015415 A KR 1020167015415A KR 20167015415 A KR20167015415 A KR 20167015415A KR 20160084448 A KR20160084448 A KR 20160084448A
Authority
KR
South Korea
Prior art keywords
document
user
service
request
instructions
Prior art date
Application number
KR1020167015415A
Other languages
English (en)
Other versions
KR101814369B1 (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 아마존 테크놀로지스, 인크.
Publication of KR20160084448A publication Critical patent/KR20160084448A/ko
Application granted granted Critical
Publication of KR101814369B1 publication Critical patent/KR101814369B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • G06F17/30011
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • 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/13File access structures, e.g. distributed indices
    • 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
    • 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/178Techniques for file synchronisation in file systems
    • 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/182Distributed file systems
    • 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/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • G06F17/21
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

문서 협업 및 관리 방법 및 장치가 개시된다. 이러한 방법 및 장치에서, 문서는 문서 협업 및 관리 서비스에 의해 관리되는 문서 디렉토리에 포함될 수 있다. 문서에 기초한 포터블 표현 언더레이는 하나 이상의 비동기식 작업흐름을 이용하여 생성될 수 있고, 포터블 표현 언더레이는 사용자 요청에 응답하여 제공될 수 있다.

Description

문서 관리 및 협업 시스템{DOCUMENT MANAGEMENT AND COLLABORATION SYSTEM}
관련 출원의 상호 참조
본 출원은 2013년 11월 11일자로 출원된 미국특허출원 제14/077,204호(발명의 명칭: "DOCUMENT MANAGEMENT AND COLLABORATION SYSTEM")의 전체 공개 내용을 포함한다.
원격 문서 저장과 같은 원격 컴퓨팅 서비스 이용이 근년에 크게 증가하고 있다. 예를 들어, 일 조직은 내부망의 컴퓨팅 리소스와 타에 의해 관리되는 컴퓨팅 리소스를 이용하여 그 작동을 지원할 수 있다. 예를 들어, 조직의 컴퓨터들은 타 조직의 컴퓨터와 통신하여, 다른 조직의 서비스를 이용하면서 문서 또는 다른 데이터에 액세스하거나 이를 제공할 수 있다. 많은 예에서, 조직은 타 조직에 의해 관리되는 하드웨어를 이용하여 원격 네트워크를 구성 및 작동시켜서, 인프러스트럭처 비용을 절감하고 기타의 장점을 실현할 수 있다. 이러한 구조의 컴퓨팅 리소스를 이용하여, 특히, 서로 다른 복수의 컴퓨팅 시스템이 주어졌을 때, 리소스 및 리소스가 보유하고 있는 데이터에 대한 액세스를 보장하는 것은 쉬운 일이 아닐 수 있다. 예를 들어, 조직의 컴퓨터는 개인용 컴퓨터, 태블릿, 스마트폰, 랩탑 및 기타 장치를 포함할 수 있다.
사용자가 문서를 공유하고 협업할 수 있음을 보장하는 것은, 서로 다른 장치들의 다양한 하드웨어 및 소프트웨어 구성요소들이 주어졌을 때, 쉬운 일이 아니다. 더욱이, 전체 시스템 일관성을 보장하는 방식으로 사용자 요청이 적시에 처리되고 백-엔드 시스템이 업데이트됨을 보장하는 것은 쉬운 일이 아니다.
본 발명에 따른 다양한 실시예가 도면을 참조하여 설명될 것이다:
도 1은 적어도 하나의 실시예에 따른 문서 공유 및 협업의 예를 도시하고,
도 2는 적어도 하나의 실시예에 따른 컴퓨팅 리소스 서비스 제공자에 연결되는 컴퓨팅 디바이스의 예를 도시하며,
도 3은 적어도 하나의 실시예에 따른, 프론트-엔드 시스템 및 문서 관리 및 협업 시스템의 기능적 실체들을 도시하고,
도 4는 적어도 하나의 실시예에 따른, 문서 관리 및 협업 시스템을 가진 컴퓨팅 리소스 서비스 제공자와 통신하는 사용자 디바이스를 도시하며,
도 5는 적어도 하나의 실시예에 따른 디렉토리 구조의 예를 도시하고,
도 6은 적어도 하나의 실시예에 따른, 문서 업로드 방법의 예를 도시하며,
도 7은 적어도 하나의 실시예에 따른 문서 업로드를 위한 비동기식 작업흐름 수행 방법의 예를 도시하고,
도 8은 적어도 하나의 실시예에 따른, 문서 불러오기 방법의 예를 도시하며,
도 9는 다양한 실시예를 구현할 수 있는 환경을 예시한다.
다음의 설명에서, 다양한 실시예가 제시될 것이다. 설명의 용도로, 실시예를 완전히 이해시키기 위해 구체적인 구조 및 세부사항들이 제시된다. 그러나, 이러한 실시예들이 이러한 구체적 세부사항없이 실시될 수 있음은 당 업자에게 또한 명백하다. 더욱이, 실시예의 본질을 흐리지 않기 위해, 잘 알려진 특징들은 생략 또는 단순화될 수 있다.
여기서 설명 및 제시되는 기술은 사용자가 문서를 공유하고 문서에 대한 협업을 가능하게 하는 문서 관리 및 협업 시스템의 이용을 포함한다. 사용자는 문서 관리 및 협업 시스템에 의해 관리되는 문서 디렉토리를 관리하는 사용자 그룹의 일부분 또는 조직일 수 있다. 사용자는 디렉토리, 또는, 디렉토리 관련 폴더 또는 서브폴더에 대한 승인 권한을 가질 수 있다. 승인 권한은 사용자가 문서를 보거나, 변경하거나, 주석을 달 수 있게 한다. 승인 권한은 또한 사용자가 문서 상에 첨언하거나 문서에 대한 피드백을 제공할 수 있고, 또는, 문서 또는 폴더를 생성 또는 삭제할 수 있게 한다. 다양한 레벨 또는 승인 또는 승인 공유가 존재할 수 있고, 사용자의 권한이 바뀔 수 있다.
디렉토리 또는 문서 상에서 일 사용자에 의해 수행되는 액션을 제 2 사용자 또는 협업자가 인지하고 볼 수 있다. 여기서 설명되는 바와 같이, 각각의 사용자 디바이스는 액션을 취하거나 디렉토리 또는 문서를 변경하기 위해, 문서 관리 및 협업 시스템과 통신할 수 있다. 문서 관리 및 협업 시스템은 물론, 제 1 사용자에 의해 이루어지는 변화를 제 2 사용자에게 전파시키되, 제 1 사용자와 일관된 뷰(view)를 제 2 사용자가 가질 수 있게 한다. 문서 관리 및 협업 시스템과 사용자 간의 교환은 API 구성 콜(API configured call)을 이용하여 수행될 수 있다.
문서 관리 및 협업 시스템은 문서 공유 및 협업을 구현하기 위해 다양한 서비스를 이용할 수 있다. 문서 관리 및 협업 시스템은 다른 유형의 메타데이터 가운데서도, 문서 버전, 저장 위치 또는 크기, 또는 문서 또는 폴더 액세스를 위한 사용자 그룹 승인과 같이, 문서를 저장하기 위해 다양한 데이터베이스를 이용할 수 있다. 더욱이, 문서 관리 및 협업 시스템은 다른 용도들 중에서도, 사용자 디바이스 상에서 뷰를 위해 렌더링(rendering)될 수 있는 포터블 표현 포맷(portable representation format)의 언더레이(underlay) 또는 원시 파일 포맷의 원래 업로딩된 문서와 같이, 다양한 형태로 문서를 저장하기 위해 저장 서비스를 이용할 수 있다. 포터블 표현 포맷은 사용자가, 예를 들어, 값비싼 또는 연산 집약적 표준 생산성 제품군의 필요없이, 처리 및 렌더링할 수 있는 공통 포맷(여기서 범용 포맷이라고도 불림)일 수 있다. 문서 관리 및 협업 시스템과 상호작용하는 사용자 디바이스는 공통 포맷을 렌더링 또는 처리할 수 있고, 이 포맷을 가진 언더레이를 렌더링할 수 있다. 문서 관리 및 협업 시스템은 작업흐름을 실행할 수 있는 또는 작업흐름의 실행을 야기할 수 있는 작업흐름 서비스를 또한 이용할 수 있다. 여기서 설명되는 바와 같이, 작업흐름은 서로 조율될 실행을 가진 한 세트 또는 일 그룹의 작동 또는 작업일 수 있고, 그 종속성이 관리될 수 있다. 더욱이, 작업흐름은 장애-탄력적인 방식으로, 그리고 감사될 수 있는 방식으로, 프로세싱 단계의 실행 및 프로세싱 단계들의 구조화에 사용될 수 있다.
사용자 경험 개선 및 사용자-인지 지연 최소화를 위해, 문서 관리 및 협업 시스템은 요청 처리시 동기-비동기 핸드오프를 이용할 수 있다. 요청 수신시, 문서 관리 및 협업 시스템은 일부 작동들의 실행을 동시에 야기할 수 있고, (예를 들어, 비동기식 작업흐름을 이용하여) 나머지 작동들의 실행을 비동기식으로 편성할 수 있다. 따라서, 동기식 작동의 실행으로 인해 최소한의 지연만을 사용자가 경험할 수 있고, 반면에, 연산 집약적 작동들은 오프로드(offload)되어, 비동기식 작업흐름을 이용하여 수행될 수 있다.
도 1은 적어도 하나의 실시예에 따른 문서 관리 및 협업 시스템의 한 예를 도시한다. 제 1 사용자(102) 및 제 2 사용자(104)가 문서 관리 및 협업 시스템(106)에 연결된다. 문서 관리 및 협업 시스템(106)에서는 사용자가 문서를 공유할 수 있고, 문서 상에서 협업할 수 있다. 더욱이, 문서 관리 및 협업 시스템(106)에서는 두 사용자가 동기화되어, 제 1 사용자(102)에 의해 제공되는 텍스트, 해설(commentaries), 주석(annotation), 또는 강조(highlighting)를 제 2 사용자가 볼 수 있게 된다. 사용자들 간의 동기화는 실시간으로, 또는 반-연속적으로, 또는 주기적으로, 또는 이벤트-종동식 또는 이벤트-트리거식으로 수행될 수 있고, 이에 따라 이벤트는 협업 하 문서 저장과 같은, 임의의 유형의 사용자 명령일 수 있다. 여기서 설명되는 바와 같이, "사용자"라는 용어는 통신 및 컴퓨팅 기능을 갖춘, 사람에 의해 조작되는 컴퓨팅 디바이스를 의미할 수 있다.
"문서"라는 용어는 컴퓨팅 디바이스 상에서 렌더링될 수 있는, 시청각 매체와 같은, 임의의 유형의 매체일 수 있다. 문서는 생산성 프로그램 또는 제품군을 이용하여 생성 또는 편집 또는 보여질 수 있는 컴퓨터 파일일 수 있다. 따라서, 문서는 다른 것들 중에서도, 편집가능한 또는 편집불가능한 텍스트, 이미지, 그림, 및 웹사이트일 수 있다. 사용자의 협업 및 문서 공유에 추가하여, 문서 관리 및 협업 시스템은 문서 관리를 위한 파일 시스템 또는 조직 구조를 사용자에게 제공할 수 있다. 조직 구조는 문서의 네스티드(nested) 폴더 및 서브폴더를 가진 디렉토리를 포함할 수 있고, 사용자에 액세스될 수 있고, 문서에 액세스하는 방식으로 사용자에 의해 이용될 수 있다.
도 2는 적어도 하나의 실시예에 따라, 컴퓨팅 리소스 서비스 제공자에 연결되는 컴퓨팅 디바이스의 한 예를 도시한다. 컴퓨팅 디바이스(202)는 컴퓨팅 리소스 서비스 제공자(210) 또는 그 실체와 통신할 수 있는 임의의 디바이스일 수 있다. 컴퓨팅 디바이스(202)는 로컬 또는 원격(예를 들어, 네트워크-기반) 연산 및 저장 기능을 또한 갖출 수 있다. 연산 기능은 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세서, 등과 같이, 프로세서에 의해 제공 또는 가동될 수 있다. CPU의 예는 (예를 들어, 데스크탑 및 랩탑 컴퓨팅 디바이스에 사용되는) x86 구조, 또는, (예를 들어, 스마트폰 및 태블릿 컴퓨팅 디바이스에 사용되는) RISC(reduced instruction set computing) 구조를 이용하는 CPU를 포함한다. 컴퓨팅 디바이스(202)는 통신 및 네트워킹 하드웨어를 또한 갖출 수 있고, 임의의 통신 프로토콜을 이용하여 통신할 수 있다. 더욱이, 컴퓨팅 디바이스(202)는 지연, 터치 스크린-기반, 또는 키보드-기반 입력 디바이스 또는 스피커를 포함할 수 있는 입/출력 디바이스를 갖출 수 있다. 추가적으로, 컴퓨팅 디바이스는 정적 또는 동적 메모리와 같은 임의의 유형의 메모리, 전력원 또는 전력 어댑터를 포함할 수 있다. 하드웨어 기능과 별도로, 컴퓨팅 디바이스(202)는 운영 체제 및/또는 기타 프로그램을 구동 또는 실행하도록 구성될 수 있고, 컴퓨팅 디바이스(202)의 관련 메모리는 실행가능 명령어를 저장할 수 있고, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 기능을 수행할 수 있고, 운영 체제 및/또는 기타 프로그램을 구동시킬 수 있다. 2개의 디바이스가 도 2에 도시되지만, 임의의 개수의 디바이스가 다양한 실시예에서 고려될 수 있다. 더욱이, 컴퓨팅 디바이스(202)는 컴퓨팅 리소스 서비스 제공자(210) 또는 컴퓨팅 리소스 서비스 제공자(210)의 임의의 실체와 네트워크(도시되지 않음)를 통해 통신할 수 있다. 네트워크는 공공망 또는 사설망일 수 있고, 네트워크의 예는 인터넷 및 인터넷 서비스 제공자(ISP) 네트워크를 포함한다.
컴퓨팅 디바이스(202)는 컴퓨팅 리소스 서비스 제공자(210)의 고객 또는 사용자 또는 그 실체 및 기능과 집합적으로 또는 개별적으로 연관될 수 있다. 고객은, 다양한 지리적 위치에 위치할 수 있는, 정보를 관리하고 종업원에게 전달하기 위해, 컴퓨팅 리소스 서비스 제공자(210)에 의해 제공되는 서비스들 중 하나 이상을 이용할 수 있는 조직일 수 있다. 추가적으로, 고객은 원격으로 위치하는 작업 그룹에 콘텐츠를 전달하기 위해 컴퓨팅 리소스 서비스 제공자(210)의 서비스를 이용하는 개인일 수 있다.
컴퓨팅 리소스 서비스 제공자(210)는 도 2에 도시되는 바와 같은 복수의 서비스 및 시스템은 물론이고 프론트-엔드 시스템(204) 및 파일 관리 및 협업 시스템(206)을 포함한다. 이들은 콘텐트 분배 에지 네트워크(212), 객체-레벨 데이터 저장 서비스(214), 가상 컴퓨팅 서비스(216), 작업 관리 및 작업흐름 서비스(218), 매니지드 디렉토리 서비스(managed directory service)(222), 고객 검색 서비스(224), 스케일러블 데이터베이스 서비스(226), 및 통지 서비스(228)를 포함한다. 다양한 실시예에서, 컴퓨팅 리소스 서비스 제공자(210)는 도 2를 참조하여 설명되는 것보다 적은 서비스 및 시스템을 포함할 수 있고, 또는, 도 2를 참조하여 설명되는 것에 대해 추가의 또는 대안의 서비스 또는 시스템을 포함할 수 있다. 더욱이, 대안의 실시예에서, 시스템 및 서비스는 컴퓨팅 리소스 서비스 제공자(210)의 범주 바깥에서 이용될 수 있다. 예를 들어, 서비스 및 시스템은 독립적인 것일 수 있고, 또는, 도 2를 참조하여 설명되는 것과는 다른 시스템 및 서비스와 연계하여 사용될 수 있다.
프론트-엔드 시스템(204)은 파일 관리 및 협업 시스템(206)에 대한 게이트웨이일 수 있고, 사용자 또는 고객 및 이들의 컴퓨팅 디바이스(202)에 사적 및 공공 서비스를 제공할 수 있다. 프론트-엔드 시스템(204)에 대한 액세스는 허가 또는 사용자 인증을 요할 수 있다. 추가적으로, 디바이스 또는 사용자 권한 레벨은 프론트-엔드 시스템(204)에 대한 액세스와, 프론트-엔드 시스템(204)과 컴퓨팅 디바이스(202) 간의 임의의 데이터 교환을 통제할 수 있다. 프론트-엔드 시스템(204)에 대한 액세스는 컴퓨팅 디바이스(202)와 연관된 권한 레벨에 의해, 또는, 예를 들어, 일 그룹 또는 조직 관리자에 의해, 컴퓨팅 디바이스(202) 또는 컴퓨팅 디바이스(202)의 사용자에게 주어진 권한 레벨 또는 크레덴셜(credential)에 의해 통제될 수 있다.
프론트-엔드 시스템(204)은 파일 관리 및 협업 시스템(206)의 리소스에 대한 액세스를 허가하기 전에 고객, 사용자, 또는, 디바이스의 인증을 수행할 수 있다. 인증은 다른 것들 중에서도, 사용자명 및 패스워드 정보, 또는 액세스 토큰과 같은 크레덴셜에 기초할 수 있다. 프론트-엔드 시스템(204)은 고객 액세스를 허가 또는 구현하는 서비스 및 인터페이스를 제공할 수 있다. 예를 들어, 프론트-엔드 시스템(204)은 고객에게 컴퓨팅 리소스 서비스 제공자(210)의 서비스에 관련된 정보를 제공하는 웹-기반 플랫폼 또는 콘솔-기반 플랫폼을 가동시킬 수 있다. 더욱이, 프론트-엔드 시스템(204)에서는 고객이 컴퓨팅 리소스 서비스 제공자(210)의 애플리케이션 또는 작업을 실행할 수 있고, 애플리케이션 또는 작업의 실행을 추적 및 관리할 수 있으며, 실행 결과를 수신하고 결과를 사용자 디바이스에 전송할 수 있다. 여기서 더 설명되는 바와 같이, 프론트-엔드 시스템(204)은 고객 또는 고객의 관련 디바이스(202)가 컴퓨팅 리소스 서비스 제공자(210)에 의해 제공되는 복수의 서비스를 이용할 때의 게이트웨이일 수 있다.
문서 관리 및 협업 시스템(206)은 분산형 시스템 내 하나 이상의 사용자 간에 협업을 위한 문서 실행 및 처리를 구현 및 관리한다. 문서 관리 및 협업 시스템(206)은 예를 들어, 컴퓨팅 리소스 서비스 제공자(210)로의 문서 업로딩 및 문서와 관련된 메타데이터의 보유 및 수정을 구현할 수 있다. 문서 관리 및 협업 시스템(206)은 문서 또는 그 메타데이터와 관련된 검색 기능과, 문서 상에서 사용자들 간의 협업을 또한 구현할 수 있다.
용어 "문서"가 여기서 컴퓨팅 리소스 서비스 제공자(206)의 사용자에 의해 생산 또는 협업되는 객체를 설명하는데 사용되지만, 용어 "문서"는 시청각 매체와 같은 매체로 제한되지 않는다. 문서는 생산성 프로그램 또는 제품군을 이용하여 생산 또는 편집 또는 보여질 수 있는 컴퓨터 파일일 수 있다. 따라서, 문서는 다른 것들 중에서도, 편집가능한 또는 편집불가한 텍스트, 이미지, 그림 및 웹사이트일 수 있다.
컴퓨팅 리소스 서비스 제공자(210)의 콘텐트 분산 에지 네트워크(212)는 복수의 사용자에게, 웹 콘텐트와 같은, 콘텐트를 전달하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 콘텐트 분산 에지 네트워크(212)는 예를 들어, 사용자 데이터 처리량 최적화 및 대기시간 최소화를 위해 전략적으로 배치된 전-세계적 위치로 분산된, 복수의 에지 위치를 가질 수 있다. 콘텐트 분산 에지 네트워크(212)는 콘텐트 요청을 수신할 수 있고, 요청받은 콘텐트를 사용자에게 전달할 수 있다. 콘텐트 분산 에지 네트워크(212)는 콘텐트의 전부 또는 일부를 저장하는 저장 서비스와 인터페이싱할 수 있고, 콘텐트를 불러들여서 요청자에게 제공할 수 있다. 콘텐트 분산 에지 네트워크(212)는 프론트-엔드 시스템(204)의 사용자-액세스가능 웹사이트 또는 웹 애플리케이션을 실현하도록 이용될 수 있다.
객체-레벨 데이터 저장 서비스(214)는 데이터의 저장 및/또는 액세스를 위해 요청을 동기식으로 처리하도록 구성되는 컴퓨팅 리소스들의 집합일 수 있다. 객체-레벨 데이터 저장 서비스(214)는 데이터 요청에 응답하여 데이터를 제공하도록, 데이터를 신속하게 찾아 불러들이는 방식으로 객체-레벨 데이터 저장 서비스(214)를 구현하는 컴퓨팅 리소스(가령, 데이터베이스)를 이용하여 작동할 수 있다. 예를 들어, 객체-레벨 데이터 저장 서비스(214)는, 데이터 객체에 대한 요청을 불러들일 때, 요청에 응답하여 데이터 객체가 제공될 수 있도록(또는 데이터 객체의 스트리밍이 개시될 수 있도록) 하는 방식으로, 저장된 데이터를 유지할 수 있다. 제시되는 바와 같이, 객체-레벨 데이터 저장 서비스(214)에 저장되는 데이터는 데이터 객체로 조직될 수 있다. 데이터 객체는 아마도, 소정의 크게 제한을 제외하고, 임의의 크기를 가질 수 있다. 따라서, 객체-레벨 데이터 저장 서비스(214)는 다양한 크기의 수많은 데이터 객체를 저장할 수 있다. 여기서 설명되는 바와 같이, 객체-레벨 데이터 저장 서비스(214)는 임의의 유형의 문서(예를 들어, 문서 소스 파일), 언더레이(underlays), 프리뷰, 섬네일(thumbnail), 추출 문서 텍스트, 주석 인덱스, 또는 진리표를 저장할 수 있다.
가상 컴퓨팅 서비스(216)는 (문서 관리 및 협업 시스템(206)과 같은) 컴퓨팅 리소스 서비스 제공자(210)의 실체를 대행하여, 또는 고객을 대행하여, 가상 기계 인스턴스를 인스턴트화하도록 구성되는 컴퓨팅 리소스들의 집합일 수 있다. 일방(a party)은 가상 컴퓨팅 서비스(216)에 의해 호스팅 및 작동되는 물리적 컴퓨팅 디바이스 상에서 인스턴스화되는 가상 컴퓨터 시스템을 프로비저닝(provisioning) 및 작동시키도록 가상 컴퓨팅 서비스(216)와 상호작용할 수 있다. 가상 컴퓨터 시스템은 다양한 용도로, 가령, 웹사이트 지원 서버로 작동하도록, 비즈니스 애플리케이션을 작동시키도록, 또는 일반적으로 컴퓨팅 파워로 기능하도록, 사용될 수 있다. 더욱이, 가상 컴퓨터 시스템은 데이터베이스 애플리케이션, 전자 상거래 애플리케이션, 비즈니스 애플리케이션, 및/또는 기타 애플리케이션을 지원하는데 사용될 수 있다. 가상 컴퓨팅 서비스(216)가 도 2에 도시되지만, 그외 다른 컴퓨터 시스템 또는 컴퓨터 시스템 서비스는, 가상화 또는 인스턴스화를 이용하지 않는, 그러나 대신에 전용 또는 공유 컴퓨터/서버 및/또는 기타 물리적 디바이스 상의 컴퓨팅 리소스를 프로비저닝하는, 컴퓨터 시스템 또는 컴퓨터 시스템 서비스와 같이, 이용될 수 있다.
작업 관리 및 작업흐름 서비스(218)는 복수의 컴퓨팅 환경 및 플랫폼 간에 컴퓨팅 작업의 실행을 구현하는 작업 조율 및 관리 서비스를 수행하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 작업 관리 및 작업흐름 서비스(218)는 작업흐름 실행의 진전을 추적하고, 작업의 디스패칭 및 홀딩을 수행한다. 더욱이, 작업 관리 및 작업흐름 서비스(218)는 작업 실행에 사용되는 호스트 또는 물리적 또는 가상의 컴퓨팅 기계의 할당을 제어할 수 있다. 사용자는 실행을 위한 작업흐름을 규정할 수 있고, 작업흐름은 하나 이상의 작업을 포함할 수 있다. 작업흐름은 작업 관리 및 작업흐름 서비스(218)에 대한 애플리케이션 프로그래밍 인터페이스(API)-구성 함수 콜을 이용하여 규정될 수 있다. 더욱이, 사용자는 작업흐름에 대한 작업 지시, 조건부 흐름, 그리고 작업흐름의 실행을 재개 또는 종료하기 위한 타임아웃 주기를 명시할 수 있다. 추가적으로, 작업흐름을 위한 실행 루프가 규정될 수 있다. 여기서 설명되는 바와 같이, 작업흐름 실행은 비동기식일 수 있고, 데이터베이스 기록의 동기식 실행에 이어질 수 있다.
매니지드 디렉토리 서비스(222)는 한 세트의 크레덴셜을 이용하여 컴퓨팅 리소스 서비스 제공자(210)의 컴퓨팅 리소스에 사용자를 로그온시킬 수 있는 디렉토리로 기능하도록, 그리고, 관리자가 컴퓨팅 리소스 서비스 제공자(210)에 대한 보안 정책을 균일하게 적용할 수 있도록, 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 매니지드 디렉토리 서비스(222)는 사용자 및 그룹 관리를 위한 웹-기반 콘솔을 구현할 수 있고, 사용자 크레덴셜을 위한 인증 시스템으로 사용될 수 있다.
맞춤형 검색 서비스(224)는 데이터 세트의 맞춤화된 검색을 실현하도록, 그리고, 검색을 수행하는 자에 대한 보안 또는 인증 요건의 구축을 실현하도록, 집합적으로 구성된 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 더욱이, 맞춤형 검색 서비스(224)는 정전의 경우에 일관된 성능을 실현하기 위해 데이터 세트 복제를 허용한다. 여기서 설명되는 바와 같이, 맞춤형 검색 서비스(224)는 고객 문서 및 그 관련 메타데이터의 검색 인덱스를 관리하는데 이용될 수 있다. 더욱이, 일관된 성능의 보장을 위해, 검색가능한 메타데이터 또는 고객 문서가 복제되어 정전으로부터 일관된 성능 및 보호를 보장할 수 있다.
스케일러블 데이터베이스 서비스(226)는 문서 또는 데이터의 저장 및 불러오기를 돕는 구조화된 저장 시스템을 제공하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 스케일러블 데이터베이스 서비스(226)는 비관계형일 수 있고, 키-값 모델(key-value model)에 기초할 수 있다. 스케일러블 데이터베이스 서비스(226)의 예는 (예를 들어, 관계적 구조화 질의 언어(SQL) 데이터베이스와 구분되도록) NoSQL 데이터베이스를 포함한다. 스케일러블 데이터베이스 서비스(226)는 문서 또는 사용자와 관련된 메타데이터를 저장하는데 사용될 수 있다. 예를 들어, 스케일러블 데이터베이스 서비스(226)는 언더레이, 오버레이, 문서, 피드백, 또는 코멘트를 위한 메타데이터를 저장할 수 있다. 추가적으로, 스케일러블 데이터베이스 서비스(226)는 사용자, 조직, 및 승인과 관련된 메타데이터를 저장할 수 있다. 비관계형 데이터베이스로서, 스케일러블 데이터베이스 서비스(226)는 단일 표에 단일 품목에 대한 단위 기록(atomic writes)을 보장할 수 있다. 따라서, 단일 기록은 진리표에 동기식으로 수행될 수 있고, 나머지 기록은 작업흐름을 이용하여 비동기식으로 수행될 수 있다.
도 2에 도시되는 환경에서, 통지 서비스(228)가 포함된다. 통지 서비스(228)는 웹 서비스 또는 기타 인터페이스 및 브라우저-기반 관리 콘솔을 제공하도록 집합적으로 구성되는 컴퓨팅 리소스들의 집합을 포함할 수 있다. 관리 콘솔은 고객이 애플리케이션(또는 사람)에게 통지하고자 하는 토픽을 구성하기 위해, 클라이언트를 토픽에 가입시키기 위해, 메시지를 공개하기 위해, 또는, 클라이언트의 선택 프로토콜을 통해 메시지의 전달(즉, 다른 것들 중에서도, 하이퍼텍스트 트랜스퍼 프로토콜(HTTP), 이메일, 및 단문 메시지 서비스(SMS))을 구성하기 위해, 사용될 수 있다. 통지 서비스(228)는 새 정보 및 업데이트를 위해 주기적 점검 또는 "폴"(poll)의 필요없이, "푸시" 메커니즘을 이용하여 클라이언트에 통지를 제공할 수 있다. 통지 서비스(228)는 가상 컴퓨터 시스템 서비스(228)에서 실행되고 있는 애플리케이션, 작업흐름 시스템, 시간-민감 정보 업데이트, 모바일 애플리케이션, 및 그외 다른 많은 것들의 모니터링과 같이, 다양한 용도로 또한 사용될 수 있다.
도 3은 적어도 하나의 실시예에 따른 프론트-엔드 시스템 및 문서 관리 및 협업 시스템의 기능적 실체를 도시한다. 프론트-엔드 시스템(304)은 웹 서버(332), 애플리케이션 서비스(334), 관리 콘솔(336), 및 제어판 서비스(338)를 포함한다. 웹 서버(332)는 문서 관리 및 협업 시스템(306)에 사용자가 문서를 전송 또는 업로드시킬 수 있는, 그리고 문서를 관리할 수 있는 단일-페이지 인터페이스, 단일-페이지 웹 애플리케이션, 또는 웹 사이트의 실행을 실현할 수 있다. 웹 서버에서는 또한 사용자가 문서, 언더레이, 또는 오버레이를 보고 편집할 수 있고, 문서, 언더레이, 또는 오버레이에 대한 코멘터리 또는 피드백을 제공할 수 있다. 웹 서버(332)에서는 또한, 관리자 또는 사용자가, 문서에 액세스할 때 사용자에게 주어진 권한을 명시하는 승인 또는 공유 모드를 설정할 수 있다. 추가적으로, 웹 서버에서는 사용자 또는 디바이스가 인증 또는 허가 크레덴셜을 제출할 수 있다. 도 2에서 도면부호(212)를 참조하여 설명되는 콘텐트 분산 에지 네트워크는 웹 서버(332)의 콘텐트를 분산시키는데 사용될 수 있다. 사용자에 의해 수행되는 액션은 웹사이트, 애플리케이션, 또는 관리 콘솔을 통해 이루어질 수 있고, 웹 서버(332)는 웹사이트, 애플리케이션, 또는 관리 콘솔의 실행을 실현할 수 있다. 하나의 웹 서버(332)가 도 3을 참조하여 설명되지만, 임의의 유형의 복수의 웹 서버가 사용될 수 있고, 웹 서버들 중 일부분이 잉여일 수 있다.
애플리케이션 서비스(334)는 사용자로부터 요청을 수신하고 요청에 서비스하는 사용자-노출 서비스로 기능하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 사용자 요청은 사용자에 액세스가능한 웹 사이트 또는 관리 콘솔을 이용하여 이루어질 수 있고, 또는, 사용자의 디바이스 상에서 실행되는 클라이언트가 사용자를 대신하여 요청에 서비스할 수 있다. 요청은 API 함수 콜일 수 있고, 애플리케이션 서비스(334)는 요청을 처리하고 그 실행을 관리할 수 있다. 애플리케이션 서비스(334)는 수신한 요청과 관련된 액션들을 동기식으로 실행할 수 있고, 또는 대안으로서, 좀 더 복잡한 프로세싱을 요하는 하나 이상의 액션들을 비동기식 실행을 위해 대기시킬 수 있다. 애플리케이션 서비스(334)는 또한 사용자 크레덴셜을 수신할 책임이 있고, 인증 서비스로부터 사용자의 인증을 요청할 책임이 있다. 사용자에 의해 요청된 작동을 수행하기 위해, 애플리케이션 서비스(334)는 컴퓨팅 리소스 서비스 제공자(210)의 실체 또는 서비스에 하나 이상의 함수 콜을 행할 수 있다. 예를 들어, 애플리케이션 서비스(334)는 매니지드 디렉토리 서비스(222)로부터 사용자 또는 액세스 토큰 비준을 요청할 수 있고, 또는, 고객 검색 서비스(224)에 의해 관리되는 검색 인덱스를 업데이트시킬 수 있다.
관리 콘솔(336)은 문서 관리 및 협업 서비스를 이용하기 위해 조직, 관리자, 및 사용자가 등록하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 관리 콘솔(336)은 사용자 디바이스 상에서 구동되는 애플리케이션 또는 웹사이트에 대한 대안으로서 또는 이에 추가하여 사용될 수 있고, 사용자 및 관리자로 하여금, 적절히 구성되는 API 함수 콜을 이용하여 요청에 서비스하게 할 수 있다. 예를 들어, 관리 콘솔(336)은 문서 협업 시스템에 참가하여 문서를 보고 협업할 수 있도록 사용자를 초청하는데 사용될 수 있다. 더욱이, 관리 콘솔(336)은 대시보드 액세스, 오딧 로그 액세스(audit log access), 권한 설정(예를 들어, 관리자 및 사용자용), 저장 제한 설정(가령, 조직 및 사용자용), 및 보안 설정(가령, 패스워드 및 암호화)의 실현에 사용될 수 있다.
프론트-엔드 시스템(304)의 제어판 서비스(338)는 문서 협업 및 관리를 위해 새 컴퓨팅 인스턴스의 생성을 실현하는 인터페이스로 기능하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 문서 관리 및 협업을 위해 (예를 들어, 매니지드 디렉토리 서비스(222)에 의해 또는 사용자 또는 관리자에 의해 관리되는) 기존 디렉토리를 상관시킴으로써 또는 매니지드 디렉토리 서비스(222)에 디렉토리를 투명하게 생성함으로써, 인스턴스가 생성될 수 있다. 제어판 서비스(338)는 문서 디렉토리 생성에 이용될 수 있고, 문서 디렉토리는 매니지드 디렉토리 서비스(222)에 의해 실행 및 서비스될 수 있다. 문서 디렉토리는 사용자에게 승인 및 권한을 제공할 수 있는 관리자를 가진 조직과 연관될 수 있다. 디렉토리 생성에 이어, 애플리케이션 서비스(334)는 디렉토리의 문서 또는 폴더에 영향을 미치는 기능을 실현하는데 사용될 수 있다.
문서 관리 및 협업 시스템은 비동기식 서비스(342), 검색 서비스(344), 비동기식 검색 서비스(346), 언더레이 비동기식 서비스(348), 마스터 비동기식 엔진(352), 및 디렉토리 서비스 허가 인터페이스(354)를 포함한다. 비동기식 서비스(342)는 비동기식 작업흐름의 실행을 관리하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 비동기식 서비스(342)는 실행을 위한 비동기식 이벤트를 저장하는 큐를 포함하거나 큐에 연결될 수 있다. 비동기식 서비스(342)는, 작업흐름과 연관된 활동을 편성할 책임이 있는, 마스터 비동기식 엔진(352)을 이용하여 비동기식 작업흐름의 실행을 조율할 수 있다. 활동은 언더레이 발생 및 텍스트 추출을 포함할 수 있다. 여기서 설명되는 바와 같이, 작업흐름 활동 또는 작업의 실행은 엔진 또는 작업자(workers)에 의해 수행될 수 있다. 예를 들어, 비동기식 검색 엔진(346)은 텍스트 추출 활동의 수행의 임무를 가질 수 있고, 언더레이 비동기식 엔진(348)은 언더레이 생성과 연관된 활동 수행의 임무를 가질 수 있다.
비동기식 작업흐름 실행의 과정에서, 비동기식 검색 엔진(346) 및 언더레이 비동기식 엔진(348)은 객체-레벨 데이터 저장 서비스(214)로부터 문서 또는 파일을 획득 또는 다운로드할 수 있고, 문서 또는 파일을 객체-레벨 데이터 저장 서비스(214)에 저장한다. 더욱이, 엔진은 수신된 문서에 기초하여 임의의 파일 타입의 문서를 생성할 수 있고, 텍스트 추출을 수행하고, 주석을 저장할 수 있다. 추가적으로, 비동기식 검색 엔진(346)은 검색 서비스(344)에 의한 프로세싱을 위해 큐에 문서와 연관된 검색 인덱스 업데이트를 배치할 수 있다. 업데이트는 여기서 도 2를 참조하여 설명되는 맞춤형 검색 서비스(224)에 의해 유지되는 검색 인덱스와 연관될 수 있다.
검색 서비스(344)는 큐의 검색 인덱스 업데이트에 대한 배치 프로세싱(batch processing)을 수행하도록, 그리고, 검색 인덱스 업데이트 활동을 수행하기 위한 작업흐름을 을 시작하도록, 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합일 수 있다. 작업흐름을 개시하면, 비동기식 검색 엔진(346)은 맞춤형 검색 서비스(224)에서 검색 인덱스를 업데이트한다. 디렉토리 서비스 허가 인터페이스(354)에서는 문서 관리 및 협업 시스템(306)이 도 2의 도면부호(222)를 참조하여 설명되는 매니지드 디렉토리 서비스와 같은 다른 실체에 사용자 인증을 위임할 수 있다. 문서 관리 및 협업 시스템(306)은 디렉토리 서비스 허가 인터페이스(354)를 통해 인증 기관에게 사용자 액세스 토큰을 제출할 수 있고, 사용자가 인증될 수 있는지 여부를 표시하는 응답을 수신할 수 있다.
도 4는 적어도 하나의 실시예에 따라 문서 관리 및 협업 시스템을 가진 컴퓨팅 리소스 서비스 제공자와 통신하는 사용자 디바이스를 도시한다. 환경(400)에서, 사용자 디바이스(404)는 동기화 클라이언트(466)를 구비한 문서 관리 및 협업 애플리케이션(464) 및 웹 애플리케이션(462)을 포함한다. 컴퓨팅 리소스 서비스 제공자(410)는 도 3의 도면 부호(306)를 참조하여 설명되는 문서 관리 및 협업 시스템과 같은, 문서 관리 및 협업 시스템(406)을 포함한다. 컴퓨팅 리소스 서비스 제공자(410)는 도 2 및 3을 참조하여 설명되는 실체와 같은, 도 4에 도시되는 것에 추가된 또는 그 대신의 실체를 포함할 수 있다.
여기서 설명되는 바와 같이, 사용자 디바이스(404)는 컴퓨팅 리소스 서비스 제공자(410) 또는 실체들 중 임의의 실체와 통신하도록 집합적으로 구성되는 컴퓨팅 디바이스 및 기타 리소스들의 집합을 구비할 수 있다. 사용자 디바이스(404)는 임의의 유형의 무선 또는 유선 연결을 실현하는 포트 또는 모뎀과 같은, 임의의 개수 또는 유형의 통신 디바이스를 구비할 수 있다. 더욱이, 통신은 인터넷, 인트라넷, 또는 인터넷 서비스 제공자(ISP) 네트워크를 포함한 인터넷 프로토콜(IP) 네트워크와 같은, 임의의 유형의 네트워크(도시되지 않음)를 통해 수행될 수 있다. 추가적으로, 사용자 디바이스(404)는 전기 전자 기술자 협회(IEEE) 802 프로토콜, 단거리 통신 프로토콜, 가령, BluetoothTM, 또는 셀룰러 통신 프로토콜, 가령, 3세대(3G) 통신 프로토콜 또는 롱텀 에볼루션(LTE) 중 임의의 하나를 포함하는 임의의 유형의 통신 프로토콜에 따라 통신할 수 있다.
웹 애플리케이션(462)에서는 사용자 디바이스(404)가 웹사이트의 디스플레이를 렌더링할 수 있고 웹사이트와 상호작용할 수 있다. 웹 애플리케이션(462)의 예는 웹 브라우저를 포함하며, 웹 애플리케이션(462)에서는 사용자가 문서 협업 및 관리 웹사이트에 로그 인 크레덴셜을 공급할 수 있고, 폴더의 하나 이상의 문서 디렉토리에 액세스할 수 있다. 더욱이, 웹 애플리케이션(642)에서는, 예를 들어, 적어도 부분적으로 사용자의 크레센셜에 기초하여, 사용자가 적어도 보기 권한을 갖는 폴더 또는 디렉토리들 사이를, 예를 들어, 웹사이트를 통해, 사용자가 순항할 수 있다. 추가적으로, 웹 사이트는 사용자 또는 하나 이상의 다른 협업자에 의해 공유, 첨언, 또는 주석달리도록, 또는 폴더에 포함되도록 문서를 업로드 또는 송신하는 옵션을 사용자에게 제공할 수 있다. 더욱이, 웹 애플리케이션(462)에서는 사용자가 복수의 문서 버전 중 임의의 하나를 선택할 수 있고, 해당 문서 버전과 연관된 생성된 언더레이, 사용자 주석을 보여주는 오버레이, 또는 원시 파일 포맷의 원래 업로드된 문서를 볼 수 있다. 언더레이 및 오버레이는 원래 업로드된 문서와는 다른 파일 포맷의 것일 수 있다.
웹사이트와 상호작용함에 있어서 사용자에 의해 수행되는 액션에 따라, 웹 애플리케이션(462)은 컴퓨팅 리소스 서비스 제공자(410)에 또는 그 실체에 요청을 전송할 수 있다. 요청은 컴퓨팅 리소스 서비스 제공자(410)에 의해 실행되는 애플리케이션 프로그래밍 인터페이스(API) 함수 콜일 수 있다. 예를 들어, 사용자가 문서 버전에 주석을 달고 주석달린 버전을 저장할 때, 웹 애플리케이션은 컴퓨팅 리소스 서비스 제공자(410) 또는 그 실체에 주석을 표시하는 API 함수 콜이 이루어지게 할 수 있다. 일부 실시예에서, 웹 애플리케이션(462)은 완전 동기식이 아닐 수 있고, 사용자에 의해 취해지는 임의의 액션에 기초하여 요청이 이루어지지 않을 수 있다. 예를 들어, 사용자가 문서에 주석을 달면, 웹 애플리케이션(462)이 사용자에 의해 구현되는 것과 동기식으로 주석을 중계하지 않고, 대신에, 사용자가 문서 또는 주석을 저장할 때만, 또는 대안으로서, 매 시간 주기마다, 주석을 중계할 수 있다.
도 4에 도시되는 바와 같이, 사용자 디바이스(404)는 문서 관리 및 협업 애플리케이션(464)를 또한 구비한다. 문서 관리 및 협업 애플리케이션(464)은, 사용자 디바이스(404)의 컴퓨터 시스템에 의해 실행될 때, 컴퓨팅 리소스 서비스 제공자(410)에 의해 제공되는 문서 공유 및 협업 기능과 사용자 상호작용을 이끄는 (예를 들어, 사용자 디바이스(404) 상의 또는 사용자 디바이스(404)에 연결된, 비-일시적 컴퓨터 판독가능 저장 매체 상에 저장된) 실행가능 명령어일 수 있다. 웹 애플리케이션-기반 또는 브라우저-기반 인터페이스와 마찬가지로, 문서 관리 및 협업 애플리케이션(464)에서는 사용자가 로그 인 크레덴셜을 공급할 수 있고, 하나 이상의 문서 디렉토리 또는 폴더에 액세스할 수 있다. 사용자는 예를 들어, 다른 것들 중에서도, 하나 이상의 폴더에 문서를 업로딩함으로써, 하나 이상의 폴더로부터 문서를 삭제함으로써, 문서의 언더레이에 주석을 닮으로써, 주석을 포함하는 오버레이를 봄으로써, 컴퓨터 리소스 서비스 제공자(410)에 의해 제공되는 문서 관리 및 협업 시스템(406)과 또한 상호작용할 수 있다. 문서 관리 및 협업 애플리케이션(464)은 웹 애플리케이션(462)에 독립적인, 문서 협업 및 관리 리소스 및 기능을 이용하기 위한 메커니즘을 제공할 수 있다.
문서 관리 및 협업 애플리케이션(464)은 프론트-엔드 시스템(406) 및 문서 관리 및 협업 시스템(406)과 통신하는 동기화 클라이언트(466)를 포함한다. 동기화 클라이언트(466)는 문서 관리 및 협업 시스템(406)과의 상호작용 또는 사용자 액션에 적어도 부분적으로 기초하여 또는 사용자를 대신하여 요청을 전송 또는 송신할 수 있다. 예를 들어, 사용자가 하나 이상의 폴더를 통해 순항하거나, 오버레이에 주석을 달거나, 또는 문서 업로드를 지시할 경우, 동기화 클라이언트(466)는 프론트-엔드 시스템(404) 또는 문서 관리 및 협업 시스템(406)에 이에 관한 메시지 또는 요청을 전송한다. 프론트-엔드 시스템(404) 또는 문서 관리 및 협업 시스템(406)은 또한, 이를 처리하여 요청을 충족시키려 시도할 수 있다. 동기화 클라이언트(466)는 사용자 액션과 관련하여 동기식으로 또는 비동기식으로 요청을 전송할 수 있다. 예를 들어, 조직의 관리자인 사용자가 문서 관리 및 협업 애플리케이션(464)에 의해 제공되는 기능을 이용하여 제 2 사용자의 승인 권한을 변화시킬 경우, 동기화 클라이언트(466)는 관리자에 의해 이루어진 승인 권한 변경과 관련하여 동기식으로 (API 함수 콜과 같은) 요청을 행할 수 있다.
동기화 클라이언트(466)는 일관된 뷰가 사용자측 단부 상에서 그리고 컴퓨팅 리소스 서비스 제공자(410)의 단부 상에서 유지됨을 보장하려 시도한다. 따라서, 동기화 클라이언트(466)는 사용자에게 액세스가능한 시스템 뷰에 영향을 미치는 컴퓨팅 리소스 서비스 제공자(410)로부터의 요청을 또한 수신할 수 있다. API-구성 함수 콜일 수 있는 메시지의 교환은, 시스템의 사용자에 의한 일관된 뷰로 나타나고, 사용자 요청의 충족으로 나타난다. 예를 들어, 사용자가 문서에 대한 보기 권한을 잃을 때, 사용자 디바이스(404)의 동기화 클라이언트(466)는 이러한 영향에 대한 메시지를 수신하고 문서 관리 및 협업 애플리케이션(464)은 문서를 사용자 뷰로부터 누락시킬 수 있다.
도 5는 적어도 하나의 실시예에 따른 디렉토리 구조의 한 예를 도시한다. 디렉토리(502)는 매니지드 디렉토리 서비스에 의해 관리될 수 있고, 조직과 연관될 수 있으며, 이는 다시, 하나 이상의 디렉토리(502)를 가질 수 있다. 도 2에 도시되는 바와 같이, 디렉토리(502)는 하나 이상의 폴더(504)를 포함하는 것으로 도시된다(여기서 폴더(502)의 단수 형태로 언급됨). 더욱이, 폴더(504)는 폴더(504) 내에 네스팅되는 하나 이상의 서브폴더(506)를 포함할 수 있다. 인지되는 바와 같이, 서브폴더(506)는 하나 이상의 네스티드 서브폴더를 더 포함할 수 있다. 폴더(504)는 디렉토리(502) 내의 파일 구조일 수 있고, 일부 실시예에서, 폴더(504)와 연관된 보안 또는 승인 권한이, 폴더(508) 내의, 또는, 폴더(504) 내에 네스팅되는 서브폴더(506) 내의, 문서(508)에 적용될 수 있다.
폴더(504)는 하나 이상의 문서(508)를 보유할 수 있다(여기서 문서(508)의 단수 형태로 언급됨). 도 5를 참조하여 설명되듯이, 하나의 문서가 복수의 문서 버전(510)을 포함할 수 있다. 문서 버전(510)은 문서(508)의 일 개정본일 수 있고, 또는, 예를 들어, 사용자 수정 및 변경을 포함하는 기존 문서의 후속 버전 또는 개정본일 수 있다. 더욱이, 문서와 관련하여 제공되는 승인 또는 보안 권한이 문서(508)와 관련된 복수의 문서 버전(510)에 적용될 수 있다. 각각의 문서 버전(510)은 원시 문서(512), 언더레이(514), 및 오버레이(516)를 포함하는 복수의 표현을 가질 수 있다. 원시 문서(512)는 (예를 들어, 생산성 제품군과 호환가능한 파일 포맷의) 원래 업로딩된 문서일 수 있다. 언더레이(514)는 웹 애플리케이션 또는 문서 관리 및 협업 애플리케이션을 이용하여 사용자 디바이스 상에 렌더링될 수 있는 원시 문서(512)의 포터블 표현일 수 있다. 여기서 설명되는 기술은 애플리케이션 소프트웨어, 하드웨어, 또는 운영 체제에 독립적인 공통 포맷을 이용할 수 있는 임의의 포터블 표현에 적용될 수 있고, 문서의 고정 레이아웃의 완전한 설명을 캡슐화할 수 있다. 추가적으로, 오버레이는 사용자 및 협업자에 의해 이루어지는 주석의 표현일 수 있다. 예를 들어, 오버레이는 하이라이트 또는 텍스트 코멘터리의 표현을 포함할 수 있다.
하나보다 많은 문서 버전(510)은 원래 업로드된 문서를 원시 문서(512)로 포함할 수 있다. 도 5를 참조하여 설명되듯이, 여기서 다양한 범주로 사용되듯이, 문서(508)는 복수의 버전(510)을 포함하고, 각각의 버전(510)은 복수의 표현을 포함하지만, 문서는 버전들 중 하나 또는 표현들 중 하나일 수 있다. 예를 들어, 여기서 사용되듯이, 사용자가 업로드한 문서는 원시 문서일 수 있고, 주석 문서는 오버레이일 수 있다. 도 5에 도시되는 조직 구조는 웹 애플리케이션 또는 문서 관리 및 협업 애플리케이션을 이용하여 사용자 디바이스 상에 다양한 스타일 또는 포맷으로 렌더링될 수 있다.
도 6은 여기서 설명되는 적어도 하나의 실시예에 따른 문서 업로딩 방법의 한 예를 도시한다. 프로세스(600)에서, 도 3의 애플리케이션 서비스(334)와 같은 애플리케이션 서비스는, 문서 업로드 요청을 수신한다(602). 문서는 새 문서일 수 있고, 또는 기존 문서의 새 버전일 수 있다. 더욱이, 문서는 원시 문서일 수 있다. 요청은 사용자로부터 수신될 수 있고, 액세스 또는 허가 토큰 또는 로그인 정보와 같이, 사용자와 관련된 인증 정보를 포함할 수 있다. 인증 정보는 요청자와 관련된 신원을 확인하기 위해, 또는, 요청자가 진짜인지 또는 요청자에 의해 제시되는 신원이 진짜인지를 확인하기 위해 검증될 수 있다. 더욱이, 요청자가 문서 업로드 요청을 허가 또는 승인하는지를 확인할 수 있다. 사용자는 관리자에 의해 문서 업로드 또는 액세스를 승인받을 수 있다. 더욱이, 사용자는 관리자 또는 다른 사용자, 문서 소유자, 또는 다른 문서 책임자에 의해 문서에 액세스를 승인받을 수 있다. 예를 들어, 다른 사용자, 문서 소유자, 또는 다른 문서 책임자가 사용자와 문서를 공유하는 권한을 가질 수 있고, 따라서, 업로드된 문서에 사용자가 액세스할 수 있도록 이 권한을 이용할 수 있다.
여기서 설명되듯이, 요청은 API-구성 함수 콜일 수 있다. 그 후 애플리케이션 서비스는 적어도 부분적으로, 제공되는 인증 정보에 기초하여 요청자를 인증한다(604). 애플리케이션 서비스는 사용자 인증을 위한 디렉토리 서비스 허가 인터페이스(354)를 이용할 수 있고, 디렉토리 서비스 허가 인터페이스(354)에 인증 정보를 전송할 수 있다. 문서 관리 및 협업 시스템은 인증을 위해 매니지드 디렉토리 서비스(222)에 의지할 수 있고, 따라서, 매니지드 디렉토리 서비스(222)를 가진 사용자 또는 조직의 계정이 문서 관리 및 협업 시스템에 의해 제공되는 서비스에 대한 액세스에 또한 이용될 수 있다.
요청자 인증 표시를 수신하면, 애플리케이션 서비스는 수신한 요청에 따라 데이터베이스를 업데이트한다(606). 데이터베이스 업데이트는 예를 들어, 문서의 데이터베이스에 엔트리를 생성함으로써, 또는, 문서를 데이터베이스 내 폴더, 사용자, 조직, 또는 사용자 그룹과 상관시킴으로써, 업로드하고자 하는 문서의 명칭공간의 예약을 포함할 수 있다. 더욱이, 데이터베이스는 (예를 들어 문서 신원을 이용하여) 문서를 기관과 상관시키도록 업데이트될 수 있다. 업로드하고자하는 문서가 새 문서인지 또는 기존 문서의 새 버전인지에 관계없이, 애플리케이션 서비스에서는 데이터베이스가 문서의 유형을 반영할 수 있다. 데이터베이스 업데이트는 데이터베이스 내 문서와 연관된 엔트리의 생성을 더 포함할 수 있다. 여기서 설명되듯이, 데이터베이스는 스케일러블 데이터베이스 서비스(226)에 의해 실행 또는 제공될 수 있다.
데이터베이스는 조직, 사용자, 디렉토리, 문서, 등과 연관된 메타데이터를 저장하는데 사용되는 반면, 문서는 객체-레벨 데이터 저장 서비스(214)에 저장될 수 있다. 따라서, 문서와 연관된 메타데이터로 데이터베이스를 업데이트 후, 애플리케이션 서비스는 문서가 데이터 저장 서비스 내에 저장될 위치 또는 주소를 결정할 수 있다. 어드레스는 문서 관리 및 협업 시스템에 속하거나 이를 위해 보유될 수 있고, 유니폼 소스 로케이터(URL)일 수 있다. 그 후 애플리케이션 서비스는 요청자에게 문서 업로드를 위한 저장 어드레스를 전송한다(608). 어드레스는 임의의 유형의 해싱(hashing) 또는 암호화 기술을 이용하여 서명될 수 있다. 어드레스를 수신하면, 그리고 여기서 설명되듯이, 요청자는 저장 서비스에 문서(가령, 원시 문서)를 업로드할 수 있고, 인증 정보와 함께, 문서가 애플리케이션 서비스에 업로드됨을 표시하는 메시지를 전송할 수 있다.
애플리케이션 서비스는 문서 업로드 완료의 표시를 수신한다(610). 더욱이, 애플리케이션 서비스는 요청과 함께 인증 정보를 수신할 수 있고, 인증 정보를 검증하여 요청자의 신원을 확인할 수 있다. 더욱이, 애플리케이션 서비스는 저장 서비스로 문서를 업로드할 것을 요청자가 허락받았음을 확인할 수 있다. 인증 또는 승인 검증을 완료하면, 애플리케이션 서비스는 그 후, 문서를 데이터베이스 내에서 액티브한 것으로 표시한다(612). 액티브 문서는 예를 들어, 문서를 시스템에 포함시키도록 문서의 업로드를 개시하는 기관이 문서를 시스템에 포함시키는 것을 승인하였음을 확인함으로써, 시스템에 업로드되는 것으로 검증된 것일 수 있다. 더욱이, 액티브 문서는 사용자 또는 문서 시스템에 의한 불러오기가 가능한 또는 프로세싱이 가능하거나 준비되어 있는 사용자 문서일 수 있다. 추가적으로, 액티브 분서는 백엔드 프로세싱, 가령, 언더레이 생성 또는 텍스트 추출이 수행될 수 있는 문서일 수 있다. 더욱이, 액티브 문서는 저장 서비스 내 저장의 확인이 수신된 문서이거나 저장 서비스에 성공적으로 저장된 문서일 수 있다. 문서가 액티브해진 후, 문서를 이용하는 작동 또는 작업 흐름이 실행될 수 있다. 더욱이, 문서 이용 요청이 서비스될 수 있고 충족될 수 있다. 더욱이, 애플리케이션 서비스는 다른 것들 중에서도, 업로드되는 문서의 언더레이를 생성하거나 문서 텍스트를 추출하기 위한, 그리고 텍스트를 검색가능하게 렌더링하기 위한, 하나 이상의 비동기식 작업흐름을 발진시킨다(612). 비동기식 작업흐름은 여기서 설명되듯이 비동기식 서비스에 의해 완료될 수 있다. 작업흐름은 비동기식으로 완료될 수 있고, 따라서, 애플리케이션은 요청의 충족을 표시하는 메시지를 요청자에게 전송하고(616), 이는 비동기식 작업흐름의 완료 이전에 수행될 수 있다. 추출된 텍스트는 저장 서비스 또는 데이터베이스에 저장될 수 있고, 문서를 검색가능하게 하는데 사용될 수 있으며, 따라서 문서는 문서 내에 존재하는 하나 이상의 문자에 기초하여 식별될 수 있다. 검색 기능은 검색되는 텍스트에 적어도 부분적으로 기초하여 하나 이상의 문서 또는 그 텍스트 부분을 식별하도록 디렉토리 내 문서의 전부 또는 일부분을 검색할 수 있는 고객 검색 서비스에 의해 수행될 수 있다. 더욱이, 사용자는 문서 검색 옵션을 제공받을 수 있고, 요청받은 검색 질의어에 일치하는 텍스트를 포함하는 하나 이상의 문서를 포함하는 검색 결과를 수신할 수 있다.
프로세스(600)에 설명되듯이, 애플리케이션 서비스는 수신되는 요청에 대해 동기식으로, 저장 위치의 결정, 데이터베이스 업데이트와 같은, 소정의 액션을 수행할 수 있다. 그러나 텍스트 추출, 및 언더레이 생성과 같은 다른 작동들은 비동기식으로 수행될 수 있다. 일부 작동들이 비동기식 엔진에 위임되는, 이러한 유형의 동기식-비동기식 핸드오프는, 더 바람직한 사용자 경험으로 나타나고, 이러한 경우 사용자는 비동기식으로 수행되는 연산-집약적 작동 또는 작업흐름과 연관된 지연을 겪지 않는다. 대신에, 사용자는 사용자 인증, 명칭공간 보유, 진리표 업데이트, 저장 어드레스 식별, 및 전송, 등과 같은 소정의 작동들과 연관된 지연을 만날 뿐이다. 일부 실시예에서, 동기식으로 수행되는 작동들은 비동기식 작업흐름 또는 작동의 실행을 위해 요구될 수 있다.
도 7은 적어도 하나의 실시예에 따라 문서 업로드를 위한 비동기식 작업흐름을 수행하는 방법의 예를 도시한다. 프로세스(700)는 도 6을 참조하여 설명되듯이 애플리케이션 서비스에 의해 하나 이상의 작업흐름의 발진(launch)으로 인해 개시될 수 있다. 더욱이, 프로세스(700)는 문서 관리 및 협업 시스템의 실체에 의해 수행될 수 있다. 비동기식 서비스는 여기서 설명되듯이 다양한 작동들을 포함하는 문서 업데이트 작업흐름을 발진시키도록 애플리케이션 서비스로부터 명령어를 수신한다(702). 그 결과, 마스터 비동기식 엔진은 언더레이 생성을 개시하고(704), 이는 언더레이 생성 개시를 위해 작업 관리 및 작업흐름 서비스에 지시를 포함할 수 있다.
언더레이 생성 작업흐름은 객체-레벨 데이터 저장 서비스로부터 원시 문서의 획득과, (여기서 공통 포맷 및 범용 포맷으로도 불리는) 포터블 포맷으로 원시 문서의 표현의 생성을 포함할 수 있다. 이 표현은 클라이언트 디바이스 상에서 하나 이상의 애플리케이션을 이용하여 렌더링될 수 있다. 표현의 예는 포터블 표현 파일(pdf) 포맷을 가진 문서일 수 있다. 더욱이, 언더레이의 원시 문서로부터 섬네일이 생성될 수 있다. 언더레이 및 섬네일은 객체-레벨 데이터 저장 서비스에 저장을 위해 업로드될 수 있다. 더욱이, 언더레이 생성 작업흐름은 섬네일 및 언더레이가 원시 문서용으로 생성되었음을 명시하기 위해 또는 언더레이 또는 섬네일의 저장 위치를 명시하기 위해 스케일러블 데이터베이스 서비스를 업데이트할 수 있다. 가상 기계 또는 가상 컴퓨팅 서비스의 가상 컴퓨팅 인스턴스를 이용하여, 언더레이 생성 작업흐름의 전부 또는 일부분을 실행할 수 있고, 따라서, 가상 기계 또는 가상 컴퓨팅 인스턴스가 임의의 유형의 운영 체제로 구성될 수 있고, 언더레이 또는 섬네일 생성을 수행할 수 있는 하나 이상의 소프트웨어 패키지를 실행할 수 있다.
그 후 마스터 비동기식 엔진은 텍스트 추출을 수행하도록 비동기식 검색 엔진에 지시하는 과정을 포함할 수 있는, 텍스트 추출 작업흐름을 개시한다(706). 비동기식 검색 엔진은 그 후, 객체-레벨 데이터 저장 서비스로부터 업데이트된 또는 새 원시 문서를 불러올 수 있고, 원시 문서의 텍스트를 추출할 수 있다. 비동기식 검색 엔진은 그 후, 예를 들어, JSON(JavaScript Object Notation) 파일로 문서용 주석 인덱스를 생성하고, 추출된 텍스트 및 주석 인덱스를 객체-레벨 데이터 저장 서비스로 업로드한다. 주석 인덱스(여기서 좌표 맵으로도 불림)는 공통 포맷의 문서와 공통 포맷 파일의 카테시안 좌표계에 적어도 부분적으로 기초하여 생성될 수 있다. 주석 인덱스는 업로드된 문서의 주석 및 사용자 선택을 디스플레이하는데 사용될 수 있다. 다양한 실시예에서, 좌표맵은 문서 또는 언더레이로부터 별개의 파일에 유지된다. 더욱이, 좌표맵은 문서 또는 언더레이 내 정보로 포함될 수 있다. 예를 들어, 좌표맵은 공통 포맷으로 변환된 문서에 저장될 수 있다. 좌표맵은 서로 다른 해상도, 서로 다른 디스플레이 크기, 서로 다른 종횡비, 및 복수의 디바이스들의 그외 다른 디스플레이 차이와 같이, 서로 다른 디스플레이 특성을 가진 복수의 컴퓨팅 디바이스 간에 오버레이에 포함된 정보의 지속적 디스플레이를 실현시킨다. 문서의 디스플레이를 위해 컴퓨팅 디바이스에 의해 사용될 때, 좌표는 오버레이 및 문서를 디스플레이하는 특정 디스플레이의 디스플레이 특성에 관계없이 동일 워드와 연계하여 주석을 디스플레이한다.
비동기식 검색 엔진은, 검색 인덱스 업데이트가 개시될 수 있고 검색 인덱스 업데이트가 프로세싱을 위해 대기될 수 있음을, 검색 서비스에, 예를 들어, 도 3의 도면부호(344)를 참조하여 설명된 검색 서비스에, 표시할 수 있다. 그 후 검색 서비스는 검색 인덱스 업데이트 작업흐름을 개시한다(708). 서비스는 배치 프로세싱(batch processing)을 수행할 수 있고, 큐로부터 인덱스 업데이트의 배치를 불러올 수 있으며, 검색 인덱스 업데이트 작업흐름을 발진시킬 수 있다. 비동기식 검색 엔진은 문서 배치로 고객 검색 서비스 인덱스를 업데이트한다.
문서 관리 및 협업 시스템은 분산형 컴퓨팅 리소스를 이용하여 하나 이상의 가상 데스크탑을 사용자로 하여금 실행하게 하는 가상 데스크탑 서비스와 같은, 다른 서비스와 연계하여 사용되거나 이와 통합될 수 있다. 예를 들어, 가상 데스크탑의 다양한 파일 또는 문서 디렉토리들은 문서 관리 및 협업 시스템에 의해 관리될 수 있다. 문서 관리 및 협업 시스템을 이용하여, 사용자는 가상 데스크탑 또는 가상 운영 체제의 다양한 문서 디렉토리에 액세스할 수 있다. 액세스는 가상 데스크탑 또는 운영 체제 또는 가상 데스크탑 서비스에 독립적으로 액세스할 필요없이 수행될 수 있다. 따라서, 문서 관리 및 협업 시스템이 가상 데스크탑 서비스와 통합될 때, 가상 데스크탑 서비스에 의해 관리되는 디렉토리, 문서 또는 폴더는 문서 관리 및 협업 시스템을 통해 액세스될 수 있다.
더욱이, 문서 관리 및 협업 시스템은 가상 데스크탑 서비스용 문서 및 디렉토리를 저장하는데 사용될 수 있다. 더욱이, 일부 실시예에서, 문서 관리 및 협업 시스템은 데스크탑 문서의 저장을 책임질 수 있고, 반면에 가상 데스크탑 서비스는 소프트웨어 애플리케이션, 사적 이메일, 사용자 설정, 등과 같은 다른 파일 유형의 저장을 책임질 수 있다. 일부 실시예에서, 보안 권한이 문서 관리 및 협업 시스템과 가상 데스크탑 서비스 간에 공유될 수 있고, 따라서 사용자는 단일 인증 프로세스를 이용하여 단일 사인-온으로 두 시스템 모두에 사인-온할 수 있다.
도 8은 적어도 하나의 실시예에 따라 문서 불러오기 방법의 한 예를 도시한다. 프로세스(800)에서, 웹 서버(832)는 애플리케이션 서비스(834)로부터 문서 위치를 요청한다(802). 웹 서버(832)는 문서를 보기 위한 클라이언트 디바이스로부터의 제 2 요청 수신으로 인해 요청을 개시할 수 있다. 도 8을 참조하여 설명되듯이, 문서는 다른 것들 중에서도, 원본 문서의 섬네일, 언더레이, 또는 원본 문서일 수 있다. 여기서 설명되듯이, 문서는 저장 어드레스 정보와 같은, 문서와 관련된 메타데이터 및 저장 서비스에 저장될 수 있고, 또는 데이터베이스에 저장될 수 있다. 요청을 수신하면, 애플리케이션 서비스(834)는, 또한, 스케일러블 데이터베이스 서비스(826)로부터 문서 위치를 요청한다. 스케일러블 데이터베이스 서비스(826)는 문서 신원 또는 다른 식별자에 적어도 부분적으로 기초하여 문서의 위치를 불러올 수 있다. 스케일러블 데이터베이스 서비스(826)는 문서의 위치를 애플리케이션 서비스(834)에 제공하고(804), 이는 다시 위치를 웹 서버(832)에 전달한다(804).
웹 서버(832)는 URL일 수 있는 수신 위치에 적어도 부분적으로 기초하여 콘텐트 분산 에지 네트워크(812)로부터 문서를 요청한다(806). 더욱이, 문서를 요청할 때, 웹 서버는 사용자를 인증하는데, 또는, 사용자가 문서를 수신하도록 허가받았음을 검증하는데, 사용되도록 액세스 토큰과 같은 사용자 인증 정보를 제공할 수 있다. 콘텐트 분산 에지 네트워크(812)는 여기서 설명되듯이 사용자를 인증할 수 있고, 문서가 즉시 가용하지 않을 경우 저장 서비스로부터 문서를 불러올 수 있다(808). 콘텐트 분산 에지 네트워크(812)는 그 후 문서를 웹 서버(832)에 전송한다(810). 웹 서버(832)는 문서를 사용자 디바이스에 제공할 수 있고, 문서는 사용자에 의해 보여지거나 편집되도록 렌더링될 수 있다.
인증시, 사용자 디바이스 또는 사용자 디바이스의 동기화 엔진은 오버레이 또는 언더레이와 같은 요망 문서가, 예를 들어, 적절히 구성된 API 함수 콜을 통해, 애플리케이션 서비스와 통신함으로써 최근의 것인지 또는 최신 버전인지를 결정할 수 있다. 다음 버전 또는 개정본의 문서가 가용하다고 결정되면, 사용자 디바이스 또는 동기화 엔진은 카운터파트 사용자 디바이스로부터 버전을 불러오려 시도할 수 있고, 따라서 카운터파트 사용자 디바이스는 예를 들어, 문서에 주석을 달고 주석을 공유함으로써, 사용자가 문서 상에서 협업하는 다른 사용자 또는 피어(peer)의 디바이스일 수 있다. 더욱이, 사용자 디바이스는 예를 들어, 콘텐트 에지 분산 네트워크를 통해, 문서를 홀딩하는 저장 서비스로부터 후속 버전을 불러들이려 시도할 수 있다. 사용자는 문서를 불러오기 전에 인증 크레덴셜 제공을 요구받을 수 있고, 이는 사용자의 액세스 승인을 이용하여 URL에 서명함으로써 수행될 수 있다.
도 9는 다양한 실시예에 따른 형태들을 구현하기 위한 예시적 환경(900)의 형태들을 도시한다. 알다시피, 웹-기반 환경이 설명 용도로 사용되지만, 적절하다면 다양한 실시예의 구현을 위해, 다른 환경이 사용될 수 있다. 환경은 적절한 네트워크(904)를 통해 요청, 메시지, 또는 정보를 송신 및/또는 수신하도록 작동가능한 임의의 적절한 디바이스를 포함할 수 있는 전자 클라이언트 디바이스(902)를 포함하며, 이는 일부 실시예에서, 디바이스의 사용자에게 다시 정보를 운반하도록 작동가능하다. 이러한 클라이언트 디바이스의 예는 개인용 컴퓨터, 셀 폰, 핸드-헬드 메시징 디바이스, 랩탑 컴퓨터, 태블릿 컴퓨터, 셋탑 박스, 개인용 데이터 보조기기, 임베디드 컴퓨터 시스템, 전자 북 리더, 등을 포함한다. 네트워크는 인트라넷, 인터넷, 셀룰러 네트워크, 근거리 통신망, 위성 네트워크, 또는 그외 다른 이러한 네트워크 및/또는 이들의 조합을 포함하는 임의의 적절한 네트워크를 포함할 수 있다. 이러한 시스템용으로 사용되는 구성요소들은 선택되는 환경 및/또는 네트워크의 유형에 적어도 부분적으로 기초하여 좌우될 수 있다. 이러한 네트워크를 통해 통신하기 위한 프로토콜 및 구성요소들은 잘 알려져 있고 여기서 세부적으로 설명되지 않는다. 네트워크를 통한 통신은 유선 또는 무선 연결 및 이들의 조합에 의해 실현될 수 있다. 본 예에서, 요청을 수신하고 이에 응답하여 콘텐트를 서빙하기 위해 환경이 웹 서버(906)를 포함하기 때문에 네트워크는 인터넷을 포함하지만, 다른 네트워크의 경우 유사한 용도로 기능하는 대안의 디바이스가 사용될 수 있음은 당 업자에게 명백하다.
예시되는 환경은 적어도 하나의 애플리케이션 서버(908) 및 데이터 스토어(910)를 포함한다. 적절한 데이터 스토어로부터 데이터를 획득하는 것과 같은 작업 수행을 위해 상호작용할 수 있도록 결합되거나 구성되는, 여럿의 애플리케이션 서버, 계층, 또는 기타 요소, 프로세스, 또는 구성요소들이 존재할 수 있다. 여기서 사용되는 서버는 하드웨어 디바이스 또는 가상 컴퓨터 시스템과 같이, 다양한 방식으로 구현될 수 있다. 일부 범주에서, 서버는 컴퓨터 시스템 상에서 실행되고 있는 프로그래밍 모듈을 나타낼 수 있다. 여기서 사용되듯이, 달리 언급하거나 문맥으로부터 명백한 것이 아니라면, 용어 "데이터 스토어"는 어떤 표준, 분산형, 가상, 또는 클러스터 환경에서, 임의의 조합 및 임의의 개수의 데이터 서버, 데이터베이스, 데이터 저장 디바이스, 및 데이터 저장 매체를 포함할 수 있는, 데이터를 저장, 액세스, 및 불러오기할 수 있는 임의의 디바이스 또는 디바이스들의 조합을 나타낸다. 애플리케이션 서버는, 애플리케이션을 위한 데이터 액세스 및 비즈니스 로직의 전부 또는 일부를 취급하도록, 클라이언트 디바이스용 하나 이상의 애플리케이션의 형태들을 실행하는데 필요한 만큼 데이터 스토어와 통합하기 위해 임의의 적절한 하드웨어, 소프트웨어, 및 펌웨어를 포함할 수 있다. 애플리케이션 서버는 데이터 스토어와 협력하여 액세스 제어 서비스를 제공할 수 있고, 사용자에게 제공될 텍스트, 그래픽, 오디오, 비디오, 및/또는 그외 다른 이용가능 콘텐트를 포함하는, 콘텐트를 생성할 수 있으며, 이는 하이퍼텍스트 마크업 랭기지("HTML"), 익스텐서블 마크업 랭기지("XML"), 자바스크립트, 캐스케이딩 스타일 시트("CSS"), 또는 다른 적절한 클라이언트-측 구조화 랭기지의 형태로 웹 서버에 의해 사용자에게 서빙될 수 있다. 클라이언트 디바이스에 전달되는 콘텐트는 청각적으로, 시각적으로, 및/또는 촉각, 미각, 및/또는 후각을 포함한 다른 감각들을 통해, 사용자에게 인지가능한 형태를 포함하는, 그러나 이에 제한되지 않는, 하나 이상의 형태로 콘텐트를 제공하도록 클라이언트 디바이스에 의해 처리될 수 있다. 클라이언트 디바이스(902)와 애플리케이션 서버(908) 간의 콘텐트 전달과 모든 요청 및 응답의 취급은, 본 예에서, PHP: 하이퍼텍스트 프리프로세서("PHP"), 피톤(Python), 루비(Ruby), 펄(Perl), 자바, HTML, XML, 또는 다른 적절한 서버-측 구조화된 랭기지를 이용하여 웹 서버에 의해 취급될 수 있다. 웹 및 애플리케이션 서버는 요구되지 않고 단지 예시 구성요소일 뿐이며, 이는 여기서 논의되는 구조화된 코드가, 여기서 그외 다른 곳에서 논의되듯이 임의의 적절한 디바이스 또는 호스트 기계 상에서 실행될 수 있기 때문이다. 더욱이, 단일 디바이스에 의해 수행되는 것으로 여기서 논의되는 작동들은, 문맥으로부터 명백하지 않을 경우, 분산형 및/또는 가상 시스템을 형성할 수 있는 복수의 디바이스에 의해 집합적으로 수행될 수 있다.
데이터 스토어(910)는 본 발명의 특정 형태에 관한 데이터를 저장하기 위한, 여러 별도의 데이터 테이블, 데이터베이스, 데이터 문서, 동적 데이터 저장 기법, 및/또는 기타 데이터 저장 메커니즘 및 매체를 포함할 수 있다. 예를 들어, 예시되는 데이터 스토어는 생산측용 콘텐트로 기능하는데 사용될 수 있는 생산 데이터(912) 및 사용자 정보(916)를 저장하기 위한 메커니즘을 포함할 수 있다. 데이터 스토어는 또한, 보고, 분석, 또는 이러한 다른 용도로 사용될 수 있는, 로그 데이터(914) 저장 메커니즘을 포함하는 것으로 도시된다. 데이터 스토어(910)에 적절한 또는 추가적인 메커니즘으로 앞서 나열된 메커니즘들 중에 저장될 수 있는, 페이지 이미지 정보 및 액세스 권리 정보와 같은, 데이터 스토어에 저장될 필요가 있는 여러 다른 형태들이 존재할 수 있다. 데이터 스토어(910)는 애플리케이션 서버(908)로부터 명령어를 수신하도록, 그리고, 이에 따라 데이터를 획득, 업데이트, 또는 처리하도록, 관련 로직을 통해, 작동가능하다. 애플리케이션 서버(908)는 수신된 명령어에 응답하여 정적, 동적 또는 정적 및 동적 데이터의 조합을 제공할 수 있다. 웹 로그(블로그), 쇼핑 애플리케이션, 뉴스 서비스, 및 기타 이러한 애플리케이션에 사용되는 데이터와 같은 동적 데이터는, 여기서 설명되듯이 서버-측 구조화된 랭기지에 의해 생성될 수 있고, 또는, 애플리케이션 서버 상에서 또는 그 제어 하에 작동하는 콘텐트 관리 시스템("CMS")에 의해 제공될 수 있다. 한 예에서, 사용자는, 사용자에 의해 작동되는 디바이스를 통해, 소정 유형의 품목에 대한 검색 요청을 제출할 수 있다. 이 경우에, 데이터 스토어는 사용자의 신원 검증을 위해 사용자 정보에 액세스할 수 있고, 해당 유형의 품목에 관한 정보를 획득하기 위해 카탈로그 상세 정보에 액세스할 수 있다. 그 후 정보는 사용자 디바이스(902) 상의 브라우저를 통해 사용자가 볼 수 있는 웹 페이지 상의 결과 리스팅에서와 같이, 사용자에게 되돌아올 수 있다. 특정 관심 품목에 대한 정보는 브라우저의 전용 페이지 또는 윈도에서 볼 수 있다. 그러나, 본 발명의 실시예는 웹 페이지의 범주로 꼭 제한되는 것이 아니며, 일반적으로 요청을 처리하는데 대체로 적용가능할 수 있고, 이때, 요청이 콘텐트를 위한 요청이 아닐 수 있다.
각각의 서버는, 서버의 일반적 관리 및 작동을 위한 실행가능 프로그램 명령어를 제공하는 운영 체제를 포함할 것이고, 통상적으로, 서버의 프로세서에 의해 실행될 때, 의도한 기능을 서버로 하여금 수행하게 하는 명령어를 저장하는 컴퓨터-판독가능 저장 매체(가령, 하드 디스크, 랜덤 액세스 메모리, 읽기 전용 메모리, 등)를 포함할 것이다. 서버의 일반 기능 및 운영 체제의 적절한 구현은 잘 알려져 있거나 상업적으로 가용하며, 특히 여기서 개시되는 사항에 비추어볼 때, 당 업자에 의해 쉽게 구현된다.
일 실시예에서, 환경은, 하나 이상의 컴퓨터 네트워크 또는 직접 연결을 이용하여, 통신 링크를 통해 상호연결된 여러 컴퓨터 시스템 및 구성요소들을 이용하는 분산형 및/또는 가상 컴퓨팅 환경이다. 그러나, 이러한 시스템이 도 9에 도시되는 것보다 적은 수 또는 많은 수의 구성요소들을 가진 시스템에서도 마찬가지로 잘 작동할 수 있음을 당 업자는 이해할 것이다. 따라서, 도 9의 시스템(900)의 묘사는 예시적인 속성으로 취급되어야 하며, 발명의 범위를 제한하는 것으로 간주해서는 안된다.
다양한 실시예는 폭넓고 다양한 작동 환경에서 또한 구현될 수 있고, 일부 경우에, 다수의 애플리케이션 중 임의의 애플리케이션의 작동에 사용될 수 있는 하나 이상의 사용자 컴퓨터, 컴퓨팅 디바이스 또는 프로세싱 디바이스를 포함할 수 있다. 사용자 또는 클라이언트 디바이스는 다수의 범용 개인용 컴퓨터, 가령, 표준 운영 체제로 구동되는 데스크탑, 랩탑, 또는 태블릿 컴퓨터, 그리고, 모바일 소프트웨어를 구동하는 그리고 다수의 네트워킹 및 메시징 프로토콜을 지원할 수 있는 셀룰러, 무선, 및 핸드헬드 디바이스 중 임의의 장치를 포함할 수 있다. 이러한 시스템은 다양한 상업적으로 가용한 운영 체제 및 개발 및 데이터베이스 관리 용도로 기타 알려진 애플리케이션을 구동하는 다수의 워크스테이션을 또한 포함할 수 있다. 이러한 디바이스들은 네트워크를 통해 통신할 수 있는 더니 단말(dummy terminals), 신-클라이언트(thin-clients), 게임 시스템(gaming systems), 및 기타 디바이스들과 같이, 다른 전자 디바이스를 또한 포함할 수 있다. 이러한 디바이스들은 가상 기계, 하이퍼바이저, 및 네트워크를 통해 통신할 수 있는 다른 가상 디바이스와 같은, 가상 디바이스를 또한 포함할 수 있다.
본 발명의 다양한 실시예는 전송 제어 프로토콜/인터넷 프로토콜("TCP/IP"), 사용자 데이터그램 프로토콜("UDP"), 오픈 시스템 인터커넥션("OSI") 모델의 다양한 계층으로 작동하는 프로토콜, 파일 전송 프로토콜("FTP"), 범용 플러그 앤드 플레이("UpnP"), 네트워크 파일 시스템("NFS"), 공통 인터넷 파일 시스템("CIFS"), 및 애플톡(AppleTalk)과 같은, 상업적으로 가용한 프로토콜 중 임의의 프로토콜을 이용하여 통신을 지원함에 있어서 당 업자에게 친숙한 적어도 하나의 네트워크를 이용한다. 네트워크는 예를 들어, 근거리 네트워크, 원거리 네트워크, 가상 사설 네트워크, 인터넷, 인트라넷, 엑스트라넷, 공공 교환 전화망, 적외선망, 무선망, 위성망, 및 이들의 조합일 수 있다.
웹 서버를 이용하는 실시예에서, 웹 서버는 하이퍼텍스트 트랜스퍼 프로토콜("HTTP") 서버, FTP 서버, 공통 게이트웨이 인터페이스("CGI") 서버, 데이터 서버, 자바 서버, 아파치 서버, 및 비즈니스 애플리케이션 서버를 포함한, 다양한 서버 또는 미드-타이어 애플리케이션(mid-tier application) 중 임의의 것을 구동할 수 있다. 서버는 Java®, C, C#, 또는 C++과 같은 임의의 프로그래밍 랭기지로, 또는 루비(Ruby), PHP, 펄(Perl), 피톤(Python), 또는 TCL과 같은 임의의 스크립팅 랭기지로, 또는 이들의 조합으로, 기록된 하나 이상의 스크립트 또는 프로그램으로 구현될 수 있는 하나 이상의 웹 애플리케이션을 실행함으로써, 사용자 디바이스로부터의 요청에 응답하여 프로그램 또는 스크립트를 또한 실행할 수 있다. 서버는 Oracle®, Microsoft®, Sybase®, 및 IBM®으로부터 상업적으로 가용한 서버와, MySQL, Postgress, SQLite, MongoDB와 같은 오프-소스 서버, 그리고, 구조화된 또는 구조화되지 않은 데이터의 저장, 불러오기, 및 액세스가 가능한 그외 다른 서버를 포함하는, 데이터베이스 서버를 또한 포함할 수 있다. 데이터베이스 서버는 표-기반 서버, 문서-기반 서버, 구조화되지 않은 서버, 관계형 서버, 비관계형 서버, 또는 이들 및/또는 기타 데이터베이스 서버의 조합을 포함할 수 있다.
환경은 앞서 논의한 바와 같이 다양한 데이터 스토어 및 기타 메모리 및 저장 매체를 포함할 수 있다. 이들은 네트워크 간에 모든 또는 임의의 컴퓨터로부터 원격인, 또는 컴퓨터들 중 하나 이상에 대해 로컬한(및/또는 그 안에 위치하는) 저장 매체 상에서와 같이, 다양한 위치에 놓일 수 있다. 특정 실시예 세트에서, 정보는 당 업자에게 친숙한 저장-영역 네트워크("SAN")에 위치할 수 있다. 마찬가지로, 컴퓨터, 서버, 또는 다른 네트워크 디바이스에 귀속되는 기능들을 수행하기 위해 필요한 임의의 파일들이, 적절한 대로 로컬하게 및/또는 원격으로 저장될 수 있다. 시스템이 컴퓨터화된 디바이스를 포함하는 경우에, 이러한 각각의 디바이스는 버스를 통해 전기적으로 연결될 수 있는 하드웨어 요소들을 포함할 수 있고, 이러한 요소들은, 예를 들어, 적어도 하나의 중앙 프로세싱 유닛("CPU" 또는 "프로세서"), 적어도 하나의 입력 디바이스(가령, 마우스, 키보드, 컨트롤러, 터치 스크린, 또는 키패드), 및 적어도 하나의 출력 디바이스(가령, 디스플레이 디바이스, 프린터, 또는 스피커)를 포함한다. 이러한 시스템은 또한 하나 이상의 저장 디바이스, 가령, 디스크 드라이브, 광학 저장 디바이스, 및 고체-상 저장 디바이스, 가령, 랜덤 액세스 메모리("RAM") 또는 읽기 전용 메모리("ROM"), 그리고, 제거가능 매체 디바이스, 메모리 카드, 플래시 카드, 등을 포함할 수 있다.
이러한 디바이스는 앞서 설명한 바와 같이 컴퓨터 판독가능 저장 매체 판독기, 통신 디바이스(가령, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 등) 및 작업 메모리를 또한 포함할 수 있다. 컴퓨터 판독가능 저장 매체 판독기는 원격의, 로컬한, 고정된, 및/또는 제거가능한 저장 디바이스를 나타내는, 컴퓨터 판독가능 저장 매체, 그리고, 컴퓨터 판독가능 정보를 일시적으로 및/또는 더 영구적으로 지니고, 저장하고, 송신하고, 불러오기 위한 저장 매체와 연결되거나 이를 수용하도록 구성될 수 있다. 시스템 및 다양한 디바이스는 운영 체제 및 응용프로그램, 가령, 클라이언트 애플리케이션 또는 웹 브라우저를 포함하는, 적어도 하나의 작업 메모리 디바이스 내에 위치하는 다수의 소프트웨어 애플리케이션, 모듈, 서비스, 또는 기타 요소들을 또한 통상적으로 포함할 것이다. 대안의 실시예는 앞서 설명된 것으로부터 수많은 변형을 가질 수 있다. 예를 들어, 맞춤화된 하드웨어가 또한 사용될 수 있고, 및/또는 특정 요소들이 하드웨어적으로, (애플릿과 같은 포터블 소프트웨어를 포함한) 소프트웨어적으로, 또는 둘의 조합으로 구현될 수 있다. 더욱이, 네트워크 입력/출력 디바이스와 같은 다른 컴퓨팅 디바이스로의 연결이 이용될 수 있다.
코드 또는 코드의 일부분을 지니기 위한 저장 매체 및 컴퓨터 판독가능 매체는, RAM, ROM, 전기적 소거가능 프로그래머블 읽기 전용 메모리("EEPROM"), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 읽기 전용 메모리("CD_ROM"), 디지털 다용도 디스크(DVD), 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스, 또는, 요망 정보의 저장에 사용될 수 있는 그리고 시스템 디바이스에 의해 액세스될 수 있는 그외 다른 매체를 포함하는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터와 같은 정보의 저장 및/또는 전송을 위한 임의의 방법 또는 기술로 구현되는, 가령, 휘발성 및 비휘발성, 제거가능 및 제거불가능 매체와 같은, 그러나 이에 제한되지 않는, 저장 매체 및 통신 매체를 포함하는, 당 분야에 알려진 또는 사용되는 임의의 적절한 매체를 포함할 수 있다. 여기서 제공되는 개시내용 및 설명에 기초하여, 당 업자는 다양한 실시예를 구현하기 위한 다른 방식 및/또는 방법을 이해할 것이다.
발명의 실시예는 다음의 조항에 비추어 설명될 수 있다:
1. 문서 관리 및 협업 시스템에 문서를 업로드하기 위한, 컴퓨터에 의해 구현되는 방법에 있어서,
실행가능 명령어로 구성되는 하나 이상의 컴퓨터 시스템의 제어 하에,
상기 문서 관리 및 협업 시스템에 문서를 업로드하기 위한 요청을 수신하는 단계와,
저장 서비스에 상기 문서의 성공적 저장의 표시를 수신하는 단계와,
상기 문서가 프로세싱을 위해 가용함을 표시하기 위해 데이터베이스를 업데이트하는 단계와,
문서가 프로세싱을 위해 가용해지면, 문서와 연관된 언더레이 또는 추출 텍스트 중 적어도 하나를 생성하는 단계와,
추출 텍스트를, 상기 문서의 식별에 이용가능하게 하고, 추출 텍스트에 적어도 부분적으로 기초하여 문서 검색 요청에 서비스하는 단계와,
언더레이 액세스 요청에 서비스하는 단계를 포함하는
컴퓨터에 의해 구현되는 방법.
2. 제 1 조항에 있어서,
문서 업로드 요청이 사용자 디바이스로부터 수신되고,
저장 서비스 내 문서를 위한 저장 위치를 식별하는 리소스 로케이터를 상기 사용자 디바이스에 전송함에 응답하여 상기 사용자 디바이스로부터 성공적 저장 표시가 수신되는
컴퓨터에 의해 구현되는 방법.
3. 제 1 조항 내지 제 2 조항에 있어서,
문서 업로드 요청은 사용자와 연관된 허가 정보와 연관되고,
상기 방법은 사용자가 문서 업로드 승인을 허가받음을 검증하는 단계를 더 포함하는
컴퓨터에 의해 구현되는 방법.
4. 제 1 조항 내지 제 3 조항에 있어서,
언더레이의 저장 위치의 표시를 데이터베이스에 저장하는 단계와,
사용자에 의해 개시되는 언더레이 액세스 요청을 수신하면, 데이터베이스로부터 저장 위치를 불러들이고, 저장 위치를 사용자에게 제공하는 단계를 더 포함하는
컴퓨터에 의해 구현되는 방법.
5. 제 1 조항 내지 제 4 조항에 있어서,
상기 문서의 후속 버전의 업로드 요청을 수신하는 단계와,
데이터베이스로 하여금 상기 문서를 상기 문서의 후속 버전과 연관시키는 단계를 더 포함하는
컴퓨터에 의해 구현되는 방법.
6. 제 5 조항에 있어서,
상기 문서의 후속 버전이 수신됨에 응답하여, 상기 문서의 후속 버전과 연관된 후속 언더레이를 생성하는 단계를 더 포함하는
컴퓨터에 의해 구현되는 방법.
7. 적어도 하나의 애플리케이션 서비스를 구현하도록 집합적으로 구성되는 하나 이상의 컴퓨팅 디바이스를 포함하는 시스템에 있어서, 상기 적어도 하나의 애플리케이션 서비스는,
네트워크를 통해 문서를 수신하도록 구성되고,
문서 수신의 결과로, 문서용으로 언더레이 및 오버레이를 생성하도록 구성되며, 상기 언더레이는 상기 문서의 공통 포맷이고 상기 오버레이는 상기 문서에 대한 하나 이상의 주석을 저장하는데 사용가능하며,
상기 문서에 대한 액세스 요청을 수신하도록 구성되고, 상기 요청은 사용자에 의해 개시되며,
상기 문서에 대한 액세스 요청에 응답하여, 상기 언더레이 및 오버레이를 사용자에게 제공하도록 구성되는,
시스템.
8. 제 7 조항에 있어서,
상기 문서는 문서 디렉토리의 하나 이상의 폴더들 중 일 폴더에 통합을 위해 수신되고,
상기 애플리케이션 서비스는 상기 문서를 적어도 상기 폴더, 상기 문서 디렉토리, 및 문서 액세스 허가를 가진 하나 이상의 사용자와 연관시키도록 또한 구성되는
시스템.
9. 제 7 조항 내지 제 8 조항에 있어서,
상기 애플리케이션 서비스는 또한,
상기 문서의 업로드 요청을 수신하도록 구성되고,
문서 저장을 위한 위치의 표시를 동기화 클라이언트에 전송하도록 구성되며,
상기 위치에서 상기 문서의 성공적 저장을 표시하는 메시지를 상기 동기화 클라이언트로부터 수신하도록 구성되는
시스템.
10. 제 9 조항에 있어서,
상기 애플리케이션 서비스는, 상기 메시지를 수신하면, 상기 문서가 액티브 상태임을 데이터베이스로 하여금 표시하게 하도록 또한 구성되고,
상기 문서는 액티브 상태가 될 때 상기 언더레이를 생성하는데 이용될 수 있는
시스템.
11. 제 7 조항 내지 제 10 조항에 있어서,
상기 하나 이상의 컴퓨팅 디바이스는,
저장 서비스로부터 문서를 불러들임으로써,
불러들인 문서에 적어도 부분적으로 기초하여 상기 언더레이를 생성함으로써, 그리고,
상기 언더레이를 상기 저장 서비스에 저장시킴으로써,
상기 언더레이를 생성하도록 구성된 컴퓨팅 서비스를 또한 구현하도록 집합적으로 구성되는
시스템.
12. 제 7 조항 내지 제 11 조항에 있어서,
상기 애플리케이션 서비스는 또한,
문서 디렉토리의 하나 이상의 폴더 내에 문서의 후속 버전을 통합하기 위한 요청을 수신하도록 구성되고,
상기 공통 포맷으로 상기 문서의 후속 버전을 렌더링하도록 구성되는
시스템.
13. 제 7 조항 내지 제 12 조항에 있어서,
문서에 대한 액세스 요청은 사용자 허가 정보와 연관되고,
상기 애플리케이션은 사용자가 문서 액세스 승인을 허락받음을 검증하도록 또한 구성되는
시스템.
14. 실행가능 명령어를 집합적으로 저장하는 비일시적 컴퓨터-판독가능 저장 매체에 있어서, 상기 명령어는 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 적어도,
문서 협업 및 관리 서비스에 의해 통합을 위한 문서 수신시, 문서를 위한 명칭 공간을 확보하고, 상기 확보는 수신된 요청에 대해 동기식으로 수행되며,
상기 문서가 저장 시스템에 저장된 후, 하나 이상의 작업흐름을 발진시키고, 상기 하나 이상의 작업흐름은 상기 문서를 이용하여 범용 표현 언더레이를 생성하고, 상기 하나 이상의 작업흐름은 범용 표현 언더레이를 저장 시스템에 저장하며,
상기 문서에 대한 협업 요청을 수신하고, 상기 요청은 상기 문서에 대한 협업 권한을 가진 사용자에 의해 개시되며,
상기 요청에 응답하여, 상기 저장 시스템 내 범용 표현 언더레이의 저장 어드레스의 표시를 전송하는
비일시적 컴퓨터-판독가능 저장 매체.
15. 제 14 조항에 있어서,
상기 컴퓨터 시스템으로 하여금 문서를 수신하게 하는 명령어는, 상기 컴퓨터 시스템으로 하여금,
상기 문서를 상기 저장 시스템에 업로드하기 위한 요청을 동기화 클라이언트로부터 수신하고,
상기 저장 시스템에 상기 문서를 저장하기 위한 표시를 상기 동기화 클라이언트에 전송하며,
상기 문서가 상기 저장 시스템에 성공적으로 저장되었다는 표시를 상기 동기화 클라이언트로부터 수신하는
명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
16. 제 15 조항에 있어서,
상기 문서의 업로드 요청은 상기 사용자와 연관된 허가 정보와 연관되고,
상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 사용자가 문서 업로드 승인을 허가받았음을 검증하는 명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
17. 제 14 조항 내지 제 16 조항에 있어서,
상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 상기 문서가 액티브 상태인지 또는 범용 표현 언더레이의 생성을 위해 불러들여질 수 있는지의 표시를 컴퓨터 시스템으로 하여금 데이터베이스에 기록하게 하는 명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
18. 제 14 조항 내지 제 17 조항에 있어서,
상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금,
문서 디렉토리 내 상기 문서의 후속 버전을 통합하기 위한 요청을 수신하고,
하나 이상의 추가적인 작업흐름을 개시하고, 상기 하나 이상의 추가적인 작업흐름은 성공적 실행시, 제 2 범용 표현 언더레이를 이용하여 상기 문서의 후속 버전을 렌더링하는
명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
19. 제 14 항 내지 제 18 항에 있어서,
상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금,
사용자와 연관된 인증 정보를 수신하고,
상기 인증 정보에 기초하여 사용자를 인증하는
명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
20. 제 14 조항 내지 제 19 조항에 있어서,
컴퓨터 시스템으로 하여금 문서를 위한 명칭 공간을 확보하게 하는 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금 상기 문서를 디렉토리, 하나 이상의 폴더, 또는 하나 이상의 사용자와 연관시키도록 데이터베이스에 지시하는 명령어를 더 포함하는
비일시적 컴퓨터-판독가능 저장 매체.
21. 제 14 조항 내지 제 20 조항에 있어서,
상기 문서는 사용자로부터 문서 디렉토리의 하나 이상의 폴더 중 일 폴더를 통해 문서 협업 및 관리 서비스에 의한 통합을 위해 수신되는
비일시적 컴퓨터-판독가능 저장 매체.
따라서, 명세서 및 도면은 제한적인 면보다는 예시적인 면으로 이해되어야 한다. 그러나, 청구항에 제시되는 발명의 더 넓은 사상 및 범위로부터 벗어나지 않으면서 다양한 변형 및 변경이 이루어질 수 있음은 명백하다.
다른 변형예도 본 발명의 사상 내에 있다. 따라서, 개시되는 기술이 다양한 변형예 및 대안의 구조로도 가능하지만, 그 중 소정의 예시되는 실시예가 도면에 도시되며 세부적으로 위에서 설명되었다. 그러나, 발명을 개시되는 특정 형태로 제한하고자 하는 의도가 없으며, 반대로, 첨부된 청구범위에서 규정되는 바와 같이, 발명의 사상 및 범위 내에 있는 모든 변형예, 대안의 구조, 및 등가물을 커버하고자 한다.
개시되는 실시예를 설명하는 범주에서 용어 "일" 및 "하나", 및 "이러한" 및 유사 지시어들은 여기서 달리 명시하거나 문맥에 의해 명확하게 상충되지 않을 경우, 단수 및 복수를 모두 커버하는 것으로 간주되어야 한다. "포함하는", "가진", "구비한", 및 "지닌"의 용어는 달리 언급하지 않을 경우 개방-단부 용어로 간주되어야 한다(즉, "포함하지만 이에 제한되지 않는다"를 의미함). 용어 "연결된"은, 변형없이 물리적 연결을 언급할 때, 무언가 사이에 끼어있더라도, 부분적으로 또는 완전히 내부에 수용되거나, 이에 부착되거나, 함께 결합되는 것으로 간주되어야 한다. 여기서 값들의 범위 언급은 여기서 달리 표시하지 않을 경우 범위 내에 있는 각각의 개별 값을 개별적으로 언급하는 속기법으로 기능하는 것을 의도할 뿐이며, 각각의 개별 값이 마치 여기서 개별적으로 언급되는 것처럼 명세서에 포함된다. 달리 언급하거나 문맥에 의해 상충되지 않을 경우, "세트"(가령, "한 세트의 품목") 또는 "서브세트"라는 용어의 이용은 하나 이상의 멤버를 포함하는 비지않은 집합으로 간주되어야 한다. 더욱이, 달리 명시되거나 문맥에 의해 상충되지 않을 경우, 대응하는 세트의 "서브세트"라는 용어는 반드시 대응하는 세트의 적절한 서브세트를 표시하는 것이 아니며, 상기 서브세트 및 대응하는 세트가 동일할 수 있다.
"A, B, C 중 적어도 하나" 또는 A, B, C 중 적어도 하나" 형태의 어구와 같은, 결합어는 달리 구체적으로 명시하거나 문맥에 의해 명확히 상충되지 않을 경우, 한 품목, 한 항목, 등이 A 또는 B 또는 C일 수 있고, 또는, A 및 B 및 C로 이루어지는 세트의 비지않은 서브세트일 수 있음을 제시하기 위해 일반적으로 사용되는 범주로 이해된다. 예를 들어, 3개의 멤버를 가진 한 세트의 예시적 예에서, 결합 어구 "A, B, C 중 적어도 하나" 및 "A, B, C 중 적어도 하나"는 다음의 세트 - {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C} - 중 임의의 것을 의미한다. 따라서, 이러한 결합어는 소정의 실시예가 적어도 하나의 A, 적어도 하나의 B, 및 적어도 하나의 C 각각이 존재해야함을 요구하는 것을 의도하지 않는다.
여기서 설명되는 프로세스들의 작동은 여기서 달리 표시하거나 문맥에 의해 명확하게 상충되지 않을 경우 임의의 적절한 순서로 수행될 수 있다. 여기서 설명되는 프로세스(또는 그 변형예 및/또는 조합)는 실행가능 명령어로 구성되는 하나 이상의 컴퓨터 시스템의 제어 하에 수행될 수 있고, 하나 이상의 프로세서 상에서, 하드웨어에 의해, 또는 그 조합에 의해, 집합적으로 실행되는 코드(가령, 실행가능 명령어, 하나 이상의 컴퓨터 프로그램 또는 하나 이상의 애플리케이션)로 구현될 수 있다. 코드는 예를 들어, 하나 이상의 프로세서에 의해 실행가능한 복수의 명령어를 포함하는 컴퓨터 프로그램 형태로, 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 저장 매체는 비일시적일 수 있다.
여기서 제공되는 모든 그리고 임의의 예 또는 예시적인 언어(가령, "~와 같은")의 이용은 발명의 실시예를 더 잘 나타내기 위한 것일 뿐이고, 달리 명시하지 않을 경우 발명의 범위에 대한 제한을 제시하지 않는다. 명세서 내 어떤 언어도 발명의 실시에 대해 본질적인 것으로 비-청구 요소를 표시하는 것으로 간주되어서는 안된다.
본 발명의 선호 실시예가 여기서 설명되며, 발명을 실행하기 위해 발명자에게 알려진 최적 모드를 포함한다. 선호되는 실시예의 변형예는 앞서의 설명을 읽고나면 당 업자에게 명백해질 것이다. 발명자는 이러한 변형예를 당 업자가 적절하게 이용할 것이라 기대하며, 발명자는 여기서 구체적으로 설명되는 것과는 달리 본 발명의 실시예들이 실시될 수 있음을 의도한다. 따라서, 본 발명의 범위는 적용가능한 법에 의해 허용되는 한, 여기 첨부된 청구범위에 언급된 주제의 모든 변형예 및 등가물을 포함한다. 더욱이, 모든 가능한 변형예들 내의 위 설명된 요소들의 임의의 조합이, 여기서 달리 명시되거나 문맥에 의해 명확하게 상충되지 않을 경우, 본 발명의 범위에 의해 포함된다.

Claims (15)

  1. 적어도 하나의 애플리케이션 서비스를 구현하도록 집합적으로 구성되는 하나 이상의 컴퓨팅 디바이스를 포함하는 시스템에 있어서, 상기 적어도 하나의 애플리케이션 서비스는,
    네트워크를 통해 문서를 수신하도록 구성되고,
    문서 수신의 결과로, 문서용으로 언더레이 및 오버레이를 생성하도록 구성되며, 상기 언더레이는 상기 문서의 공통 포맷이고 상기 오버레이는 상기 문서에 대한 하나 이상의 주석을 저장하는데 사용가능하며,
    상기 문서에 대한 액세스 요청을 수신하도록 구성되고, 상기 요청은 사용자에 의해 개시되며,
    상기 문서에 대한 액세스 요청에 응답하여, 상기 언더레이 및 오버레이를 사용자에게 제공하도록 구성되는,
    시스템.
  2. 제 1 항에 있어서,
    상기 문서는 문서 디렉토리의 하나 이상의 폴더들 중 하나의 폴더에 통합되도록 수신되고,
    상기 애플리케이션 서비스는 상기 문서를 적어도 상기 폴더, 상기 문서 디렉토리, 및 문서 액세스 허가를 가진 하나 이상의 사용자와 연관시키도록 또한 구성되는
    시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 애플리케이션 서비스는 또한,
    상기 문서의 업로드 요청을 수신하도록 구성되고,
    문서 저장을 위한 위치의 표시를 동기화 클라이언트에 전송하도록 구성되며,
    상기 위치에서 상기 문서의 성공적 저장을 표시하는 메시지를 상기 동기화 클라이언트로부터 수신하도록 구성되는
    시스템.
  4. 제 3 항에 있어서,
    상기 애플리케이션 서비스는, 상기 메시지를 수신하면, 상기 문서가 액티브 상태임을 데이터베이스로 하여금 표시하게 하도록 또한 구성되고,
    상기 문서는 액티브 상태가 될 때 상기 언더레이를 생성하는데 이용될 수 있는
    시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스는,
    저장 서비스로부터 문서를 불러들임으로써,
    불러들인 문서에 적어도 부분적으로 기초하여 상기 언더레이를 생성함으로써, 그리고,
    상기 언더레이를 상기 저장 서비스에 저장시킴으로써,
    상기 언더레이를 생성하도록 구성된 컴퓨팅 서비스를 또한 구현하도록 집합적으로 구성되는
    시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 애플리케이션 서비스는 또한,
    문서 디렉토리의 하나 이상의 폴더 내에 문서의 후속 버전을 통합하기 위한 요청을 수신하도록 구성되고,
    상기 공통 포맷으로 상기 문서의 후속 버전을 렌더링하도록 구성되는
    시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    문서에 대한 액세스 요청은 사용자 허가 정보와 연관되고,
    상기 애플리케이션은 사용자가 문서 액세스 승인을 허락받음을 검증하도록 또한 구성되는
    시스템.
  8. 실행가능 명령어를 집합적으로 저장하는 비일시적 컴퓨터-판독가능 저장 매체에 있어서, 상기 명령어는 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금, 적어도,
    문서 협업 및 관리 서비스에 의해 통합을 위한 문서 수신시, 문서를 위한 명칭 공간을 확보하고, 상기 확보는 수신된 요청에 대해 동기식으로 수행되며,
    상기 문서가 저장 시스템에 저장된 후, 하나 이상의 작업흐름을 발진시키고, 상기 하나 이상의 작업흐름은 상기 문서를 이용하여 범용 표현 언더레이를 생성하고, 상기 하나 이상의 작업흐름은 범용 표현 언더레이를 저장 시스템에 저장하며,
    상기 문서에 대한 협업 요청을 수신하고, 상기 요청은 상기 문서에 대한 협업 권한을 가진 사용자에 의해 개시되며,
    상기 요청에 응답하여, 상기 저장 시스템 내 범용 표현 언더레이의 저장 어드레스의 표시를 전송하는
    비일시적 컴퓨터-판독가능 저장 매체.
  9. 제 8 항에 있어서,
    상기 컴퓨터 시스템으로 하여금 문서를 수신하게 하는 명령어는, 상기 컴퓨터 시스템으로 하여금,
    상기 문서를 상기 저장 시스템에 업로드하기 위한 요청을 동기화 클라이언트로부터 수신하고,
    상기 저장 시스템에 상기 문서를 저장하기 위한 표시를 상기 동기화 클라이언트에 전송하며,
    상기 문서가 상기 저장 시스템에 성공적으로 저장되었다는 표시를 상기 동기화 클라이언트로부터 수신하는
    명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  10. 제 9 항에 있어서,
    상기 문서의 업로드 요청은 상기 사용자와 연관된 허가 정보와 연관되고,
    상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 사용자가 문서 업로드 승인을 허가받았음을 검증하는 명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 상기 문서가 액티브 상태인지 또는 범용 표현 언더레이의 생성을 위해 불러들여질 수 있는지의 표시를 컴퓨터 시스템으로 하여금 데이터베이스에 기록하게 하는 명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금,
    문서 디렉토리 내 상기 문서의 후속 버전을 통합하기 위한 요청을 수신하고,
    하나 이상의 추가적인 작업흐름을 개시하고, 상기 하나 이상의 추가적인 작업흐름은 성공적 실행시, 제 2 범용 표현 언더레이를 이용하여 상기 문서의 후속 버전을 렌더링하는
    명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금,
    사용자와 연관된 인증 정보를 수신하고,
    상기 인증 정보에 기초하여 사용자를 인증하는
    명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  14. 제 8 항 내지 제 13 항 중 어느 한 항에 있어서,
    컴퓨터 시스템으로 하여금 문서를 위한 명칭 공간을 확보하게 하는 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금 상기 문서를 디렉토리, 하나 이상의 폴더, 또는 하나 이상의 사용자와 연관시키도록 데이터베이스에 지시하는 명령어를 더 포함하는
    비일시적 컴퓨터-판독가능 저장 매체.
  15. 문서 관리 및 협업 시스템에 문서를 업로드하기 위한, 컴퓨터에 의해 구현되는 방법에 있어서,
    실행가능 명령어로 구성되는 하나 이상의 컴퓨터 시스템의 제어 하에,
    상기 문서 관리 및 협업 시스템에 문서를 업로드하기 위한 요청을 수신하는 단계와,
    저장 서비스에 상기 문서의 성공적 저장의 표시를 수신하는 단계와,
    상기 문서가 프로세싱을 위해 가용함을 표시하기 위해 데이터베이스를 업데이트하는 단계와,
    문서가 프로세싱을 위해 가용해지면, 문서와 연관된 언더레이 또는 추출 텍스트 중 적어도 하나를 생성하는 단계와,
    추출 텍스트를, 상기 문서의 식별에 이용가능하게 하고, 추출 텍스트에 적어도 부분적으로 기초하여 문서 검색 요청에 서비스하는 단계와,
    언더레이 액세스 요청에 서비스하는 단계를 포함하는
    컴퓨터에 의해 구현되는 방법.
KR1020167015415A 2013-11-11 2014-11-10 문서 관리 및 협업 시스템 KR101814369B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/077,204 2013-11-11
US14/077,204 US11336648B2 (en) 2013-11-11 2013-11-11 Document management and collaboration system
PCT/US2014/064875 WO2015070174A1 (en) 2013-11-11 2014-11-10 Document management and collaboration system

Publications (2)

Publication Number Publication Date
KR20160084448A true KR20160084448A (ko) 2016-07-13
KR101814369B1 KR101814369B1 (ko) 2018-01-04

Family

ID=53042206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015415A KR101814369B1 (ko) 2013-11-11 2014-11-10 문서 관리 및 협업 시스템

Country Status (8)

Country Link
US (6) US11336648B2 (ko)
EP (2) EP3614276B1 (ko)
JP (2) JP2017504857A (ko)
KR (1) KR101814369B1 (ko)
CN (1) CN106170804B (ko)
AU (1) AU2014346473B2 (ko)
CA (2) CA2930415C (ko)
WO (2) WO2015070174A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
KR101985905B1 (ko) 2019-03-05 2019-06-04 디지테크정보 주식회사 시스템 연동 방법 및 이를 이용하는 연동형 시스템
KR102010556B1 (ko) * 2018-06-27 2019-10-21 주식회사 한글과컴퓨터 비동기 방식의 액션을 이용하는 웹 전자 문서 편집 장치 및 이의 동작 방법

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10121153B1 (en) 2007-10-15 2018-11-06 Elance, Inc. Online escrow service
US10204074B1 (en) 2008-06-12 2019-02-12 Elance, Inc. Online professional services storefront
US10635412B1 (en) 2009-05-28 2020-04-28 ELANCE, Inc . Online professional badge
US10650332B1 (en) 2009-06-01 2020-05-12 Elance, Inc. Buyer-provider matching algorithm
US9842312B1 (en) 2010-02-19 2017-12-12 Upwork Global Inc. Digital workroom
KR20240132105A (ko) 2013-02-07 2024-09-02 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10540404B1 (en) 2014-02-07 2020-01-21 Amazon Technologies, Inc. Forming a document collection in a document management and collaboration system
US9542391B1 (en) 2013-11-11 2017-01-10 Amazon Technologies, Inc. Processing service requests for non-transactional databases
US10599753B1 (en) * 2013-11-11 2020-03-24 Amazon Technologies, Inc. Document version control in collaborative environment
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
EP3073403B1 (en) * 2014-02-06 2019-01-09 Sony Corporation Information processing device, information processing method, program, and server
US10691877B1 (en) 2014-02-07 2020-06-23 Amazon Technologies, Inc. Homogenous insertion of interactions into documents
US10223653B1 (en) * 2014-02-20 2019-03-05 Elance, Inc. Onboarding dashboard and methods and system thereof
US9584567B2 (en) * 2014-03-04 2017-02-28 Victor Janeiro Skinner Method, system and program product for collaboration of video files
US20150269229A1 (en) * 2014-03-18 2015-09-24 Nurep, Inc. Virtual Pointer and Annotations Through Real Time Communications
US10025874B2 (en) * 2014-04-21 2018-07-17 Tumblr, Inc. User specific visual identity control across multiple platforms
US10638194B2 (en) * 2014-05-06 2020-04-28 At&T Intellectual Property I, L.P. Embedding interactive objects into a video session
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US20150358305A1 (en) * 2014-06-04 2015-12-10 Basware Oyj Service Invitation Token
KR101834530B1 (ko) * 2014-06-16 2018-04-16 한국전자통신연구원 동적 협업 서비스 플랫폼 및 상기 플랫폼에서 응용 서비스를 제공하는 방법
US9405929B1 (en) * 2014-07-31 2016-08-02 Emc Corporation Hierarchical permissions model within a document
US9807073B1 (en) 2014-09-29 2017-10-31 Amazon Technologies, Inc. Access to documents in a document management and collaboration system
EP3201823B1 (en) * 2014-10-02 2021-06-09 Trunomi Ltd. Systems and methods for context-based permissioning of personally identifiable information
US9967309B2 (en) * 2014-10-06 2018-05-08 Microsoft Technology Licensing, Llc Dynamic loading of routes in a single-page application
US10986131B1 (en) * 2014-12-17 2021-04-20 Amazon Technologies, Inc. Access control policy warnings and suggestions
US10043030B1 (en) 2015-02-05 2018-08-07 Amazon Technologies, Inc. Large-scale authorization data collection and aggregation
US10002449B2 (en) * 2015-04-16 2018-06-19 Sap Se Responsive and adaptive chart controls
US11038896B2 (en) * 2015-06-02 2021-06-15 Dipankar Dasgupta Adaptive multi-factor authentication system with multi-user permission strategy to access sensitive information
US11503035B2 (en) * 2017-04-10 2022-11-15 The University Of Memphis Research Foundation Multi-user permission strategy to access sensitive information
US11038687B2 (en) * 2015-08-21 2021-06-15 PushPull Technology Limited Data collaboration
US10146915B2 (en) * 2015-09-14 2018-12-04 Salesforce.Com, Inc. Publication of collaborative file to library
US20170126785A1 (en) * 2015-10-30 2017-05-04 SourcePop LLC Apparatuses, systems, and methods for collaboration
US10489492B2 (en) 2015-12-10 2019-11-26 Dropbox, Inc. Sending feature-instruction notifications to user computing devices
US11971860B2 (en) 2015-12-28 2024-04-30 Dropbox, Inc. Embedded folder views
US10089289B2 (en) * 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US10769365B2 (en) 2015-12-29 2020-09-08 Microsoft Technology Licensing, Llc Document history interface
US10943036B2 (en) 2016-03-08 2021-03-09 Az, Llc Virtualization, visualization and autonomous design and development of objects
US10152462B2 (en) 2016-03-08 2018-12-11 Az, Llc Automatic generation of documentary content
US11621955B2 (en) * 2016-04-05 2023-04-04 International Business Machines Corporation Delivering digital identity documents that are vetted as trusted in a secured manner
US20170300858A1 (en) * 2016-04-19 2017-10-19 PMTP sagl Method for generating an evaluation of the activities of a user on a virtual document
US9992209B1 (en) * 2016-04-22 2018-06-05 Awake Security, Inc. System and method for characterizing security entities in a computing environment
US10592864B2 (en) 2016-04-28 2020-03-17 Microsoft Technology Licensing, Llc Share token issuance for declarative document authoring
US10104152B2 (en) * 2016-04-28 2018-10-16 TeamMate Licensing B.V. Inter-application communication and integration broker
US10417322B2 (en) * 2016-05-06 2019-09-17 Cerner Innovation, Inc. Real-time collaborative clinical document analysis and editing
US10810264B2 (en) * 2016-05-24 2020-10-20 Open Text Sa Ulc System and method for a networked document management system with reduced storage and processing requirements and improved document recovery
US10339211B1 (en) 2016-05-31 2019-07-02 Google Llc Systems and methods for synchronizing comments to an electronic document across platforms
KR101748627B1 (ko) * 2016-06-29 2017-06-20 주식회사 한글과컴퓨터 문서 편집에 대한 인증이 가능한 웹 기반의 전자 문서 서비스 장치 및 그 동작 방법
US10248797B1 (en) * 2016-06-30 2019-04-02 Symantec Corporation Systems and methods for zero-day DLP protection having enhanced file upload processing
CA3035277C (en) * 2016-09-02 2024-05-14 FutureVault Inc. Real-time document filtering systems and methods
US11128704B2 (en) * 2016-09-30 2021-09-21 Dropbox, Inc. Linking content items and collaboration content items
CN107948123B (zh) 2016-10-12 2021-01-12 钉钉控股(开曼)有限公司 文件传输方法及装置
US10534856B2 (en) * 2016-10-17 2020-01-14 International Business Machines Corporation Atom-based sensible synchronization for information indexing
US10264057B2 (en) * 2016-12-08 2019-04-16 Sap Se Hybrid cloud integration systems and methods
CN107045521B (zh) * 2016-12-19 2020-05-12 威创集团股份有限公司 一种信号源分组管理方法、装置及系统
US10374999B2 (en) * 2016-12-29 2019-08-06 Dropbox, Inc. Comment management in shared documents
US10263932B2 (en) * 2016-12-29 2019-04-16 Dropbox, Inc. Comment management in shared documents
US10848501B2 (en) * 2016-12-30 2020-11-24 Microsoft Technology Licensing, Llc Real time pivoting on data to model governance properties
US10333918B2 (en) * 2017-02-22 2019-06-25 Accenture Global Solutions Limited Automated system identification, authentication, and provisioning
CN108509662A (zh) * 2017-02-24 2018-09-07 创意电子股份有限公司 用于集成电路设计的文件管理方法及其系统
US10353663B2 (en) 2017-04-04 2019-07-16 Village Experts, Inc. Multimedia conferencing
US10623410B2 (en) * 2017-04-24 2020-04-14 Microsoft Technology Licensing, Llc Multi-level, distributed access control between services and applications
US10523677B2 (en) 2017-04-28 2019-12-31 Versata Development Group, Inc. Managing metadata for external content within a computing environment
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10958653B1 (en) 2017-06-27 2021-03-23 Amazon Technologies, Inc. Dynamically adaptive computer security permissions
US10079832B1 (en) * 2017-10-18 2018-09-18 Palantir Technologies Inc. Controlling user creation of data resources on a data processing platform
GB201716170D0 (en) * 2017-10-04 2017-11-15 Palantir Technologies Inc Controlling user creation of data resources on a data processing platform
CN111226497B (zh) * 2017-10-17 2024-02-09 瑞典爱立信有限公司 通信网络中的服务注册
US11741300B2 (en) 2017-11-03 2023-08-29 Dropbox, Inc. Embedded spreadsheet data implementation and synchronization
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US11509658B1 (en) * 2018-01-08 2022-11-22 Amazon Technologies, Inc. Adaptive access control policies
US10817468B2 (en) * 2018-02-27 2020-10-27 Servicenow, Inc. Document management
US20180205772A1 (en) * 2018-03-12 2018-07-19 Vaultize Technologies Private Limited Folder and file based collaboration using messaging
US10728187B2 (en) * 2018-04-05 2020-07-28 Global Relay Communications Inc. System and method for processing messages with organization and personal interaction controls
CN108595646B (zh) * 2018-04-26 2020-04-24 北京字节跳动网络技术有限公司 在线文档的评论方法和装置
SE1850669A1 (en) * 2018-06-01 2019-12-02 Izettle Merchant Services Ab Collaboration server and method
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
JP6464544B1 (ja) * 2018-06-05 2019-02-06 デジタルア−ツ株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US11240320B2 (en) 2018-11-16 2022-02-01 Microsoft Technology Licensing, Llc System and method for managing notifications of document modifications
US10324763B1 (en) 2018-12-11 2019-06-18 Palantir Technologies Inc. Systems and methods for terminating instances and autoscaling instance groups of computing platforms
WO2021126191A1 (en) * 2018-12-18 2021-06-24 Skwibb Holdings Llc Systems and methods for authenticating music credits
US10868887B2 (en) 2019-02-08 2020-12-15 Palantir Technologies Inc. Systems and methods for isolating applications associated with multiple tenants within a computing platform
WO2020204474A1 (ko) * 2019-03-29 2020-10-08 삼성전자 주식회사 무선 통신 시스템에서 에지 컴퓨팅 서비스를 제공하기 위한 장치 및 방법
CN113157168B (zh) * 2019-04-03 2022-02-18 腾讯科技(深圳)有限公司 文档展示方法和装置
US11657298B2 (en) 2019-04-19 2023-05-23 T-Mobile Usa, Inc. Card engine for producing dynamically configured content
US10929814B2 (en) 2019-05-02 2021-02-23 Microsoft Technology Licensing, Llc In-context display of out-of-context contact activity
US11244100B2 (en) 2019-05-08 2022-02-08 Microsoft Technology Licensing, Llc Visualizing changes based on document scope
CN110458513A (zh) * 2019-07-17 2019-11-15 广东鼎义互联科技股份有限公司 一种中心化接口文档管理平台
US11226938B2 (en) * 2019-09-12 2022-01-18 Vijay Madisetti Method and system for real-time collaboration and event linking to documents
US11228594B2 (en) * 2019-09-17 2022-01-18 Microsoft Technology Licensing, Llc. Automatic reduction of permissions for client applications
US10761889B1 (en) 2019-09-18 2020-09-01 Palantir Technologies Inc. Systems and methods for autoscaling instance groups of computing platforms
US11074400B2 (en) * 2019-09-30 2021-07-27 Dropbox, Inc. Collaborative in-line content item annotations
US11048519B2 (en) * 2019-11-22 2021-06-29 T-Mobile Usa, Inc. System and method for asynchronous distribution of operations that require synchronous execution
EP4073728A4 (en) 2019-12-10 2023-12-20 Nureva Inc. SYSTEM AND METHOD FOR ANONYMOUS USERS TO PROVIDE MULTIMEDIA CONTRIBUTION ACROSS MULTIPLE DIGITAL WORKSPACE
US11481196B2 (en) 2020-01-22 2022-10-25 T-Mobile Usa, Inc. User interface for accessing and modifying development area content
US11483155B2 (en) 2020-01-22 2022-10-25 T-Mobile Usa, Inc. Access control using proof-of-possession token
US11675773B2 (en) * 2020-01-22 2023-06-13 T-Mobile Usa, Inc. Content management
US11086841B1 (en) * 2020-01-31 2021-08-10 Snowflake Inc. Streams on shared database objects
US11361146B2 (en) * 2020-03-06 2022-06-14 International Business Machines Corporation Memory-efficient document processing
US11495038B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Digital image processing
US11494588B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Ground truth generation for image segmentation
US11556852B2 (en) 2020-03-06 2023-01-17 International Business Machines Corporation Efficient ground truth annotation
JP7459575B2 (ja) * 2020-03-11 2024-04-02 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN111597566B (zh) * 2020-05-12 2021-03-16 湖北美和易思教育科技有限公司 一种Spark分析结果的传输方法及装置
WO2021236837A1 (en) * 2020-05-19 2021-11-25 Markadoc Corporation Online real-time interactive collaborative document system
WO2022000156A1 (en) * 2020-06-29 2022-01-06 Microsoft Technology Licensing, Llc Selective security augmentation in source control environments
US11176311B1 (en) * 2020-07-09 2021-11-16 International Business Machines Corporation Enhanced section detection using a combination of object detection with heuristics
CN111949607B (zh) * 2020-09-03 2023-06-27 网易(杭州)网络有限公司 一种udt文件的监控方法、系统和装置
KR20220031256A (ko) 2020-09-04 2022-03-11 주식회사 모카앤제이에스 문서 송신 제어 장치 및 방법
US11374990B2 (en) * 2020-09-14 2022-06-28 Box, Inc. Saving an overlay annotation in association with a shared document
US11783827B2 (en) * 2020-11-06 2023-10-10 Apple Inc. Determining suggested subsequent user actions during digital assistant interaction
US20240303372A1 (en) * 2021-01-18 2024-09-12 Qjumpers Technologies Limited System and method for management of confidential information
JP2022144487A (ja) * 2021-03-19 2022-10-03 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN113609834A (zh) * 2021-08-18 2021-11-05 北京字跳网络技术有限公司 信息处理方法、装置、设备及介质
US11977651B2 (en) * 2021-08-31 2024-05-07 RecoLabs Inc Systems and methods for securing files and/or records
US20230118631A1 (en) * 2021-10-14 2023-04-20 Bank Of America Corporation System and method for generation of an interface for upload and remote acceptance of a data file
US11868706B1 (en) * 2021-12-13 2024-01-09 Notion Labs, Inc. System, method, and computer program for syncing content across workspace pages
US11687701B1 (en) 2022-01-21 2023-06-27 Notion Labs, Inc. System, method, and computer program for enabling text editing across multiple content blocks in a system
CN117938830A (zh) * 2022-01-21 2024-04-26 荣耀终端有限公司 一种文件共享方法、通信系统和电子设备
US20230306002A1 (en) * 2022-03-24 2023-09-28 Sap Se Help documentation enabler
CN114841127B (zh) * 2022-06-29 2022-09-23 天津联想协同科技有限公司 一种基于流式电子协作文档的图层叠加方法及装置
US20240087052A1 (en) * 2022-09-08 2024-03-14 Meta Platforms, Inc. Community profiles
US20240214384A1 (en) * 2022-12-22 2024-06-27 Box, Inc. Handling collaboration and governance activities throughout the lifecycle of auto-generated content objects
CN116611988B (zh) * 2023-05-23 2024-04-26 释空(上海)展示制作有限公司 图像处理方法、电子设备和存储介质
US12088673B1 (en) 2023-09-27 2024-09-10 Black Knight Ip Holding Company, Llc Methods and systems for registering a digital command in a multi-application
US12061596B1 (en) 2023-09-27 2024-08-13 Black Knight Ip Holding Company, Llc Methods and systems for generating dynamic context data associated with a digital request data object in a multi-application network
US12050592B1 (en) 2023-09-27 2024-07-30 Black Knight Ip Holding Company, Llc Methods and systems for generating digital records indicating computing operations and state data in a multi-application network

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251315A (en) 1990-06-21 1993-10-05 International Business Machines Corporation Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands
US5596754A (en) 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management
US5577188A (en) 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
JP3669016B2 (ja) 1994-09-30 2005-07-06 株式会社日立製作所 文書情報分類装置
JPH08263481A (ja) 1995-03-22 1996-10-11 Hitachi Ltd 電子化文書回覧システム
US5911140A (en) 1995-12-14 1999-06-08 Xerox Corporation Method of ordering document clusters given some knowledge of user interests
US20030061221A1 (en) 1996-05-24 2003-03-27 Fumiaki Ito Document processing method system and storage medium for document processing programs
JPH10240220A (ja) 1997-03-03 1998-09-11 Toshiba Corp 注釈表示機能を持つ情報処理機器
US5991713A (en) 1997-11-26 1999-11-23 International Business Machines Corp. Efficient method for compressing, storing, searching and transmitting natural language text
US6088702A (en) 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
AU6258499A (en) 1998-09-22 2000-04-10 Science Applications International Corporation User-defined dynamic collaborative environments
US7039856B2 (en) 1998-09-30 2006-05-02 Ricoh Co., Ltd. Automatic document classification using text and images
US6397205B1 (en) 1998-11-24 2002-05-28 Duquesne University Of The Holy Ghost Document categorization and evaluation via cross-entrophy
US6687876B1 (en) 1998-12-30 2004-02-03 Fuji Xerox Co., Ltd. Method and system for maintaining freeform ink annotations on changing views
US6922699B2 (en) 1999-01-26 2005-07-26 Xerox Corporation System and method for quantitatively representing data objects in vector space
US6687878B1 (en) 1999-03-15 2004-02-03 Real Time Image Ltd. Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
US6584466B1 (en) 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
NZ515293A (en) 1999-05-05 2004-04-30 West Publishing Company D Document-classification system, method and software
JP2000348041A (ja) 1999-06-03 2000-12-15 Nec Corp 文書検索方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
US6505214B1 (en) 1999-09-28 2003-01-07 Microsoft Corporation Selective information synchronization based on implicit user designation
US6442555B1 (en) 1999-10-26 2002-08-27 Hewlett-Packard Company Automatic categorization of documents using document signatures
US6823454B1 (en) * 1999-11-08 2004-11-23 International Business Machines Corporation Using device certificates to authenticate servers before automatic address assignment
JP2001216452A (ja) 2000-02-04 2001-08-10 Fuji Xerox Co Ltd ドキュメントサービス統合システム
US6859909B1 (en) 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
US7757168B1 (en) 2000-04-07 2010-07-13 Xerox Corporation Meta-document and method of managing
CA2307404A1 (en) 2000-05-02 2001-11-02 Provenance Systems Inc. Computer readable electronic records automated classification system
JP2003067330A (ja) 2001-08-28 2003-03-07 Oki Data Corp クライアントサーバシステム
US7747943B2 (en) 2001-09-07 2010-06-29 Microsoft Corporation Robust anchoring of annotations to content
US7383258B2 (en) 2002-10-03 2008-06-03 Google, Inc. Method and apparatus for characterizing documents based on clusters of related words
US7177886B2 (en) 2003-02-07 2007-02-13 International Business Machines Corporation Apparatus and method for coordinating logical data replication with highly available data replication
JP4828091B2 (ja) 2003-03-05 2011-11-30 ヒューレット・パッカード・カンパニー クラスタリング方法プログラム及び装置
US7562289B2 (en) 2003-06-18 2009-07-14 Layton Geo-Science, Inc. Methods and systems for encoding geographic coordinates and features in a portable document format file
US8321470B2 (en) 2003-06-20 2012-11-27 International Business Machines Corporation Heterogeneous multi-level extendable indexing for general purpose annotation systems
US20040267746A1 (en) 2003-06-26 2004-12-30 Cezary Marcjan User interface for controlling access to computer objects
US7367048B2 (en) 2003-07-10 2008-04-29 International Business Machines Corporation Apparatus and method for autonomic email access control
US7610313B2 (en) 2003-07-25 2009-10-27 Attenex Corporation System and method for performing efficient document scoring and clustering
US20050033811A1 (en) 2003-08-07 2005-02-10 International Business Machines Corporation Collaborative email
GB2405227A (en) 2003-08-16 2005-02-23 Ibm Authenticating publication date of a document
US9098475B2 (en) 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US7693827B2 (en) 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
US8825502B2 (en) 2003-09-30 2014-09-02 Epic Systems Corporation System and method for providing patient record synchronization in a healthcare setting
US7689578B2 (en) 2004-01-15 2010-03-30 International Business Machines Corporation Dealing with annotation versioning through multiple versioning policies and management thereof
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
JP2005228253A (ja) 2004-02-16 2005-08-25 Tokyo Denki Univ プロジェクト科目支援サーバ及びプロジェクト科目支援プログラム
US8234374B2 (en) 2004-04-26 2012-07-31 Microsoft Corporation Privacy model that grants access rights and provides security to shared content
US20050289127A1 (en) * 2004-06-25 2005-12-29 Dominic Giampaolo Methods and systems for managing data
US20080040342A1 (en) 2004-09-07 2008-02-14 Hust Robert M Data processing apparatus and methods
US20070118794A1 (en) * 2004-09-08 2007-05-24 Josef Hollander Shared annotation system and method
US20060125846A1 (en) 2004-12-10 2006-06-15 Springer Gregory T Virtual overlay for computer device displays
US8230326B2 (en) 2004-12-17 2012-07-24 International Business Machines Corporation Method for associating annotations with document families
US8271574B1 (en) 2004-12-22 2012-09-18 Hewlett-Packard Development Company, L.P. Content sharing and collaboration
US7593942B2 (en) 2004-12-30 2009-09-22 Oracle International Corporation Mandatory access control base
US20060183462A1 (en) 2005-02-11 2006-08-17 Nokia Corporation Managing an access account using personal area networks and credentials on a mobile device
JP4786222B2 (ja) 2005-05-11 2011-10-05 株式会社エヌ・ティ・ティ・ドコモ ディジタル権利管理システム、コンテンツサーバおよび携帯端末
US7548908B2 (en) 2005-06-24 2009-06-16 Yahoo! Inc. Dynamic bloom filter for caching query results
US20070118795A1 (en) 2005-11-23 2007-05-24 Peter Noyes A Method of Processing Annotations Using an Editable Multi-Dimensional Catalog
US9768963B2 (en) 2005-12-09 2017-09-19 Citicorp Credit Services, Inc. (Usa) Methods and systems for secure user authentication
US20070150802A1 (en) 2005-12-12 2007-06-28 Canon Information Systems Research Australia Pty. Ltd. Document annotation and interface
US7765212B2 (en) 2005-12-29 2010-07-27 Microsoft Corporation Automatic organization of documents through email clustering
US7792872B1 (en) 2005-12-29 2010-09-07 United Services Automobile Association Workflow administration tools and user interfaces
US20070208994A1 (en) 2006-03-03 2007-09-06 Reddel Frederick A V Systems and methods for document annotation
US8676845B2 (en) 2006-08-22 2014-03-18 International Business Machines Corporation Database entitlement
JP2009086742A (ja) 2007-09-27 2009-04-23 Fujifilm Corp 文書管理サーバ、携帯端末、及び文書管理システム
US8190987B2 (en) 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US20090217196A1 (en) 2008-02-21 2009-08-27 Globalenglish Corporation Web-Based Tool for Collaborative, Social Learning
US8266524B2 (en) 2008-02-25 2012-09-11 Microsoft Corporation Editing a document using a transitory editing surface
US9436927B2 (en) 2008-03-14 2016-09-06 Microsoft Technology Licensing, Llc Web-based multiuser collaboration
US20090265747A1 (en) 2008-03-17 2009-10-22 Canada Anv Systems Inc. Systems and methods for providing web based self serviced video monitoring and security features for systems comprising ip video terminals and servers
CA2659698C (en) 2008-03-21 2020-06-16 Dressbot Inc. System and method for collaborative shopping, business and entertainment
US8826375B2 (en) 2008-04-14 2014-09-02 Lookwithus.Com Inc. Rich media collaboration system
US7882110B2 (en) 2008-04-30 2011-02-01 Enterprise Content Management Group Method and system for migrating documents
US8429753B2 (en) 2008-05-08 2013-04-23 Microsoft Corporation Controlling access to documents using file locks
US8996621B2 (en) * 2008-05-12 2015-03-31 Adobe Systems Incorporated Asynchronous comment updates
US20120030553A1 (en) 2008-06-13 2012-02-02 Scrible, Inc. Methods and systems for annotating web pages and managing annotations and annotated web pages
US20100010998A1 (en) 2008-07-09 2010-01-14 The Go Daddy Group, Inc. Document storage access on a time-based approval basis
JP2010034920A (ja) 2008-07-30 2010-02-12 Kddi Corp 情報配信システム
US8655950B2 (en) 2008-08-06 2014-02-18 International Business Machines Corporation Contextual awareness in real time collaborative activity alerts
US20100095203A1 (en) 2008-10-15 2010-04-15 Cisco Technology, Inc. Method and apparatus for incorporating visual deltas for new documents based on previous consumption
US8261186B2 (en) 2009-01-02 2012-09-04 Apple Inc. Methods for efficient cluster analysis
US9165154B2 (en) 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US20100241668A1 (en) 2009-03-17 2010-09-23 Microsoft Corporation Local Computer Account Management at Domain Level
WO2010114624A1 (en) * 2009-04-04 2010-10-07 Brett Matthews Online document annotation and reading system
US20110088091A1 (en) 2009-06-19 2011-04-14 Dejan Petronijevic Methods and apparatus to maintain validity of shared information
US9270679B2 (en) 2009-06-23 2016-02-23 Yahoo! Inc. Dynamic access control lists
US20120011216A1 (en) * 2009-06-26 2012-01-12 Thomas Zuber Method for associating a code with an electronic document, a hard document and storage information relating to the hard document
US9508049B2 (en) 2009-08-30 2016-11-29 Hewlett-Packard Development Company, L.P. Update-triggered document-defined workflow
US8312385B2 (en) 2009-09-30 2012-11-13 Palo Alto Research Center Incorporated System and method for providing context-sensitive sidebar window display on an electronic desktop
US8805837B2 (en) 2009-10-26 2014-08-12 Microsoft Corporation Alternate data stream cache for file classification
US9537650B2 (en) 2009-12-15 2017-01-03 Microsoft Technology Licensing, Llc Verifiable trust for data through wrapper composition
US20110153680A1 (en) 2009-12-23 2011-06-23 Brinks Hofer Gilson & Lione Automated document classification and routing
US20110178981A1 (en) 2010-01-21 2011-07-21 International Business Machines Corporation Collecting community feedback for collaborative document development
JP2011191862A (ja) 2010-03-12 2011-09-29 Innovature Technologies株式会社 ファイル管理装置、ファイル管理システム、およびファイル管理プログラム
US20110231222A1 (en) 2010-03-19 2011-09-22 Bank Of America Corporation Method and System for Enhanced Transaction Management
US20110289105A1 (en) * 2010-05-18 2011-11-24 Tabulaw, Inc. Framework for conducting legal research and writing based on accumulated legal knowledge
US20110302210A1 (en) 2010-05-26 2011-12-08 Gelu Comanescu System and methods for keeping information and data for proving authorship and priority of ideas, creations, inventions, explanations, declarations, factual assertions and others; for keeping personal documents securely and confidentially; for securing evidence for legal proceedings; and for delivering messages and documents to parties.
US9009810B2 (en) 2010-05-28 2015-04-14 Nokia Corporation Method and apparatus for providing reactive authorization
US9286581B2 (en) 2010-06-29 2016-03-15 Ricoh Co., Ltd. User interface with inbox mode and document mode for single input work flow routing
US9143633B2 (en) 2010-10-12 2015-09-22 Lexmark International Technology S.A. Browser-based scanning utility
EP2458548A1 (en) 2010-11-30 2012-05-30 France Telecom System and method for implementing dynamic access control rules to personal cloud information
US20130215469A1 (en) * 2010-12-20 2013-08-22 Laurent Pizot Systems and methods for scanning
WO2012099617A1 (en) * 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
WO2012102736A1 (en) 2011-01-28 2012-08-02 Hewlett-Packard Development Company, L.P. Document management system and method
US8726285B2 (en) 2011-01-28 2014-05-13 Ciambella Ltd. Method and apparatus for triggering workflow deployment and/or execution
US20120222132A1 (en) 2011-02-25 2012-08-30 Microsoft Corporation Permissions Based on Behavioral Patterns
US8938669B1 (en) 2011-03-15 2015-01-20 Google Inc. Inline user addressing in chat and document editing sessions
JP2012209809A (ja) 2011-03-30 2012-10-25 Brother Ind Ltd 画像通信装置
US8875011B2 (en) 2011-05-06 2014-10-28 David H. Sitrick Systems and methodologies providing for collaboration among a plurality of users at a plurality of computing appliances
US20130151970A1 (en) 2011-06-03 2013-06-13 Maha Achour System and Methods for Distributed Multimedia Production
US20120323968A1 (en) 2011-06-14 2012-12-20 Microsoft Corporation Learning Discriminative Projections for Text Similarity Measures
WO2013009337A2 (en) * 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9400974B2 (en) 2011-09-02 2016-07-26 Jn Projects, Inc. Systems and methods for annotating and sending electronic documents
KR101159504B1 (ko) 2011-10-14 2012-06-25 주식회사 한글과컴퓨터 단말 장치 및 상기 단말 장치의 문서 공동 편집 방법
US9141404B2 (en) 2011-10-24 2015-09-22 Google Inc. Extensible framework for ereader tools
US9106687B1 (en) 2011-11-01 2015-08-11 Symantec Corporation Mechanism for profiling user and group accesses to content repository
US9606972B2 (en) 2011-11-09 2017-03-28 Microsoft Technology Licensing, Llc Document collaboration with collaboration context data
CN102542405A (zh) 2011-12-14 2012-07-04 金峰顺泰知识产权有限公司 数字档案存证方法及系统
US8863299B2 (en) 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US20130191451A1 (en) 2012-01-19 2013-07-25 Microsoft Corporation Presence-based Synchronization
US8782004B2 (en) 2012-01-23 2014-07-15 Palantir Technologies, Inc. Cross-ACL multi-master replication
US9348802B2 (en) 2012-03-19 2016-05-24 Litéra Corporation System and method for synchronizing bi-directional document management
US8843494B1 (en) 2012-03-28 2014-09-23 Emc Corporation Method and system for using keywords to merge document clusters
US10360565B2 (en) 2012-05-18 2019-07-23 Kofax, Inc. System and method for providing a universal endpoint address schema to route documents and manage document workflows
AU2013204289A1 (en) 2012-06-01 2013-12-19 Kwik Cv Pty Limited A System and Method for Collaborating over a Communications Network
US10419524B2 (en) 2012-09-07 2019-09-17 Oracle International Corporation System and method for workflow orchestration for use with a cloud computing environment
EP2709028A1 (en) 2012-09-14 2014-03-19 Ecole Polytechnique Fédérale de Lausanne (EPFL) Privacy-enhancing technologies for medical tests using genomic data
US9536047B2 (en) 2012-09-14 2017-01-03 Ecole Polytechnique Federale De Lausanne (Epfl) Privacy-enhancing technologies for medical tests using genomic data
US20140089775A1 (en) 2012-09-27 2014-03-27 Frank R. Worsley Synchronizing Book Annotations With Social Networks
US20140101310A1 (en) 2012-10-04 2014-04-10 Box, Inc. Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform
US20140115436A1 (en) 2012-10-22 2014-04-24 Apple Inc. Annotation migration
US20150199379A1 (en) 2012-10-30 2015-07-16 Google Inc. Sorting and searching of related content based on underlying file metadata
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US9253075B2 (en) 2012-12-19 2016-02-02 Palo Alto Research Center Incorporated Dynamic routing protocols using database synchronization
US9130920B2 (en) 2013-01-07 2015-09-08 Zettaset, Inc. Monitoring of authorization-exceeding activity in distributed networks
WO2014118791A1 (en) 2013-01-29 2014-08-07 Hewlett-Packard Development Company, L. P Methods and systems for shared file storage
US9385985B2 (en) 2013-02-14 2016-07-05 Fuji Xerox., Ltd. Systems and methods for assisting users with contact, access, and distribution lists
US9047368B1 (en) 2013-02-19 2015-06-02 Symantec Corporation Self-organizing user-centric document vault
US9020893B2 (en) 2013-03-01 2015-04-28 Datadirect Networks, Inc. Asynchronous namespace maintenance
US9600669B2 (en) 2013-03-13 2017-03-21 Microsoft Technology Licensing, Llc Resource-based action attribution
US20140281875A1 (en) 2013-03-14 2014-09-18 Appsense Limited Multi-user layer annotation
US20140280964A1 (en) 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US20140351907A1 (en) 2013-05-21 2014-11-27 Personal Credentialing Group, LLC Credential authentication system and methods of performing the same
US20150067150A1 (en) 2013-08-30 2015-03-05 Samsung Electronics Co., Ltd. Systems and methods for proactive media data sharing
US20150106378A1 (en) 2013-10-14 2015-04-16 Barracuda Networks, Inc. Document Categorization By Rules and Clause Group Scores Associated with Type Profiles Apparatus and Method
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
US9208153B1 (en) 2013-12-13 2015-12-08 Symantec Corporation Filtering relevant event notifications in a file sharing and collaboration environment
US9633100B2 (en) 2014-01-15 2017-04-25 Dell Products, L.P. System and method for data structure synchronization
US9880989B1 (en) 2014-05-09 2018-01-30 Amazon Technologies, Inc. Document annotation service
US10706069B2 (en) 2016-06-30 2020-07-07 Facebook, Inc. Techniques for replication of a client database to remote devices
US20180004829A1 (en) 2016-06-30 2018-01-04 Facebook, Inc. Techniques for database replication between client devices
US20180375730A1 (en) 2017-06-23 2018-12-27 Infinera Corporation Technique for verification of newtork state after device upgrades
US10341748B2 (en) 2017-07-05 2019-07-02 Infinera Corporation Packet-optical in-band telemetry (POINT) framework

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
KR102010556B1 (ko) * 2018-06-27 2019-10-21 주식회사 한글과컴퓨터 비동기 방식의 액션을 이용하는 웹 전자 문서 편집 장치 및 이의 동작 방법
KR101985905B1 (ko) 2019-03-05 2019-06-04 디지테크정보 주식회사 시스템 연동 방법 및 이를 이용하는 연동형 시스템

Also Published As

Publication number Publication date
US20180097812A1 (en) 2018-04-05
US20170012984A1 (en) 2017-01-12
US10567382B2 (en) 2020-02-18
KR101814369B1 (ko) 2018-01-04
CA3132019A1 (en) 2015-05-14
US10686788B2 (en) 2020-06-16
US20150134600A1 (en) 2015-05-14
EP3069307B1 (en) 2020-01-08
US10257196B2 (en) 2019-04-09
CA3132019C (en) 2022-04-12
US11336648B2 (en) 2022-05-17
US9832195B2 (en) 2017-11-28
JP6800184B2 (ja) 2020-12-16
EP3614276B1 (en) 2023-01-04
CA2930415A1 (en) 2015-05-14
WO2015120327A3 (en) 2015-10-22
JP2019012529A (ja) 2019-01-24
AU2014346473A1 (en) 2016-06-16
CN106170804A (zh) 2016-11-30
EP3069307A1 (en) 2016-09-21
CA2930415C (en) 2021-11-16
AU2014346473B2 (en) 2017-11-30
EP3614276A1 (en) 2020-02-26
JP2017504857A (ja) 2017-02-09
AU2014346473A8 (en) 2016-08-04
EP3069307A4 (en) 2017-11-29
US9449182B1 (en) 2016-09-20
WO2015070174A1 (en) 2015-05-14
WO2015120327A2 (en) 2015-08-13
CN106170804B (zh) 2020-01-07
US20150227514A1 (en) 2015-08-13
US20160315941A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
KR101814369B1 (ko) 문서 관리 및 협업 시스템
US10877953B2 (en) Processing service requests for non-transactional databases
US10747822B2 (en) Remote access control for stored data
US10348718B2 (en) Sharing credentials and other secret data in collaborative environment in a secure manner
US20200226182A1 (en) Forming a document collection in a document management and collaboration system
US10599753B1 (en) Document version control in collaborative environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant