KR101068352B1 - 애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법 - Google Patents

애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법 Download PDF

Info

Publication number
KR101068352B1
KR101068352B1 KR1020067006661A KR20067006661A KR101068352B1 KR 101068352 B1 KR101068352 B1 KR 101068352B1 KR 1020067006661 A KR1020067006661 A KR 1020067006661A KR 20067006661 A KR20067006661 A KR 20067006661A KR 101068352 B1 KR101068352 B1 KR 101068352B1
Authority
KR
South Korea
Prior art keywords
group
wireless communication
session
server
personal communication
Prior art date
Application number
KR1020067006661A
Other languages
English (en)
Other versions
KR20070046775A (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
Priority claimed from US10/943,107 external-priority patent/US7809843B1/en
Priority claimed from US10/943,112 external-priority patent/US7239253B1/en
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20070046775A publication Critical patent/KR20070046775A/ko
Application granted granted Critical
Publication of KR101068352B1 publication Critical patent/KR101068352B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • 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
    • 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/10Push-to-Talk [PTT] or Push-On-Call services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/40Connection management for selective distribution or broadcast
    • H04W76/45Connection management for selective distribution or broadcast for Push-to-Talk [PTT] or Push-to-Talk over cellular [PoC] services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

애드혹 무선 통신 시스템 및 방법은 무선 휴대용 통신 장치의 그룹이 서로 통신하게 한다. 애드혹 네트워크는 보안 시스템을 갖는다. 애드혹 네트워크를 위한 서버는 애드혹 네트워크에 관련된 휴대용 통신 장치들 중에서 선택된다.
애드혹 네트워크, 무선 통신 시스템, 개인 통신 장치

Description

애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법{GROUP INTERCOM, DELAYED PLAYBACK, AND AD-HOC BASED COMMUNICATIONS SYSTEM AND METHOD}
우선권 주장
본 특허 출원은 35 USC 119(e) 하에 2003년 10월 6일자의 미국 가출원 제60/509,282호(명칭은 "Group Intercom, Delayed Playback, and Ad-Hoc Based Communications System and Method"임)의 우선권을 주장하고, 35 USC 119(e) 하에 2003년 9월 18일자의 미국 가출원 제60/504,169호(명칭은 "Codec System and Method"임)의 우선권을 주장하는 2004년 9월 16일자의 미국 출원 제10/943,112호(명칭은 "Codec System and Method"임)의 일부 계속 출원으로서 35 USC 120 하에서 우선권을 주장하고, 35 USC 119(e)하에 2003년 9월 18일자의 미국 가출원 제60/504,421호(명칭은 "Globally Unique Identification in Communications Protocols and Databases"임)의 우선권을 주장하는 2004년 9월 16일자의 미국 특허 출원 제10/943,107호(명칭은 "Globally Unique Identification in Communications Protocols and Databases"임)의 일부 계속 출원으로서 35 USC 120 하에서 우선권을 주장한다. 위에서 인용된 우선권 문서들 전부는 본 명세서에서 참조로서 통합된다.
본 발명의 분야
본 발명은 일반적으로, 무선 통신 시스템에 관한 것으로서, 특히, 사용자가 사운드를 재생하고 미리 정해진 우선순위화에 기초하여 개별적인 대화형 소스들로부터 자동으로 선택하는 무선 통신 시스템에 관한 것이다.
무선 통신 네트워크는 그 통신 네트워크의 효율성을 제한하는 다양한 공지의 문제들을 가질 수 있다. 이 공지의 문제들은 특히, 중앙의 고정된 서버가 존재하지 않을 수 있는 애드혹(ad-hoc) 무선 네트워크에 관련된다. 통상의 무선 통신 네트워크에서는, PTT(push-to-talk) 통신이 임의의 그룹 내에서 일어나는 것이 바람직하다. 그러나, 통상의 무선 통신 시스템에서, PTT 통신은 특정 무선 채널 상에서 일어난다. IP 환경에서, 멀티캐스팅은 로밍 클라이언트에 의해 보여질 수 있는 것과 같이 네크워크 내의 변경에 충분히 빨리 반응하지 않는다. 변경에 맞추려는 기저의 라우터 인프라구조의 제한된 능력은 올바르게 사용하기 어렵고, 오랜 지연을 수반한다. 또한, 멀티캐스팅은 대상이 될 수 있는 그룹의 개수에 있어서 제한을 갖는다.
통상의 무선 통신 시스템에서, 별도로 정의되는 두개의 그룹이 동일한 식별자, 즉, 동일한 이름을 제공받을 수 있다. 따라서, 나중에, 이 두개의 그룹이 아마도 통신 네트워크 내의 동일한 서브넷 상에서 서로 접근가능할 때, 식별자는 충돌하여 통신 혼란을 야기할 수 있다. 충돌을 방지하기 위해 각각의 그룹에 고유 식별을 제공하는 것이 바람직하다. 또한, 사용자가 몇몇의 그룹을 듣기를 원할 때, 한 그룹이 비중있게 사용될 것이고 덜 사용된 그룹의 말보다는 덜 중요할 것이라는 혼란이 있을 수 있으며, 이것은 사용자가 두 그룹 모두를 효율적으로 듣는 것을 곤란하게 한다.
통상의 무선 통신 네트워크는 또한, 보안 문제도 가지고 있다. 특히, 우연히 또는 악의로 서비스 거부 "공격"이 발생할 수 있다. 예를 들어, 고장나거나 아니면 전송 상태로 남아있는 장치는 청취자로의 서비스를 거부할 수 있는데, 이것은 안전한 네트워크에서도 일어날 수 있다. 아마도 합법적으로 네트워크 내에 있는 누군가에게 속한 장치를 컨트롤하는 누군가에 의해 그 네트워크의 보안이 침해되는 경우, 그러한 서비스 거부는 악의적으로 일어날 수 있다. 특정 그룹을 듣는 것을 거절하는 것은 그 그룹으로의 모든 전송자에 대해 들을 권한을 거부하지만, 서비스 거부 공격에 대한 대안이 없을 수 있다. 서비스 거부 공격을 방지하는 메커니즘을 제공하는 것이 바람직하다.
통상의 무선 통신 네트워크에서, 청취자가 PTT 화자를 인터럽트하여 그가 말한 것을 반복하기를 그에게 요구하는 것은 일반적으로 불가능하다. 그러나, 때때로 청취자가 화자의 말을 이해하는 것이 필요할 때 반복을 제공하는 것이 바람직하다. 청취자는 대안적으로, PTT 세션을 통상의 무선 통신 시스템으로는 가능하지 못한 임의의 종류의 양방향 대화로 빠르게 변경할 필요가 있을 수 있다. 표준의 전화 호출은 호출 알림, 일반적으로는, 벨소리를 요구하는데, 이것은 PTT에 비해 방해요인이 되고 불필요하고 시간 소모적일 수 있다. 통상의 무선 통신 네트워크에서는, 무선 LAN 상에서 사용자가 범위 밖으로 걸어나오는 경우, 또는 애드혹 802.11 네트워크 상에서 두명의 사용자가 서로의 범위 밖으로 벗어나는 경우와 같은 다양한 이벤트로 인해 임의적으로 송신기와 수신기 간의 접속이 인터럽트될 수 있다.
PTT에 있어서, 유사한 구조를 갖는 조직은 PTT 통신에 대해 유사하게 구성되는 것이 바람직하다. 또한, 그러한 구성들은 그러한 구성의 사용자들 중 몇몇 또는 전부에 대해 결합되는 것이 바람직하다. 또한, 그룹들 간의 통신의 암호화도 바람직하거나 요구될 수 있다. 또한, 서브넷 상에서의 멤버들의 존재(그들이 말하였는지의 여부에 관계없이)는 자동이 아닐 수 있다. 사용자는 얼마 전에 전송했을 수 있지만, 더 이상 서브넷 상에 존재하지 않을 수 있다. 이것은 불필요하게 그에게 연락하려는 시도를 유도할 수 있다.
따라서, 통상의 무선 통신 시스템이 갖는 이러한 문제를 극복하는 애드혹 무선 통신 네트워크를 제공하는 것이 바람직하며, 이것이 본 발명의 목적이다.
<발명의 요약>
애드혹 네트워크(ad hoc network)가 제공된다. 애드혹 네트워크는 그룹 내에서 호출이 일어나게 하는 그룹들을 포함한다. 애드혹 네트워크를 달성하기 위해, 그룹에 대해 전역적 고유 식별자(globally unique identifier)가 사용된다. 각각의 그룹은 그것이 생성될 때 그것에 대한 16바이트(128비트)의 새로운 난수를 갖는다. 그룹 전송이 행해지면, 그것은 로컬 서브넷 상에서 브로드캐스트되고, 전송내용에 관련된 컨트롤 패킷은 그룹 식별자를 포함한다. 이 패킷은 사운드 패킷에 산재되어 주기적으로 송신된다. 이러한 방식으로, 언제 수신자가 패킷을 수신하거나 재수신하기 시작하는지에 상관없이, 목적지 그룹이 빨리 식별된다.
새로 생성된 식별자 및 인간 판독가능한 그룹 이름을 갖는 구성 파일이 사용자를 위해 생성되고, 이 구성 파일은 그룹 내의 사용자들의 머신들에 배포된다. 구성 파일은 유사한 조직에 대한 탬플릿으로서 사용될 수 있는데, 여기서, 조직은 동일한 인간 판독가능한 이름을 사용할 수 있지만, 서로 다른 식별자를 가질 수 있다. 임의의 그룹을 위해 새로운 식별자를 생성함으로써, 이 방법은 두개의 그룹이 섞여있을 때에도 식별자가 충돌하지 않을 것을 보장한다. 또한, 전역적 고유 식별자는 섞일 수 있는 임의의 개수의 그룹들로 스케일링된다.
구성 파일은 그룹들 간의 우선순위 정보를 포함하여, 그룹 전송이 우선순위에 기초하여 인터럽트될 수 있게 한다. 예를 들어, "플래툰 1 리더"라고 불리는 그룹은 그룹 "플래툰 1"보다 높은 우선순위를 가질 수 있다. 이 우선순위로 인해, 두 그룹 모두를 듣고 있는 사람은 우선적으로 리더 그룹 상에서 전송되는 것을 들을 수 있다. 사용자는 이행적 폐쇄(transitive closure)가 계산되는 경우 모든 관계를 입력할 필요는 없다. 즉, 그룹 A가 그룹 B보다 높은 우선순위를 부여받고, 그룹 B가 그룹 C보다 높은 우선순위를 부여받으면, 그룹 A는 암시적으로 그룹 C보다 높은 우선순위를 가지며 사용자에 의해 입력될 필요가 없다.
서비스 거부 공격이 발생하면, 무선 통신 휴대용 컴퓨팅 장치 사용자는 해당 소스를 듣는 것을 거절할 기회를 갖는다. 시스템은 사용자가 제한된 시간동안 또는 영구적으로 소스를 듣기를 거절하는 것을 허용한다. 이 능력은 사용자에게 통신기를 무기로 사용하는 것을 거부할 능력을 허용하여, 근처의 사용자들 간의 통신을 방지한다.
본 발명에 따른 시스템의 사용자들은 임의의 그룹에 대하여 최근의 사운드를 재생하는 능력을 제공받는다. 이에 의해, 사용자는 송신자에게 반복을 요청할 필요없이 전송내용을 재생할 수 있게 된다. 사용자가 청취하고 있는 그룹이 2개이고, 또한 정상적으로는 사용자가 들었을 전송내용이 동시에 수신되고 있는 경우, 그 사용자는 인터럽트되었거나 자신이 듣고 있지 않았던 그룹에 대한 사운드를 재생할 수 있다.
그룹으로서, 한 사람에게의 PTT(push-to-talk)가 지원된다. 이것이 행해질 때, 수신기는 대화를 표준의 양방향 호출로 돌릴 수 있다. 이것은 실제로, 호출자가 원하는 경우, 수신기에서 벨소리를 일으키지 않고서 자기 자신의 목소리로 자신의 호출을 알리게 한다. 이로 인해, 불쾌한 사운드뿐만 아니라 상당한 시간을 절약할 수 있다.
목적지 그룹의 식별자를 포함하는 컨트롤 패킷은 약 1/2초마다 한번씩 주기적으로, 사운드 패킷들의 시퀀스로 송출된다. 이에 의해, 호출을 수용하여 우선순위화하는 데에 필요한 모든 정보가, 접속의 곤란성을 가진 새로 온 사람 또는 수신자에 의해 신속하게 수신될 수 있다.
두개의 유사한 조직은 유사한 구성을 필요로할 수 있다. 이것을 효율적으로 성취하기 위해, 제1 조직을 위해 생성된 구성 파일은 제2 조직을 위해 파일을 생성하는 데 사용될 수 있다. 모든 그룹을 포함한 그룹들에 대한 식별자들은 인간 판독가능한 이름을 변경하지 않고서 재생성될 수 있다. 이로 인해, 구성은 다른 그룹에 대한 템플릿으로서 사용될 수 있다. 식별자들 중 몇몇 또는 전부가 변경되어, 사용자들이 특정 그룹을 그들 사이의 공통인 것으로 유지하게 할 수 있다.
구성 파일은 결합 또는 합체될 수 있으며, 이것은 어떤 사람이 결합된 구성 파일로서 양 구성 둘 다에 존재하게 한다. 이것은 또한, 그룹들에 대한 랜덤 식별자 때문에 가능하다.
통신의 암호화는 각각의 그룹에 대한 기밀의 128비트 암호화 키의 생성에 의해 지원된다. 그룹을 듣는 것은 암호화 키를 알고 있을 것을 요구한다. 암호화 키는 전송되지 않는다.
SymPhone을 실행하고 있는 서브넷 상의 모든 머신을 위한 프록시 로케이션 서버로서, 한 클라이언트 머신이 선출된다. 이러한 프록시 로케이션 서버는, 한 클라이언트가 표준 서버를 찾는 데에 실패한 후에, 자기 자신을 서버로 지명할 수 있게 하는 선출 스킴에 의해 결정된다. 표준 서버는 클라이언트가 아니라 명확하게 서버인 것이다. 다른 클라이언트가 자기 자신을 지명하거나 또는 동일 서브넷 상의 프록시인 것으로 밝혀지면, 최상위의 클라이언트 프로세스 식별자를 갖는 클라이언트가 다른 서버에 지향된 정보를 송신한다. 그 통신을 수신하는 측의 다른 서버는, 보다 더 상위의 id를 갖는 서버에 대하여 클라이언트로 된다. 이후에 제1 서버에 보고하려고 시도하는 클라이언트는 제2 서버로 지향된다. 로케이션 서버에 알려진 SymPhone을 실행하고 있는 클라이언트 머신은 다른 클라이언트들에 보고된다. 현재 시스템 상에 있는 클라이언트들은 각 클라이언트 머신의 사용자에게 존재 사용자로서 보고된다. 서브넷은 일시적으로 구획화될 수 있으므로, 애드혹 서버는 브로드캐스트에 의해 주기적으로 다른 서버들을 찾으려 할 것이다. 클라이언트가 2개 이상의 애드혹 서버를 찾으면, 그 클라이언트는 그 서버들 모두를 정보의 소스로서 사용하겠지만, 보다 더 낮은 우선순위의 서버들에게 보다 더 높은 우선순 위의 서버의 존재를 보고할 것이다.
도 1a 및 1b는 무선 VoIP 통신 시스템을 도시하는 블럭도.
도 2a는 도 1에 도시된 무선 VoIP 통신 시스템을 이용하여 통신하는 개인 통신 장치의 블럭도.
도 2b는 도 2a의 개인 통신 장치에 관련된 사용자 인터페이스의 일례를 도시하는 도면.
도 3은 본 발명에 따른 애드혹 무선 네트워크를 도시하는 도면.
도 4는 도 3에 도시된 애드혹 무선 네트워크에 대한 서버 결정 방법을 도시하는 도면.
도 5a는 휴대용 컴퓨팅 장치 상의 그룹에 대한 사용자 인터페이스의 일례를 도시하는 도면,
도 5b1 내지 5b3은 본 발명에 따른 그룹 구성 파일의 예를 도시.
도 6은 본 발명에 따른 그룹 우위의 일례를 도시.
도 7은 본 발명에 따른 그룹에 대한 우위를 결정하기 위한 본 발명에 따른 방법을 도시하는 순서도.
도 8a 내지 8b는 본 발명에 따른 그룹 인터콤 사용자 인터페이스의 예.
도 9는 벨소리없는 호출 알림에 대한 방법을 도시하는 순서도.
도 10은 본 발명에 따른 서비스 거부 공격에 대한 보안을 도시하는 블럭도.
도 11은 본 발명에 따른 문제 에스컬레이트 방법을 도시하는 순서도.
도 12는 본 발명에 따른 사용자 배제에 대한 일례를 도시하는 순서도.
본 발명은 특히, PDA 또는 PocketPC와 같은 휴대용 컴퓨팅 장치를 사용하는 IP 통신 시스템을 통한 무선 음성에 적용가능하며, 이러한 문맥에서 본 발명을 설명할 것이다. 그러나, 본 발명에 따른 시스템 및 방법은 유선 통신 시스템, 및 유선 또는 무선 통신 시스템을 구현하는 다른 장치/소프트웨어와 함께 사용될 수 있기 때문에, 더 유용하다.
도 1a 및 1b는 무선 VoIP 통신 시스템(wireless voice over IP communications system)을 도시하는 블럭도이다. 특히, 도 1a는 본 발명에 따라 IP(VoIP) 전화통신을 통해 유선과 무선 음성 둘 다를 지원하는 본 발명에 따른 통신 시스템(200)을 도시하는 블럭도이다. 도 1a에 도시된 바와 같이, 시스템은 하나 이상의 LAN(local area network)(280) 및 WAN(wide area network)(281)과 같은 하나 이상의 컴퓨터 네트워크를 포함할 수 있는데, 여기서, 각각의 LAN(280)은 공지의 라우터(275)를 통해 WAN(281)에 접속된다. 각각의 LAN은 하나 이상의 PCD(personal communication device)(210)에 무선으로 접속되는 하나 이상의 무선 액세스 포인트(285)에 접속된다. 바람직한 실시예에서는, 802.11 무선 액세스 포인트가 사용된다. 본 발명에 따라, PCD는 랩탑 컴퓨터, PocketPC 장치, 핸드헬드 장치, 휴대용 디지털 단말기, 및/또는 PCD 상에 VoIP 전화를 구현하는 하나 이상의 소프트웨어 어플리케이션을 실행하는 데 충분한 프로세싱 능력을 가진 임의의 다른 컴퓨팅 장치를 포함할 수 있다. PCD는, 사용자가 PCD를 이용하여 전화 호출을 하게 하는 (도 2b에 도시된 예와 같은) 사용자 인터페이스를 PCD가 제공하는 VoIP 전화통신을 제공하기 위해, 액세스 포인트(285)와 통신한다. 사용자의 음성은 디지털 형태로 변환되고, 디지털 음성 데이터를 포함하는 통신 세션을 위한 디지털 데이터와 함께 액세스 포인트(285)를 통해 (그 특정 액세스 포인트가 접속되어 있는) LAN(280)을 거쳐 라우터(275)에 송신되며, 그 후, WAN(281)에 송신된다. 도시된 바와 같이, 전화 호출을 위한 디지털 데이터는 그 후, 방화벽(282) 등을 통한 적절한 위치에, 인터넷(283)과 같은 통신/컴퓨터 네트워크(283)에, Telesym에 의해 호스트된 전화 호출 관리자(44)에, 또는 WAN(281)에 부착된 호출 관리자(44)에 라우팅된다. 호출 관리자(44)는 VoIP 전화 호출을 처리하는 데스크탑 컴퓨터 또는 서버 컴퓨터와 같은 컴퓨터 시스템에 의해 실행되는 하나 이상의 소프트웨어일 수 있다. 도 1에 도시된 바와 같이, 시스템은 WAN(281)을 통해 VoIP 시스템을 PBX(49)에 링크시키는 접속기 시스템(47)을 더 포함할 수 있다. 접속기 시스템(47)은 통상의 전화(49a) 및 셀룰러 전화(49b)가 PCD(210)에/로부터 접속되게 할 수 있다. 따라서, 시스템은 PCD(210) 사용자와 다른 PCD 사용자 사이에서, 외부 전화와 PCD 사용자 사이에서, 또는 PCD 사용자와 외부 전화 사이에서 전화 통신이 일어나게 한다.
도 1b는 유선 및 무선 IP 전화통신에 대한 일반적 시스템 아키텍처(200)를 도시한다. 복수의 개인 통신 장치(PCD)(210)로 구성된 환경은 사운드 또는 비디오를 핸들링하는 다양한 컴포넌트들을 포함한다. 각각의 PCD(210)는 보통 LAN MAC(Media Access Card)인 IP 통신 수단(225), 및 보통 IEEE 802.11, 블루투스, IR 또는 유사한 컴플라이언트 표준인 무선 통신 장치(230)와 통신하는 메모리(220)를 가진 CPU(215)를 포함한다. 통신 장치는 LAN, 인터넷 및 다른 무선 장치를 포함할 수 있다.
PCD(210)는 또한, 오디오 또는 비디오 임포팅 및 엑스포팅을 위한 I/O 포트(235), 오디오 잭(240), 및 선택적으로는 내부 스피커 및/또는 마이크로폰(245)을 더 포함하며, 이것은 모두 통신되고 CPU(215)에 의해 컨트롤된다. PCD(210)는 또한, 외부 스피커 및 마이크로폰(255)도 포함할 수 있다. 대화형 사운드 통신은 PCD(210)의 마이크로폰으로부터 다른 PCD(210)의 스피커로의 경로로 이루어지며, 그 반대로도 성립된다. 각각의 컴포넌트는 지연의 원인이 될 수 있다. 도 1a 및 도 1b에 도시된 물리적인 컴포넌트 외에, 본 명세서에 참조로서 통합된 2004년 9월 16일자의 동시 계류중인 미국 특허 출원 제10/943,112호(명칭은 "Codec System and Method임)에 더 상세하게 개시된 사운드 코덱(코더 및 디코더)과 같은 지연의 원인이 될 수 있는 소프트웨어 컴포넌트가 있을 수 있다.
통상의 동작에서, PCD(210)는 이더넷 스위치 또는 허브와 같은 LAN 스위칭 네트워크(260/280), 또는 또는 유사한 유형의 네트워크 장치를 통해 접속된다. LAN(260/280)은 보통 표준 IP 독립형 라우터와 같은 IP 라우팅 장치(265), 또는 라우팅을 위해 구성된 PC 또는 유사한 장치에 접속된다. IP 라우팅 장치(265)는 인터넷, 또는 상술된 통상의 라우터와 같은 IP 라우팅 장치(275)와도 통신하는 다른 통신 네트워크와 같은 통신 스위칭 네트워크(270)와 통신한다. 도 1b에 도시된 바와 같이, PCD(210)는 유선으로 또는 RF/무선 접속을 통해 LAN(280) 또는 무선 액세스 포인트(285 및 290)에 접속될 수 있다. 이제, 개인 컴퓨팅 장치(210) 및 그것 의 사용자 인터페이스는 더 상세히 설명될 것이다.
도 2a는 도 1에 도시된 무선 VoIP 통신 시스템을 이용하여 통신하는 개인 통신 장치(210)의 블럭도이다. 도 2a에서는, PCD의 논리 구조는 도 1b에 도시된 물리적 구조와 반대로 도시되어 있다. 도 2a에 도시된 블럭은 총체적으로, 통신 시스템을 구현하는 심폰(SymPhone) 프로세스라고 불릴 수 있다. 도 2a에 도시된 구성요소 각각은 PCD에 의해 실행되고 있는 하나 이상의 소프트웨어 코드 단편(piece)으로서 구현될 수 있고 또는 이 각각은 PCD 내에 내장된 하드웨어 장치일 수 있다. 바람직한 실시예에서, 이하에 설명되는 모듈들은 객체 지향 소프트웨어 코드를 이용하여 구현될 수 있고, 객체로서 표현될 수 있다. 도시된 바와 같이, PCD는 도 2b에 도시되는 것과 같이 사용자에게 디스플레이되는 사용자 인터페이스를 컨트롤하는 그래픽 사용자 인터페이스 모듈(302)을 포함할 수 있다. PCD는 또한 세션 관리자 모듈(304), 위치 관리자 모듈(306), 사운드 관리자 모듈(308) 및 통신 관리자 모듈(310)을 포함할 수 있다. 세션 관리자 모듈(304)은 세션1 - 세션N(3121 내지 312n)과 같은 각각의 통신 세션과 통신 시스템의 전반적인 동작을 컨트롤하고, 도시된 시스템의 기타 모듈을 컨트롤한다. 통신 관리자 모듈(310)은 예를 들어, PCD의 IP 스택 드라이버(314)로부터 데이터를 수신하고/명령을 송신함으로써 IP 통신 트래픽 및 프로토콜을 컨트롤하고, IP 스택 드라이버로부터 세션 관리자로 데이터를 전달하고, 세션 관리자로부터 IP 스택 드라이버로 데이터를 전달할 수 있다. 위치 관리자 모듈(306)은 특정 PCD와 통신하는 PCD 각각의 위치를 추적할 수 있다. 사운드 관리자 모듈(308)은 PCD의 음성/오디오 데이터를 컨트롤하고 이를 생성하며, 예를 들어 오디오 데이터를 압축하고/압축을 푸는 코덱을 포함할 수 있다. 이를 위해, 사운드 관리자 모듈(308)은 사운드 객체(316)를 생성하고, 이것은 이어서 필수 사운드를 생성하는 wav 드라이버(318)로 전달된다. 도 2a의 세션 N과 같은 활성 통신 세션이 있을 때에, 세션 N은 또한 사운드 객체(316)의 생성을 컨트롤할 수 있다.
본 발명에 따라, 각 PCD는 또한 요청하자마자 전역적 고유 난수 식별자(globally unique random number identifier)를 생성하는 라이브러리 루틴/컴퓨터 프로그램(도시 생략)을 포함할 수 있고, 이것은 2004년 9월 16일에 출원되고, 발명의 명칭이 "통신 프로토콜 및 데이터베이스에서의 전역적 고유 식별(Globally Unique Identification In Communications Protocols and Databases)"인 동시 계류중인 미국 특허 출원 번호 제10/943,107호에 더 상세히 설명되어 있으며, 이것은 참조에 의해 그 전체가 본 명세서에 포함된다. 난수 생성 프로세서는 암호학적으로 안전한 난수(cryptographically strong random number)를 생성하는 것이 바람직하다. 암호학적으로 안전한 해시 함수와 같이 암호학적으로 안전한 난수 시퀀스를 생성하기 위한 많은 공지의 기술이 있다. 잘 알려진 바와 같이, 각각의 컴퓨터-기반 난수 생성기에 의해 동일한 수가 생성되지 않도록 랜덤 비트를 지니는 시드(seed)로 반드시 시작해야 한다. 임의의 비트를 지니는 시드는 각종 방식으로 생성될 수 있다. 예를 들어, 컴퓨터는 모터를 위한 구동 신호와 같이 아날로그 프로세스를 측정할 수 있고, 따라서 랜덤 확률(random probability)로 랜덤 신호가 생성된다. 또 다른 예로서, 컴퓨터 시스템은 소정의 간격에 걸쳐 광원으로부터의 광자의 개수와 같은 물리적 프로세스를 측정하여 시드 값을 생성할 수 있다. 또 다른 예로서, 컴퓨터는 두 개의 클럭, 즉 CPU의 클럭과 실시간 클럭을 비교하여, 두 개의 클럭 간의 차를 이용하여 난수 시드를 생성할 수 있다. 따라서, 랜덤 시드와 잘 공지되어 있는 난수 생성기에 기초하여, 특정 개수의 비트의 난수가 생성될 수 있다.
이후 난수는 본 발명에 따라 전역적 고유 식별 번호로 사용된다. 난수의 길이(이것은 본 발명에 따라 변할 수 있음)는 랜덤하게 생성된 두 개의 수가 얼마나 동일할 것 같은지/동일하지 않을 것 같은지를 결정한다. 본 발명에 따라, 통신 시스템은 개별적으로 새로운 통신 세션을 확립하고 새로운 통신 세션 식별 코드를 생성하는 복수의 엔티티에 걸쳐 퍼져 있으므로, 난수는 동일한 통신 세션 식별의 가능성이 낮도록 충분히 커야만 한다. 전역적 고유 난수 식별 코드의 한 가지 이점은, 통신 시스템의 각 사용자가 다른 전역적 고유 식별 코드와 오버래핑하거나/이와 상충할 걱정 없이, 자기 자신만의 전역적 고유 식별 코드를 개별적으로 생성할 수 있다는 것이다. 본 발명의 바람직한 실시예에서, 128 비트 난수가 사용된다. 128 비트를 사용하면서 전역적 고유 식별 코드가 동일할 가능성은 매우 낮다. 특히, 하루 당 40억 호출이 100년 동안 데이터베이스에 저장된다고 가정하면, (데이터베이스에서 두 개의 동일한 식별 코드의) 충돌(collision)의 확률은 지극히 희박한 가능성인 1/40억보다 작다. 통신 시스템의 사용자가 충돌(conflict) 가능성을 더 낮추고자 하는 경우, 1024 비트와 같이 더 큰 크기의 난수가 사용될 수 있다. 따라서, 사용자는 전역적 고유 난수 식별 코드의 비트의 개수를 변경함으로써 상충의 가능성을 증가시키거나 또는 감소시킬 수 있다(그리고 사용자 자신의 안심 및 염려의 레벨을 증가시키거나 또는 감소시킬 수 있음). 전역적 고유 난수 식별 코드의 비트의 변경은 통신 프로토콜에 영향을 끼치지 않으므로 통신 프로토콜의 보안 레벨은 쉽게 변경되고/수정될 수 있다.
전역적 고유 난수 식별 코드는 통상적인 식별 스킴에 있어 또 다른 이점을 지닌다. 특히, 전역적 고유 난수 식별 코드는 통신 세션에 대한 관련자들(parties)에 관한 임의의 정보를 추출하는 것을 불가능하게 하기 때문에, 상술된 바와 같이 전역적 고유 난수 식별 코드는 암호화되지 않은(unencrypted) 채로 전송될 수 있다. 또한, 전역적 고유 난수 식별 코드는 패킷 내의 그 위치에 의해서를 배제하고는 그것이 진짜 식별 코드인지를 판정하는 것조차 불가능하다.
도 2b는 도 2a의 개인 통신 장치(210)와 관련된 사용자 인터페이스의 일례를 도시하는 도면이다. 장치의 사용자 인터페이스는 디스플레이 부(320), 인터페이스 부(322)(현재는 다이얼 패드를 디스플레이하고 있음) 및 태스크 바 부(324)를 포함할 수 있다. 디스플레이 부(320)는 장치의 상태 및 모든 활성/현재 호출을 디스플레이한다. 아래에 상세히 설명되는 바와 같이, 사용자 인터페이스 부(322)를 통해 사용자는 예를 들어, 다이얼 패드가 디스플레이될 때 전화 번호 또는 DTMF 생성된 톤을 장치에 입력함으로써, 심폰 프로세스 및 PCD와 상호작용할 수 있고, 태스크 바 부(324)는 다이얼 패드 탭(326)(다이얼 패드 탭은 도 2b에서 선택되고 다이얼 패드 사용자 인터페이스는 도 2b에 도시되어 있음), 연락처 프로그램을 액세스하는 사용자 인터페이스를 제공하는 연락처 탭(328), 호출 정보를 액세스하는 호출 탭(call tab)(330), 파일/메시지를 저장하고 이를 검색하는 파일 탭(332) 및 사용자가 한 그룹의 사람들과 호출을 개시하도록 하는 인터콤 탭(intercom tab)(334)을 포함할 수 있다. 이제, 본 발명에 따라 애드혹 무선 네트워크(ad hoc wireless network)가 상세히 설명된다.
도 3은 본 발명에 따라, 복수의 개인 통신 장치(210)로 구성된 애드혹 무선 네트워크(340)를 도시하는 도면이다. 특히, 본 발명에 따라 장치1, 장치2,..., 장치 N(2101, 2102,..., 210N)과 같은 하나 이상의 개인 통신 장치가 애드혹 통신 네트워크를 확립할 수 있다. 도 1a에 도시된 통상적인 통신 네트워크에서는, 서버(44)가 시스템의 동작을 컨트롤한다. 애드혹 네트워크(340)에서는, PCD들(210) 중 하나가 서버로서 작동한다. 본 발명에 따라, 애드혹 네트워크의 서버의 아이덴티티 바로 그것은, 언제든지 PCD들 중 임의의 것이 서버가 되거나/계속 서버가 될 수 있도록 언제든지 변경된다. 예를 들어, 군대의 경우, 싸움터에 나가 있는 많은 병사들은 서로 통신하기 위해 각각 PCD를 지닐 수 있다. 이러한 군대의 경우, 사용가능한 서버가 없기 때문에 병사들이 서로 통신할 수 있도록 병사들 중 한 사람의 PCD가 서버가 되어 서버로서 작동할 것이다. 애드혹 네트워크에서 서버를 결정하기 위한 방법이 이하에 설명된다. 특정 병사가 나머지 병사들의 범위를 벗어나 이동할 경우, 다른 PCD가 서버가 된다. 서버는 애드혹 네트워크의 PCD들의 위치 정보를 유지하는 것과 같은 각종 기능을 수행하고, 애드혹 네트워크의 특정 PCD의 위치에 대한 다른 PCD들의 질의에 응답할 수 있다. 이제, 하나 이상의 이동식 통신 장치가 서버가 될 수 있는 경우 애드혹 네트워크에서 서버를 결정하기 위한 방법이 설명될 것이다.
도 4는 도 3에 도시된 애드혹 무선 네트워크에 대한 서버 결정 방법(350)을 도시하는 도면이다. 이 방법은 애드혹 네트워크가 존재하는 동안 새로운 서버를 결정하고/선택하고/뽑아야 할 필요가 있을 때 언제든지 수행될 수 있다. 이 방법을 이해하기 위해서는, 애드혹 네트워크의 각 PCD(210)가 전역적 고유 난수 식별 코드를 지니고 있다는 것을 이해할 필요가 있다. 각 PCD는 임의의 PCD가 다른 PCD와 구별될 수 있도록 하는 자기 자신만의 전역적 고유 난수 식별 코드를 지닌다. 또한, 각 통신 세션에 전역적 고유 식별자가 할당된다. 서버 결정 방법(350)은 애드혹 네트워크의 일부인 임의의 PCD에 의해 실행될 수 있지만, 군대의 병사 플래툰의 플래툰 리더와 같이 애드혹 네트워크의 지정된 리더에 의해 실행되는 것이 바람직할 수 있다. 단계(352)에서, 방법은 새로운 서버가 필요한지 여부를 판정한다. 예를 들어, 서버일 것으로 지정된 이전의 PCD가 애드혹 네트워크의 범위를 벗어난 경우, 이전에 서버였던 PCD를 분실했거나/이것이 적의 수중에 떨어진 경우, 또는 때때로 애드혹 네트워크가 보안의 이유로 주기적으로 서버 직책(responsibilities)을 재지정하는 경우, 새로운 서버가 필요할 수 있다. 새로운 서버가 필요한 경우, 단계(354)에서, 현재 서버가 될 수 있는 애드혹 네트워크의 각 PCD(예를 들어, 네트워크 범위 외부에 있는 PCD들 또는 손상된(compromised) 것으로 알려져 있는 PCD들은 이 프로세스에 포함되지 않음)의 전역적 고유 식별자가 비교된다. 단계(356)에서, 가장 높은 값의 전역적 고유 식별자를 지니는 PCD가 선택된다. 또는, 본 발명에 따라, 새로운 서버가 선택될 때마다, 현재 가장 큰 전역적 고유 식별자를 지니는 그 PCD가 항상 서버로서 선택되지 않도록 하기 위해, 이 프로세스에 관련된 각 PCD는 전역적 고유 식별자를 생성하여 이것을 비교할 수 있다. 단계(358)에서, 가장 큰 전역적 고유 식별자를 지니는 PCD는 서버의 역할을 떠맡고, 단계(360)에서 서버의 전역적 고유 식별자로서 기능하는 새로운 전역적 고유 식별자를 생성한다. 상술된 바와 같이 각각의 PCD가 프로세스의 초반에 새로운 전역적 고유 식별자를 이미 생성했다면, 단계(360)는 필요하지 않다. 본 발명에 따라, 특정 PCD가 (어떠한 이유로든) 더 이상 서버가 아닐 때, 서버는 자신의 전역적 고유 서버 식별자를 버릴 수 있다. 본 발명에 따라, 서버의 역할은 애드혹 네트워크의 컨트롤러로서 작동하는 것이다. 서버는 애드혹 네트워크에 할당된 각 PCD의 식별자, 현재 애드혹 네트워크의 범위 내에 있는 각 PCD의 식별자, 그리고 손상돼서 애드혹 네트워크에서 배제된 임의의 PCD의 식별자를 저장할 수 있다. 본 발명에 따라, 서버는 애드혹 네트워크에 대한 위치 관리자(도 2a 참조)가 될 수 있다.
본 발명에 따라, 애드혹 네트워크에 대해, 서로 통신할 수 있는 PCD 그룹을 확립하는 것이 바람직하다. 이 그룹은 또한 그룹의 멤버들 간에 인터콤 또는 PTT 통신과 같은 브로드캐스트 메시지가 발생하는 것을 허용한다. 예를 들어, 군 부대의 각 플래툰의 리더들이 자신의 그룹의 멤버들과 PTT를 통해 서로 통신할 수 있도록 각 플래툰에 플래툰만의 그룹 식별이 할당될 수 있다. 본 발명에 따라, 애드혹 네트워크는 한 특정 그룹이 다른 그룹들의 한 그룹이 될 수 있다는 점에서 계층적으로 배열될 수 있다. 예를 들어, 군대 사령관은 자신의 사령부에 할당된 모든 플 래툰을 포함하는 한 그룹을 지닐 수 있다. 본 발명에 따라, 각 그룹의 우위(precedence)가 결정될 수 있다. 예를 들어, 사령관으로부터의 브로드캐스트 메시지는 플래툰의 리더로부터의 메시지보다 높은 우위를 취할 수 있다.
도 5a는 PCD상의 한 그룹에 대한 사용자 인터페이스(370)의 일례를 도시하는 도면이다. 도시된 바와 같이, 사용자 인터페이스 부(322)는 인터콤 탭(334)이 선택되었기 때문에 그룹 목록을 디스플레이한다. 사용자 인터페이스를 이용하여 사용자는 하나 이상의 그룹 전체를 스크롤하여 한 그룹을 선택할 수 있다. 본 발명에 따라, 각 그룹의 이름은 인간 판독가능한 것이다. 각 그룹은 애드혹 네트워크의 각 PCD에 또는 애드혹 네트워크의 임의의 PCD들에 상주할 수 있는 그룹 관리자 유틸리티/컴퓨터 프로그램을 이용하여 확립된다. 도 5b1 내지 도 5b3은 본 발명에 따라 그룹 관리자 유틸리티에 의해 생성된 그룹 구성 파일(group configuration file)의 일례를 도시한다. 도 5b1은 그룹 관리자(380a) 사용자 인터페이스를 도시하고, 도 5b2는 관계 관리자(382a) 사용자 인터페이스를 도시하고, 도 5b3은 새로운 그룹을 위해 새로운 전역적 고유 식별 코드를 확립하기 위한 사용자 인터페이스(384a)를 도시한다. 본 발명에 따라, 사용자를 위해 새로이 생성된 식별자와 인간 판독가능한 그룹의 이름을 지니는 구성 파일이 생성되고, 구성 파일은 그룹 내의 사용자들의 PCD에 분배된다. 구성 파일은 인간 판독가능한 동일한 이름을 사용하지만 별도의 식별자를 지니는 유사 조직에 대한 템플릿으로도 사용될 수 있다. 임의의 그룹을 위해 새로운 전역적 고유 식별자를 생성함으로써, 본 방법은 두 개의 그룹이 뒤섞인다 할지라도 식별자가 충돌하지 않음을 보증한다. 전역적 고유 식별자가 고유하기 때문에, 임의의 개수의 그룹이 뒤섞일 수 있다. 구성 파일은 그룹 간의 우선순위(priority) 정보를 포함하고 있고, 우선순위를 기반으로 하여 그룹 전송이 인터럽트될 수 있다. 예를 들어, "플래툰 1 리더"라는 그룹은 그룹 "플래툰 1"보다 우선순위를 지닐 수 있다. 이 우선순위로 인해 두 그룹을 듣는 자는 리더 그룹에 전송되고 있는 것을 우선하여 들을 수 있다. 이행적 폐쇄가 계산되기 때문에 사용자는 모든 관계(우선순위)를 입력할 필요는 없다: 즉, 그룹 A가 그룹 B보다 높은 우선순위를 부여받고, 그룹 B가 그룹 C보다 높은 우선순위를 부여받으면, 그룹 A는 암시적으로 그룹 C보다 높은 우선순위를 가지며, 이것은 사용자에 의해 입력될 필요가 없다.
도 5b1에 도시된 바와 같이, 여러 그룹이 도시되어 있고, 사용자는 그룹 부(386a)를 사용하여, 새로운 그룹을 생성하고, 기존의 그룹을 수정하거나 그룹을 삭제할 수 있고, 그리고 사용자는 관계 부(388a)를 사용하여, 그룹 간의 관계(우선순위 관계)(이것은 도 5b2에 상세하게 도시됨)를 추가하거나 또는 이것을 삭제할 수 있다. 새로운 그룹이 생성되면, 상술된 바와 같이 전역적 고유 라이브러리를 사용하여 도 5b3에 도시된 바와 같이 새로운 전역적 고유 식별자가 그룹에 할당된다. 본 발명에 따라, 각각이 그룹이 전역적 고유 식별 코드를 지니고 있기 때문에, 임의의 그룹은 임의의 다른 그룹과 일시적으로 결합하여 일시적으로 더 큰 애드혹 네트워크를 형성할 수 있다. 예를 들어, (상이한 그룹을 갖는) 제1 플래툰과 제2 플래툰이 특별 임무를 위해 함께 작업하고자 할 때, 그룹들은 더 큰 하나의 그룹으로 같이 결합되어 브로드캐스트 메시지가 그룹 전체에 전달될 수 있다. 그룹이 분리될 때, 두 개의 그룹은 각각의 그룹이 더 작은 애드혹 네트워크를 형성하면서 자신의 원래 상태로 복구한다.
도 5b1에 도시된 바와 같이, 그룹 "monkey"는 그룹 "gator"보다 높은 우위를 갖고, 그룹 "snake"는 그룹 "swordfish"보다 높은 우위를 갖는다. 본 발명에 따라, 우위는 상이한 우선순위의 두 개의 브로드캐스트 메시지가 브로드캐스팅될 때에 어느 브로드캐스트 메시지를 들을 것인가에 영향을 끼친다. 이 우위는 또한 특정 그룹의 브로드캐스트 메시지가 특정 그룹 내의 다른 모든 통신을 언제 오버라이드할 수 있는지를 결정할 것이다. 예를 들어, "gator" 그룹이 특정 플래툰이고, "monkey"가 그 플래툰 및 많은 기타 플래툰의 지휘관이라고 가정하면, "monkey" 그룹이 메시지를 브로드캐스트할 때, 그 메시지는 "gator" 그룹 내의 브로드캐스트 메시지를 포함하는 "gator" 그룹의 다른 모든 통신을 인터럽트시킬 것이고, 모든 플래툰은 브로드캐스트 메시지를 들을 수 있을 것이다. 본 발명에 따라, 각 그룹은 하나 이상의 멤버를 포함할 수 있고, 따라서, 한 그룹은 군사 작전의 사령관과 같이 하나의 PCD일 수 있고, 한 그룹은 병사들의 플래툰과 같이 PCD들의 그룹일 수 있고, 또는 한 그룹은 특정 리더 하의 플래툰 그룹들과 같이 하나 이상의 그룹일 수 있다. 이러한 방식으로, 애드혹 네트워크의 사용자들은 임의의 방식으로 분할되고 세분될 수 있으며, 애드혹 네트워크 내에서의 메시징을 위한 우선순위 스킴이 쉽게 구현될 수 있다. 본 발명에 따라, 특정 그룹의 특정 구성은 다른 PCD들을 위한 템플릿으로서 사용될 수 있고, 예를 들어 다른 PCD들에게 분배될 수 있다.
도 6은 우위가 방향성 비순환 그래프(directed acyclic graph:DAG)(370)로 도시되어 있는, 본 발명에 따르는 그룹 우위의 일례를 도시하고 있다. 각각의 그룹(372)이 도시되어 있고, 예를 들어 그룹 A가 그룹 B1보다 높은 우위를 갖도록 우위(372)가 화살표로서 도시되어 있다. 도 6에 도시된 일례에서, 그룹 A는 그룹 B1보다 높은 우위를 가지며, 이어서 그룹 B1은 그룹 D1보다 높은 우위를 갖는다. 도 7은 본 발명에 따라, 그룹에 대한 우위를 결정하기 위한 방법(380)을 도시하는 흐름도이다. 도 6에 도시된 일례에서, 도면에 도시된 우위는 상술된 그룹 구성 도구를 사용하여 사용자에 의해 생성되었다. 따라서, 단계(382)에서, 방법은 사용자가 확립한 우선순위/우위를 검색한다. 이 방법은 애드혹 무선 네트워크를 확립하고 이를 관리하는 데에 사용되고 있는 컴퓨터 시스템 상에서 또는 특정 PCD 상에서 구현될 수 있다. 단계(384)에서, 방법은 사용자 정의 우위/우선순위에 임의의 루프가 있는지 여부를 판정한다. 예를 들어, 사용자는 부주의하게 우선순위를 할당하여, 애드혹 네트워크에서 가장 높은 우선순위를 지니는 그룹이 없고, 브로드캐스트 메시지에 대한 우선순위를 결정하는 것이 절대 가능하지 않도록 할 수 있다. 루프가 검출되는 경우, 단계(386)에서 루프는 디스에이블되고 단계(388)에서 사용자에게 통보된다. 루프는 단지 디스에이블만 될 수 있는데, 그 이유는 특정 애드혹 네트워크에 대한 우위가 변경되거나/수정될 수 있는 경우, 변경된 우선순위 스킴이 우선순위 스킴의 루프를 제거하면, 디스에이블된 우선순위가 재활성화될 수 있기 때문이다. 단계(390)에서, 방법은 모든 암시적인 우선순위를 결정하기 위해 (DAG로 표현된) 우선순위 스킴 상에서 잘 공지된 이행적 폐쇄를 수행할 수 있다. 예를 들어, 도 6에 도시된 DAG에는, 그룹 A가 그룹 D2 및 D1에 우선하고, 그룹 C가 그룹 D1에 우선한다는 점에서 암시적인 우선순위가 있다. 따라서, 이들 암시적인 우위 관계는 식별되고 시스템에 저장되어 애드혹 네트워크에 대해 완전한 우선순위 스킴이 확립된다. 이들 우선순위 스킴을 이용하여 애드혹 네트워크는 PTT 기능을 제공할 수 있는데, 그 이유는 애드혹 네트워크가 다른 브로드캐스트 메시지 또는 다른 통신에 우선하는 (특정 그룹으로부터의) 브로드캐스트 메시지를 우선순위 스킴으로부터 결정할 수 있기 때문이다. 도 8a 내지 도 8b는 본 발명에 따른 그룹 인터콤 사용자 인터페이스의 일례이다. 도시된 바와 같이, 특정 PCD에 대해 각각의 그룹 이름이 그 상태와 함께 도시되어 있다. 예를 들어, 도 8a에서 그룹은 모두 비활성이다. 도 8b에서 "monkey" 그룹과의 인터콤/브로드캐스트/PTT 통신 세션은 활성이다. 이제부터, 본 발명에 따른 호출 알림(call announcement) 방법이 설명된다.
도 9는 벨소리없이 호출을 알리기 위한 방법(400)을 도시하는 흐름도이다. 단계(402)에서, 사용자는 다른 사용자(이 사용자는 예를 들어 한 그룹의 고유한 멤버일 수도 있음)와의 PTT/인터콤/브로드캐스트 통신 세션을 확립하고 단계(404)에서 자신의 이름을 알린다. 단계(406)에서, 사용자는 상대방과의 대화를 진행하기 위해 PTT 통신 세션을 양방향 통신으로 변환할 수 있다. 이러한 방식으로, 이름으로 호출을 알릴 수 있고, 대화는 통상적인 통신 세션으로 변환될 수 있다.
본 발명에 따라 애드혹 네트워크는 바람직하게, 소정의 보안 시스템 및 방법을 가질 필요가 있다. 특히, 애드혹 네트워크에는 사용자의 보안 심사(screening) 등을 수행하기 위한 중앙 서버가 없기 때문에, 애드혹 네트워크의 각 PCD(각각의 PCD가 지정된 서버일 수 있기 때문에)가 소정의 보안 특징을 지닐 필요가 있다. 예를 들어, 군대에 적용될 때, 특정 PCD의 사용자가 생포되거나 또는 죽을 수 있고 따라서 그 PCD는 분실되거나 적의 수중에 떨어질 수 있다. 그 분실된 장치를 디스에이블하여 그 분실된 장치로 인해 애드혹 네트워크 전체가 디스에이블되는 것을 막는 것이 바람직하다. 특히, 적은 애드혹 네트워크에 접속된 그 누구도 통신할 수 없도록 계속해서 애드혹 네트워크에 전송할 수 있다(서비스 거부 공격의 한 유형). 또 다른 예에서는, 사용자가 부주의하게 자신의 PCD를 두고 가서 PCD가 계속 송신하도록 내버려둘 수 있고, 애드혹 네트워크가 이 사용자로 인해 무력하게 되지 않도록 그 전송을 무시할 수 있는 것이 바람직하다. 예를 들어, 서비스 거부 공격이 발생하는 경우, 심폰 프로세스를 실행하는 PCD의 사용자는 그 소스를 듣는 것을 거절하는 기회를 가진다. 사용자는 한정된 시간 동안 또는 영구적으로 거절할 수 있다. 이러한 능력은 사용자가, 가까운 사용자들 간의 통신을 방지하기 위해 무기로서 통신기를 사용하는 것을 거부할 수 있도록 한다. 따라서, 본 발명에 따라 애드혹 네트워크의 일부인, 본 발명에 따른 보안 시스템이 설명될 것이다.
도 10은 본 발명에 따라 서비스 거부 공격에 대비하는 보안을 도시하는 블록도이다. 하나 이상의 통신 세션(3121 - 312N)과 함께 통신 관리자 모듈(310) 및 세션 관리자 모듈(304)을 포함하여 PCD(210)의 몇몇 구성요소의 블록도가 도시되어 있다. 본 발명에 따라, 각각의 통신 세션, 각각의 심폰 프로세스 및 각각의 PCD는 세션 ID1 - 세션 IDN, SYMPROCESS ID1 - IDN 및 IP ID1 - IP IDN과 같은 자기만의 전역적 고유 식별자를 지니고, 따라서 애드혹 네트워크의 각각의 통신 세션, 심폰 프로세스 및 PCD는 항상 고유하게 식별된다. 특정 시점에서, 통신 세션 ID는 애드혹 네트워크 내에서 각각의 통신 세션을 고유하게 식별하고, 심폰 프로세스 ID는 PCD의 각각의 심폰 프로세스를 고유하게 식별한다(왜냐하면 서버 또는 워크스테이션과 같은 PCD는 임의의 때에 하나 이상의 심폰 프로세스를 지닐 수 있기 때문). 매번 PCD 상의 심폰 프로세스는 종료되고 재시작되며, 새로운 심폰 프로세스 ID가 생성되어 특정 PCD에 대한 심폰 프로세스는 변경된다. IP ID는 그것에 할당된 IP 주소에 의해 특정 PCD를 고유하게 식별한다. 선택적으로, 애드혹 네트워크는 또한 누군가가 PCD에 할당된 IP 주소를 변경하고자 시도한다 할지라도 그 PCD를 고유하게 식별하는 고정된 IP 코드를 물리적인 PCD에 할당할 수 있다. 따라서, 도시된 바와 같이, 특정 통신 세션에서의 문제점이 통신 세션 레벨에서, 심폰 프로세스 레벨 및/또는 PCD 장치 레벨에서 식별될 수 있다. 이러한 문제점은 예를 들어 적에 의한 서비스 거부 공격, 우연히 활성인 통신 세션, 또는 애드혹 네트워크 내에서 특정 통신 세션이 문제를 일으키고 있는 것으로 간주될 수 있는 임의의 기타 상황을 포함할 수 있다. 문제점은 예를 들어, 특정 통신 세션이 특정 양의 시간보다 길게 활성이지만 전달되고 있는 사운드 데이터가 없는 경우, 또는 단지 잡음으로 사운드 데이터가 전달되고 있는 경우와 같이, 각종 방식으로 식별될 수 있다. 문제점이 각종 상이한 레벨에서 식별될 수 있기 때문에, 문제 에스컬레이트(escalating)(또는 상승) 방법이 구현될 수 있다.
도 11은 본 발명에 따라 문제 에스컬레이트 방법(410)을 도시하는 흐름도이다. 단계(412)에서, 문제가 있는 통신 세션이 식별되고 이 문제 에스컬레이트 방법을 실행하는 PCD는 이 통신 세션을 무시한다. 통신 세션은 소정의 시간 동안 무시되고 그 후에 재활성화될 수 있다. 본 발명에 따라, 애드혹 네트워크의 일부인 각각의 PCD는 이 문제 에스컬레이트 방식을 구현하여 자기 자신의 보안을 보장할 수 있다. 도 12와 관련하여 이하에 설명되는 바와 같이, 모든 문제 통신 세션 등에 관해 취합된 정보는 애드혹 네트워크의 PCD들에 의해 공유되고, 애드혹 네트워크에서 사용자/PCD를 배제시키는 데에 사용될 수 있다. 단계(414)에서, 본 방법은 이 통신 세션이 소정의 임계값(또는, 임계점) 예를 들어 2 분보다 더 긴 소정의 시간 간격 동안 무시되어 왔는지 또는 이 통신이 무시되다가 소정의 횟수 예를 들어 3번 이상 복구되었는지(reinstated) 여부를 판정할 수 있다. 그렇지 않은 경우, 본 방법은 단계(414)로 다시 루핑한다. 단계(414)에서 통신 세션이 설정된 임계값을 초과한 경우, 단계(416)에서 PCD는 그 통신 세션과 관련된 심폰 프로세스 ID를 무시할 수 있다. 심폰 프로세스 ID는 소정의 시간 후에 복구될 수 있다. 단계(418)에서, 방법은 그 심폰 프로세스 ID가 소정의 임계값 예를 들어 2 분보다 더 긴 소정의 시간 간격 동안 무시되어 왔는지 또는 이 심폰 프로세스 ID가 무시되다가 소정의 횟수 예를 들어 3번 이상 복구되었는지 여부를 판정할 수 있다. 그렇지 않은 경우, 방법은 단계(418)로 다시 루핑한다. 단계(418)에서 심폰 프로세스 ID가 설정된 임계값을 초과한 경우, 단계(420)에서 심폰 프로세스 ID와 관련된 IP 주소 ID를 무시할 수 있다. 이러한 방식으로, 특정 PCD의 특정 통신 세션을 무시하는 것으로부터 특정 심폰 프로세스를 무시하는 것(특정 PCD 상의 특정 심폰 프로세스로부터의 모든 통신 세션을 무시하는 것)으로, PCD의 특정 IP 주소를 무시하는 것(심폰 프로세스에도 불구하고 PCD로부터 통신 세션 모두를 무시하는 것)으로 문제가 에스컬레이트된다. 본 방법은 추가의 에스컬레이트 단계로서 물리적 PCD ID를 또한 무시할 수 있다(PCD IP 주소가 변경됨에도 불구하고 특정 PCD로부터의 모든 통신 세션을 무시함).
도 12는 본 발명에 따라 한 사용자를 배제하는 방법(430)의 일례를 도시하는 흐름도이다. 단계(432)에서, 작동 서버와 같이, PCD는 애드혹 네트워크의 각각의 PCD로부터, 문제 통신 세션, 문제 심폰 프로세스, 문제 IP 주소 및 문제 물리적 PCD들과 같은 문제 정보들을 모을 수 있다. 단계(434)에서, PCD는 모든 그룹 목록에서 특정 사용자를 제거하는 것과 같이, 그 사용자를 애드혹 네트워크에서 배제시킬지 여부를 판정할 수 있다. 예를 들어, 애드혹 네트워크의 각각의 PCD가 특정 PCD 식별을 무시해 왔다면, 그것은 그 특정 PCD가 분실되었거나 또는 적의 수중에 떨어진 것일 수 있고, 따라서 이후로는 애드혹 네트워크의 참가에서 배제되어야만 한다. 따라서, 단계(436)에서, 사용자가 애드혹 네트워크에서 배제된다. 이러한 방식으로, 특정 통신 세션에 의해 발생한 문제로 인해 특정 PCD가 배제될 수 있고, 이렇게 함으로써 애드혹 네트워크가 단 하나의 문제 통신 세션에 의해 디스에이블되지 않는다는 것을 보장한다. 에스컬레이트 및 배제 방법을 이용하는 시스템은 부적절하게/악의적으로 이용되고 있는 PCD를 식별하여, 그 PCD를 애드혹 네트워크로부터 배제할 수 있다. 본 발명에 따르면, 특정 사용자/PCD가 애드혹 네트워크로부터 배제되고 난 후, 서버의 역할을 하는 PCD는 그룹 내의 나머지 PCD들에 대해 새로운 암호화 키를 생성한 다음, 그 배제된 PCD가 향후의 통신을 듣지 못하도록 배제하는 그 새로운 암호화 키를 이용하여 통신한다.
시스템은, PCD에 관련된 문제가 식별된 때에 해당 사용자/PCD를 배제하는 것에 더하여, 시스템은 애드혹 시스템의 사용자가 특정 PCD를 배제하는 것을 허용할 수 있다. 예를 들어, 시스템의 특정 사용자는 한 병사가 전쟁터에서 포로로 되거나 낙오된 것을 볼 수 있고, 그 결과로 해당 사용자의 PCD를 디스에이블시킬 수 있다. 다른 예를 들면, 사용자는 특정 PCD를 갖고 있는 다른 사용자에 연락할 수 있고 (그리고 1회 이상 응답을 받지 못할 수 있고), 해당 PCD가 더 이상은 애드혹 시스템의 한 부분이 아닌 것으로 추정되므로, 그 PCD를 향후의 통신으로부터 배제하기로 결정할 수 있다. 따라서, 상술한 바와 같이 PCD와 관련하여 어떠한 문제도 검출되지 않은 경우라도, 시스템은 시스템의 사용자가 (적절한 허가에 의해) 자신의 경험/지식에 기초하여 다른 사용자/PCD를 시스템으로부터 배제하는 것을 허용할 것이다.
또한, 애드혹 네트워크는 특정 사용자(및 특정 PCD)가 특정 통신 세션(들)을 위한 사운드 데이터를 PCD의 메모리 내에 저장하고, 그 통신 세션을 다시 또는 나중에 재생하는 것을 허용한다. 본 발명에 따르면, 사용자는 특정 PCD나 사용자, 또는 임의의 그룹으로부터의 통신 세션을 저장한 후 재생하기로 선택할 수 있다. 더 상세하게는, 사용자들은 임의의 그룹에 대하여 최근의 사운드를 재생하는 능력을 제공받는다. 이에 의해, 사용자는 송신자에게 반복을 요청할 필요없이 전송내용을 재생할 수 있게 된다. 사용자가 청취하고 있는 그룹이 2개이고, 또한 정상적으로는 사용자가 들었을 전송내용이 동시에 수신되고 있는 경우, 그 사용자는 인터 럽트되었거나 자신이 듣고 있지 않았던 그룹에 대한 사운드를 재생할 수 있다.
또한, 애드혹 네트워크 시스템은 애드혹 네트워크 내의 다른 모든 그룹들에 대하여 우위(precedence)를 갖는 긴급 그룹에 의해 구현될 수 있는 긴급 채널/그룹을 더 포함할 수 있으며, 그에 따라 누구든 그 긴급 그룹을 통하여 전송하면, 애드혹 네트워크 내의 모든 PCD가 그 전송내용을 듣게 될 것이다. 긴급 채널/그룹은 각각의 그룹 구성/그룹 템플릿 내에 존재하여, 새롭게 생성된 모든 그룹이 그 그룹 내에 구축된 긴급 브로드캐스트 그룹/채널을 갖게 할 수 있다. 다르게는, 플래툰 그룹과 같은 특정 유형의 각 그룹이 동일한 긴급 그룹 ID를 가져서, 그러한 그룹들이 결합된 때에, 그 결합된 그룹이 공유 긴급 채널을 가지게 할 수 있다.
본 발명에 따르면, 애드혹 네트워크 내의 각각의 PCD는 애드혹 네트워크의 다른 사용자들의 현재 위치를 디스플레이하는 능력을 포함할 수 있다. 본 발명에 따르면, 각각의 PCD는 1) 애드혹 네트워크 내의 다른 PCD들과 최근에 통신한 PCD들의 리스트(애드혹 네트워크의 범위 내에 있는 PCD들이 식별됨), 2) 애드혹 네트워크의 범위 내에 있는 PCD들의 리스트, 및/또는 3) 최근에 통신한 PCD들과 애드혹 네트워크의 범위 내에 있는 PCD들 모두의 리스트(이 리스트가 앞의 2개의 리스트보다 더 클 수 있음)를 디스플레이할 수 있다. 따라서, 시스템은 이와 같이 특정 애드혹 네트워크에 관련된 PCD들의 다양한 리스트를 제공할 것이다.
요약하면, 상기 방법들을 달성하기 위하여, 무선 통신 네트워크는 그룹들에 대하여 전역적 고유 식별자를 사용한다. 따라서, 각 그룹은, 한 그룹이 생성될 때에 그 그룹을 위해 발생된 어떤 미리 정해진 길이[예를 들어, 바람직한 실시예에서 16 바이트(128 비트)]의 새로운 난수를 갖는다. 그룹 전송이 이루어질 때, 그것은 로컬 서브넷 상에서 브로드캐스트되고, 그 전송에 관련된 컨트롤 패킷은 그룹 식별자를 포함한다. 이들은 사운드 패킷들에 산재되어 주기적으로 송출된다. 이러한 방식으로, 목적지 그룹은 수신자가 그 패킷들을 언제 수신 또는 재수신하는지에 상관없이 신속하게 식별된다. 목적지 그룹의 식별자를 포함하는 컨트롤 패킷은 약 1/2초마다 한번씩 주기적으로, 사운드 패킷들의 시퀀스로 송출된다. 이에 의해, 호출을 수용하여 우선순위화하는 데에 필요한 모든 정보가, 접속의 곤란성을 가진 새로 온 사람 또는 수신자에 의해 신속하게 수신될 수 있게 된다.
또한, 2개의 유사한 조직이 유사한 구성을 필요로 할 수 있다. 이것을 효율적으로 달성하기 위하여, 제1 조직을 위해 생성된 구성 파일이 제2 조직을 위한 파일을 생성하는 데에 사용될 수 있다. 그룹들 전부를 포함하여, 그룹을 위한 식별자들은 인간 판독가능한 명칭을 변경하지 않고서 재생성될 수 있다. 이에 의해, 구성들은 다른 그룹을 위한 탬플릿으로서 사용될 수 있다. 사용자들이 그들 간에 소정의 그룹들을 공통으로 유지할 수 있게 하기 위해, 식별자들 중 일부 또는 전부가 변경될 수 있다.
상술한 바와 같이, SymPhone을 실행하고 있는 서브넷 상의 모든 머신을 위한 프록시 로케이션 서버로서, 한 클라이언트 머신이 선출된다. 이러한 프록시 로케이션 서버는, 한 클라이언트가 표준 서버를 찾는 데에 실패한 후에, 자기 자신을 서버로 지명할 수 있게 하는 선출 스킴에 의해 결정된다. 표준 서버는 클라이언트가 아니라 명확하게 서버인 것이다. 다른 클라이언트가 자기 자신을 지명하거나 또는 동일 서브넷 상의 프록시인 것으로 밝혀지면, 최상위의 클라이언트 프로세스 식별자를 갖는 클라이언트가 다른 서버에 지향된 정보를 송신한다. 그 통신을 수신하는 측의 다른 서버는, 보다 더 상위의 id를 갖는 서버에 대하여 클라이언트로 된다. 이후에 제1 서버에 보고하려고 시도하는 클라이언트는 제2 서버로 지향된다. 로케이션 서버에 알려진 SymPhone을 실행하고 있는 클라이언트 머신은 다른 클라이언트들에 보고된다. 현재 시스템 상에 있는 클라이언트들은 각 클라이언트 머신의 사용자에게 현재 사용자로서 보고된다. 서브넷은 일시적으로 구획화될 수 있으므로, 애드혹 서버는 브로드캐스트에 의해 주기적으로 다른 서버들을 찾으려 할 것이다. 클라이언트가 2개 이상의 애드혹 서버를 찾으면, 그 클라이언트는 그 서버들 모두를 정보의 소스로서 사용하겠지만, 보다 더 낮은 우선순위의 서버들에게 보다 더 높은 우선순위의 서버의 존재를 보고할 것이다.
상기에서는 본 발명의 특정 실시예들을 참고하여 설명되었지만, 본 기술 분야의 숙련된 기술자라면, 이러한 실시예들이 본 발명의 원리 및 취지와 이하에 첨부된 특허청구범위에 정의된 것을 벗어나지 않고서도 변경될 수 있음을 알 것이다.

Claims (40)

  1. 애드혹 무선 통신 시스템(ad hoc wireless communication system)으로서,
    애드혹 무선 통신 네트워크를 형성하는 하나 이상의 개인 통신 장치를 포함하고,
    상기 개인 통신 장치들 각각은,
    프로세서, 및
    복수의 모듈 - 상기 복수의 모듈 각각은 상기 애드혹 무선 통신 네트워크를 구현하기 위해 상기 프로세서에 의해 실행되는 컴퓨터 명령어들을 구비함 - 을 포함하고,
    상기 복수의 모듈은,
    사용자 인터페이스를 생성하는 그래픽 사용자 인터페이스 모듈,
    상기 개인 통신 장치를 위한 전역적 고유 식별자 번호(globally unique identifier number)를 생성하는 라이브러리,
    다른 개인 통신 장치로부터의 서비스 거부 공격에 대응하기 위한 보안 모듈 및 상기 개인 통신 장치의 전체 기능들을 제어하는 세션 관리자,
    상기 세션 관리자에 의해 제어되며 상기 개인 통신 장치와 통신하는 각각의 다른 개인 통신 장치의 위치를 추적하는 위치 관리자,
    상기 세션 관리자에 의해 제어되며 상기 개인 통신 장치와 연관된 오디오/사운드 데이터를 생성하고 사운드 코덱을 포함하는 사운드 관리자, 및
    상기 세션 관리자에 의해 제어되며, 사용되는 IP 트래픽 및 프로토콜을 제어하는 통신 관리자를 더 포함하고,
    상기 하나 이상의 개인 통신 장치 중, 최대의 전역적 고유 식별자 번호를 갖는 개인 통신 장치가, 상기 애드혹 무선 통신 네트워크를 위한 서버로서 선택되는 애드혹 무선 통신 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 모듈은 각각의 개인 통신 장치가 상기 라이브러리에 의해 생성된 그룹 전역적 고유 식별자 번호를 갖는 하나 이상의 다른 개인 통신 장치들의 적어도 하나의 그룹을 생성할 수 있게 하는 그룹 관리자를 더 포함하고, 메시지는 특정 그룹의 일부인 하나 이상의 개인 통신 장치에 브로드캐스트될 수 있는 애드혹 무선 통신 시스템.
  4. 제3항에 있어서,
    상기 그룹 관리자는 계층적으로 구성된 그룹들의 세트(hierarchically arranged set of groups)를 생성하고, 어느 그룹 브로드캐스트 메시지가 다른 그룹 브로드캐스트 메시지에 대하여 우위를 갖는지를 결정하기 위하여 각각의 그룹은 다른 그룹에 대한 상대적인 우선순위를 갖는, 애드혹 무선 통신 시스템.
  5. 삭제
  6. 애드혹 무선 통신 네트워크를 형성하는 하나 이상의 개인 통신 장치 간의 애드혹 무선 통신을 위한 방법으로서,
    각각 프로세서 및 복수의 모듈을 포함하는 적어도 2개의 개인 통신 장치를 제공하는 단계 -상기 복수의 모듈 각각은 상기 애드혹 무선 통신 네트워크를 구현하기 위해 상기 프로세서에 의해 실행되는 컴퓨터 명령어를 갖고, 상기 복수의 모듈은 사용자 인터페이스를 생성하는 그래픽 사용자 인터페이스 모듈을 더 포함함-,
    각각의 개인 통신 장치를 위한 전역적 고유 식별자 번호를 생성하는 단계,
    상기 애드혹 무선 통신 네트워크를 위한 서버의 역할을 할 개인 통신 장치를 선택하는 단계 - 최대의 전역적 고유 식별자 번호를 갖는 상기 개인 통신 장치가 상기 서버로서 선택됨 -,
    상기 애드혹 무선 통신 네트워크를 위하여 서비스 거부 공격에 대한 보안을 제공하는 단계 - 상기 보안을 제공하는 단계는, 특정 개인 통신 장치에 관련된 특정 통신 세션의 문제를 식별하는 단계를 더 포함함 -,
    상기 특정 통신 세션을 상기 무선 통신 네트워크로부터 배제하는 단계,
    상기 특정 통신 세션에 관련된 문제가 미리 정해진 임계점(threshold)을 초과했는지를 판정하는 단계, 및
    상기 특정 통신 세션에 관련된 문제가 미리 정해진 임계점을 초과한 경우, 상기 특정 통신 세션의 배제의 레벨(level of exclusion)을 상승(escalating)시키는 단계
    를 포함하는 애드혹 무선 통신 방법.
  7. 제6항에 있어서,
    각각의 개인 통신 장치에서, 라이브러리에 의해 생성된 그룹 전역적 고유 식별자 번호를 갖는 하나 이상의 다른 개인 통신 장치의 그룹을 생성하는 단계, 및
    상기 하나 이상의 다른 개인 통신 장치의 그룹에 메시지를 브로드캐스트하는 단계
    를 더 포함하는 애드혹 무선 통신 방법.
  8. 제7항에 있어서,
    하나 이상의 개인 통신 장치의 적어도 2개의 그룹을 생성하는 단계; 및
    어느 그룹 브로드캐스트 메시지가 다른 그룹 브로드캐스트 메시지에 대하여 우위를 갖는지를 결정하기 위하여 상기 적어도 2개의 그룹 간의 우선순위를 정하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  9. 제8항에 있어서,
    상기 우위를 정하는 단계는,
    상기 장치들의 그룹의 사용자 정의된 우위 관계를 검색하는 단계 -상기 사용자 정의된 우위 관계는 제1 그룹의 통신 세션이 제2 그룹의 통신 세션보다 높은 우선순위를 갖고, 상기 제2 그룹의 통신 세션이 제3 그룹의 통신 세션보다 높은 우선순위를 갖는 것으로 정함-, 및
    상기 장치들의 그룹의 암시적 우위 관계를 자동으로 결정하는 단계 -상기 암시적 우위 관계는, 상기 제2 그룹의 통신 세션에 대한 상기 제1 그룹의 통신 세션의 이전의 우선순위, 및 상기 제3 그룹의 통신 세션에 대한 상기 제2 그룹의 통신 세션의 이전의 우선순위에 기초하여, 상기 제1 그룹의 통신 세션이 상기 제3 그룹의 통신 세션보다 높은 우선순위를 갖는 것으로 정함-
    를 더 포함하는 애드혹 무선 통신 방법.
  10. 제9항에 있어서,
    상기 결정하는 단계는, 상기 암시적 우위 관계를 결정하기 위하여 이행적 폐쇄 프로세스(transitive closure process)를 이용하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  11. 제9항에 있어서,
    상기 사용자 정의된 우위 관계를 검색하는 단계는,
    상기 사용자 정의된 우위 내에서 우위 루프(precedence loop)를 식별하는 단계 -상기 우위 루프는 다른 그룹에 대한 한 그룹의 우위가 상기 사용자 정의된 우위에 의해 명확하게 정의되지 않을 때 발생함-, 및
    상기 우위 루프를 형성하는 우위 관계들을 디스에이블시키는 단계
    를 더 포함하는 애드혹 무선 통신 방법.
  12. 제11항에 있어서,
    상기 검색하는 단계는, 나중에 상기 우위 루프가 상기 사용자 정의된 우위들 내에 더 이상 존재하지 않을 때에, 상기 우위 루프 내의 우위 관계들을 재활성화하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  13. 제6항에 있어서,
    상기 서버를 선택하는 단계는, 상기 무선 통신 네트워크 내의 다른 개인 통신 장치들에 통신되는, 상기 선택된 개인 통신 장치를 위한 새로운 서버 식별자를 생성하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  14. 제13항에 있어서,
    상기 새로운 서버 식별자는 전역적 고유 난수 식별자(globally unique random number identifier)를 더 포함하는 애드혹 무선 통신 방법.
  15. 제6항에 있어서,
    현재 선택된 서버가 더 이상 상기 무선 통신 네트워크의 일부가 아닐 때, 새로운 서버를 선택하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  16. 제6항에 있어서,
    상기 무선 통신 네트워크를 위한 새로운 서버를 주기적으로 선택하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  17. 제16항에 있어서,
    상기 새로운 서버를 주기적으로 선택하는 단계는, 새로운 서버를 선택하기 전에 각각의 개인 통신 장치를 위한 새로운 식별자를 생성하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  18. 삭제
  19. 제6항에 있어서,
    상기 미리 정해진 임계점은 문제가 2분보다 길게 지속된 것과, 상기 특정 통신 세션이 동일한 문제에 대하여 3회보다 많이 복구된 것 중 하나를 포함하는, 애드혹 무선 통신 방법.
  20. 제6항에 있어서,
    상기 상승시키는 단계는, 상기 특정 통신 세션에 관련된 심폰 프로세스 식별자(symphone process identification)을 배제하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  21. 제20항에 있어서,
    상기 상승시키는 단계는, 상기 심폰 프로세스 식별자의 배제가 상기 미리 정해진 임계점을 초과하는 경우에, 상기 심폰 프로세스 식별자 및 상기 특정 통신 세션에 관련된 IP 어드레스 식별자를 배제하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  22. 제21항에 있어서,
    상기 상승시키는 단계는, 상기 IP 어드레스 식별자의 배제가 상기 미리 정해진 임계점을 초과하는 경우에, 상기 IP 어드레스 식별자, 상기 심폰 프로세스 식별자 및 상기 특정 통신 세션에 관련된 개인 통신 장치 식별자를 배제하는 단계를 더 포함하는 애드혹 무선 통신 방법.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020067006661A 2003-10-06 2004-10-06 애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법 KR101068352B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US50928203P 2003-10-06 2003-10-06
US60/509,282 2003-10-06
US10/943,112 2004-09-16
US10/943,107 2004-09-16
US10/943,107 US7809843B1 (en) 2003-09-18 2004-09-16 Globally unique identification in communications protocols and databases
US10/943,112 US7239253B1 (en) 2003-09-18 2004-09-16 Codec system and method
US10/958,528 US7761515B2 (en) 2003-09-18 2004-10-05 Group intercom, delayed playback, and ad-hoc based communications system and method
US10/958,528 2004-10-05

Publications (2)

Publication Number Publication Date
KR20070046775A KR20070046775A (ko) 2007-05-03
KR101068352B1 true KR101068352B1 (ko) 2011-09-28

Family

ID=34437752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067006661A KR101068352B1 (ko) 2003-10-06 2004-10-06 애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법

Country Status (5)

Country Link
US (2) US7761515B2 (ko)
JP (1) JP4664921B2 (ko)
KR (1) KR101068352B1 (ko)
GB (1) GB2423896B (ko)
WO (1) WO2005036802A2 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809843B1 (en) * 2003-09-18 2010-10-05 Intel Corporation Globally unique identification in communications protocols and databases
US10111055B2 (en) 2004-11-23 2018-10-23 Kodiak Networks, Inc. Optimized methods for large group calling using unicast and multicast transport bearer for PoC
US9883357B2 (en) 2004-11-23 2018-01-30 Kodiak Networks, Inc. Radio access network (RAN) aware service delivery for Push-to-talk-over-Cellular (PoC) networks
JP2006331197A (ja) * 2005-05-27 2006-12-07 Toshiba Corp 情報処理装置の群管理方法
JP4661467B2 (ja) * 2005-09-07 2011-03-30 カシオ計算機株式会社 音声通信端末及びプログラム
JP4744993B2 (ja) * 2005-09-07 2011-08-10 株式会社エヌ・ティ・ティ・ドコモ 認証局、デバイス、移動局および通信システム並びに通信方法並びに通信プログラム
US7881700B2 (en) 2005-09-30 2011-02-01 Ntt Docomo, Inc. Information communication apparatus and message displaying method
KR100868201B1 (ko) * 2005-09-30 2008-11-12 가부시키가이샤 엔티티 도코모 정보 통신 장치 및 메시지 표시방법
US8224366B2 (en) * 2006-02-17 2012-07-17 Qualcomm Incorporated System and method for multiple simultaneous communication groups in a wireless system
US8155693B2 (en) 2006-02-27 2012-04-10 Broadcom Corporation Mobile communication device providing communication pathway determination assistance
CN100589398C (zh) * 2006-05-19 2010-02-10 华为技术有限公司 对群组会话体验质量进行区分的方法及系统
US8200268B2 (en) * 2006-06-27 2012-06-12 Alcatel Lucent Home intercom / push-to-talk interface
US7831264B2 (en) * 2006-10-23 2010-11-09 Sony Ericsson Mobile Communications Ab Tracking a group of mobile terminals
US8068823B2 (en) * 2006-12-13 2011-11-29 Qualcomm Incorporated Optimizing call setup latency for geographically dense groups
CN101141710B (zh) * 2007-10-15 2011-05-25 中兴通讯股份有限公司 集群调度系统及其密钥遥毁方法
US8688841B2 (en) * 2008-06-05 2014-04-01 Modena Enterprises, Llc System and method for content rights based on existence of a voice session
EP2141856A1 (en) * 2008-07-04 2010-01-06 Nederlandse Organisatie voor toegepast-natuurwetenschappelijk Onderzoek TNO Method for forming an electronic group
US8577404B2 (en) 2008-07-15 2013-11-05 Qualcomm Incorporated Prioritization of group communications at a wireless communication device
US8755831B2 (en) * 2009-03-24 2014-06-17 QYALCOMM Incorporated Selectively allocating data channel resources to wireless communication devices within a wireless communications system
US8700081B2 (en) * 2009-03-30 2014-04-15 Qualcomm Incorporated Determining whether to switch between group calls based on priority within a wireless communications system
US8738058B2 (en) * 2009-04-06 2014-05-27 Qualcomm Incorporated High-priority communications sessions within a wireless communications system
US9167463B2 (en) * 2011-09-02 2015-10-20 Telcordia Technologies, Inc. Communication node operable to estimate faults in an ad hoc network and method of performing the same
US9313773B2 (en) * 2013-03-14 2016-04-12 The Boeing Company Aircraft communications switching system
CA2917575C (en) 2013-07-23 2018-02-27 Kodiak Networks, Inc. Effective presence for push-to-talk-over-cellular (poc) networks
WO2015013449A1 (en) * 2013-07-23 2015-01-29 Kodiak Networks, Inc. Radio access network aware service push-to-talk-over-cellular networks
CN104427141B (zh) * 2013-08-28 2016-12-28 华为技术有限公司 一种子母话机实现、接听、呼叫和对讲方法及ip终端
JP6291802B2 (ja) * 2013-11-18 2018-03-14 株式会社リコー 制御システム、通信システム、プログラム、及び制御方法
US9178773B1 (en) 2014-04-15 2015-11-03 Green Key Technologies Llc Computer-programmed telephone-enabled devices for processing and managing numerous simultaneous voice conversations conducted by an individual over a computer network and computer methods of implementing thereof
JP2016127472A (ja) * 2015-01-06 2016-07-11 株式会社Jvcケンウッド インターカムシステム、親機、通信制御方法
US11665009B2 (en) 2016-07-13 2023-05-30 Vocal Power-House Systems, LLC Responsive communication system
WO2018011639A1 (en) 2016-07-13 2018-01-18 Vocal Power-House Sysytems, Llc Responsive communication system
KR101947012B1 (ko) * 2017-12-01 2019-02-12 박상래 종업원 관리를 위한 그룹 통신 시스템 및 방법
EP3794880A1 (en) * 2018-06-20 2021-03-24 Sony Corporation Infrastructure equipment, communications device and methods
JP7262936B2 (ja) * 2018-06-28 2023-04-24 ラピスセミコンダクタ株式会社 通信システム、通信端末及び中継装置
US11997144B2 (en) * 2018-09-24 2024-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Connectivity control for platooning of user equipments
US11184742B2 (en) * 2020-04-20 2021-11-23 Motorola Solutions, Inc. Method and apparatus for determining an approver for requesting permission to join a dynamically-created talkgroup

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010003191A1 (en) 1999-12-03 2001-06-07 Kovacs Ern?Ouml; Communication device and software for operating multimedia applications
US20030008641A1 (en) 2001-07-05 2003-01-09 Sundaram Ramakesavan Identifying multilingual participants in network communications

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239150A (ja) 1998-02-24 1999-08-31 Ricoh Co Ltd 無線データ通信システム
JP2000165930A (ja) 1998-11-30 2000-06-16 Clarion Co Ltd 無線通信ネットワークシステム
US6816910B1 (en) * 2000-02-17 2004-11-09 Netzentry, Inc. Method and apparatus for limiting network connection resources
JP3437990B2 (ja) 2000-03-17 2003-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信方法、通信端末、無線アドホックネットワークおよび携帯電話
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
WO2002003653A2 (en) * 2000-06-30 2002-01-10 British Telecommunications Public Limited Company Packet data communications
JP4029629B2 (ja) 2001-03-27 2008-01-09 セイコーエプソン株式会社 通信機器、通信方法およびプログラム
US6718394B2 (en) * 2002-04-29 2004-04-06 Harris Corporation Hierarchical mobile ad-hoc network and methods for performing reactive routing therein using ad-hoc on-demand distance vector routing (AODV)
US20040203764A1 (en) * 2002-06-03 2004-10-14 Scott Hrastar Methods and systems for identifying nodes and mapping their locations
US7058796B2 (en) * 2002-05-20 2006-06-06 Airdefense, Inc. Method and system for actively defending a wireless LAN against attacks
US7254133B2 (en) * 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
US20040123142A1 (en) * 2002-12-18 2004-06-24 Dubal Scott P. Detecting a network attack
US7512783B2 (en) * 2003-03-14 2009-03-31 Naghian Siamaek Provision of security services for an ad-hoc network
KR100519770B1 (ko) * 2003-07-08 2005-10-07 삼성전자주식회사 애드 혹 망에서 분산 인증서 관리 방법 및 그 시스템
US7421578B1 (en) * 2003-07-22 2008-09-02 Cisco Technology, Inc. Method and apparatus for electing a leader node in a computer network
CA2437926A1 (en) * 2003-08-20 2005-02-20 9G Wireless Inc. Mobile ad hoc network device for mobile teams
US7545941B2 (en) * 2003-09-16 2009-06-09 Nokia Corporation Method of initializing and using a security association for middleware based on physical proximity
US7937759B2 (en) * 2003-10-02 2011-05-03 Auburn University System and method for protecting communication devices from denial of service attacks
US7616588B2 (en) * 2005-03-31 2009-11-10 Microsoft Corporation Simplified creation and termination of an ad hoc wireless network with internet connection sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010003191A1 (en) 1999-12-03 2001-06-07 Kovacs Ern?Ouml; Communication device and software for operating multimedia applications
US20030008641A1 (en) 2001-07-05 2003-01-09 Sundaram Ramakesavan Identifying multilingual participants in network communications

Also Published As

Publication number Publication date
GB2423896A (en) 2006-09-06
JP4664921B2 (ja) 2011-04-06
WO2005036802A3 (en) 2007-06-21
US7761515B2 (en) 2010-07-20
GB2423896B (en) 2008-07-02
GB0608511D0 (en) 2006-06-07
WO2005036802A2 (en) 2005-04-21
KR20070046775A (ko) 2007-05-03
US20080155689A1 (en) 2008-06-26
US20100263047A1 (en) 2010-10-14
JP2007519302A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
KR101068352B1 (ko) 애드혹 무선 통신 시스템, 애드혹 무선 통신 방법, 개인 통신 장치의 문제 에스컬레이트 방법, 개인 통신 장치 배제 방법, 서버 결정 방법 및 무선 통신 시스템 내의 장치 우위 결정 방법
KR100718856B1 (ko) 그룹 통신 서비스를 제공하는 시스템 및 방법
US7809843B1 (en) Globally unique identification in communications protocols and databases
US7392048B2 (en) Peer-to-peer discovery for location-based forwarding
US7239882B1 (en) Method and system for brokering frequencies to facilitate peer-to-peer communication
US7231223B2 (en) Push-to-talk call setup for a mobile packet data dispatch network
RU2295841C2 (ru) Речевая связь в пакетном режиме
AU764864B2 (en) Wireless push-to-talk internet broadcast
US7023821B2 (en) Voice over IP portable transreceiver
US7814153B2 (en) System and method for client side managed data prioritization and connections
US20040185838A1 (en) Location-based forwarding
US20090323655A1 (en) System and method for inviting and sharing conversations between cellphones
MXPA03010516A (es) Metodo y aparato para evitar el origen de servicio simultaneo y llamadas de localizacion en una red de comunicaciones de grupo.
MXPA03010517A (es) Un equipo de comunicaciones para reducir la latencia en una solicitud de comunciaciones de grupo originada en movil.
MXPA03010518A (es) Un dispositivo de comunicacion para proporcionar un modo latente eficaz para una red de comunicaciones de grupo.
US20060121923A1 (en) Methods, systems, and computer program products for updating availability information in voice-call applications
US7356307B1 (en) IP telephony with user localization for call control management
JP2006528442A (ja) Do−not−disturb機能の選択的なオーバーライドを特定するための方法、システムおよび装置
US8744416B2 (en) Method for adjusting ring volume through short message service
US7715373B1 (en) IP telephony with user localization for call control management
Rahman et al. Implementation of Secured Portable PABX System of Fully Fledged Mobility Management for Unified Communication
CN108809915A (zh) 一种会话管理方法及装置
DE112004001890B4 (de) Gruppensprechanlage mit verzögerter Wiedergabe und Ad-hoc-basiertes Kommunikationssystem und -verfahren
US20130070587A1 (en) System and Method for Reducing Network Congestion Related to a Mass Notification System
TH71167A (th) วิธีการและอุปกรณ์สำหรับจัดหาคุณภาพของการบริการให้กับ VoIP ผ่านเครือข่ายเฉพาะพื้นที่แบบไร้สาย 802.11

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 8