KR20170021831A - 쿠리어 네트워크 서비스 - Google Patents

쿠리어 네트워크 서비스 Download PDF

Info

Publication number
KR20170021831A
KR20170021831A KR1020177000487A KR20177000487A KR20170021831A KR 20170021831 A KR20170021831 A KR 20170021831A KR 1020177000487 A KR1020177000487 A KR 1020177000487A KR 20177000487 A KR20177000487 A KR 20177000487A KR 20170021831 A KR20170021831 A KR 20170021831A
Authority
KR
South Korea
Prior art keywords
courier
electronic data
content
recipient
logic
Prior art date
Application number
KR1020177000487A
Other languages
English (en)
Other versions
KR102330737B1 (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 KR20170021831A publication Critical patent/KR20170021831A/ko
Application granted granted Critical
Publication of KR102330737B1 publication Critical patent/KR102330737B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2596Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses

Abstract

예시적인 장치들은 대상 전자 데이터가 어떻게 선택되고 제1 물리적 위치에 있는 제공자와 제2 물리적 위치에 있는 수신자 사이에서 쿠리어 방식으로 배달(예컨대, 물리적으로 전달)되는지를 제어하는 것을 용이하게 한다. 장치, 방법, 또는 서비스는 쿠리어 네트워크에서 대상 전자 데이터 또는 대상 전자 데이터에 관한 메타데이터의 흐름을 제어할 수 있다. 서비스는 대상 전자 데이터에 대한 요청들 또는 대상 전자 데이터가 식별될 수 있는 근거가 되는 정보를 고려할 수 있다. 서비스는 또한 수신자가 원할 수 있는 콘텐츠에 관한 예측들을 고려할 수 있다. 대상 전자 데이터는 수신자에 있는 운영 체제, 애플리케이션, 또는 콘텐츠의 현재 상태 및 운영 체제, 애플리케이션, 또는 콘텐츠의 원하는 상태에 관한 정보에 기초하여 식별될 수 있다. 데이터를 쿠리어 방식으로 배달하기 위해 선택된 쿠리어 디바이스들의 수 및 ID는 쿠리어 네트워크에서의 쿠리어들과 수신자들 사이의 친숙성 지수에 기초할 수 있다.

Description

쿠리어 네트워크 서비스{COURIER NETWORK SERVICE}
종래의 콘텐츠 분배 시스템들은 콘텐츠가 분배되어야 하는 디바이스가 인터넷 연결을 가질 것으로 가정한다. 콘텐츠 공급자는 따라서 콘텐츠에 대한 모든 요청들이 콘텐츠가 제공되어야 하는 디바이스들로부터 직접 올 것이라는 가정에 기초하여 그의 콘텐츠 분배를 구성할 수 있다. 콘텐츠에 대한 요청들이 인터넷 인프라를 통과할 수 있는 반면, 종래의 콘텐츠 공급자들은 콘텐츠 요청자들과의 실시간, 양방향 통신이 이용가능할 것이라고 가정한다. 이와 같이, 종래의 콘텐츠 분배 시스템들은 실시간, 양방향 통신에 의존하는 복잡한 인증, 권한 부여, 및 오류 검사 접근법들을 이용할 수 있다. 이 모델이 많은 사용자들에 대해 적절히 동작하지만, 이 종래의 접근법은 일관된, 상시 동작, 고속, 양방향 인터넷 연결을 갖지 않는 엄청난 수의 디지털 디바이스 사용자들에 대해서는, 있더라도, 제한된 적용가능성을 갖는다.
세계에는 약 72억명의 사람들이 있다. 또한 약 15억대의 휴대폰들 및 스마트폰들이 있다. 많은 사람들에게는, 즉시 접속 고속 실시간 연결이 기본이다. 수십억의 다른 사람들에게는, 하루에 한번 또는 심지어 일주일에 한번의 이메일, 소셜 미디어 상호작용, 또는 다른 "연결"이 혁명적일 것이다. 인터넷에 연결할 수 있는 디바이스들(예컨대, 스마트폰들, 태블릿들, 랩탑들, 컴퓨터들, 게임 시스템들)이 거의 어디에나 존재하는 것처럼 보인다. 샌프란시스코의 거리들을 걷고 있든, 멀리 떨어져 있는 높은 안데스 산맥에서 하이킹하든, 외몽고의 알려지지 않은 지역들로 트레킹하든, 시애틀에 있는 커피숍에 앉아 있든, 또는 오하이오에 있는 아미쉬 마을에서 평온한 주말을 보내든 간에, 연결 기반 디바이스(connection enabled device)가 근방에(예컨대, 당신의 손에) 있을 가능성이 있다. 디바이스들은 거의 어디에나 존재하지만, 연결은 그렇지 않다. 연결이 세계의 가장 멀리 있는 오지에까지 계속하여 더 깊숙히 도달하지만, 여전히 커버리지 갭이 있다. 미국에서 인기있는 텔레비전 광고들은 다양한 통신사업자들에 대한 커버리지 맵(coverage map)들을 비교한다. 커버리지 맵들 모두는 상당한 갭들을 보여주고 있다. 단지 연결 인프라가 없는 실제의 갭들에 부가하여, 연결이 너무 고가이거나, 너무 느리거나, 또는 너무 안전하지 않아서 실용적으로 또는 경제적으로 유용하지 않은 경우, 갭들이 실용적이거나 경제적일 수 있다.
디바이스들이 거의 어디든지 있기 때문에, 그리고 연결이 아직은 어디든지 있지는 않기 때문에, 인터넷과 빈번히 통신하기 위해 사용되는 디바이스들은, 연결이 이용가능하지 않을 때, 어쩔 수 없이 감소된 레벨로 기능하게 되어 있을 수 있다. 이 감소된 기능이 때로는 불편할 수 있지만, 다른 때에는 경제적으로 또는 심지어 물리적으로 위험할 수 있다. 예를 들어, 텔레비전 프로그램의 가장 최근의 버전을 볼 수 없는 것이 불편할 수 있는 반면, 지도에 대한 가장 최근의 업데이트를 수신할 수 없는 것 또는 긴급한 기상 속보를 수신할 수 없는 것은 물리적으로 위험할 수 있다. 가장 최근의 보안 업데이트 또는 암호화 업데이트를 수신할 수 없는 것은 경제적으로 위험할 수 있다. 감소된 기능이 위험한지 단지 짜증나는지에 관계없이, 연결의 상실은 모바일 디바이스들의 효용성(utility)을 감소시킨다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 더 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 언급하려고 의도되어 있지도 않고, 청구된 발명 요지의 범주를 제한하기 위해 사용되는 것으로 의도되어 있지도 않다.
예시적인 장치들 및 방법들은 쿠리어 네트워크 접근법을 사용하여 디지털 콘텐츠 분배를 제어하는 것을 용이하게 하는 서비스를 제공한다. 쿠리어 네트워크 접근법에서, 상시 동작, 고속, 양방향 인터넷 연결이 모든 통신에 대해 이용되지 않는 것은 아니다. 그 대신에, 적어도 일부 통신에 대해 비연결형 디바이스와 디바이스간, 또는 디바이스와 목적지간 접근법이 이용된다. 예시적인 장치들 및 방법들은 쿠리어 네트워크에서 콘텐츠 분배를 제어하기 위한 서비스를 제공한다. 서버는 많은 양의 저장소에 액세스할 수 있지만, 모바일 디바이스는 보다 적은 양의 저장소에 액세스할 수 있으며, 쿠리어 역할로 기능할 때 특히 그렇다. 서비스는 따라서 쿠리어로서 기능하는 모바일 디바이스에 제공될 콘텐츠를 선택할 수 있다. 선택은 서비스가 쿠리어 디바이스에 대해 알고 있는 것에 의해 그리고 서비스가 쿠리어와 상호작용할 가능성이 있는 수신자(recipient) 디바이스들에 대해 알고 있는 것에 의해 결정될 수 있다.
일 예에서, 쿠리어가 어느 콘텐츠를 어느 수신자들에게 제공했는지를 식별하기 위해 콘텐츠 공급자들과 쿠리어로서 기능하는 모바일 디바이스 사이의 상호작용들이 검사된다. 이 식별은 쿠리어가 만날 가능성이 있는 수신자들을 위한 콘텐츠를 예측하거나 선택하는 데 사용될 수 있다. 식별은 수신자들로부터 수신된 요청들에 수신자의 상태(예컨대, 로딩된 운영 체제, 사용된 애플리케이션들, 취득된 콘텐츠)에 관한 지식에, 쿠리어의 이동 패턴(travel pattern)들에 관한 지식에, 또는 다른 정보에 기초할 수 있다. 식별은 이어서, 예를 들어, 쿠리어 또는 수신자에 대한 서비스에 의해 관리되는 계정 상태(예컨대, 전액 지불, 계정 한도 근접, 한도 초과)에 기초하여 필터링되거나 변경될 수 있다. 식별은 또한, 예를 들어, 쿠리어 또는 수신자에 대한 서비스에 의해 관리되는 평판(reputation)(예컨대, 수신자가 라이센스 조건을 위반한 적이 없음, 수신자가 라이센스 조건을 위반한 적이 있음, 쿠리어가 라이센스 결제(license payment)를 원하는 시간 프레임 내에 배달함)에 기초하여 필터링되거나 변경될 수 있다. 서비스는 쿠리어 네트워크의 여러가지 양태들을 극대화하는 것을 용이하게 하도록 구성될 수 있다. 예를 들어, 서비스는 특정의 쿠리어의 효용성을 극대화하도록 시도할 수 있거나, 쿠리어들의 세트의 효용성을 극대화하도록 시도할 수 있거나, 쿠리어(들)의 수익성을 극대화하도록 시도할 수 있거나, 다른 방식들로 구성될 수 있다.
첨부 도면들은 본원에 기술되는 다양한 예시적인 장치들, 방법들, 및 다른 실시예들을 예시하고 있다. 도면들에서의 예시된 요소 경계들(예컨대, 박스, 박스들의 그룹, 또는 다른 형상)이 경계들의 하나의 예를 나타낸다는 것을 잘 알 것이다. 일부 예에서, 하나의 요소가 다수의 요소들로서 설계될 수 있거나 다수의 요소들이 하나의 요소로서 설계될 수 있다. 일부 예에서, 다른 요소의 내부 컴포넌트로서 도시된 요소가 외부 컴포넌트로서 구현될 수 있고, 그 반대일 수 있다. 게다가, 요소들이 축척대로 그려져 있지 않을 수 있다.
도 1은 연결 해제된 디바이스와 쿠리어로서 기능할 수 있는 디바이스를 나타낸 도면.
도 2는 연결 해제된 디바이스와 쿠리어로서 기능하는 디바이스를 나타낸 도면.
도 3은 쿠리어 네트워크 서비스를 제공하는 것과 연관된 방법을 나타낸 도면.
도 4는 쿠리어 네트워크 서비스를 제공하는 것과 연관된 방법을 나타낸 도면.
도 5는 쿠리어 네트워크 서비스를 제공하는 것과 연관된 예시적인 장치를 나타낸 도면.
도 6은 쿠리어 네트워크 서비스를 제공하는 것과 연관된 예시적인 장치를 나타낸 도면.
도 7은 예시적인 클라우드 운영 환경을 나타낸 도면.
도 8은 예시적인 이동 통신 디바이스를 나타낸 시스템도.
도 9는 예시적인 쿠리어를 기다리는 예시적인 디바이스들의 컬렉션을 나타낸 도면.
도 10는 예시적인 쿠리어가 도착한 후의 예시적인 디바이스들의 컬렉션을 나타낸 도면.
종래의 콘텐츠 공급자들은 콘텐츠 요청자와 콘텐츠 공급자 사이의 상시 동작, 고속, 저가, 양방향, 인터넷 기반 연결의 가정에 기초하여 디지털 콘텐츠 배달 시스템들을 설계할 수 있다. 그렇지만, 이 가정이 유효하지 않을 수 있는 많은 지역들에서 그리고 많은 상황들에서, 배달이 이용가능하지 않거나, 신뢰할 수 없거나, 안전하지 않거나, 단속적인(intermittent) 연결로 인해 불가능하거나 실현가능하지 않을 수 있다. 배달이 또한 용납할 수 없는 전송 속도 또는 비용을 비롯한 인자들로 인해 불가능하거나 실현가능하지 않을 수 있다. 이 "마지막 1마일 문제(last mile problem)"가 일부 위치들(예컨대, "마지막 100마일(last hundred mile)" 문제일 수 있는 외딴 지역들)에서는 보다 보편적일 수 있는 반면, 마지막 1마일 문제가 또한, "마지막 20야드(last twenty yards)" 문제일 수 있는, 가장 많은 양의 인프라를 가지는 위치들에서도 봉착된다. 예를 들어, 주목할 만한 이벤트가 있을 때, 심지어 가장 강건한 인프라가 이벤트에 관해 동시에 통신하는 연결된 디바이스들의 사용자들에 의해 무력화될 수 있다. 종래의 시스템이 무력화될 때, 종래의 콘텐츠 배달 모델이 동작하지 않을 수 있다.
모바일 디바이스들(예컨대, 전화, 태블릿, 랩탑, 게임 디바이스)은 널리 이용가능하고 이동가능하다. 이동가능한 이 디바이스들은 여기저기로 움직인다. 이 디바이스들은 손에서 손으로, 방에서 방으로, 건물에서 건물로, 도시에서 도시로, 국가에서 국가로, 그리고 심지어 대륙에서 대륙으로 계속하여 변하는 경로들 및 패턴들로 움직인다. 이 모바일 디바이스들은 콘텐츠를 위치에서 위치로 전달하는 데 사용될 수 있는 메모리, 및 그 콘텐츠를 도달거리 내에 들어오는 디바이스들에 분배하는 비인터넷 기반 통신 접근법들을 가진다. 빈번히 움직이고 있는 수십억대의 모바일 디바이스들은 디바이스간 통신을 이용하는 쿠리어 기반 연결(courier-based connectivity)을 제공하는 것을 용이하게 한다. 쿠리어 기반 연결은 인터넷 기반 연결이 아니라 콘텐츠 분배를 위해 사용될 수 있다. 예시적인 장치들 및 방법들은 디지털 콘텐츠의 지능적 분배를 위해 쿠리어 기반 연결을 사용하는 것을 용이하게 하는 서비스를 제공한다. 쿠리어 기반 연결은 콘텐츠를 분배하는 비연결형, 단속적, 다중 경로 접근법을 제공할 수 있다. 예시적인 장치들 및 방법들은 분배될 콘텐츠를 식별하는 것, 식별된 콘텐츠를 전달할 쿠리어들을 식별하는 것, 및 쿠리어 네트워크에서 콘텐츠의 흐름을 제어하는 것을 용이하게 한다.
D2D(device-to-device) 통신은 널리 알려져 있고 계속하여 진화하고 있다. 예를 들어, NFC(near field communication)는 아주 가까이 근접해 있는 2개의 디바이스들이 디지털 데이터를 공유할 수 있는 범프 연결(bump connectivity)을 용이하게 해왔다. D2D 연결은 NFC를 통해 가능한 것보다 더 긴 도달거리에서 일어날 수 있다. 예를 들어, WiFi, 블루투스, 또는 다른 비인터넷 기반 근거리 통신이 이용될 수 있다. 임의의 주어진 때에, 모바일 디바이스가 수십 또는 심지어 수백대의 모바일 디바이스들의 D2D 도달거리 내에 있을 수 있다. 이 로컬 연결 현상이 인터넷에 연결하기 위해 또는 콘텐츠 공유가 이용될 수 있는 애드혹 로컬 네트워크들을 생성하기 위해 모바일 핫스폿들 또는 다른 기법들을 이용하는 D2D 환경들에서 이용되어 왔다.
특정 유형들의 통신 및 연결을 위해 D2D가 이용되어 왔지만, 마지막 1마일 문제, 마지막 100마일 문제, 및 마지막 20야드 문제가 여전히 남아 있고, 어떤 경우에, 보다 심각하게 되고 있다. 점점 더 많은 디바이스들이 이용가능하고 다른 모바일 디바이스들과 접촉하게 됨에 따라 D2D 상호작용들을 위한 기회들이 증가한다. 예시적인 장치들 및 방법들은 쿠리어 네트워크를 제어하기 위해 여기저기로 이동하는 모바일 디바이스들이 D2D뿐만 아니라 디바이스-목적지간 또는 목적지-디바이스간에서도 데이터를 전송하는 현상을 사용한다. 예시적인 장치들 및 방법들은 고정된 시점에서 현재 D2D 도달거리 내에 있는 디바이스들뿐만 아니라, 쿠리어로서 기능하는 모바일 디바이스가 만날 수 있는 디바이스들 또는 목적지들도 고려한다. 쿠리어 네트워크는 전송을 위해 인터넷 연결에 의존하지 않는 쿠리어 기반 물리적 수송 접근법을 사용한다.
쿠리어 방식으로 배달될 때, 데이터는, 취득되고 나서 몇 시간 후에, 수마일 떨어진 곳으로 전송될 수 있다. 즉각적인 라이센스 결제, 즉각적인 체크섬 검증(checksum verification), 또는 다른 즉각적인 피드백을 필요로 하는 종래의 콘텐츠 배달 시스템들이 쿠리어 네트워크 환경에서 기능할 수 없지만, 예시적인 장치들 및 방법들은 데이터가 쿠리어 네트워크 내의 모바일 디바이스에서 이곳저곳으로 물리적으로 수송될 때 통신들 사이의 시간을 수용한다.
쿠리어 기반 네트워크는 모바일 디바이스 생태계라고 생각될 수 있다. 콘텐츠(예컨대, 디지털 데이터) 또는 콘텐츠에 대한 요청들이 쿠리어를 통해, 수신자를 통해, 공급자를 통해, 또는 다른 방식들로 모바일 디바이스 생태계에 들어갈 수 있다. 쿠리어는 생태계에서 이리저리 움직일 수 있다. 쿠리어가 디바이스를 만날 때, 만난 디바이스와 쿠리어 사이에서 전송이 일어날 수 있다. 전송은 쿠리어로부터 만난 디바이스 쪽으로 또는 만난 디바이스로부터 쿠리어 쪽으로 흐를 수 있다. 통신이 인터넷를 거치지 않을 수 있다. 통신은 정보를 전송할 수 있고, 이 정보로부터 콘텐츠가 예시적인 서비스에 의해 선택될 수 있다.
예시로서, 인터넷에 연결될 때 또는 콘텐츠 공급자가 다른 방식으로 보일 때, 쿠리어는 콘텐츠 공급자로부터 애플리케이션에 대한 업데이트를 수신할 수 있다. 쿠리어가 그 애플리케이션을 가지는 디바이스를 만날 때, 쿠리어는 업데이트를 만난 디바이스로 푸시할 수 있거나, 업데이트를 만난 디바이스가 풀링할 수 있도록 할 수 있다. 만난 디바이스는 만난 디바이스가 쿠리어로부터 어떤 콘텐츠(있는 경우)를 배달받고 싶은지를 결정하기 위해 쿠리어에 질문할 수 있다. 만난 디바이스는 또한 만난 디바이스가 장래에 수신하고자 할 콘텐츠에 관한 정보를 쿠리어에게 제공할 수 있다. 쿠리어는 이어서 콘텐츠 공급자에의 연결 또는 가시성(visibility)을 회복하고 콘텐츠에 대한 요청들을 업로드하며 콘텐츠 공급자로부터 콘텐츠를 다운로드할 수 있다. 연결을 회복하기 전에 또는 그 후에, 쿠리어는 다른 위치로 움직이고, 다른 만난 디바이스들과 이 프로세스를 반복할 수 있다. 예시적인 장치들 및 방법들은 쿠리어 네트워크에서 디바이스들 사이의 상호작용들을 모니터링하는 서비스를 제공한다. 어떤 콘텐츠가 쿠리어에 의해 전달되어야 하는지에 관한 결정이 모니터링된 상호작용들에 관한 정보에 기초하여 행해질 수 있다.
쿠리어 디바이스들은 유한한 자원들을 가진다. 모든 가능한 수신자가 실제로 필요로 하거나 원할지도 모르는 모든 편의 콘텐츠를 쿠리어 디바이스에 적재하는 것은 불가능하다. 따라서, 예시적인 장치들 및 방법들은 어느 콘텐츠를 어느 쿠리어들에게 제공할지에 관한 선택을 한다. 결정은, 예를 들어, 쿠리어가 만날 가능성이 있는 특정 수신자들에, 쿠리어가 만날 가능성이 있는 수신자들의 부류들에, 콘텐츠 공급자가 가능한 한 널리 유포되는 것을 원하는 정보에, 콘텐츠에 대한 수신자 디바이스들로부터의 요청들에 기초할 수 있거나, 다른 인자들에 기초할 수 있다.
일 예에서, 만난 디바이스는 차례로 부가 콘텐츠를 제공하는 쿠리어로서 기능할 수 있는 또는 쿠리어로서 기능하는 만난 디바이스로부터 콘텐츠를 수신하는 만난 디바이스로서 기능하는 다른 디바이스들을 만날 수 있다. 이러한 방식으로, 디지털 콘텐츠 또는 디지털 콘텐츠에 대한 요청들이 인터넷을 사용함이 없이 디바이스들 사이의 만남들 동안에 생태계 전체에 걸쳐 확산될 수 있다. 이것은, 예를 들어, CourierNet 또는 TomasNet(Transfer Over Mobile Apparatus Service)이라고 지칭될 수 있다. 다른 예들에서, 쿠리어 디바이스들이 물리적으로 이곳저곳으로 움직이고 따라서 그들의 메모리들 내의 데이터를 물리적으로 이곳저곳으로 전달할 때, 콘텐츠가 유기적으로 확산될 수 있거나, 서비스에 의해 지시된 대로 확산될 수 있거나, 로컬 디바이스 레벨에서 제어 하에서 확산될 수 있거나, 다른 방식들로 확산될 수 있다. 예시적인 장치들 및 방법들은 모바일 디바이스 생태계에서의 콘텐츠 분배 패턴들을 학습하는 서비스를 제공한다. 콘텐츠 분배 패턴들을 학습하는 것은 콘텐츠 제공에 대한 효용성 척도(measure)를 개선시키는 것을 용이하게 할 수 있다.
하나의 디바이스가 쿠리어로서 기능하고 하나의 디바이스가 수신자로서 기능하는 간단한 쿠리어 네트워크 시나리오를 생각해보자. 어떤 시점에서, 쿠리어는 수신자가 관심을 갖고 있는 콘텐츠를 취득할 수 있다. 다른 실시예에서, 쿠리어는 서비스의 지시로 콘텐츠를 취득할 수 있거나, 수신자로부터의 이전의 요청에 응답하여 콘텐츠를 취득할 수 있거나, 그 자체적으로 콘텐츠를 취득할 수 있거나, 콘텐츠 공급자로부터의 지시에 응답하여 콘텐츠를 취득할 수 있거나, 다른 이유들로 콘텐츠를 취득할 수 있다. 쿠리어 디바이스와 수신자 디바이스가 인터넷 또는 다른 장거리 연결들(예컨대, 셀룰러)을 사용함이 없이 통신하기에 충분히 가까이 있을 때, 콘텐츠가 쿠리어 디바이스의 메모리로부터 수신자 디바이스의 메모리로 전송될 수 있다. 그에 부가하여, 콘텐츠에 대한 요청이 수신자 디바이스의 메모리로부터 쿠리어 디바이스의 메모리로 전송될 수 있다. 예시적인 장치들 및 방법들은 상호작용들 또는 전송들에 관한 정보를 수신할 수 있고, 이어서 그 정보에 기초하여 조치들을 취할 수 있다. 예를 들어, 서비스는 사용자 계정을 업데이트할 수 있거나, 서비스는 수신자 디바이스 평판을 업데이트할 수 있거나, 서비스는 배달된 콘텐츠에 대한 영수증을 수신하고 저장할 수 있거나, 서비스는 특정의 수신자에 대한 배달된 콘텐츠를 업로드하지 말라는 지시들을 기록할 수 있거나, 다른 조치들이 취해질 수 있다. 서비스는 어떤 콘텐츠가 배달되었는지, 어떤 콘텐츠가 필요할 수 있는지, 요청들을 둘러싼 패턴들, 프로비저닝, 만남들, 및 쿠리어 네트워크에서 어떤 일이 일어나고 있는지에 관한 다른 정보를 고려한다.
일 예에서, 사용자는 연결 해제된 위치(예컨대, 산속의 오두막)에 랩탑 컴퓨터를 가질 수 있고, 연결이 있는 "도시로" 가지고 가는 모바일 디바이스를 가질 수 있다. 모바일 디바이스는 랩탑로부터의 메타데이터를 모바일 디바이스가 예시적인 서비스에 액세스할 수 있는 위치로 전달할 수 있을 것이다. 모바일 디바이스는 또한 콘텐츠 공급자로부터의 콘텐츠를 다시 랩탑으로 전달할 수 있을 것이다. 어느 콘텐츠가 모바일 디바이스에 제공되는지는 예시적인 서비스에 의해 제어될 수 있다. 예시적인 서비스는 랩탑 컴퓨터가 특정 운영 체제의 특정 버전을 가지고 있다는 것을 인식할 수 있다. 모바일 디바이스가 인터넷에 연결되거나 서비스에 다른 방식으로 보일 때, 서비스는 운영 체제에 대한 업데이트가 모바일 디바이스에 제공되게 할 수 있다. 랩탑 또는 모바일 디바이스가 업데이트를 요청할 필요 없이 전송이 일어날 수 있다 완전 연결된 모델(fully connected model)에서, 랩탑은 부팅 프로세스 또는 다른 유지관리 프로세스의 일부로서 운영 체제 웹사이트 또는 서버에 주기적으로 질의할 수 있다. 그러나, 랩탑이 인터넷에 결코 연결되지 않는 연결 해제된 환경에서, 운영 체제에 대한 업데이트들이 종래에는 이용가능하지 않았다. 쿠리어 네트워크를 사용하여, 모바일 디바이스가 취득 지점으로부터 다시 랩탑 컴퓨터를 갖는 오두막으로 이동한 후에, 예시적인 서비스의 제어 하에서 제공된 운영 체제에 대한 업데이트가 랩탑으로 전송될 수 있다. 모바일 디바이스가 또다시 인터넷에 연결되거나 서비스에 다른 방식으로 보일 때, 랩탑 상의 운영 체제가 업데이트되어 있다는 사실이 서비스에 보고될 수 있다. 서비스는 이어서 랩탑에 배달하기 위한 상이한 콘텐츠를 선택할 수 있고, 여기서 이 선택은 랩탑 상의 운영 체제에 대해 지식에 의해 안내된다.
운영 체제가 언급되어 있지만, 전송되는 콘텐츠는 영화, 책, 웹 페이지, 문서, 사진, 비디오, 애플리케이션, 애플리케이션 패치, 애플리케이션 업데이트, 운영 체제, 운영 체제 업데이트, 보안 패치, 암호화 키, 및 다른 정보를 포함할 수 있지만, 이들로 제한되지 않는다. 쿠리어로부터 수신자로의 직접 전송이 기술되어 있지만, 일 실시예에서, 콘텐츠가 수신자에 도달하기 전에 일련의 쿠리어들을 통과할 수 있다. 또한, 쿠리어가 콘텐츠를 다수의 수신자들에게 제공할 수 있다. 예시적인 서비스는 어느 쿠리어들이 어느 콘텐츠를 어느 수신자들에 제공하는지를 모니터링할 수 있고, 패턴들을 식별할 수 있으며, 이어서 패턴들에 기초하여 콘텐츠가 쿠리어들에게 어떻게 제공되는지를 제어할 수 있다.
일련의(예컨대, 2개의) D2D 전송들이 인터넷 통신보다 더 안전할 수 있다. 이와 같이, 예시적인 서비스는 콘텐츠가 어떻게 쿠리어에게 제공되는지를 제어할 수 있고, 쿠리어가 어떻게 콘텐츠를 수신자에게 배달할 수 있는지를 제어할 수 있다. 쿠리어는 제1 보안 통신을 통해 콘텐츠를 수신하고 이어서, 쿠리어가 수신자 디바이스를 만나서 디지털 콘텐츠를 제2 보안 연결을 통해 수신자 디바이스로 전송하는, 제2 위치로 이동할 수 있다. 서비스는 인터넷 통신보다 이 쿠리어 네트워크 기반 보안 통신을 선택할 수 있는데, 그 이유는 민감한 데이터가 인터넷에 노출되는 일 없이 제공자로부터 쿠리어에게 직접 그리고 쿠리어로부터 수신자에게 직접 전송될 수 있기 때문이다. 서비스는 암호화 키, 일회용 암호 패드(cipher pad), 또는 다른 데이터의 분배를 이러한 방식으로 제어할 수 있다.
도 1은 연결 해제된 디바이스(110), 연결 해제된 디바이스(112), 및 쿠리어 네트워크에서 쿠리어로서 기능할 수 있는 연결된 디바이스(120)를 나타내고 있다. 연결된 디바이스(120)는, 예를 들어, 인터넷(130) 또는 다른 네트워크 또는 애플리케이션에 연결될 수 있다. 인터넷(130) 또는 다른 연결들을 통해, 디바이스(120)는 서비스(160), 카탈로그(170), 또는 다른 애플리케이션들 또는 콘텐츠에 액세스할 수 있다. 디바이스들(110 및 112)은, 예를 들어, 산맥(100)에 의해 디바이스(120) 및 인터넷(130)으로부터 분리되어 있을 수 있다. 이와 같이, 디바이스들(110 및 112)은 인터넷(130), 서비스(160), 또는 카탈로그(170)에의 어떤 직접 연결도 갖지 않을 수 있다. 그렇지만, 디바이스들(110 및 112)은 여전히 디지털 콘텐츠를 취득하고자 할 수 있다.
안데스 산맥에 있는 마을을 생각해보자. 마을에 있는 아이들은 스마트폰들 및 태블릿들을 가질 수 있고, 비디오 축구 게임을 플레이하는 것을 좋아할 수 있다. 마을은 인터넷 연결을 갖지 않을 수 있다. 그렇지만, 마을 사람은 빈번히(예컨대, 매일, 매주) "도시에" 갈 수 있다. 마을 사람이 스마트폰 또는 다른 디바이스를 가지고 도시에 가는 경우, 마을 사람의 디바이스는 쿠리어 네트워크에서 디지털 쿠리어(digital courier)로서 기능할 수 있다.
서비스(160)는 쿠리어 디바이스(120)와 상호작용한 적이 있는 수신자 디바이스들(110 및 112)에 관한 정보를 가질 수 있다. 서비스(160)는 따라서 디바이스들(110 및 112)에 대한 패치, 업데이트, 또는 부가 데이터를 식별하고 이 데이터가 쿠리어 디바이스(120)에게 제공되게 할 수 있다. 예를 들어, 서비스(160)는 비디오 축구 게임에 대한 패치가 "도시에서" 카탈로그(170)로부터 다운로드되게 하고 쿠리어 디바이스(120)에 의해 마을로 가지고 돌아가게 할 수 있다. 쿠리어 디바이스(120)는, 그의 메모리 내의 패치가 도시로부터 산을 넘어 다시 마을로 물리적으로 수송되기 때문에, 패치를 물리적으로 전달할 것이다. 패치는 이어서 쿠리어 디바이스(120)로부터 마을에 위치해 있는 디바이스들로 다운로드될 수 있다. 쿠리어 디바이스(120)는 실시간 연결이 공유되는 핫스폿 또는 분배점(distribution point)으로서 기능하지 않고, 그 대신에 마을로부터 도시로 물리적으로 전달되는 요청들 또는 도시로부터 다시 마을로 물리적으로 전달되는 콘텐츠에 대한 일시적 리포지토리(temporary repository)로서 기능하고 있다. 이 쿠리어 기반 접근법은 콘텐츠를 인터넷 또는 셀룰러 커버리지가 이용가능하지 않은 원격 장소들에 제공하는 것의 기술적 문제를 해결한다.
서비스(160)는 콘텐츠가 디바이스들(110 및 112)에 제공되었다는 것을 추후에 통보받을 수 있다. 서비스(160)는 이어서, 수신자들의 디바이스들의 상태, 수신자들의 평판, 수신자들의 계정 잔고, 수신자들의 라이선싱 상황, 또는 다른 정보를 비롯한, 수신자들에 대한 그의 지식을 업데이트할 수 있다. 쿠리어 디바이스에 제공할 콘텐츠에 관한 장래의 결정들이 이어서 업데이트된 정보에 기초하여 행해질 수 있다.
마을에 있는 디바이스들은 쿠리어 디바이스(120)가 전달할 명시적 요청들을 제공할 수 있다. 서비스(160)는 궁극적으로 이 요청들을 수신할 수 있고, 요청들이, 예를 들어, 카탈로그(170)에 의해 수락되거나 거부되게 할 수 있다. 서비스(160)는 요청들이, 예를 들어, 요청자의 계정 상태에, 콘텐츠를 배달하기에 충분한 자원들을 갖는 쿠리어의 이용가능성에, 요청자의 평판에 기초하여, 또는 다른 인자들에 기초하여 수락되거나 거부되게 할 수 있다.
연결 해제된 디바이스들로부터의 요청들을 서비스하는 것에 부가하여, 서비스(160)는 또한, 서비스(160)가 예측하기에, 마을에 또는 쿠리어 디바이스(120)가 갈 수 있는 다른 곳에 있는 디바이스들에 의해 요망될지도 모르는 콘텐츠를 선택할 수 있다. 이와 같이, 서비스(160)는, 쿠리어 디바이스(120)가 콘텐츠를 원하거나 필요로 할지도 모르는 디바이스들을 만날 것을 예상하여, 특정 콘텐츠를 쿠리어 디바이스(120)에 푸시하거나 그에 의해 다른 방식으로 이용가능하도록 하기 위해 콘텐츠 공급자를 제어할 수 있다. 서비스(160)는 또한 콘텐츠 공급자로 하여금 그의 콘텐츠의 일부분 또는 심지어 그 전부를 기술하는 메타데이터를 푸시하거나 다른 방식으로 제공하게 할 수 있다. 예를 들어, 서비스(160)는 카탈로그(170)에서 이용가능한 콘텐츠의 일부분 또는 심지어 그 전부를 기술하는 메타데이터가 쿠리어 디바이스(120)의 메모리에 넣어지게 할 수 있다.
서비스(160)는 쿠리어 디바이스(120)와 카탈로그(170) 사이의, 수신자 디바이스들(예컨대, 110, 112)과 카탈로그(170) 사이의, 수신자 디바이스들(예컨대, 110, 112)과 쿠리어 디바이스(120) 사이의 상호작용들, 또는 다른 상호작용들을 추적할 수 있다. 서비스(160)는 이어서, 예를 들어, 쿠리어 디바이스(120)가 만날 가능성이 있는 수신자 디바이스들 또는 수신자 디바이스들이 필요로 하거나 원할 가능성이 있는 콘텐츠에 기초하여, 어느 콘텐츠가 디바이스(120)에 제공되어야 하는지를 예측할 수 있다.
도 2는 서비스(160)에 의해, 적어도 부분적으로, 제어되는 쿠리어 네트워크에서의 디바이스들을 나타내고 있다. 쿠리어 디바이스(120)가 연결 해제된 디바이스(110)와 접촉하게 된 후에, 연결 해제된 디바이스(110)와 쿠리어 디바이스(120)가 상호작용하고 있다. 디바이스(110)가 서비스(160)에의 직접, 실시간 인터넷 기반 액세스를 갖지 않지만, 디바이스(110)는 디바이스(120)를 통해 서비스(160)에의 쿠리어 네트워크 기반 연결을 갖는다. 연결 해제된 디바이스(110)가 실제로 연결 해제될 수 있거나(예컨대, 연결 없음), 인터넷(130)이 이용가능한 링크가 너무 비싸거나, 충분히 안전하지 않거나, 너무 느리거나, 다른 실현불가능한 일들을 겪기 때문에 현실적으로 연결 해제될 수 있다는 것을 상기한다. 안데스 산맥 예로 돌아가서, 쿠리어 디바이스(120)는 인터넷(130)이 이용가능했던 "도시"로부터 디바이스(110)가 위치해 있는 마을로 가는 도중에 있는 높은 산길을 가로질러 갔을 수 있다. 디바이스(120)는 디바이스(110)가 요청했던, 서비스(160)가 디바이스(110)에 푸시하고자 했던, 서비스(160)가 디바이스(110)가 원할지도 모른다고 예측했던 콘텐츠, 또는 다른 콘텐츠를 가질 수 있다. 디바이스(120) 및 디바이스(110)는 인터넷을 사용함이 없이 근거리 메커니즘(예컨대, NFC, 블루투스, WiFi)을 사용하여 통신을 구축할 수 있고, 콘텐츠가 디바이스(120)로부터 디바이스(110)로 흐를 수 있다. 그에 부가하여, 요청들이 "도시로" 또는 디바이스(120)가 서비스(160)에의 액세스를 달성할 수 있는 다른 장소로 다시 전달되기 위해 디바이스(110)로부터 디바이스(120)로 흐를 수 있다. 이 쿠리어 접근법은 인터넷에의 실시간 액세스를 갖지 않는 디바이스들에 디지털 업데이트들을 제공하는 것의 기술적 문제를 해결한다.
쿠리어 디바이스(120)가 "도시로"(예컨대, 인터넷(130)과의 연결로) 복귀할 때, 서비스(160)는 쿠리어 디바이스(120)가 경험했던 만남들에 관한 정보를 수신할 수 있거나, 쿠리어 디바이스(120)로부터 다양한 수신자 디바이스들로 전송된 데이터를 수신할 수 있거나, 쿠리어 디바이스(120)로 전송되었던 요청들, 또는 다른 정보를 수신할 수 있다. 서비스(160)는 또한 쿠리어 디바이스(120)가 다른 쿠리어 디바이스들로부터 취득한 정보를 수신할 수 있다. 예를 들어, 쿠리어 디바이스(120)는 연결 해제된 디바이스들의 다른 세트를 방문했던 다른 쿠리어 디바이스로부터 또는 쿠리어 디바이스(120)가 만난 연결 해제된 디바이스들 중 적어도 일부를 방문했던 다른 쿠리어 디바이스로부터 정보를 수신했을 수 있다. 쿠리어 디바이스(120)가 이어서 서비스(160)에 연결할 때, 이 만남 정보가, 예를 들어, 쿠리어 네트워크의 "연결" 맵들을 업데이트하는 데, 쿠리어들에게 제공될 콘텐츠를 큐잉하는 데, 쿠리어를 위해 큐로부터 콘텐츠를 제거하는 데, 또는 다른 이유들로 사용될 수 있다.
이하의 상세한 설명의 어떤 부분들은 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘들 및 심볼 표현들로 제시되어 있다. 이 알고리즘적 설명들 및/또는 표현들은 본 기술분야의 통상의 기술자가 다른 통상의 기술자에게 자신의 연구의 내용을 전달하는 데 사용된다. 알고리즘은 결과를 생성하는 동작들의 시퀀스인 것으로 간주된다. 동작들은 전자적 값(electronic value)의 형태를 취할 수 있는 물리적 양을 생성하고 조작하는 것을 포함할 수 있다. 전자적 값의 형태의 물리적 양을 생성하거나 조작하는 것은 구체적이고 유형적이며 유용한 현실 세계의 결과를 생성한다.
이 신호들을 비트, 값, 요소, 심볼, 문자, 항, 숫자, 다른 용어로 지칭하는 것이 때때로, 주로 통상적으로 사용하기 때문에, 편리한 것으로 밝혀졌다. 그렇지만, 염두에 두어야 할 점은, 이 용어들 및 유사한 용어들이 적절한 물리적 양과 연관되어야 하고 이 양들에 적용되는 편리한 호칭들에 불과하다는 것이다. 달리 구체적으로 언급되지 않는 한, 설명 전체에 걸쳐, 처리, 계산, 및 결정을 비롯한 용어들이 물리적 양(예컨대, 전자적 값)으로 표현된 데이터를 조작하고 변환하는 컴퓨터 시스템, 논리, 프로세서, SoC(system-on-a-chip), 또는 유사한 전자 디바이스의 동작들 및 프로세스들을 지칭한다는 것을 잘 알 것이다.
예시적인 방법들은 흐름도들을 참조하면 더 잘 이해될 수 있다. 간단함을 위해, 예시된 방법들이 일련의 블록들로서 도시되고 기술되어 있다. 그렇지만, 일부 실시예에서, 블록들이 도시되고 기술된 것과 상이한 순서로 일어날 수 있기 때문에, 방법들이 블록들의 순서에 의해 제한되지 않을 수 있다. 더욱이, 예시적인 방법을 구현하기 위해 예시된 블록들 전부보다 적은 블록들이 필요할 수 있다. 블록들이 결합되거나 다수의 컴포넌트들로 분리될 수 있다. 게다가, 부가의 또는 대안의 방법들이 부가의 예시되지 않은 블록들을 이용할 수 있다.
도 3은 쿠리어 네트워크 서비스를 제공하는 것과 연관된 방법(300)을 나타내고 있다. 쿠리어 네트워크는 콘텐츠를 제1 디바이스(예컨대, 콘텐츠 공급자 서버)로부터 제2 디바이스(예컨대, 데스크톱 컴퓨터)로 물리적으로 수송하기 위해 쿠리어 디바이스들(예컨대, 스마트폰들, 태블릿들)을 이용한다. 콘텐츠가 쿠리어 디바이스의 메모리에 저장되고, 예를 들어, 비인터넷 기반 통신 채널(예컨대, NFC, WiFi)을 사용하여 쿠리어 디바이스로부터 수신자 디바이스로 전송된다. 방법(300)은 쿠리어 디바이스 또는 데이터 수신자 이외의 장치에 의해 수행된다.
방법(300)은, 310에서, 쿠리어 네트워크에서 쿠리어 디바이스에 의해 데이터 제공자와 데이터 수신자 사이에서 쿠리어 방식으로 배달될 큐레이팅된 전자 데이터를 식별하는 단계를 포함한다. "큐레이팅"되었다는 것은 데이터가 쿠리어 네트워크에서 분배를 위해 검토자, 검토 프로세스, 또는 검토 장치에 의해 선택되었다는 것을 의미한다. 큐레이팅된 전자 데이터는 무엇이 쿠리어 네트워크 내의 디바이스들에 이미 있는지에 그리고 쿠리어 네트워크에 대한 분배 계획에, 적어도 부분적으로, 기초하여 식별될 수 있다. 예를 들어, 쿠리어 방식으로 배달될 콘텐츠를 식별하는 것은 데이터 수신자에 의해 제공된 상태를 검사하는 것, 쿠리어 디바이스에 의해 제공된 상태를 검사하는 것, 또는 데이터 제공자에 의해 제공된 상태를 검사하는 것을 포함할 수 있다. 다양한 디바이스들의 상태가 쿠리어 네트워크에 대한 분배 계획을 고려하여 검사될 수 있다. 데이터 수신자에 의해, 쿠리어 장치에 의해, 또는 데이터 제공자에 의해 제공된 상태는 데이터 수신자 상의 운영 체제, 데이터 수신자 상의 애플리케이션, 또는 데이터 수신자 상의 일편의 데이터를 식별해줄 수 있다.
분배 계획은 쿠리어 네트워크에서의 콘텐츠의 현재 분배, 쿠리어 네트워크에서의 콘텐츠의 원하는 분배, 쿠리어 네트워크에서의 콘텐츠의 예측된 분배, 또는 쿠리어 네트워크에서의 선택된 콘텐츠에 대한 분배 긴급성을 비롯한 사실들을 나타내고 있다. 예측된 분배는 쿠리어 네트워크 생태계에서 이리저리 이동하고 있는 쿠리어 디바이스들에 이미 제공된 콘텐츠를 참작할 수 있다. 분배 긴급성은 콘텐츠 공급자 또는 방법(300)이 얼마나 빨리 콘텐츠가 분배되기를 원하는지를 식별해줄 수 있다. 예시로서, 운영 체제에 대한 중요한 보안 패치를 위해, 분배 긴급성이 아주 높을 수 있고, 이는 방법(300)으로 하여금 콘텐츠를 전달할 보다 많은 수의 쿠리어 디바이스들을 선택하게 할 수 있다. 그러나 일편의 콘텐츠(예컨대, 주간 타블로이드 신문)에 대한 증분 업데이트에 대해, 분배 긴급성은 보다 낮을 수 있으며, 콘텐츠를 전달할 보다 적은 수의 쿠리어 디바이스들이 선택될 수 있다.
수신자 디바이스들의 상태를 검사하는 것은 수신자가 원하거나 필요하거나 관심이 있을 수 있는 업데이트들 또는 대체물들을 식별하는 것을 용이하게 한다. 이와 같이, 큐레이팅된 전자 데이터를 식별하는 것은 운영 체제에 대한 업데이트를 식별하는 것, 운영 체제에 대한 대체물을 식별하는 것, 애플리케이션에 대한 업데이트를 식별하는 것, 애플리케이션에 대한 대체물을 식별하는 것, 일편의 데이터에 대한 업데이트를 식별하는 것, 또는 일편의 데이터에 기초하여 파생 데이터를 식별하는 것을 포함할 수 있다.
방법(300)은 또한, 320에서, 쿠리어 디바이스와 데이터 제공자 사이의 제1 전자적 상호작용을 제어하는 단계를 포함한다. 제1 전자적 상호작용은 쿠리어 디바이스가 제1 위치에 위치되어 있는 동안 제1 시기에 제1 통신 경로를 사용하여 일어날 수 있다. 제1 전자적 상호작용은 큐레이팅된 전자 데이터를 데이터 제공자로부터 쿠리어 디바이스로 선택적으로 전송한다. 예를 들어, 제1 전자 통신은 쿠리어 디바이스로 전송될 영화(예컨대, Rocky II)에 대한 속편을 전송할 수 있다. 제1 전자적 상호작용을 제어하는 것은 콘텐츠 공급자와 쿠리어 디바이스 사이에 이용가능한 통신 채널을 선택하는 것을 포함할 수 있다. 통신 채널은, 예를 들어, 콘텐츠를 전송하는 데 시간이 얼마나 걸릴지, 콘텐츠를 전송하는 데 비용이 얼마나 들지, 전송이 얼마나 안전할지, 및 다른 인자들을 비롯한 인자들에 기초하여 선택될 수 있다.
방법(300)은 또한, 330에서, 쿠리어 디바이스와 데이터 수신자 사이의 제2 전자적 상호작용을 제어하는 단계를 포함한다. 제2 전자적 상호작용은 쿠리어 디바이스가 제2 상이한 위치에 위치되어 있는 동안 제2 추후 시기에 제2 상이한 통신 경로를 사용하여 일어난다. 제2 전자적 상호작용은 큐레이팅된 전자 데이터를 쿠리어 디바이스로부터 데이터 수신자로 선택적으로 전송한다. 예를 들어, 제2 전자적 상호작용은 영화 속편을 쿠리어 디바이스로부터 데이터 수신자로 전송할 수 있다. 제2 전자적 상호작용을 제어하는 것은 쿠리어 디바이스와 데이터 수신자 사이에 이용가능한 통신 채널을 선택하는 것을 포함할 수 있다. 통신 채널은, 예를 들어, 콘텐츠를 전송하는 데 시간이 얼마나 걸릴지, 콘텐츠를 전송하는 데 비용이 얼마나 들지, 전송이 얼마나 안전할지, 및 다른 인자들을 비롯한 인자들에 기초하여 선택될 수 있다.
쿠리어 네트워크에서, 쿠리어 디바이스는 이곳저곳으로 물리적으로 이동한다. 이와 같이, 제1 전자적 상호작용과 제2 전자적 상호작용은 독립적으로 수행되고, 어떤 기간만큼 떨어져 있다. 예를 들어, 2개의 상호작용들은 적어도 하나의 1분 떨어져, 적어도 1시간 떨어져, 적어도 하루 떨어져, 또는 훨씬 더 오래 떨어져 일어날 수 있다. 쿠리어 디바이스가 물리적으로 이곳저곳으로 이동하기 때문에, 제1 위치는 제2 위치로부터 적어도 1킬로미터 떨어져, 제2 위치로부터 적어도 10킬로미터 떨어져, 또는 심지어 훨씬 더 멀리 떨어져 있을 수 있다. 특정의 일편의 콘텐츠(예컨대, 보안 패치)를 쿠리어 디바이스에 로딩하기 위해 단일의 제1 상호작용이 있을 수 있지만, 콘텐츠가 다수의 데이터 수신자들에 제공되기 때문에 다수의 제2 상호작용들이 있을 수 있다.
도 4는 쿠리어 네트워크 서비스를 제공하는 것과 연관된 방법(400)을 나타내고 있다. 방법(400)은 방법(300)과 관련하여 기술된 동작들과 유사한 몇몇 동작들을 포함한다. 예를 들어, 방법(400)은 410에서 콘텐츠를 식별하는 단계, 420에서 제1 상호작용을 제어하는 단계, 및 430에서 제2 상호작용을 제어하는 단계를 포함한다. 방법(400)은 또한 부가의 동작들을 포함한다. 예를 들어, 방법(400)은, 405에서, 쿠리어 네트워크를 사용하는 데이터 수신자들, 데이터 제공자들, 그리고 쿠리어 디바이스들 사이의 상호작용들을 기술하는 친숙성 지수(familiarity index)를 생성하는 단계를 포함한다. 예를 들어, 친숙성 지수는 데이터 수신자가 쿠리어 디바이스와 얼마나 자주 상호작용하는지, 얼마만큼의 데이터가 쿠리어 디바이스로부터 데이터 수신자로 전송되는지, 및 어떤 유형의 데이터가 쿠리어 디바이스로부터 데이터 수신자로 전송되는지를 기술할 수 있다. 어느 디바이스들이 어느 방식들로 상호작용하는지를 이해하는 것은 데이터 수신자 디바이스가 원하거나 필요로 하는 콘텐츠가 데이터 수신자에 의해 이용가능하게 될 가능성을 증가시키기 위해 콘텐츠와 쿠리어들을 매칭시키는 것을 용이하게 한다.
방법(400)은 또한, 412에서, 큐레이팅된 전자 데이터가 제공되어야 하는 쿠리어 장치들의 수를 친숙성 지수 및 분배 계획에 기초하여 선택하는 단계를 포함한다. 예를 들어, 친숙성 지수는 20개의 쿠리어 디바이스들이 특정의 데이터 수신자가 위치되어 있는 위치를 정기적으로 방문한다는 것을 식별해줄 수 있다. 콘텐츠 공급자는 배달할 낮은 긴급성의 일편의 콘텐츠를 가질 수 있다. 이 경우에, 3개 중 하나가 원하는 기간 내에 데이터 수신자와 접촉하게 될 가능성이 있다는 생각에 기초하여 3개의 쿠리어 장치들이 동일한 콘텐츠를 전달하도록 선택될 수 있다. 다른 예에서, 친숙성 지수는 단지 하나의 쿠리어 장치가 데이터 수신자들의 세트와 항상 접촉하게 된다는 것을 식별해줄 수 있다. 이 경우에, 그 데이터 수신자들의 세트에 대한 콘텐츠는 그 하나의 쿠리어 장치에만 제공될 수 있다. 친숙성 지수는 분배 계획을 충족시키는 배달을 위해 적절한 콘텐츠를 적절한 쿠리어들에 제공함으로써 쿠리어 네트워크의 효용성을 증가시키는 데 사용된다.
이와 같이, 방법(400)은 또한, 414에서, 어느 쿠리어 장치들이 큐레이팅된 전자 데이터를 분배해야 하는지를 친숙성 지수 및 분배 계획에, 적어도 부분적으로, 기초하여 선택하는 단계를 포함한다.
일 실시예에서, 큐레이팅된 전자 데이터가 410에서 평판, 라이선싱 상황, 또는 계정 상황에 기초하여 선택될 수 있다. 예를 들어, 쿠리어 디바이스의 평판은 쿠리어 디바이스에 제공되는 콘텐츠의 몇 퍼센트가 실제로 수신자에게 항상 제공되는지를 나타낼 수 있다. 데이터 수신자와 연관된 평판은 데이터 수신자가 요청한 콘텐츠 또는 데이터 수신자가 만날 쿠리어 네트워크에 예측하여 놓아둔 콘텐츠를 데이터 수신자가 실제로는 얼마나 자주 취득하고 그에 대해 지불하는지를 나타낼 수 있다. 콘텐츠가 그 평판들에 기초하여 선택될 수 있다.
콘텐츠가 또한 라이센스 파라미터들에 기초하여 선택될 수 있다. 예를 들어, 쿠리어 디바이스와 연관된 라이센스 파라미터는 쿠리어 디바이스가 다른 유형들의 콘텐츠(예컨대, 비디오 게임)가 아니라 특정 유형들의 콘텐츠(예컨대, 영화)를 전달할 수 있게 할 수 있다. 데이터 수신자와 연관된 라이센스 파라미터는 수신자가 특정 일편의 콘텐츠(예컨대, 영화 속편)를 다운로드하도록 허용되어 있는지를 식별해줄 수 있다. 쿠리어 디바이스가 전달하도록 허용되어 있지 않는 그리고 쿠리어 디바이스가 만날 가능성이 있는 데이터 수신자가 취득하도록 인가되지 않은 쿠리어 디바이스에 대한 콘텐츠를 선택해봐야 아무런 소용이 없다.
콘텐츠가 또한 계정 파라미터들에 기초하여 선택될 수 있다. 예를 들어, 쿠리어 디바이스와 연관된 계정 파라미터는 쿠리어 디바이스가 플러스 결제 잔고를 갖고 따라서 콘텐츠 공급자를 위해 분배할 보다 많은 콘텐츠를 취득하도록 허용되어 있다는 것을 나타낼 수 있다. 그렇지만, 데이터 수신자와 연관된 계정 파라미터는 데이터 수신자가 연체된 결제 잔고를 갖고 따라서 그 데이터 수신자를 만날 가능성이 있는 쿠리어 디바이스들에 대해 단지 적은 양의 무료 콘텐츠가 선택될 수 있다는 것을 나타낼 수 있다.
도 3과 도 4가 다양한 동작들이 순차적으로 일어나는 것으로 나타내고 있지만, 도 3과 도 4에 예시된 다양한 동작들이 실질적으로 병렬로 일어날 수 있다는 것을 잘 알 것이다. 예시로서, 제1 프로세스는 데이터를 식별할 수 있고, 제2 프로세스는 제1 상호작용들을 제어할 수 있으며, 제3 프로세스는 제2 상호작용들을 제어할 수 있다. 3개의 프로세스들이 기술되어 있지만, 더 많거나 더 적은 수의 프로세스들이 이용될 수 있다는 것과 경량 프로세스(lightweight process), 정규 프로세스(regular process), 스레드, 및 다른 접근법들이 이용될 수 있다는 것을 잘 알 것이다.
일 예에서, 방법이 컴퓨터 실행가능 명령어들로서 구현될 수 있다. 이와 같이, 하나의 예에서, 컴퓨터 판독가능 저장 매체는, 머신(예컨대, 컴퓨터)에 의해 실행되는 경우, 머신으로 하여금 방법들(300 또는 400)을 비롯한 본원에 기술되거나 청구된 방법들을 수행하게 하는 컴퓨터 실행가능 명령어들을 저장할 수 있다. 이상의 방법들과 연관된 실행가능 명령어들이 컴퓨터 판독가능 저장 매체에 저장되는 것으로 기술되어 있지만, 본원에 기술되거나 청구된 다른 예시적인 방법들과 연관된 실행가능 명령어들도 컴퓨터 판독가능 저장 매체에 저장될 수 있다는 것을 잘 알 것이다. 다른 실시예에서, 본원에 기술되는 예시적인 방법들이 상이한 방식들로 트리거링될 수 있다. 일 실시예에서, 방법이 사용자에 의해 수동으로 트리거링될 수 있다. 다른 예에서, 방법이 자동으로 트리거링될 수 있다.
도 5는 쿠리어 네트워크에 대한 서비스를 제공하는 장치(500)를 나타내고 있다. 서비스는 쿠리어 네트워크에서의 큐레이팅된 전자 데이터의 분배를 제어할 수 있다. 장치(500)는 프로세서(510), 메모리(520), 논리들의 세트(530), 그리고 프로세서(510), 메모리(520), 및 논리들의 세트(530)를 연결하는 인터페이스(540)를 포함한다. 프로세서(510)는, 예를 들어, 컴퓨터 내의 마이크로프로세서, 특수 설계된 회로, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 모바일 디바이스 내의 프로세서, SoC(system-on-a-chip), 듀얼 또는 쿼드 프로세서, 또는 다른 컴퓨터 하드웨어일 수 있다. 메모리(520)는 쿠리어 네트워크에서의 큐레이팅된 전자 데이터의 분배를 제어하기 위한 정보를 저장할 수 있다. 보다 일반적으로, 메모리(520)는 쿠리어 네트워크에 의해 분배될 정보 또는 쿠리어 네트워크에서 정보를 어떻게 분배할지를 제어하기 위한 정보를 저장할 수 있다.
일 실시예에서, 장치(500)는 논리들의 세트(530)를 포함시키는 것을 통해 특수 목적 컴퓨터로 변환된 범용 컴퓨터일 수 있다. 장치(500)는, 예를 들어, 컴퓨터 네트워크를 통해 다른 장치들, 프로세스들, 및 서비스들과 상호작용할 수 있다. 장치(500)는, 예를 들어, 데이터에 액세스하여 그를 처리할 수 있는, 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 전자 디바이스, 스마트폰, SoC(system-on-a-chip), 또는 다른 디바이스일 수 있다.
논리들의 세트(530)는 쿠리어 네트워크에서의 큐레이팅된 전자 데이터의 분배를 제어한다. 쿠리어 네트워크는 큐레이팅된 전자 데이터를 제1 물리적 위치에 있는 쿠리어 장치와 제2 물리적 위치에 있는 수신자 장치 사이에서 쿠리어 방식으로 배달한다. 데이터를 "쿠리어 방식으로 배달"한다는 것은 큐레이팅된 전자 데이터가 쿠리어 장치의 메모리에 넣어 하나의 물리적 위치로부터 다른 물리적 위치로 물리적으로 이동된다는 것을 의미한다. 제1 상호작용은 큐레이팅된 전자 데이터를 콘텐츠 공급자로부터 쿠리어 장치 내의 메모리로 이동시킬 수 있고, 이어서 제2 상호작용은 큐레이팅된 데이터를 쿠리어 장치의 메모리로부터 수신자 장치로 이동시킬 수 있다. 2개의 상호작용들이 상이한 물리적 장소들에서 상이한 시기들에 일어날 것이다. 위치들이 수마일 떨어져 있을 수 있고, 시기들이 몇 시간 떨어져 있을 수 있다.
제1 물리적 위치와 제2 물리적 위치는 문턱 거리(예컨대, 1킬로미터, 1마일, 10마일)만큼 떨어져 있다. 쿠리어는, 장치(500) 또는 서비스에 의해 지시된 대로, 큐레이팅된 전자 데이터를 제1 디바이스(예컨대, 콘텐츠 서버)로부터 제1 위치(예컨대, 쿠스코(Cusco))에서 수신할 것이다. 쿠리어는 이어서 큐레이팅된 전자 데이터를 그의 메모리에 저장하고 제2 위치(예컨대, 약따빠따(Llactapata))로 물리적으로 위치 변경될 것이다. 쿠리어 디바이스는 이어서 큐레이팅된 전자 데이터를 제2 디바이스(예컨대, 아이의 태블릿)에 선택적으로 제공할 것이다. 서비스는 완료하는 데 며칠 걸릴 수 있는 요청/응답의 상태에 관한 정보를 유지할 수 있다. 서비스는 또한 콘텐츠 공급자로부터 쿠리어 디바이스로, 쿠리어 디바이스로부터 수신자 디바이스로, 수신자 디바이스로부터 쿠리어 디바이스로, 그리고 쿠리어 디바이스로부터 다시 콘텐츠 공급자로의 통신의 몇 번의 반복들이 소요되는 요청/응답 상호작용의 상태에 관한 정보를 유지할 수 있다.
논리들의 세트(530)는 큐레이팅된 전자 데이터를 식별하는 제1 논리(532)를 포함할 수 있다. 큐레이팅된 전자 데이터는, 예를 들어, 운영 체제, 운영 체제 업데이트, 애플리케이션, 애플리케이션 업데이트, 일편의 콘텐츠, 일편의 콘텐츠에 대한 업데이트, 또는 암호화 키일 수 있다. "큐레이팅"되었다는 것은 콘텐츠가 장치(500)에 의해 제공되는 콘텐츠 베포 서비스에 포함시키기 위해 검토자, 검토 프로세스, 또는 검토 장치에 의해 선택되었다는 것을 의미한다.
제1 논리(532)는 수신자 장치에 관한 정보에 기초하여 큐레이팅된 전자적 데이터를 식별한다. 수신자 장치에 관한 정보는 수신자 장치에서 발원되었을 수 있고, 수신자 장치의 상태(예컨대, 현재 저장된 콘텐츠)를 기술할 수 있다. 수신자 장치에 관한 정보는 또한 수신자 장치에 의해 제공된 요청(예컨대, 부가 콘텐츠에 대한 요청), 수신자 장치에 의해 수신된 콘텐츠의 알림(notice), 또는 수신자 장치와 연관된 라이센스 파라미터일 수 있다. 수신자 장치에 의해 수신된 콘텐츠의 알림은 다른 쿠리어 디바이스 상에서 동일한 콘텐츠를 송출하는 것을 방지하기 위해 또는 다른 쿠리어 디바이스들 상에서 제공할 업그레이드, 패치, 또는 파생 콘텐츠를 식별하기 위해 장치(500)에 의해 사용될 수 있다. 파생 콘텐츠는, 예를 들어, 이전에 취득된 콘텐츠와 연관된 부가 정보일 수 있다. 예를 들어, 비디오 게임에 대한 부가의 가상 전쟁터는 비디오 게임에 대한 파생 콘텐츠일 것이다.
수신자 장치의 상태가 고립된 상태에서 검사되지 않는다. 예를 들어, 제1 논리(532)는 수신자 장치에 대한 원하는 상태와 비교되는 수신자 장치의 상태에, 적어도 부분적으로, 기초하여 큐레이팅된 전자 데이터를 식별할 수 있다. 예시로서, 수신자 장치가 버전 1.1의 운영 체제를 가지며 버전 1.2가 이용가능한 경우, 수신자 장치에 대해 선택되는 큐레이팅된 전자 데이터는 버전 1.2로의 업그레이드를 포함할 수 있지만, 데이터 수신자가 업그레이드하기를 거부하는 경우에 버전 1.1 상에서 동작하는 애플리케이션들도 포함할 수 있다.
수신자 장치에 관한 정보는 또한 쿠리어 장치에서 발원되었을 수 있다. 이 정보는 또한 수신자 장치의 부분적 또는 전체적 상태(예컨대, 현재 콘텐츠), 수신자 장치에 의해 제공된 요청, 수신자 장치에 의해 수신된 콘텐츠의 알림, 수신자 장치와 연관된 라이센스 파라미터, 또는 다른 정보를 기술할 수 있다. 쿠리어 장치는 쿠리어 장치가 수신자 장치에 제공한 데이터를 추적함으로써 수신자 장치의 상태를 알 수 있다.
수신자 장치에 관한 정보가 또한 장치(500) 자체에서 발원되었을 수 있다. 이 정보는 수신자 장치와 연관된 계정 파라미터, 수신자 장치와 연관된 평판 파라미터, 수신자 장치와 연관된 라이센스 파라미터, 또는 다른 정보(예컨대, 쿠리어 네트워크를 사용하여 수신자 장치로 이전에 송신된 콘텐츠)를 기술할 수 있다. 계정 파라미터는 수신자 장치가 그의 계정에 대변 잔고(credit balance) 또는 차변 잔고(debit balance)를 가지는지를 나타낼 수 있다. 평판 파라미터는 데이터 수신자에 대한 결제 내역을 식별해줄 수 있다. 라이센스 파라미터는 데이터 수신자가 임의의 라이센스 조건을 위반했는지를 식별해줄 수 있다. 이와 같이, 큐레이팅된 전자 데이터는 데이터 수신자가 무엇을 가지고 있는지, 데이터 수신자가 무엇을 원하는지, 또는 데이터 수신자가 무엇으로부터 이득을 볼 수 있는지에 기초해서 뿐만 아니라, 데이터 수신자와 쿠리어 네트워크 및 콘텐츠 공급자 간의 상호작용들에 관한 정보에 기초해서도 선택될 수 있다.
제1 논리(532)는 수신자 장치와 콘텐츠 공급자 사이의 2번 이상의 요청/응답 반복들로 전송되는 정보에 기초하여 큐레이팅된 전자 데이터를 식별할 수 있다. 요청/응답 반복들은 요청을 수신자 장치로부터 콘텐츠 공급자 장치로 쿠리어 방식으로 배달하는 것 및 응답을 콘텐츠 공급자로부터 수신자 장치로 쿠리어 방식으로 배달하는 것을 수반한다. 다수의 요청/응답 반복들이 수반될 수 있기 때문에, 제1 논리(532)는 통신이 완료될 수 있을 때까지 다단계 통신에 관한 정보를 유지할 필요가 있을 수 있다.
일 실시예에서, 제1 논리(532)는 수신자 장치에 대한 효용성 척도를 충족시킬 콘텐츠의 예측에 기초하여 큐레이팅된 전자 데이터를 식별한다. 효용성 척도는 수신자가 콘텐츠를 원하는 정도, 수신자가 콘텐츠를 필요로 하는 정도, 및 수신자가 콘텐츠를 실제로 사용할 수 있는 정도 간에 균형을 이루게 할 수 있다. 예시로서, 수신자는 특정 일편의 콘텐츠를 10번 요구했을 수 있고, 심지어 콘텐츠를 수신하기 위해 할증료를 제공했을 수 있다. 이것은 수신자가 콘텐츠를 원하는 정도를 정도를 나타낼 수 있다. 수신자가 정말로 원하는 콘텐츠는, 예를 들어, 텔레비전 연속극에서의 다음 에피소드일 수 있다. 장치(500)는 수신자가 운영 체제에 대한 중요한 보안 업데이트를 놓치고 있고 생산성 애플리케이션에 대한 유용한 업그레이드를 놓치고 있다는 것을 알 수 있다. 수신자는 또한 이전 버전의 비디오 디스플레이 프로그램을 가질 수 있고, 요청된 콘텐츠는 새 버전의 비디오 디스플레이 프로그램를 사용하여 가장 잘 보일 수 있다. 이와 같이, 효용성 척도는 콘텐츠를 수신자와 만날 가능성이 있는 쿠리어 디바이스에 제공할지를 결정하기 위해 이 인자들 모두를 고려할 수 있다.
예측은 수신자 장치의 상태에, 적어도 부분적으로, 기초할 수 있다. 상태는 수신자 장치 상에 현재 있는 콘텐츠를 식별해줄 수 있거나, 수신자와 상호작용할 가능성이 있는 쿠리어 장치를 사용하여 쿠리어 네트워크로 이미 발송한 콘텐츠를 식별해줄 수 있다. 예측은 또한 추천 시스템에 의해 행해진 수신자 장치의 상태의 분석에, 적어도 부분적으로, 기초할 수 있다. 추천 시스템은 "당신이 이것을 가지고 있다면, 당신이 이것을 좋아할지도 모른다"는 형태의 추천들을 제공할 수 있다.
예측은 또한 데이터 수신자 이외의 사용자들이 무엇을 하고 있는지에 기초할 수 있다. 예를 들어, 예측은 문턱 기간 내에 다른 수신자 장치에 의해 쿠리어 장치로부터 취득된 콘텐츠에, 적어도 부분적으로, 기초할 수 있다. 이와 같이, 예측은 다른 사용자들이 다른 쿠리어들로부터 무엇을 취득하고 있는지를 고려할 수 있다. 이것은 "인기있는" 또는 "유행하는" 콘텐츠를 식별해줄 수 있다. 그에 부가하여, 예측은 문턱 기간 내에 콘텐츠 공급자로부터 취득된 콘텐츠에 기초할 수 있다. 이것은 무엇이 인기있거나 유행하는지를 추가로 식별해줄 수 있다. 데이터 수신자들은 쿠리어 디바이스들에서 이용가능한 데이터를 취득할 수 있을 뿐일 수 있다. 그렇지만, 쿠리어 디바이스가 제1 위치를 떠난 후에 콘텐츠가 콘텐츠 공급자에 도착할 수 있다. 이와 같이, 일 실시예에서, 예측이 콘텐츠 수신자와의 이전 상호작용 이후에 콘텐츠 공급자에 의해 취득된 콘텐츠에 기초할 수 있다.
논리들의 세트(530)는 또한 쿠리어 네트워크에서의 큐레이팅된 전자 데이터의 분배를 제어하는 제2 논리(534)를 포함할 수 있다. 쿠리어 네트워크가 콘텐츠를 쿠리어 디바이스의 메모리에 넣어 이곳저곳으로 물리적으로 수송하는 것을 수반하기 때문에, 공급자로부터 수신자로의 통신이 순간적이 아니다. 이와 같이, 제1 논리(532)는 큐레이팅된 전자 데이터에 대한 추정된 배달 시간 또는 큐레이팅된 전자 데이터에 대한 추정된 배달 비용을 제공할 수 있다. 제2 논리(534)는 따라서 추정된 배달 시간 또는 추정된 배달 비용에, 적어도 부분적으로, 기초하여 큐레이팅된 전자 데이터가 분배되는지 또는 어떻게 분배되는지를 선택적으로 제어할 수 있다.
일 실시예에서, 제1 논리(532)는 큐레이팅된 전자 데이터에 만료 시간을 할당한다. 이 실시예에서, 제2 논리(534)는 만료 시간에, 적어도 부분적으로, 기초하여 큐레이팅된 전자 데이터의 분배를 제어한다. 예를 들어, 만료 시간이 경과했다고 결정할 시에, 제2 논리(534)는 선택적으로 큐레이팅된 전자 데이터가 쿠리어 장치의 메모리로부터 삭제되게 하거나 선택적으로 큐레이팅된 전자 데이터가 쿠리어 장치에 의해 분배되지 않게 한다.
일 실시예에서, 대상 전자 데이터가 의도된 수신자 장치에 의해 이미 수신되었다고 결정할 시에, 제2 논리(534)는 선택적으로 대상 전자 데이터가 쿠리어 장치의 메모리로부터 삭제되게 한다. 예를 들어, 제2 논리는 "콘텐츠 X 삭제" 메시지를 쿠리어 장치로 송신할 수 있다. 제2 논리(534)는 수신자 장치의 상태를 검사함으로써, 수신자 장치로부터 콘텐츠 수신 영수증(content received receipt)을 검사함으로써, 또는 다른 방식들로 대상 전자 데이터가 이미 수신되었다는 결정을 할 수 있다. 콘텐츠 수신 영수증은 콘텐츠가 언제 배달되었는지, 어느 쿠리어 장치가 콘텐츠를 배달했는지, 콘텐츠에 대해 지불된 금액, 또는 다른 정보를 기술할 수 있다.
쿠리어 네트워크는 큐레이팅된 전자 데이터를 분배하는 데 도움을 줄 수 있는 다수의 쿠리어 장치들을 가질 수 있다. 이와 같이, 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터가 제공될 선택되는 쿠리어 장치를 선택함으로써 큐레이팅된 전자 데이터의 분배를 제어한다. 제2 논리(534)는 큐레이팅된 전자 데이터를 전달할 하나 이상의 쿠리어 장치들을 선택할 수 있다. 제2 논리(534)는 선택되는 쿠리어 장치를 여러가지 인자들에 기초하여 선택할 수 있다. 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터를 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 비용에 기초하여 쿠리어 장치를 선택할 수 있다. 예를 들어, 가장 낮은 비용을 갖는 또는 가장 높은 수익을 발생시킬 수 있는 쿠리어 장치가 선택될 수 있다. 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터를 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 보안에 기초하여 쿠리어 장치를 선택할 수 있다. 예를 들어, 고도로 민감한 일편의 데이터(예컨대, 암호화 키, 암호 패드, 제품 활성화 키)는 보다 높은 레벨의 보안을 갖는 쿠리어 장치를 사용하여 송신될 수 있는 반면, 덜 민감한 일편의 데이터(예컨대, 광고)는 보다 낮은 레벨의 보안을 갖는 쿠리어 장치를 사용하여 송신될 수 있다. 제2 논리(534)는 큐레이팅된 전자 데이터를 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 예상 배달 시간에 기초하여 쿠리어 장치를 선택할 수 있다. 예를 들어, 원하는 시간 프레임 내에 데이터를 배달할 가능성이 있는 쿠리어 장치가 선택될 수 있다.
쿠리어 장치들은 유한한 자원들을 가진다. 또한, 유한한 수의 쿠리어 장치들이 있을 수 있다. 이와 같이, 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터를 이미 제공받은 쿠리어 장치들의 수에, 적어도 부분적으로, 기초하여 몇 개의 쿠리어 장치들이 데이터를 전달할지를 선택할 수 있다. 예를 들어, 문턱 수 초과의 쿠리어 장치들이 큐레이팅된 전자 데이터를 이미 제공받은 경우, 하나의 쿠리어만이 더 선택될 수 있는 반면, 문턱 수 미만의 쿠리어 장치들이 데이터를 제공받은 경우, 복수의 쿠리어 장치들이 선택될 수 있다. 일 실시예에서, 큐레이팅된 전자 데이터가 제공될 쿠리어 장치들의 수는 큐레이팅된 전자 데이터와 연관된 긴급성 척도 또는 큐레이팅된 전자 데이터와 연관된 분배 폭 척도의 함수일 수 있다. 예를 들어, 어떤 데이터가 가능한 한 널리 분배될 필요가 있는 경우, 보다 많은 수의 쿠리어들이 선택될 수 있지만, 어떤 다른 데이터가 쿠리어 네트워크의 몇몇 멤버들에 분배되기만 하면 되는 경우, 보다 적은 수의 쿠리어들이 선택될 수 있다. 이와 유사하게, 특정 일편의 데이터가 가능한 한 빨리 분배될 필요가 있는 경우, 보다 많은 수의 쿠리어들이 선택될 수 있는 반면, 데이터가 긴급성을 보다 덜 가지는 경우, 보다 적은 수의 쿠리어들이 선택될 수 있다.
상이한 통신 채널들이 콘텐츠 공급자로부터 쿠리어 장치로 콘텐츠를 전송하는 데 이용가능할 수 있다. 이와 유사하게, 상이한 통신 채널들이 쿠리어 장치로부터 데이터 수신자로 콘텐츠를 전송하는 데 이용가능할 수 있다. 채널들은 상이한 비용, 대역폭, 보안, 및 다른 속성들을 가질 수 있다. 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터를 콘텐츠 공급자로부터 쿠리어 장치에 제공하기 위한 통신 채널을 선택함으로써 큐레이팅된 전자 데이터의 분배를 제어한다. 예를 들어, 제2 논리(534)는 큐레이팅된 전자 데이터를 통신 채널 상에서 전송하는 것과 연관된 예상 완료 시간에, 적어도 부분적으로, 기초하여 통신 채널을 선택할 수 있다. 보다 느린 예상 완료 시간을 갖는 채널보다는, 보다 빠른 예상 완료 시간를 갖는 채널이 선택될 수 있다. 채널 선택은, 예를 들어, 데이터와 연관된 메타데이터 내의 값들을 설정함으로써 달성될 수 있으며, 여기서 메타데이터는 상이한 파라미터들(예컨대, 비용, 전송 시간, 보안)에 대한 최소, 최대, 또는 용인가능 범위들을 기술한다. 인자들의 조합이 고려될 수 있다. 예를 들어, 보다 빠르지만 훨씬 더 비싼 채널보다는, 보다 느리지만 훨씬 더 저렴한 채널이 선택될 수 있다.
제2 논리(534)는 또한 큐레이팅된 전자 데이터를 쿠리어 장치로부터 수신자 장치에 제공하기 위한 통신 채널을 선택함으로써 큐레이팅된 전자 데이터의 분배를 제어한다. 이 채널은 또한 큐레이팅된 전자 데이터를 통신 채널 상에서 전송하는 것과 연관된 비용에, 큐레이팅된 전자 데이터를 통신 채널 상에서 전송하는 것과 연관된 보안에, 큐레이팅된 전자 데이터를 통신 채널 상에서 전송하는 것과 연관된 대역폭에, 큐레이팅된 전자 데이터를 통신 채널 상에서 전송하는 것과 연관된 예상 완료 시간에, 또는 이들 또는 다른 인자들의 조합에, 적어도 부분적으로, 기초하여 선택될 수 있다.
데이터 통신을 위해 상이한 보안 레벨들이 이용가능할 수 있다. 예를 들어, 데이터 통신이 각종의 상이한 암호화 방법들을 사용하여 암호화될 수 있거나 다른 레벨들의 보안을 생성하는 다른 방식들로 조작될 수 있다. 이와 같이, 제2 논리(534)는 큐레이팅된 전자 데이터를 콘텐츠 공급자로부터 쿠리어 장치로 전송하는 것과 연관된 보안 레벨을 제어할 수 있다. 이와 유사하게, 제2 논리(534)는 큐레이팅된 전자 데이터를 쿠리어 장치로부터 수신자 장치로 전송하는 것과 연관된 보안 레벨을 제어할 수 있다. 보안 레벨을 제어하는 것은, 예를 들어, 콘텐츠가 특정 방식으로 암호화되게 하는 것을 포함할 수 있다.
모바일 디바이스들은, 정의에 의해, 이동가능하다. 따라서, 잠재적인 쿠리어 장치는 쿠리어 장치가 특정 기간 동안 그대로 있다면 콘텐츠 공급자가 콘텐츠를 전송할 수 있을 위치에 있을 수 있다. 따라서, 일 실시예에서, 제2 논리(534)는 대상 전자 콘텐츠를 쿠리어 장치로 전송하는 것을 완료하는 데 필요한 기간을 기술하는 시간 데이터를 쿠리어 장치의 사용자에게 제공한다. 시간 데이터는 전송이 완료하기에 충분할 정도로 사용자가 콘텐츠 공급자의 도달거리 내에 머물러 있도록 권장할 수 있다.
제2 논리(534)는, 제1 논리(532)로 하여금 요청된 콘텐츠를 식별하게 한, 데이터 수신자로부터의 콘텐츠에 대한 모든 요청들을 수락하는 것은 아닐 수 있다. 그 대신에, 제2 논리(534)는, 선택적으로 수신자 장치로부터의 콘텐츠에 대한 요청이 콘텐츠 공급자에 의해 수락되거나 거부되게 함으로써, 큐레이팅된 전자 데이터의 분배를 제어할 수 있다. 수락 또는 거부는 수신자 장치와 연관된 계정 상태(예컨대, 유효(current), 연체(overdue), 말소(cancelled))를 비롯한 인자들에, 수신자 장치와 연관된 평판 상태(예컨대, 신뢰할 수 있는, 신뢰할 수 없는, 우수 고객)에, 또는 쿠리어 네트워크에 이전에 분배된 다른 큐레이팅된 전자 데이터에 관한 정보(예컨대, 이미 송신된 버전 2.1, 2.0에 대한 이전 요청이 거부됨)에 기초할 수 있다.
제2 논리(534)는 쿠리어 네트워크에 대한 특정 메트릭들을 최대화, 최소화, 또는 다른 방식으로 개선시키기 위해 큐레이팅된 전자 데이터의 분배를 제어할 수 있다. 일 실시예에서, 제2 논리(534)는 콘텐츠 공급자에 대해 생성된 수익을 최대화하기 위해 분배를 제어할 수 있다. 수익을 최대화하는 것은 선택된 콘텐츠의 상이한 세트들을, 콘텐츠를 취득하고 그에 대해 결제하는 수신자 장치들을 만날 가능성이 가장 많은 선택되는 쿠리어 장치의 상이한 세트들에 할당하는 것을 포함할 수 있다. 일 실시예에서, 제2 논리(534)는 수신자 장치에 대한 처리율을 최대화하기 위해 또는 큐레이팅된 전자 데이터에 대한 분배 지역을 최대화하기 위해 분배를 제어할 수 있다. 예를 들어, 제2 논리(534)는 중요한 일편의 뉴스를 가능한 빨리 그리고 가능한 널리 분배하려고 시도할 수 있다. 이와 같이, 중요한 뉴스를 방해할 수 있는 콘텐츠가 선택 해제될 수 있고, 많은 수의 쿠리어들이 선택될 수 있다. 일 실시예에서, 제2 논리(534)는 큐레이팅된 전자 데이터를 분배하는 비용을 최소화하려고 시도할 수 있다.
콘텐츠 공급자는 분배가능한 콘텐츠의 큰 카탈로그를 가질 수 있다. 쿠리어 장치는 콘텐츠를 분배할 유한한 양의 메모리를 가질 수 있다. 이와 같이, 제2 논리(534)는 실제의 큐레이팅된 전자 데이터를 제공할지 큐레이팅된 전자 데이터에 관한 메타데이터를 제공할지를 결정함으로써 큐레이팅된 전자 데이터의 분배를 제어할 수 있다. 일부 실제 데이터가 분배될 수 있고, 다른 데이터에 관한 일부 메타데이터가 제공될 수 있다. 실제로 요청된 콘텐츠, 실제로 필요로 하는 콘텐츠, 및 콘텐츠 공급자가 수신자들이 고려하고 다운로드하기를 원하는 콘텐츠에 대한 경쟁하는 요구들을 중재하기 위해 데이터와 메타데이터의 혼합이 결정될 수 있다. 데이터와 메타데이터의 혼합을 제어하는 것은 비용을 최소화하면서 수익 또는 처리율을 최대화하는 것의 일부일 수 있다.
수신자 장치와 콘텐츠 공급자는 멀리 떨어져 있을 수 있다. 예를 들어, 수신자 장치는 높은 산길의 한쪽에 있는 마을에 있을 수 있고, 콘텐츠 공급자는 산길의 다른쪽에 위치한 도시에 있을 수 있다. 쿠리어 장치에 의해 전달될 올바른 정보를 식별하는 것은 수신자 장치와 콘텐츠 공급자 사이의 하나 초과의 상호작용(예컨대, 요청/응답)을 필요로 할 수 있다. 이와 같이, 제1 논리(532)는 수신자 장치와 콘텐츠 공급자 사이의 2번 이상의 요청/응답 반복들로 전송되는 정보에 기초하여 큐레이팅된 전자 데이터를 식별할 수 있다. 요청/응답 반복은 요청을 수신자 장치로부터 콘텐츠 공급자로 쿠리어 방식으로 배달하는 것 및 응답을 콘텐츠 공급자로부터 수신자 장치로 쿠리어 방식으로 배달하는 것을 수반한다. 쿠리어 방식으로 배달한다는 것이 전자 데이터를 메모리에 넣어 이곳저곳으로 물리적으로 전달하는 것을 수반한다는 것을 상기한다. 요청들 및 응답들은 동일한 쿠리어 장치에 넣어져 왔다갔다할 수 있거나, 요청들 또는 응답들 중 적어도 하나가 상이한 쿠리어 장치에 넣어져 콘텐츠 공급자와 수신자 장치 사이에서 전해질 수 있다.
큐레이팅된 전자 데이터를 식별하고 제공하는 것은 수신자 장치와 서비스 사이의 상호작용들의 2번 이상의 반복들을 수반할 수 있다. 운영 체제의 업그레이드에 대한 요청 또는 운영 체제의 업데이트를 푸시하려는 시도를 생각해보자. 요청 또는 푸시는 요청들, 응답들, 또는 상태가 다수의 세션들에서 다수의 디바이스들을 통과하는(예컨대, 제1 쿠리어로부터 제2 쿠리어, 제3 쿠리어를 거쳐 인터넷/카탈로그로 가고 이어서 다시 제3 쿠리어에 의해 제4 쿠리어를 거쳐 제5 쿠리어로 가는) 다수의 단계들에서 조율될 필요가 있을 수 있다. 요청은 하나의 경로에 의해 서비스로 갈 수 있고, 콘텐츠는 상이한 쿠리어를 사용하여 상이한 경로에 의해 역으로 배달될 수 있다.
도 6은 장치(500)(도 5)와 유사한 장치(600)를 나타낸 것이다. 예를 들어, 장치(600)는 프로세서(610), 메모리(620), 및 논리들의 세트(530)(도 5)에 대응하는 논리들(632 및 634)을 포함한다. 그렇지만, 장치(600)의 상이한 실시예들은 부가 기능들을 수행하는 부가 논리들을 포함할 수 있다.
장치(600)는 또한 부가의 제3 논리(636)를 포함한다. 제3 논리(636)는 장치(600)에 대한 사용자 인터페이스를 제공할 수 있다. 사용자 인터페이스는 장치(600)에 의해 제공되는 쿠리어 네트워크 기능을 이해하거나 제어하는 것을 용이하게 하기 위해 여러가지 정보를 디스플레이할 수 있다. 예를 들어, 사용자 인터페이스는 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 쿠리어 장치들의 수 및 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 쿠리어 장치들의 예상된 수를 디스플레이할 수 있다. 몇 개의 쿠리어들이 이용가능한지를 아는 것은 원하는 커버리지를 달성하는 데 얼마나 오래 걸리는지를 이해하는 것을 용이하게 할 수 있다. 사용자 인터페이스는 또한 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 통신 채널들에 관한 정보를 디스플레이할 수 있다. 어느 채널들이 이용가능한지를 이해하는 것은 분배 비용을 이해하는 데 도움을 줄 수 있다. 사용자 인터페이스는 또한 특정 쿠리어 장치와 특정 수신자 장치 사이의 상호작용의 가능성, 쿠리어 장치가 만날 가능성이 있는 수신자 장치들의 수, 큐레이팅된 전자 데이터에 의한 쿠리어 네트워크의 실제 커버리지, 또는 큐레이팅된 전자 데이터에 의한 쿠리어 네트워크의 예측된 커버리지를 디스플레이할 수 있다. 상호작용들의 가능성 및 그 결과 얻어지는 커버리지를 이해하는 것은 쿠리어들의 수를 변화시키는 것의 영향을 이해하는 것을 용이하게 할 수 있다. 장치(600)의 사용자는 어느 조치들을 취할지를 결정하기 위해 디스플레이 정보를 검사할 수 있다. 예를 들어, 사용자는 사용자 인터페이스를 보고, 선호하는 쿠리어 장치가 이용가능하다는 것과 그 쿠리어 장치가 수신자 장치들의 원하는 세트를 만날 가능성이 있다는 것을 알 수 있다. 사용자는 이어서 큐레이팅된 전자 데이터를 그 수신자에 제공하라고 장치에 지시할 수 있다. 다른 예에서, 사용자는 사용자 인터페이스를 보고, 수신자가 특정 콘텐츠를 요청했지만 수신자가 청구서를 결제하지 않았고 라이센스 계약을 위반한 것에 대한 나쁜 평판을 갖고 있다는 것을 알 수 있다. 사용자는 이어서 평판, 라이센스, 및 계정 데이터에 기초하여 요청된 콘텐츠를 쿠리어 장치를 통해 송신할지에 관한 사업 결정을 할 수 있다.
장치(600)는 또한 친숙성 지수를 제공하는 제4 논리(638)를 포함한다. 친숙성 지수는 쿠리어 네트워크 내의 하나 이상의 쿠리어 장치들을 쿠리어 네트워크 내의 하나 이상의 수신자 장치들에 관련시킨다. 이 지수는, 예를 들어, 어레이, 다차원 어레이, 트리, 레코드들의 세트, 테이블, 데이터베이스, 또는 다른 데이터 구조를 비롯한 여러가지 데이터 구조들로 구현될 수 있다. 일 실시예에서, 친숙성 지수는 수신자 장치가 쿠리어 장치와 얼마나 자주 상호작용하는지, 쿠리어 장치로부터 수신자 장치로 전송된 데이터의 양, 쿠리어 장치로부터 수신자 장치로 전송된 데이터의 유형, 또는 다른 정보를 기술한다. 쿠리어 장치가 수신자 장치와 얼마나 자주 상호작용하는지에 관해 아는 것은 어느 쿠리어 장치가 특정 데이터 수신자들에 대해 의도되어 있는 어느 콘텐츠를 전달해야 하는지를 결정하는 것을 용이하게 한다. 데이터에 대한 원하는 분배 또는 커버리지의 특정 가능성을 제공하기 위해 쿠리어들의 어느 세트가 필요할 수 있는지에 관해 아는 것은 또한 쿠리어 장치들의 수 및 ID(identity)를 선택하는 것을 용이하게 한다.
이와 같이, 제4 논리(638)는 친숙성 지수에서의 데이터에, 적어도 부분적으로, 기초하여 제2 논리(634)가 큐레이팅된 전자 데이터의 분배를 제어하는 방식을 조정할 수 있다. 예를 들어, 친숙성 지수는 쿠리어 장치가 수신자 장치와 상호작용할 가능성을 기술할 수 있고, 제4 논리(638)는 쿠리어들과 수신자들 사이의 상호작용들의 가능성들에 기초하여 큐레이팅된 전자 데이터를 배달할 쿠리어들을 선택할 수 있다.
도 7은 예시적인 클라우드 동작 환경(700)을 나타낸 것이다. 클라우드 운영 환경(700)은 계산, 처리, 저장, 데이터 관리, 애플리케이션, 및 다른 기능을 독립형 제품(standalone product)이 아니라 추상 서비스(abstract service)로서 배달하는 것을 지원한다. 하나 이상의 컴퓨팅 디바이스들 상에서 하나 이상의 프로세스들로서 구현될 수 있는 서비스들이 가상 서버들에 의해 제공될 수 있다. 일부 실시예에서, 프로세스들이 클라우드 서비스를 방해함이 없이 서버들 사이에서 마이그레이션할 수 있다. 클라우드에서, 공유 자원들(예컨대, 계산, 저장)이 네트워크를 통해 서버들, 클라이언트들, 및 모바일 디바이스들을 비롯한 컴퓨터들에 제공될 수 있다. 클라우드 서비스들에 액세스하기 위해 여러가지 네트워크들(예컨대, 이더넷, Wi-Fi, 802.x, 셀룰러)이 사용될 수 있다. 클라우드와 상호작용하는 사용자들은 서비스(예컨대, 계산, 저장)를 실제로 제공하고 있는 디바이스의 상세(예컨대, 위치, 이름, 서버, 데이터베이스)를 알 필요가 없을 수 있다. 사용자들은, 예를 들어, 웹 브라우저, 씬 클라이언트(thin client), 모바일 애플리케이션을 통해, 또는 다른 방식들로 클라우드 서비스들에 액세스할 수 있다. 쿠리어 장치들 또는 수신자 장치들은 쿠리어 네트워크 서비스(760)와 상호작용할 수 있거나 그들의 동작들이 쿠리어 네트워크 서비스(760)에 의해, 적어도 부분적으로, 제어될 수 있다.
도 7은 예시적인 쿠리어 네트워크 서비스(760)가 클라우드에 존재하는 것을 나타내고 있다. 쿠리어 네트워크 서비스(760)는 처리를 수행하기 위해 서버(702) 또는 서비스(704)에 의존할 수 있고, 데이터를 저장하기 위해 데이터 저장소(706) 또는 데이터베이스(708)에 의존할 수 있다. 단일의 서버(702), 단일의 서비스(704), 단일의 데이터 저장소(706), 및 단일의 데이터베이스(708)가 예시되어 있지만, 서버들, 서비스들, 데이터 저장소들, 및 데이터베이스들의 다수의 인스턴스들이 클라우드(700)에 존재할 수 있고, 따라서, 쿠리어 네트워크 서비스(760)에 의해 사용될 수 있다. 한 시점에서, 쿠리어 디바이스는 쿠리어 네트워크 서비스(760)에 액세스할 수 있는 반면, 수신자 디바이스는 클라우드(700) 또는 쿠리어 네트워크 서비스(760)에 직접 액세스하지 못할 수 있다. 그렇지만, 수신자는 쿠리어 디바이스에 의해 수신자 디바이스로 물리적으로 수송되는 메시지들, 콘텐츠, 메타데이터, 또는 다른 정보를 통해 쿠리어 네트워크 서비스(760)에의 어떤 형태의 액세스를 달성할 수 있다.
도 7은 다양한 디바이스들이 쿠리어 네트워크 서비스(760)에 액세스하는 것을 나타내고 있다. 디바이스들은 컴퓨터(710), 태블릿(720), 랩탑 컴퓨터(730), PDA(personal digital assistant)(740), 및 모바일 디바이스(예컨대, 휴대폰, 위성 전화, 웨어러블 컴퓨팅 디바이스)(750)를 포함한다. 여러가지 디바이스들이 쿠리어 디바이스들로서 기능할 수 있다. 쿠리어 네트워크 서비스(760)는 쿠리어 디바이스에 제공될 큐레이팅된 전자 콘텐츠를 식별하는 것 및 수신자 디바이스에 제공될 큐레이팅된 전자 콘텐츠를 식별하는 것을 용이하게 할 수 있다. 쿠리어 네트워크 서비스(760)는 자율적으로, 유기적으로, 또는 어떤 서비스 또는 디바이스 기반 제어 하에서 기능하는 요청/응답 모델들, 푸시 모델들, 및 풀 모델들을 비롯한 여러가지 분배 모델들을 지원할 수 있다. 쿠리어 네트워크 서비스(760)는 콘텐츠가 쿠리어 네트워크에 의해 어떻게 분배되는지를 제어할 수 있다.
상이한 디바이스들을 사용하는 상이한 위치들에 있는 상이한 사용자들이 상이한 네트워크들 또는 인터페이스들을 통해 쿠리어 네트워크 서비스(760)에 액세스할 수 있는 것이 가능하다. 일 예에서, 쿠리어 네트워크 서비스(760)는 모바일 디바이스(750)에 의해 액세스될 수 있다. 모바일 디바이스(750)는 쿠리어 네트워크에서 쿠리어로서 기능할 수 있다. 다른 예에서, 쿠리어 네트워크 서비스(760)의 부분들이 모바일 디바이스(750) 상에 존재할 수 있다. 이와 같이, 일 실시예에서, 모바일 디바이스(750)와 접촉하게 되는 디바이스들은 서비스(760)의 적어도 일부분에 액세스하거나 서비스(760)에 보일 수 있다.
도 8은 각종의 임의적인 하드웨어 및 소프트웨어 컴포넌트들(전체적으로 802로 나타내어져 있음)을 포함하는 예시적인 모바일 디바이스(800)를 나타낸 시스템도이다. 다른 실시예에서, 모바일 디바이스(800)는 쿠리어 네트워크에서 쿠리어 디바이스로서 기능할 수 있거나, 쿠리어 네트워크에서 콘텐츠 분배를 제어하기 위한 서비스를 제공할 수 있다. 모바일 디바이스(800) 내의 컴포넌트들은 다른 컴포넌트들과 통신할 수 있지만, 예시의 편의를 위해 연결들 모두가 도시되어 있지는 않다. 모바일 디바이스(800)는 각종의 컴퓨팅 디바이스들(예컨대, 휴대폰, 스마트폰, 핸드헬드 컴퓨터, PDA(Personal Digital Assistant), 웨어러블 컴퓨팅 디바이스 등)일 수 있고, 셀룰러 또는 위성 네트워크와 같은, 하나 이상의 이동 통신 네트워크들(804)과의 무선 양방향 통신을 가능하게 할 수 있다.
모바일 디바이스(800)는 신호 코딩, 데이터 처리, 입출력 처리, 전력 제어, 또는 다른 기능들을 비롯한 작업들을 수행하기 위한 제어기 또는 프로세서(810)(예컨대, 신호 프로세서, 마이크로프로세서, ASIC, 또는 다른 제어 및 처리 논리 회로부)를 포함할 수 있다. 운영 체제(812)는 컴포넌트들(802)의 할당 및 사용을 제어하고 애플리케이션 프로그램들(814)을 지원할 수 있다. 애플리케이션 프로그램들(814)은 콘텐츠 공급자 애플리케이션들, 추천 애플리케이션들, 사용자 활동 애플리케이션들, 모바일 컴퓨팅 애플리케이션들(예컨대, 이메일 애플리케이션, 달력, 연락처 관리자, 웹 브라우저, 메시징 애플리케이션), 비디오 게임들, 또는 다른 컴퓨팅 애플리케이션들을 포함할 수 있다.
모바일 디바이스(800)는 메모리(820)를 포함할 수 있다. 메모리(820)는 비이동식 메모리(822) 또는 이동식 메모리(824)를 포함할 수 있다. 비이동식 메모리(822)는 RAM(random access memory), ROM(read only memory), 플래시 메모리, 하드 디스크, 또는 다른 메모리 저장 기술들을 포함할 수 있다. 이동식 메모리(824)는 플래시 메모리 또는 GSM 통신 시스템들에서 널리 공지되어 있는 SIM(Subscriber Identity Module) 카드, 또는 "스마트 카드"와 같은 다른 메모리 저장 기술들을 포함할 수 있다. 메모리(820)는 운영 체제(812) 및 애플리케이션들(814)을 실행시키기 위한 데이터 또는 코드를 저장하는 데 사용될 수 있다. 예시적인 데이터는 콘텐츠에 대한 요청, 콘텐츠, 이용가능한 콘텐츠에 관한 메타데이터, 연결 맵, 평판 데이터, 계정 데이터, 예측 데이터, 또는 다른 데이터를 포함할 수 있다. 메모리(820)는 IMSI(International Mobile Subscriber Identity)와 같은 가입자 식별자(subscriber identifier), 및 IMEI(International Mobile Equipment Identifier)와 같은 장비 식별자(equipment identifier)를 저장하는 데 사용될 수 있다. 일 예에서, 식별자들은 사용자들 또는 장비를 식별하기 위해 네트워크 서버로 전송될 수 있다.
모바일 디바이스(800)는 터치스크린(832), 마이크로폰(834), 카메라(836), 물리 키보드(838), 또는 트랙볼(840)(이들로 제한되지 않음)을 비롯한 하나 이상의 입력 디바이스들(830)을 지원할 수 있다. 모바일 디바이스(800)는 또한 스피커(852) 및 디스플레이(854)(이들로 제한되지 않음)를 비롯한 출력 디바이스들(850)을 지원할 수 있다. 다른 가능한 출력 디바이스들(도시되지 않음)은 압전 또는 다른 햅틱 출력 디바이스들을 포함할 수 있다. 일부 디바이스들은 하나 초과의 입출력 기능을 제공할 수 있다. 예를 들어, 터치스크린(832) 및 디스플레이(854)는 단일의 입출력 디바이스에 결합되어 있을 수 있다. 입력 디바이스들(830)은 NUI(Natural User Interface)를 포함할 수 있다. NUI는 사용자가, 마우스, 키보드, 리모콘, 및 다른 것들과 같은 입력 디바이스들에 의해 부과되는 인위적 제약조건들 없이, "자연스러운" 방식으로 디바이스와 상호작용할 수 있게 하는 인터페이스 기술이다. NUI 방법의 예들은 음성 인식, 터치 및 스타일러스 인식, 제스처 인식(스크린 상에서의 제스처 인식과 스크린에 인접한 제스처 인식 둘 다), 에어 제스처(air gesture), 머리 및 눈 추적, 음성(voice) 및 발화(speech), 시각(vision), 터치, 제스처, 및 기계 지능(machine intelligence)에 의존하는 것들을 포함한다. NUI의 다른 예들은 가속도계/자이로스코프, 얼굴 인식, 3차원(3D) 디스플레이, 머리, 눈, 및 시선 추적(gaze tracking), 몰입형 증강 현실 및 가상 현실 시스템(이들 모두는 보다 자연스러운 인터페이스를 제공함)을 사용하는 움직임 제스처 검출은 물론, 전기장 감지 전극들을 사용하여 뇌 활동을 감지하기 위한 기술들(EEG 및 관련 방법들)을 포함한다. 이와 같이, 하나의 구체적인 예에서, 운영 체제(812) 또는 애플리케이션들(814)은 사용자가 음성 명령을 통해 디바이스(800)를 작동시킬 수 있게 하는 음성 사용자 인터페이스의 일부로서 음성 인식 소프트웨어를 포함할 수 있다. 게다가, 디바이스(800)는 추천 애플리케이션에 입력을 제공하기 위해 제스처들을 검출하고 해석하는 것과 같은, 사용자의 공간 제스처들을 통한 사용자 상호작용을 가능하게 하는 입력 디바이스들 및 소프트웨어를 포함할 수 있다.
무선 모뎀(860)은 안테나(891)에 결합될 수 있다. 일부 예에서, RF(radio frequency) 필터들이 사용되고, 프로세서(810)는 선택된 주파수 대역에 대한 안테나 구성을 선택할 필요가 없다. 무선 모뎀(860)은 프로세서(810)와 외부 디바이스들 사이의 양방향 통신을 지원할 수 있다. 모뎀(860)은 총칭하여 도시되어 있고, 이동 통신 네트워크(804)와 통신하기 위한 셀룰러 모뎀 및/또는 다른 무선 기반 모뎀들(예컨대, 블루투스(864) 또는 Wi-Fi(862))을 포함할 수 있다. 무선 모뎀(860)은 단일의 셀룰러 네트워크 내에서의, 셀룰러 네트워크들 간의, 또는 모바일 디바이스와 PSTN(public switched telephone network) 간의 데이터 및 음성 통신을 위한 GSM(Global system for mobile communications) 네트워크와 같은, 하나 이상의 셀룰러 네트워크들과 통신하도록 구성될 수 있다. NFC 논리(892)는 NFC(near field communications)를 갖는 것을 용이하게 한다. 다른 단거리 통신 프로토콜들 및 디바이스간 통신이 지원될 수 있다.
모바일 디바이스(800)는 적어도 하나의 입출력 포트(880), 전원(882), GPS(Global Positioning System) 수신기와 같은 위성 항법 시스템 수신기(satellite navigation system receiver)(884), 또는 USB(Universal Serial Bus) 포트, IEEE 1394(Fire Wire) 포트, RS-232 포트, 또는 다른 포트일 수 있는 물리 커넥터(890)를 포함할 수 있다. 예시된 컴포넌트들(802)이 필수적이지도 모두 포함되는 것도 아닌데, 그 이유는 다른 컴포넌트들이 삭제되거나 추가될 수 있기 때문이다.
모바일 디바이스(800)는 모바일 디바이스(800)를 위한 기능을 제공하도록 구성되어 있는 특수 목적 논리(899)를 포함할 수 있다. 예를 들어, 쿠리어 네트워크 논리(899)는 서비스(예컨대, 도 7의 서비스(760))와 상호작용하기 위한 클라이언트를 제공할 수 있거나 서비스를 제공할 수 있다. 본원에 기술되는 예시적인 방법들의 부분들이 쿠리어 네트워크 논리(899)에 의해 수행될 수 있다. 이와 유사하게, 쿠리어 네트워크 논리(899)는 본원에 기술되는 장치들의 부분들을 구현할 수 있다.
일 실시예에서, 쿠리어 네트워크 논리(899)는 직접 네트워크(direct network)에서 동작하는 쿠리어 장치의 메모리에 넣어 전달될 콘텐츠를 선택하는 콘텐츠 회로를 제공할 수 있다. "직접" 네트워크라는 것은 네트워크 내의 일부 디바이스들이, 인터넷 또는 다른 네트워크에 의해 제공되는 연결들을 사용하여 라우터들 및 다른 네트워크 장치들을 통해 간접적으로 통신하는 것이 아니라, 예를 들어, NFC를 사용하여 서로 일대일로 직접 통신한다는 것을 의미한다. 콘텐츠가 쿠리어 장치(예컨대, 여행자가 휴대하는 스마트폰)에 의해 데이터 제공자(예컨대, 전자책 스토어, 운영 체제 벤더, 애플리케이션 벤더, 비디오 게임 스토어)로부터 수신되고 제2 디바이스(예컨대, 원격 랩탑)에 배달된다. 콘텐츠 회로는 직접 네트워크에 이미 저장되어 있는 콘텐츠, 네트워크에 의해 이용가능한 데이터, 및 분배 계획에 기초하여 콘텐츠를 선택한다. 예를 들어, 콘텐츠 회로는, 어느 부가 콘텐츠를 제2 디바이스에 배달할 가능성이 있는 쿠리어 장치에 제공할지를 결정하기 전에, 쿠리어 장치에 의해 이미 저장된 콘텐츠 및 제2 디바이스에 의해 이미 저장된 콘텐츠를 고려할 수 있다. 콘텐츠 회로는 또한 제2 디바이스 상에 저장되어야 하는 콘텐츠를 기술하는 분배 계획을 고려할 수 있다. 예를 들어, 분배 계획은 모바일 디바이스들의 운영 체제 벤더 및 제조업체가 디바이스들 상에 설치하고자 할 운영 체제 및 서비스 팩을 식별해줄 수 있다. 콘텐츠 회로는 어떤 콘텐츠(예컨대, 운영 체제, 서비스 팩)를 제2 디바이스에 배달하기 위해 쿠리어 장치에 제공할지를 결정할 때 이 계획을 고려할 수 있다.
분배될 콘텐츠를 선택하는 것은 쿠리어 네트워크 논리(899)에 의해 수행될 수 있는 작업의 일부에 불과하다. 쿠리어 네트워크 논리(899)는 또한 직접 네트워크에서의 통신을 제어하는 연결 회로를 포함할 수 있다. 예를 들어, 연결 회로는 쿠리어 장치와 콘텐츠 공급자 사이의 그리고 쿠리어 장치와 제2 디바이스 사이의 통신을 제어할 수 있다. 통신을 제어하는 것은 콘텐츠를 특정 유형의 통신 링크(예컨대, 인터넷, 인터넷이 아님)를 통해서만 전송될 수 있는 것으로 식별하는 것을 포함할 수 있다. 연결 회로는, 쿠리어 장치가 제1 물리적 위치에 위치되어 있는 동안, 제1 프로토콜을 사용하여 제1 시기에 제1 물리적 위치에서 쿠리어 장치와 콘텐츠 공급자 사이에서의 콘텐츠의 전달을 제어한다. 예를 들어, 쿠리어 장치(예컨대, 스마트폰)의 소유자가 시내에 있는 직장에 있는 동안, 연결 회로는 쿠리어 장치가 교외에 있는 집에 있는 동안 접촉하게 될 수 있는 다른 디바이스들 상에 저장되어 있는 비디오 게임에 대한 업데이트를 제공할 수 있다. 연결 회로는 이어서 또한, 쿠리어 장치가 제2 물리적 위치에 위치되어 있는 동안, 제2 프로토콜을 사용하여 제2 시기에 제2 물리적 위치에서 쿠리어 장치(예컨대, 스마트폰)와 제2 디바이스(예컨대, 집에 있는 랩탑) 사이에서의 콘텐츠의 전달을 제어할 수 있다. 이러한 방식으로, 콘텐츠가 제1 유형의 인프라를 갖는 위치에서는 제1 유형의 링크(예컨대, 고속, 저가 인터넷)를 사용하여 모바일 디바이스에 제공될 수 있고, 콘텐츠가 제2 유형의 인프라를 갖는 위치에서는 제2 유형의 링크(예컨대, NFC)를 사용하여 랩탑 및 다른 디바이스들에 제공될 수 있다. 제2 프로토콜은 인터넷을 수반하지 않을 수 있고, 직접 및 비연결형일 수 있다.
도 9는 산맥(900) 및 디바이스들(910, 912 내지 916)을 나타내고 있다. 디바이스들(910 내지 916)은 서로 통신할 수 있지만, 어떤 인터넷 연결도 갖지 않을 수 있다. 디바이스들(910 내지 916)은 메시지들, 데이터, 또는 다른 정보가 쿠리어 디바이스에 의해 물리적으로 수송되는 쿠리어 네트워크에 참여할 수 있다.
도 10은 산맥(900) 및 디바이스들의 상이한 세트를 나타내고 있다. 디바이스들(910 및 912 내지 916)에 부가하여, 디바이스들(9121 및 9122)과 같이 디바이스(920)가 존재한다. 디바이스(920)는 쿠리어 디바이스로서 기능하고 있을 수 있다. 디바이스(920)는 산맥(900)을 넘어 전자 콘텐츠를 가져왔을 수 있다. 디바이스(920)는 어떤 디바이스에 의해 이전에 요청된 특정 전자 콘텐츠를 가질 수 있거나, 산맥(900)의 반대쪽에서 이용가능한 전자 콘텐츠에 관한 정보를 가질 수 있다. 디바이스(920)는 콘텐츠 또는 메타데이터를 디바이스(910)에 제공할 수 있다. 디바이스(920)는 또한 콘텐츠 또는 메타데이터를 디바이스(912)에 제공할 수 있다. 디바이스(912)는 이어서 차례로 콘텐츠 또는 메타데이터를 디바이스들(9121 및 9122)에 제공할 수 있다. 디바이스들(910 내지 916)의 도달거리 내에 있는 동안, 디바이스(920)는 콘텐츠에 대한 요청들을 수신할 수 있다. 요청들은 (예컨대, 디바이스(910)로부터) 직접 올 수 있거나 (예컨대, 디바이스(9121)로부터 디바이스(912)를 통해) 간접적으로 올 수 있다. 디바이스(920)에서 이용가능한 콘텐츠는 예시적인 장치들 및 방법들에 의해 제공되는 서비스에 의해 선택되었을 수 있다. 그에 부가하여, 콘텐츠가 디바이스(920)로부터 이용가능하게 되는 방식이 예시적인 장치들 및 방법들에 의해 제공되는 서비스에 의해 제어될 수 있다.
"컴퓨터 판독가능 저장 매체"는, 본원에서 사용되는 바와 같이, 명령어들 또는 데이터를 저장하는 매체를 지칭한다. "컴퓨터 판독가능 저장 매체"는 전파 신호(propagated signal) 자체를 지칭하지 않는다. 컴퓨터 판독가능 저장 매체는 비휘발성 매체 및 휘발성 매체(이들로 제한되지 않음)를 비롯한 많은 형태들을 취할 수 있다. 비휘발성 매체는, 예를 들어, 광학 디스크, 자기 디스크, 테이프, 플래시 메모리, ROM(read only memory), 및 다른 매체를 포함할 수 있다. 휘발성 매체는, 예를 들어, 반도체 메모리, 동적 메모리(예컨대, DRAM(dynamic random access memory), SDRAM(synchronous dynamic random access memory), DDR SDRAM(double data rate synchronous dynamic random-access memory) 등), 및 다른 매체를 포함할 수 있다. 통상의 형태들의 컴퓨터 판독가능 저장 매체는 컴퓨터, 프로세서 또는 다른 전자 디바이스가 읽을 수 있는, 플로피 디스크, 플렉서블 디스크(flexible disk), 하드 디스크, 자기 테이프, 다른 자기 매체, CD(compact disk), RAM(random access memory), ROM(read only memory), 메모리 칩 또는 카드, 메모리 스틱, 및 다른 매체를 포함할 수 있다.
이하는 본원에서 이용되는 선택된 용어들의 정의들을 포함한다. 정의들은 용어의 범주 내에 속하는 그리고 구현을 위해 사용될 수 있는 컴포넌트들의 다양한 예들 또는 형태들을 포함한다. 예들은 제한하기 위한 것이 아니다. 용어들의 단수 형태 및 복수 형태 둘 다가 정의 내에 속할 수 있다.
"일 실시예", "실시예", "일 예", 및 "예"라고 언급하는 것들은 그와 같이 기술되는 실시예(들) 또는 예(들)가 특정의 특징, 구조, 특성, 속성, 요소, 또는 제한을 포함할 수 있지만, 모든 실시예 또는 예가 그 특정의 특징, 구조, 특성, 속성, 요소 또는 제한을 꼭 포함하는 것은 아니라는 것을 나타낸다. 게다가, "일 실시예에서"라는 문구의 반복 사용이 꼭 동일한 실시예를 지칭하는 것은 아니지만, 그러할 수도 있다.
"데이터 저장소"는, 본원에서 사용되는 바와 같이, 전자 데이터를 저장할 수 있는 물리적 또는 논리적 엔터티를 지칭한다. 데이터 저장소는, 예를 들어, 데이터베이스, 테이블, 파일, 리스트, 큐(queue), 힙(heap), 메모리, 레지스터, 및 다른 물리적 리포지토리(physical repository)일 수 있다. 다른 예들에서, 데이터 저장소는 하나의 논리적 또는 물리적 엔터티에 존재할 수 있거나, 2개 이상의 논리적 또는 물리적 엔터티들 간에 분산되어 있을 수 있다. 전자 데이터를 데이터 저장소에 저장하는 것은 데이터 저장소의 물리적 변환을 야기한다.
"논리"는, 본원에서 사용되는 바와 같이, 기능(들) 또는 동작(들)을 수행하거나 다른 논리, 방법, 또는 시스템으로부터의 기능 또는 동작을 야기하는 하드웨어, 펌웨어, 머신에서 실행 중인 소프트웨어, 또는 각각의 조합(이들로 제한되지 않음)을 포함한다. 논리는 소프트웨어 제어 마이크로프로세서(software controlled microprocessor), 개별 논리(예컨대, ASIC), 아날로그 회로, 디지털 회로, 프로그래밍된 논리 디바이스(programmed logic device), 명령어들을 포함하는 메모리 디바이스, 및 다른 물리 디바이스들을 포함할 수 있다. 논리는 하나 이상의 게이트들, 게이트들의 조합들, 또는 다른 회로 컴포넌트들을 포함할 수 있다. 다수의 논리적 논리(logical logic)들이 기술되어 있는 경우, 다수의 논리적 논리들을 하나의 물리적 논리에 포함시키는 것이 가능할 수 있다. 이와 유사하게, 단일의 논리적 논리가 기술되어 있는 경우, 그 단일의 논리적 논리를 다수의 물리적 논리들 간에 분산시키는 것이 가능할 수 있다.
"포함한다(includes)" 또는 "포함하는(including)"이라는 용어가 발명을 실시하기 위한 구체적인 내용 또는 청구범위에서 이용되는 한, 그 용어는 "포함하는(comprising)"이라는 용어가 청구항에서 전이구(transitional word)로 이용될 때 해석되는 것과 유사한 방식으로 포함적(inclusive)인 것으로 의도되어 있다.
"또는"이라는 용어가 발명을 실시하기 위한 구체적인 내용 또는 청구범위에서 이용되는 한(예컨대, A 또는 B), 이는 "A 또는 B 또는 둘 다"를 의미하는 것으로 의도되어 있다. 출원인이 "둘 다가 아니라 A 또는 B만"을 나타내고자 의도할 때, "둘 다가 아니라 A 또는 B만"이라는 용어가 이용될 것이다. 이와 같이, 본원에서 "또는"이라는 용어의 사용은 배타적인 용도가 아니라 포함적인 용도이다. Bryan A. Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995)를 참조하기 바란다.
"A, B, 및 C 중 하나"라는 문구가 본원에서 이용되는 한(예컨대, A, B, 및 C 중 하나를 저장하도록 구성된 데이터 저장소), 이는 가능한 경우들 A, B, 및 C의 세트를 전달하도록 의도되어 있다(예컨대, 데이터 저장소가 A만, B만, 또는 C만을 저장할 수 있다). 이는 A 중 하나, B 중 하나, 및 C 중 하나를 필요로 하는 것으로 의도되지 않는다. 출원인이 "A 중 적어도 하나, B 중 적어도 하나, 및 C 중 적어도 하나"를 나타내고자 의도할 때, "A 중 적어도 하나, B 중 적어도 하나, 및 C 중 적어도 하나"라는 문구가 이용될 것이다.
"A, B, 및 C 중 하나 이상"이라는 문구가 본원에서 이용되는 한(예컨대, A, B, 및 C 중 하나 이상을 저장하도록 구성된 데이터 저장소), 이는 가능한 경우들 A, B, C, AB, AC, BC, ABC, AA...A, BB...B, CC...C, AA...ABB...B, AA...ACC...C, BB...BCC...C, or AA...ABB...BCC...C의 세트를 전달하도록 의도되어 있다(예컨대, 데이터 저장소는 A만, B만, C만, A 및 B, A 및 C, B 및 C, A 및 B 및 C, 또는 A, B, 또는 C의 다수의 인스턴스들을 포함하는 이들의 다른 조합들을 저장할 수 있다). 이는 A 중 하나, B 중 하나, 및 C 중 하나를 필요로 하는 것으로 의도되지 않는다. 출원인이 "A 중 적어도 하나, B 중 적어도 하나, 및 C 중 적어도 하나"를 나타내고자 의도할 때, "A 중 적어도 하나, B 중 적어도 하나, 및 C 중 적어도 하나"라는 문구가 이용될 것이다.
발명 요지가 구조적 특징들 또는 방법 동작들과 관련하여 기술되어 있지만, 첨부된 청구범위에 한정되어 있는 발명 요지가 이상에서 기술한 구체적인 특징들 또는 동작들로 꼭 제한되는 것은 아님을 잘 알 것이다. 오히려, 이상에서 기술한 특정의 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시되어 있다.

Claims (15)

  1. 장치로서,
    프로세서;
    쿠리어 네트워크(courier network)에서의 큐레이팅된 전자 데이터(curated electronic data)의 분배를 제어하는 논리들의 세트;
    상기 쿠리어 네트워크에서의 상기 큐레이팅된 전자 데이터의 분배를 제어하기 위한 정보를 저장하는 메모리; 및
    상기 프로세서, 상기 메모리, 및 상기 논리들의 세트를 연결하는 인터페이스
    를 포함하고; 상기 논리들의 세트는,
    상기 큐레이팅된 전자 데이터를 식별하는 제1 논리; 및
    상기 쿠리어 네트워크에서의 상기 큐레이팅된 전자 데이터의 분배를 제어하는 제2 논리를 포함하며,
    상기 쿠리어 네트워크는 수신자(recipient) 장치 및 쿠리어 장치를 포함하고,
    상기 쿠리어 장치는 상기 제2 논리에 의해, 적어도 부분적으로, 제어됨에 따라 제1 시점에서 제1 물리적 위치에서 콘텐츠 공급자로부터 상기 큐레이팅된 전자 데이터를 수신하며,
    상기 큐레이팅된 전자 데이터는 상기 쿠리어 장치에 의해 제2 물리적 위치로 전달되고,
    상기 쿠리어 장치는 상기 제2 논리에 의해, 적어도 부분적으로, 제어됨에 따라 제2 추후(later) 시점에서 상기 제2 물리적 위치에서 상기 큐레이팅된 전자 데이터를 상기 수신자 장치에 제공하는 것인 장치.
  2. 제1항에 있어서, 상기 제1 논리는 상기 수신자 장치에 관한 정보에 기초하여 상기 큐레이팅된 전자 데이터를 식별하고, 상기 수신자 장치에 관한 상기 정보는 상기 수신자 장치의 상태를 기술하는 것인 장치.
  3. 제2항에 있어서, 상기 제1 논리는 상기 수신자 장치에 대한 원하는 상태와 비교되는 상기 수신자 장치의 상태에, 적어도 부분적으로, 기초하여 상기 큐레이팅된 전자 데이터를 식별하는 것인 장치.
  4. 제2항에 있어서, 상기 수신자 장치에 관한 상기 정보는 상기 수신자 장치에서 발원되었고, 상기 수신자 장치의 상태, 상기 수신자 장치에 의해 제공되는 요청, 상기 수신자 장치에 의해 수신되는 콘텐츠의 알림(notice), 또는 상기 수신자 장치와 연관된 라이센스 파라미터를 기술하거나, 또는
    상기 수신자 장치에 관한 상기 정보는 상기 쿠리어 장치에서 발원되었고, 상기 수신자 장치의 상태, 상기 수신자 장치에 의해 제공되는 요청, 상기 수신자 장치에 의해 수신되는 콘텐츠의 알림, 또는 상기 수신자 장치와 연관된 라이센스 파라미터를 기술하거나, 또는
    상기 수신자 장치에 관한 상기 정보는 상기 장치에서 발원되었고, 상기 수신자 장치와 연관된 계정 파라미터, 상기 수신자 장치와 연관된 평판(reputation) 파라미터, 또는 상기 수신자 장치와 연관된 라이센스 파라미터를 기술하는 것인 장치.
  5. 제1항에 있어서, 상기 큐레이팅된 전자 데이터는 운영 체제, 운영 체제 업데이트, 애플리케이션, 애플리케이션 업데이트, 일편의 콘텐츠, 일편의 콘텐츠에 대한 업데이트, 또는 암호화 키인 것인 장치.
  6. 제1항에 있어서, 상기 제1 논리는 상기 수신자 장치와 상기 콘텐츠 공급자 사이의 2번 이상의 요청/응답 반복(iteration)들로 전송되는 정보에 기초하여 상기 큐레이팅된 전자 데이터를 식별하고, 요청/응답 반복들은 요청을 상기 수신자 장치로부터 상기 콘텐츠 공급자로 쿠리어 방식으로 배달(courier)하는 것 및 응답을 상기 콘텐츠 공급자로부터 상기 수신자 장치로 쿠리어 방식으로 배달하는 것을 수반하는 것인 장치.
  7. 제1항에 있어서, 상기 제1 논리는 상기 수신자 장치에 대한 효용성 척도(utility measure)를 충족시킬 콘텐츠의 예측(prediction)에 기초하여 상기 큐레이팅된 전자 데이터를 식별하는 것인 장치.
  8. 제1항에 있어서, 상기 제2 논리는 상기 큐레이팅된 전자 데이터가 제공될 선택되는 쿠리어 장치를 선택함으로써 상기 큐레이팅된 전자 데이터의 분배를 제어하는 것인 장치.
  9. 제8항에 있어서, 상기 제2 논리는, 상기 큐레이팅된 전자 데이터를 상기 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 비용에, 상기 큐레이팅된 전자 데이터를 상기 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 보안에, 또는 상기 큐레이팅된 전자 데이터를 상기 선택되는 쿠리어 장치에 넣어 쿠리어 방식으로 배달하는 것과 연관된 예상 배달 시간에, 적어도 부분적으로, 기초하여 상기 선택되는 쿠리어 장치를 선택하는 것인 장치.
  10. 제8항에 있어서, 상기 제2 논리는 상기 큐레이팅된 전자 데이터를 이미 제공받은 쿠리어 장치들의 수에, 적어도 부분적으로, 기초하여 상기 선택되는 쿠리어 장치를 선택하는 것인 장치.
  11. 제1항에 있어서, 상기 제2 논리는 상기 큐레이팅된 전자 데이터를 상기 콘텐츠 공급자로부터 상기 쿠리어 장치에 제공하기 위한 통신 채널을 선택함으로써 상기 큐레이팅된 전자 데이터의 분배를 제어하고, 상기 통신 채널은 상기 큐레이팅된 전자 데이터를 상기 통신 채널 상에서 전송하는 것과 연관된 비용에, 상기 큐레이팅된 전자 데이터를 상기 통신 채널 상에서 전송하는 것과 연관된 보안에, 상기 큐레이팅된 전자 데이터를 상기 통신 채널 상에서 전송하는 것과 연관된 대역폭에, 또는 상기 큐레이팅된 전자 데이터를 상기 통신 채널 상에서 전송하는 것과 연관된 예상 완료 시간에, 적어도 부분적으로, 기초하여 선택되는 것인 장치.
  12. 제1항에 있어서, 제3 논리를 포함하고, 상기 제3 논리는 사용자 인터페이스를 제공하며, 상기 사용자 인터페이스는 상기 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 쿠리어 장치들의 수, 상기 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 쿠리어 장치들의 예상된 수, 상기 큐레이팅된 전자 데이터를 분배하는 데 이용가능한 통신 채널들에 관한 정보, 특정 쿠리어 장치와 특정 수신자 장치 사이의 상호작용의 가능성, 상기 쿠리어 장치가 만날 가능성이 있는 수신자 장치들의 수, 상기 큐레이팅된 전자 데이터에 의한 상기 쿠리어 네트워크의 실제 커버리지, 또는 상기 큐레이팅된 전자 데이터에 의한 상기 쿠리어 네트워크의 예측된 커버리지를 디스플레이하는 것인 장치.
  13. 제1항에 있어서, 상기 쿠리어 네트워크 내의 하나 이상의 쿠리어 장치들을 상기 쿠리어 네트워크 내의 하나 이상의 수신자 장치들에 관련시키는 친숙성 지수(familiarity index)를 제공하는 제4 논리를 포함하고, 상기 친숙성 지수는 수신자 장치가 쿠리어 장치와 얼마나 자주 상호작용하는지, 쿠리어 장치로부터 수신자 장치로 전송된 데이터의 양, 및 쿠리어 장치로부터 수신자 장치로 전송된 데이터의 유형을 기술하는 것인 장치.
  14. 제13항에 있어서, 상기 제4 논리는 상기 친숙성 지수에서의 데이터에, 적어도 부분적으로, 기초하여 상기 제2 논리가 상기 큐레이팅된 전자 데이터의 분배를 제어하는 방식을 조정하는 것인 장치.
  15. 제13항에 있어서, 상기 친숙성 지수는 쿠리어 장치가 수신자 장치와 상호작용할 가능성을 기술하고, 상기 제4 논리는 쿠리어들과 수신자들 사이의 상호작용들의 가능성들에 기초하여 상기 큐레이팅된 전자 데이터의 배달을 제어하는 것인 장치.
KR1020177000487A 2014-06-18 2015-06-17 쿠리어 네트워크 서비스 KR102330737B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/307,581 2014-06-18
US14/307,581 US9769244B2 (en) 2014-06-18 2014-06-18 Courier network service
PCT/US2015/036110 WO2015195723A1 (en) 2014-06-18 2015-06-17 Courier network service

Publications (2)

Publication Number Publication Date
KR20170021831A true KR20170021831A (ko) 2017-02-28
KR102330737B1 KR102330737B1 (ko) 2021-11-23

Family

ID=53541900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000487A KR102330737B1 (ko) 2014-06-18 2015-06-17 쿠리어 네트워크 서비스

Country Status (5)

Country Link
US (1) US9769244B2 (ko)
EP (1) EP3158511A1 (ko)
KR (1) KR102330737B1 (ko)
CN (1) CN106464737B (ko)
WO (1) WO2015195723A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552564B1 (en) * 2015-03-19 2017-01-24 Amazon Technologies, Inc. Autonomous delivery transportation network
CN105656888B (zh) * 2015-12-29 2018-09-11 刘鑫淼 针对用户信息进行保密的业务处理方法、装置以及系统
US10264500B2 (en) * 2016-03-31 2019-04-16 International Business Machines Corporation Selection of inter-network communication
US10768849B2 (en) * 2017-03-29 2020-09-08 Amazon Technologies, Inc. Migration of information via storage devices
US10820167B2 (en) * 2017-04-27 2020-10-27 Facebook, Inc. Systems and methods for automated content sharing with a peer
CN107277041B (zh) * 2017-07-20 2023-08-22 北京织迦科技发展有限公司 一种基于众包方式的共享模式快递系统及方法
US10958708B2 (en) * 2018-08-22 2021-03-23 International Business Machines Corporation Crowdsourcing big data transfer
CN112257113B (zh) * 2020-11-17 2022-03-25 珠海大横琴科技发展有限公司 一种数据资源平台的安全控制方法及装置、设备、介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008088817A1 (en) * 2007-01-17 2008-07-24 Metrologic Instruments, Inc. Shipping, tracking and delivery networks, apparatus and methods

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1207707B1 (en) 2000-11-17 2008-08-13 Sony Deutschland GmbH Transmission of carry-on objects using a wireless ad-hoc networking environment
US20050150959A1 (en) 2004-01-09 2005-07-14 John Izzo Optical reader
JP4273424B2 (ja) 2005-06-29 2009-06-03 ソニー株式会社 コンテンツ取得装置、コンテンツ取得方法及びコンテンツ取得プログラム
US8145532B2 (en) 2006-06-27 2012-03-27 Microsoft Corporation Connecting devices to a media sharing service
US7970350B2 (en) 2007-10-31 2011-06-28 Motorola Mobility, Inc. Devices and methods for content sharing
US8902855B2 (en) 2011-08-01 2014-12-02 Intel Corporation Opportunistic device-to-device communication
BR112014007959A2 (pt) 2011-10-03 2017-06-13 Intel Corp mecanismos para comunicação de dispositivo para dispositivo
EP3897016A3 (en) 2012-04-27 2021-11-24 Interdigital Patent Holdings, Inc. Method and apparatus for provisioning of d2d policies for a wireless transmit receive unit (wtru)
EP2665298B1 (en) 2012-05-15 2014-07-09 Telefonaktiebolaget L M Ericsson (publ) Beacon management for network assisted device-to-device (D2D) communication
WO2013181421A2 (en) 2012-05-31 2013-12-05 Interdigital Patent Holdings, Inc. Method and apparatus for device-to-device (d2d) mobility in wireless systems
US9445446B2 (en) 2012-07-09 2016-09-13 Industrial Technology Research Institute Method and apparatus for device to device communication
CN103686718A (zh) 2012-08-31 2014-03-26 中兴通讯股份有限公司 D2d设备的身份标识处理方法及装置
US9026051B2 (en) 2012-09-28 2015-05-05 Intel Corporation Wireless wide area network (WWAN) managed device to device communication using narrowband Wi-Fi in a licensed band
US8923880B2 (en) 2012-09-28 2014-12-30 Intel Corporation Selective joinder of user equipment with wireless cell
US8594632B1 (en) 2012-12-11 2013-11-26 Intel Corporation Device to-device (D2D) discovery without authenticating through cloud
US9232383B1 (en) * 2014-06-25 2016-01-05 Microsoft Corporation Courier network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008088817A1 (en) * 2007-01-17 2008-07-24 Metrologic Instruments, Inc. Shipping, tracking and delivery networks, apparatus and methods

Also Published As

Publication number Publication date
WO2015195723A1 (en) 2015-12-23
US20150373086A1 (en) 2015-12-24
CN106464737B (zh) 2019-11-26
EP3158511A1 (en) 2017-04-26
US9769244B2 (en) 2017-09-19
KR102330737B1 (ko) 2021-11-23
CN106464737A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
KR20170021831A (ko) 쿠리어 네트워크 서비스
US11576107B2 (en) System and method for detecting and acting upon a violation of terms of service
US9232383B1 (en) Courier network
US10587426B2 (en) System and method for optimizing revenue through bandwidth utilization management
US11343576B2 (en) On-demand live media content streaming
US20190362385A1 (en) System and method for dynamically retrieving and monitoring geofence activity
CN105723746A (zh) 基于连接质量数据的因用户而异的销售点网络推荐
US11330649B2 (en) Methods and systems of multi-link peer-to-peer communications
US11477644B2 (en) Network application programming interface guided service placement
CN106063307A (zh) 对优先访问信道的优先访问
US11227243B2 (en) Communication system with enterprise analysis and methods for use therewith
US10038729B1 (en) Cooperative network access
US20220174485A1 (en) Network application programming interface service for application guidance and control
WO2017223227A1 (en) Automatic wireless grid access sharing and monetization from a mobile device application that receives credentials over a wireless channel
US10826955B2 (en) Methods, devices, and systems for providing media content from a media service to non-subscribers
US20220253844A1 (en) Blockchain-based transactions of digital content
US11432035B2 (en) Adaptive streaming with demuxed audio and video tracks
US10841538B2 (en) Method and apparatus for managing data subsidies in a communication system
US20210295365A1 (en) Identification of Certified Brand Advocates in Electronic Media
US20220312053A1 (en) Streaming awareness gateway
US20230269293A1 (en) Intelligent wireless broadband cooperative model
US20240121184A1 (en) Situation aware qos automation system and method leveraging user device real time updating
US20220166772A1 (en) Apparatuses and methods for facilitating port discernment driven mutual authentication and service access authorization

Legal Events

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