KR20140064846A - 그룹 옵트-인 링크 기법 - Google Patents

그룹 옵트-인 링크 기법 Download PDF

Info

Publication number
KR20140064846A
KR20140064846A KR1020147006159A KR20147006159A KR20140064846A KR 20140064846 A KR20140064846 A KR 20140064846A KR 1020147006159 A KR1020147006159 A KR 1020147006159A KR 20147006159 A KR20147006159 A KR 20147006159A KR 20140064846 A KR20140064846 A KR 20140064846A
Authority
KR
South Korea
Prior art keywords
link
item
shared
group
recipient
Prior art date
Application number
KR1020147006159A
Other languages
English (en)
Inventor
아카다이 지 칸토
조나단 에이 보켈만
제프리 이 스타인복
사라 엠 필만
데이비드 에이 시트론
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20140064846A publication Critical patent/KR20140064846A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

본 명세서에 온라인 저장장치(가령, 클라우드 저장장치)로부터의 아이템을 공유하기 위한 기법이 기재된다. 일부 실시예에서, 공유 링크는 대응하는 공유 아이템에 대한 권한을 갖는 그룹에 가입하기 위한 옵션을 수신자에게 제공하도록 설계된 그룹 옵트-인 링크로서 구성될 수 있다. 다양한 방식으로 수신자에게 배포되도록 아이템으로의 공유 링크가 생성되고 제공될 수 있다. 수신자에 의해 선택될 때 상기 공유 링크에 의해 대응하는 아이템에 대한 권한을 갖는 그룹에 옵트-인하기 위한 옵션이 수신자에게 노출될 수 있다. 그룹 구성원 수가 옵션을 행사한 수신자들에 의해 결정되고 옵트-인한 수신자들은 상기 그룹에 대해 확립된 아이템에 대한 권한을 승인 받는다. 따라서 아이템/그룹의 소유주가 옵트-인한 수신자의 리스트를 구성원으로서 검토할 수 있고, 대응하는 권한을 개인 단위로 관리할 수 있다.

Description

그룹 옵트-인 링크 기법{GROUP OPT-IN LINKS}
웹-기반 콘텐츠 및 서비스의 이용 가능성과 인기가 계속 증가하고 있다. 예를 들어, 사용자들이 콘텐츠 아이템(가령, 문서, 애플리케이션 파일, 사진, 모바일 업로드, 오디오/비디오 파일 등)에 대해 "클라우드 내" 저장장치를 제공하는 온라인 저장장치 서비스를 이용하는 경우가 점점 증가하고 있다. 클라우드 내 저장장치는 사용자가 다양한 유형의 장치(가령, 컴퓨터, 모바일 폰, 태블릿 등)를 이용해 어디에서든 네트워크를 통해 그들의 파일을 액세스하는 것을 편리하게 해줄 수 있다. 부분적으로 이러한 편의성 때문에, 사용자는 또한 자신의 온라인 저장장치로부터의 콘텐츠 아이템을 다른 이들과 공유하려는 방법을 찾을 수 있다.
통상적으로, 그럼에도 온라인 저장장치 서비스는 특히 복수의 사이트, 그룹, 및/또는 개인이 아이템을 공유하려는 경우에 아이템들을 공유하기 위해 제한된 툴을 제공한다. 예를 들어, 사용자는 공유되는 아이템의 각각의 의도된 수신자에게 전자메일(email) 또는 메시지를 개별적으로 구성하거나, 및/또는 공유되는 아이템을 첨부물로서 수동으로 제공해야 할 수 있다. 일부 경우, 사용자는 전자메일을 개별적으로 구성해야 하거나, 심지어 전자메일 또는 또 다른 메시징 시스템을 통해 아이템을 공유할 수 있기 전까지 사용자는 저장된 아이템을 다운로드해야 할 수 있다. 따라서 온라인 저장장치로부터의 아이템을 공유하기 위한 종래의 기법은 꽤 불편할 수 있다.
개요
본 명세서에서 온라인 저장장치(가령, 클라우드 저장장치)로부터의 아이템을 공유하기 위한 기법이 기재된다. 서비스 제공자로부터 이용 가능한 온라인 저장장치에 유지되는 아이템에 대한 공유 링크가 다양한 방식으로 생성되고 배포될 수 있다. 상기 공유 링크는 수신자에게 전송자와 연관된 저장장치로부터 온라인으로 공유된 아이템으로의 액세스를 제공할 수 있다. 상기 전송자는 서로 다른 수신자에게 전송되는 서로 다른 공유 링크와 연관된 권한을 개인별로 관리할 수 있다.
하나 이상의 구현예에서, 공유 링크는 대응하는 공유되는 아이템에 대한 권한을 갖는 그룹에 옵트-인하기 위한 옵션을 수신자에게 제공하도록 설계된 그룹 옵트-인 링크로서 구성될 수 있다. 링크를 얻기 위한 요청에 응답하여, 다양한 방식으로 수신자에게 배포되도록 아이템으로의 공유 링크가 생성되고 사용자에게 제공될 수 있다. 수신자에 의한 링크의 선택이 대응하는 아이템에 대한 권한을 갖는 그룹에 옵트-인하기 위한 옵션을 노출시키도록 상기 공유 링크가 구성된다. 그룹 구성원 수는 그룹 옵트-인 옵션을 행사하는 자들에 의해 결정되며, 옵트-인하는 수신자는 상기 그룹에 대해 확립된 아이템에 대한 권한을 승인 받는다. 따라서 아이템/그룹의 소유주는 옵트-인한 수신자들의 리스트를 볼 수 있고 대응하는 권한을 개인 단위로 관리할 수 있다.
본 요약은 이하의 상세한 설명에서 더 기재될 개념의 선택사항을 단순화된 형태로 소개하기 위해 제공된다. 본 요약은 청구되는 발명의 핵심 특징 또는 필수 특징을 식별하려는 것이 아니며, 청구되는 발명의 범위를 결정하는 데 보조로서 사용될 뿐이다.
상세한 설명이 첨부되는 도면을 참조하여 기재된다. 도면에서, 도면 부호의 최좌측 숫자는 상기 도면 부호가 처음 등장한 도면을 식별한다. 명세서와 도면의 서로 다른 사례에서의 동일한 도면 부호의 사용은 유사하거나 동일한 아이템을 가리킬 수 있다.
도 1은 하나 이상의 실시예에 따라 온라인 저장장치를 위한 공유 링크가 사용될 수 있는 환경을 도시한다.
도 2는 하나 이상의 실시예에 따라 예시적 공유 링크를 도시한다.
도 3은 하나 이상의 실시예에 따라 온라인 저장장치와의 상호대화를 위한 예시적 사용자 인터페이스를 도시한다.
도 4는 서로 다른 게시 타깃을 위해 개별 공유 링크가 생성되는 예시적 절차를 도시한 흐름도이다.
도 5는 하나 이상의 실시예에 따라 공유 링크를 게시하기 위한 예시적 사용자 인터페이스를 도시한다.
도 6은 하나 이상의 실시예에 따라 개별 공유 링크의 관리를 위한 예시적 사용자 인터페이스를 도시한다.
도 7은 공유되는 아이템에 대해 그룹에 가입하기 위한 옵션을 노출시키도록 그룹 옵트-인 링크가 사용되는 예시적 절차를 도시하는 흐름도이다.
도 8은 하나 이상의 실시예에 따르는 그룹 옵트-인 옵션을 구현하기 위해 공유 링크를 얻기 위한 예시적 사용자 인터페이스를 도시한다.
도 9는 하나 이상의 실시예에 따라 그룹에 옵트-인하는 수신자의 관리를 위한 예시적 사용자 인터페이스를 도시한다.
도 10은 공유되는 아이템에 대해 계정을 선택하기 위한 옵션을 노출시키도록 1회용 공유 링크가 사용되는 예시적 절차를 도시하는 흐름도이다.
도 11은 1회용 공유 링크의 선택에 의해 개시될 수 있는 인증 시퀀스에 대한 예시적 절차를 도시하는 흐름도이다.
도 12는 하나 이상의 실시예에 따라 공유되는 아이템을 액세스하도록 사용될 계정을 선택하기 위한 옵션을 구현하도록 공유 링클 전송하기 위한 예시적 사용자 인터페이스를 도시한다.
도 13은 하나 이상의 실시예에 따라 공유된 아이템을 액세스하도록 사용되기 위해 계정을 선택하도록 사용자에게 프롬프트하기 위한 예시적 사용자 인터페이스를 도시한다.
도 14는 하나 이상의 실시예에 따라 온라인 자원을 위한 예시적 복수 장치 환경을 도시한다.
도 15는 하나 이상의 실시예에 따라 예시적 컴퓨팅 시스템을 도시한다.
개관
종래에는, 온라인 저장장치 서비스가 특히 복수의 사이트, 그룹, 및/또는 개인이 아이템을 공유하는 경우 아이템을 공유하기 위해 제한된 툴을 제공했다. 예를 들어, 사용자는 아이템을 메시지에 수동으로 첨부해야 하거나, 및/또는 사용자가 아이템을 수신하기 원하는 복수의 서로 다른 서비스/사이트로 아이템을 게시(publish)해야 할 수 있다. 따라서 온라인 저장장치로부터 아이템을 공유하기 위한 종래의 기법은 불편할 수 있다.
본 명세서에서, 온라인 저장장치(가령, 클라우드 저장장치)로부터 아이템을 공유하기 위한 기법이 기재된다. 한 가지 접근법에서, 복수의 서로 다른 게시 타깃(publish target)에 대해 사용자에게 노출된 단일 게시 사용자 인터페이스를 통해 아이템으로의 개별 공유 링크가 생성될 수 있다. 상기 게시 사용자 인터페이스를 통해, 사용자는 아이템에 대한 공유 링크를 수신하기 위해 서로 다른 소셜 네트워크 및/또는 그 밖의 다른 사이트/타깃의 선택을 갖는 요청을 제출할 수 있다. 요청에 응답하여, 선택된 수신자 각각에 대해 개별 공유 링크가 생성되고 생성된 공유 링크는 적절한 타깃에게 게시된다. 따라서 사용자는 단일 요청을 통해 공유되는 아이템에 대한 링크를 복수의 타깃으로 쉽게 전송할 수 있고, 각각의 개별 공유 링크와 연관된 권한(permission)을 개별적으로 관리할 수 있다.
또 다른 접근법에서, 공유 링크는 대응하는 공유되는 아이템에 대한 권한을 갖는 그룹에 가입하기 위한 옵션을 수신자에게 제공하도록 설계된 그룹 옵트-인 링크(group opt-in link)로서 구성될 수 있다. 아이템의 소유주는 그룹 옵트-인 링크를 공개적으로(publicly) 배포할 수 있으며, 그룹 크기 또는 개별 구성원을 지정할 필요가 없다. 링크의 수신자는 그룹에 가입할지 또는 안 할지를 선택할 수 있다. 상기 그룹 옵트-인은 그룹에 가입하기 위한 제한된 액세스를 제공할 수 있고, 그 후 그룹에 가입하는 구성원은 공유되는 아이템에 대한 향상된 권한을 획득할 수 있다. 아이템의 소유주는 옵트-인한 개인을 볼 수 있고, 대응하는 권한을 개인 단위로 관리할 수 있다.
또 다른 접근법에서, 공유 링크는 다음 번 아이템 액세스를 위해 계정을 선택 또는 사용자에게 등록하기 위한 목적으로 수신자에게 공유되는 아이템에 대한 제한된 1회용 액세스를 제공하는 제한된 1회용 공유 링크(one-time sharing link)로서 구성될 수 있다. 상기 아이템의 소유주/공유자는 1회용 공유 링크를 전송하기 위한 임의의 이용 가능한 연락처 정보를 사용할 수 있다. 그 후 수신자는 링크를 이용하여 수신자가 공유되는 아이템을 액세스하는 데 사용하기를 원하는 계정을 선택할 수 있다. 상기 소유주/공유자는 선택된 계정으로 링크를 전송하거나 심지어 계정에 대한 연락처 정보를 가질 필요도 없다. 1회용 공유 링크가 계정을 선택하도록 상환(redeem)되면, 상기 링크는 아이템에 대한 향상된 권한을 획득하기 위한 다음 번 액세스에 대해 무효화될 수 있다.
다음의 기재에서, 본 명세서에서 기재되는 기법을 채용할 수 있는 예시적 동작 환경이 먼저 기술된다. 예시적 동작 환경에 대한 설명은 온라인 저장장치와의 상호대화를 촉진시키기 위한 예시적 사용자 인터페이스에 대한 설명을 포함한다. 그 후, 예시적 환경 및 그 밖의 다른 환경에서 구현될 수 있는 예시적 세부사항 및 기법이 기술된다. 결과적으로, 기법의 수행은 예시적 환경에 한정되지 않고 예시적 환경은 예시적 기법의 성능에 한정되지 않는다. 마지막으로, 하나 이상의 실시예를 구현하도록 사용될 수 있는 예시적 시스템 및 장치가 기술된다.
예시적 동작 환경
도 1은 본 명세서에 기술된 기법을 채용하도록 동작 가능한 예시적 구현예에서의 환경(100)을 도시한다. 도시된 환경(100)은 클라이언트 장치(102), 또 다른 클라이언트 장치(104), 서비스 제공자(106), 및 네트워크(110)를 통해 통신 가능하게 연결된 소셜 네트워크 서비스(108)를 포함한다. 클라이언트 장치(102), 그 밖의 다른 클라이언트 장치(104), 서비스 제공자(106), 및 소셜 네트워크 서비스(108)는 하나 이상의 컴퓨팅 장치에 의해 구현될 수 있고 하나 이상의 개체를 대표할 수 있다. 상기 소셜 네트워크 서비스(108)는 추가/향상된 경험 및 서비스를 사용자에게 제공하기 위해 서비스 제공자(106)와 함께 동작할 수 있는 다양한 외부 웹 서비스/사이트(가령, 파트너 사이트)를 대표한다. 적어도 일부 실시예에서, 이는 사용자 계정을 서비스 제공자(106) 내지 외부 웹 서비스/사이트와 대응하는 계정과 링크하거나 그 밖의 다른 방식으로 연관시킴으로써, 이뤄진다.
컴퓨팅 장치가 다양한 방식으로 구성될 수 있다. 예를 들어, 컴퓨팅 장치는 네트워크(110)를 통해 통신할 수 있는 컴퓨터, 가령, 데스크톱 컴퓨터, 모바일 스테이션, 엔터테인먼트 기기, 디스플레이 장치와 통신 가능하게 연결된 셋-톱 박스, 무선 전화기, 게임 콘솔, 등으로서 구성될 수 있다. 따라서 컴퓨팅 장치는 상당한 메모리와 프로세서 자원을 갖는 완전 자원 장치(full resource device)(가령, 개인 컴퓨터, 게임 콘솔)에서, 제한된 메모리 및/또는 프로세싱 자원을 갖는 저-자원 장치(가령, 전통적인 셋-톱 박스, 핸드-헬드 게임 콘솔)까지 다양할 수 있다. 덧붙여, 일부 경우 단일 컴퓨팅 장치가 나타나더라도, 컴퓨팅 장치는 복수의 서로 다른 장치, 작업을 수행하기 위해 사업체에 의해, 가령, 서비스 제공자(106) 및/또는 소셜 네트워크 서비스(108) 등에 의해 사용되는 복수의 서버를 대표할 수 있다.
네트워크(110)가 인터넷으로 도시되었지만, 상기 네트워크는 다양한 구성으로 가정할 수 있다. 예를 들어, 네트워크(110)는 광역 네트워크(WAN: wide area network), 로컬 영역 네트워크(LAN: local area network), 무선 네트워크, 공공 전화 네트워크, 인트라넷 등을 포함할 수 있다. 덧붙여, 단일 네트워크(110)가 도시되지만, 상기 네트워크(110)는 복수의 네트워크를 포함하도록 구성될 수 있다.
클라이언트 장치(102)는 운영 체제(112)를 포함하는 것을 더 도시된다. 상기 운영 체제(112)는 기저 장치의 기저 기능을 클라이언트 장치(102) 상에서 실행 가능한 애플리케이션(114)으로 추상화하도록 구성된다. 예를 들어, 이러한 기저 기능이 "어떻게" 구현되는지를 알지 않고 애플리케이션(114)이 써질 수 있도록 운영 체제(112)는 프로세싱, 메모리, 네트워크, 및/또는 디스플레이 기능을 추상화할 수 있다. 예를 들어, 상기 애플리케이션(114)은 렌더링이 어떻게 수행될지에 대한 이해하지 않고, 도시된 디스플레이 장치에 의해 렌더링되고 디스플레이될 데이터를 운영 체제(112)로 제공할 수 있다.
또한 클라이언트 장치(102)가 통신 모듈(116)을 포함하는 것이 도시된다. 상기 통신 모듈(116)은 네트워크(110)를 통한 다양한 통신을 가능하게 하는 기능부를 나타낸다. 예를 들어, 통신 모듈(116)은 브라우저 또는 서비스 제공자(106)로부터 네트워크(110)를 통해 웹페이지 및/또는 그 밖의 다른 사용자 인터페이스를 획득 및 출력하기 위한 그 밖의 다른 적합한 애플리케이션으로서 구현될 수 있다. 상기 통신 모듈(116)은 또한 서비스 제공자(102)로부터 하나 이상의 자원을 획득하도록 사용되는 또 다른 애플리케이션의 구성요소를 나타낼 수 있다.
서비스 제공자(106)는, 네트워크(108)를 통해 이용 가능해 질 수 있는 다양한 자원(120)을 관리하기 위해 서비스 제공자(106)에 의해 동작 가능한 기능부를 나타내는 자원 관리자(118)를 저장하는 것으로 도시된다. 예를 들어, 웹페이지 또는 하나 이상의 클라이언트에 의해 통신 모듈(116) 또는 그 밖의 다른 클라이언트 애플리케이션을 통해 출력되도록 네트워크를 통해 통신되는 그 밖의 다른 사용자 인터페이스(122)를 통해 다양한 자원(120)이 제공될 수 있다. 상기 자원 관리자(18)는 자원(120)으로의 액세스, 자원의 성능, 및 자원(120)을 제공하기 위한 사용자 인터페이스(122)의 구성 등을 관리할 수 있다. 상기 서비스 제공자(106)는 다양한 자원(120)을 제공하도록 사용되는 하나 이상의 서버 장치를 나타낼 수 있다.
일반적으로, 서비스 제공자(106)에 의해 액세스 가능하게 된 자원(120)은 하나 이상의 제공자에 의해 네트워크를 통해 일반적으로 이용 가능해지는 서비스 및/또는 콘텐츠의 임의의 적합한 조합을 포함할 수 있다. 서비스의 비-제한적인 일부 예시로는 검색 서비스, 전자메일 서비스, 즉석 메시징(instant messaging) 서비스, 온라인 생산성 제품군(online productivity suite), 및 자원(120)으로의 클라이언트의 액세스를 제어하기 위한 인증 서비스가 있다. 콘텐츠는 텍스트, 멀티-미디어 스트림, 문서, 애플리케이션 파일, 사진, 오디오/비디오 파일 애니메이션, 이미지, 웹 페이지, 웹 애플리케이션, 장치 애플리케이션, 브라우저 또는 그 밖의 다른 클라이언트 애플리케이션에 의해 디스플레이될 콘텐츠 등의 다양한 조합을 포함할 수 있다.
서비스 제공자(106)에 의해 제공될 수 있는 자원(120)의 특정 예시가 도 1에 도시된 협업 서비스(collaboration service)(124)이다. 협업 서비스(124)는 서비스 제공자(106)와 연관된 사용자 계정에 할당될 수 있는 온라인 저장장치(126)를 제공하고 관리하도록 동작하는 기능부를 나타낸다. 상기 온라인 저장장치(!26)는 사용자에게 콘텐츠 아이템, 가령, 문서, 애플리케이션 파일, 사진, 모바일 업로드, 및 오디오/비디오 파일에 대한 "클라우드(cloud) 내에" 저장장치를 제공함으로써, 사용자는 네트워크(110)를 통해 어디에서든 자신의 콘텐츠 아이템을 액세스하고 콘텐츠를 다른 이들과의 협업을 위해 공유할 수 있다. 상기 협업 서비스(124)에 의해 사용자는 다양한 방식으로 특정 콘텐츠 아이템에 대해 생성되고 배포될 수 있는 공유 링크(128)를 통해 다른 개인 및/또는 그룹과 파일을 공유할 수 있다. 상기 공유 링크(128)는 누가 대응하는 콘텐츠 아이템을 보거나(view), 편집하거나(edit), 그 밖의 다른 방식으로 상호대화할 수 있는지를 제어하도록 설정될 수 있는 권한(permission)을 구현하도록 구성되며, 이는 도 2와 관련하여 더 상세히 설명된다.
클라이언트는 도 1의 클라이언트 계정 데이터(130)에 의해 나타내어지는 사용자 계정을 통해 서비스 제공자(106)에 의해 제공되는 협업 서비스(124) 및 그 밖의 다른 자원(120)을 액세스할 수 있다. 상기 클라이언트 계정 데이터(130)는 계정 식별자, 자격증명(credential), 액세스 권한, 프로파일 데이터 및 일반적으로 사용자 계정과 연관된 그 밖의 다른 데이터를 포함할 수 있다. 자원 관리자(118)는 협업 서비스(124)를 포함해 다양한 자원(120)을 액세스하는 클라이언트를 인증하도록 동작 가능한 인증 서비스(authentication service)를 구현 또는 그 밖의 다른 방식으로 사용할 수 있다. 상기 인증 서비스는 서비스 제공자(106)의 하나의 구성요소로서, 또는 자립형 서비스(standalone service)로서, 또는 제3자 제공자에 의해, 또는 그 밖의 다른 방식으로 제공될 수 있다. 자원(120)을 액세스하기 위해, 클라이언트 장치(104)는 인증 서비스에 의해 인증되는 사용자명(username) 및 비밀번호(password)를 제공할 수 있다. 인증이 성공적일 때(가령, 클라이언트가 "자신이 주장하는 사람인 경우"), 상기 인증 서비스는 대응하는 자원으로의 액세스를 가능하게 하는 토큰(token)을 전달할 수 있다. 단일 인증은 하나 이상의 자원에 대응할 수 있어서, "싱글 사인-온(single sign-on)"에 의한 단일 계정으로의 인증이 개별 자원, 복수의 서비스 제공자(106)로부터의 자원, 및/또는 서비스 제공자(106)로부터의 이용 가능한 자원의 전체 제품군으로의 액세스를 제공할 수 있다.
도 2는 하나 이상의 실시예에 따르는 공유 링크(128)의 예시적 구현예(200)를 보여주는 다이어그램이다. 이 예시에서, 공유 링크(128)는 공유 키(204)와 연관된 내비게이션 경로(navigation path)(202)를 포함하도록 구성된다. 상기 내비게이션 경로(202)는 대응하는 콘텐츠 아이템으로 내비게이팅하도록 사용될 수 있는 경로를 제공한다. 예를 들어, 내비게이션 경로(202)는 선택될 때 애플리케이션, 가령, 브라우저가 자원이 이용 가능한 위치로 내비게이팅하도록 하는 URI(uniform resource identifier)로서 구성될 수 있다. 상기 공유 키(sharing key)(204)는 동일한 자원으로의 서로 다른 구별되는 공유 링크(128)을 만들기 위해 사용될 수 있는 키, 토큰, 또는 그 밖의 다른 공유되는 시크릿으로서 구성된다. 따라서 상기 공유 키(204)는 특정한, 대응하는 공유 링크(128)를 고유하게 식별하고 공유 링크들을 구별하도록 사용될 수 있다.
덧붙이자면, 공유 링크(128)는 대응하는 아이템에 대한 권한을 정의 또는 참조하는 데이터를 인코딩할 수 있다. 상기 권한은 콘텐츠 아이템에 대한 액세스 레벨 및 이에 대응하는 액션을 지정한다. 예를 들어, 추가 액션, 가령, 읽기 전용(read-only), 인쇄하기(print), 게시하기(publish), 보기(view), 편집하기(edit), 1회용 액세스하기, 이동시키기, 및/또는 복사하기 등을 수행할 수 있도록 제어하기 위해 서로 다른 액세스 레벨이 확립될 수 있다. 하나의 접근법에서, 서비스 제공자(106)는 공유 키(204)를 콘텐츠 아이템에 대한 대응하는 권한에 매칭시키도록 테이블 또는 그 밖의 다른 데이터베이스를 유지한다. 이러한 권한 데이터는 온라인 저장장치(126)에 대한 파일 구조의 일부로서 개별 파일들과 함께 유지될 수 있다. 이는 공유 키(204)에 의해 참조되거나 그 밖의 다른 방식으로 공유 키에 매핑(map)될 수 있는 액세스 제어 리스트(ACL: access control list)를 유지하는 것을 포함할 수 있다. 추가적으로 또는 대안적으로, 액세스 파라미터 또는 대응하는 권한 레벨을 나타내는 그 밖의 다른 적합한 필드를 이용해 권한이 공유 링크 내에서 직접 인코딩될 수 있다. 협업 서비스(124)는 공유 링크(128) 내 액세스 파라미터를 참조하고 해석하며, 공유 링크(128)가 아이템으로의 액세스를 획득하도록 사용될 때 대응하는 권한을 이행하도록 구성될 수 있다.
도 3은 하나 이상의 실시예에 따라 온라인 저장장치와의 상호대화를 가능하게 하도록 하는 하나 이상의 부분을 포함하는 예시적 사용자 인터페이스(122)를 나타내는 다이어그램(300)을 도시한다. 이 예시에서의 상기 사용자 인터페이스(122)는 통신 모듈(116)에 의해 제공될 수 있는 사용자 인터페이스(302) 내에 포함되는 것으로 도시된다. 예를 들어, 통신 모듈(116)은 사용자 인터페이스(302)를 노출시켜 하나 이상의 서비스 제공자(106) 및 이에 대응하는 자원(120)과의 상호대화를 가능하게 하도록 동작 가능한 브라우저로서 구성될 수 있다. 예를 들어 사용자 인터페이스(122)는 앞서 기재된 바와 같이 협업 서비스(124)를 통해 구성 및 제공될 수 있다.
온라인 저장장치와의 상호대화를 제공하기 위해, 사용자 인터페이스(122)는 사용자/예정과 연관하여 "클라우드 내에" 저장된 콘텐츠 아이템의 내비게이션, 보기, 및 관리를 가능하게 하는 파일 관리 부분(file management portion)(304)을 노출시킬 수 있다. 파일 관리 부분(304)은 온라인 저장장치와의 상호대화를 가능하게 하는 임의의 적합한 방식으로 구성될 수 있으며, 가령, 가령, 리스트로 콘텐츠 아이템을 표현하기, 저장된 아이템에 대해 서로 다른 아이콘 또는 타일을 보여주기, 미리보기 창을 이용하기 등이 있다. 도시된 예에서, 파일 관리 부분(304)은 사인-인된 사용자 "Robyn"에 대한 "내 파일"로서 나타난다. 콘텐츠 아이템의 리스트는 협업 서비스(124)를 통해 그녀의 온라인 저장장치(126)로부터의 Robyn에 의해 이용 가능한 파일, 가령, 문서, 폴더, 사진, 및 앞서 언급된 그 밖의 다른 유형의 콘텐츠를 나타낸다. 콘텐츠 아이템의 리스트는 개별 파일 및 폴더에 대한 명칭뿐 아니라 각각의 아이템과 연관된 기본 정보, 가령, 도 3에 도시된 데이터 및 공유 컬럼(sharing column)까지 나타낸다.
선택된 아이템에 관한 더 상세한 정보를 제공하도록 구성될 수 있는 아이템 상세사항 부분(item details portion)(306)이 또한 도시되며, 이 예시에서, 콘텐츠 아이템의 리스트로부터 선택된 "Reunion" 폴더에 대한 상세사항을 제공한다. 덧붙여, 사용자 인터페이스(122)는 콘텐츠 아이템에 대한 공유 옵션을 검토 및 관리하기 위한 기능부를 나타내는 공유 부분(308)을 포함한다. 이 예시에서, 공유 부분(308)은 아이템 상세사항 부분(306)의 일부분으로서 포함된다. 또는, 공유 부분(308)은 사용자 인터페이스(122)에서 노출되는 링크, 메뉴 아이템, 또는 그 밖의 다른 내비게이션 수단을 통해 액세스 가능한 개별 부분 또는 심지어 개별 페이지로서 제공될 수 있다. 공유 부분(308)은 선택된 아이템을 공유하기 위한 다양한 옵션을 제공하도록 구성된다. 이는 공유 링크(128)를 생성하는 것, 아이템에 대한 권한을 보고 설정하는 것, 소셜 네트워크 서비스(108) 또는 그 밖의 다른 외부 웹 서비스/사이트로의 링크를 게시하는 것, 다양한 메시징 시스템을 이용해 링크를 배포하는 것 등을 포함할 수 있다.
따라서 사용자 인터페이스(122), 가령, 바로 위에서 기술된 예시는 온라인 저장장치(126)를 액세스 및/또는 아이템을 공유하기 위한 다양한 상호대화를 촉진시키도록 사용될 수 있다. 본 명세서에 기재된 공유 링크 기법에 따르면, 서로 다른 게시 타깃에 대해 콘텐츠 아이템으로의 개별 링크가 생성될 수 있다. 덧붙여, 대응하는 공유 링크(128)를 통해 무작위 그룹(arbitrary group)에게 링크가 공유될 수 있다. 이 경우, 공유 링크(128)는 수신자가 상기 아이템에 대한 권한을 갖는 그룹에 옵트-인하기 위한 옵션을 노출시키도록 구성된다. 따라서 수신자는 아이템에 대한 완전한 권한을 획득하기 전에 명시적으로 그룹에 옵트-인한다. 또 다른 예에서, 링크의 수신자는 공유되는 아이템을 액세스하기 위해 사용될 특정 계정을 선택할 수 있다. 이는 아이템을 액세스하도록 상환될 수 있고 공유되는 아이템으로의 차후의 액세스에 대해 선택된 계정을 연관시킬 수 있는 1회용 링크를 통해 발생할 수 있다. 이들 예시 각각에 관한 추가 상세사항은 이하의 서로 다른 섹션 "게시 타깃에 대한 개별 링크", "그룹 옵트-인 링크", 및 "공유되는 아이템 계정 선택"에서 설명된다.
따라서 온라인 저장장치와의 상호대화를 위한 예시적 동작 환경과 예시적 사용자 인터페이스에 대한 지금까지의 기재를 고려했고, 지금부터 하나 이상의 실시예에 따르는 공유 링크를 이용하기 위한 기법과 관련된 상세사항을 고려할 수 있다.
게시 타깃에 대한 개별 링크
이 섹션은 공유 링크(128)를 서로 다른 선택된 게시 타깃으로 게시하기 위한 기법을 기술한다. 다음의 기재의 일부분에서, 도 1의 예시적 환경(100)과 도 3의 예시적 사용자 인터페이스가 참조될 것이다. 일반적으로 말하자면, 사용자는 협업 서비스(124)를 통해 연관된 온라인 저장장치(126)를 액세스할 수 있다. 사용자는 공유할 아이템뿐 아니라 상기 아이템으로의 링크를 수신할 타깃 수신자까지 선택할 수 있다. 아이템을 공유하기 위한 사용자 액션에 의해, 협업 서비스(124)가 상기 아이템으로의 하나 이상의 공유 링크(128)를 생성할 수 있다. 하나의 접근법에서, 협업 서비스(124)는 사용자에 의해 선택된 복수의 서로 다른 게시 타깃을 위해 동일한 아이템으로의 개별 링크를 생성할 수 있다. 따라서 서로 다른 권한이 상기 개별 링크와 연관될 수 있고, 상기 개별 링크는 개별적으로 제공되고 관리될 수 있다. 바로 이하에서, 예시적 절차가 설명되고, 뒤 이어, 개별 링크와 관련된 추가 상세사항을 나타내는 일부 예시적 사용자 인터페이스가 설명된다.
도 4는 서로 다른 게시 타깃에 대해 개별 링크가 생성되는 예시적 구현예에서의 절차(400)를 도시한다. 본 명세서에 기재된 절차 각각의 양태가 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 상기 절차는 하나 이상의 장치에 의해 수행되는 동작을 특정하는 블록들의 세트로 나타나며 각각의 블록에 의한 동작을 수행하기 위해 나타난 순서로 한정될 필요는 없다.
사용자 계정과 연관된 온라인 저장장치로부터의 아이템을 공유하도록 선택된 게시 타깃에 대해 개별 링크를 생성하기 위한 요청이 획득된다(블록(402)). 예를 들어, 사용자와 연관된 온라인 저장장치(126)와의 상호대화를 위한 클라이언트 장치(102)에서 출력되는 사용자 인터페이스(122)를 통해 요청이 형성될 수 있다. 사용자 인터페이스(122)를 통해, 공유할 아이템뿐 아니라 서로 다른 타깃까지 선택될 수 있다. 이는, 사용자 인터페이스(122)의 일부로서 제공되는 게시 제어 또는 페이지 링크를 통해 이뤄질 수 있다. 타깃의 적어도 일부는 사용자가 선택된 아이템에 대한 링크를 게시하기 원하는 소셜 네트워크 서비스 또는 그 밖의 다른 파트너 사이트일 수 있다.
상기 요청은 선택된 아이템 및 타깃을 기술하는 정보를 인코딩하기 위한 임의의 적합한 방식으로 포맷팅될 수 있다. 예를 들어, 요청은 JavaScript, XML, HTML 및/또는 스크립팅 언어를 이용한 HTTP(hyper-text transfer protocol) 요청으로서 구성될 수 있다. 상기 요청은 서비스 제공자(106)에 의해 취급되도록 아이템 및 타깃을 제출(submit)하기 위해 사용되는 변수, 파라미터, 및/또는 그 밖의 다른 적합한 식별자를 포함할 수 있다. 따라서 상기 요청은 임의의 방식으로 사용자 선택을 인코딩하도록 포맷팅되고, 그 후 제출될 수 있음으로써, 클라이언트 장치(102)는 상기 요청을 서비스 제공자(106)에게로 전달할 수 있다. 한 가지 예를 들면, 서비스 제공자(106)에 의해 구현되는 협업 서비스(124)가 요청을 획득하고, 대응하는 공유 링크(128)를 생성하도록 상기 요청을 처리하도록 구성된다. 적어도 일부 실시예에서, 협업 서비스(124)는 공유 링크(128)의 생성을 개시하기 위해, 웹페이지 또는 그 밖의 다른 사용자 인터페이스(122) 내 스크립트를 통해 요청에 의해 호출될 수 있는 애플리케이션 프로그래밍 인터페이스(API)를 노출시킬 수 있다. 추가적으로 또는 대안적으로, 본 명세서에 기재된 공유 링크와 관련된 기법을 구현하기 위해, 클라이언트 장치(102)와 서비스 제공자(106) 간의 요청/응답을 전달하기에 적합한 임의의 클라이언트-서버 아키텍처 및/또는 통신 프로토콜이 채용될 수 있다.
구체적으로, 선택된 게시 타깃을 식별하기 위해 상기 요청은 파싱된다(블록(404)). 예를 들어, 협업 서비스(124)가 요청을 해석(interpret)하고 상기 요청 내에 포함된 정보를 추출하여 선택된 게시 타깃을 식별할 수 있다. 상기 협업 서비스(124)는 요청으로부터, 게시 타깃과 공유될 특정 아이템의 식별자를 획득한다. 이 정보는 앞서 기재된 바와 같이 협업 서비스(124)가 공유 링크(128)를 구성하는 것을 가능하게 한다.
예를 들어, 식별된 각각의 게시 타깃에 대해 개별 공유 링크가 생성되고(블록(406)), 생성된 공유 링크가 아이템에 대한 권한에 추가된다(블록(408)). 여기서, 협업 서비스(124)가 식별된 타깃 각각에 대해 서로 다른 링크를 구성한다. 앞서 언급된 바와 같이, 각각의 링크는 아이템으로의 내비게이션 경로(202) 및 공유 키(sharing key)(204)를 포함할 수 있다. 아이템으로의 내비게이션 경로(202)는 링크 각각에 대해 동일할 수 있다. 그럼에도, 상기 공유 키(204)는 각각의 링크 및 대응하는 타깃에 대해 서로 다른 고유 식별자로서 생성될 수 있다. 하나의 예를 들면, 공유 키(204)는 링크 각각에 대해 서로 다른 토큰으로 구성된다.
또한 공유되는 아이템에 대한 권한이 생성되는 공유 링크 내에 인코딩될 수 있다. 앞서 언급된 바와 같이, 토큰 또는 그 밖의 다른 공유 키(204)는 권한을 정의하는 ACL을 이용해 아이템에 대한 권한으로 매핑될 수 있다. 따라서 권한을 인코딩하기 위해, 생성된 공유 링크 각각에 대해 지정된 각자의 권한을 반영하도록 협업 서비스(124)가 ACL을 업데이트할 수 있다. 이 기법을 이용해, 시스템은 공유 링크에 대해, 상기 공유 링크의 수신자(들)에게 명백하거나 명백하지 않을 수 있는 권한의 매핑을 저장할 수 있다. 또 다른 접근법에서, 대응하는 링크가 상기 링크의 수신자/사용자에게 승인(grant)되는 권한을 지정하기 위해 공유 키(204) 자체가 사용될 수 있다. 이 경우, 대응하는 권한을 결정 및 이행하기 위해 링크가 사용될 때 공유 키(204)를 해석하기 위해 협업 서비스(124)가 구성될 수 있다.
상기 공유 링크가 게시 타깃으로 게시된다(블록(410)). 예를 들어, 협업 서비스(124)는, 링크를 만드는 것에 추가로, 링크를 다양한 파트너 사이트로 게시하도록 구성될 수 있다. 이러한 파트너 사이트는 정보를 사용자 계정으로 게시하도록 호출(invoke)될 수 있는 네트워크 액세스 가능한 애플리케이션 프로그래밍 인터페이스(API)를 노출시킬 수 있다. 예를 들어, 콘텐츠를 소셜 네트워크 서비스(108)로 포스팅하기 위해 포스트 링크(post link) 또는 포스트 픽처(post picture) API가 제공될 수 있다. 협업 서비스(124)는 가령, API 또는 그 밖의 다른 방식으로 서로 다른 지원되는 파트너 사이트에 의해 지정된 적절한 포맷으로 콜을 형성하도록 구성될 수 있다. 이는 협업 서비스(124)의 사용자가 아이템 및 게시 타깃을 선택하고, 단일 요청을 제출하면, 적절한 링크를 생성하고 상기 링크를 대응하는 게시 타깃에게 포스팅하도록 협업 서비스(124)에게 핸들링을 넘기도록 상호대화할 수 있다. 따라서 사용자는 개별 생성을 피할 수 있고 서로 다른 타깃으로 링크를 수동으로 포스팅할 수 있다.
온라인 저장장치를 보고 관리하기 위한 사용자 인터페이스에 아이템과 연관되어 개별 공유 링크의 표현이 제공되고(블록(412)) 게시 타깃 각각과 연관된 개별 공유 링크의 개별 관리가 가능해 진다(블록(414)). 서로 다른 타깃에 대해 개별 공유 링크가 생성되기 때문에, 링크들은 서로 개별적으로 사용되고 관리될 수 있다. 따라서 협업 서비스(124)가 저장된 아이템을 검토하고 관리하기 위해 제공되는 사용자 인터페이스 내에 하나의 아이템에 대해 개별 공유 링크를 개별적으로 나타낼 수 있다. 예를 들어, 도 3과 관련하여 언급된 사용자 인터페이스(122)의 공유 부분(308)을 통해 서로 다른 공유 링크가 나열될 수 있다. 이러한 방식으로, 사용자는 특정 아이템에 대해 생성된 링크 각각을 검토하고 연관된 권한을 볼 수 있다. 덧붙여, 협업 서비스(124)는 하나의 아이템에 대한 개별 링크를 개별적으로 관리하기 위해 다양한 옵션을 제공하도록 구성된다. 이는, 액션, 가령, 서로 다른 링크에 대해 권한을 개별적으로 연관시키고 변경하는 것, 하나 이상의 링크를 제거하는 (가령, 링크를 게시해제(un-publish)하는 것) 및/또는 아이템에 대한 다른 링크에 영향을 주지 않으면서 링크를 무효화하는 것을 포함하지만, 이에 국한되는 것은 아니다. 개별 링크를 생성, 이용, 및 관리하는 것과 관련된 추가적인 상세사항이 도 5 및 6의 예시적 사용자 인터페이스와 관련해 제공된다.
도 5는 바로 앞서 설명된 바와 같이 선택된 타깃으로 링크를 게시하도록 사용될 수 있는 예시적 사용자 인터페이스(122)를 보여주는 다이어그램(500)을 도시한다. 이 예시에서의 사용자 인터페이스(122)는 통신 모듈(116)에 의해 제공될 수 있는 사용자 인터페이스(502) 내에 포함되는 것으로 도시된다. 예를 들어, 통신 모듈(116)은 하나 이상의 서비스 제공자(106) 및 이에 대응하는 자원(120)과의 상호대화를 가능하게 하기 위해 사용자 인터페이스(502)를 노출시키도록 동작 가능한 브라우저로서 구성될 수 있다. 또는, 개별 캡, 팝-업 다이얼로그 상자, 페이지의 확장 가능한 부분을 이용하거나 그 밖의 다른 방식으로 인터페이스(502)가 제공될 수 있다.
적어도 일부 실시예에서, 도 3의 예시적 사용자 인터페이스에서 제공된 링크, 메뉴 아이템, 또는 그 밖의 다른 내비게이션 컨트롤의 선택에 의해 인터페이스(502)가 액세스 가능할 수 있다. 예를 들어, 도 5에 도시된 예시적 인터페이스는 도 3의 공유 부분(308) 내에 나타나는 "링크 게시하기(Publish a Link)" 객체의 선택에 응답하여 표시될 수 있다. 따라서 도 3 및 5의 예시에서의 서로 다른 인터페이스가 협업 서비스(124)를 통해 이용 가능한 서로 다른 페이지를 나타낼 수 있다.
여기서, 예시적 사용자 인터페이스(122)가 도 3의 "Reunion" 폴더에 대해 개별 공유 링크(128)를 생성하도록 동작 가능하다. 사용자에 의한 임의의 적합한 방식으로의 게시 타깃의 선택의 입력을 가능하게 하도록 타깃 선택 부분(504)이 제공될 수 있다. 도시된 예시에서, 서로 다른 타깃을 선택/선택해제(select/deselect)하기 위해 체크 박스와 함께 가용 타깃의 리스트가 표시된다. 상기 리스트는 사용자의 계정과 사전 연관(pre-associate)된 타깃을 나타낼 수 있다. 또 다른 선택 컨트롤, 가령, 드롭 다운 박스, 검색 툴, 리스트 박스, 및/또는 선택의 입력을 가능하게 하는 그 밖의 다른 선택 툴이 또한 구현될 수 있다. 덧붙여, 사용자가 또 다른 네트워크/사이트를 명시적으로 검색 및/또는 게시 타깃으로 추가하기 위해 추가 컨트롤(506)이 제공될 수 있다. 개별 링크가 제공되는 게시 타깃은 또한 개별 사람 또는 연락처도 포함할 수 있다. 추가되면, 사이트/네트워크/개인은 차후의 게시 동작에서 사전 연관된 옵션으로서 자동으로 나타날 수 있다.
도 5의 예시적 사용자 인터페이스(122)는 메시지 입력 부분(508), 권한 부분(510), 및 게시 컨트롤(512)을 더 포함한다. 상기 메시지 입력 부분(508)에 의해, 게시된 링크를 동반하기 위한 선택사항적 기술어(description) 또는 메시지의 입력이 가능해진다. 상기 권한 부분(510)은 권한의 선택이 생성된 링크와 연관되도록 한다. 예를 들어, 권한 부분(510)은 사용자가 생성된 링크가 대응하는 아이템을 보거나, 편집하거나, 이동시키거나, 및/또는 관리자 권리(admin right)를 승인하도록 사용될 수 있는지 여부를 선택하도록 할 수 있다. 도시된 예시에서, 권한 부분(510)은 선택된 게시 타깃 각각에게 전역적으로(globally) 적용되도록 구성된다. 또 다른 접근법에서, 서로 다른 링크에 대한 서로 다른 권한의 선택을 가능하게 하도록 개별 권한 부분(510)이 타깃 각각과 연관될 수 있다. 다시 말하면, 다양한 선택 컨트롤, 가령, 체크 박스, 리스트 박스, 드롭 다운 박스, 검색 툴, 및 그 밖의 다른 일반적인 선택 툴이 권한 부분(510)을 구현하도록 사용될 수 있다. 앞서 언급된 바와 같이, 게시 컨트롤(512)은 선택될 때 예시적 인터페이스를 통해 만들어진 선택을 갖는 요청이 서비스 제공자(106) 및/또는 협업 서비스에 의해 취급되도록 제출될 수 있게 한다.
도 6은 개별 링크의 검토 및 관리를 위한 공유 부분을 도시하는 다이어그램(600)을 도시한다. 특히, 도 3의 아이템 상세사항 부분(306)은 "Reunion 폴더"에 대해 개별 링크가 생성되고 페이지가 리프레시된 후 나타난다. 이제, 공유 부분(308)은 도 4의 절차(400)에 따라 생성된 개별 링크의 리스트(602)를 포함하도록 재구성되었다. 특정 아이템에 대해 게시된 개별 링크 각각의 표현이 대응하는 권한 컨트롤(604)과 함께 제공된다. 상기 권한 컨트롤(604)은 사용자가 개별 링크와 연관된 권한을 개별적으로 보고 관리할 수 있게 한다. 예를 들어, 상기 권한 컨트롤(604)은 개별 링크에 대한 액세스 레벨(가령, 보기, 편집하기, 이동시키기, 복사하기, 인쇄하기, 관리하기 등)을 선택하도록 동작 가능한 리스트 박스로서 나타난다. 덧붙여, 권한 컨트롤(604)은 개인 단위로 링크의 무효화/제거를 가능하게 할 수 있다. 권한 컨트롤(604)을 제공하는 것에 추가로 또는 이를 대신하여, 편집 권한 제어(edit permission control)(606)가 포함될 수 있다. 상기 편집 권한 제어(606)는 특정 아이템에 대해 권한을 검토 및 관리하기 위한 다양한 툴 및 옵션을 노출시키는 권한 페이지로 내비게이팅하도록 선택될 수 있다.
그룹 옵트 -인 링크
이 섹션은 아이템에 대한 권한을 갖는 그룹에 옵트-인하기 위한 옵션을 제공하도록 구성된 링크(128)를 공유하기 위한 기법을 기술한다. 이하의 기재의 일부분에서, 도 1의 예시적 환경 및 도 3의 예시적 사용자 인터페이스에 대한 참조가 이뤄질 것이다. 일반적으로 말하자면, 사용자는 협업 서비스(124)를 통해 연관된 온라인 저장장치(126)를 액세스할 수 있다. 상기 사용자는 협업 서비스(124)가 아이템을 공유하기 위한 링크를 제공하도록 하는 링크 옵션 얻기를 선택할 수 있다. 그 후 사용자는 다양한 방식으로 복사 및/또는 배포할 액션을 취할 수 있다. 한 가지 접근법에서, 협업 서비스(124)는, 링크의 선택에 의해 옵션이 노출되어 대응하는 아이템에 대한 권한을 가진 그룹에 가입할 수 있게 하도록 링크를 구성한다. 상기 그룹은 반드시 사전 결정될 필요는 없으며, 링크의 수신자들은 대응하는 그룹에 명시적으로 옵트-인하기 전까지 아이템에 대해 제한된 액세스를 제한적으로 승인 받거나 전혀 승인 받지 않을 수 있다. 그룹 구성원 수(membership)는 그룹 옵트-인 옵션을 실행하는 자들에 의해 결정된다. 옵트-인한 수신자는 그룹에 대해 확립된 아이템에 대한 권한을 승인 받는다. 그 후 아이템의 소유주가 그룹의 구성원으로서 옵트-인한 수신자의 리스트를 보거나, 그룹 권한을 수정하거나, 및/또는 그룹의 구성원에 대한 권한을 개인 단위로 수정할 수 있다. 바로 이하에서, 예시적 절차가 설명되고, 일부 예시적 사용자 인터페이스의 설명이 뒤 따라, 그룹 옵트-인 링크에 대한 기법의 상세사항을 보여준다.
도 7은 공유되는 아이템에 대한 그룹으로의 명시적 옵트-인(explicit opt-in)을 위해 구성된 링크가 생성되는 절차(700)를 도시한다. 온라인 저장장치로부터의 아이템을 공유하기 위한 공유 링크가 요청에 응답하여 생성된다(블록(702)). 앞서와 같이, 링크를 얻기 위한 요청은 사용자와 연관되는 온라인 저장장치(126)와의 상호대화를 위해 클라이언트 장치(102)에서 출력되는 사용자 인터페이스(122)를 통해 형성될 수 있다. 또한 "링크 얻기" 요청은 앞서 언급된 다양한 스크립팅 언어, 프로토콜, 및/또는 통신 기법을 이용해 포맷팅될 수 있다.
한 가지 접근법에서, 협업 서비스(124)는 요청에 응답하여, 앞서 언급된 바와 같이 내비게이션 경로(202) 및 공유 키(204)를 포함하는 링크를 생성한다. 상기 링크를 생성한 후, 협업 서비스(124)는 사용자에게 표시되도록 링크를 클라이언트 장치(102)로 되보낸다. 예를 들어, 협업 서비스(124)는 링크를 포함하는 웹페이지 또는 그 밖의 다른 적합한 사용자 인터페이스(122)를 구성하고, 요청에 응답하여 클라이언트에서 출력되도록 상기 웹페이지를 반환할 수 있다.
또한 협업 서비스(124)는 수신자에 의해 링크가 선택될 때(가령, 링크가 클릭되거나 링크로 내비게이팅될 때, 그룹 옵트-인 옵션이 노출되게 하도록 링크를 더 구성할 수 있다. 이는 다양한 방식으로 이뤄질 수 있다. 예를 들어, 공유 키(204)가 링크가 아이템으로의 액세스를 획득하도록 사용될 때 그룹에 가입하기 위한 적절한 옵션을 표시하도록 협업 서비스(124)를 촉진하는 식별자로서 사용될 수 있다. 협업 서비스(124)에 의해 유지되는 ACL이 특정 공유 키가 그룹 옵트-인 옵션을 야기하도록 설정됨을 지정하도록 사용될 수 있다. 상기 협업 서비스(124)는 공유 키(204)(또는 이에 포함된 식별자)를 사용해 상기 ACL 내 대응하는 링크의 권한 및 속성을 룩업(look-up)할 수 있다. ACL에 대한 공유 키(204)의 이러한 매칭을 기초로, 협업 서비스(124)는 링크가 그룹 옵트-인 옵션에 대해 설정되는지 여부를 결정할 수 있다.
추가적으로 또는 대안적으로, 협업 서비스(124)는 공유 키(204) 또는 상기 링크 내에 포함된 또 다른 필드를 검사하고 검사 결과로부터 링크가 그룹 옵트-인 옵션에 대해 구성됨을 결정할 수 있다. 예를 들어, 공유 키(204)와 연관된 특정 스트링(string) 또는 값이 그룹 옵트-인 옵션이 활성화되는지 여부를 선택적으로 가리키기 위한 토글(toggle)로서 사용될 수 있다. 따라서 협업 서비스(124)는 공유 링크를 생성할 때 그룹 옵트-인 옵션을 활성화시키도록 토글을 설정할 수 있고, 그 후 링크가 수신자에 의해 사용될 때 적절한 옵션을 표시하도록 협업 서비스(124)를 촉진한다.
하나 이상의 수신자에게 공유 링크가 배포된다(블록(704)). 상기 공유 링크는 다양한 방식으로 사용자에게 통신되거나 및/또는 수신자에게 배포될 수 있다. 예를 들어, 블록(702)에서 생성되는 공유 링크(128)는 사용자 인터페이스(122) 내에 표시되어 사용자가 링크를 보거나 및/또는 복사할 수 있게 한다. 그 후 사용자는 임의의 적합한 방식으로 상기 링크를 선택된 수신자에게 배포할 수 있다. 예를 들어, 사용자는 메시지로 링크를 복사하여, 전자메일, 즉석 메시지, 텍스트 메시지 등으로서 상기 링크를 선택된 수신자에게 전송할 수 있다. 덧붙여, 사용자는 웹 서비스/사이트로의 링크를 포스팅하기 위한 액션을 수행할 수 있는데, 가령, 소셜 네트워크 서비스(108)를 이용해 링크를 사용자 프로필 페이지에 추가할 수 있다. 그 밖의 다른 기법에 의해, 가령, 구두로(by word of mouth), 광고로, 또는 (전자 및/또는 물리적) 수기 통신 등으로 상기 링크는 또한 배포될 수 있다. 복사될 수 있는 링크를 제공하는 것에 추가로, 또한 사용자 인터페이스(122)는 이하의 도 8과 관련해 더 기재될 바와 같은 하나 이상의 기법을 이용해 링크의 배포를 촉진시키도록 구성될 수 있다.
앞서 언급된 바와 같은 개별 링크가 그룹 옵트-인 옵션을 활성화시키도록 생성될 수 있다. 사용자가 그렇게 선택한 경우, 블록(702)에서 생성된 공유 링크(128)는 도 4-6과 관련하여 언급된 기법을 이용해 복수의 게시 타깃으로 배포될 수 있다. 예를 들어, 사용자는 도 5의 예시와 비교될만한 게시 타깃의 선택을 위해 인터페이스를 노출시키는 게시 옵션을 선택할 수 있다. 이 경우, 사용자가 링크를 게시할 때 생성된 개별 링크도 역시 그룹 옵트-인 옵션을 활성화시키도록 구성된다. 이는 블록(702)에서 생성되는 공유 링크(128)를 수정하거나 그 밖의 다른 방식으로 이용하여 선택된 타깃에 대해 복수의 개별 링크를 생성함으로써, 이뤄질 수 있다. 개별 링크 각각이 공유 키 또는 그룹 옵트-인 옵션이 활성화 상태임을 가리키기 위한 그 밖의 다른 적합한 식별자를 포함하도록 구성된다.
수신자에 의한 공유 링크의 선택에 응답하여, 수신자가 아이템에 대한 권한을 갖는 그룹에 옵트-인하도록 하는 옵션이 노출된다(블록(706). 앞서 언급된 바와 같이, 협업 서비스(124)는 공유 키(204) 또는 그룹 옵트-인 옵션을 나타내는 그 밖의 다른 식별자를 검출하기 위해 선택된 링크를 검사할 수 있다. 그룹 옵트-인 옵션이 활성화 상태라는 결정은 수신자에 의해 링크가 사용될 때 서비스가 적절한 옵션을 표시하도록 촉진시킨다. 일부 경우, 대응하는 링크에 대해 그룹 옵트-인 옵션이 활성화 상태인지 또는 비활성화 상태인지 여부를 인코딩하는 ACL과의 비교가 이뤄진다. 또한 협업 서비스(124)는 링크가 생성될 때 공유 링크(128) 내에 포함된 특정 값, 스트링, 또는 토글 필드를 기초로 그룹 옵트-인 옵션이 활성화 상태임을 식별할 수 있다.
그룹 옵트-인 옵션이 적절할 때, 협업 서비스(124)는 수신자에게 옵션을 표시하도록 동작한다. 이는 다양한 방식으로 이뤄질 수 있다. 예를 들어, 옵트-인 인터페이스 또는 다이얼로그(dialog)가 클라이언트 장치(102)에 의해 디스플레이되기 위해 출력될 수 있다. 상기 옵트-인 인터페이스 또는 다이얼로그는 수신자에게 그룹에 가입하기 위한 옵션을 표시하고 수신자가 아이템에 대해 권한을 갖는 그룹에 명시적으로 옵트-인(opt-in)할 수 있게 한다. 덧붙여, 수신자는 도 10-13과 관련하여 이하에서 언급된 기법에 따라 아이템/그룹과 연관될 계정을 선택하도록 요청 받을 수 있다.
더 일반적으로, 서로 다른 섹션에서 기술된 공유 링크와 관련된 서로 다른 기법들이 다양한 방식으로 조합될 수 있다. 따라서 개별 링크, 그룹 옵트-인 링크, 및 1회용 공유 링크에 대해 기술된 기법이 개별적으로 구현될 수 있거나, 및/또는 많은 용도로 구성된 공유 링크를 생성하기 위한 일부 시나리오에서 조합될 수 있다.
옵션을 수행한 수신자가 아이템에 대한 권한을 갖는 그룹에 추가된다(블록(708)). 특히, ACL 내에 정의되거나 그 박의 다른 방식으로 아이템에 대해 정의된 권한이 업데이트되어 구성원으로서 옵트-인되는 수신자의 추가를 반영할 수 있다. 이는 옵트-인된 수신자에 대한 계정 식별자 및/또는 자격증명을 그룹, 권한, 및/또는 대응하는 아이템과 연관시켜 그룹의 수신자 구성원을 만드는 것을 포함할 수 있다.
언급된 그룹 구성원 수(membership)는 그룹 옵트-인 옵션을 실행하는 자들에 의해 결정되고 따라서 그룹의 구성원 수 또는 크기가 사전 지정될 필요는 없다. 아이템/그룹의 소유주는 그룹을 생성하기 위해 각각의 구성원을 수동으로 선택할 필요가 없고, 개별 사람들에 대해 연락처 정보를 가질 필요가 없다. 오히려 소유주는 단순히 블록(702)에서 링크를 얻고 상기 링크를 공공 사이트에 포스팅하거나 그 밖의 다른 방식으로 상기 링크를 배포할 수 있다. 이러한 경우, 상기 링크는 사실상 공개적인 것이며, 링크를 갖는 자라면 누구나 링크를 사용하여 아이템에 대해 적어도 그룹 옵트-인 옵션으로의 액세스를 얻을 수 있다.
그룹 옵트-인 옵션은 아이템에 대한 권한이 옵트-인 전인 제 1 액세스 레벨에서 옵트-인 후인 제 2 액세스 레벨로 변하는 계층 액세스 레벨(tiered access level) 방식을 구현할 수 있다. 초기에, 링크는 아이템에 대한 초기의 기본 권한과 연관될 수 있다. 상기 초기 권한은 디폴트(default)로 설정되거나, 사용자에 의해 지정될 수 있다. 일반적으로, 공유 링크를 통해 이용 가능한 초기 권한이 아이템에 대해 제한된 액세스를 승인하거나 액세스를 승인하지 않는다. 예를 들어, 초기 권한은 아이템을 보기 또는 아이템의 미리보기만 보기로, 액세스를 제한하도록 설정될 수 있다. 대안적으로, 액세스는 아이템에 대한 그룹 옵트-인 옵션을 획득하고 상기 옵션에 따라 동작하는 것으로 제한될 수 있다. 옵트-인에 의해 권한이 아이템에 대한 초기의 기본 권한에서 그룹에 대해 확립된 향상된 권한으로 변할 수 있다. 예를 들어, 그룹을 통해 이용 가능한 향상된 권한은 아이템을 보기에 추가로 편집하기를 가능하게 하도록 설정될 수 있다. 따라서 공유 링크를 통한 옵트-인 전과 그룹을 통한 옵트-인 후의 다양한 서로 다른 액세스 레벨이 아이템과 연관될 수 있다.
옵트-인한 수신자의 표현은 온라인 저장장치를 보고 관리하기 위해 사용자 인터페이스에서 아이템과 연관하여 표시되며(블록(710)), 공유 링크의 관리와 별개인 개별적인 수신자의 관리가 활성화된다(블록(712)).
앞서 설명된 서로 다른 타깃에 대해 개별 공유 링크를 이용하는 경우에서처럼, 그룹 옵트-인을 위해 구성된 링크와 그룹 내 구성원들은 서로에 대해 개별적으로 관리될 수 있다. 따라서 협업 서비스(124)는 저장된 아이템을 검토하고 관리하도록 표시된 사용자 인터페이스 내에서 아이템에 대한 그룹 링크 및 그룹 구성원을 개별적으로 나타낼 수 있다. 예를 들어, 도 3과 관련하여 기재된 바와 같이, 서로 다른 그룹 구성원 및/또는 그룹 옵트-인 링크의 표현은 사용자 인터페이스(122)의 공유 부분(308)을 통해 나열될 수 있다. 이러한 방식으로, 사용자는 특정 아이템에 대한 링크 및 구성원 각각을 검토하거나, 연관된 권한을 보거나, 및/또는 그룹에 대한 권한 및/또는 그룹의 개별 구성원을 개별적으로 관리할 수 있다. 이는 액션, 가령, 권한을 개인별로 변경하기, 하나 이상의 구성원을 제거하기, 및/또는 이미 옵트-인한 구성원의 액세스 권한에 영향을 미치지 않으면서 링크를 무효화하기 등을 포함하지만, 이에 국한되지는 않는다. 그룹 링크 및 구성원을 관리하는 것과 관련된 추가 상세사항이 도 8 및 9의 예시적 사용자 인터페이스와 관련해 제공된다.
도 8은 임의의 그룹으로의 배포를 위한 링크를 얻도록 채용될 수 있는 예시적 사용자 인터페이스(122)를 나타내는 다이어그램(800)을 도시한다. 이 예시에서의 사용자 인터페이스(122)는 선행하는 예시적 사용자 인터페이스를 이용할 때처럼 통신 모듈(116)에 의해 제공될 수 있는 사용자 인터페이스(802) 내에 포함되는 것으로 도시된다. 적어도 일부 실시예에서, 도 8에 도시된 예시적 인터페이스는 도 3의 공유 부분(308) 내에 나타나는 "링크 얻기" 객체의 선택에 응답하여 표시될 수 있다.
여기서 예시적 사용자 인터페이스(122)는 다시 도 3의 "Reunion" 폴더에 대해 공유 링크(128)를 제공하도록 동작될 수 있다. 이 경우, 인터페이스는 (이전 섹션에서의 개별 링크의 게시와 반대로) 사용자가 다양한 방식으로 복사하고 배포할 수 있는 실제 링크를 제공한다. 특히, 앞서 기재된 바와 같이 협업 서비스(124)에 의해 생성되는 링크를 반환(return)할 수 있는 링크 부분(804)이 도시된다. 언급된 바와 같이, 수신자에 의해 링크가 선택될 때, 링크는 그룹 옵트-인 옵션이 표시되게 하도록 구성될 수 있다. 한 가지 방식에서, 협업 서비스(124)가 링크를 해석할 때 옵션이 노출되도록 링크와 연관된 공유 키(204)가 설정된다.
도 8의 예시적 사용자 인터페이스(122)는 권한 부분(806), 배포 부분(808), 및 완료 컨트롤(done control)(810)을 더 포함한다. 앞서 언급된 예시에서처럼, 권한 부분(806)은 권한의 선택이 생성된 링크와 연관되도록 한다. 예를 들어, 상기 권한 부분(510)에 의해 사용자는 반환된 링크가 사용되어 대응하는 아이템을 볼 수 있는지, 편집할 수 있는지, 및/또는 관리 권리를 승인할 수 있는지를 선택할 수 있다. 사용자는 도 7과 관련하여 설명된 계층 액세스 레벨 방식에 따라 옵트-인 전의 초기 권한과 옵트-인 후의 향상된 권한 모두를 설정할 수 있다.
배포 부분(808)은 공유 링크에 대한 다양한 옵션을 제공하도록 포함될 수 있다. 예를 들어, 예시적 배포 부분(808)은 전자메일이나 즉석 메시징에 의해 배포되기 위한 옵션을 제공한다. 이들 옵션의 선택이 사용되어, 서비스 제공자(106), 디폴트 메시징 프로그램, 제3자 메시징 서비스 등을 통한 링크를 포함하는 적절한 메시지를 자동으로 생성할 수 있다. 덧붙여, 링크를 서로 다른 사이트에 게시하는 것을 가능하게 할 수 있는 포스트 옵션이 제공된다. 적어도 일부 경우, 포스트 옵션은 도 5의 예시와 유사하게, 서로 다른 게시 타깃의 선택 및/또는 서로 다른 게시 타깃에 대한 개별 링크의 생성을 가능하게 할 수 있는 인터페이스로 연결될 수 있다. 이 경우, 개별 링크는 링크 부분(804)에서 반환되는 특정 링크에 대응하도록 생성될 수 있고, 또한 선택될 때 옵트-인 옵션이 노출되게 할 수 있다. 앞서와 같이, 서로 다른 공유 키(204)는 서로 다른 개별 링크와 연관될 수 있다.
완료 컨트롤(810)은, 선택될 때, 인터페이스가 종료되고, 협업 서비스(124)에 대한 홈 페이지 또는 시작 페이지로 다시 내비게이팅, 가령, 도 3의 예시적 인터페이스로 복귀되게 할 수 있다.
도 9는 그룹에 가입하기 위한 옵션을 수행하는 수신자들의 검토 및 관리를 위한 공유 부분을 도시하는 다이어그램(900)을 도시한다. 특히, "Reunion" 폴더에 대해 링크가 배포되고 하나 이상의 수신자가 대응하는 그룹에 옵트-인한 후의 도 3의 아이템 상세사항 부분(306)이 도시된다. 이 예시는 공유 부분(308)이 옵트-인한 개인들의 리스트(902)를 포함하도록 재구성된 것을 제외하고 도 6의 예시와 유사하다. 각각의 개인의 표현은 대응하는 권한 컨트롤(904)과 함께 제공된다. 상기 권한 컨트롤(904)에 의해 사용자는 서로 다른 개별 링크와 연관된 권한을 개별적으로 보고 관리할 수 있다. 예를 들어, 권한 컨트롤(904)은 개별 링크에 대해 액세스 레벨(가령, 보기, 편집하기, 이동시키기, 복사하기, 인쇄하기, 관리하기 등)을 선택하도록 동작하는 리스트 박스(list box)로서 도시된다.
덧붙여, 배포된 링크를 비활성화하도록 동작 가능한 비활성화 컨트롤(deactivate control)(906)이 제공된다. 비활성화되면, 링크는 더 이상 그룹으로 옵트-인하기 위해 사용될 수 없다. 적어도 일부 실시예에서, 링크를 비활성화하거나 링크와 연관된 권한을 변경하는 것은 이미 그룹에 추가된 사용자에게 영향을 미치지 않는다. 따라서 개별 사용자는 개인별로 그리고 공유 링크 자체와 별개로 관리될 수 있다. 또 다른 접근법에서, 링크 무효화 또는 권한 변경은 변경을 그룹의 임의의 구성원에게 추가할 것이다.
공유되는 아이템 계정 선택
이 섹션은 수신자가 대응하는 공유되는 아이템을 액세스하기 위해 자신이 사용하기를 원하는 특정 계정을 선택할 수 있게 하도록 구성된 공유 링크(128)에 대한 기법을 기술한다. 다음의 기재 중 일부에서, 도 1의 예시적 환경과 도 3의 예시적 사용자 인터페이스에 대한 참조가 다시 이뤄질 것이다. 일반적으로, 사용자는 협업 서비스(124)를 통해 연관된 온라인 저장장치(126)를 액세스할 수 있다. 사용자는 링크 전송하기 옵션(send a link option)을 선택함으로써 협업 서비스(124)가 아이템을 공유하기 위한 링크를 제공하게 할 수 있다. 그 후 사용자는 선택된 개인들에게 링크를 전송하기 위한 액션을 수행할 수 있다. 사용자는 일부 개인들에 대해 제한된 연락처 정보를 가질 수 있으며, 따라서 일부 수신자가 공유되는 아이템으로의 액세스를 위해 사용하고자 하는 주소 또는 계정으로 링크를 주소지정하지 않을 수 있다. 이하에서 언급된 바와 같이, 협업 서비스(124)는 전송 동작에 응답하여 공유 링크(128)를 1회용 공유 링크로서 구성할 수 있다. 일반적으로 1회용 공유 링크에 의해, 공유되는 아이템으로의 다음 번 액세스를 위해 사용될 계정을 선택 또는 등록하기 위한 목적으로 수신자는 상기 공유되는 아이템에 대해 제한된 1회용 액세스를 얻을 수 있다. 상기 1회용 공유 링크가 상환(redeem)되면, 상기 1회용 공유 링크는 아이템에 대한 향상된 권한을 획득하기 위한 다음 번 액세스에 대해 무효화될 수 있다. 상기 1회용 공유 링크는 제한된 액세스 가령, 읽기 전용(read-only) 액세스에 대해서만 계속 유효하게 유지되거나 유지되지 않을 수도 있다. 이러한 방식으로, 아이템의 소유주/공유자가 계정에 대한 연락처 정보를 갖거나 링크를 상기 계정으로 전송할 필요 없이, 수신자가 그들이 공유되는 아이템을 액세스하는 데 가장 편리하다고 찾은 계정을 선택할 수 있다. 바로 아래에서, 1회용 공유 링크에 대한 기법의 상세사항을 나타내는 예시적 절차가 설명되고 일부 예시적 사용자 인터페이스의 설명이 뒤 따른다.
도 10은 공유된 아이템을 액세스하기 위한 계정의 선택을 위해 1회용 공유 링크가 사용되는 예시적 구현예에서의 절차(1000)를 도시한다.
온라인 저장장치에 유지되는 아이템으로의 공유 링크에 대해 선택된 수신자가 결정된다(블록(1002)). 한 가지 방식으로 이는 하나 이상의 수신자에게로의 링크의 전송을 가능하게 하도록 제공된 사용자 인터페이스를 통해 이뤄질 수 있다. 예를 들어, 협업 서비스(124)는 네트워크(110)를 통해 클라이언트 장치(102)에 의해 액세스 가능한 사용자 인터페이스(122)를 출력할 수 있다. 특정 콘텐츠 아이템을 공유하기 위한 링크 전송 컨트롤의 선택에 응답하여 상기 사용자 인터페이스(122)가 출력될 수 있다. 상기 사용자 인터페이스(122)에 의해 사용자는 하나 이상의 수신자를 선택하거나, 알려진 연락처 정보를 입력하거나, 및/또는 하나 이상의 수신자에게 링크를 전송하기 위한 요청을 제출할 수 있다. 상기 협업 서비스(124)는 의도된 수신자를 식별하기 위한 요청을 수신하고 처리할 수 있다. 이는 하나 이상의 수신자에 대한 연락처 정보를 추출하기 위한 요청을 파싱(parsing)하는 것을 포함할 수 있다.
선택된 수신자 각각에 대해 서로 다른 1회용 공유 링크가 생성된다(블록(1004)). 여기서, 협업 서비스(124)는 개별 수신자 각각에 대해 서로 다른 1회용 링크를 생성할 수 있다. 이는 도 4-6과 관련하여 설명된 바와 같은 서로 다른 게시 타깃에 대해 개별 링크를 생성하는 것과 실질적으로 동일한 방식으로 이뤄질 수 있다. 예를 들어, 상기 링크는, 본 명세서에 기재된 다른 링크의 경우처럼, 내비게이션 경로(202) 및 공유 키(204)를 갖도록 포맷팅될 수 있다. 그럼에도 1회용 공유 링크가 링크를 1회용 공유 링크로서 지정하거나, 및/또는 협업 서비스(124)가 링크를 1회용 공유 링크로서 식별하고 취급할 수 있게 하기에 충분한 정보를 포함한다. 한 가지 접근법에서, 공유 키(204)가 링크를 1회용 공유 링크로 지정하는 ACL에 매핑될 수 있다. 덧붙여, 링크 내에 포함되는 공유 키(204) 또는 또 다른 적합한 식별자가 상기 링크를 1회용 공유 링크로 플래깅(flag)하도록 사용될 수 있다. 어느 경우라도, 협업 서비스(124)가 링크를 검사할 수 있고, 링크가 1회용 공유 링크인지 여부를 임의의 방식으로 결정하고 이에 따라 링크를 취급할 수 있다.
적절한 1회용 공유 링크가 생성되면, 그 후 협업 서비스(124)가 고유의 1회용 공유 링크를 갖는 통지(notification)를 각각의 지정된 수신자에게 전송할 수 있다. 협업 서비스(124)가 서로 다른 메시징 서비스, 가령, 전자메일, 즉석 메시징, 텍스트 메시징 등을 통해 통지를 전송할 수 있다. 일부 경우, 협업 서비스(124)는 연관된 파트너 사이트, 가령, 소셜 네트워크를 통해 통지를 전송할 수 있고, 이 경우, 수신자는 파트너 사이트에 의해 제공되는 메시징 기능부를 통해 통지 받는다.
앞서 언급된 바와 같이, 일부 방식으로 1회용 공유 링크로서 지정된 링크에 의해, 공유되는 아이템으로의 다음 번 액세스를 위해 사용되도록 계정을 선택 또는 등록하기 위한 목적으로 수신자는 상기 공유되는 아이템으로의 제한된 1회용 액세스를 얻을 수 있다. 이러한 방식으로, 아이템의 소유주/공유자가 계정에 대한 연락처 정보를 갖거나 계정으로 링크를 전송할 필요 없이, 수신자가 자신들이 공유되는 아이템을 액세스하는 데 가장 편리하다고 발견한 계정을 선택할 수 있다.
이렇게 하기 위해, 수신자에 의한 공유 링크의 선택에 응답하여, 수신자가 아이템으로 액세스하도록 사용될 계정을 선택하기 위한 옵션이 노출된다(블록(1006)). 계정을 선택하기 위한 옵션이 다양한 방식으로 서로 다른 시점에서 제공될 수 있다. 예를 들어, 인증 시퀀스 동안 적절한 시점에서 특정 계정의 선택을 가능하게 하는 계정 선택 사용자 인터페이스 또는 다이얼로그가 표시될 수 있다. 다이얼로그를 통해, 공유되는 아이템을 액세스하기 위해 사용되도록 현재 계정을 선택하거나, 서로 다른 계정을 선택하거나, 및/또는 새로운 계정을 생성하기 위해 사용자에게 프롬프트될 수 있다. 예시적 다이얼로그가 이하에서 도 13과 관련하여 기재된다.
계정 선택 옵션을 표시하기 위한 타이밍은 1회용 공유 링크와 연관된 액세스 권한에 따라 달라질 수 있다. 예를 들어, 아이템으로의 임의의 액세스가 제공되기 전에 사인-인(sign-in)할 필요가 있도록 링크가 구성될 수 있다. 이런 경우에 해당하면, 링크가 사용되자마자 즉시, 계정을 선택하기 위한 옵션을 포함하는 인증 시퀀스가 개시될 수 있다. 다른 한편, 링크에 의해 일부 액세스 레벨, 가령, 보기 전용(view only) 액세스가 승인되는 경우, 링크의 선택이 인증 시퀀스의 개시를 즉시 야기하지 않는다. 대신, 아이템에 대한 적절한 액세스가 승인되고 링크의 수신자가 아이템을 볼 수 있다. 수신자가 사인-인 및/또는 상이한 액세스 특권을 필요로 하는 액션을 시도할 때, 이 시점에서 계정을 선택하기 위한 옵션을 포함하는 인증 시퀀스가 개시될 수 있다. 아이템으로의 액세스 및 계정 선택을 제어하기 위해 사용될 수 있는 한 가지 예시적 인증 시퀀스가 도 11과 관련하여 이하에서 설명된다.
아이템에 대한 권한이 선택된 계정과 연관되고(블록(1008)) 객체에 대한 권한을 얻기 위한 다음 번 사용에 대해 링크가 무효화된다(블록(1010)). 따라서 1회용 공유 링크를 이용해 계정을 선택하기 위한 옵션이 행사될 때, 선택된 계정은 상기 아이템에 대한 권한을 승인 받는다. 이는 ACL을 통해 또는 그 밖의 다른 방식으로 계정을 아이템과 연관시킴으로써 이뤄질 수 있다.
그룹 옵트-인 옵션과 관련하여 앞서 기재된 계층 액세스 레벨 방식과 유사하게, 1회용 공유 링크와 함께 서로 다른 액세스 레벨이 사용될 수 있다. 여기서, 링크가 상환되기 전에 제 1 액세스 레벨이 1회용 공유 링크와 연관될 수 있다. 예를 들어, 미상환된 링크가 미인증된 사용자에 대한, 단순히 사용자가 아이템을 보는 것을 가능하게 할 초기의 기본 권한과 연관될 수 있다. 다시 말하면, 초기 권한은 디폴트로 설정되거나, 및/또는 사용자에 의해 지정될 수 있다. 일반적으로, 초기 권한은 아이템에 대한 제한된 액세스만 승인하거나 액세스를 승인하지 않는다. 계정의 선택에 의해 링크를 상환함으로써, 권한이 초기의 기본 권한에서, 링크가 생성될 때 인증된 사용자에 대해 확립된 향상된 권한으로 변경된다. 예를 들어, 향상된 권한은 아이템을 보는 것에 추가로 편집하는 것을 가능하게 하도록 설정될 수 있다. 따라서 1회용 공유 링크를 이용해 다양한 서로 다른 액세스 레벨이 아이템과 연관되고, 링크를 상환한 후 링크의 사용자에게 승인된다.
1회용 공유 링크가 상환되면, 협업 서비스(124)가 아이템으로의 다음 번 액세스에 대해 링크를 무효화시킨다. 예를 들어, 상기 1회용 공유 링크가 상환되었다고 ACL이 업데이트될 수 있다. 이는 링크와 연관된 공유 키(204)를 철회(revoke)하거나, 1회용 공유 링크에 대한 특권을 철회하는 또 다른 적합한 방식으로, 이뤄질 수 있다. 1회용 공유 링크가 상기 아이템을 액세스하거나 상기 아이템으로의 권한을 획득하기에 더 이상 유효하지 않을 것이다. 대신, 이제 권한은 선택된 계정과 연관되며, 선택된 계정은 아이템으로의 다음 번 액세스를 위해 사용될 수 있다.
하나 이상의 실시예에 따라 계정의 선택에 대해 1회용 공유 링크가 사용되는 인증 시퀀스에 대한 절차(1100)를 도시하는 도 11을 고려할 수 있다. 공유된 아이템에 대한 1회용 공유 링크의 선택이 검출된다(블록(1102)). 링크가 공유된 아이템으로의 액세스를 얻기 위한 사인-인(sign-in)을 포함하는지 여부가 결정된다(블록(1104)). 결정은 본 명세서에서 앞서 언급된 바와 같은 링크에 할당되는 계정 액세스 레벨(tiered access level)을 기초로 할 수 있다. 예를 들어, 선택사항으로서 공유되는 아이템에 대한 1회용 공유 링크가 생성될 때 사인-인이 사용자에 의해 요구될 수 있다. 실질적으로, 대응하는 공유되는 아이템을 액세스하기 위해 사용될 계정을 선택하기 위해 1회용 공유 링크가 제한된 액세스를 제공할 것이다.
링크가 사인-인을 포함하지 않는 경우, 미인증된 권한으로도 아이템으로의 액세스가 가능해진다(블록(1106)). 미인증된 권한은 디폴트로 설정되거나 1회용 공유 링크가 생성될 때 사용자 선택에 의해 설정된 초기의 기본 권한을 나타낸다. 그 후, 시스템은 사인-인을 포함하는 액션을 검출하도록 모니터할 수 있다(블록(1108)). 링크 상환을 강제함으로써 미인증된 액세스가 비활성화될 수 있음을 알 것이다. 이 경우, 소유주는 링크 생성 시점에서 권한이 승인되기 전에 공유 링크가 상환되도록 지정할 수 있다. 실질적으로, 링크는 미인증된 권한 없이 구성되고 수신자는 연관된 링크를 상환하기 전에 아이템을 보는 것조차 할 수 없을 수 있다.
링크가 블록(1104)에서 사인-인을 요구할 때와 사인-인을 요구하는 액션이 블록(1108)에서 검출될 때 모두, 사용자가 이미 사인-인됐는지 여부에 대한 결정이 이뤄진다(블록(1110)). 사용자가 이미 사인-인된 경우, 사용자는 로그인으로 리디렉트되고(블록(1112)) 사용자는 선택된 계정에 대해 인증된다(블록(1114)). 이는 임의의 적합한 인증 기법을 이용해 서비스 제공자(102)를 통해 액세스 가능한 협업 서비스(124) 및/또는 인증 서비스를 통해 이뤄질 수 있다. 일반적으로, 사용자가 액세스를 위한 자격증명(가령, 사용자명 및 비밀번호)과 사용자가 자신이 주장하는 자임을 보장하기 위해 검증된 계정을 제공한다. 적어도 일부 실시예에서, 사용자는 자신이 이 시점에서 아이템을 액세스하는 데 사용하고자 하는 계정에 로그-인하도록 프롬프트받을 수 있다. 추가적으로 또는 대안적으로, 또한 이하에서 기재된 바와 같이 인증 시퀀스 내에서 계정 선택 프롬프트가 차후에 발생할 수 있다.
블록(1114)에서 사용자를 인증한 후 그리고 블록(1110)에서 사용자가 이미 사인-인된 때, 사용자가 공유된 아이템으로의 인증된 액세스를 이미 갖는지 여부가 결정된다(블록(1116)). 그럴 경우, 1회용 공유 링크가 상환되고(블록(1118)) 공유된 아이템으로의 액세스에 인증된 권한이 제공된다(블록(1120)). 이 경우, 사용자가 공유되는 아이템에 대해 이미 권한을 갖는 현재 계정을 사용하는 것을 선호한다는 가정이 이뤄질 수 있다. 따라서 다른 계정을 선택하기 위한 프롬프트 없이 액세스가 승인된다. 대안적 접근법에서, 사용자가 블록(1116)에서 이미 액세스를 인증한 경우라도 사용자가 계정을 전환하도록 하는 계정 전환 옵션(switch account option)이 제공될 수 있다. 그러나 도시된 예시에서, 이미 액세스를 갖는 현재의 계정을 통해 액세스가 승인되고 이미 갖지 않는 경우, 링크는 상환되고 다음 번 사용에 대해 무효화된다.
그 이외에도, 사용자가 블록(1116)에서 인증된 액세스를 갖지 않는 경우, 1회용 공유 링크의 유효성(validity)에 대한 결정이 이뤄진다(블록(1122)). 여기서 링크가 이전에 상환되지 않았음을 보장하기 위한 체크가 이뤄진다. 1회용 공유 링크가 유효하지 않은 경우, 액세스가 거부되고(블록(1124)), 공유된 아이템으로의 액세스를 획득하는 데 1회용 공유 링크가 유효하지 않다고 나타내는 에러 메시지가 표시될 수 있다.
다른 한편, 1회용 공유 링크가 유효한 것으로 결정된 때, 선택사항적 자동-상환 옵션(auto-redeem option)이 설정되는지 여부가 체크된다(블록(1126)). 상기 자동-상환 옵션은 1회용 공유 링크가 자동으로 상환되는지 또는 계정 선택 다이얼로그(account selection dialog)를 통해 상환되는지를 제어하기 위한 설계 파라미터로서 선택될 수 있다. 추가적으로 또는 대안적으로, 자동-상환 옵션에 대한 설정 가능한 파라미터가 아이템 및/또는 사용자 계정과 연관될 수 있다. 이 예시에서, 설정 가능한 파라미터가 아이템 소유주에 의해 설정되거나, 및/또는 링크 수신자의 계정에 대해 개별적으로 설정될 수 있다. 상기 자동-상환 옵션이 설정된 경우, 흐름이 블록(1118 및 1120)으로 되돌아 진행되며, 여기서 1회용 공유 링크가 자동으로 상환되고 공유되는 아이템으로의 액세스에 인증된 권한이 제공된다. 이는 사용자에게 프롬프트를 출력하지 않고 이뤄질 수 있다.
자동-상환 옵션이 설정되지 않은 경우, 사용자가 계정을 선택하도록 하는 계정 선택 다이얼로그(가령, 상환 다이얼로그)가 출력된다(블록(1128)). 계정 선택 다이얼로그를 통해 획득된 입력을 기초로, 현재 계정을 사용할지 또는 또 다른 계정을 선택할지에 대한 결정이 이뤄진다(블록(1130)). 현재 계정이 선택된 경우, 흐름은 다시 블록(1118 및 1120)으로 되돌아가며, 여기서, 1회용 공유 링크가 상환되고 공유되는 아이템으로의 액세스에 인증된 권한이 제공된다. 그외 경우, 흐름은 블록(1112)으로 되돌아가서, 사용자가 로그인으로 리디렉트되고 상이한 계정으로의 인증이 이뤄질 수 있다. 따라서 블록(1130)에서 현재 계정이 선택될 때까지 블록(1112-1130)은 서로 다른 계정에 대해 반복될 수 있다.
도 12는 링크를 선택된 연락처로 전송하도록 사용될 수 있는 예시적 사용자 인터페이스(122)를 도시하는 다이어그램(1200)을 도시한다. 다시 말하자면, 앞서 언급된 예시들에서와 같이, 사용자 인터페이스(122)는, 통신 모듈(116)에 의해 제공될 수 있는 사용자 인터페이스(1202) 내에 포함되는 것으로 도시된다. 적어도 일부 실시예에서, 도 12에 도시된 예시적 인터페이스는 도 3의 공유 부분(308) 내에 나타난 "링크 전송하기" 객체의 선택에 응답하여 표시될 수 있다.
다시 말하자면 여기서 예시적 사용자 인터페이스(122)는 도 3의 "Reunion" 폴더에 대해 공유 링크(128)를 제공하도록 동작 가능하다. 이 경우, 협업 서비스(124)가 선택된 수신자에 대해, 앞서 언급된 바와 같이 포맷팅되고, 배포되며 사용될 수 있는 1회용 공유 링크를 생성 및 배포하도록 하는 요청을 제출하도록 인터페이스가 사용될 수 있다. 특히, 선택된 수신자에 대해 전자메일 주소 또는 그 밖의 다른 연락처 정보를 입력하도록 사용될 수 있는 주소 부분(1204)이 도시된다. 앞서 언급된 바와 같이, 전송자는 수신자가 공유되는 아이템을 액세스하기 위해 궁극적으로 선택한 계정으로 링크를 전송할 필요는 없다. 메시지 부분(1206)에 의해 선택사항으로서 전송자는 개인 메시지에 송유 링크를 포함시킬 수 있다. 덧붙여, 사인-인 요구(require sign-in) 컨트롤(1208)이 수신자에 의해 아이템을 액세스하기 위해 사인-인이 포함될지 여부를 선택적으로 설정하도록 동작한다. 사인-인 요구하기가 설정될 때, 계정을 선택하기 위한 목적으로 1회용 공유 링크는 공유되는 아이템으로의 제한된 액세스를 제공하도록 구성된다. 그외 다른 경우, 디폴트 또는 미인증된 사용자에 대해 확립된 선택된 액세스 레벨이 다이얼로그를 통해 생성된 1회용 공유 링크와 연관될 수 있다. 이 특정 예시에서 도시되지 않지만, 또한 전송자가 도 10-11과 관련하여 기재된 기법에 따라, 사인-인 전의 초기 권한(가령, 미인증된 권한)과 사인-인 후의 향상된 권한(가령, 인증된 권한) 모두에 대해 액세스 레벨을 지정하기 위해 권한 컨트롤 또는 메뉴를 액세스할 수 있다.
도 12의 예시적 사용자 인터페이스(122)가 전송 컨트롤(1210)을 더 포함한다. 상기 전송 컨트롤(1210)은 협업 서비스(124)가 사용자 인터페이스(122)를 통해 선택된 수신자를 기초로 하여 적절한 1회용 공유 링크를 생성하고 배포할 수 있게 하는 요청을 제출하도록 선택 가능하다.
도 13은 하나 이상의 실시예에 따라 예시적 계정 선택 다이얼로그(1302)를 나타내는 다이어그램(1300)을 도시한다. 앞서 기재된 바와 같이 상기 계정 선택 다이얼로그(1302)는 인증 시퀀스 내의 다양한 시점에서 노출되어, 적절할 때 사용자가 공유되는 아이템을 액세스하는 데 사용될 특정 계정을 선택할 수 있게 한다. 예를 들어, 블록(1128)에서 도 11과 관련하여 기재된 예시적 인증 시퀀스 내에서 계정 선택 다이얼로그(1302)가 노출될 수 있다.
여기서, 계정 선택 다이얼로그(1302)가 사용자에게 현재 인증된 계정을 나타내는 현재 계정 표시(current account indication)(1304)를 포함한다. 상기 사용자는 대응하는 공유된 아이템을 액세스하는 데 현재 계정을 이용하기 위해 다이얼로그에 의해 제공되는 계속 컨트롤(1306)을 선택할 수 있다. 사용자가 이를 선택한 경우, 사용자는 역시 다이얼로그에 의해 제공되는 계정 전환 컨트롤(1308)을 선택하여 다른 계정을 선택할 수 있다. 계정 전환 컨트롤(1308)의 선택에 의해 로그-인 프로세스로의 리디렉션이 다른 계정을 선택하거나, 및/또는 계정을 인증하기 위한 대응하는 자격증명을 제공할 수 있다.
공유 링크를 생성하고 사용하기 위한 다양한 기법과 관련된 일부 예시적 상세사항을 고려했으며, 지금부터 하나 이상의 실시예에서 다양한 기법을 구현하도록 사용될 수 있는 예시적 시스템 및 장치가 설명된다.
예시적 시스템 및 장치
도 14는 도 1을 참조하여 기재된 컴퓨팅 장치(102)를 포함하는 예시적 복수 장치 환경(1400)을 도시한다. 예시적 복수 장치 환경(1400)에 의해, 애플리케이션을 개인 컴퓨터(PC), 텔레비전 장치, 및/또는 모바일 장치에서 실행시킬 때 매끄러운(seamless) 사용자 경험을 위한 유티쿼터스 환경이 가능해진다. 애플리케이션을 활용하고, 비디오 게임을 하며, 비디오를 시청하는 등 동안 하나의 장치에서 다음 번 장치로 전이될 때, 공통 사용자 경험을 위해 세 가지 환경 모두에서 서비스 및 애플리케이션은 실질적으로 유사하게 실행된다.
예시적 복수 장치 환경(1400)에서, 다중 장치는 중앙 컴퓨팅 장치를 통해 상호연결된다. 상기 중앙 컴퓨팅 장치는 복수의 장치에 로컬이거나 상기 복수의 장치로부터 원격으로 위치할 수 있다. 하나의 실시예에서, 중앙 컴퓨팅 장치가 네트워크, 인터넷, 또는 그 밖의 다른 데이터 통신 링크를 통해 복수의 장치로 연결되어 있는 하나 이상의 서버 컴퓨터의 클라우드일 수 있다. 하나의 실시예에서, 이러한 상호연결 아키텍처에 의해 기능이 복수의 장치 간에 전달되어, 복수의 장치의 한 명의 사용자에게 공통되는 매끄러운 경험이 제공될 수 있다. 복수의 장치 각각은 서로 다른 물리적 요건 및 능력을 가질 수 있고, 중앙 컴퓨팅 장치는 장치로 장치에 대해 맞춤 구성되지만 모든 장치에 대해 공통이기도 한 경험의 전달을 가능하게 하는 플랫폼을 이용한다. 하나의 실시예에서, 타깃 장치의 클래스가 생성되고 경험이 장치의 일반적을 클래스에 대해 맞춤 구성된다. 장치의 클래스가 장치의 물리적 특징, 사용성의 유형, 또는 그 밖의 다른 공통 특성에 의해 정의될 수 있다.
다양한 구현예에서, 통신 장치(102)가 다양한 구성, 가령, 컴퓨터(1402)용, 모바일(1404)용, 및 텔레비전(1406)용을 가정할 수 있다. 이들 구성 각각은 일반적으로 상이한 구성 및 능력을 가질 수 있는 장치를 포함하고, 따라서 컴퓨팅 장치(102)가 서로 다른 장치 클래스 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(102)는 개인 컴퓨터, 데스크톱 컴퓨터, 다중-스크린 컴퓨터, 랩톱 컴퓨터, 넷북 등을 포함하는 장치의 컴퓨터(1402) 클래스로서 구현될 수 있다.
또한 컴퓨팅 장치(102)는 모바일 장치, 가령, 모바일 전화기, 휴대용 음악 재생기, 휴대용 게임 장치, 태블릿 컴퓨터, 다중-스크린 컴퓨터 등을 포함하는 장치의 모바일(1404) 클래스로서 구현될 수 있다. 또한 상기 컴퓨팅 장치(102)는 보통의 시청 환경에서 일반적으로 더 큰 스크린을 갖거나 이에 연결된 장치를 포함하는 장치의 텔레비전(1406) 클래스로서 구현될 수 있다. 이들 장치는 텔레비전, 셋-톱 박스, 게임 콘솔 등을 포함한다. 본 명세서에 기재된 기법은 이들 다양한 구성의 컴퓨팅 장치(102)에 의해 지원될 수 있지만, 본 명세서에 기재된 기법의 특정 예시로 국한되는 것은 아니다. 이는 클라이언트 장치(102) 상의 통신 모듈(116)의 포함을 통해 도시된다. 예를 들어, 서로 다른 장치는 특정 장치에 대해 적합화되고 플랫폼(1410)의 다양한 자원(120), 가령, 본 명세서에 기재된 협업 서비스(124) 및 온라인 저장장치(126)가 액세스될 때 이용하는 서로 다른 통신 모듈(116)(가령, 브라우저)을 포함할 수 있다.
클라우드(1408)는 자원(120)에 대해 플랫폼(1410)을 포함하거나, 및/또는 나타낸다. 상기 플랫폼(1410)은 클라우드(1408)의 하드웨어(가령, 서버) 및 소프트웨어 자원의 기저 기능을 추상화한다. 상기 자원(120)은 컴퓨팅 장치(102)와 원격인 서버 상에 컴퓨터 프로세싱이 실행되는 동안 사용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 상기 자원(120)은 인터넷 및/또는 가입자 네트워크, 가령, 셀룰러 또는 WiFi 네트워크를 통해 서버로서 제공될 수 있다.
플랫폼(1410)은 컴퓨팅 장치(102)를 그 밖의 다른 컴퓨팅 장치와 연결하기 위해 자원 및 기능을 추상화할 수 있다. 또한 상기 플랫폼(1410)은 자원의 확장(scaling)을 추상화하도록 기능하여, 플랫폼(1410)을 통해 구현되는 자원(120)에 대한 직면된 수요에 대응하는 확장 수준을 제공할 수 있다. 따라서 상호연결된 장치 실시예에서, 본 명세서에 기재된 기능의 구현이 복수 장치 환경(1400)을 통해 분산될 수 있다. 예를 들어, 기능은 컴퓨팅 장치(102) 상에서 부분적으로 구현될 뿐 아니라 클라우드(1408)의 기능을 추상화하는 플랫폼(1410)을 통해 부분적으로 구현될 수 있다.
도 15는 하나 이상의 이러한 컴퓨팅 시스템 및/또는 앞서 기재된 다양한 실시예를 구현할 수 있는 장치를 나타내는 예시적 컴퓨팅 장치(1502)를 포함하는 예시적 시스템(1500)을 도시한다. 예를 들어, 컴퓨팅 장치(1502)는 서비스 제공자(106)의 서버, 클라이언트 장치(102), 시스템 온-칩(system on-chip) 및/또는 그 밖의 다른 임의의 적합한 컴퓨팅 장치 또는 컴퓨팅 시스템일 수 있다.
예시적 컴퓨팅 장치(1502)는 하나 이상의 프로세서(1504) 또는 프로세싱 유닛, 하나 이상의 메모리 및/또는 저장장치 구성요소(1508)를 포함할 수 있는 하나 이상의 컴퓨터 판독형 매체(1506), 입/출력(I/O) 장치를 위한 하나 이상의 입/출력(I/O) 인터페이스(1510), 및 다양한 구성요소 및 장치가 서로 통신하는 것을 가능하게 하는 버스(1512)를 포함한다. 컴퓨터 판독형 매체(1506) 및/또는 하나 이상의 I/O 장치가 컴퓨팅 장치(1502)의 일부분을 포함하거나 이에 연결될 수 있다. 버스(1512)는 몇 가지 유형의 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 주변장치 버스, 가속 그래픽 포트(accelerated graphics port), 및 다양한 버스 아키텍처 중 임의의 아키텍처를 이용하는 프로세서 또는 로컬 버스 중 하나 이상을 나타낸다. 상기 버스(512)는 유선 및/또는 무선 버스를 포함할 수 있다.
하나 이상의 프로세서(1504)는 형성 재료 또는 사용되는 프로세싱 메커니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(가령, 전자 집적 회로(IC))로 구성될 수 있다. 이러한 맥락에서, 프로세서-실행형 명령은 전자-실행형 명령일 수 있다. 메모리/저장 구성요소(1508)는 하나 이상의 컴퓨터 판독형 매체와 연관되는 메모리/저장 능력을 나타낸다. 상기 메모리/저장 구성요소(1508)는 휘발성 매체(가령, 랜덤 액세스 메모리(RAM)) 및/또는 휘발성 매체(가령, 리드 온리 메모리(ROM), 플래시 메모리, 광학 디스크, 자기 디스크 등)를 포함할 수 있다. 메모리/저장 구성요소(1508)는 고정식 매체(가령, RAM, ROM, 고정 하드 드라이브 등)뿐 아니라 이동식 매체(가령, 플래시 메모리 드라이브, 이동식 하드 드라이브, 광 디스크 등)을 포함할 수 있다.
입/출력 인터페이스(들)(1510)에 의해 사용자는 컴퓨팅 장치(1502)로 명령어 및 정보를 입력할 수 있고, 또한 다양한 입/출력 장치를 이용해 정보가 사용자 및/또는 그 밖의 다른 구성요소 또는 장치로 제공될 수 있다. 입력 장치의 예로는 키보드, 터치스크린 디스플레이, 커서 제어 장치(가령, 마우스), 마이크로폰, 스캐너 등을 포함한다. 출력 장치의 예로는 디스플레이 장치(가령, 모니터 또는 영사기), 스피커, 프린터, 네트워크 카드 등을 포함한다.
본 명세서에서 다양한 기법이 소프트웨어, 하드웨어(고정형 로직 회로), 또는 프로그램 모듈의 일반 맥락에서 기재될 수 있다. 일반적으로, 이러한 모듈은 특정 작업을 수행하거나 특정 추상화 데이터 유형을 구현하는 루틴, 프로그램, 객체, 요소, 컴포넌트, 데이터 구조 등을 포함한다. 이들 모듈 및 기법의 구현은 컴퓨터 판독형 매체의 일부 형태에 걸쳐 저장되거나 전송될 수 있다. 컴퓨터 판독형 매체는 컴퓨터 장치에 의해 액세스될 수 있는 다양한 이용 가능한 매체를 포함할 수 있다. 비-제한적 예를 들면, 컴퓨터 판독형 매체는 "컴퓨터 판독형 저장 매체" 및 "통신 매체"를 포함할 수 있다 .
"컴퓨터 판독형 저장 매체"는 신호 전송, 반송파, 또는 신호 그 자체와 달리 정보의 영속적(persistent) 및/또는 비-일시적(non-transitory) 저장을 가능하게 하는 매체 및/또는 장치를 지칭할 수 있다. 따라서 컴퓨터 판독형 저장 매체는 비-신호 운반 매체를 지칭한다. 컴퓨터 판독형 저장 매체는 또한 일부 실시예에서 기재된 기법의 양태를 구현하기 위해 사용될 수 있는 하드웨어 형태로 구현되는 명령, 모듈, 및/또는 고정 장치 로직을 포함하는 하드웨어 요소를 포함한다.
컴퓨터 판독형 저장 매체는 정보, 가령, 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 로직 요소/회로, 또는 그 밖의 다른 데이터의 저장에 적합한 방법 또는 기법으로 구현되는 휘발성 및 비-휘발성, 이동식 및 비-이동식 매체 및/또는 저장 장치를 포함한다. 컴퓨터 판독형 저장 매체의 비-제한적 예로는, RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기법, CD-ROM, DVD(digital versatile disk), 또는 그 밖의 다른 광 저장장치, 집적 회로 또는 칩의 하드웨어 요소(가령, 고정 로직), 또는 그 밖의 다른 저장 장치, 유형 매체(tangible media) 또는 컴퓨터에 의해 액세스될 수 있는 바람직한 정보를 저장하기에 적합한 제조 물품이 있다.
"통신 매체"는 가령 네트워크를 통해 컴퓨팅 장치의 하드웨어로 명령을 송신하도록 구성된 신호 운반 매체를 지칭할 수 있다. 일반적으로 통신 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 또 다른 데이터를 변조된 데이터 신호, 가령, 반송파, 데이터 신호 또는 그 밖의 다른 전송 메커니즘으로 구현할 수 있다. 통신 매체는 임의의 정보 전달 매체를 더 포함한다. "변조된 데이터 신호"라는 용어는 신호 내 정보를 인코딩하도록 특정 중 하나 이상의 설정 또는 변경된 신호를 의미한다. 비-제한적 예를 들면, 통신 매체는 유선 매체, 가령, 유선 네트워크 또는 직접 배선된 연결, 및 무선 매체, 가령, 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함한다.
전술한 것 중 임의의 조합이 역시 컴퓨터 판독형 매체의 범위 내에 포함된다. 따라서 소프트웨어, 하드웨어, 또는 프로그램 모듈, 가령, 자원(120), 협업 서비스(124), 애플리케이션(114), 통신 모듈(116), 및 그 밖의 다른 프로그램 모듈이 일부 형태의 컴퓨터 판독형 매체 상에서 구현되는 하나 이상의 명령 및/또는 로직으로 구현될 수 있다.
따라서 본 명세서에 기재된 특정 모듈, 기능, 구성요소, 및 기법이 소프트웨어, 하드웨어, 펌웨어, 및/또는 이들의 조합으로 구현될 수 있다. 컴퓨팅 장치(1502)는 컴퓨터 판독형 매체 상에서 구현되는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령 및/또는 함수를 구현하도록 구성될 수 있다. 명령 및/또는 함수는 공유 링크와 관련된 기법뿐 아니라 그 밖의 다른 기법까지 구현하기 위한 하나 이상의 제조 물품(가령, 하나 이상의 컴퓨팅 장치(1502) 및/또는 프로세서(1504))에 의해 실행/동작 가능할 수 있다. 이러한 기법의 비-제한적 예로는 본 명세서에 기재된 예시적 절차가 있다. 따라서 컴퓨터 판독형 매체는, 본 명세서에 기재된 하나 이상의 장치에 의해 실행될 때, 공유 링크와 관련된 다양한 기법을 야기하는 명령을 저장하거나 그 밖의 다른 방식으로 제공하도록 구성될 수 있다.
결론
본 발명의 구조적 특징부 및/또는 방법적 동작에 특정적인 언어로 기재되었지만, 이하의 특허청구범위에서 정의되는 본 발명은 반드시 기재된 특정 특징부 또는 동작에 한정되는 것은 아님을 알아야 한다. 오히려 특정 특징부 및 동작은 청구되는 발명을 구현하는 예시적 형태로서 개시된 것이다.

Claims (10)

  1. 컴퓨팅 장치에 의해 구현되는 방법으로서,
    요청에 응답하여 사용자 계정과 연관된 온라인 저장장치로부터의 아이템을 하나 이상의 수신자와 공유하기 위해 상기 하나 이상의 수신자에게 배포되도록 공유 링크(sharing link)를 생성하는 단계,
    상기 하나 이상의 수신자에 의한 상기 공유 링크의 선택에 응답하여, 상기 하나 이상의 수신자가 상기 아이템에 대한 권한(permission)을 갖는 그룹으로 옵트-인(opt-in)하기 위한 옵션(option)을 노출시키는 단계, 및
    상기 옵션을 행사하는 상기 하나 이상의 수신자를 상기 아이템에 대한 권한을 갖는 그룹에 추가하는 단계를 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 공유 링크를 상기 하나 이상의 수신자에게 배포하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  3. 제1항에 있어서,
    상기 공유 링크의 복사 및 배포를 가능하게 하도록 상기 공유 링크를 갖는 사용자 인터페이스를 클라이언트에게 출력하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 공유 링크를 생성하는 단계는 상기 공유 링크 내에 상기 아이템에 대한 권한을 인코딩하는 단계를 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  5. 제1항에 있어서,
    생성된 상기 공유 링크를 액세스 제어 리스트(access control list)에 의해 정의되는 상기 아이템에 대한 상기 권한으로 매핑(mapping)하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 그룹의 구성원 수는 상기 그룹으로 옵트-인하기 위한 옵션을 행사하는 수신자에 의해 결정되는
    컴퓨팅 장치에 의해 구현되는 방법.
  7. 제1항에 있어서,
    상기 수신자가 상기 그룹으로 옵트-인하기 위한 옵션을 행사할 때까지 상기 공유 링크의 상기 수신자에게 상기 아이템에 대한 제한된 액세스를 승인하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  8. 제1항에 있어서,
    상기 옵션을 행사하는 수신자를 상기 그룹에 추가하는 단계는 옵트-인하는 수신자가 그룹의 구성원이 되도록 옵트-인하는 수신자의 계정 식별자를 상기 그룹과 연관시키는 단계를 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  9. 제1항에 있어서,
    온라인 저장장치를 보고 관리하도록 상기 옵트-인하는 수신자의 표현(representation)을 사용자 인터페이스 내에 상기 아이템과 연관시켜 표시하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
  10. 제9항에 있어서,
    상기 사용자 인터페이스를 통해 상기 옵트-인하는 수신자의 관리를 개인별로 그리고 상기 공유 링크의 관리와 별개로 가능하게 하는 단계를 더 포함하는
    컴퓨팅 장치에 의해 구현되는 방법.
KR1020147006159A 2011-09-08 2012-09-04 그룹 옵트-인 링크 기법 KR20140064846A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/228,283 US20130066975A1 (en) 2011-09-08 2011-09-08 Group Opt-In Links
US13/228,283 2011-09-08
PCT/US2012/053621 WO2013036471A2 (en) 2011-09-08 2012-09-04 Group opt-in links

Publications (1)

Publication Number Publication Date
KR20140064846A true KR20140064846A (ko) 2014-05-28

Family

ID=47830804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006159A KR20140064846A (ko) 2011-09-08 2012-09-04 그룹 옵트-인 링크 기법

Country Status (6)

Country Link
US (1) US20130066975A1 (ko)
EP (1) EP2754061A4 (ko)
JP (1) JP2014531650A (ko)
KR (1) KR20140064846A (ko)
CN (1) CN103067436A (ko)
WO (1) WO2013036471A2 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053019A2 (en) 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US8988087B2 (en) 2011-01-24 2015-03-24 Microsoft Technology Licensing, Llc Touchscreen testing
US8725443B2 (en) 2011-01-24 2014-05-13 Microsoft Corporation Latency measurement
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
US20130311597A1 (en) * 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9639318B2 (en) * 2012-09-26 2017-05-02 Tencent Technology (Shenzhen) Company Limited Systems and methods for sharing image data
US9231939B1 (en) * 2012-10-09 2016-01-05 Google Inc. Integrating business tools in a social networking environment
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
CN105612547A (zh) * 2013-11-06 2016-05-25 英特尔公司 统一用于云内容共享服务的接口
US20150156159A1 (en) * 2013-12-02 2015-06-04 Qwasi, Inc. Systems and methods for text to social networking site to buy
US9461949B2 (en) * 2014-01-31 2016-10-04 Dropbox, Inc. Managing links and invitations to shared content
US9699152B2 (en) 2014-08-27 2017-07-04 Microsoft Technology Licensing, Llc Sharing content with permission control using near field communication
US11151614B2 (en) * 2014-09-26 2021-10-19 Comcast Cable Communications, Llc Advertisements blended with user's digital content
US10650085B2 (en) * 2015-03-26 2020-05-12 Microsoft Technology Licensing, Llc Providing interactive preview of content within communication
US9961085B2 (en) 2015-06-15 2018-05-01 Microsoft Technology Licensing, Llc Linking identities in a network entity
CN105227624B (zh) * 2015-08-24 2019-04-26 联想(北京)有限公司 一种文件上传方法、保存方法及装置
US10904188B2 (en) * 2016-06-28 2021-01-26 International Business Machines Corporation Initiating an action based on a determined navigation path data structure
US10476768B2 (en) 2016-10-03 2019-11-12 Microsoft Technology Licensing, Llc Diagnostic and recovery signals for disconnected applications in hosted service environment
US20180337929A1 (en) * 2017-05-17 2018-11-22 Bank Of America Corporation Access Control in a Hybrid Cloud Infrastructure - Cloud Technology
WO2018226030A1 (ko) * 2017-06-08 2018-12-13 (주)오투팜 그룹내부정보 공유방법 및 공유프로그램
US10880465B1 (en) 2017-09-21 2020-12-29 IkorongoTechnology, LLC Determining capture instructions for drone photography based on information received from a social network
FR3073998B1 (fr) * 2017-11-23 2019-11-01 In Webo Technologies Procede numerique de controle d'acces a un objet, une ressource ou service par un utilisateur
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
CN112487451B (zh) * 2020-11-30 2023-01-17 北京字跳网络技术有限公司 展示方法、装置和电子设备
US11609770B2 (en) 2021-06-28 2023-03-21 Dropbox, Inc. Co-managing links with a link platform and partner service
US12039068B2 (en) * 2021-06-28 2024-07-16 Dropbox, Inc. Links as actors in a file system
US11675864B2 (en) 2021-06-28 2023-06-13 Dropbox, Inc. Proxy links to support legacy links
US12039063B2 (en) 2021-06-28 2024-07-16 Dropbox, Inc. Links platform-as-a-service

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832366B2 (en) * 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
JP2004234059A (ja) * 2003-01-28 2004-08-19 Oki Electric Ind Co Ltd 情報提供システム
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US7627569B2 (en) * 2005-06-30 2009-12-01 Google Inc. Document access control
CA2615659A1 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US7627652B1 (en) * 2006-01-31 2009-12-01 Amazon Technologies, Inc. Online shared data environment
US8280982B2 (en) * 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
KR100832130B1 (ko) * 2006-08-29 2008-05-27 울산대학교 산학협력단 웹데브를 기반으로 하는 공유웹공간 형성방법 및 이를구현하기 위한 인터페이스
US20080208963A1 (en) * 2006-10-19 2008-08-28 Aviv Eyal Online File Sharing
JP5000457B2 (ja) * 2007-10-31 2012-08-15 株式会社日立製作所 ファイル共有システム及びファイル共有方法
US20100010998A1 (en) * 2008-07-09 2010-01-14 The Go Daddy Group, Inc. Document storage access on a time-based approval basis
US8599701B2 (en) * 2009-04-16 2013-12-03 Qualcomm Incorporated Systems, methods and devices to enable management of wireless network resources
KR20110005946A (ko) * 2009-07-13 2011-01-20 주식회사 온더아이티 위키와 통합커뮤니케이션을 활용한 가상 협업 시스템
KR101633928B1 (ko) * 2009-08-11 2016-06-27 엘지전자 주식회사 소셜 네트워크 서비스 제공 방법 및 장치
US9195843B2 (en) * 2009-12-01 2015-11-24 Smugmug, Inc. Systems and methods for permissioning remote file access via permissioned links
US9112863B2 (en) * 2009-12-14 2015-08-18 International Business Machines Corporation Method, program product and server for controlling a resource access to an electronic resource stored within a protected data environment
US9049176B2 (en) * 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation

Also Published As

Publication number Publication date
EP2754061A4 (en) 2015-04-22
EP2754061A2 (en) 2014-07-16
CN103067436A (zh) 2013-04-24
WO2013036471A3 (en) 2013-05-02
JP2014531650A (ja) 2014-11-27
WO2013036471A2 (en) 2013-03-14
US20130066975A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
US9935963B2 (en) Shared item account selection
KR20140064846A (ko) 그룹 옵트-인 링크 기법
US20130067303A1 (en) Distinct Links for Publish Targets
US20230244776A1 (en) Secure association of an installed application instance with a service
US11159626B2 (en) Session transfer between resources
US10623406B2 (en) Access authentication for cloud-based shared content
KR101929598B1 (ko) 운영체제 및 애플리케이션 사이에서 사용자 id의 공유 기법
EP3189650B1 (en) Shared session techniques
EP3146693B1 (en) Bifurcated authentication token techniques
US20090205014A1 (en) System and method for application-integrated information card selection
US20220278992A1 (en) Method and Apparatus for Securely Co-Browsing Documents and Media URLs
CN105659558A (zh) 具有单一、灵活、可插拔OAuth服务器的多个资源服务器和OAuth保护的RESTful OAuth同意管理服务,以及对OAuth服务的移动应用单点登录

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid