KR20160142854A - 서버를 통한 p2p-가능 클라이언트 디바이스들 간의 데이터의 선택적 교환 - Google Patents
서버를 통한 p2p-가능 클라이언트 디바이스들 간의 데이터의 선택적 교환 Download PDFInfo
- Publication number
- KR20160142854A KR20160142854A KR1020167030536A KR20167030536A KR20160142854A KR 20160142854 A KR20160142854 A KR 20160142854A KR 1020167030536 A KR1020167030536 A KR 1020167030536A KR 20167030536 A KR20167030536 A KR 20167030536A KR 20160142854 A KR20160142854 A KR 20160142854A
- Authority
- KR
- South Korea
- Prior art keywords
- client device
- server
- data
- operator
- local
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
일 실시형태에서, 제 1 무선 디바이스는 제 2 디바이스와 P2P 접속을 확립한다. P2P 접속이 여전히 확립되는 동안, 제 1 클라이언트 디바이스는 P2P 접속을 통해 제 2 클라이언트 디바이스로 데이터를 전송하기 위해 요청을 수신하고, 이후 데이터가 서버로 전송되고 있다는 것을 제 1 클라이언트 디바이스의 오퍼레이터에게 통지하지 않고도 제 2 클라이언트 디바이스의 임시 식별자의 표시와 함께 데이터를 서버로 전송한다. 또 다른 실시형태에서, 서버는 데이터를 수신하고, 제 2 클라이언트 디바이스의 고유의 네트워크 어드레스로 임시 식별자를 맵핑하고, 그리고 각 클라이언트 디바이스들 간의 데이터 송신의 레코드를 발생시킨다. 또 다른 실시형태에서, 서버는, 보충적인 통신을 허용하기 위해 제 1 및 제 2 클라이언트 디바이스들이 이들의 P2P 접속으로부터 접속해제된 이후 임시 식별자에 대한 연관을 유지한다.
Description
본 발명의 실시형태들은 서버를 통한 피어 투 피어 (P2P)-가능 클라이언트 디바이스들 간의 데이터의 선택적 교환에 관한 것이다.
1세대 아날로그 무선 전화 서비스 (1G), 2세대 (2G) 디지털 무선 전화 서비스 (2.5G 및 2.75G 네트워크들을 포함) 및 3세대 (3G) 고속 데이터, 인터넷 가능 무선 서비스 및 4세대 (4G) 서비스 (예를 들어, LTE (Long-Term Evolution) 또는 WiMax) 를 포함한 무선 통신 시스템들이 다양한 세대들에 걸쳐 개발되었다. 셀룰러 및 개인 통신 서비스 (PCS) 시스템들을 포함해서 많은 상이한 타입들의 무선 통신 시스템들이 현재 사용되고 있다. 공지된 셀룰러 시스템들의 예들은 셀룰러 AMPS(Analog Advanced Mobile Phone System), 및 CDMA (Code Division Multiple Access), FDMA (Frequency Division Multiple Access), TDMA (Time Division Multiple Access), TDMA의 GSM (Global System for Mobile access) 변형에 기반한 디지털 셀룰러 시스템들을 포함한다.
종종, 하나의 클라이언트 디바이스가 (예를 들어 "비공식적인" 피어-투-피어 (P2P) 교환과 반대되는) "공식적인" 방식으로 다른 클라이언트 디바이스(들)과 데이터 (예를 들어, 미디어, 정보 또는 파일들 등) 를 빨리 교환할 비지니스상의 필요가 있다. 하지만, 이러한 교환은 통상적으로 개인 컨택 정보 (예를 들어, 이메일 어드레스, 폰 번호, 스카이프 유저네임, 페이스북 ID, LinkedIn ID, 또는 MAC ID, 폰 번호 등과 같은 네트워크를 통해 연관된 UE가 컨택될 수 있는 고유의 네트워크 어드레스) 를 획득하는 클라이언트 디바이스를 요구한다. 예를 들어, 사람들의 작은 그룹이 참석한 비즈니스 오찬에서, 오찬 참가자는 단체 사진을 찍고 그룹 오찬의 각각의 다른 참석자와 함께 그 그룹 사진을 공유하고 싶어한다고 가정한다. 이 경우, 오찬 참가자가 각각의 다른 참석자의 개인 연락처 정보를 획득하는 것은 아마도 현실적이지 않다. 또 다른 예에서, 마케팅 사람이 참석자를 컨퍼런스하는 디지털 정보 책자를 배부하고 싶어 한다고 가정한다. 이 경우, 디지털 정보 책자의 수령자들은 마케팅 사람에게 개인 연락처 정보를 누설하지 않고 디지털 정보 책자를 검색하기를 원하지 않을 수도 있다. 또한, 특정 거래는 이들 각각의 오퍼레이터들에 의한 공식적인 레코드를 방지하기 위해 특별히 P2P 프로토콜을 통해 발생할 수 있다. 예를 들어, 범죄자는 데이터 전송이 기록되는 레코드의 형태없이 P2P를 통해 데이터 파일들을 교환하기 원할 수도 있다.
일 실시형태에서, 제 1 무선 디바이스는 제 2 디바이스와 P2P 접속을 확립한다. P2P 접속이 여전히 확립되는 동안, 제 1 클라이언트 디바이스는 P2P 접속을 통해 제 2 클라이언트 디바이스로 데이터를 전송하기 위해 요청을 수신하고, 이후 데이터가 서버로 전송되고 있다는 것을 제 1 클라이언트 디바이스의 오퍼레이터에게 통지하지 않고도 제 2 클라이언트 디바이스의 임시 식별자의 표시와 함께 데이터를 서버로 전송한다. 또 다른 실시형태에서, 서버는 데이터를 수신하고, 제 2 클라이언트 디바이스의 고유의 네트워크 어드레스로 임시 식별자를 맵핑하고, 그리고 각 클라이언트 디바이스들 간의 데이터 송신의 레코드를 발생시킨다. 또 다른 실시형태에서, 서버는, 보충적인 통신을 허용하기 위해 제 1 및 제 2 클라이언트 디바이스들이 이들의 P2P 접속으로부터 접속해제된 이후 임시 식별자에 대한 연관을 유지한다.
본 발명의 한정이 아닌 단지 예시를 위해 제시되는 첨부 도면과 함께 고려될 때 다음의 상세한 설명을 참조하여 보다 잘 이해하게 될 것이므로, 본 발명의 실시형태들 및 이들의 수반되는 많은 이점들의 보다 완전한 이해는 용이하게 얻어질 것이며, 첨부 도면들에서:
도 1은 본 발명의 양태에 따른 무선 통신 시스템들의 하이 레벨 시스템 아키텍처를 예시한다.
도 2는 본 발명의 실시형태들에 따른 사용자 장비들 (UE들) 의 예들을 예시한다.
도 3은 본 발명의 실시형태에 따른 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한다.
도 4는 본 발명의 실시형태에 따른 서버를 예시한다.
도 5 는 본 발명의 실시형태에 따른 통신 환경에 배치되어 있는 복수의 P2P-가능 UE들 (또는 클라이언트 디바이스들) 을 예시한다.
도 6은 도 5의 통신 환경에서 UE들 1...N간에 데이터를 교환하는 종래의 프로세스를 예시한다.
도 7은 본 발명의 실시형태에 따라 서버 리디렉트와 함께 P2P 개시의 데이터 전송을 구현하는 프로세스를 예시한다.
도 8은 도 7의 프로세스의 대안적인 구현예를 예시하며, 이로써 본 발명의 실시형태에 따라 P2P 개시의 데이터 전송 이외에 서버 리디렉트가 발생한다.
도 9는 UE들이 본 발명의 실시형태에 따라 더 이상 P2P-접속되지 않는 경우라도 각 UE들 간의 비-P2P 통신을 구현하기 위해 2개 이상의 UE들에 대한 P2P-접속 통신 상태를 정의하는 프로세스를 예시한다.
도 10은 본 발명의 실시형태에 따른 도 9의 프로세스의 연속을 예시한다.
도 1은 본 발명의 양태에 따른 무선 통신 시스템들의 하이 레벨 시스템 아키텍처를 예시한다.
도 2는 본 발명의 실시형태들에 따른 사용자 장비들 (UE들) 의 예들을 예시한다.
도 3은 본 발명의 실시형태에 따른 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한다.
도 4는 본 발명의 실시형태에 따른 서버를 예시한다.
도 5 는 본 발명의 실시형태에 따른 통신 환경에 배치되어 있는 복수의 P2P-가능 UE들 (또는 클라이언트 디바이스들) 을 예시한다.
도 6은 도 5의 통신 환경에서 UE들 1...N간에 데이터를 교환하는 종래의 프로세스를 예시한다.
도 7은 본 발명의 실시형태에 따라 서버 리디렉트와 함께 P2P 개시의 데이터 전송을 구현하는 프로세스를 예시한다.
도 8은 도 7의 프로세스의 대안적인 구현예를 예시하며, 이로써 본 발명의 실시형태에 따라 P2P 개시의 데이터 전송 이외에 서버 리디렉트가 발생한다.
도 9는 UE들이 본 발명의 실시형태에 따라 더 이상 P2P-접속되지 않는 경우라도 각 UE들 간의 비-P2P 통신을 구현하기 위해 2개 이상의 UE들에 대한 P2P-접속 통신 상태를 정의하는 프로세스를 예시한다.
도 10은 본 발명의 실시형태에 따른 도 9의 프로세스의 연속을 예시한다.
본 발명의 양태들은 본 발명의 특정 실시형태에 관한 하기 설명 및 관련 도면들에 개시된다. 대안의 실시형태들은 본 발명의 범위를 벗어나지 않으면서 고안될 수도 있다. 부가하여, 본 발명의 주지된 엘리먼트들은 본 발명의 관련 상세들을 모호하게 하지 않기 위해서 상세히 기재되지 않거나 또는 생략될 것이다.
단어 "예시적인" 및/또는 "예"는 본 명세서에서 "예, 사례, 또는 예시로서 기능하는 것" 을 의미하는데 사용된다. 본 명세서에서 "예시적인" 으로서 설명된 임의의 실시형태가 반드시 다른 실시형태들에 비해 선호되거나 또는 유리한 것으로서 해석되는 것은 아니다. 마찬가지로, 용어 "본 발명의 실시형태"는, 본 발명의 모든 실시형태들이 논의된 피쳐, 이점 또는 동작의 모드를 포함하는 것을 요구하지는 않는다.
또한, 많은 실시형태들은 예를 들면, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 측면에서 설명되어 있다. 여기서 설명된 다양한 액션들은 특정 회로들 (예를 들면, 주문형 반도체 (ASIC)) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해 또는 양쪽 모두의 조합에 의해 수행될 수 있음이 인식될 것이다. 또한, 여기에 기술된 이들 액션들의 시퀀스는, 실행시 연관된 프로세서로 하여금 여기에 기술된 기능을 수행하게 하는 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 완전히 수록되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양태들이 다수의 상이한 형태들로 구현될 수도 있는데, 그 전부는 본원 특허청구범위의 요지의 범위 내에 존재하는 것으로 고려되었다. 또한, 여기에 기술된 실시형태들 각각에 대하여, 임의의 이러한 실시형태들의 대응하는 형태는 예를 들어, 설명된 액션을 수행하도록 "구성된 로직" 으로서 여기에 설명될 수도 있다.
여기서 사용자 장비 (UE) 로 지칭되는 클라이언트 디바이스는, 이동식 또는 고정식일 수도 있고, 무선 액세스 네트워크 (RAN) 와 통신할 수도 있다. 여기서 사용된 용어 "UE" 는 "액세스 단말기" 또는 "AT", "무선 디바이스", "가입자 디바이스", "가입자 단말기", "가입자 국", "사용자 단말기" 또는 UT, "이동 단말기", "이동국" 및 이들의 변형들로서 상호교환가능하게 지칭될 수도 있다. 일반적으로, UE들은 RAN 을 경유하여 코어 네트워크와 통신할 수 있고, 코어 네트워크를 통해, UE들은 인터넷과 같은 외부 네트워크들과 연결될 수 있다. 물론, 유선 액세스 네트워크들, (예를 들어, IEEE 802.11 등에 기초한) WiFi 네트워크들 등을 통한 것과 같이, 코어 네트워크 및/또는 인터넷에 연결되는 다른 메커니즘들이 UE들에 대해 또한 가능하다. UE들은 PC 카드들, 컴팩트 플래시 디바이스들, 외부 또는 내부 모뎀들, 무선 또는 유선 전화 등을 포함하지만 이에 한정되지 않는 다수의 타입들의 디바이스들 중의 임의의 것에 의해 구체화될 수 있다. UE들이 신호들을 RAN 으로 전송할 수 있는 통신 링크는 업링크 채널 (예를 들어, 역방향 트래픽 채널, 역방향 제어 채널, 액세스 채널 등) 로 칭해진다. RAN 이 신호들을 UE들로 전송할 수 있는 통신 링크는 다운링크 또는 순방향 링크 채널 (예를 들어, 페이징 채널, 제어 채널, 브로드캐스트 채널, 순방향 트래픽 채널 등) 로 칭해진다. 본원에서 사용된 용어 트래픽 채널 (traffic channel; TCH) 은 업링크 / 역방향 또는 다운링크 / 순방향 트래픽 채널 중 어느 하나를 지칭할 수 있다.
도 1은 본 발명의 실시형태에 따른 무선 통신 시스템 (100) 의 하이 레벨 시스템 아키텍처를 예시한다. 무선 통신 시스템 (100) 은 UE들 1...N 을 포함한다. UE들 1...N 은 셀룰러 전화기, 개인 정보 단말 (personal digitalassistant; PDA), 페이저, 랩톱 컴퓨터, 데스크톱 컴퓨터 등을 포함할 수 있다. 예를 들어, 도 1에서, UE들 1...2 은 셀룰러 호출 전화기들로서 예시되어 있고, UE들 3...5 는 셀룰러 터치스크린 전화기 또는 스마트폰들로서 예시되어 있고, UE N 은 데스크톱 컴퓨터 또는 PC 로서 예시되어 있다.
도 1을 참조하면, UE들 1...N 은 에어 인터페이스들 (104, 106, 108) 로서 도 1에서 도시된 물리 통신 인터페이스 또는 계층 및/또는 직접 유선 연결을 통해 액세스 네트워크 (예를 들어, RAN (120), 액세스 포인트 (125) 등) 와 통신하도록 구성된다. 에어 인터페이스 (104 및 106) 는 소정의 셀룰러 통신 프로토콜 (예를 들어, CDMA, EVDO, eHRPD, GSM, EDGE, W-CDMA, LTE 등) 을 준수할 수 있는 한편, 에어 인터페이스 (108) 는 무선 IP 프로토콜 (예를 들어, IEEE 802.11) 을 준수할 수 있다. RAN (120) 은 에어 인터페이스들 (104 및 106) 과 같은 에어 인터페이스들을 통해 UE들을 서빙하는 복수의 액세스 포인트들을 포함한다. RAN (120) 에서의 액세스 포인트들은 액세스 노드들 또는 AN 들, 액세스 포인트들 또는 AP들, 기지국들 또는 BS들, 노드 B들, e노드 B (eNode B) 등으로서 지칭될 수 있다. 이 액세스 포인트들은 지상 (terrestrial) 액세스 포인트들 (또는 지상국들), 또는 위성 액세스 포인트들일 수 있다. RAN (120) 은, RAN (120) 에 의해 서빙된 UE들과, 전적으로 RAN (120) 또는 상이한 RAN 에 의해 서빙된 다른 UE들과의 사이에서 회선 교환 (CS) 호들을 브릿징 (bridging) 하는 것을 포함하는 다양한 기능들을 수행할 수 있고, 또한, 인터넷 (175) 과 같은 외부 네트워크들과의 패킷-교환 (PS) 데이터의 교환을 중재할 수 있는 코어 네트워크 (140) 에 연결되도록 구성된다. 인터넷 (175) 은 다수의 라우팅 에이전트들 및 프로세싱 에이전트들 (편리성을 위하여 도 1에 미도시) 을 포함한다. 도 1에서는, UE N 이 (이를테면, WiFi 또는 802.11-기반 네트워크의 이더넷 연결을 통한 것과 같이, 코어 네트워크 (140) 로부터 분리된) 인터넷 (175) 에 직접 연결되는 것으로서 도시되어 있다. 이로써, 인터넷 (175) 은 코어 네트워크 (140) 를 경유하여 UE N 과 UE들 1...N 사이에서 패킷-교환 데이터 통신을 브릿징하도록 기능할 수 있다. 또한, RAN (120) 으로부터 분리된 액세스 포인트 (125) 가 도 1에 도시되어 있다. 액세스 포인트 (125) 는 (예를 들어, FiOS, 케이블 모뎀 등과 같은 광학 통신 시스템을 경유하여) 코어 네트워크 (140) 에 관계없이 인터넷 (175) 에 연결될 수도 있다. 에어 인터페이스 (108) 는 일 예에서 IEEE 802.11 과 같은 로컬 무선 연결을 통해 UE 4 또는 UE 5 를 서빙할 수도 있다. UE N 은, (예를 들어, 유선 및 무선 연결성의 양자 모두를 갖는 WiFi 라우터에 대한) 일 예에서 액세스 포인트 (125) 자체에 대응할 수 있는, 모뎀 또는 라우터로의 직접 연결과 같은, 인터넷 (175) 에의 유선 연결을 갖는 데스크톱 컴퓨터로서 도시되어 있다.
도 1을 참조하면, 서버 (170) 가 인터넷 (175), 코어네트워크 (140), 또는 양자 모두에 연결된 것으로서 도시되어 있다. 서버 (170) 는 복수의 구조적으로 분리된 서버들로서 구현될 수 있거나, 또는 대안으로, 단일 서버에 대응할 수도 있다. 이하에서 더욱 상세하게 설명되는 바와 같이, 서버 (170) 는, 코어 네트워크 (140) 및/또는 인터넷 (175) 을 경유하여 서버 (170) 에 연결될 수 있는 UE들을 위한 하나 이상의 통신 서비스들 (예를 들어, VoIP (Voice-over-Internet Protocol) 세션들, PTT (Push-to-Talk) 세션들, 그룹 통신 세션들, 소셜 네트워킹 서비스들 등) 을 지원하거나 및/또는 콘텐츠 (예를 들어, 웹 페이지 다운로드) 를 UE들에 제공하도록 구성된다.
도 2 는 본 발명의 실시형태들에 따른 UE (즉, 클라이언트 디바이스) 들의 예들을 예시한다. 도 2를 참조하면, UE (200A) 는 호출 전화기로서 예시되어 있고 UE (200B) 는 터치스크린 디바이스 (예를 들어, 스마트 폰, 태블릿 컴퓨터 등) 으로 예시되어 있다. 도 2에 도시된 바처럼, UE (200A) 의 외부 케이싱은, 당해 분야에 알려져 있는 바처럼, 다른 컴포넌트들 중에서도 안테나 (205A), 디스플레이 (210A), 적어도 하나의 버튼 (215A) (예를 들어, PTT 버튼, 전력 버튼, 볼륨 제어 버튼 등) 및 키패드 (220A) 로 구성된다. 또한, UE (200B) 의 외부 케이싱은 당해 분야에서 알려져 있는 바와 같이 다른 컴포넌트들 중에서도 터치스크린 디스플레이 (205B), 주변 버튼들 (210B, 215B, 220B 및 225B) (예를 들어,전원 제어 버튼, 볼륨 또는 진동 제어 버튼, 비행기 모드 토글 버튼 등), 적어도 하나의 전면-패널 버튼 (230B) (예를 들어, 홈 버튼 등) 으로 구성된다. UE (200B) 의 일부로서 명시적으로 도시되어 있지 않지만, UE (200B) 는, WiFi 안테나들, 셀룰러 안테나들, 위성 위치 시스템 (satellite position system; SPS) 안테나들 (예를 들어, 글로벌 위치확인 시스템 (global positioning system; GPS) 안테나들) 등을 포함하지만 이에 한정되지 않는, UE (200B) 의 외부 케이싱 내에 내장되는 하나 이상의 통합 안테나들 및/또는 하나 이상의 외부 안테나들을 포함할 수 있다.
UE들 (200A 및 200B) 과 같은 UE들의 내부 컴포넌트들은 상이한 하드웨어 구성들로 구체화될 수 있지만, 내부 하드웨어 컴포넌트들을 위한 기본적인 하이-레벨 (high-level) UE 구성은 도 2에서 플랫폼 (202) 으로서 도시되어 있다. 플랫폼 (202) 은, 궁극적으로 코어 네트워크 (140), 인터넷 (175) 및/또는 다른 원격 서버들 및 네트워크들 (예를 들어, 애플리케이션 서버 (170), 웹 URL 등) 로부터 나올 수도 있는 RAN (120) 으로부터 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신 및 실행할 수 있다. 플랫폼 (202) 은 또한, RAN 상호작용 없이 로컬적으로 저장된 애플리케이션들을 독립적으로 실행할 수 있다. 플랫폼 (202) 은 ASIC (application specific integrated circuit; 208), 또는 다른 프로세서, 마이크로프로세서, 논리 회로 또는 다른 데이터 프로세싱 디바이스에 동작 가능하게 커플링된 송수신기 (206) 를 포함할 수 있다. ASIC (208) 또는 다른 프로세서는, 무선 디바이스의 메모리 (212) 에서의 임의의 상주 프로그램들과 인터페이스 연결되는 애플리케이션 프로그래밍 인터페이스 (API)(210) 계층을 실행한다. 메모리 (212) 는 ROM (read-only memory), RAM (random-access memory), EEPROM, 플래시 카드, 또는 컴퓨터 플랫폼에 공통된 임의의 메모리로 구성될 수 있다. 플랫폼 (202) 은 또한 메모리 (212) 내에 활동적으로 사용되지 않는 애플리케이션 그리고 다른 데이터를 저장할 수 있는 로컬 데이터베이스 (214) 를 포함할 수 있다. 로컬 데이터베이스 (214) 는 통상적으로 플래시 메모리 셀이지만 자기 매체, EEPROM, 광 매체, 테이프, 소프트 또는 하드 디스크 등과 같은 당해 기술 분야에서 알려진 임의의 부수적인 저장 디바이스일 수 있다.
이에 따라, 본 발명의 실시형태는 본원에서 설명된 기능들을 수행하기 위한 능력을 포함하는 UE (예를 들어, UE (200A, 200B) 등) 를 포함할 수 있다. 본 기술 분야의 당업자가 알 수 있는 바와 같이, 다양한 논리 엘리먼트들이 본 명세서에서 개시된 기능들을 달성하기 위해서 개별 엘리먼트들 (discrete elements), 프로세서상에서 실행되는 소프트웨어 모듈들 또는 소프트웨어와 하드웨어의 임의의 조합에 의해서 구현될 수 있다. 예를 들어, ASIC (208), 메모리 (212), API (210) 및 로컬 데이터베이스 (214) 는 모두 본 명세서에서 개시된 다양한 기능들을 로딩, 저장 및 실행하기 위해서 협동적으로 사용될 수 있으며, 따라서 이들 기능들을 수행하기 위한 로직은 다양한 엘리먼트들에 걸쳐서 분포될 수도 있다. 대안으로, 이 기능은 하나의 개별 컴포넌트내에 포함될 수 있다. 따라서, 도 2에서의 UE들 (200A 및 200B) 의 특징들은 단지 예시적인 것으로 고려되야 하고, 본 발명은 예시된 특징들 또는 배열에 한정되지 않는다.
UE들 (200A 및/또는 200B) 과 RAN (120) 사이의 무선 통신은 CDMA, W-CDMA, 시간 분할 다중 연결 (TDMA), 주파수 분할 다중 연결 (FDMA), 직교 주파수 분할 멀티플렉싱 (Orthogonal Frequency Division Multiplexing; OFDM), GSM, 또는 무선 통신 네트워크 또는 데이터 통신 네트워크에서 이용될 수도 있는 다른 프로토콜들과 같은 상이한 기술들에 기초할 수 있다. 앞서 논의되었고 당해 기술 분야에서 알려진 바와 같이, 음성 송신 및/또는 데이터는 다양한 네트워크 및 구성을 사용하여 RAN으로부터 UE들로 송신될 수 있다. 따라서, 본 명세서에서 제공된 예시들은 본 발명의 실시형태들을 한정하도록 의도된 것이 아니며 단지 본 발명의 실시형태들의 양태들의 설명을 돕기 위한 것일 뿐이다.
도 3은, 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스 (300) 를 예시한다. 통신 디바이스 (300) 는 위에 언급된 통신 디바이스들 중의 임의의 것에 대응할 수 있으며, UE들 (200A 또는 200B), RAN (120) 의 임의의 컴포넌트, 코어 네트워크 (140) 의 임의의 컴포넌트, 코어 네트워크 (140) 및/또는 인터넷 (175) 과 연결된 임의의 컴포넌트 (예를 들어, 서버 (170)) 등을 포함하지만, 이에 한정되지 않는다. 따라서, 통신 디바이스 (300) 는 도 1의 무선 통신 시스템 (100) 을 통해 하나 이상의 다른 엔티티들과 통신하도록 (또는 통신하는 것을 가능하게 하도록) 구성되는 임의의 전자 디바이스에 대응할 수 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 을 포함한다. 일 예에서, 통신 디바이스 (300) 가 무선 통신 디바이스 (예를 들어, UE (200A 또는 200B), AP (125), RAN (120) 에서의 BS, Node B 또는 eNodeB 등) 에 대응할 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 무선 송수신기 및 연관된 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 와 같은 무선 통신 인터페이스 (예를 들어, 블루투스 (블루투스), WiFi, 2G, CDMA, W-CDMA, 3G, 4G, LTE 등), 예컨대 무선 송신기 및 연관된 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 를 포함할 수 있다. 다른 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 유선 통신 인터페이스 (예를 들어, 직렬 연결, USB 또는 파이어와이어 연결, 인터넷 (175) 이 액세스될 수 있는 이더넷 연결 등) 에 대응할 수 있다. 따라서, 통신 디바이스 (300) 가 몇몇 타입의 네트워크 기반의 서버 (예를 들어, 서버 (170) 등) 에 대응한다면, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은, 일 예에서, 이더넷 프로토콜을 통해 네트워크 기반의 서버를 다른 통신 엔티티들에 연결되는 이더넷 카드에 대응할 수 있다. 추가의 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 통신 디바이스 (300) 가 그의 로컬 환경 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하는 안테나 등) 을 모니터링할 수 있게 하는 센서류 또는 측정 하드웨어를 포함할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 또한, 실행될 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 의 연관된 하드웨어가 그의 수신 및/또는 송신 기능(들)을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 프로세싱하도록 구성된 로직 (310) 을 더 포함한다. 일 예에서, 정보를 프로세싱하도록 구성된 로직 (310) 은 적어도 프로세서를 포함할 수 있다. 정보를 프로세싱하도록 구성된 로직 (310) 에 의해 수행될 수 있는 프로세싱 타입의 예시적인 구현들은 결정들을 수행하는 것, 연결들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 하는 것, 데이터에 관련된 평가들을 수행하는 것, 통신 디바이스 (300) 에 커플링된 센서들과 상호작용하여 측정 동작들을 수행하는 것, 하나의 포맷으로부터 다른 포맷으로 (예를 들어, .wmv 내지 .avi 등과 같은 상이한 프로토콜들 사이에서) 정보를 변환하는 것을 포함하지만, 이들로 제한되지 않는다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (310) 에 포함된 프로세서는, 범용 프로세서, 디지털 신호출프로세서 (DSP), ASIC, 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 여기에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합에 대응할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다. 정보를 프로세싱하도록 구성된 로직 (310) 은 또한, 실행될 때, 정보를 프로세싱하도록 구성된 로직 (310) 의 연관된 하드웨어가 그의 프로세싱 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 프로세싱하도록 구성된 로직 (310) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 프로세싱하도록 구성된 로직 (310) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 정보를 저장하도록 구성된 로직 (315) 을 더 포함한다. 일 예에서, 정보를 저장하도록 구성된 로직 (315) 은 적어도 비-일시적인 메모리 및 연관된 하드웨어 (예를 들어, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 로직 (315) 에 포함된 비-일시적인 메모리는 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 리무버블 디스크, CD-ROM, 또는 당해 분야에서 알려진 임의의 다른 형태의 저장 매체에 대응할 수 있다. 정보를 저장하도록 구성된 로직 (315) 은 또한, 실행될 때, 정보를 저장하도록 구성된 로직 (315) 의 연관된 하드웨어가 그의 저장 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 저장하도록 구성된 로직 (315) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 저장하도록 구성된 로직 (315) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 선택적으로, 정보를 제시하도록 구성된 로직 (320) 을 더 포함한다. 일 예에서, 정보를 제시하도록 구성된 로직 (320) 은 적어도 출력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 등과 같이 비디오 정보를 전달할 수 있는 포트), 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI 등과 같이 오디오 정보를 전달할 수 있는 포트), 진동 디바이스, 및/또는 정보가 출력을 위해 포맷될 수 있거나 또는 통신 디바이스 (300) 의 사용자 또는 운영자에 의해 실제로 출력될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2에서 도시된 바와 같은 UE (200A) 또는 UE (200B) 에 대응할 경우, 정보를 제시하도록 구성된 로직 (320) 은 UE (200A) 의 디스플레이 (210A) 또는 UE (200B) 의 터치스크린 디스플레이 (205B) 를 포함할 수 있다. 추가의 예에서는, 정보를 제시하도록 구성된 로직 (320) 은, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 과 같은 어떤 통신 디바이스들에 대해, 생략될 수 있다. 정보를 제시하도록 구성된 로직 (320) 은 또한, 실행될 때, 정보를 제시하도록 구성된 로직 (320) 의 연관된 하드웨어가 그의 제시 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 제시하도록 구성된 로직 (320) 은 소프트웨어 하나에만 대응하는 것은 아니고, 정보를 제시하도록 구성된 로직 (320) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 통신 디바이스 (300) 는 선택적으로, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 을 더 포함한다. 일 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 적어도 사용자 입력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰, 또는 마이크로폰 잭 등과 같이 오디오 정보를 전달할 수 있는 포트), 및/또는 통신 디바이스 (300) 의 사용자 또는 운영자로부터 정보가 수신될 수 있는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2에서 도시된 바와 같은 UE (200A) 또는 UE (200B) 에 대응할 경우, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 키패드 (220A), 버튼들 (215A 또는 210B 내지 225B) 중의 임의의 것, 터치스크린 디스플레이 (205B) 등을 포함할 수 있다. 추가의 예에서는, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 서버 (170) 와 같은 원격 서버들 등) 과 같은 어떤 통신 디바이스들에 대해, 생략될 수 있다. 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 또한, 실행될 때, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 의 연관된 하드웨어가 그의 입력 수신 기능(들) 을 수행하도록 허용하는 소프트웨어를 포함할 수 있다. 그러나, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 소프트웨어 하나에만 대응하는 것은 아니고, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 그의 기능을 달성하기 위하여 하드웨어에 적어도 부분적으로 의거한다.
도 3을 참조하면, 305 내지 325 의 구성된 로직들은 도 3에서 분리 또는 구분되는 블록들로서 도시되어 있지만, 각각의 구성된 로직이 그의 기능을 수행하는 하드웨어 및/또는 소프트웨어는 부분적으로 오버랩될 수 있다는 것이 인식될 것이다. 예를 들어, 305 내지 325 의 구성된 로직들의 기능을 가능하게 하기 위하여 이용된 임의의 소프트웨어는 정보를 저장하도록 구성된 로직 (315) 과 연관된 비-일시적인 메모리에 저장되어, 305 내지 325 의 구성된 로직들은 각각, 정보를 저장하도록 구성된 로직 (315) 에 의해 저장된 소프트웨어의 동작에 부분적으로 기초하여 그들의 기능 (즉, 이 경우, 소프트웨어 실행) 을 수행할 수 있다. 마찬가지로, 구성된 로직들 중의 하나와 직접 연관되는 하드웨어는때때로 다른 구성된 로직들에 의해 차용 또는 이용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (310) 의 프로세서는 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 에 의해 송신되기 전에 데이터를 적절한 포맷으로 포맷하여, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 이 정보를 프로세싱하도록 구성된 로직 (310) 과 연관된 하드웨어 (즉, 프로세서) 의 동작에 부분적으로 기초하여 그의 기능 (즉, 이 경우, 데이터의 송신) 을 수행할 수 있다.
일반적으로, 이와 다르게 명시적으로 언급되지 않으면, 본 발명의전반에 걸쳐 이용된 어구 "~하도록 구성된 로직" 은 하드웨어로 적어도 부분적으로 구현되는 실시형태를 환기시키도록 의도된 것이고, 하드웨어에 관련 없는 소프트웨어만의 구현들에 맵핑하도록 의도된 것은 아니다. 또한, 다양한 블록들에서의 구성된 로직 또는 "~하도록 구성된 로직" 은 특정 로직 게이트들 또는 엘리먼트들에 한정되는 것이 아니라, (하드웨어, 또는 하드웨어 및 소프트웨어의 조합 중의 어느 하나를 통하여) 본원에 기재된 기능을 수행할 수 있는 능력을 일반적으로 지칭한다는 것이 인식될 것이다. 따라서, 다양한 블록들에서 예시된 구성된 로직들 또는 "~하도록 구성된 로직" 은 단어 "로직" 을 공유함에도 불구하고 로직 게이트들 또는 로직 엘리먼트들로서 반드시 구현되는 것은 아니다. 다양한 블록들에서의 로직간의 다른 상호작용들 또는 협력은 이하에서 더욱 상세하게 설명된 실시형태들의 검토로부터 당해 분야의 당업자에게 명확해질 것이다.
다양한 실시형태들은 도 4에 예시된 서버 (400) 와 같은 다양한 상업적으로 이용가능한 서버 디바이스들 중 임의의 것 상에서 구현될 수도 있다. 일예에서, 서버 (400) 는 상술된 애플리케이션 서버 (170) 의 하나의 예시적인 구성에 대응할 수도 있다. 도 4에서, 서버 (400) 는 휘발성 메모리 (402) 및 대용량 비휘발성 메모리, 이를테면 디스크 드라이브 (403) 에 연결된 프로세서 (400) 를 포함한다. 서버 (400) 는 또한, 프로세서 (401) 에 연결된 플로피 디스크 드라이브, 컴팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (406) 를 포함할 수도 있다. 서버 (400) 는, 또한 다른 브로드캐스트 시스템 컴퓨터들 및 서버들에 연결되거나 또는 인터넷에 연결되는 로컬 영역 네트워크와 같은 네트워크 (407) 와의 데이터 연결들을 확립하기 위해 프로세서 (401) 에 연결되는 네트워크 액세스 포트들 (404) 을 포함할 수도 있다. 도 3의 맥락에서, 도 4의 서버 (400) 는 통신 디바이스 (300) 의 하나의 예시적인 구현을 나타내며, 이로써 정보를 송신 및/또는 수신하도록 구성된 로직 (305) 은 네트워크 (407) 와 통신하기 위해서 서버 (400) 에 의해 사용되는 네트워크 액세스 포트들 (304) 에 대응하고, 정보를 프로세싱하도록 구성된 로직 (310) 은 프로세서 (401) 에 대응하고, 그리고 정보를 저장하도록 구성된 로직 (315) 은 휘발성 메모리 (402), 디스크 드라이브 (403) 및/또는 디스크 드라이브 (406) 의 임의의 조합에 대응한다는 것이 인식될 것이다. 정보를 제시하도록 구성된 선택적 로직 (320) 및 로컬 사용자 입력을 수신하도록 구성된 선택적 로직 (325) 은 도 4에 명백하게 도시되어 있지 않으며, 거기에 포함되거나 또는 포함되지 않을 수도 있다. 이로써, 도 4는 도 2에서 있는 205A 또는 205B 에서와 같은 UE 구현에 추가하여, 통신 디바이스 (300) 가 서버로서 구현될 수도 있음을 보여주는데 도움이 된다.
종종, 하나의 클라이언트 디바이스가 (예를 들어 "비공식적인" 피어-투-피어 (P2P) 교환과 반대되는) "공식적인" 방식으로 다른 클라이언트 디바이스(들)과 데이터 (예를 들어, 미디어, 정보 또는 파일들 등) 를 빨리 교환할 비지니스상의 필요가 있다. 하지만, 이러한 교환은 통상적으로 개인 컨택 정보 (예를 들어, 이메일 어드레스, 폰 번호, 스카이프 유저네임, 페이스북 ID, LinkedIn ID, 또는 MAC ID, 폰 번호 등과 같은 네트워크를 통해 연관된 UE가 컨택될 수 있는 고유의 네트워크 어드레스) 를 획득하는 클라이언트 디바이스를 요구한다. 예를 들어, 사람들의 작은 그룹이 참석한 비즈니스 오찬에서, 오찬 참가자는 단체 사진을 찍고 그룹 오찬의 각각의 다른 참석자와 함께 그 그룹 사진을 공유하고 싶어한다고 가정한다. 이 경우, 오찬 참가자가 각각의 다른 참석자의 개인 연락처 정보를 획득하는 것은 아마도 현실적이지 않다. 또 다른 예에서, 마케팅 사람이 참석자를 컨퍼런스하는 디지털 정보 책자를 배부하고 싶어 한다고 가정한다. 이 경우, 디지털 정보 책자의 수령자들은 마케팅 사람에게 개인 연락처 정보를 누설하지 않고 디지털 정보 책자를 검색하기를 원하지 않을 수도 있다. 또한, 특정 거래는 이들 각각의 오퍼레이터들에 의한 공식적인 레코드를 방지하기 위해 특별히 P2P 프로토콜을 통해 발생할 수 있다. 예를 들어, 범죄자는 데이터 전송이 기록되는 레코드의 형태없이 P2P를 통해 데이터 파일들을 교환하기 원할 수도 있다.
도 5 는 본 발명의 실시형태에 따른 통신 환경에 배치되어 있는 복수의 P2P-가능 UE들 (또는 클라이언트 디바이스들) 을 예시한다. 특히, UE들 1...N이 소정의 P2P 통신 범위 (500) 내에 있는 것으로 도 5에 도시되며, 그 범위를 거쳐 UE들 1...N 중 임의의 UE간의 로컬, 무선 P2P 통신은 로컬 P2P 통신 인터페이스 (505) (예를 들어, 블루투스, WLAN 등) 를 통해 가능하다. 또한, UE들 1...N 중 하나 이상은 제 1 네트워크 통신 인터페이스 (510) 를 통해 AP (125) 에 접속하도록 구성되고, 그것을 거쳐 각 UE(들)는 인터넷 (175) 과 애플리케이션 서버 (170) 에 접속할 수 있다. 또한, (AP-가능 UE들과 반드시 동일할 필요는 없는) UE들 1...N 중 하나 이상은 제 2 네트워크 통신 인터페이스 (515) 를 통해 RAN (120) 에 의해 동작되는 기지국 (520) (예를 들어, 매크로 기지국, 펨토 기지국 등) 에 접속하도록 구성되고, 그것을 거쳐 각 UE(들)는 인터넷 (175) 과 애플리케이션 서버 (170) 에 접속할 수 있다.
도 6은 도 5의 통신 환경에서 UE들 1...N간에 데이터를 교환하는 종래의 프로세스를 예시한다. 도 6을 참조하면, UE 1 및 UE2는 각각 로컬 P2P 디스커버리 절차를 실행한다 (600 및 605). 600 및 605의 로컬 P2P 디스커버리 절차에 기초하여, UE 1 및 UE2는 서로 검출하고 로컬 P2P 접속을 형성하며 로컬 P2P 접속을 통해 P2P 통신이 조정될 수 있다 (610 및 615). 예를 들어, 로컬 P2P 디스커버리 절차 (600 내지 615) 는 UE 1에게 어나운스하기 위해 로컬 P2P 통신 인터페이스 (505) 를 통해 식별자 (예를 들어, SSID) 를 브로드캐스팅하는 UE1을 포함할 수 있고, UE2는 로컬 P2P 통신 인터페이스 (505) 를 모니터링함으로써 UE1의 브로드캐스팅된 SSID를 검출하고 (또는 그 반대임), 그 이후 UE 1 및 UE2는 로컬 P2P 접속을 셋업한다. 이 지점에서, UE 1 및 UE2가 로컬 P2P 접속을 확립하였지만, UE 1 및/또는 UE2는 다른 UE가 신뢰받은 컨택이 아니라고 결정하는 것이 가능하다 (625 및 630). UE 1 및 UE2가 서로의 신뢰받은 컨택들로 인식되지 않는다면, 소정의 사적 정보 (예를 들면, 오퍼레이터의 고유 사용자 어드레스 또는 UE의 고유 네트워크 어드레스 정보) 의 임의의 교환은 일반적으로 실행이전에 (즉, 어느 UE(들)가 신뢰받고 있지 않는지 간에) UE 1 또는 UE 2의 각 오퍼레이터에 의해 수동으로 인가될 필요가 있다.
UE 1 및 UE2가 로컬 P2P 접속을 통해 접속된 상태를 유지하는 동안, UE1의 오퍼레이터 ("오퍼레이터 1") 가 UE2 및/또는 UE2의 오퍼레이터 ("오퍼레이터 2") 로 파일을 전송하고 및/또는 미디어를 스트리밍하기로 결정한다고 가정한다 (635). 예를 들어, UE 2 자체가 실제로 파일을 수신하는지 여부를 상관하지 않고 (예를 들어 이메일 등을 통해) 오퍼레이터 1은 UE 2로 미디어를 스트리밍하기를 원할 수도 있거나, 또는 오퍼레이터 1은 오퍼레이터 2로 파일을 전송하기를 원할 수도 있다 (예를 들어, 오퍼레이터 1은 디바이스-특정이 아닌 등의 방식으로 오퍼레이터 2에 접근가능한 파일을 단순히 원할 수도 있다) . 640에서, 오퍼레이터 1은, 파일 및/또는 미디어 스트림을 전달하기 위한 인터페이스로서 네트워크 접속 (예를 들어, 제 1 네트워크 통신 인터페이스 (510) 또는 제 2 네트워크 통신 인터페이스 (515) 등) 또는 로컬 P2P 인터페이스 (505) 중 어느 것을 선택한다.
640을 참조하여, 오퍼레이터 1이 네트워크 인터페이스를 선택하는 경우, UE1은 오퍼레이터 2의 고유의 사용자 어드레스 및/또는 UE 2의 고유의 네트워크 어드레스를 요청하고 (645), 그 이후 UE2는 오퍼레이터 2가 요청을 승인하고자 하는지 여부를 오퍼레이터 2가 프롬프트한다. 오퍼레이터 2가 650에서 요청을 부인하는 것으로 결정된다면, UE 1은 요청된 어드레스를 획득하지 못한다 (655). 이 지점에서, UE 1은 로컬 P2P 인터페이스 (505) 를 통해 파일 및/또는 미디어 스트림을 전달하려고 시도할 수 있거나 또는 파일 및/또는 미디어 스트림을 전달하려는 시도를 단순히 포기 및 정지할 수 있다. 이와 다르게, 오퍼레이터 2가 650에서 요청을 승인하는 것으로 결정된다면, UE 2는 요청된 어드레스를 UE 1에 전송하고 (660), 그리고 UE 1은 요청된 어드레스에 기초하여 네트워크 인터페이스를 통해 파일 및/또는 미디어 스트림을 UE 2 및/또는 오퍼레이터 2로 전달한다 (665). 640으로 되돌아가, 오퍼레이터 1이 네트워크 인터페이스 대신에 로컬 P2P 인터페이스 (505) 를 선택한다면, UE 1은 610 및 615에서 확립된 로컬 P2P 접속을 통해 UE 2로 파일 및/또는 미디어 스트림을 전달한다 (670).
도 7과 관련하여 아래에서 보다 상세히 논의되는 바와 같이, 본 발명의 하나 이상의 실시형태들은, P2P 조정된 데이터 전송이 요청되는 때 또는, 표면상 사용자 또는 오퍼레이트 관점으로부터, P2P를 통해 데이터 전송이 발생하는 때 서버-조정의 데이터 전송을 구현하는 것에 관한 것이다. 다른 말로, P2P 조정된 데이터 전송은, 서버 리디렉트 양태와 관련하여 전송자 또는 타겟(들)의 각 오퍼레이터들에게 통지하지 않고, 서버로 "리디렉팅"되고 서버를 통해 전달된다. 적어도 하나의 실시형태에서, 서버 리디렉트 기능은, 데이터 전송들을 법 집행이 트래킹하도록 하고 그렇지 않은 경우 P2P를 통해 유사하게 수행될 수 있는 모니터링 (예를 들어, 도청) 기능을 구현하기 위해서, 또는 그 기능이 서버 통한 전달을 위한 오퍼레이터의 P2P-특정의 데이터 전송 요청을 무효로 하는 다른 기준에 기초하여 구현될 수 있다.
도 7은 본 발명의 실시형태에 따라 서버 리디렉트와 함께 P2P 개시의 데이터 전송을 구현하는 프로세스를 예시한다. 도 7을 참조하면, UE들 2...N이 인터넷 접속을 통해 서버, 예컨대 애플리케이션 서버 (170) 에 등록한다 (700). 도 7의 실시형태에서, 서버는, 서버가 UE들 2...N 및/또는 이들의 각 오퍼레이터들에 컨택할 수 있게 하는, UE들 2...N에 대한 하나 이상의 고유의 사용자 어드레스들 및/또는 네트워크 어드레스들을 등록한다. 700과 유사하게, UE 1은 또한 선택적으로 705에서 서버에 등록한다. 서버는 UE들 2...N과 또한 (선택적으로) UE 1에 임시 ID(들)을 할당하고 (710), 이후 UE들 2...N과 또한 (선택적으로) UE 1에 임시 ID(들)을 보고한다 (715). 일 예에서, 임시 ID(들)는 임시 ID(들)가 P2P-접속된 UE(들) 중에서 교환되는 방법을 지배하는 명령들, 그리고 연관된 임시 ID의 표시와 함께 P2P-개시의 데이터 전송이 서버로 리디렉팅될 경우 트리거하기 위한 명령들과 함께 715에서 전송될 수도 있다. 대안으로, 그 명령들은 하나 이상의 UE들 1...N 위에 사전 설치될 수 있다. 임시 ID(들)를 UE들 1...N에 할당한 이후, 연관된 UE 또는 연관된 오퍼레이터가 네트워크 인터페이스를 통해 컨택될 수도 있게 하는 상응하는 고유의 사용자 어드레스들 및/또는 고유의 네트워크 어드레스들에 임시 ID(들)를 맵핑하는 테이블을 서버는 유지 (예를 들어, 생성 또는 업데이트) 한다.
일부 이후 시점에, UE들 1...N 각각이 도 5에 도시된 소정의 P2P 통신 범위 (500) 에 진입한다고 가정한다. UE들 1...N이 소정의 P2P 통신 범위 (500) 내에 있는 동안, UE들 1...N 각각은 로컬 P2P 디스커버리 절차를 실행한다 (725 및 730) (예를 들어, 각각 도 6의 600 내지 605와 유사). 725 및 730의 로컬 P2P 디스커버리 절차에 기초하여, UE들 1...N은 서로 검출하고 하나 이상의 로컬 P2P 접속들을 형성하며 로컬 P2P 접속을 통해 P2P 통신이 조정될 수 있다 (735 및 740). 예를 들어, 735 및 740의 로컬 P2P 디스커버리 절차는 UE 1에게 어나운스하기 위해 로컬 P2P 통신 인터페이스 (505) 를 통해 식별자 (예를 들어, SSID, 할당된 임시 ID 등) 를 브로드캐스팅하는 UE1을 포함할 수 있고, UE2는 로컬 P2P 통신 인터페이스 (505) 를 모니터링함으로써 UE1의 브로드캐스팅된 SSID를 검출하고 (또는 그 반대임), 그 이후 UE 1 및 UE2는 로컬 P2P 접속을 셋업한다. 이 프로세스는 이후 소정의 P2P 통신 범위 (500) 에서 임의의 추가적인 P2P-가능 UE들을 위해 반복될 수 있다. 이 지점에서, UE들 1...N이 로컬 P2P 접속(들)을 확립하였지만, UE들 1...N은 하나 이상의 다른 UE들 신뢰받은 컨택이 아니라고 결정하는 것이 가능하다 (745 및 750). UE들 1...N이 하나 이상의 다른 UE들을 신뢰받은 컨택들로 인식되지 않는다면, 소정의 사적 정보 (예를 들면, 오퍼레이터의 고유 사용자 어드레스 또는 연관된 UE의 고유 네트워크 어드레스 정보) 의 임의의 교환은 일반적으로 실행이전에 (즉, 어느 UE(들)가 신뢰받고 있지 않는지 간에) 각 UE의 각 오퍼레이터에 의해 수동으로 인가될 필요가 있다.
UE들 1...N이 로컬 P2P 접속(들)을 통해 접속된 상태를 유지하는 동안, UE1의 오퍼레이터 ("오퍼레이터 1") 가 UE들 2...N 및/또는 UE들 2...N의 각 오퍼레이터 ("오퍼레이터 2...N") 로 파일을 전송하고 및/또는 미디어를 스트리밍하기로 결정한다고 가정한다 (755). 예를 들어, 오퍼레이터 1은 미디어를 UE들 2...N로 스트리밍하기를 원할 수도 있다. 도 6의 635와 달리, 755에서 UE1의 오퍼레이터 1은, 그/그녀가 (예를 들어, 640과 유사한 타겟 인터페이스로서 P2P를 선택하는 것 등에 의해) 로컬 P2P 접속(들)을 통해 파일 및/또는 미디어 스트림의 전송을 구현하기 원한다는 것을 나타낸다.
755에서 오퍼레이터-요청된 P2P 전송의 검출에 응답하여, UE1은 P2P 전송을 인터셉트할지를 및 파일 및/또는 미디어 스트림을 서버에 리디렉트할지를 결정한다 (760). 760의 결정은 다양한 다른 방식으로 수행될 수 있다. 예를 들면, UE 1에는 UE 1에게 다음을 인터셉트하도록 명령하는 (예를 들어, 715에서 임시 ID와 함께 또는 일부 별도의 프로비져닝 절차를 통해 다운로딩된) 서버 리디렉트 명령들이 프로비져닝된다: (i) UE 1에 의해 개시되는 모든 P2P 송신들 (예를 들어, 법 집행 기관은 UE 1 및/또는 오퍼레이터 1의 도청 영장을 갖는다), (ii) UE 1로부터 지정된 타겟 UE들 1로 향한 P2P 송신들 (예를 들어, 법 집행 기관은 지정된 타겟 UE들 및/또는 이들의 연관된 오퍼레이터들의 도청 영장을 갖는다), (iii) 특정 미디어 유형을 포함하는 P2P 송신들 (예를 들어, 오디오, 비디오, 암호화된 데이터 파일들, 저작물들 등), (iv) 특정 시각 및/또는 특정 위치 (예를 들어, 법 집행 기관이 도청 영장을 갖는 집의 내부) 에 발생하는 P2P 송신들, (v) 오퍼레이터 (예를 들어, 오퍼레이터가 나중에 이러한 규칙을 잊고 P2P 전달될 노래를 요청하더라도 레코드를 유지하기 위해 오퍼레이터는 서버를 통해 전달될 임의의 노래를 원할 수도 있다) 또는 일부 다른 엔티티 (예를 들어, IT 관리자는 하나 이상의 엔터프라이즈 사용자들에 의해 동작되는 디바이스들에 적용될 엔터프라이즈 정책들의 일부로서 P2P 오버라이드 규칙들을을 확립할 수 있다) 또는 (vi) 이들의 임의의 조합.
UE 1이 760에서 서버로 파일 및/또는 미디어 스트림을 리디렉팅하지 않기로 결정하는 경우, 프로세스는 도 6의 670으로 전진하고, P2P 전송은 서버 리디렉트없이 진행하도록 허용된다. 이와 다르게, UE 1이 760에서 서버로 파일 및/또는 미디어 스트림을 리디렉팅하지 않기로 결정하는 경우, UE 1은 765에서 UE들 2...N에 대한 임시 ID(들)를 획득한다. 765에서, UE 1은 또한 이들 자신의 임시 ID를 UE들 2...N 중 임의의 UE로 선택적으로 전송할 수도 있다. 또한, 765에 도시된 임시 ID 교환은 대안으로 보다 이른 시점에, 예컨대 로컬 P2P 접속들이 735 및 740에서 확립되는 때 및/또는 725 및 730에서의 로컬 P2P 디스커버리 절차 동안 (예를 들어, 각 UE를 식별하는 브로드캐스팅된 SSID와 동일한 임시 ID를 설정하는 것 등에 의해) 구현될 수 있다.
도 7을 참조하면, UE들 2...N의 임시 ID(들)를 획득한 이후, UE 1은 오퍼레이터 1에게 서버 리디렉트를 통지하지 않고 UE들 2...N의 임시 ID(들)와 함께 서버로 파일 및/또는 미디어 스트림을 송신한다 (770). 다른 말로, 오퍼레이터 1은 P2P 조정된 데이터 전송을 요청하였지만, 오퍼레이터 1이 모르는 사이에, 데이터 전송은 서버 조정된 데이터 전송으로서 서버로 리디렉팅된다. 이해하는 바와 같이, 이러한 디셉션은 사용자 인터페이스 (UI) 대안들을 수반할 수도 있다 (예를 들어, UE1 상의 "4G" 또는 "3G" 표시자가 블로킹될 수도 있고 "P2P" 식별자가 대신에 나타날 수도 있으며, 이것이 사실상 진실이 아닌 경우 P2P를 통해 실제로 데이터 전송이 발생하고 있는 것처럼 오퍼레이터 1에게 나타나게 함). 서버는 UE 1로부터 수신된 임시 ID(들)에 기초하여 고유의 네트워크 어드레스 및/또는 고유의 사용자 어드레스를 룩업하고 (775), 이후 파일 및/또는 미디어 스트림을 UE들 2...N으로 전달한다 (780). 선택적으로, 서버 조정된 데이터 전송이 그룹 통신인 경우 (즉, N이 2를 초과하여 파일 및/또는 미디어 스트림이 멀티플 타겟 UE들로 전송되는 경우), 서버는 임시 그룹 ID를 UE들 1...N에 할당하여, 각각의 타겟 UE의 개별 임시 ID를 별도 열거할 필요도 없이, 임시 그룹 ID를 포함하는 서버에서 수신된 임의의 후속 데이터 전송이 통신 그룹으로서 UE들 1...N에 맵핑될 수도 있다 (785) (예를 들어, 임시 그룹 ID에 어태치하는 UE 3으로부터의 데이서 전송이 UE들 1...N으로부터 각각의 다른 UE로 전달되는 등이다). 그래서, 서버 자체는 임시 그룹 ID를 개별 임시 ID들에 맵핑할 수 있고, 개별 임시 ID들은 궁극적으로 다양한 UE들 및/또는 오퍼레이터들의 고유의 사용자 어드레스들 및/또는 고유의 네트워크 어드레스들에 맵핑된다.
790에서, UE들 2...N은 각 오퍼레이터들에게 서버 리디렉트를 통지하지 않고 서버로부터 파일 및/또는 미디어 스트림을 수신한다. 예를 들어, 상기에 언급한 오퍼레이터 1 디셉션과 유사하게, UI 대안들은 역시 UE들 2...N에서 P2P 디셉션을 용이하게 하기 위해 레버리지될 수도 있다 (예를 들어, UE들 2...N 상의 "4G" 또는 "3G" 표시자가 블로킹될 수도 있고 "P2P" 식별자가 대신에 나타날 수도 있으며, 이것이 사실상 진실이 아닌 경우 P2P를 통해 실제로 데이터 전송이 발생하고 있는 것처럼 오퍼레이터들 2...N에게 나타나게 함).
795에서, 서버는 파일 및/또는 미디어 스트림의 서버 조정된 전송의 레코드를 발생시킨다. 도 7에 명확히 나타내지는 않았지만, 795에서 발생된 레코드들은 서버에 의해 유지되는 데이터베이스에 보관 또는 저장될 수 있고, 서버 (또는 서버의 관리자) 는 나중에 레코드 중 하나 이상에 대한 데이터 요청을 수신할 수 있다. 예를 들어, 적절한 영장을 갖는 법 집행 기관은 UE 4에 의해 비롯된 모든 비디오 스트림들을 요청할 수 있거나, 또는 특정 데이터 범위에서의 UE 2 이외에 수신된 모든 텍스트 메시지들, 또는 UE들 1...N 중 임의의 UE로부터 특정 이메일 어드레스로 전송된 모든 이메일들 등을 요청할 수도 있다. 추가 예에서, 795에서 발생된 레코드는 국소적으로 서버에 저장되는 레코드에 부가하여 또는 그 대신에 별도의 모니터링 서버로 포워딩될 수 있다. 소정의 레코드들을 별도의 모니터링 서버로 포워드하기 위한 서버의 결정은 서버에 의해 실행된 하나 이상의 레코드 포워딩 정책들에 기초할 수 있다. 예를 들어, FBI가 특정 사용자의 통신에 관련된 도청 영장을 갖는다면, 특정 사용자와 연관된 임의의 레코드들 (예를 들어, 특정 사용자에게/로부터 전송된 파일들 및/또는 미디어 스트림들) 은 FBI에 의해 실시간 동작된 모니터링 서버로 포워딩될 수 있고, 여기서 포워딩된 레코드들은 FBI에 의한 검사에 이용가능하다.
서버 리디렉트가 요청된 P2P 조정된 데이터 전송 대신에 발생하는 예시적인 구현예를 도 7이 나타내지만, 도 8은 P2P 조정된 데이터 전송에 부가하여 서버 리디렉트가 발생하는 대안의 구현예에 관한 것이다.
도 8을 참조하면, 765에서 UE들 2...N의 임시 ID(들)를 획득한 이후, UE 1은 오퍼레이터 1에게 서버 리디렉트를 통지하지 않고 UE들 2...N의 임시 ID(들)와 함께 서버로 파일 및/또는 미디어 스트림을 송신하며 (800) (예를 들어 도 7의 770과 유사), 서버는 UE 1로부터 수신된 임시 ID(들)에 기초하여 고유의 네트워크 어드레스 및/또는 고유의 사용자 어드레스를 룩업하며 (805) (예를 들어, 도 7의 775와 유사), 그리고 서버 조정된 데이터 전송이 그룹 통신인 경우 서버는 선택적으로 임시 그룹 ID를 UE들 1...N에 할당한다 (810) (예를 들어, 도 7의 785와 유사). 도 8에서, 서버가 도 7에서와 같이 파일 및/또는 미디어 스트림을 UE들 2...N로 전달하게 하는 대신, UE 1은 735 및 740으로부터 로컬 P2P 접속(들)을 통해 UE들 2...N로 파일 및/또는 미디어 스트림을 전송한다 (815). 이 경우, UE 1은, P2P 데이터 전송 자체를 통과시키는 대신 파일 및/또는 미디어 스트림이 또한 서버로 전송된다는 사실을 단순히 숨길 필요가 있고, UE들 2...N은, 파일 및/또는 미디어 스트림이 800에서 발생한 서버 리디렉트에 대해 모른채 P2P를 통해 발생했다는 것을 단순히 안다. 이 경우, 서버는 805, 820으로부터 임시 ID 룩업 동작에 기초하여 파일 및/또는 미디어 스트림의 서버 조정된 전송의 레코드를 발생시킨다 (예를 들어, 도 7의 795와 유사). 795와 관련하여 상기에서 언급된 바와 같이, 추가 예에 있어서, 820에서 발생된 레코드는 국소적으로 서버에 저장되는 레코드에 부가하여 또는 그 대신에 별도의 모니터링 서버로 포워딩될 수 있다. 소정의 레코드들을 별도의 모니터링 서버로 포워드하기 위한 서버의 결정은 서버에 의해 실행된 하나 이상의 레코드 포워딩 정책들에 기초할 수 있다. 예를 들어, FBI가 특정 사용자의 통신에 관련된 도청 영장을 갖는다면, 특정 사용자와 연관된 임의의 레코드들 (예를 들어, 특정 사용자에게/로부터 전송된 파일들 및/또는 미디어 스트림들) 은 FBI에 의해 실시간 동작된 모니터링 서버로 포워딩될 수 있고, 여기서 포워딩된 레코드들은 FBI에 의한 검사에 이용가능하다.
도 7 - 도 8은 데이터 전송을 위한 전송 및/또는 수신 디바이스들의 오퍼레이터들에 투명한 방식으로 서버 리디렉트가 발생하는 실시형태에 관한 것인 한편, 본 발명의 다른 실시형태들은 서버 리디렉트 측면에서 반드시 설명적일 필요는 없는 서버 조정된 데이터 전송들에 관한 것이다. 특히, 도 9-10은, UE들이 더 이상 P2P-접속되지 않는 경우라도 각 UE들 간의 비-P2P 통신을 구현하기 위해 2개 이상의 UE들에 대한 P2P-접속 통신 상태를 정의하는 것과 관련된다.
도 9를 참조하여, 700-750은 이미 실행되었고, 그 이후 UE들 1...N은 735 및 740에서 확립된 로컬 P2P 접속(들)을 통해 접속된 상태를 유지한다고 가정한다. 다음, UE 1의 오퍼레이터 ("오퍼레이터 1") 가 UE들 2...N 및/또는 UE들 2...N의 각 오퍼레이터들 ("오퍼레이터 2...N") 로 파일을 전송하고 및/또는 미디어를 스트리밍하기로 결정한다고 가정한다 (900). 예를 들어, 오퍼레이터 1은 미디어를 UE들 2...N로 스트리밍하기를 원할 수도 있다. 도 7의 755와 달리, 900에서 UE1의 오퍼레이터 1은, 그/그녀가 (예를 들어, 640과 유사한 타겟 인터페이스로서 P2P를 선택하는 것 등에 의해) 서버를 통해 파일 및/또는 미디어 스트림의 전송을 구현하기 원한다는 것을 나타낸다.
900에서 오퍼레이터-요청된 서버 조정된 데이터 전송의 검출에 응답하여, UE 1은 905에서 UE들 2...N에 대해 임시 ID(들)를 획득한다 (예를 들어, 도 7의 765와 유사). 도 7의 765와 유사하게, 905에서, UE 1은 또한 이들 자신의 임시 ID를 UE들 2...N 중 임의의 UE로 선택적으로 전송할 수도 있다. 또한, 905에 도시된 임시 ID 교환은 대안으로 보다 이른 시점에, 예컨대 로컬 P2P 접속들이 735 및 740에서 확립되는 때 및/또는 725 및 730에서의 로컬 P2P 디스커버리 절차 동안 (예를 들어, 각 UE를 식별하는 브로드캐스팅된 SSID와 동일한 임시 ID를 설정하는 것 등에 의해) 구현될 수 있다.
도 9를 참조하면, UE들 2...N의 임시 ID(들)를 획득한 이후, UE 1은 UE들 2...N의 임시 ID(들)와 함께 서버로 파일 및/또는 미디어 스트림을 송신한다 (910). 오퍼레이터 1에게 데이터 송신의 서버 조정된 구현을 통지하지 않고도, 910의 송신이 반드시 발생할 필요가 있는 것은 아니라는 것을 제외하고, 도 9의 910은 도 7의 770과 유사하다. 서버는 UE 1로부터 수신된 임시 ID(들)에 기초하여 고유의 네트워크 어드레스 및/또는 고유의 사용자 어드레스를 룩업하고 (915) (예를 들어, 도 7의 775와 유사), 이후 파일 및/또는 미디어 스트림을 UE들 2...N으로 전달한다 (920) (예를 들어, 도 7의 780과 유사). 선택적으로, 서버 조정된 데이터 전송이 그룹 통신인 경우 (즉, N이 2를 초과하여 파일 및/또는 미디어 스트림이 멀티플 타겟 UE들로 전송되는 경우), 서버는 임시 그룹 ID를 UE들 1...N에 할당하여, 각각의 타겟 UE의 개별 임시 ID를 별도 열거할 필요도 없이, 임시 그룹 ID를 포함하는 서버에서 수신된 임의의 후속 데이터 전송이 통신 그룹으로서 UE들 1...N에 맵핑될 수도 있다 (925) (예를 들어, 도 7의 785와 유사). 그래서, 서버 자체는 임시 그룹 ID를 개별 임시 ID들에 맵핑할 수 있고, 개별 임시 ID들은 궁극적으로 다양한 UE들 및/또는 오퍼레이터들의 고유의 사용자 어드레스들 및/또는 고유의 네트워크 어드레스들에 맵핑된다.
930에서, 서버는 파일 및/또는 미디어 스트림의 서버 조정된 전송의 레코드를 발생시킨다 (예를 들어, 도 7의 795와 유사). 도 7에 명확히 나타내지는 않았지만, 930에서 발생된 레코드들은 로컬 또는 리모트 데이터베이스에서 보관될 수 있고, 서버 (또는 서버의 관리자) 는 나중에 레코드 중 하나 이상에 대한 데이터 요청들을 수신할 수도 있다. 예를 들어, 비도청 시나리오에서, UE들 1...N의 하나 이상은 하나 이상의 보관된 레코드들의 복사본을 요청할 수도 있다.
일부 이후 시점에서, 735에서 확립된 로컬 P2P 접속(들)이 종결되도록 소정의 P2P 통신 범위 (500) 내에 UE 1이 더 이상 있지 않다고 가정한다 (935) (예를 들어, N이 2를 초과하지만, 740에서 확립된 별도의 로컬 P2P 접속들이 예컨대 UE 2와 UE 3 사이에서 유지될 수 있다). P2P 접속해제 이후에라도, 930으로부터 임시 ID(들)와 UE들 2...N 및/또는 임시 그룹 ID와 UE들 1...N 사이의 연관을 서버가 유지한다고 가정한다. 다음, UE 1의 오퍼레이터 1은 UE들 2...N 및/또는 UE들 2...N의 각 오퍼레이터들 ("오퍼레이터 2...N") 로 추가 파일을 전송하고 및/또는 추가 미디어를 스트리밍하기로 결정한다고 가정한다 (940). 이 지점에서, UE 1에서 UE들 2...N로의 추가 파일 및/또는 미디어 스트림의 P2P 전송은 가능하지 않다. 이로써, P2P 전송을 시도하는 대신, UE 1은 (i) 905에서 획득된 UE들 2...N의 임시 ID(들), 또는 (ii) 925, 945에서 선택적으로 획득된 임시 그룹 ID와 함께 서버로 추가적인 파일 및/또는 미디어 스트림을 송신한다. 추가 예에서, 940의 결정은, 오퍼레이터 1이 도 9에 예시된 바와 같이, UE 1을 제어하고 있는 경우, 또는 대안으로 오퍼레이터 1이 일례로 일부 다른 UE를 제어하고 있는 동안 일어날 수 있다. 예를 들어, UE 1은 900-925 사이에서 UE들 2...N의 오퍼레이터들과의 미팅동안 오퍼레이터 1에 의해 동작되는 태블릿 PC에 상응할 수도 있다. 이후, 오퍼레이터 1은 상이한 UE (예를 들어, 휴대폰) 를 동작시키고 있고 940에서 결정된 데이터를 전송하기 원한다. 이 경우, 940-945는 태블릿 PC 대신에 휴대폰을 통해 수행될 수 있으며, 그래서 상기 언급된 프로세스들의 상이한 부분들을 수행하는 UE가 적어도 하나의 실시형태에서 각 프로세스들 전반에 걸쳐 동일하게 유지될 필요는 없다.
서버는 UE 1로부터 수신된 임시 ID(들) (또는 임시 그룹 ID) 에 기초하여 고유의 네트워크 어드레스 및/또는 고유의 사용자 어드레스를 룩업하고 (950), 이후 추가적인 파일 및/또는 미디어 스트림을 UE들 2...N으로 및/또는 그 각각의 오퍼레이터들로 전달한다 (955). 다른 말로, 955의 전달은, 비록 확실히 가능한 경우라도, UE들 2...N에 직접 전달될 필요는 사실상 없다. 예를 들어, 오퍼레이터 2가 임시 ID와 연관하여 서버에 의해 유지된 고유의 사용자 어드레스 (예를 들어, 이메일 어드레스 또는 스카이프 유저네임) 를 갖는다면, 서버는 추가적인 파일 및/또는 미디어 스트림을 이메일 어드레스 또는 스카이프 유저네임에 포워드할 수 있고, 그리고 오퍼레이터 2가 상이한 UE (예를 들어, UE X) 를 동작시키고 있다면, 오퍼레이터 2는 UE 2 대신에 UE X 상에 추가적인 파일 및/또는 미디어 스트림을 사실상 수신할 수도 있다. 960에서, 서버는 추가적인 파일 및/또는 미디어 스트림의 서버 조정된 전송의 레코드를 발생시킨다 (예를 들어, 930과 유사). 도 7의 795 및 도 8의 820과 관련하여 상기에서 언급된 바와 같이, 추가 예에 있어서, 930 및/또는 960에서 발생된 레코드는 국소적으로 서버에 저장되는 레코드에 부가하여 또는 그 대신에 별도의 모니터링 서버로 포워딩될 수 있다. 소정의 레코드들을 별도의 모니터링 서버로 포워드하기 위한 서버의 결정은 서버에 의해 실행된 하나 이상의 레코드 포워딩 정책들에 기초할 수 있다. 예를 들어, FBI가 특정 사용자의 통신에 관련된 도청 영장을 갖는다면, 특정 사용자와 연관된 임의의 레코드들 (예를 들어, 특정 사용자에게/로부터 전송된 파일들 및/또는 미디어 스트림들) 은 FBI에 의해 실시간 동작된 모니터링 서버로 포워딩될 수 있고, 여기서 포워딩된 레코드들은 FBI에 의한 검사에 이용가능하다. 도 9의 935와 960 사이에서 일어나는 서버 조정된 데이터 전송은, UE 1이 UE들 2...N와 함께 P2P 범위 밖에 있는 이후, UE들 2...N의 임시 ID(들) (또는 임시 그룹 ID) 와 오퍼레이터들 2...N의 각 고유의 사용자 어드레스들 및/또는 UE들 2...N의 네트워크 어드레스들 간의 저장된 맵핑에 기초한다. 하지만, 서버 조정된 데이터 전송들은 또한 도 10에 도시된 바와 같이 다시 UE 1과 관련될 수 있다.
도 10을 참조하면, UE들 1...N은 적어도 UE 3을 포함하도록 N은 2를 초과한다고 가정한다. 도 9의 960 이후, 735에서 확립된 로컬 P2P 접속(들)이 종결되도록 소정의 P2P 통신 범위 (500) 내에 UE 1이 더 이상 있지 않지만, 오퍼레이터 2가 UE들 1 및 3...N 및/또는 UE들 2...N의 각 오퍼레이터 ("오퍼레이터 1 및 3...N") 로 파일을 전송하고 및/또는 추가적인 미디어를 스트리밍하기로 결정한다고 가정한다 (1000). 이 지점에서, (이론상으로는 UE 2가 환경에 의존하여 UE들 3...N과 로컬 P2P 접속들을 유지할 수 있지만) UE 2에서 UE 1로의 추가적인 파일 및/또는 미디어 스트림의 P2P 전송은 가능하지 않다. 이로써, P2P 전송을 시도하는 대신, UE 2는 (i) 905에서 획득된 UE들 1 및 3...N의 임시 ID(들), 또는 (ii) 925, 1005에서 선택적으로 획득된 임시 그룹 ID와 함께 서버로 파일 및/또는 미디어 스트림을 송신한다. 추가 예에서, 1000의 송신은, 오퍼레이터 2가 도 10에 예시된 바와 같이, UE 2를 제어하고 있는 경우, 또는 일부 대안으로 오퍼레이터 2가 일례로 일부 다른 UE를 제어하고 있는 동안 일어날 수 있다. 예를 들어, UE 2는 900-925 사이에서 UE들 1 및 2...N의 오퍼레이터들과의 미팅동안 오퍼레이터 2에 의해 동작되는 태블릿 PC에 상응할 수도 있다. 이후, 오퍼레이터 2는 상이한 UE (예를 들어, 휴대폰) 를 동작시키고 있고 1000에서 결정된 데이터를 전송하기 원한다. 이 경우, 1000-1005는 태블릿 PC 대신에 휴대폰을 통해 수행될 수 있으며, 그래서 상기 언급된 프로세스들의 상이한 부분들을 수행하는 UE가 적어도 하나의 실시형태에서 각 프로세스들 전반에 걸쳐 동일하게 유지될 필요는 없다.
서버는 UE 2로부터 수신된 임시 ID(들) (또는 임시 그룹 ID) 에 기초하여 고유의 네트워크 어드레스 및/또는 고유의 사용자 어드레스를 룩업하고 (1010), 이후 추가적인 파일 및/또는 미디어 스트림을 UE들 1 및 3...N으로 및/또는 그 각각의 오퍼레이터들로 전달한다 (1015). 다른 말로, 1015의 전달은, 비록 확실히 가능한 경우라도, UE들 1 및 3...N에 직접 전달될 필요는 사실상 없다. 예를 들어, 오퍼레이터 3이 임시 ID와 연관하여 서버에 의해 유지된 고유의 사용자 어드레스 (예를 들어, 이메일 어드레스 또는 스카이프 유저네임) 을 갖는다면, 서버는 추가적인 파일 및/또는 미디어 스트림을 이메일 어드레스 또는 스카이프 유저네임에 포워드할 수 있고, 그리고 오퍼레이터 3이 상이한 UE (예를 들어, UE X) 를 동작시키고 있다면, 오퍼레이터 3은 UE 3 대신에 UE X 상에 추가적인 파일 및/또는 미디어 스트림을 사실상 수신할 수도 있다. 1020에서, 서버는 추가적인 파일 및/또는 미디어 스트림의 서버 조정된 전송의 레코드를 저장한다 (예를 들어, 960과 유사). 도 7의 795 및 도 8의 820, 도 9의 930 및 도 9의 960과 관련하여 상기에서 언급된 바와 같이, 추가 예에 있어서, 1020에서 발생된 레코드는 국소적으로 서버에 저장되는 레코드에 부가하여 또는 그 대신에 별도의 모니터링 서버로 포워딩될 수 있다. 소정의 레코드들을 별도의 모니터링 서버로 포워드하기 위한 서버의 결정은 서버에 의해 실행된 하나 이상의 레코드 포워딩 정책들에 기초할 수 있다. 예를 들어, FBI가 특정 사용자의 통신에 관련된 도청 영장을 갖는다면, 특정 사용자와 연관된 임의의 레코드들 (예를 들어, 특정 사용자에게/로부터 전송된 파일들 및/또는 미디어 스트림들) 은 FBI에 의해 실시간 동작된 모니터링 서버로 포워딩될 수 있고, 여기서 포워딩된 레코드들은 FBI에 의한 검사에 이용가능하다.
당업자는 정보 및 신호가 임의의 다양한 상이한 기술 및 기법을 이용하여 표현될 수도 있음을 인식할 것이다. 예를 들어, 위의 설명 전체에 걸쳐 언급될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 자기입자, 광학장 (optical field) 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
또한, 당업자는, 여기에 개시된 예시적 실시형태와 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 양자의 조합으로 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계가 일반적으로 그들의 기능성의 측면에서 위에서 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현될지 여부는, 전체 시스템에 부과된 특정 응용 및 설계 제약에 달려 있다. 당업자는 설명된 기능을 각각의 특정 응용을 위해 다른 방식으로 구현할 수도 있지만, 이러한 구현 결정이 본 개시의 범위를 벗어나는 것으로 해석되지는 않아야 한다.
여기에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 및 회로는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 여기에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
여기에 개시된 예시적 실시형태들과 관련하여 설명된 방법, 시퀀스 및/또는 알고리즘은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 양자의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적 저장 매체는 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 연결된다. 대안으로, 저장 매체는 프로세서에 내장될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC는 사용자 단말 (예를 들어, UE) 에 상주할 수도 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트로서 상주할 수도 있다.
하나 이상의 예시적 실시형태들에서, 설명된 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 일 장소로부터 또 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체 양자 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 비한정적 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 반송 또는 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결이 컴퓨터 판독가능 매체로 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인 (DSL), 또는 적외선, 전파, 및 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 그 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 전파, 및 마이크로파와 같은 무선 기술은 매체의 정의 내에 포함된다. 여기에 설명된 바처럼, 디스크 (disk) 및 디스크 (disc) 는 컴팩 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 일반적으로 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생한다. 또한, 상기의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
이전의 개시는 본 개시의 예시적인 실시형태들을 보여주지만, 첨부된 청구항들에 의해 정의된 본 개시의 범위로부터 벗어남이 없이 다양한 변화 및 변경들이 여기서 이루어질 수 있음에 유의해야 한다. 여기에 설명된 본 개시의 실시형태들에 따른 방법 청구항들의 기능, 단계 및/또는 액션들은 어느 특정 순서로 수행될 필요는 없다. 또한, 본 개시의 엘리먼트들은 단수형태로 설명되고 청구될 수도 있지만, 단수형으로의 한정이 명시적으로 언급되지 않으면 복수형이 고려된다.
Claims (30)
- 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법으로서,
제 2 클라이언트 디바이스를 검출하는 단계로서, 상기 제 1 클라이언트 디바이스는 상기 서빙 네트워크와 무관한 로컬 피어-투-피어 (P2P) 인터페이스를 통해 상기 제 2 클라이언트 디바이스와 통신할 수 있는, 상기 검출하는 단계;
상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 사이의 로컬 P2P 접속을 상기 로컬 P2P 인터페이스를 통해 확립하는 단계;
상기 제 2 클라이언트 디바이스에 대한 임시 식별자를 상기 로컬 P2P 접속을 거쳐서 수신하는 단계로서, 상기 임시 식별자는 상기 제 2 클라이언트 디바이스가 상기 서빙 네트워크를 통해 컨택될 수 있는 임의의 고유 네트워크 어드레스를 상기 제 1 클라이언트 디바이스가 식별하기에 불충분한, 상기 수신하는 단계;
데이터를 상기 로컬 P2P 접속을 거쳐 상기 제 2 클라이언트 디바이스로 송신하기 위해 상기 제 1 클라이언트 디바이스의 오퍼레이터로부터 요청을 수신하는 단계; 및
상기 로컬 P2P 접속이 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 사이의 통신들에 이용가능한 상태로 있는 동안 상기 요청에 응답하여, 상기 데이터가 서버로 전송되고 있다는 것을 상기 제 1 클라이언트 디바이스의 오퍼레이터에게 통지하지 않고도 상기 임시 식별자의 표시와 함께 상기 데이터를 상기 서빙 네트워크를 통해 상기 서버로 전송하는 단계를 포함하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 1 항에 있어서,
상기 데이터는 상기 로컬 P2P 접속을 통해 상기 제 2 클라이언트 디바이스로 중복하여 송신되는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 1 항에 있어서,
상기 데이터는 상기 로컬 P2P 접속을 통해 상기 제 2 클라이언트 디바이스로 중복하여 (redundantly) 송신되지 않는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 3 항에 있어서,
상기 서버는, 상기 데이터를 상기 서빙 네트워크를 통해 상기 제 2 클라이언트 디바이스로 포워딩하기 위해서 상기 임시 식별자의 표시에 기초하여 상기 제 2 클라이언트 디바이스가 상기 서빙 네트워크를 통해 컨택될 수 있는 고유의 네트워크 어드레스를 룩업하도록 예측되는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 3 항에 있어서,
상기 데이터가 상기 서빙 네트워크 대신에 상기 로컬 P2P 접속을 통해 상기 서버로 전송된다고 잘못 표시하도록 사용자 인터페이스 (UI) 를 구성하는 단계를 더 포함하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 5 항에 있어서,
상기 구성하는 단계는 구성된 상기 UI에서의 디스플레이로부터 셀룰러 표시자를 블로킹하고 상기 구성된 UI에서 P2P 표시자를 디스플레이하는 단계를 포함하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 1 항에 있어서,
상기 데이터는 하나 이상의 파일들 및/또는 하나 이상의 실시간 미디어 스트림들에 상응하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 1 항에 있어서,
서버 리디렉트 명령들의 세트에 기초하여 상기 데이터의 상기 서버로의 서버 리디렉트를 실행하는지 여부를 결정하기 위해 상기 요청을 분석하는 단계를 더 포함하고,
상기 데이터의 상기 서버로의 전송은 상기 분석하는 단계에 응답하여 발생하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 제 8 항에 있어서,
서버 리디렉트 명령들의 세트는 상기 제 1 클라이언트 디바이스에게 (i) 상기 제 1 클라이언트 디바이스에 의해 개시되는 각각의 P2P 송신, (ii) 상기 제 1 클라이언트 디바이스로부터 타겟 클라이언트 디바이스들의 특정 세트로의 하나 이상의 P2P 송신들, (iii) 특정 미디어 타입의 전송을 포함하는 하나 이상의 P2P 송신들, (iv) 특정 시각 및/또는 특정 위치에서 발생하는 하나 이상의 P2P 송신들, (v) P2P 오버라이드 규칙들의 세트를 만족하는 하나 이상의 P2P 송신들 또는 (vi) 이들의 임의의 조합을 리디렉트하도록 지시하는, 서빙 네트워크에 접속하도록 구성된 제 1 클라이언트 디바이스를 동작시키는 방법. - 서버를 동작시키는 방법으로서,
제 1 클라이언트 디바이스가 서빙 네트워크를 통해 컨택될 수 있는 고유의 네트워크 어드레스를 등록하는 단계;
등록된 상기 고유의 네트워크 어드레스를 다른 클라이언트 디바이스들이 식별하기에 불충분한 임시 식별자를 상기 제 1 클라이언트 디바이스에 할당하는 단계;
상기 제 1 클라이언트 디바이스 및 제 2 클라이언트 디바이스가 로컬 피어-투-피어 (P2P) 접속을 통해 접속되는 동안 상기 제 2 클라이언트 디바이스로부터, 상기 임시 식별자의 표시와 함께 상기 제 1 클라이언트 디바이스에 송신될 데이터를 수신하는 단계;
상기 임시 식별자의 표시를 상기 등록된 고유의 네트워크 어드레스와 연관시키는 단계; 및
상기 연관에 기초하여 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 사이의 데이터 송신의 레코드를 발생시키는 단계를 포함하는, 서버를 동작시키는 방법. - 제 10 항에 있어서,
상기 발생시키는 단계는, 상기 데이터 송신이 상기 로컬 P2P 접속을 통해 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 사이에서 일어날 것이라는 예측에 기초하여 상기 제 1 클라이언트 디바이스로 상기 데이터를 포워딩하지 않고 수행되는, 서버를 동작시키는 방법. - 제 10 항에 있어서,
상기 데이터 송신이 상기 로컬 P2P 접속을 통해 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 사이에서 일어나지 않을 것이라는 예측에 기초하여 상기 제 1 클라이언트 디바이스로 상기 데이터를 포워딩하는 단계를 더 포함하는, 서버를 동작시키는 방법. - 제 10 항에 있어서,
상기 서버에 의해 유지된 메모리에서 상기 레코드를 국소적으로 저장하는 단계를 더 포함하는, 서버를 동작시키는 방법. - 제 10 항에 있어서,
하나 이상의 레코드 포워딩 정책들에 기초하여 적어도 하나의 외부 서버에 상기 레코드를 포워딩하는 단계를 더 포함하는, 서버를 동작시키는 방법. - 제 10 항에 있어서,
상기 데이터는 하나 이상의 파일들 및/또는 하나 이상의 실시간 미디어 스트림들에 상응하는, 서버를 동작시키는 방법. - 서버를 동작시키는 방법으로서,
(i) 제 1 클라이언트 디바이스가 서빙 네트워크를 통해 컨택될 수 있거나 또는 (ii) 상기 제 1 클라이언트 디바이스의 오퍼레이터가 컨택될 수 있는 고유의 컨택 어드레스를 등록하는 단계;
등록된 상기 고유의 네트워크 어드레스를 다른 클라이언트 디바이스들이 식별하기에 불충분한 임시 식별자를 상기 제 1 클라이언트 디바이스에 할당하는 단계;
상기 제 1 클라이언트 디바이스 및 제 2 클라이언트 디바이스가 로컬 피어-투-피어 (P2P) 접속을 통해 접속되는 동안 상기 제 2 클라이언트 디바이스로부터, 상기 임시 식별자의 표시와 함께 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터에게 송신될 데이터에 대한 요청을 수신하는 단계;
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속을 통해 접속된 상태를 유지하는 동안 상기 등록된 고유의 컨택 어드레스를 이용하여 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 상기 데이터를 전달하는 단계; 및
(i) 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터와 (ii) 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터 사이의 보충적인 통신을 허용하기 위해 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제한 이후 상기 임시 식별자와 상기 제 1 클라이언트 디바이스 사이의 연관을 유지하는 단계를 포함하는, 서버를 동작시키는 방법. - 제 16 항에 있어서,
상기 제 2 클라이언트 디바이스의 오퍼레이터에 의해 동작된 주어진 디바이스로부터, 상기 임시 식별자의 또 다른 표시와 함께 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 송신될 보충적인 데이터에 대한 보충적인 요청을 수신하는 단계; 및
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제된 상태를 유지하는 동안 상기 등록된 고유의 컨택 어드레스를 이용하여 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 상기 보충적인 데이터를 전달하는 단계를 더 포함하는, 서버를 동작시키는 방법. - 제 17 항에 있어서,
상기 주어진 디바이스는 상기 제 2 클라이언트 디바이스이거나 또는 상기 제 2 클라이언트 디바이스의 오퍼레이터와 연관된 또 다른 클라이언트 디바이스인, 서버를 동작시키는 방법. - 제 17 항에 있어서,
상기 임시 식별자는 다수의 상이한 클라이언트 디바이스들 및/또는 오퍼레이터들의 고유의 컨택 어드레스들에 맵핑되도록 구성되는 임시 그룹 식별자이고, 그리고
상기 데이터 및 상기 보충적인 데이터는, 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터 이외에, 하나 이상의 부가적인 클라이언트 디바이스들 및/또는 클라이언트 디바이스 오퍼레이터들에 전달되는, 서버를 동작시키는 방법. - 제 16 항에 있어서,
상기 유지하는 단계는 또한, 상기 제 2 클라이언트 디바이스가 상기 서빙 네트워크를 통해 컨택될 수 있고 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터가 컨택될 수 있는 또 다른 고유의 컨택 어드레스를 유지하는, 서버를 동작시키는 방법. - 제 20 항에 있어서,
상기 제 1 클라이언트 디바이스의 오퍼레이터에 의해 동작된 주어진 디바이스로부터, 상기 임시 식별자의 또 다른 표시와 함께 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터로 송신될 보충적인 데이터에 대한 보충적인 요청을 수신하는 단계; 및
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제된 상태를 유지하는 동안 상기 또 다른 고유의 컨택 어드레스를 이용하여 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터로 상기 보충적인 데이터를 전달하는 단계를 더 포함하는, 서버를 동작시키는 방법. - 제 21 항에 있어서,
상기 주어진 디바이스는 상기 제 1 클라이언트 디바이스이거나 또는 상기 제 1 클라이언트 디바이스의 오퍼레이터와 연관된 또 다른 클라이언트 디바이스인, 서버를 동작시키는 방법. - 제 21 항에 있어서,
상기 임시 식별자는 다수의 상이한 클라이언트 디바이스들 및/또는 오퍼레이터들의 고유의 컨택 어드레스들에 맵핑되도록 구성되는 임시 그룹 식별자이고, 그리고
상기 데이터 및 상기 보충적인 데이터는, 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터 이외에, 하나 이상의 부가적인 클라이언트 디바이스들 및/또는 클라이언트 디바이스 오퍼레이터들에 전달되는, 서버를 동작시키는 방법. - 서버로서,
(i) 제 1 클라이언트 디바이스가 서빙 네트워크를 통해 컨택될 수 있거나 또는 (ii) 상기 제 1 클라이언트 디바이스의 오퍼레이터가 컨택될 수 있는 고유의 컨택 어드레스를 등록하도록 구성된 로직;
등록된 상기 고유의 네트워크 어드레스를 다른 클라이언트 디바이스들이 식별하기에 불충분한 임시 식별자를 상기 제 1 클라이언트 디바이스에 할당하도록 구성된 로직;
상기 제 1 클라이언트 디바이스 및 제 2 클라이언트 디바이스가 로컬 피어-투-피어 (P2P) 접속을 통해 접속되는 동안 상기 제 2 클라이언트 디바이스로부터, 상기 임시 식별자의 표시와 함께 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터에게 송신될 데이터에 대한 요청을 수신하도록 구성된 로직;
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속을 통해 접속된 상태를 유지하는 동안 상기 등록된 고유의 컨택 어드레스를 이용하여 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 상기 데이터를 전달하도록 구성된 로직; 및
(i) 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터와 (ii) 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터 사이의 보충적인 통신을 허용하기 위해 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제한 이후 상기 임시 식별자와 상기 제 1 클라이언트 디바이스 사이의 연관을 유지하도록 구성된 로직을 포함하는, 서버. - 제 24 항에 있어서,
상기 제 2 클라이언트 디바이스의 오퍼레이터에 의해 동작된 주어진 디바이스로부터, 상기 임시 식별자의 또 다른 표시와 함께 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 송신될 보충적인 데이터에 대한 보충적인 요청을 수신하는 것; 및
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제된 상태를 유지하는 동안 상기 등록된 고유의 컨택 어드레스를 이용하여 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터로 상기 보충적인 데이터를 전달하는 것을 더 포함하는, 서버. - 제 25 항에 있어서,
상기 임시 식별자는 다수의 상이한 클라이언트 디바이스들 및/또는 오퍼레이터들의 고유의 컨택 어드레스들에 맵핑되도록 구성되는 임시 그룹 식별자이고, 그리고
상기 데이터 및 상기 보충적인 데이터는, 상기 제 1 클라이언트 디바이스 및/또는 상기 제 1 클라이언트 디바이스의 오퍼레이터 이외에, 하나 이상의 부가적인 클라이언트 디바이스들 및/또는 클라이언트 디바이스 오퍼레이터들에 전달되는, 서버. - 제 24 항에 있어서,
상기 유지하는 것은 또한, 상기 제 2 클라이언트 디바이스가 상기 서빙 네트워크를 통해 컨택될 수 있고 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터가 컨택될 수 있는 또 다른 고유의 컨택 어드레스를 유지하는, 서버. - 제 27 항에 있어서,
상기 제 1 클라이언트 디바이스의 오퍼레이터에 의해 동작된 주어진 디바이스로부터, 상기 임시 식별자의 또 다른 표시와 함께 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터로 송신될 보충적인 데이터에 대한 보충적인 요청을 수신하는 것; 및
상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스가 상기 로컬 P2P 접속으로부터 접속해제된 상태를 유지하는 동안 상기 또 다른 고유의 컨택 어드레스를 이용하여 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터로 상기 보충적인 데이터를 전달하는 것을 더 포함하는, 서버. - 제 28 항에 있어서,
상기 주어진 디바이스는 상기 제 1 클라이언트 디바이스이거나 또는 상기 제 1 클라이언트 디바이스의 오퍼레이터와 연관된 또 다른 클라이언트 디바이스인, 서버. - 제 28 항에 있어서,
상기 임시 식별자는 다수의 상이한 클라이언트 디바이스들 및/또는 오퍼레이터들의 고유의 컨택 어드레스들에 맵핑되도록 구성되는 임시 그룹 식별자이고, 그리고
상기 데이터 및 상기 보충적인 데이터는, 상기 제 2 클라이언트 디바이스 및/또는 상기 제 2 클라이언트 디바이스의 오퍼레이터 이외에, 하나 이상의 부가적인 클라이언트 디바이스들 및/또는 클라이언트 디바이스 오퍼레이터들에 전달되는, 서버.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/251,265 US9392057B2 (en) | 2014-04-11 | 2014-04-11 | Selectively exchanging data between P2P-capable client devices via a server |
US14/251,265 | 2014-04-11 | ||
PCT/US2015/020594 WO2015156958A1 (en) | 2014-04-11 | 2015-03-13 | Selectively exchanging data between p2p-capable client devices via a server |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160142854A true KR20160142854A (ko) | 2016-12-13 |
Family
ID=52875243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167030536A KR20160142854A (ko) | 2014-04-11 | 2015-03-13 | 서버를 통한 p2p-가능 클라이언트 디바이스들 간의 데이터의 선택적 교환 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9392057B2 (ko) |
EP (1) | EP3130124B1 (ko) |
JP (1) | JP2017516201A (ko) |
KR (1) | KR20160142854A (ko) |
CN (1) | CN106134162A (ko) |
BR (1) | BR112016023657A2 (ko) |
WO (1) | WO2015156958A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10034161B2 (en) * | 2016-03-17 | 2018-07-24 | Karan Singh Bakshi | System and method for providing internet connectivity to radio frequency devices without internet facility through smart devices |
CN106302661B (zh) * | 2016-08-02 | 2019-08-13 | 网宿科技股份有限公司 | P2p数据加速方法、装置和*** |
US10834170B2 (en) * | 2018-03-19 | 2020-11-10 | Citrix Systems, Inc. | Cloud authenticated offline file sharing |
US11489686B2 (en) | 2020-01-14 | 2022-11-01 | Citrix Systems, Inc. | Virtual meetings in ad-hoc networks |
CN114531446B (zh) * | 2020-10-31 | 2023-04-18 | 华为技术有限公司 | 一种基于p2p的数据分发方法、装置及*** |
US11290523B1 (en) * | 2021-06-22 | 2022-03-29 | International Business Machines Corporation | High-speed transfer of data from device to service |
US11582314B1 (en) * | 2021-11-29 | 2023-02-14 | Industrial Technology Research Institute | Method for assisting unregistered user device to access private network service and communication system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640241B1 (en) * | 1999-07-19 | 2003-10-28 | Groove Networks, Inc. | Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager |
CN1617473A (zh) * | 2003-11-10 | 2005-05-18 | 皇家飞利浦电子股份有限公司 | 在支持p2p模式的通信体系中用于消除p2p干扰的方法和装置 |
US7342895B2 (en) * | 2004-01-30 | 2008-03-11 | Mark Serpa | Method and system for peer-to-peer wireless communication over unlicensed communication spectrum |
US8086842B2 (en) * | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
US7945689B2 (en) * | 2007-03-23 | 2011-05-17 | Sony Corporation | Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model |
WO2008064356A1 (en) | 2006-11-22 | 2008-05-29 | Metis Enterprise Technologies Llc | Real-time multicast peer-to-peer video streaming platform |
KR101466393B1 (ko) * | 2007-08-03 | 2014-11-28 | 삼성전자주식회사 | 통신 시스템에서 피어 투 피어 통신 방법 및 장치 |
US8090616B2 (en) * | 2008-09-08 | 2012-01-03 | Proctor Jr James Arthur | Visual identification information used as confirmation in a wireless communication |
CN102025515A (zh) * | 2009-09-14 | 2011-04-20 | 阿里巴巴集团控股有限公司 | 基于文件目录的文件传输方法及其装置和*** |
JP5660050B2 (ja) | 2009-12-28 | 2015-01-28 | 日本電気株式会社 | ユーザ情報活用システム、装置、方法およびプログラム |
EP2373075A1 (en) | 2010-03-30 | 2011-10-05 | British Telecommunications public limited company | System and method for WLAN traffic monitoring |
US20120076303A1 (en) | 2010-09-24 | 2012-03-29 | Rogers Communications Inc. | Intercept access point for communications within local breakouts |
US8386619B2 (en) | 2011-03-23 | 2013-02-26 | Color Labs, Inc. | Sharing content among a group of devices |
US9021223B2 (en) * | 2011-07-22 | 2015-04-28 | Xiotech Corporation | Resilient mirroring |
US20140007154A1 (en) | 2012-06-29 | 2014-01-02 | United Video Properties, Inc. | Systems and methods for providing individualized control of media assets |
GB2507546B (en) * | 2012-11-02 | 2015-06-10 | Broadcom Corp | Mobile communications networks |
EP2923460B1 (en) * | 2012-11-23 | 2018-11-21 | Calgary Scientific Inc. | Methods and systems for peer-to-peer discovery and connection from a collaborative application session |
US20140337478A1 (en) * | 2013-05-07 | 2014-11-13 | Social Communications Company | Peer-to-peer network communications |
US8917311B1 (en) * | 2014-03-31 | 2014-12-23 | Apple Inc. | Establishing a connection for a video call |
-
2014
- 2014-04-11 US US14/251,265 patent/US9392057B2/en active Active
-
2015
- 2015-03-13 KR KR1020167030536A patent/KR20160142854A/ko unknown
- 2015-03-13 EP EP15716606.7A patent/EP3130124B1/en not_active Not-in-force
- 2015-03-13 CN CN201580017516.XA patent/CN106134162A/zh active Pending
- 2015-03-13 WO PCT/US2015/020594 patent/WO2015156958A1/en active Application Filing
- 2015-03-13 JP JP2016560984A patent/JP2017516201A/ja not_active Ceased
- 2015-03-13 BR BR112016023657A patent/BR112016023657A2/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
BR112016023657A2 (pt) | 2017-08-15 |
EP3130124B1 (en) | 2018-06-13 |
WO2015156958A1 (en) | 2015-10-15 |
JP2017516201A (ja) | 2017-06-15 |
US9392057B2 (en) | 2016-07-12 |
EP3130124A1 (en) | 2017-02-15 |
CN106134162A (zh) | 2016-11-16 |
US20150296004A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101602613B1 (ko) | 통신 세션 동안 클라이언트 디바이스들 사이의 콘택트 프로파일 교환 | |
JP6066538B1 (ja) | ピアベースの認証 | |
EP3130124B1 (en) | Selectively exchanging data between p2p-capable client devices via a server | |
EP3178048B1 (en) | Triggering a communicative action based on a client-determined relationship between proximate client devices | |
CN105284166B (zh) | 针对对等应用的网络辅助的设备对设备发现 | |
WO2018161802A1 (zh) | 一种业务流的控制方法及装置 | |
US20160105786A1 (en) | Leveraging peer-to-peer discovery messages for group activity notification | |
US20190146658A1 (en) | Notification of a wireless local area network by a browser application of a wireless communication device | |
US20230020413A1 (en) | Systems and methods for paging over wifi for mobile terminating calls | |
US20150139182A1 (en) | System And Method For Differentiated System Continuity When Changing Networks | |
US20150031323A1 (en) | Apparatus and method to implement a queuing process by a position enabled mobile device to prioritize the legitimacy of initiation messages from emergency location platforms | |
CA2693659C (en) | Method and apparatus for location request tracking | |
EP3189676B1 (en) | Dispatch console client functionality | |
WO2016149473A1 (en) | Systems and methods for forming a group based on proximity of devices | |
US11824672B2 (en) | Systems and methods for seamless audiovisual teleconferencing | |
WO2016183748A1 (zh) | 一种发现方法及设备 | |
US10972416B2 (en) | Network based personal number blocking |