KR20120091359A - 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템 - Google Patents

복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20120091359A
KR20120091359A KR1020127015130A KR20127015130A KR20120091359A KR 20120091359 A KR20120091359 A KR 20120091359A KR 1020127015130 A KR1020127015130 A KR 1020127015130A KR 20127015130 A KR20127015130 A KR 20127015130A KR 20120091359 A KR20120091359 A KR 20120091359A
Authority
KR
South Korea
Prior art keywords
computing device
data transmission
unicast data
source
computing devices
Prior art date
Application number
KR1020127015130A
Other languages
English (en)
Other versions
KR101388408B1 (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 KR20120091359A publication Critical patent/KR20120091359A/ko
Application granted granted Critical
Publication of KR101388408B1 publication Critical patent/KR101388408B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/186Processing of subscriber group data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

복수의 컴퓨팅 디바이스로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템은, 유니캐스트 데이터 송신을 송신할 싱크 컴퓨팅 디바이스를 복수의 컴퓨팅 디바이스로부터 선택하고, 선택되지 않은 컴퓨팅 디바이스들 각각에 무작위 통신 모드를 인에이블하는 것을 포함한다. 소스 컴퓨팅 디바이스는 유니캐스트 데이터 송신을 싱크 컴퓨팅 디바이스에 송신하며, 이는 선택되지 않은 컴퓨팅 디바이스들에 의해서도 수신된다.

Description

복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR FACILITATING ONE-TO-MANY DATA TRANSMISSION TO A PLURALITY OF COMPUTING DEVICES}
협력 컴퓨팅 환경은 때로는 소스 컴퓨팅 디바이스로부터 복수의 목적지(destination) 또는 싱크(sink) 컴퓨팅 디바이스로의 데이터 전달에 의존한다. 예컨대, 교육 환경에서, "교실 협력"은 교사의 컴퓨팅 디바이스로부터 각각의 학생의 컴퓨팅 디바이스로의 파일, 비디오, 및 다른 데이터의 전달에 의존한다. 전형적으로, 그러한 데이터 전달을 달성하기 위해 멀티캐스트, 방송, 또는 다른 일대다 데이터 송신들이 사용된다.
멀티캐스트 또는 방송 송신들과 다르게, 유니캐스트 송신은 일대일 (즉, 하나의 소스 컴퓨팅 디바이스로부터 하나의 목적 또는 싱크 컴퓨팅 디바이스로의) 데이터 송신이다. 일부 통신 디바이스들 및 표준들은 멀티캐스트 또는 방송 송신들에 비해 유니캐스트 송신들에 있어서 더 나은 서비스 및/또는 신뢰성을 위해 최적화되거나 또는 더 나은 서비스 및/또는 신뢰성을 제공한다. 예컨대, 일부 액세스 포인트들(예컨대, 유선 또는 무선 라우터, 스위치 또는 허브)은 유니캐스트 송신들을 라우팅하기 위해 최적화된다. 반대로, 멀티캐스트 송신에서, 액세스 포인트는 소스 컴퓨팅 디바이스로부터 (일반적으로 유니캐스트 송신을 통해) 수신한 데이터를 로컬 영역 네트워크 상의 각각의 싱크 컴퓨팅 디바이스에 송신해야 하므로, 액세스 포인트는 로컬 영역 네트워크(LAN)의 "병목(bottleneck)"이 될 수 있다. 복수의 LAN이 서로 인접하여 위치하는 환경에서, 과도한 멀티캐스트 또는 방송 송신들은 네트워크들 간의 "블리딩(bleeding)"을 야기할 수도 있다. 추가적으로, 유니캐스트 송신들과 달리, 많은 멀티캐스트 송신 표준들은 데이터의 링크 층 재송신을 제공하지 않으며, 이는 일부 환경들에서 조악한 데이터 전달 및/또는 높은 에러 레이트를 야기할 수 있다. 이와 같이, 협력 컴퓨팅 환경들은 일대다 데이터 송신들에 의존함에도 불구하고, 일부 구현들에서 전형적인 멀티캐스트 송신들은 요구되는 신뢰성 또는 스루풋(throughput)을 제공하지 못할 수 있다.
본원에 설명되는 시스템들, 디바이스들 및 방법들은 수반하는 도면들에서 제한적이지 않은 예로서 도시된다. 예시의 단순함 및 명료함을 위해, 도면들에 도시된 요소들은 반드시 비율에 맞게 도시된 것은 아니다. 예컨대, 명료함을 위해, 일부 요소들의 치수들은 다른 요소들에 비해 과장될 수 있다. 더욱이, 적절하다고 생각되는 곳에서, 대응하는 또는 유사한 요소들을 나타내기 위해 참조 라벨들이 반복된다.
도 1은 소스 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신들을 용이하게 하기 위한 시스템의 일 실시예의 간략화된 블록도이다.
도 2는 도 1의 시스템의 컴퓨팅 디바이스의 간략화된 블록도이다.
도 3은 도 1의 시스템의 소스 컴퓨팅 디바이스에 의해 실행되는, 복수의 컴퓨팅 디바이스들에 데이터를 송신하기 위한 방법의 일 실시예의 간략화된 흐름도이다.
도 4는 도 1의 시스템의 복수의 컴퓨팅 디바이스에 의해 실행되는, 소스 컴퓨팅 디바이스로부터 데이터를 수신하기 위한 방법의 일 실시예의 간략화된 흐름도이다.
도 5는 소스 컴퓨팅 디바이스로부터 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신들을 용이하게 하기 위한 시스템의 다른 실시예의 간략화된 블록도이다.
본 발명의 개념들은 다양한 변형들 및 대안적인 형태들이 가능하지만, 그것들에 대한 구체적인 예시적인 실시예들이 도면들에서 예로서 도시되었으며 본원에서 구체적으로 설명될 것이다. 그러나, 본 발명의 개념들을 개시된 특정 형태들로 한정하려는 의도는 없으며, 반대로, 첨부된 청구항들에 의해 정의되는 본 발명의 정신 및 범위 내의 모든 변형들, 동등물들 및 대안들을 포함하도록 의도된다.
뒤따르는 상세한 설명에서, 본 발명의 더 완전한 이해를 제공하기 위해 로직 구현들, 옵코드(opcode)들, 피연산자들을 특정하기 위한 수단들, 리소스 분할/공유/복제 구현들, 시스템 컴포넌트들의 타입들 및 상호 관계들, 및 로직 분할/통합 선택들과 같은 다수의 구체적인 세부 사항들이 제시될 수 있다. 그러나, 본 기술분야의 당업자는 본 명세서의 실시예들이 그러한 구체적인 세부 사항들 없이 실시될 수 있다는 것을 인식할 것이다. 다른 경우들에서, 본 발명을 모호하게 하지 않기 위해 제어 구조들, 게이트 레벨 회로들 및 완전한 소프트웨어 명령 시퀀스들은 상세히 도시되지 않을 수 있다. 본 기술분야의 통상적인 기술자들은 포함된 설명을 읽으면 불필요한 실험 없이도 적합한 기능을 구현할 수 있을 것이다.
명세서에서의 "일 실시예", "실시예", "예시적인 실시예" 등에 대한 참조는, 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 특정 특징, 구조 또는 특성을 반드시 포함하지는 않을 수 있다는 것을 나타낸다. 더욱이, 그러한 어구들은 반드시 동일한 실시예를 참조하는 것은 아니다. 더욱이, 특정 특징, 구조 또는 특성이 실시예에 관해 설명되는 경우, 명시적으로 설명되었는지의 여부와 관계없이, 그러한 특징, 구조 또는 특성을 다른 실시예들에 관해 달성하는 것은 본 기술분야의 당업자의 지식 내라는 것이 인정된다.
본 발명의 일부 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 컴퓨터 시스템으로 구현되는 본 발명의 실시예들은 컴포넌트들 간의 하나 이상의 버스 기반 상호연결들 및/또는 컴포넌트들 간의 하나 이상의 점대점 상호연결들을 포함할 수 있다. 본 발명의 실시예들은 또한, 하나 이상의 프로세서들에 의해 판독되고 실행될 수 있는, 기계 판독 가능한 유형의(tangible) 매체에 저장되는 명령들로 구현될 수 있다. 기계 판독 가능한 유형의 매체는 기계(예컨대, 컴퓨팅 디바이스)에 의해 판독 가능한 형태로 정보를 저장하거나 또는 송신하기 위한 임의의 유형의 메커니즘을 포함할 수 있다. 예컨대, 기계 판독 가능한 유형의 매체는 ROM(read only memory), RAM(random access memory), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스, 및 다른 유형의 매체들을 포함할 수 있다.
이제 도 1을 참조하면, 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신들을 용이하게 하기 위한 시스템(100)은 소스 또는 서버 컴퓨팅 디바이스(102) 및 수신 또는 클라이언트 컴퓨팅 디바이스 그룹(104)을 포함한다. 컴퓨팅 디바이스들(102, 104)은 액세스 포인트(108)를 통해 네트워크(106)에 걸쳐 서로 통신 가능하게 결합된다. 소스 컴퓨팅 디바이스(102)는 본원에 설명된 기능들을 수행할 수 있는 임의의 종류의 컴퓨팅 디바이스로서 구현될 수 있다. 예컨대, 일부 실시예들에서, 소스 컴퓨팅 디바이스(102)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 디바이스(MID), 또는 다른 네트워크-인에이블형 컴퓨팅 디바이스로서 구현될 수 있다.
컴퓨팅 디바이스 그룹(104)은 복수의 컴퓨팅 디바이스(110)를 포함한다. 컴퓨팅 디바이스들(110) 중 하나는 소스 컴퓨팅 디바이스(102)로부터 유니캐스트 데이터 송신들을 수신하기 위한 싱크 컴퓨팅 디바이스(112)로 선택된다. 아래에 더 상세히 논의되는 것과 같이, 싱크 컴퓨팅 디바이스(112)는 랜덤으로 선택될 수 있거나 또는 신호 품질 측정과 같은 어떤 기준에 기초하여 선택될 수 있다. 싱크 컴퓨팅 디바이스(112)에 어드레스되는 유니캐스트 송신들이 각각의 선택되지 않은, 무작위 모드 인에이블형 컴퓨팅 디바이스(114)에 의해서도 수신되고 처리되도록, 남아 있는 컴퓨팅 디바이스들(110)(즉, 선택되지 않은 컴퓨팅 디바이스들(114))은 무작위(promiscuous) 통신 모드로 구성된다. 이러한 방식으로, 일대다 데이터 송신들은 소스 컴퓨팅 디바이스(102)로부터 싱크 컴퓨팅 디바이스(112)로의 유니캐스트 데이터 송신을 통해 달성된다.
소스 컴퓨팅 디바이스(102)와 유사하게, 컴퓨팅 디바이스들(110) 각각은 본원에 설명한 기능들을 수행할 수 있는 임의의 종류의 컴퓨팅 디바이스로 구현될 수 있다. 예컨대, 컴퓨팅 디바이스들(110) 각각은 데스트톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 디바이스(MID), 또는 다른 네트워크 인에이블형 컴퓨팅 디바이스로 구현될 수 있다.
액세스 포인트(108)는 컴퓨팅 디바이스들(102, 110) 간의 통신을 용이하게 한다. 액세스 포인트(108)는 유선 또는 무선 라우터, 스위치, 허브, 또는 컴퓨팅 디바이스들(102, 110)을 통신 가능하게 결합시킬 수 있는 다른 네트워크 통신 디바이스와 같은, 임의의 종류의 유선 또는 무선 네트워크 통신 라우팅 디바이스들로 구현될 수 있다. 일부 실시예들에서, 액세스 포인트(108)는 또한 통신 링크(124)를 통해 외부 네트워크(130)에 통신 가능하게 결합된다. 네트워크(130)는 로컬 영역 네트워크, 광역 네트워크, 공공 사용 가능한 글로벌 네트워크(예컨대, 인터넷), 또는 다른 네트워크와 같은 임의의 종류의 유선 및/또는 무선 네트워크로 구현될 수 있다. 유사하게, 통신 링크(124)는, 예컨대 임의의 수의 무선 또는 물리 연결들, 전선들, 케이블들, 및/또는 다른 상호연결 링크들 또는 경로들과 같은, 액세스 포인트(108)와 외부 네트워크(130) 간의 통신을 용이하게 할 수 있는 임의의 종류의 유선 또는 무선 통신 링크로 구현될 수 있다. 추가적으로, 네트워크(130)는 컴퓨팅 디바이스들(102, 110)과 원격 컴퓨팅 디바이스들 간의 통신을 용이하게 하기 위해 라우터들, 스위치들, 개입 컴퓨터들(intervening computers) 등과 같은 임의의 수의 추가적인 디바이스들을 포함할 수 있다.
일부 실시예들에서, 소스 컴퓨팅 디바이스(102) 및 컴퓨팅 디바이스 그룹(104)은 하나의 방 내에 위치하거나, 또는 서로 인접한다. 예컨대, 일 특정 실시예에서, 시스템(100)은 교실 내에 통합된다. 그러한 실시예들에서, 소스 컴퓨팅 디바이스(102)는 교사 또는 강사의 컴퓨팅 디바이스로 구현될 수 있으며, 컴퓨팅 디바이스(110)는 학생의 컴퓨팅 디바이스로 구현될 수 있다. 물론, 시스템(100)은 일대다 데이터 송신들이 요구되는 다른 환경들 또는 구현들에서도 사용될 수 있다.
실사용에서, 소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)에 유니캐스트 데이터 송신을 송신함으로써 파일, 비디오, 이미지, 텍스트, 및/또는 다른 데이터와 같은 데이터를 컴퓨팅 디바이스들(110) 각각에 송신하도록 구성된다. 그렇게 하기 위해, 소스 컴퓨팅 디바이스(102)는 액세스 포인트(108)에 유니캐스트 데이터 송신(120)을 송신한다. 유니캐스트 데이터 송신(120)은, 싱크 컴퓨팅 디바이스(112)로 어드레스되거나 지향되며, 싱크 컴퓨팅 디바이스(112)의 MAC(media access control) 어드레스와 같은 네트워크 어드레스를 포함한다. 유니캐스트 데이터 송신(120)을 수신하는 것에 응답하여, 액세스 포인트(108)는 유니캐스트 데이터 송신(122)을 싱크 컴퓨팅 디바이스(112)에 중계하거나 송신한다. 유니캐스트 데이터 송신(122)은 싱크 컴퓨팅 디바이스(112)의 네트워크 어드레스도 포함한다. 그러나, 유니캐스트 데이터 송신(122)이 싱크 컴퓨팅 디바이스(122)로 어드레스됨에도 불구하고, 송신(122)은 다른 컴퓨팅 디바이스들(114) 각각에 의해서도 수신된다. 전형적인 네트워크에서, 송신(122)이 특정 컴퓨팅 디바이스(114)로 어드레스되지 않기 때문에, 컴퓨팅 디바이스들(114)(즉, 컴퓨팅 디바이스들(114)의 통신 회로)은 유니캐스트 데이터 송신(122)을 무시하도록 구성된다. 그러나, 다른 컴퓨팅 디바이스들(114)이 무작위 통신 모드로 구성되기 때문에, 컴퓨팅 디바이스들(114)도 유니캐스트 데이터 송신을 수신하며, 유니캐스트 데이터 송신은 아래에서 더 상세히 논의되는 것과 같이 컴퓨팅 디바이스들(114)에 의해 필터링되고 처리된다.
이제 도 2를 참조하면, 일 실시예에서, 컴퓨팅 디바이스들(102, 110) 각각은 프로세서(200), 칩셋(204), 및 메모리(202)를 포함한다. 컴퓨팅 디바이스들(102, 110)은 본원에 설명된 각각의 기능들을 수행할 수 있는 임의의 종류의 컴퓨팅 디바이스들로 구현될 수 있다. 예컨대, 위에서 논의된 것와 같이, 컴퓨팅 디바이스들(102, 110)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 모바일 인터넷 디바이스(MID), 또는 다른 네트워크 인에이블형 컴퓨팅 디바이스로 구현될 수 있다.
프로세서(200)는 프로세서 코어(206)를 갖는 싱글 코어 프로세서로 예시적으로 구현된다. 그러나, 다른 실시예들에서, 프로세서(200)는 복수의 프로세서 코어들(206)을 갖는 멀티 코어 프로세서로 구현될 수 있다. 추가적으로, 컴퓨팅 디바이스들(102, 110)은 하나 이상의 프로세서 코어들(206)을 갖는 추가적인 프로세서들(200)을 포함할 수 있다. 프로세서(200)는 다수의 신호 경로들(208)을 통해 칩셋(204)에 통신 가능하게 연결된다. 신호 경로들(208)은 프로세서(200)와 칩셋(204) 간 통신을 용이하게 할 수 있는 임의의 종류의 신호 경로들로 구현될 수 있다. 예컨대, 신호 경로들(208)은 임의의 수의 버스 경로들, 인쇄 회로 기판 트레이스들(printed circuit board traces), 전선들, 비아들(vias), 개입 디바이스들, 및/또는 다른 상호연결들로 구현될 수 있다.
메모리(202)는, 예컨대 동적 랜덤 액세스 메모리 디바이스(DRAM), 동기식 동적 랜덤 액세스 메모리 디바이스(SDRAM), 더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리 디바이스(DDR SDRAM), 및/또는 다른 휘발성 메모리 디바이스들을 포함하는 하나 이상의 메모리 디바이스들 또는 데이터 저장 위치들로 구현될 수 있다. 추가적으로, 도 2에는 단 하나의 메모리 디바이스(202)만이 예시되었으나, 다른 실시예들에서 컴퓨팅 디바이스들(102, 110)은 추가적인 메모리 디바이스들을 포함할 수 있다.
칩셋(204)은 메모리 컨트롤러 허브(MCH) 또는 노스브리지(northbridge), 입/출력 컨트롤러 허브(ICH) 또는 사우스브리지(southbridge), 및 펌웨어 디바이스를 포함할 수 있다. 그러한 실시예들에서, 펌웨어 디바이스는 BIOS(Basic Input/Output System) 데이터 및/또는 명령들 및/또는 다른 정보를 저장하기 위한 메모리 저장 디바이스로 구현될 수 있다. 칩셋(204)은 다수의 신호 경로들(210)을 통해 메모리(202)에 통신 가능하게 연결된다. 신호 경로들(208)과 유사하게, 신호 경로들(210)은 예컨대 임의의 수의 버스 경로들, 인쇄 회로 기판 트레이스들, 전선들, 비아들, 개입 디바이스들, 및/또는 다른 상호연결들과 같은, 칩셋(204)과 메모리 디바이스(202) 간의 통신을 용이하게 할 수 있는 임의의 종류의 신호 경로들로 구현될 수 있다.
다른 실시예들에서, 칩셋(204)은 플랫폼 컨트롤러 허브(PCH)로 구현될 수 있다. 그러한 실시예들에서, 메모리 컨트롤러 허브(MCH)는 프로세서(200) 내에 통합되거나, 프로세서(200)와 연관될 수 있다. 추가적으로, 그러한 실시예들에서, 메모리 디바이스(202)는 다수의 신호 경로들(212)을 통해 칩셋(204)보다는 (즉, 플랫폼 컨트롤러 허브보다는) 프로세서(200)에 통신 가능하게 결합될 수 있다. 신호 경로들(208)과 유사하게, 신호 경로들(212)은 예컨대 임의의 수의 버스 경로들, 인쇄 회로 기판 트레이스들, 전선들, 비아들, 개입 디바이스들, 및/또는 다른 상호연결들과 같은, 메모리(202)와 프로세서(200) 간의 통신을 용이하게 할 수 있는 임의의 종류의 신호 경로들로 구현될 수 있다.
컴퓨팅 디바이스들(102, 110)은 또한 네트워크(106)를 통해 서로 통신하기 위한 통신 회로(220)를 포함한다. 통신 회로(220)는 컴퓨팅 디바이스들(102, 110) 간의 통신들을 인에이블하기 위한 임의의 수의 디바이스들 및 회로로 구현될 수 있다. 예컨대, 통신 회로(220)는 액세스 포인트(108)를 통해 다른 통신 디바이스들(102, 110)과 통신하기 위한 하나 이상의 유선 또는 무선 네트워크 인터페이스 카드들(NICs) 또는 다른 네트워크 통신 카드들, 모듈들, 또는 회로들로 구현될 수 있다. 컴퓨팅 디바이스들(110)에 대해, 통신 회로(220)는, 네트워크(106)를 통해 (예컨대, 액세스 포인트(108)로부터) 수신된 각각의 데이터 송신 또는 패킷이 수신된 데이터 패킷/송신과 연관되는 네트워크 어드레스와 상관없이 필터링 또는 처리를 위해 프로세서(200)에 전달되는 무작위 통신 모드를 인에이블할 수 있는 능력을 포함한다. 예컨대, 무작위 모드 인에이블형 컴퓨팅 디바이스들(114)이 싱크 컴퓨팅 디바이스(112)의 MAC 어드레스를 포함하는 유니캐스트 데이터 송신을 수신하면, 수신된 데이터 송신이 각각의 컴퓨팅 디바이스(114)의 MAC 주소보다는 싱크 컴퓨팅 디바이스(112)의 MAC 주소를 포함할지라도, 디바이스들(114)의 통신 회로(220)는 그 데이터 송신을 프로세서(200)에 전달한다.
컴퓨팅 디바이스들(102, 110)은 또한 데이터 저장소(222), 디스플레이 디바이스(224), 및 다른 주변 디바이스들(226)과 같은 추가적인 주변 디바이스들을 포함할 수 있다. 통신 회로(220), 데이터 저장소(222), 디스플레이 디바이스(224), 및 다른 주변 디바이스들(226) 각각은 신호 경로들(230)을 통해 칩셋(204)에 통신 가능하게 연결된다. 또한, 신호 경로들(208)과 유사하게, 신호 경로들(230)은 예컨대 임의의 수의 버스 경로들, 인쇄 회로 기판 트레이스들, 전선들, 비아들, 개입 디바이스들, 및/또는 다른 상호연결들과 같은, 칩셋(204)과 통신 회로(220), 데이터 저장소(222), 디스플레이 디바이스(224), 및 다른 주변 디바이스들(226) 간의 통신을 용이하게 할 수 있는 임의의 종류의 신호 경로들로 구현될 수 있다.
데이터 저장 디바이스(들)(222)은, 예컨대 메모리 디바이스 및 회로, 메모리 카드, 하드 디스크 드라이브, 솔리드-스테이트 드라이브, 또는 다른 데이터 저장 디바이스들과 같은, 데이터의 단기간 또는 장기간 저장을 위해 구성되는 임의의 종류의 디바이스들로 구현될 수 있다. 디스플레이 디바이스(224)는, 예컨대 액정 디스플레이(LCD), 음극선관(CRT) 디스플레이, 발광 다이오드(LED) 디스플레이, 또는 다른 디스플레이 디바이스와 같은, 컴퓨팅 디바이스들(102, 110)의 사용자에게 데이터를 표시하기 위한 임의의 종류의 디스플레이 디바이스로 구현될 수 있다. 주변 디바이스들(226)은 입력 디바이스들, 출력 디바이스들, 및 다른 인터페이스 디바이스들을 포함하는 임의의 수의 추가적인 주변 디바이스들을 포함할 수 있다. 예컨대, 주변 디바이스들(226)은 컴퓨팅 디바이스(102, 110)에 입력을 공급하기 위한 키보드 및/또는 마우스를 포함할 수 있다. 주변 디바이스들(226)에 포함되는 디바이스들의 구체적인 수 및 종류는, 예컨대 컴퓨팅 디바이스(102, 110)의 의도된 사용 목적에 의존할 수 있다.
이제 도 3을 참조하면, 복수의 컴퓨팅 디바이스들에 데이터를 송신하기 위한 방법(300)이 소스 컴퓨팅 디바이스(102)에 의해 실행될 수 있다. 방법(300)은 소스 컴퓨팅 디바이스(102)에 의해 컴퓨팅 디바이스 그룹(104)이 결정되는 블록(302)으로 시작된다. 그렇게 하기 위해, 소스 컴퓨팅 디바이스(102)가 각각의 컴퓨팅 디바이스(110)의 네트워크 어드레스(예컨대, MAC 어드레스)에 대한 액세스를 가지도록, 컴퓨팅 디바이스들(110) 각각이 컴퓨팅 디바이스(102)에 등록될 수 있다. 그러한 등록은 수동으로 또는 자동으로 수행될 수 있다. 예컨대, 일부 실시예들에서, 컴퓨팅 디바이스들(110)의 네트워크 어드레스들은 소스 컴퓨팅 디바이스(102) 내에 수동적으로 입력될 수 있고 그곳에 (예컨대, 메모리(202) 및/또는 데이터 저장소(222)에) 저장될 수 있다. 대안적으로, 소스 컴퓨팅 디바이스(102)는 각각의 컴퓨팅 디바이스(110)에 그것의 네트워크 어드레스를 소스 컴퓨팅 디바이스(102)로 송신하도록 질의하거나 또는 요청할 수 있다. 어쨌든, 블록(302)에서 컴퓨팅 디바이스들(110) 각각은 소스 컴퓨팅 디바이스(102)에 등록된다.
블록(304)에서, 소스 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스들(110) 중 하나를 싱크 컴퓨팅 디바이스(112)로 선택한다. 위에서 논의된 것과 같이, 싱크 컴퓨팅 디바이스(112)는 소스 컴퓨팅 디바이스(102)가 유니캐스트 데이터 송신들을 지향시키도록 선택된 컴퓨팅 디바이스이다. 즉, 아래에서 논의되는 것과 같이, 소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)의 MAC 어드레스를 포함하는 유니캐스트 데이터 송신들을 송신한다. 그러한 유니캐스트 데이터 송신들은 컴퓨팅 디바이스들(110) 각각에 의해 수신된다.
소스 컴퓨팅 디바이스(102)는 임의의 적합한 방법 또는 알고리즘을 사용하여 컴퓨팅 디바이스들(110)로부터 싱크 컴퓨팅 디바이스(112)를 선택할 수 있다. 예컨대, 일 실시예에서, 소스 컴퓨팅 디바이스(102)는 적합한 랜덤 생성 알고리즘을 사용하여 컴퓨팅 디바이스들(110)로부터 싱크 컴퓨팅 디바이스(112)를 랜덤으로 선택할 수 있다. 대안적으로, 소스 컴퓨팅 디바이스(102)는 각각의 컴퓨팅 디바이스(110)와 연관되는 어떤 기준 또는 데이터에 기초하여 싱크 컴퓨팅 디바이스(112)를 선택할 수 있다. 예컨대, 일 실시예에서, 소스 컴퓨팅 디바이스(102)는 각각의 컴퓨팅 디바이스(110)의 RSSI(received signal strength indication) 측정, 각각의 컴퓨팅 디바이스(110)의 SNR(signal-to-noise ratio) 측정, 또는 통신 품질 등과 관련되는 일부 다른 측정에 기초하여 컴퓨팅 디바이스들(110)로부터 싱크 컴퓨팅 디바이스(112)를 선택하도록 구성된다. 그러한 실시예들에서, 컴퓨팅 디바이스들(110)은 블록(302)에서의 컴퓨팅 디바이스 그룹의 등록 동안 그러한 측정 기준들을 소스 컴퓨팅 디바이스에 송신하도록 구성될 수 있다. 대안적으로, 그러한 측정들은 각각의 컴퓨팅 디바이스(110)에 대해 수동으로 결정될 수 있다. 그러한 실시예들에서, 싱크 컴퓨팅 디바이스(112)는 그러한 측정들에 기초하여 수동으로 선택될 수 있다.
한 특정 실시예에서, 싱크 컴퓨팅 디바이스(112)에 의한 수신 에러로 인한 재송신 요청들의 발생을 증가시키기 위해, 가장 낮은 또는 최악의 RSSI, SNR 또는 다른 신호 측정을 갖는 컴퓨팅 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택된다. 데이터의 재송신의 발생을 증가시킴으로써, 각각의 컴퓨팅 디바이스(110)가 데이터 패킷들, 세그먼트들, 또는 블록들의 완전한 세트를 수신할 가능성이 증가된다는 것을 이해해야 한다.
소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)를 한 번 또는 여러 번 선택할 수 있다. 예컨대, 일부 실시예들에서, 소스 컴퓨팅 디바이스(102)는 컴퓨팅 세션마다 또는 주기적으로(예컨대, 매시간, 매일, 매주 등) 싱크 컴퓨팅 디바이스(112)를 재선택하도록 구성될 수 있다. 추가적으로, 일부 실시예들에서, 소스 컴퓨팅 디바이스(102)는 일부 기준 또는 측정에 기초하여 컴퓨팅 디바이스들(110)로부터 싱크 컴퓨팅 디바이스(112)를 재선택하도록 구성될 수 있다. 예컨대, 소스 컴퓨팅 디바이스(102)는 RSSI, SNR, 또는 다른 신호 측정이 어떤 미리 결정된 역치보다 증가할 때, 싱크 컴퓨팅 디바이스(112)로부터 수신한 재송신 요청들의 레이트가 어떤 미리 결정된 역치보다 아래로 감소할 때 등의 경우 싱크 컴퓨팅 디바이스(112)를 재선택할 수 있다. 이러한 방식으로, 소스 컴퓨팅 디바이스(102)는 가장 낮은 RSSI, SNR 또는 다른 신호 측정을 갖는 컴퓨팅 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택되는 것을 보장할 수 있다.
블록(306)에서, 소스 컴퓨팅 디바이스(102)는 선택된 싱크 컴퓨팅 디바이스(112)와 핸드셰이크(handshake)한다. 예컨대, 소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)에 그것이 싱크 컴퓨팅 디바이스(112)로 선택되었다는 것을 통지할 수 있다. 그에 응답하여, 싱크 컴퓨팅 디바이스(112)는 싱크 컴퓨팅 디바이스(112)로 선택되는 것에 기초하여 하나 이상의 구성 단계들을 수행할 수 있다. 블록(308)에서, 소스 컴퓨팅 디바이스(102)는 다른 컴퓨팅 디바이스들(114) 각각에게 무작위 통신 모드를 인에이블하도록 명령한다. 추가적으로, 블록(308)에서, 소스 컴퓨팅 디바이스(102)는 어떤 컴퓨팅 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택되었는지를 컴퓨팅 디바이스들(114)에 알릴 수 있다. 예컨대, 소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)의 MAC 어드레스를 각각의 선택되지 않은 컴퓨팅 디바이스(114)에 제공할 수 있다.
후속으로, 블록(310)에서, 소스 컴퓨팅 디바이스(102)는 원하는 데이터의 전달을 달성하기 위해 요구되는 것과 같이, 데이터를 컴퓨팅 디바이스들(110)에 송신 및/또는 재송신하기 시작한다. 그렇게 하기 위해, 소스 컴퓨팅 디바이스(102)는 싱크 컴퓨팅 디바이스(112)에 유니캐스트 데이터를 송신한다. 위에서 논의된 것과 같이, 유니캐스트 데이터 송신은 싱크 컴퓨팅 디바이스(112)의 MAC 어드레스를 포함한다. 그러나, 컴퓨팅 디바이스들(114) 각각이 무작위 통신 모드를 인에이블하였으므로, 유니캐스트 데이터 송신은 싱크 컴퓨팅 디바이스(112) 외에도 각각의 컴퓨팅 디바이스(114)에 의해 수신되고 처리된다. 이러한 방식으로, 소스 컴퓨팅 디바이스(102)는 데이터를 일대다 방식으로 컴퓨팅 디바이스 그룹(104)에 송신할 수 있다.
블록(310)에서, 소스 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스 그룹(104)에 데이터를 송신하기 위해 임의의 적합한 송신 프로토콜을 사용할 수 있다. 일 특정 실시예에서, 유니캐스트 데이터 송신은 UDP(User Datagram Protocol) 유니캐스트 데이터 송신으로 구현된다. UDP 송신들은 전형적으로 TCP(Transmission Control Protocol)와 같은 다른 송신 프로토콜들에 비해 낮은 프로토콜 오버헤드를 갖는 것을 인식해야 한다. 추가적으로, UDP를 사용하는 경우, 수신하는 컴퓨팅 디바이스들(110)의 승인(acknowledgement) 요구 사항의 부재는 네트워크(106)에 걸친 전체 트래픽 및 송신 에러들의 수를 감소시킬 수 있다. 그러나, 다른 실시예들에서, TCP를 포함하는 다른 통신 프로토콜들이 사용될 수 있다. 추가적으로, 일부 실시예들에서, 소스 컴퓨팅 디바이스(102) 및/또는 액세스 포인트(108)는 네트워크(106)에 걸친 전체 트래픽을 더 감소시키기 위해 선택된 통신 프로토콜(즉, UDP, TCP 등)의 MSS(Maximum Segment Size)와 같은 크기를 갖는 데이터 패킷들을 송신하도록 구성된다.
도 1의 실시예에서, 소스 컴퓨팅 디바이스(102)는 위에서 논의된 것과 같이 먼저 액세스 포인트(108)에 유니캐스트 데이터 송신(120)을 송신함으로써 싱크 컴퓨팅 디바이스(112)에 유니캐스트 데이터 송신들을 송신한다. 이에 응답하여, 액세스 포인트(108)는 유니캐스트 데이터 송신(122)을 싱크 컴퓨팅 디바이스(112)에 중계하거나 또는 송신하며, 이는 무작위 모드 인에이블형 컴퓨팅 디바이스들(114)에 의해서도 수신된다. 그러한 실시예들에서, 소스 컴퓨팅 디바이스(102) 및/또는 액세스 포인트(108)는 데이터 송신을 위한 암호화 알고리즘을 이용하거나 이용하지 않도록 구성될 수 있다. 예컨대, 일부 실시예들에서, 컴퓨팅 디바이스들(102, 110) 및 액세스 포인트(108)는 WEP(Wired Equivalency Privacy) 암호화 알고리즘을 이용하도록 구성된다. 그러한 실시예들에서, 공유 키 인증(shared key authentication) 또는 개방 시스템 인증(open system authentication)이 사용될 수 있다. 그러나, 다른 실시예들에서, 컴퓨팅 디바이스들(102, 110) 및 액세스 포인트(108)에 의해 암호화 알고리즘이 사용되지 않는다.
대안적으로, 다른 실시예들에서, 소스 컴퓨팅 디바이스(102)는 지향 통신 유니캐스트 데이터 송신을 액세스 포인트(108)를 우회하여 싱크 컴퓨팅 디바이스(112)에 직접 송신하도록 구성될 수 있다. 예컨대, 도 5에 도시된 것과 같이, 소스 컴퓨팅 디바이스(102)는 지향 통신 유니캐스트 데이터 송신(500)을 싱크 컴퓨팅 디바이스(112)에 직접 송신한다. 그렇게 하기 위해, 소스 컴퓨팅 디바이스(102) 및 싱크 컴퓨팅 디바이스(112)는 블록(306)의 핸드셰이킹 동안 가상 인터페이스를 구축한다. 도 1의 실시예에서와 같이, 컴퓨팅 디바이스들(114)은 무작위 통신 모드를 인에이블하며, 따라서, 지향 통신 유니캐스트 데이터 송신(500)을 수신하고 처리한다. 그러한 실시예들에서, 소스 컴퓨팅 디바이스(102) 및 컴퓨팅 디바이스들(110)은 지향 통신 데이터 송신을 위한 암호화 알고리즘을 사용하거나 사용하지 않을 수 있다. 예컨대, 지향 통신 유니캐스트 데이터 송신(500)은 WEP 암호화 알고리즘을 이용하여 암호화되거나 암호화되지 않을 수 있다.
그러나, 도 5의 실시예에서, 소스 컴퓨팅 디바이스(102) 및/또는 컴퓨팅 디바이스들(110)은 액세스 포인트(108), 및 그것을 통해 외부 네트워크(130)와 통신할 때 더 진보한 암호화 알고리즘들을 이용할 수 있다. 예컨대, 일 실시예에서, 소스 컴퓨팅 디바이스(102) 및 컴퓨팅 디바이스들(110)은, 본 기술분야에 공지된 WPA(Wi-Fi Protected Access) 또는 WPA2(Wi-Fi Protected Access 2) 암호화 알고리즘을 사용하여 암호화될 수 있는 통신 링크들(502)을 통해 액세스 포인트(108)와 통신할 수 있다. 이러한 방식으로, 소스 컴퓨팅 디바이스(102) 및 컴퓨팅 디바이스들(110)은 WPA 또는 WPA2 암호화 알고리즘을 사용하여 액세스 포인트(108)와 통신하는 것과 동시에, WEP 암호화 알고리즘을 사용하거나 암호화 알고리즘을 사용하지 않고 서로 통신할 수 있다.
이제 도 4를 참조하면, 소스 컴퓨팅 디바이스(102)로부터 데이터를 수신하기 위한 방법(400)이 각각의 컴퓨팅 디바이스(110)에 의해 실행될 수 있다. 방법(400)은, 컴퓨팅 디바이스(110)가 소스 컴퓨팅 디바이스(102)에 등록되는 블록(402)에서 시작된다. 도 3에 관해 위에서 논의된 것과 같이, 컴퓨팅 디바이스(110)는 소스 컴퓨팅 디바이스(102)가 컴퓨팅 디바이스(110)의 네트워크 어드레스에 대한 액세스를 갖도록, 소스 컴퓨팅 디바이스(102)에 수동 또는 자동으로 등록될 수 있다. 예컨대, 일 특정 실시예에서, 컴퓨팅 디바이스(110)는 소스 컴퓨팅 디바이스(102)로부터 수신한 질의 요청에 응답하여 그것의 네트워크 어드레스를 소스 컴퓨팅 디바이스(102)에 송신한다.
블록(404)에서, 컴퓨팅 디바이스(110)는 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택되었는지의 여부를 결정한다. 위에서 논의된 것과 같이, 소스 컴퓨팅 디바이스(102)는 랜덤 또는 기준 기반 선택 방법을 사용하여 싱크 컴퓨팅 디바이스(112)를 선택하고, 후속으로 그것이 싱크 컴퓨팅 디바이스(112)로 선택되었다는 것을 컴퓨팅 디바이스(110)에 통지한다. 추가적으로, 소스 컴퓨팅 디바이스(102)는 다른 디바이스들(114)에 그것들이 선택되지 않았다는 것을 통지할 수 있다. 따라서, 일부 실시예들에서, 컴퓨팅 디바이스(110)는 블록(404)에서 그것이 싱크 컴퓨팅 디바이스(112)로 선택되었거나 선택되지 않았다는 통지를 소스 컴퓨팅 디바이스로부터 수신한다.
컴퓨팅 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택되었다면, 블록(406)에서 컴퓨팅 디바이스(110)는 소스 컴퓨팅 디바이스(102)와 핸드셰이크한다. 블록(406)에서, 컴퓨팅 디바이스(110)는 하나 이상의 구성 단계들을 수행하고, 소스 컴퓨팅 디바이스(102)와 인터페이스하고, 그리고/또는 소스 컴퓨팅 디바이스(102)와의 통신 프로토콜 세부 사항들을 설정할 수 있다. 예컨대, 도 5에 예시된 실시예에서, 소스 컴퓨팅 디바이스(102) 및 컴퓨팅 디바이스(110)(즉, 싱크 컴퓨팅 디바이스(112))는 블록(406)에서 디바이스들(102, 110) 간의 가상 인터페이스를 구축한다.
후속으로, 블록(408)에서, 컴퓨팅 디바이스(110)는 소스 컴퓨팅 디바이스(102)로부터 유니캐스트 데이터 송신들을 수신하기 시작한다. 위에서 논의된 것과 같이, 유니캐스트 데이터 송신들은 컴퓨팅 디바이스(110)(즉, 싱크 컴퓨팅 디바이스(112))의 네트워크 어드레스(예컨대, MAC 어드레스)를 포함한다. 특정 실시예에 따라, 유니캐스트 데이터 송신은 액세스 포인트(108)로부터 수신될 수 있거나, 또는 소스 컴퓨팅 디바이스(102)로부터 직접 수신된 지향 통신으로 구현될 수 있다.
블록(410)에서, 컴퓨팅 디바이스(110)는 송신 에러들이 발생했는지의 여부를 결정한다. 컴퓨팅 디바이스(110)는, 각각의 데이터 패킷, 블록, 또는 세그먼트를 수신한 후; 주기적으로; 또는 미리 결정된 수의 데이터 패킷들, 블록들, 또는 세그먼트들을 수신할 때 그러한 에러들을 결정할 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(110)는 각각의 데이터 패킷 또는 블록을 수신할 때 소스 컴퓨팅 디바이스(102)에 승인을 전송하도록 구성될 수 있다. 따라서, 에러 결정은 일부 실시예들에서 컴퓨팅 디바이스(110)에 의해 수행될 수 있고, 그리고/또는 다른 실시예들에서 소스 컴퓨팅 디바이스(102)에 의해 수행될 수 있다.
블록(410)에서, 컴퓨팅 디바이스(110)가 하나 이상의 에러들이 발생했다고 결정하면, 블록(412)에서 컴퓨팅 디바이스(110)는 그 에러를 소스 컴퓨팅 디바이스(102)에 통지한다. 그렇게 하기 위해, 컴퓨팅 디바이스(110)는 블록(412)에서 데이터 패킷 또는 다른 데이터에 대한 재송신 요청을 소스 컴퓨팅 디바이스(102)에 전송할 수 있다. 대안적으로, 에러 검출이 소스 컴퓨팅 디바이스(102)에 의해 수행되는 실시예들에서, 컴퓨팅 디바이스(102)가 송신 에러가 발생했다는 것을 결정하고 실종된 또는 손상된 데이터 패킷을 재송신하도록, 컴퓨팅 디바이스(110)는 블록(412)에서 승인 송신을 전송하지 않도록 구성될 수 있다.
송신 에러가 발생하지 않았다면, 컴퓨팅 디바이스(110)는 블록(414)에서 유니캐스트 데이터 송신을 처리한다. 예컨대, 컴퓨팅 디바이스(110)는 유니캐스트 데이터 송신을 필터링하고, 유니캐스트 데이터 송신을 프로세서(200)에 전달하고, 유니캐스트 데이터 송신을 저장하고, 복수의 데이터 패킷들 또는 세그먼트들로부터 형성된 데이터 파일을 재구성하고, 데이터를 디바이스(110)의 사용자에게 표시하고, 그리고/또는 컴퓨팅 디바이스(110)의 특정 어플리케이션 및/또는 상태에 따라 유니캐스트 데이터 송신을 처리할 수 있다. 어쨌든, 방법(400)은, 컴퓨팅 디바이스(110)가 소스 컴퓨팅 디바이스(102)로부터 추가적인 유니캐스트 데이터 송신들을 수신하는 블록(408)으로 되돌아간다.
블록(404)을 다시 참조하여, 컴퓨팅 디바이스(110)가 싱크 컴퓨팅 디바이스(112)로 선택되지 않았다고 디바이스(110)에 통지되거나 또는 결정하면, 블록(420)에서 컴퓨팅 디바이스(110)(즉, 컴퓨팅 디바이스(114))는 디바이스(110)가 무작위 통신 모드를 인에이블해야 할 지의 여부를 결정한다. 위에서 논의된 것과 같이, 소스 컴퓨팅 디바이스(102)는 블록(420)에서 무작위 모드를 인에이블하기 위해 컴퓨팅 디바이스(110)에 명령들을 송신할 수 있다. 대안적으로, 무작위 통신 모드는 컴퓨팅 디바이스(110) 상에서 수동으로 인에이블될 수 있다. 어쨌든, 컴퓨팅 디바이스(110)가 무작위 모드를 인에이블하도록 지시받았다면, 블록(422)에서 컴퓨팅 디바이스(110)의 통신 회로(220)는 무작위 통신 모드로 구성된다.
블록(424)에서, 컴퓨팅 디바이스(110)는 소스 컴퓨팅 디바이스(102)로부터 싱크 컴퓨팅 디바이스(112)로 전송된 유니캐스트 데이터를 "청취"하기 시작한다. 위에서 논의된 것과 같이, 그러한 유니캐스트 데이터 송신들은 무작위 모드 인에이블형 컴퓨팅 디바이스들(114) 각각에 의해 수신된다. 전형적으로, 컴퓨팅 디바이스는 특정 컴퓨팅 디바이스로 어드레스되지 않는 데이터 패킷들 또는 세그먼트들(즉, 컴퓨팅 디바이스 내에 포함된 통신 회로의 MAC 어드레스를 갖지 않음)을 무시하거나 "폐기"할 것이다. 그러나, 컴퓨팅 디바이스(110)가 무작위 통신 모드를 인에이블했기 때문에, 컴퓨팅 디바이스(110)에 의해 수신된 모든 유니캐스트 데이터 송신은 처리를 위해 블록(426)에서 프로세서(200)로 전달된다.
후속으로, 블록(428)에서, 그러한 유니캐스트 데이터 송신 또는 거기에 포함된 데이터가 처리된다. 싱크 컴퓨팅 디바이스(112)에 관해 위에서 논의된 것과 같이, 컴퓨팅 디바이스(110)(즉, 컴퓨팅 디바이스(114))는 블록(428)에서 유니캐스트 데이터 송신을 필터링하고, 유니캐스트 데이터 송신을 프로세서(200)에 전달하고, 유니캐스트 데이터 송신을 저장하고, 복수의 데이터 패킷들 또는 세그먼트들로부터 형성된 데이터 파일을 재구성하고, 데이터를 디바이스(110)의 사용자에게 표시하고, 그리고/또는 컴퓨팅 디바이스(110)의 특정 어플리케이션 및/또는 상태에 따라 유니캐스트 데이터 송신을 처리할 수 있다. 예컨대, 일부 실시예들에서, 유니캐스트 데이터 송신을 필터링하거나 처리하기 위해, 컴퓨팅 디바이스(110)의 프로세서(200)에 의해 소프트웨어 필터들이 사용될 수 있다. 일 특정 실시예에서, 통신 패킷들/세그먼트들의 데이터 링크 층에 로우(raw) 인터페이스를제공하고, 유니캐스트 데이터 송신의 데이터 프레임들/패킷들의 저레벨 필터링을 제공하기 위해 본 기술분야에 공지된 BPF(Berkeley Packet Filter)들이 사용된다. 그러한 필터링은 프로세서(200)에 대한 처리 부하를 감소시킬 수 있다는 것을 인식해야 한다. 후속으로, 방법(400)은 컴퓨팅 디바이스(110)가 소스 컴퓨팅 디바이스(102)로부터 추가적인 유니캐스트 데이터 송신들을 계속 "청취"하는 블록(424)으로 되돌아간다.
본 발명은 도면들 및 전술한 설명에서 상세하게 예시되고 설명되었지만, 그러한 예시 및 설명은 그 특성에 있어서 제한적이지 않고 예시적으로 간주되어야 하며, 예시적인 실시예들만이 도시되었다는 것, 그리고 본 발명의 정신 내의 모든 변경들 및 변형들이 보호받는 것을 원한다는 것을 이해한다.

Claims (20)

  1. 복수의 컴퓨팅 디바이스 중 유니캐스트 데이터 송신을 송신할 제1 컴퓨팅 디바이스를 선택하는 단계 - 상기 복수의 컴퓨팅 디바이스는 선택된 제1 컴퓨팅 디바이스 및 적어도 하나의 선택되지 않은 컴퓨팅 디바이스를 포함함 -;
    각각의 선택되지 않은 컴퓨팅 디바이스에 대해 무작위(promiscuous) 통신 모드를 인에이블하는 단계;
    소스 컴퓨팅 디바이스로부터 상기 유니캐스트 데이터 송신을 송신하는 단계;
    상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스들에서 상기 유니캐스트 데이터 송신을 수신하는 단계; 및
    수신된 상기 유니캐스트 데이터 송신을 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스의 프로세서에 전달하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 컴퓨팅 디바이스를 선택하는 단계는 상기 소스 컴퓨팅 디바이스 상에서 상기 복수의 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스를 랜덤으로 선택하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 제1 컴퓨팅 디바이스를 선택하는 단계는 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스의 RSSI(Received Signal Strength Indication) 측정에 기초하여 상기 복수의 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스를 선택하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 제1 컴퓨팅 디바이스를 선택하는 단계는 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스로부터의 RSSI 측정 값들을 상기 소스 컴퓨팅 디바이스에서 수신하고, 최저 RSSI 측정에 기초하여 상기 제1 컴퓨팅 디바이스를 선택하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 무작위 통신 모드를 인에이블하는 단계는 각각의 선택되지 않은 컴퓨팅 디바이스의 통신 회로에 대해 무작위 통신 모드를 인에이블하기 위해 각각의 선택되지 않은 컴퓨팅 디바이스에 명령들을 송신하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 송신하는 단계는,
    상기 소스 컴퓨팅 디바이스로부터 액세스 포인트로 상기 유니캐스트 데이터 송신을 송신하는 단계; 및
    상기 액세스 포인트로부터 상기 제1 컴퓨팅 디바이스로 상기 유니캐스트 데이터 송신을 송신하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 송신하는 단계는 WEP(Wired Equivalency Protocol) 암호화 알고리즘을 사용하여 상기 유니캐스트 데이터 송신을 송신하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 송신하는 단계는 UDP(User Datagram Protocol) 유니캐스트 데이터 송신을 송신하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 소스 컴퓨팅 디바이스와 상기 제1 컴퓨팅 디바이스 간의 가상 인터페이스를 구축하는 단계를 더 포함하며,
    상기 유니캐스트 데이터 송신을 송신하는 단계는 지향 통신 유니캐스트 데이터 송신을 상기 소스 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스에 직접 송신하는 단계를 포함하는 방법.
  10. 제9항에 있어서,
    상기 소스 컴퓨팅 디바이스로부터 액세스 포인트에 다른 유니캐스트 데이터 송신을 송신하는 단계를 더 포함하며,
    상기 지향 통신 유니캐스트 데이터 송신은 (i) 비 암호화 알고리즘(no encryption algorithm) 또는 (ii) WEP(Wired Equivalency Protocol) 암호화 알고리즘 중 하나를 사용하며,
    상기 다른 유니캐스트 데이터 송신은 (i) WPA(Wi-Fi Protected Access) 암호화 알고리즘 또는 (ii) WPA2(Wi-Fi Protected Access 2) 암호화 알고리즘 중 하나를 사용하는 방법.
  11. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 수신하는 단계는 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스의 통신 회로에서 상기 유니캐스트 데이터 송신을 수신하는 단계를 포함하고,
    상기 수신된 유니캐스트 데이터 송신을 전달하는 단계는 상기 수신된 유니캐스트 데이터 송신을 상기 통신 회로로부터 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스의 상기 프로세서에 전달하는 단계를 포함하는 방법.
  12. 제11항에 있어서,
    상기 수신된 유니캐스트 데이터 송신을 전달하는 단계는, 상기 유니캐스트 데이터 송신에 포함되는 MAC(Media Access Control) 어드레스에 관계없이 상기 복수의 컴퓨팅 디바이스 중 상기 제1 컴퓨팅 디바이스를 제외한 각각의 컴퓨팅 디바이스 상의 상기 유니캐스트 데이터 송신을 상기 통신 회로로부터 상기 프로세서에 전달하는 단계를 포함하는 방법.
  13. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 수신하는 단계는 상기 제1 컴퓨팅 디바이스에 의해 보고된, 이전에 송신된 유니캐스트 데이터 송신의 수신 에러들에 응답하여 상기 소스 컴퓨팅 디바이스에 의해 재송신된 유니캐스트 데이터 송신을 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스에서 수신하는 단계를 포함하는 방법.
  14. 제1항에 있어서,
    상기 유니캐스트 데이터 송신을 송신하는 단계는 소스 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스에 무선 유니캐스트 데이터 송신을 송신하는 단계를 포함하는 방법.
  15. 컴퓨팅 시스템으로서,
    제1 컴퓨팅 디바이스 및 적어도 하나의 제2 컴퓨팅 디바이스를 포함하는 복수의 컴퓨팅 디바이스 - 상기 적어도 하나의 제2 컴퓨팅 디바이스는 프로세서 및 통신 회로를 가지며, 상기 통신 회로는 무작위 모드 인에이블형(promiscuous-mode-enabled)임 -; 및
    상기 제1 컴퓨팅 디바이스의 MAC(Media Access Control) 어드레스를 포함하는 유니캐스트 데이터 송신을 송신함으로써 데이터를 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스에 송신하기 위한 소스 컴퓨팅 디바이스를 포함하며,
    상기 유니캐스트 데이터 송신을 수신하는 것에 응답하여, 상기 적어도 하나의 제2 컴퓨팅 디바이스는 상기 유니캐스트 데이터 송신을 무작위 통신 회로로부터 상기 프로세서에 전달하는 컴퓨팅 시스템.
  16. 제15항에 있어서,
    상기 소스 컴퓨팅 디바이스는 상기 복수의 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스를 랜덤으로 선택하도록 구성되는 컴퓨팅 시스템.
  17. 제15항에 있어서,
    상기 소스 컴퓨팅 디바이스는 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스의 RSSI(Received Signal Strength Indication) 측정에 기초하여 상기 복수의 컴퓨팅 디바이스로부터 상기 제1 컴퓨팅 디바이스를 선택하도록 구성되는 컴퓨팅 시스템.
  18. 제15항에 있어서,
    상기 소스 컴퓨팅 디바이스는 연관되는 통신 회로가 무작위 모드를 인에이블하도록 하기 위해 상기 적어도 하나의 제2 통신 디바이스에 명령들을 송신하도록 구성되는 컴퓨팅 시스템.
  19. 제15항에 있어서,
    상기 소스 컴퓨팅 디바이스는 상기 제1 컴퓨팅 디바이스에 지향 통신 유니캐스트 데이터 송신을 직접 송신함으로써 상기 복수의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스에 데이터를 송신하도록 구성되는 컴퓨팅 시스템.
  20. 복수의 명령어를 포함하는 기계 판독 가능한 매체로서, 상기 명령어들은 실행되는 것에 응답하여 컴퓨팅 디바이스로 하여금,
    상기 컴퓨팅 디바이스가 소스 컴퓨팅 디바이스로부터 유니캐스트 데이터 송신을 수신하기 위한, 복수의 컴퓨팅 디바이스 중의 제1 컴퓨팅 디바이스로 선택되었는지의 여부를 결정하고 - 상기 유니캐스트 데이터 송신은 상기 제1 컴퓨팅 디바이스와 연관되는 MAC(Media Access Control)을 포함함 -;
    상기 컴퓨팅 디바이스가 상기 제1 컴퓨팅 디바이스로 선택되지 않았다면, 상기 컴퓨팅 디바이스의 통신 회로에서 무작위 통신 모드를 인에이블하고;
    상기 소스 컴퓨팅 디바이스로부터 상기 유니캐스트 데이터 송신을 수신하고;
    상기 유니캐스트 데이터 송신에 포함된 상기 MAC 어드레스에 관계없이 상기 유니캐스트 데이터 송신을 프로세서에 전달하도록 하는 기계 판독 가능한 매체.
KR1020127015130A 2009-12-17 2009-12-17 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템 KR101388408B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/001478 WO2011072421A1 (en) 2009-12-17 2009-12-17 Method and system for facilitating one-to-many data transmission to a plurality of computing devices

Publications (2)

Publication Number Publication Date
KR20120091359A true KR20120091359A (ko) 2012-08-17
KR101388408B1 KR101388408B1 (ko) 2014-04-22

Family

ID=44166705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015130A KR101388408B1 (ko) 2009-12-17 2009-12-17 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US20110307574A1 (ko)
EP (1) EP2491680B1 (ko)
JP (1) JP5582321B2 (ko)
KR (1) KR101388408B1 (ko)
CN (1) CN102640456B (ko)
WO (1) WO2011072421A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679132B2 (en) * 2012-04-16 2017-06-13 Hewlett Packard Enterprise Development Lp Filtering access to network content
US9740652B2 (en) * 2013-05-23 2017-08-22 Samsung Electronics Co., Ltd Apparatus and method for controlling transparent tunnel mode operation in communication system supporting wireless docking protocol
WO2015116079A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Sending a data flow
CN114531378B (zh) * 2020-10-30 2024-04-12 华为技术有限公司 通信方法、电子设备及计算机可读存储介质
CN114630285A (zh) * 2022-01-28 2022-06-14 浙江大华技术股份有限公司 一种数据传输方法、设备、系统和计算机可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3011357B2 (ja) * 1994-08-25 2000-02-21 エヌ・ティ・ティ移動通信網株式会社 移動通信における同報通信システム
JP3050363B2 (ja) * 1994-09-02 2000-06-12 エヌ・ティ・ティ移動通信網株式会社 移動通信における同報通信システム
JP3443828B2 (ja) * 2000-04-28 2003-09-08 日本電気株式会社 移動通信システムの同報通信に対する確認応答方法及び移動通信システム
JP3905701B2 (ja) * 2000-11-24 2007-04-18 株式会社エヌ・ティ・ティ・ドコモ 移動通信システムにおける情報送信制御方法及び基地局
JP3774469B2 (ja) * 2001-09-28 2006-05-17 株式会社東芝 無線通信装置及びフレーム送信方法
JP2004235890A (ja) * 2003-01-29 2004-08-19 Canon Inc 認証方法
WO2005004437A1 (en) * 2003-06-25 2005-01-13 Hotspot Wireless Devices, Inc. Systems and metods using multiprotocol communication
US20050124359A1 (en) * 2003-12-08 2005-06-09 Willins Bruce A. Multi-port interface for a switched wireless network
US7436831B2 (en) * 2003-12-29 2008-10-14 Ixia Wireless network load generator dynamic MAC hardware address manipulation
US7567523B2 (en) * 2004-01-29 2009-07-28 Microsoft Corporation System and method for network topology discovery
KR100643282B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 UPnP 네트워크 상에서 특정 기기를 식별하는 방법,식별된 특정 기기를 통하여 컨텐츠를 재생하는 방법, 및장치
US7899027B2 (en) * 2005-03-23 2011-03-01 Cisco Technology, Inc. Automatic route configuration in hierarchical wireless mesh networks
JP4627231B2 (ja) * 2005-08-16 2011-02-09 Kddi株式会社 一対多通信方法および装置
JP2007142493A (ja) * 2005-11-14 2007-06-07 Ricoh Co Ltd 画像出力システム及び撮像装置並びに画像出力装置
JP2007156766A (ja) * 2005-12-05 2007-06-21 Astem:Kk 携帯電話システム
JP4287448B2 (ja) * 2006-06-16 2009-07-01 株式会社東芝 通信装置、通信端末装置、通信システム、方法およびプログラム
DE102006042554B4 (de) * 2006-09-11 2009-04-16 Siemens Ag Verfahren und System zum kontinuierlichen Übertragen von verschlüsselten Daten eines Broadcast-Dienstes an ein mobiles Endgerät
WO2008046144A1 (en) * 2006-10-17 2008-04-24 Avega Systems Pty Ltd Media distribution in a wireless network
EP2019493A3 (en) 2007-07-10 2009-04-08 Randy King Method of selecting and broadcasting over a transmission frequency and device for the same

Also Published As

Publication number Publication date
EP2491680B1 (en) 2018-03-14
JP5582321B2 (ja) 2014-09-03
CN102640456B (zh) 2016-02-24
JP2013511932A (ja) 2013-04-04
KR101388408B1 (ko) 2014-04-22
WO2011072421A1 (en) 2011-06-23
US20110307574A1 (en) 2011-12-15
EP2491680A4 (en) 2014-09-03
EP2491680A1 (en) 2012-08-29
CN102640456A (zh) 2012-08-15

Similar Documents

Publication Publication Date Title
US9332583B2 (en) Multipoint communication device and method of performing switching from multipoint communication to point-to-point communication
KR101333908B1 (ko) 액세스 포인트 혼잡 검출 및 감소를 위한 방법 및 시스템
US9515942B2 (en) Method and system for access point congestion detection and reduction
US10652340B2 (en) Quick relay interface and transport selection
CN103326948B (zh) 一种交换处理系统和方法
KR101388408B1 (ko) 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템
JP2009049704A (ja) 無線通信装置
CN114553799A (zh) 基于可编程数据平面的组播转发方法、装置、设备及介质
US10503599B2 (en) Method and system for facilitating one-to-many data transmissions with reduced network overhead
WO2018024200A1 (zh) 虚拟桌面组播控制方法、终端、代理终端及云桌面服务器
JP2006222659A (ja) 無線通信装置、無線通信システム及び方法
ES2735800T3 (es) Procedimiento y aparato para establecer modo de transmisión de paquetes
CN106130746B (zh) 一种数据传输方法及装置
WO2022111693A1 (zh) 数据传输方法和相关设备
US20220141153A1 (en) Server communication method, broadband access server, and system
JP2006185095A (ja) サーバ選択方法およびサーバ選択方式およびサーバおよびクライアント端末
US11622090B2 (en) System and method of wireless communication using destination based queueing
US10812220B1 (en) Method and system for transmitting data over multiple paths
JP2017121026A (ja) マルチキャスト通信装置及びマルチキャスト通信方法
CN106850159B (zh) 一种组播转单播传送方法及系统
TW200830773A (en) Method and apparatus for keep-alive bits transmission
JP5775123B2 (ja) アクセス・ポイントの輻輳検出及び低減のための記憶媒体及びシステム
US20120317230A1 (en) Network apparatus, transmission destination inquiring method, and non-transitory computer readable storage medium
JP4608416B2 (ja) 制御装置および通信方法
JP2012248929A (ja) 通信装置、通信方法、および通信システム

Legal Events

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

Payment date: 20170330

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee