KR20050063798A - 이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스발견 시스템 및 방법 - Google Patents

이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스발견 시스템 및 방법 Download PDF

Info

Publication number
KR20050063798A
KR20050063798A KR1020057007627A KR20057007627A KR20050063798A KR 20050063798 A KR20050063798 A KR 20050063798A KR 1020057007627 A KR1020057007627 A KR 1020057007627A KR 20057007627 A KR20057007627 A KR 20057007627A KR 20050063798 A KR20050063798 A KR 20050063798A
Authority
KR
South Korea
Prior art keywords
nearby device
middleware layer
application
message
inquiry
Prior art date
Application number
KR1020057007627A
Other languages
English (en)
Other versions
KR100712047B1 (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/284,135 external-priority patent/US6909721B2/en
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20050063798A publication Critical patent/KR20050063798A/ko
Application granted granted Critical
Publication of KR100712047B1 publication Critical patent/KR100712047B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 컴퓨터 시스템, 방법 및 컴퓨터 프로그램 생성물이 제공된다. 상기 방법은 부근의 장치들을 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하는 단계를 포함한다. 상기 부근의 장치가 미들웨어 계층을 포함한다고 상기 조회가 나타내는 경우, 상기 방법은 상기 부근의 장치들 각각이 상기 미들웨어 계층을 포함하는지를 확인하는 단계를 더 포함한다. 상기 미들웨어 계층을 포함하는 상기 부근의 장치들 각각에 대해, 상기 방법은 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하고, 애플리케이션들 및 서비스들을 개시하는 단계를 더 포함한다.

Description

이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스 발견 시스템 및 방법{Device detection and service discovery system and method for a mobile ad hoc communications network}
개시된 발명은 일반적으로 무선 통신 네트워크에 접속된 장치들간의 통신에 관한 것이다. 특히, 상기 개시된 발명은 이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 시스템 및 방법이다.
단거리 무선 시스템들은 백미터 미만의 범위를 가지지만, 더 긴 거리를 넘어 통신을 제공하도록 인터넷에 접속할 수 있다. 단거리 무선 시스템들은 무선 개인 영역 네트워크(PAN: Personal Area Network) 및 무선 랜(LAN: Local Area Network)를 포함하지만, 이에 한정되지는 않는다. 무선 PAN은 10 미터의 전형적인 범위를 지닌 저비용, 저전력 무선 장치들을 사용한다. 무선 PAN 기술의 예는 블루투스 표준이다. 상기 블루투스 표준은 2.4 GHz 산업, 과학 및 의료(ISM) 대역에서 동작하고 1 Mbps의 피크 무선-링크 속도를 제공하며 개인 휴대 정보 단말기 또는 이동 전화와 같은 개인적인, 휴대용 전자 장치들에서 사용하기에 충분히 낮은 전력 소비를 제공한다. 상기 블루투스 통신 프로토콜 및 장치 동작 원리에 대한 설명은 1999년 12월, 블루투스 특정 관심 그룹, 블루투스 표준 명세, 버전 1.0B, 볼륨 1 및 2에 있다. 무선 랜은 무선 PAN보다 더 비용이 들지만, 더 긴 범위를 지닌다. 무선 랜 기술의 예는 IEEE 802.11 무선 랜 표준 및 하이퍼랜(HIPERLAN) 표준이다. 상기 하이퍼랜 표준은 5GHz 무면허-국가 정보 기반(U-NII) 대역에서 동작하고 10 내지 100 Mbps의 피크 무선-링크 속도를 제공한다.
애드 혹 네트워크(ad hoc network)는 정보를 교환하기에 물리적으로 충분히 근접해 있는 무선 장치들의 임의의 모음을 포함하는 단거리 무선 시스템이다. 애드 혹 네트워크는 무선 장치들이 나머지 무선 장치들의 부근에 들어가거나 떠날 때 상기 네트워크에 참가하고 상기 네트워크를 떠나는 무선 장치들을 가지고 신속하게 구성된다. 애드 혹 네트워크는 또한 하나 이상의 액세스 포인트들, 즉 다른 네트워크들에 대한 게이트웨이 접속들 또는 독립형 서버로서 동작하는 정지 무선 장치들을 포함할 수 있다.
장래에, 상기 블루투스 표준은 멀티-홉(multi-hop) 애드 혹 네트워크 또는 스캐터넷(scatternet)을 형성하기 위하여 다수의 피코넷들(piconets)의 상호접속을 지원할 것 같다. 스캐터넷에서, 접속하는 장치는 상이한 피코넷들간에 트래픽을 전송한다. 상기 접속하는 장치는 한 피코넷에서 마스터 장치 역할을 할 수 있지만, 다른 피코넷에서 슬레이브 장치 또는 마스터 장치 역할을 할 수 있다. 따라서, 상기 접속하는 장치들은 상기 타이밍 및 홉 시퀀스를 각각의 피코넷에 적응시키고 아마도 그들이 맡은 역할들을 마스터 장치에서 슬레이브 장치로 변경함으로써 스캐터넷을 포함하는 상기 피코넷들에 참가한다.
블루투스 장치는 이동 전화, 개인용 또는 랩톱 컴퓨터, 무선-주파수 식별 태그 및 개인 휴대 정보 단말기(PDA), 페이저 또는 휴대용-컴퓨팅 장치와 같은 개인용 전자 장치를 포함하지만 이에 한정되지는 않는다. 각 블루투스 장치는 그들이 상기 네트워크의 통신 범위에 들어가고 상기 통신 범위를 떠날 때 다른 블루투스 장치들을 발견하도록 설계된 애플리케이션 및 운영 체제 프로그램들을 포함한다. 클라이언트 역할의 요구하는 블루투스 장치 및 서버 역할의 응답하는 블루투스 장치는 두개의 장치들간에 링크를 설정한다. 상기 요구하고 응답하는 블루투스 장치는 상기 링크 및 서비스 발견 프로토콜을 사용하여 상기 다른 블루투스 장치에 의해 제공된 서비스들 및 상기 서비스들에 접속하는 방법을 발견한다.
종래 기술의 시스템들은 서비스 발견 프로토콜들에 대한 유사한 패턴의 행동 을 따른다. 설명 언어 및 적합한 어휘를 사용하여 생성된, 서비스 설명은 광고되거나 문의 매칭에 이용가능하게 된다. 몇몇 종래 기술의 시스템들은 상기 설명을 디렉토리에 푸싱함으로써 그리고 광고주들에게 상기 디렉토리를 발견하도록 요구함으로써 상기 서비스 설명을 광고한다. 다른 종래 기술의 시스템들은 상기 설명들이 동등-대-동등 발견에 이용가능하게 함으로써 상기 서비스 설명을 광고한다. 상기 서비스 설명을 발견할 필요가 있는 클라이언트 장치는 문의 언어 및 매칭 어휘를 사용하여 문의를 작성하고 문의 프로토콜 또는 비집중화된 문의-처리 서버를 사용하여 상기 문의를 전달한다.
종래 기술의 시스템들에서의 서비스 발견 프로토콜들은 조회 메시지들을 송신하고 조회 메시지들에 응답하는 것을 필요로 한다. 아무런 다른 장치도 존재하지 않는 경우, 상기 조회 메시지들은 헛되이 송신된다. 과도한 전력 소비를 회피하기 위하여, 종래 기술의 시스템들은 전형적으로 관심 대상의 다른 장치가 존재하는 경우 인간 사용자에게 수동으로 장치 검출을 개시하도록 요구한다. 예를 들어, 인간 사용자는 데이터 통신을 처리하기 위하여 셀룰러 전화를 랩톱 컴퓨터에 접속시킬 때 또는 디지털 오디오를 전달하기 위하여 무선 헤드셋을 랩톱 컴퓨터에 접속시킬 때 수동으로 장치 검출을 개시한다. 상기 종래 기술의 시스템들은 3가지 가정들에 의존한다. 첫째, 애플리케이션은 그것의 서비스들의 존재가 보장되기 때문에 자유롭게 시작될 수 있다. 둘째, 애플리케이션은 그것이 우선 서비스를 요구하는 경우 서비스 발견을 수행한다. 셋째, 상기 네트워크의 구성은 상기 애플리케이션의 수명동안 변경되지 않는다.
따라서, 과도한 전력 소비를 회피하고 한 장치에 존재하는 애플리케이션이 상기 애드 혹 통신 네트워크내의 나머지 장치들 중 어떤 장치에 존재하는 어떤 다른 자원 또는 대응 애플리케이션을 자동으로 발견하도록 허용하는 장치 검출 및 서비스 발견 프로토콜에 대한 요구가 존재한다. 상기 프로토콜은 인간 사용자에게 상기 상대방 애플리케이션 또는 다른 자원을 발견하기 위하여 수동으로 장치 검출을 개시하도록 요구하지 않는다. 더욱이, 상기 프로토콜은 특정 서비스의 존재가 보장되지 않고, 장치들이 자주 상기 네트워크에 들어가고 상기 네트워크를 떠나기 때문에 상기 네트워크의 구성이 동적인 네트워크 환경을 수용할 것이다. 본 개시된 발명은 이러한 요구를 해결한다.
도 1은 본 발명의 일 실시예에 따라, 이동 애드 혹 통신 네트워크를 포함하는 장치들의 상호작용을 도시한 네트워크도이다.
도 2a는 본 발명의 일 실시예에 따라, 도 1에 도시된 서버(110)를 포함하는 하드웨어 및 소프트웨어 구성 요소들을 도시한 블록도이다.
도 2b는 본 발명의 일 실시예에 따라, 도 1에 도시된 단말기(120)를 포함하는 하드웨어 및 소프트웨어 구성 요소들을 도시한 블록도이다.
도 3a는 이동 애드 혹 통신 네트워크를 위한 장치 검출 및 서비스 발견을 수행하는 서버(110)의 일 실시예의 흐름도이다.
도 3b는 이동 애드 혹 통신 네트워크를 위한 장치 검출 및 서비스 발견을 수행하는 단말기(120)의 일 실시예의 흐름도이다.
도 4a는 단말기가 이동 애드 혹 통신 네트워크에 들어가기 전의 데이터 흐름의 예시적인 블록도이다.
도 4b는 단말기가 이동 애드 혹 통신 네트워크에 들어간 이후의 도 4a의 예시적인 블록도를 도시한 것이다.
도 5는 이동 애드 혹 통신 네트워크에서 단말기 X와 단말기 Y간의 통신 세션의 설정동안 메시지 흐름을 도시한 프로세스의 일 실시예의 흐름도이다.
이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 컴퓨터 시스템, 방법 및 컴퓨터 프로그램 생성물이 제공된다. 상기 방법은 부근의 장치들을 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하는 단계를 포함한다. 상기 부근의 장치들이 미들웨어 계층을 포함할 수 있다고 상기 조회가 나타내는 경우, 상기 방법은 상기 부근의 장치들 각각에 대한 접속을 생성하는 단계 및 상기 부근의 장치들 각각이 상기 미들웨어 계층을 포함하는지를 확인하는 단계를 더 포함한다. 상기 미들웨어 계층을 포함하는 상기 부근의 장치들 각각에 대해, 상기 방법은 애플리케이션 및 서비스 발견을 수행하고, 애플리케이션들 및 서비스들을 개시하도록 상기 미들웨어 계층을 실행시키는 단계를 더 포함한다.
일 실시예에서, 상기 이동 애드 혹 통신 네트워크는 블루투스 네트워크이다. 상기 조회를 수행하는 것은 블루투스 조회 명령을 송신하는 것과 상기 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 포함하는 블루투스 조회 결과 명령을 수신하는 것을 포함한다. 상기 미들웨어 계층을 포함할 수 있는 장치에 대한 접속을 생성하는 것은 상기 장치로 블루투스 페이징 요구 메시지를 송신하는 것과 블루투스 페이징 수락 메시지를 수신하는 것을 포함한다. 상기 장치가 상기 미들웨어 계층을 포함한다고 확인하는 것은 상기 장치로 인식 요구 메시지를 송신하는 것과 인식 응답 메시지를 수신하는 것을 포함한다. 애플리케이션 및 서비스 발견을 수행하도록 상기 미들웨어 계층을 실행시키는 것은 로컬 애플리케이션 디렉토리의 복사본을 지닌 장치로부터 통지 메시지를 수신하는 것과, 상기 로컬 및 결합된 애플리케이션 디렉토리의 비교에 기초하여 결합된 애플리케이션 디렉토리에 대한 갱신을 저장하는 것 및 상기 결합된 애플리케이션 디렉토리에 대한 갱신을 상기 블루투스 네트워크내의 각 장치로 송신하는 것을 포함한다. 더욱이, 상기 미들웨어 계층을 실행시키는 것은 상기 결합된 애플리케이션 디렉토리내의 참조에 기초하여 로컬 애플리케이션을 개시하는 것과 상기 로컬 애플리케이션을 상기 장치상에서 실행하고 있는 상대방 애플리케이션에 접속시키는 것을 포함한다.
첨부한 도면들은 구조 및 동작 양자에 대해, 이동 애드 혹 통신 네트워크를 위한 장치 검출 및 서비스 발견 시스템의 상세를 가장 잘 나타낸다. 본 도면들내의 동일한 참조 번호들 및 지시들은 동일한 요소들을 나타낸다.
도 1은 본 발명의 일 실시예에 따라, 이동 애드 혹 통신 네트워크를 포함하는 장치들의 상호작용을 도시한 네트워크도이다. 일 실시예에서, 상기 이동 애드 혹 통신 네트워크는 하나의 마스터 장치 및 7개까지의 능동 슬레이브 장치들을 포함하는 블루투스 피코넷이다. 도 1에 도시된 바와 같이, 피코넷(100)은 서버(110) 및 5개의 단말기(120) 인스턴스들을 포함한다. 서버(110)는 네트워크 클록을 유지하고 단말기(120)의 각 인스턴스에 대한 통신 관리자이다. 서버(110)는 전형적으로 단말기(120)의 인스턴스와의 데이터 교환을 개시한다. 단말기(120)의 두개의 인스턴스들은 전형적으로 상기 서버(110)를 통해 통신하지만, 단말기(120)의 두개의 인스턴스들이 직접 통신하는 경우, 한 인스턴스는 서버 또는 마스터의 역할을 맡을 것이고, 다른 인스턴스는 클라이언트 또는 슬레이브의 역할을 맡을 것이다.
상기 이동 애드 혹 통신 네트워크내의 각 장치는 단말기 장치 또는 서버 장치의 역할을 맡을 것이다. 단말기 장치는 단일 사용자가 동작하는 서비스들의 소비자이다. 단말기 장치는 이동 전화 또는 PDA와 같은 장치들을 포함한다. 서버는 전형적으로 정지 장치이고 서비스들만을 생성한다. 서버 장치는 그들의 서비스들을 사용하기 위하여 그들 주위에 핫스폿(hotspot)을 생성한다. "핫스폿"은 장치들을 검출하고 상기 서버에 호스팅된 애플리케이션들에 의해 제공된 서비스들을 발견하기 위하여 상기 서버 장치에 의해 제공된 무선 통신 가능 구역을 지칭한다. 상기 서버 장치가 정지하여 있지 않은 경우, 상기 네트워크내의 상기 단말기 장치들 중 하나는 애플리케이션 디렉토리 서버의 역할을 맡을 것이고 상기 네트워크내의 나머지 단말기 장치들에 대한 장치 검출 및 서비스 발견 기능들을 수행할 것이다. 본 개시된 발명은 이러한 단말기 장치들, 애플리케이션 디렉토리 서버들 및 단말기들 사이에서 두가지 역할들을 도입하는데, 애플리케이션 디렉토리 서버들은 장치 검출 및 서비스 발견시 단말기들의 역할을 한다. 핫스폿을 지닌 정지 서버들이 존재하는 경우, 서버들은 전형적으로 애플리케이션 디렉토리 서버들로서 동작하지만, 장치 검출 및 서비스 발견은 이러한 정지 서버없이 가능한데 왜냐하면 상기 단말기들 중 하나는 상기 애플리케이션 디렉토리 서버 의무를 맡을 것이기 때문이다.
본 개시된 발명은 애플리케이션을 서버-기반 애플리케이션, 단말기-대-단말기 애플리케이션, 포그라운드 애플리케이션, 백그라운드 애플리케이션 또는 일반 애플리케이션 요소로서 범주화한다. 서버-기반 애플리케이션은 서비스를 생성하는 서버를 필요로 한다. 단말기-대-단말기 애플리케이션은 서버 장치의 존재없이 서비스를 구현하기 위하여 적어도 두개의 단말기 장치들을 필요로 한다. 포그라운드 애플리케이션은 사용자가 상기 단말기 장치의 사용자 인터페이스를 통해 액세스하는 단말기 장치에 상주하는 애플리케이션이다. 백그라운드 애플리케이션은 사용자에 의한 어떤 개입없이 시작될 수 있는 단말기 장치에 상주하는 애플리케이션이다. 일반 애플리케이션 요소는 독립형 애플리케이션 또는 다른 애플리케이션의 요소로서 사용될 수 있다.
애플리케이션은 능동, 수동, 신규 또는 거절로서 더 범주화될 수 있다. 능동 애플리케이션은 상기 단말기에 상주하는 (즉 메모리에 저장된) 포그라운드 또는 백그라운드 애플리케이션이다. 수동 애플리케이션은 상기 단말기에 상주하지만, 아직 시작되지 않았다. 다른 실시예에서, 상기 수동 애플리케이션이 시작되지만, 동일한 애플리케이션의 다른 인스턴스들을 능동적으로 찾지는 않는다. 신규 애플리케이션은 아직 상기 단말기에 상주하지 않지만, 장래에 존재할 수 있다. 거절된 애플리케이션은 상기 단말기에 상주하지 않고 사용자에 의해 상기 단말기에 절대로 상주하지 않아야 하는 애플리케이션으로서 표시된다. 다른 실시예에서, 상기 거절된 애플리케이션은 상기 단말기에 한번 상주했지만, 후속적으로 삭제되어 거절된 것으로 표시되었다. 또 다른 실시예에서, 상기 거절된 애플리케이션은 절대로 상기 단말기에 상주하지 않지만, 사용자가 거절된 것으로서 표시한 애플리케이션의 유형이다.
이동 애드 혹 통신 네트워크에서의 서비스 발견은 상주하는 애플리케이션과 로딩되지 않은 애플리케이션을 구별한다. 상주하는 애플리케이션은 상기 단말기 메모리에 저장되고 포그라운드 애플리케이션 또는 백그라운드 애플리케이션으로서 로딩된다. 로딩되지 않은 애플리케이션은 상기 단말기에 아직 저장되거나 로딩되지 않지만, 사용자에 의해 수락되었다. 전형적으로, 애플리케이션이 이전에 사용되었지만, 공간을 이용하기 위하여 중복기록된 경우, 상기 애플리케이션은 로딩되지 않은 것으로 간주된다. 따라서, 로딩되지 않은 애플리케이션을 시작하는 것은 우선 상기 애플리케이션을 다운로드하는 것을 필요로 할 수 있다.
상기 단말기 장치의 관점으로부터 서비스 발견은 애플리케이션의 상태를 능동 상주 애플리케이션, 능동 로딩되지 않은 애플리케이션, 수동 상주 애플리케이션, 수동 로딩되지 않은 애플리케이션, 거절된 애플리케이션 또는 신규 애플리케이션으로서 범주화할 것을 필요로 한다. 능동 상주 애플리케이션은 상기 단말기에 로딩되고 동등들(peers), 서버들 또는 클라이언트들을 찾는다. 능동 로딩되지 않은 애플리케이션은 상기 단말기에 로딩되지 않지만, 관심있는 것으로 발견되는 경우 자동으로 다운로드될 수 있는 이러한 상대방 애플리케이션들을 여전히 찾고 있다. 수동 상주 애플리케이션은 상기 단말기에 로딩되지만, 상대방 애플리케이션들을 찾지 않는다. 수동 로딩되지 않은 애플리케이션은 상기 단말기에 로딩되지 않지만, 사용자에 의해 한번 수락되었다. 거절된 애플리케이션은 사용자가 상기 단말기 장치로부터 제외하도록 요구한 애플리케이션이다. 신규 애플리케이션은 상기 단말기 장치에 로딩되지 않지만, 사용자는 예를 들어 이전 서버에서 애플리케이션을 보았을 수 있다.
도 2a는 본 발명의 일 실시예에 따라, 도 1에 도시된 서버(110)를 포함하는 하드웨어 및 소프트웨어 구성 요소들을 도시한 블록도이다. 서버(110)는 범용 무선 장치이다. 버스(200)는 키패드(201), 디스플레이(202), 중앙 처리 장치(CPU)(203) 및 무선 주파수(RF) 어댑터(204)를 메모리(210)에 연결하는 통신 매체이다. RF 어댑터(204)는 무선 링크를 통해 단말기(120)에 접속하고 서버(110)와 단말기(120)간의 네트워크 트래픽을 용이하게 하는 메커니즘이다.
CPU(203)는 메모리(210)에 상주하거나 상기 메모리(210)상에서 동작하는 각 컴퓨터 프로그램을 포함하는 동작 명령들의 시퀀스들을 실행함으로써 본 개시된 발명의 방법들을 수행한다. 메모리(210)는 운영 체제 소프트웨어(211), 애플리케이션 프로그램들(212) 및 미들웨어 소프트웨어(220)를 포함한다. 운영 체제 소프트웨어(211)는 키패드(201), 디스플레이(202), RF 어댑터(204)를 제어하고 메모리(210)의 관리를 제어한다. 애플리케이션 프로그램들(212)은 사용자와 서버(110)간의 상호 작용들을 제어한다. 미들웨어 소프트웨어(220)는 서버(110)상에서 실행되는 애플리케이션 프로그램이 단말기(120)상에서 실행되는 상대방 애플리케이션을 찾고 상기 상대방 애플리케이션과 통신하는 것을 도와주는 애플리케이션 프로그램 인터페이스(API)(221)를 포함한다. 각 애플리케이션을 신속히 찾기 위하여, 미들웨어 소프트웨어(220)는 또한 피코넷(100)내의 각 장치에 상주하는 각 애플리케이션에 의해 맡겨진 역할을 추적하기 위한 애플리케이션 디렉토리(230)를 포함한다.
도 2b는 본 발명의 일 실시예에 따라, 도 1에 도시된 단말기(120)를 포함하는 하드웨어 및 소프트웨어 구성 요소들을 도시한 블록도이다. 단말기(120)는 범용 무선 장치이다. 버스(250)는 키패드(251), 디스플레이(252), 중앙 처리 장치(CPU)(253) 및 무선 주파수(RF) 어댑터(254)를 메모리(260)에 연결하는 통신 매체이다. RF 어댑터(254)는 무선 링크를 통해 서버(110) 또는 다른 단말기(120)에 접속하고 서버(110)와 단말기(120)간의 네트워크 트래픽을 용이하게 하는 메커니즘이다.
CPU(253)는 메모리(260)에 상주하거나 상기 메모리(260)상에서 동작하는 각 컴퓨터 프로그램을 포함하는 동작 명령들의 시퀀스들을 실행함으로써 본 개시된 발명의 방법들을 수행한다. 메모리(260)는 운영 체제 소프트웨어(261), 애플리케이션 프로그램들(262) 및 미들웨어 소프트웨어(270)를 포함한다. 운영 체제 소프트웨어(261)는 키패드(251), 디스플레이(252), RF 어댑터(254)를 제어하고 메모리(260)의 관리를 제어한다. 애플리케이션 프로그램들(262)은 사용자와 단말기(120)간의 상호 작용들을 제어한다. 미들웨어 소프트웨어(270)는 단말기(120)상에서 실행되는 애플리케이션 프로그램이 서버(110) 또는 다른 단말기(120)상에서 실행되는 상대방 애플리케이션을 찾고 상기 상대방 애플리케이션과 통신하는 것을 도와주는 애플리케이션 프로그램 인터페이스(API)(271)를 포함한다. 각 애플리케이션을 신속히 찾기 위하여, 미들웨어 소프트웨어(270)는 또한 피코넷(100)내의 각 장치에 상주하는 각 애플리케이션에 의해 맡겨진 역할을 추적하기 위한 애플리케이션 디렉토리(280)를 포함한다.
일 실시예에서, 메모리(210)와 메모리(260)의 구성은 동일하다. 다른 실시예에서, 메모리(210)와 메모리(260)의 구성은 각각 서버(110)와 단말기(120)의 필수적인 태스크들을 수행하는데 필요한 소프트웨어만을 포함한다. 예를 들어, 단말기(120)가 일반 조회 액세스 코드를 수신할 필요가 있지만, 일반 조회 액세스 코드 메시지를 송신할 필요는 없는 경우, 상기 메시지를 수신하는 소프트웨어만이 메모리(260)에 존재할 것이다.
단말기상에서 실행되는 애플리케이션은 상대방 애플리케이션, 즉 상기 애플리케이션과 통신할 수 있는 동일한 애플리케이션의 다른 인스턴스를 항상 찾는다. 애플리케이션의 각 인스턴스는 특정 역할을 맡는다. 애플리케이션과 상대방 애플리케이션간의 통신은 상기 역할들이 보완적인 경우에만 의미가 있다. 예를 들어, "클라이언트"의 역할을 맡는 애플리케이션은 "서버"의 역할을 맡는 상대방 애플리케이션과 통신할 수 있다. 미들웨어 소프트웨어는 애플리케이션이 정확한 역할을 지닌 상대방 애플리케이션을 찾도록 도와주기 위하여 두개의 애플리케이션들간의 통신을 협상하는 API를 지닌 소프트웨어 계층이다. 따라서, 단말기에 설치되고 활성화된 애플리케이션은 관심 대상인 신규 상대방 애플리케이션들의 연속적인 스트림에 대해 API에 문의할 것이다.
신규 애플리케이션은 상대방들을 찾고 상기 신규 애플리케이션을 단말기의 로컬 저장 장치에 설치하기 위한 미들웨어를 사용하는 "인스톨러(installer)" 애플리케이션들에 의해 설치된다. 신규 애플리케이션들의 실제 발견 및 선택은 애플리케이션 레벨에서 발생한다. 초기에, 상기 인스톨러 애플리케이션은 서버들내의 상대방 애플리케이션들에 액세스하고, 그들의 이용가능한 데이터베이스들을 브라우징하며, 사용자가 설치할 애플리케이션들을 선택하도록 허용하고, 상기 신규 애플리케이션들을 다운로드하며 설치하는 전용 "브라우저-공급자"(즉, 클라이언트-서버)일 것이다. 나중에, 상기 대응하는 기능은 무선 액세스 프로토콜(WAP) 및 하이퍼텍스트 마크업 언어(HTML) 브라우저들에 부가될 수 있다.
서비스 발견은 3단계 프로세스들로 간주된다. 첫째, 신규 잠재적인 애플리케이션들이 발견되고 설치가 고려될 것이다. 둘째, 능동 설치된 애플리케이션들은 상대방 애플리케이션을 탐색하기 시작한다. 셋째, 능동 설치된 애플리케이션들은 프린터들과 같은 공통 자원들을 탐색하기 시작한다(즉, 자원 발견). 본 개시된 발명은 자원 발견을 수행하기 위하여 애플리케이션들에 의존한다. 전형적으로, 단말기 애플리케이션은 그것의 상대방 애플리케이션과 통신하고 로컬(즉, 서버) 자원들을 사용한다. 애플리케이션이 사설 자원을 사용하는 경우, 관련된 서비스 발견은 상기 단말기 미들웨어 소프트웨어에 의해 지원되지 않는 표준(예를 들어, 블루투스 또는 블루투스/자바) 방식으로 상기 애플리케이션에 의해 구현된다.
도 3a는 이동 애드 혹 통신 네트워크를 위한 장치 검출 및 서비스 발견을 수행하는 서버(110)의 실시예의 흐름도이다. 상기 프로세스는 서버(110)가 일반 조회 액세스 코드 메시지를 단말기(120)로 송신할 때 시작된다(단계 300). 단말기(120)는 상기 메시지를 수신하고 긍정 응답 메시지를 서버(110)로 송신한다(단계 302). 서버(110)는 미들웨어 소프트웨어(220)에 액세스하여 단말기(120)와의 소켓 접속을 요구한다(단계 304). 상기 소켓 접속 설정에 응답하여, 서버(110)는 단말기(120)상에 국부적으로 상주하는 모든 애플리케이션들을 열거하는 로컬 애플리케이션 디렉토리를 포함하는 메시지를 단말기(120)로부터 수신한다. 서버(110)는 단말기(120)상에 상주하는 애플리케이션들의 목록을 서버(110)상에 상주하는 결합된 애플리케이션 디렉토리와 비교한다. 서버(110)는 상기 결합된 애플리케이션 디렉토리에 나타나지 않는 로컬 애플리케이션 디렉토리내의 각 엔트리를 상기 결합된 애플리케이션 디렉토리에 부가함으로써 상기 결합된 애플리케이션 디렉토리를 갱신한다(단계 308). 서버(110)는 피코넷(100)내의 각 단말기(120)로 상기 갱신된 결합된 애플리케이션 디렉토리의 부분을 송신한다(단계 310). 상기 부분은 각 단말기(120)에 대해 변경될 수 있고 단말기(120)에 상주하는 애플리케이션에 대한 상대방 애플리케이션인 상기 결합된 애플리케이션 디렉토리에 각 엔트리를 포함한다. 다른 실시예에서, 서버(110)는 상기 전체 결합된 애플리케이션 디렉토리를 피코넷(100)내의 각 단말기(120)로 송신하고 관련된 엔트리들을 유지하기 위하여 단말기(120)에 의존한다. 단말기(120) 및 서버(110)내의 미들웨어 소프트웨어의 인스턴스들은 실행을 위한 새롭게 발견된 상대방 애플리케이션 쌍들을 스케줄링하기 시작한다(단계 312). 일 실시예에서, 상기 스케줄링된 애플리케이션들은 어떤 다른 블루투스 프로파일 및 프로토콜을 사용한다. 다른 실시예에서, 인스톨러 애플리케이션인 애플리케이션은 사용자에게 사용자가 다운로드해야하는 다른 애플리케이션들을 제안할 수 있다. 일단 서버(110)가 신규 애플리케이션을 다운로드하고 시작하면, 일치하는 상대방은 반복하고 상기 신규 애플리케이션은 상기 미들웨어 스케줄링의 일부가 된다.
도 3b는 이동 애드 혹 통신 네트워크를 위한 장치 검출 및 서비스 발견을 수행하는 단말기(120)의 실시예의 흐름도이다. 상기 프로세스는 단말기(120)가 서버(110)로부터 일반 조회 액세스 코드 메시지를 수신할 때 시작된다(단계 320). 단말기(120)는 긍정 응답 메시지를 생성하여 서버(110)로 송신한다(단계 322). 단말기(120)는 단말기(120)에 국부적으로 상주하는 모든 애플리케이션들을 포함하는 로컬 애플리케이션 디렉토리를 포함하는 메시지를 서버(110)로 송신한다(단계 324). 서버(110)는 단말기(120)상에 상주하는 애플리케이션들의 목록을 서버(110)상에 상주하는 결합된 애플리케이션 디렉토리와 비교한다. 서버(110)는 상기 결합된 애플리케이션 디렉토리에 나타나지 않는 로컬 애플리케이션 디렉토리내의 각 엔트리를 상기 결합된 애플리케이션 디렉토리에 부가함으로써 상기 결합된 애플리케이션 디렉토리를 갱신한다. 단말기(120)는 서버(110)로부터 상기 갱신된 결합된 애플리케이션 디렉토리의 부분을 수신한다(단계 326). 서버(110)는 단말기(120)에 상주하는 애플리케이션에 대한 상대방 애플리케이션인 상기 결합된 애플리케이션 디렉토리에 각 엔트리를 포함하도록 단말기(120)에 대해 상기 부분을 커스텀화한다. 다른 실시예에서, 서버(110)는 단말기(120)로 전체 결합된 애플리케이션 디렉토리를 송신하고 관련된 엔트리들을 유지하기 위해 단말기(120)에 의존한다. 단말기(120)와 서버(110)내의 미들웨어 소프트웨어의 인스턴스들은 실행을 위한 상기 새롭게 발견된 상대방 애플리케이션 쌍을 스케줄링하기 시작한다(단계 328).
도 4a 및 도 4b는 단말기 X 및 단말기 Y가 서버 S에 의해 서빙되는 이동 애드 혹 통신 네트워크에 들어가기 이전 및 이후의 상기 애플리케이션 디렉토리의 콘텐트를 도시한 예시적인 블록도들이다. 도 4a는 단말기 X 및 단말기 Y가 서버 S에 의해 관리되는 통신 네트워크에 들어가기 전의 애플리케이션 디렉토리(404), 애플리케이션 디렉토리(415) 및 애플리케이션 디렉토리(425)의 구성을 도시한 것이다. 애플리케이션 C(401)는 서버 S 메모리(400)에 존재하고 API(402)를 통해 미들웨어 소프트웨어(403)에 액세스한다. 미들웨어 소프트웨어(403)는 애플리케이션 C가 로컬 장치(즉, 서버 S)에 존재하고 서버의 역할을 맡는다는 것을 나타내는 테이블 엔트리를 부가함으로써 애플리케이션 C(401)를 애플리케이션 디렉토리(404)에 등록한다. 애플리케이션 A(411)와 애플리케이션 B(412)는 단말기 X 메모리(410)에 존재하고 API(413)를 통해 미들웨어 소프트웨어(414)에 액세스한다. 미들웨어 소프트웨어(414)는 애플리케이션 A가 상기 로컬 장치(즉, 단말기 X)에 존재하고 클라이언트의 역할을 맡는다는 것과 애플리케이션 B가 상기 로컬 장치(즉, 단말기 X)에 존재하고 동등의 역할을 맡는다는 것을 나타내기 위한 테이블 엔트리를 부가함으로써 애플리케이션 A(411)와 애플리케이션 B(412)를 애플리케이션 디렉토리(415)에 등록한다. 애플리케이션 B(421)와 애플리케이션 C(422)는 단말기 Y 메모리(420)에 존재하고 API(423)를 통해 미들웨어 소프트웨어(424)에 액세스한다. 미들웨어 소프트웨어(424)는 애플리케이션 B가 상기 로컬 장치(즉, 단말기 Y)에 존재하고 동등의 역할을 맡는다는 것과 애플리케이션 C가 상기 로컬 장치(즉, 단말기 Y)에 존재하고 클라이언트의 역할을 맡는다는 것을 나타내기 위한 테이블 엔트리를 부가함으로써 애플리케이션 B(421)와 애플리케이션 C(422)를 애플리케이션 디렉토리(425)에 등록한다.
도 4b는 단말기 X 및 단말기 Y가 서버 S, 마스터 장치에 의해 관리되는 통신 네트워크에 들어간 후의 애플리케이션 디렉토리(404), 애플리케이션 디렉토리(415) 및 애플리케이션 디렉토리(425)의 구성을 도시한 것이다. 서버 S는 애플리케이션 디렉토리 서버(ADS)의 역할을 맡고 피코넷(100)내의 각 장치에 존재하는 애플리케이션들의 등록을 조정한다. 서버 S는 피코넷(100)상의 장치에 존재하는 각 애플리케이션에 대해 테이블 엔트리를 애플리케이션 디렉토리(404)에 부가한다. 따라서, 서버 S는 단말기 X에 존재하는 클라이언트 역할의 애플리케이션 A, 단말기 X에 존재하는 동등 역할의 애플리케이션 B, 단말기 Y에 존재하는 동등 역할의 애플리케이션 B 및 단말기 Y에 존재하는 클라이언트 역할의 애플리케이션 C에 대해 엔트리를 부가한다. 서버 S는 또한 단말기 장치들에 관심이 될 수 있는 애플리케이션 등록들을 가지고 단말기 X내의 애플리케이션 디렉토리(415)와 단말기 Y내의 애플리케이션 디렉토리(425)를 갱신한다. 도 4b에 도시된 바와 같이, 단말기 X 및 단말기 Y 양자는 동등 역할의 애플리케이션 B를 호스팅한다. 단말기 X상의 애플리케이션 B와 단말기 Y상의 애플리케이션 B간의 동등-대-동등 통신 세션이 있음직할 것 같기 때문에, 서버 S는 단말기 Y에 존재하는 동등 역할의 애플리케이션 B에 대해 애플리케이션 디렉토리(415)에 엔트리를 부가하고 단말기 X에 존재하는 동등 역할의 애플리케이션 B에 대해 애플리케이션 디렉토리(425)에 엔트리를 부가한다. 또한, 단말기 Y상의 애플리케이션 C와 서버 S상의 애플리케이션 C간의 클라이언트-서버 통신 세션이 있음직할 것 같기 때문에, 서버 S는 서버 S에 존재하는 서버 역할의 애플리케이션 C에 대해 애플리케이션 디렉토리(425)에 엔트리를 부가한다. 마지막으로, 단말기 X상의 애플리케이션 A에 대해 피코넷(100)에 아무런 상대방도 존재하지 않는다.
도 4a 및 도 4b에 도시된 바와 같이, 상기 미들웨어 소프트웨어 애플리케이션 디렉토리 서버내의 각 엔트리에 대한 개시된 데이터 항목들은 장치 식별자(예를 들어, "로컬", 주소 또는 다른 유일한 식별자), 애플리케이션 식별자(예를 들어, 애플리케이션 이름 또는 다른 유일한 식별자) 및 상기 애플리케이션의 역할(예를 들어, "클라이언트", "서버", "동등" 등)을 포함한다. 다른 실시예에서, 상기 데이터 항목들은 상기 로컬 애플리케이션들에 대한 필드들(즉, 장치="로컬")과 다른 단말기들 또는 서버들내의 원격 애플리케이션들에 대한 필드들을 포함하도록 확장될 수 있다. 상기 로컬 애플리케이션들에 대한 필드들은 다음을 포함한다:
● 이름 - 상기 애플리케이션의 식별자(예를 들어, 상이한 버전들 및 하드웨어 변형들을 비교하기 위한 공급자 이름 및 데이터);
● 나의_역할 - 상기 애플리케이션이 상기 로컬 장치에서 맡은 역할;
● 파트너_역할 - 상기 애플리케이션이 관심있는 상대방들로부터 맡은 역할(예를 들어, 동등, 클라이언트 및 서버는 가장 일반적인 역할들이다);
● 레지던시(residency) - 상주(설치되고 현재 메모리에 있음), 로딩되지 않음(한번 설치되고, 현재 메모리에 없지만, 자동으로 다시 다운로드될 수 있음), 거절됨(그것이 상기 애플리케이션을 무시해야 한다는 것을 신규 애플리케이션 인스톨러에 나타냄) 또는 신규(상기 애플리케이션은 설치되거나 거절되지 않음);
● 상태 - 실행중(통신하고 있음, 지금 그것의 원격 상대방들과 동작하고 있지만, 동시에 통신을 사용할 수 있는, 단지 하나 또는 그 이상의 애플리케이션들이 존재할 수 있다), 대기(실행 상태이지만 어떤 통신도 하고 있지 않음), 개시가능(액티브, 정확한 파트너_역할과 일치하는 동등이 발견되는 경우, 상기 미들웨어 소프트웨어는 상기 애플리케이션을 개시하고, 필요한 경우 상기 소프트웨어를 우선 다운로드한다), 완료(모든 상대방 애플리케이션들이 인지된다) 또는 패시브(사용자는 애플리케이션을 개시하기 위하여 어떤 것을 해야 한다);
● 유형 - 포그라운드(상기 애플리케이션이 종결되는 경우, 상기 상태는 패시브일 것이다) 또는 백그라운드(상기 애플리케이션이 종결되는 경우, 상기 상태는 개시가능일 것이다);
● 로딩하지 않음 - 자동(미들웨어는 상기 애플리케이션이 종결된 경우 코드를 제거할 수 있다) 또는 언인스톨(사용자는 제거를 확인해야 한다);
● 아이콘 - 사용자를 위해 상기 애플리케이션에 대한 비주얼 이미지를 생성한다; 및
● 타임아웃 - 예를 들어 상기 애플리케이션이 비생산적인 소프트웨어 루프에 있는 때를 상기 미들웨어 소프트웨어가 탐지하는데 사용하는 제한 시간을 설정한다.
상기 원격 애플리케이션들에 대한 필드들은 다음을 포함한다:
● 장치 - 상기 애플리케이션 인스턴스들을 저장하는 서버 또는 상기 단말기와 통신을 설정하기 위한 주소;
● 이름 - 상기 애플리케이션에 대한 식별자; 및
● 나의_역할 - 상기 애플리케이션이 상기 원격 장치에서 맡은 역할.
상기 애플리케이션들의 클라이언트-서버 역할들은 단말기 장치와 애플리케이션 디렉토리 서버로서의 상기 장치들의 역할들에 독립적이다. 전형적으로, 애플리케이션 디렉토리 서버로서 동작하는 장치는 서버 역할로 동작하는 애플리케이션들을 호스팅하고 상기 단말기 장치들은 동일한 애플리케이션에 대해 클라이언트 역할로 동작한다. 다른 실시예에서, 두개의 단말기 장치들은 각각 일반 조회 액세스 코드 메시지를 송신하고 응답을 경청한다. 응답을 수신하는 단말기 장치는 우선 서버 역할을 맡을 것이고 도 3a의 절차에 따라 진행할 것이다. 상기 조회 메시지를 수신하는 다른 단말기 장치는 상기 단말기 역할을 맡을 것이고, 도 3b에 따라 진행할 것이다. 따라서, 본 개시된 발명은 단말기-대-단말기 시나리오들을 지원하고(예를 들어, 동일한 핸드헬드 장치들 중 하나는 ADS가 됨) 소정의 애플리케이션 디렉토리 서버들을 필요로 하지 않는다.
도 5는 이동 애드 혹 통신 네트워크에서 단말기 X와 단말기 Y간의 통신 세션의 설정동안 메시지 흐름을 도시한 프로세스의 실시예에 대한 흐름도이다. 일 실시예에서, 단말기 X 및 단말기 Y는 도 1 및 도 2b에 도시된 단말기(120)와 같은 이동 장치들이다. 다른 실시예에서, 단말기 X는 도 1 및 도 2b에 도시된 단말기(120)와 같은 이동 장치이고 단말기 Y는 도 1 및 도 2a에 도시된 서버(110)와 같은 이동 장치이다.
도 5에 도시된 바와 같이, 단말기 X는 조회 요구 메시지를 상기 이동 애드 혹 통신 네트워크로 송신함으로써 통신을 개시한다. 단말기 Y는 부근의 장치이기 때문에, 단말기 Y는 상기 조회 요구 메시지를 수신하고 조회 응답 메시지를 단말기 X로 송신한다. 일 실시예에서, 상기 조회 요구 메시지는 블루투스 조회 명령이고 상기 조회 응답 메시지는 블루투스 조회 결과 명령이다. 다른 실시예에서, 상기 조회 요구 메시지는 블루투스 조회 명령이고 상기 조회 응답 메시지는 상기 블루투스 조회 결과 명령을 송신하는 단말기가 미들웨어 계층을 포함한다는 것을 나타내도록 변경된 블루투스 조회 결과 명령이다. 일 실시예에서, 상기 미들웨어 계층은 진보된 애플리케이션과 서비스 발견 및 실행을 제공하는 전용 미들웨어 소프트웨어를 포함한다. 일 실시예에서, 상기 블루투스 조회 결과 명령에 대한 변경은 장치 클래스(CoD: Class of Device) 매개 변수들에 대한 것이다. 예를 들어, 상기 블루투스 조회 결과 명령을 송신하는 단말기가 상기 미들웨어 계층을 포함하는 경우, 상기 단말기는 적어도 상기 "애드 혹 네트워킹 인식 비트" 비트(비트 16)을 온(1)으로 설정할 것이다. 대안적으로, 상기 블루투스 조회 결과 명령을 송신하는 단말기가 상기 미들웨어 계층을 포함하는 경우, 상기 단말기는 상기 "애드 혹 네트워킹 인식" 비트(비트 16)를 온(1)으로 설정할 것이고, "위치 정보" 비트(비트 17)를 오프(0)로 설정할 것이다. 대안적으로, 상기 블루투스 조회 결과 명령을 송신하는 단말기가 상기 미들웨어 계층을 포함하는 경우, 상기 단말기는 상기 "애드 혹 네트워킹 인식" 비트(비트 16)를 온(1)으로 설정할 것이고, "텔레포니 가능" 비트(비트 22)를 온(1)으로 설정할 것이다. 대안적으로, 상기 블루투스 조회 결과 명령을 송신하는 단말기가 상기 미들웨어 계층을 포함하는 경우, 상기 단말기는 상기 "애드 혹 네트워킹 인식" 비트(비트 16)를 온(1)으로 설정하고, 상기 "위치 정보" 비트(비트 17)를 오프(0)로 설정하며, 상기 "텔레포니 가능" 비트(비트 22)를 온(1)으로 설정할 것이다. 또 다른 실시예에서, 상기 미들웨어 소프트웨어의 존재를 나타내는 전용 표시 매개 변수가 상기 블루투스 조회 결과 명령 명세에 도입되는 경우, 상기 블루투스 조회 결과 명령에 대한 변경은 필요하지 않다.
상기 조회 다음에, 도 5에 도시된 바와 같이, 단말기 X는 페이징 요구 메시지를 송신함으로써, 단말기 Y와 같이, 상기 조회 응답 메시지에 의해 상기 미들웨어 계층의 가능한 소유를 나타내는 각 부근의 장치에 대한 접속을 생성할 수 있다. (예를 들어, 상기 "애드 혹 네트워킹 인식" 비트(비트 16)을 오프(0)로 설정함으로써) 단말기 Y가 상기 미들웨어 계층의 가능한 소유를 나타내지 않는 경우, 아무런 페이징 요구 메시지도 전송되지 않고 상기 통신 세션은 접속해제된다. 단말기 Y가 아마도 미들웨어 계층을 포함한다는 표시를 포함하는 조회를 수행한 이후에, 단말기 X는 상기에 논의된 바와 같이, 상기 페이징 요구를 송신한다. 단말기 Y는 상기 페이징 요구 메시지를 수신하고 상기 접속 요구를 수락하기 위한 페이징 수락 메시지를 선택적으로 송신한다. 일 실시예에서, 상기 페이징 요구 메시지는 블루투스 접속 생성 명령이고 상기 페이징 수락 메시지는 블루투스 접속 요구 수락 명령이다.
각 부근의 장치에 대한 접속 다음에, 도 5에 도시된 바와 같이, 단말기 X는 단말기 Y와 같은 부근의 장치가 명확하게 상기 미들웨어 계층을 포함하는 지를 확인하기 위하여 인식 요구 메시지를 송신한다. 단말기 Y는 상기 인식 요구 메시지를 수신하고 인식 응답 메시지를 단말기 X로 송신한다. 일 실시예에서, 상기 인식 응답 메시지의 수신은 단말기 Y가 상기 미들웨어 계층을 포함한다는 확인이다. 다른 실시예에서, 상기 인식 응답 메시지의 내용은 단말기 Y가 상기 미들웨어 계층을 포함하는 지를 나타낼 것이다. 일 실시예에서, 상기 인식 요구 메시지 및 상기 인식 응답 메시지는 상기 블루투스 서비스 발견 프로토콜(SDP: Service Discovery Protocol)을 이용한다. 단말기 Y가 상기 미들웨어 계층을 포함하지 않는 경우, 상기 통신 세션은 접속해제될 수 있다.
단말기 Y와 같은 부근의 장치가 상기 미들웨어 계층을 포함한다는 확인 다음에, 도 5에 도시된 바와 같이, 단말기 X 및 단말기 Y는 상기 미들웨어 계층을 사용하여 애플리케이션들 및 서비스들을 발견하고 개시한다. 일 실시예에서, 단말기 X 및 단말기 Y는 도 3a 및 도 3b에 도시된 흐름도들에 개시된 방법들을 사용하여 애플리케이션들 및 서비스들을 발견하고 개시한다.
본 개시된 실시예들이 이동 애드 혹 통신 네트워크를 위한 완전하게 기능하는 장치 검출과 서비스 발견 시스템 및 방법을 설명할지라도, 독자는 다른 균등한 실시예들이 존재한다는 것을 이해해야 한다. 수많은 변경들 및 변형들이 본 개시를 리뷰하는 사람들에게 발생할 것이기 때문에, 상기 이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스 발견 시스템 및 방법은 설명되고 개시된 정확한 구성 및 동작에 한정되지 않는다. 따라서, 본 개시는 모든 적합한 변형들 및 균등물들이 청구항들의 범위내에 있도록 의도한다.
관련된 출원에 대한 상호-참조
특허증을 위한 본 출원은, 2002년 10월 31일에 미국 특허 및 상표청에 출원된, 발명의 명칭이, "이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스 발견 시스템 및 방법"인, 미국 특허 출원 번호 10/284,135에 대한 우선권을 청구하고 상기 출원을 참조로써 포함한다. 또한 특허증을 위한 본 출원은 2003년 9월 16일에 미국 특허 및 상표청에 출원된, 발명의 명칭이, "이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스 발견 시스템 및 방법"인, 미국 일부 계속(continuation-in-part) 특허 출원 번호 SS/XXX,YYY에 대한 우선권을 청구하고 상기 출원을 참조로써 포함한다. 또한 특허증을 위한 본 출원은 2003년 9월 16일에 미국 특허 및 상표청에 출원된, 발명의 명칭이, "동등-대-동등 애드 혹 통신 네트워크에서의 접속 제어 개선을 위한 메커니즘"인, 미국 특허 출원 번호 SS/XXX,YYY와 관련되며 상기 출원을 참조로써 포함한다. 또한 특허증을 위한 본 출원은 2003년 9월 16일에 미국 특허 및 상표청에 출원된, 발명의 명칭이, "동등-대-동등 애드 혹 통신 네트워크에서의 애플리케이션 제어"인, 미국 특허 출원 번호 SS/XXX,YYY와 관련되며 상기 출원을 참조로써 포함한다. 상기 양수인은 모 특허 출원, 상기 일부 계속 특허 출원 및 상기 관련된 특허 출원들의 양수인과 동일하다.

Claims (52)

  1. 이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 시스템에 있어서,
    메모리 장치; 및
    상기 메모리 장치와 통신하도록 배치된 프로세서를 포함하며,
    상기 프로세서는, 적어도 하나의 부근의 장치를 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하도록 구성되고, 상기 조회는 상기 적어도 하나의 부근의 장치가 미들웨어 계층을 포함할 수 있다는 표시를 포함하며,
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우:
    상기 프로세서는,
    상기 적어도 하나의 부근의 장치에 대한 접속을 생성하도록 구성되고,
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는지를 확인하도록 구성되며,
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우:
    상기 프로세서는, 상기 미들웨어 계층을 실행시켜 애플리케이션과 서비스 발견을 수행하도록 구성되는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 미들웨어 계층은 서비스 발견 프로토콜 및 적어도 하나의 컴퓨터 프로그램을 포함하고, 각각의 컴퓨터 프로그램은 적어도 하나의 동작 명령들의 시퀀스를 포함하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 프로세서는 상기 미들웨어 계층을 실행시켜 애플리케이션들과 서비스들을 개시하도록 더 구성되는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서, 상기 조회를 수행하기 위하여, 상기 프로세서는,
    상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 조회 요구 메시지를 송신하도록 더 구성되고,
    상기 적어도 하나의 부근의 장치로부터 조회 응답 메시지를 수신하도록 더 구성되며, 상기 조회 응답 메시지는 상기 표시를 포함하는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서, 상기 조회 요구 메시지는 블루투스 조회 명령이고, 상기 조회 응답 메시지는 블루투스 조회 결과 명령인 것을 특징으로 하는 시스템.
  6. 제5항에 있어서, 상기 블루투스 조회 결과 명령내의 적어도 한 비트를 적어도 하나의 소정의 값으로 설정하는 것은 상기 표시인 것을 특징으로 하는 시스템.
  7. 제6항에 있어서, 상기 적어도 하나의 비트는 애드 혹 네트워킹 인식 비트, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
  8. 제5항에 있어서, 상기 블루투스 조회 결과 명령내의 적어도 두개의 비트들을 적어도 하나의 소정의 값으로 설정하는 것은 상기 표시인 것을 특징으로 하는 시스템.
  9. 제8항에 있어서, 상기 적어도 두개의 비트들은 애드 혹 네트워킹 인식 비트, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 두개를 포함하는 것을 특징으로 하는 시스템.
  10. 제8항에 있어서, 상기 적어도 두개의 비트들은 애드 혹 네트워킹 인식 비트를 포함하고, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
  11. 제1항에 있어서, 상기 접속을 생성하기 위하여, 상기 프로세서는,
    상기 적어도 하나의 부근의 장치로 향하는 상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 페이징 요구 메시지를 송신하도록 더 구성되고,
    상기 적어도 하나의 부근의 장치로부터 페이징 수락 메시지를 수신하도록 더 구성되는 것을 특징으로 하는 시스템.
  12. 제1항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 것을 확인하기 위하여, 상기 프로세서는,
    상기 적어도 하나의 부근의 장치로 인식 요구 메시지를 송신하도록 더 구성되고,
    상기 적어도 하나의 부근의 장치로부터 인식 응답 메시지를 수신하도록 더 구성되는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서, 상기 인식 응답 메시지의 수신은 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 것을 확인하는 것을 특징으로 하는 시스템.
  14. 제12항에 있어서, 상기 인식 응답 메시지는 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 확인을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 상기 인식 응답 메시지내의 적어도 한 비트를 적어도 하나의 소정의 값으로 설정하는 것은 상기 확인인 것을 특징으로 하는 시스템.
  16. 제12항에 있어서, 상기 인식 요구 메시지는 블루투스 서비스 발견 프로토콜 요구이고 상기 인식 응답 메시지는 블루투스 서비스 발견 프로토콜 응답인 것을 특징으로 하는 시스템.
  17. 제1항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하기 위하여,
    상기 프로세서는, 상기 적어도 하나의 부근의 장치로부터 통지 메시지를 수신하도록 더 구성되고, 상기 통지 메시지는 상기 적어도 하나의 부근의 장치에 저장된 로컬 애플리케이션 디렉토리를 포함하며,
    상기 프로세서는, 결합된 애플리케이션 디렉토리에 대한 갱신을 저장하도록 더 구성되고, 상기 갱신은 상기 로컬 애플리케이션 디렉토리 및 상기 결합된 애플리케이션 디렉토리의 비교에 기초하며,
    상기 프로세서는, 상기 적어도 하나의 부근의 장치로 갱신 메시지를 송신하도록 더 구성되고, 상기 갱신 메시지는 상기 적어도 하나의 부근의 장치에 저장된 상기 로컬 애플리케이션 디렉토리를 갱신하기 위한 상기 결합된 애플리케이션 디렉토리의 갱신 부분을 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 프로세서는, 상기 결합된 애플리케이션 디렉토리내의 참조에 기초하여 로컬 애플리케이션을 개시하도록 더 구성되고,
    상기 로컬 애플리케이션을 상기 적어도 하나의 부근의 장치상에서 실행되는 상대방 애플리케이션에 접속시키도록 더 구성되는 것을 특징으로 하는 시스템.
  19. 이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 방법에 있어서,
    적어도 하나의 부근의 장치를 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하는 단계로서, 상기 조회는 상기 적어도 하나의 부근의 장치가 미들웨어 계층을 포함할 수 있다는 표시를 포함하는 단계;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우:
    상기 적어도 하나의 부근의 장치에 대한 접속을 생성하는 단계;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는지를 확인하는 단계; 및
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우:
    상기 미들웨어 계층을 실행시켜 애플리케이션과 서비스 발견을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 미들웨어 계층은 서비스 발견 프로토콜 및 적어도 하나의 컴퓨터 프로그램을 포함하고, 각각의 컴퓨터 프로그램은 적어도 하나의 동작 명령들의 시퀀스를 포함하는 것을 특징으로 하는 방법.
  21. 제19항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 방법은 상기 미들웨어 계층을 실행시켜 애플리케이션들과 서비스들을 개시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제19항에 있어서, 상기 조회를 수행하는 단계는,
    상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 조회 요구 메시지를 송신하는 단계; 및
    상기 적어도 하나의 부근의 장치로부터 조회 응답 메시지를 수신하는 단계로서, 상기 조회 응답 메시지는 상기 표시를 포함하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서, 상기 조회 요구 메시지는 블루투스 조회 명령이고, 상기 조회 응답 메시지는 블루투스 조회 결과 명령인 것을 특징으로 하는 방법.
  24. 제23항에 있어서, 상기 블루투스 조회 결과 명령내의 적어도 한 비트를 적어도 하나의 소정의 값으로 설정하는 것은 상기 표시인 것을 특징으로 하는 방법.
  25. 제24항에 있어서, 상기 적어도 하나의 비트는 애드 혹 네트워킹 인식 비트, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  26. 제23항에 있어서, 상기 블루투스 조회 결과 명령내의 적어도 두개의 비트들을 적어도 하나의 소정의 값으로 설정하는 것은 상기 표시인 것을 특징으로 하는 방법.
  27. 제26항에 있어서, 상기 적어도 두개의 비트들은 애드 혹 네트워킹 인식 비트, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 두개를 포함하는 것을 특징으로 하는 방법.
  28. 제26항에 있어서, 상기 적어도 두개의 비트들은 애드 혹 네트워킹 인식 비트를 포함하고, 위치 정보 비트 및 텔레포니 가능 비트 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  29. 제19항에 있어서, 상기 접속을 생성하는 단계는,
    상기 적어도 하나의 부근의 장치로 향하는 상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 페이징 요구 메시지를 송신하는 단계; 및
    상기 적어도 하나의 부근의 장치로부터 페이징 수락 메시지를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  30. 제19항에 있어서, 상기 확인 단계는,
    상기 적어도 하나의 부근의 장치로 인식 요구 메시지를 송신하는 단계; 및
    상기 적어도 하나의 부근의 장치로부터 인식 응답 메시지를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  31. 제30항에 있어서, 상기 인식 응답 메시지를 수신하는 단계는 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 것을 확인하는 것을 특징으로 하는 방법.
  32. 제30항에 있어서, 상기 인식 응답 메시지는 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 확인을 포함하는 것을 특징으로 하는 방법.
  33. 제32항에 있어서, 상기 인식 응답 메시지내의 적어도 한 비트를 적어도 하나의 소정의 값으로 설정하는 것은 상기 확인인 것을 특징으로 하는 방법.
  34. 제30항에 있어서, 상기 인식 요구 메시지는 블루투스 서비스 발견 프로토콜 요구이고 상기 인식 응답 메시지는 블루투스 서비스 발견 프로토콜 응답인 것을 특징으로 하는 방법.
  35. 제19항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하는 단계는,
    상기 적어도 하나의 부근의 장치로부터 통지 메시지를 수신하는 단계로서, 상기 통지 메시지는 상기 적어도 하나의 부근의 장치에 저장된 로컬 애플리케이션 디렉토리를 포함하는 단계;
    결합된 애플리케이션 디렉토리에 대한 갱신을 저장하는 단계로서, 상기 갱신은 상기 로컬 애플리케이션 디렉토리 및 상기 결합된 애플리케이션 디렉토리의 비교에 기초하는 단계; 및
    상기 적어도 하나의 부근의 장치로 갱신 메시지를 송신하는 단계로서, 상기 갱신 메시지는 상기 적어도 하나의 부근의 장치에 저장된 상기 로컬 애플리케이션 디렉토리를 갱신하기 위한 상기 결합된 애플리케이션 디렉토리의 갱신 부분을 포함하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  36. 제35항에 있어서, 상기 결합된 애플리케이션 디렉토리내의 참조에 기초하여 로컬 애플리케이션을 개시하는 단계; 및
    상기 로컬 애플리케이션을 상기 적어도 하나의 부근의 장치상에서 실행되는 상대방 애플리케이션에 접속시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  37. 이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 컴퓨터 프로그램 생성물에 있어서,
    적어도 하나의 부근의 장치를 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하기 위한 프로그램 코드로서, 상기 조회는 상기 적어도 하나의 부근의 장치가 미들웨어 계층을 포함할 수 있다는 표시를 포함하는 프로그램 코드;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우, 상기 적어도 하나의 부근의 장치에 대한 접속을 생성하기 위한 프로그램 코드;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는지를 확인하기 위한 프로그램 코드; 및
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 미들웨어 계층을 실행시켜 애플리케이션과 서비스 발견을 수행하기 위한 프로그램 코드를 저장하는 컴퓨터 판독가능 매체를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  38. 제37항에 있어서, 상기 미들웨어 계층은 서비스 발견 프로토콜 및 적어도 하나의 컴퓨터 프로그램을 포함하고, 각각의 컴퓨터 프로그램은 적어도 하나의 동작 명령들의 시퀀스를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  39. 제37항에 있어서, 상기 컴퓨터 판독가능 매체는, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 미들웨어 계층을 실행시켜 애플리케이션들과 서비스들을 개시하기 위한 프로그램 코드를 더 저장하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  40. 제37항에 있어서, 상기 조회를 수행하기 위한 프로그램 코드는,
    상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 조회 요구 메시지를 송신하기 위한 프로그램 코드; 및
    상기 적어도 하나의 부근의 장치로부터 조회 응답 메시지를 수신하는 프로그램 코드로서, 상기 조회 응답 메시지는 상기 표시를 포함하는 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  41. 제37항에 있어서, 상기 접속을 생성하기 위한 프로그램 코드는,
    상기 적어도 하나의 부근의 장치로 향하는 상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 페이징 요구 메시지를 송신하기 위한 프로그램 코드; 및
    상기 적어도 하나의 부근의 장치로부터 페이징 수락 메시지를 수신하기 위한 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  42. 제37항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 것을 확인하기 위한 프로그램 코드는,
    상기 적어도 하나의 부근의 장치로 인식 요구 메시지를 송신하기 위한 프로그램 코드; 및
    상기 적어도 하나의 부근의 장치로부터 인식 응답 메시지를 수신하기 위한 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  43. 제37항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하기 위한 프로그램 코드는,
    상기 적어도 하나의 부근의 장치로부터 통지 메시지를 수신하기 위한 프로그램 코드로서, 상기 통지 메시지는 상기 적어도 하나의 부근의 장치에 저장된 로컬 애플리케이션 디렉토리를 포함하는 프로그램 코드;
    결합된 애플리케이션 디렉토리에 대한 갱신을 저장하기 위한 프로그램 코드로서, 상기 갱신은 상기 로컬 애플리케이션 디렉토리 및 상기 결합된 애플리케이션 디렉토리의 비교에 기초하는 프로그램 코드; 및
    상기 적어도 하나의 부근의 장치로 갱신 메시지를 송신하기 위한 프로그램 코드로서, 상기 갱신 메시지는 상기 적어도 하나의 부근의 장치에 저장된 상기 로컬 애플리케이션 디렉토리를 갱신하기 위한 상기 결합된 애플리케이션 디렉토리의 갱신 부분을 포함하는 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  44. 제43항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하기 위한 프로그램 코드는,
    상기 결합된 애플리케이션 디렉토리내의 참조에 기초하여 로컬 애플리케이션을 개시하기 위한 프로그램 코드; 및
    상기 로컬 애플리케이션을 상기 적어도 하나의 부근의 장치상에서 실행되는 상대방 애플리케이션에 접속시키기 위한 프로그램 코드를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  45. 이동 애드 혹 통신 네트워크에서 장치 검출 및 서비스 발견을 수행하기 위한 시스템에 있어서,
    적어도 하나의 부근의 장치를 발견하기 위하여 상기 이동 애드 혹 통신 네트워크의 조회를 수행하기 위한 수단으로서, 상기 조회는 상기 적어도 하나의 부근의 장치가 미들웨어 계층을 포함할 수 있다는 표시를 포함하는 수단;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우, 상기 적어도 하나의 부근의 장치에 대한 접속을 생성하기 위한 수단;
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함할 수 있다는 표시를 상기 조회가 포함하는 경우, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는지를 확인하기 위한 수단; 및
    상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 미들웨어 계층을 실행시켜 애플리케이션과 서비스 발견을 수행하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  46. 제45항에 있어서, 상기 미들웨어 계층은 서비스 발견 프로토콜 및 적어도 하나의 컴퓨터 프로그램을 포함하고, 각각의 컴퓨터 프로그램은 적어도 하나의 동작 명령들의 시퀀스를 포함하는 것을 특징으로 하는 시스템.
  47. 제45항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함하는 경우, 상기 미들웨어 계층을 실행시켜 애플리케이션들과 서비스들을 개시하기 위한 수단을 더 포함하는 것을 특징으로 하는 시스템.
  48. 제45항에 있어서, 상기 조회를 수행하기 위한 수단은,
    상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 조회 요구 메시지를 송신하기 위한 수단; 및
    상기 적어도 하나의 부근의 장치로부터 조회 응답 메시지를 수신하기 위한 수단으로서, 상기 조회 응답 메시지는 상기 표시를 포함하는 수단을 더 포함하는 것을 특징으로 하는 시스템.
  49. 제45항에 있어서, 상기 접속을 생성하기 위한 수단은,
    상기 적어도 하나의 부근의 장치로 향하는 상기 이동 애드 혹 통신 네트워크내의 통신 가능 구역으로 페이징 요구 메시지를 송신하기 위한 수단; 및
    상기 적어도 하나의 부근의 장치로부터 페이징 수락 메시지를 수신하기 위한 수단을 더 포함하는 것을 특징으로 하는 시스템.
  50. 제45항에 있어서, 상기 적어도 하나의 부근의 장치가 상기 미들웨어 계층을 포함한다는 것을 확인하기 위한 수단은,
    상기 적어도 하나의 부근의 장치로 인식 요구 메시지를 송신하기 위한 수단; 및
    상기 적어도 하나의 부근의 장치로부터 인식 응답 메시지를 수신하기 위한 수단을 더 포함하는 것을 특징으로 하는 시스템.
  51. 제45항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하기 위한 수단은,
    상기 적어도 하나의 부근의 장치로부터 통지 메시지를 수신하기 위한 수단으로서, 상기 통지 메시지는 상기 적어도 하나의 부근의 장치에 저장된 로컬 애플리케이션 디렉토리를 포함하는 수단;
    결합된 애플리케이션 디렉토리에 대한 갱신을 저장하기 위한 수단으로서, 상기 갱신은 상기 로컬 애플리케이션 디렉토리 및 상기 결합된 애플리케이션 디렉토리의 비교에 기초하는 수단; 및
    상기 적어도 하나의 부근의 장치로 갱신 메시지를 송신하기 위한 수단으로서, 상기 갱신 메시지는 상기 적어도 하나의 부근의 장치에 저장된 상기 로컬 애플리케이션 디렉토리를 갱신하기 위한 상기 결합된 애플리케이션 디렉토리의 갱신 부분을 포함하는 수단을 더 포함하는 것을 특징으로 하는 시스템.
  52. 제51항에 있어서, 상기 미들웨어 계층을 실행시켜 애플리케이션 및 서비스 발견을 수행하기 위한 수단은,
    상기 결합된 애플리케이션 디렉토리내의 참조에 기초하여 로컬 애플리케이션을 개시하기 위한 수단; 및
    상기 로컬 애플리케이션을 상기 적어도 하나의 부근의 장치상에서 실행되는 상대방 애플리케이션에 접속시키기 위한 수단을 더 포함하는 것을 특징으로 하는 시스템.
KR1020057007627A 2002-10-31 2003-10-30 이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스발견 시스템 및 방법 KR100712047B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/284,135 US6909721B2 (en) 2002-10-31 2002-10-31 Device detection and service discovery system and method for a mobile ad hoc communications network
US10/284,135 2002-10-31
US10/662,407 2003-09-16
US10/662,407 US7590097B2 (en) 2002-10-31 2003-09-16 Device detection and service discovery system and method for a mobile ad hoc communications network

Publications (2)

Publication Number Publication Date
KR20050063798A true KR20050063798A (ko) 2005-06-28
KR100712047B1 KR100712047B1 (ko) 2007-04-27

Family

ID=32233093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007627A KR100712047B1 (ko) 2002-10-31 2003-10-30 이동 애드 혹 통신 네트워크를 위한 장치 검출과 서비스발견 시스템 및 방법

Country Status (7)

Country Link
EP (1) EP1556966A4 (ko)
JP (2) JP4050297B2 (ko)
KR (1) KR100712047B1 (ko)
AU (1) AU2003278417B2 (ko)
BR (1) BR0315766A (ko)
CA (1) CA2501566C (ko)
WO (1) WO2004040918A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100829248B1 (ko) * 2006-07-14 2008-05-14 엘지전자 주식회사 애드혹 통신을 이용한 이동통신단말기의 소프트웨어 패키지업데이트 방법,이를 수행하기 위한 이동통신단말기,애드혹 네트워크 상의 서빙 단말 설정방법, 및 애드혹네트워크 상의 서빙 단말을 이용한 클라이언트 단말의소프트웨어 패키지 업데이트 방법
KR101307077B1 (ko) * 2007-10-31 2013-09-11 모토로라 모빌리티 엘엘씨 Rfid를 통하여 수신된 구성 데이터를 이용한 단거리 무선 통신 파라미터의 교섭

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493373B2 (en) 2004-12-27 2009-02-17 Nokia Corporation Providing service distribution between distributed applications
US8559350B2 (en) * 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US8616976B2 (en) 2006-11-07 2013-12-31 Core Wireless Licensing S.A.R.L. Gaming via peer-to-peer networks
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US9043478B2 (en) 2009-12-15 2015-05-26 Qualcomm Innovation Center, Inc. Methods and apparatus for using a distributed message bus for ad hoc peer-to-peer connectivity
US10123187B2 (en) 2012-04-17 2018-11-06 Qualcomm Incorporated Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems
US20140214940A1 (en) * 2013-01-31 2014-07-31 Sony Corporation Networked devices matching capabilities with tasks
US10003659B2 (en) * 2014-10-31 2018-06-19 Qualcomm Incorporated Efficient group communications leveraging LTE-D discovery for application layer contextual communication
CN114553730B (zh) * 2022-04-27 2022-07-15 远江盛邦(北京)网络安全科技股份有限公司 一种应用识别方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4398042B2 (ja) * 2000-01-28 2010-01-13 パナソニック株式会社 送信装置、受信装置、送受信装置、送信方法および受信方法
JP2001344163A (ja) * 2000-05-31 2001-12-14 Matsushita Electric Ind Co Ltd 信号処理装置、媒体および情報集合体
JP2002099473A (ja) * 2000-09-25 2002-04-05 Casio Comput Co Ltd ネットワーク上のサービス情報収集方法、ネットワーク上のサービス情報収集装置及びネットワーク上のサービス情報収集プログラムを格納した記録媒体
US8126982B2 (en) 2001-02-16 2012-02-28 International Business Machines Corporation Method, network device and computer program product for performing service discovery in a pervasive network
DE10112409B4 (de) 2001-03-13 2005-06-16 M-Creations Gmbh Verfahren und System zur Datenverwaltung, sowie entsprechende Verwendung des Verfahrens und/oder des Systems
US20020178216A1 (en) * 2001-03-13 2002-11-28 Stefan Walther Method and system for data management
JP2002281546A (ja) * 2001-03-15 2002-09-27 Sharp Corp 無線通信システム
US7089298B2 (en) 2001-08-20 2006-08-08 Nokia Corporation Naming distribution method for ad hoc networks
KR100400823B1 (ko) * 2001-11-01 2003-10-08 주식회사 유한정밀 전로내 다트 투입 장치를 위한 다트 공급장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100829248B1 (ko) * 2006-07-14 2008-05-14 엘지전자 주식회사 애드혹 통신을 이용한 이동통신단말기의 소프트웨어 패키지업데이트 방법,이를 수행하기 위한 이동통신단말기,애드혹 네트워크 상의 서빙 단말 설정방법, 및 애드혹네트워크 상의 서빙 단말을 이용한 클라이언트 단말의소프트웨어 패키지 업데이트 방법
KR101307077B1 (ko) * 2007-10-31 2013-09-11 모토로라 모빌리티 엘엘씨 Rfid를 통하여 수신된 구성 데이터를 이용한 단거리 무선 통신 파라미터의 교섭

Also Published As

Publication number Publication date
JP2006510124A (ja) 2006-03-23
CA2501566A1 (en) 2004-05-13
AU2003278417B2 (en) 2007-05-31
JP2008017495A (ja) 2008-01-24
EP1556966A4 (en) 2009-01-21
BR0315766A (pt) 2005-09-06
JP4563425B2 (ja) 2010-10-13
KR100712047B1 (ko) 2007-04-27
JP4050297B2 (ja) 2008-02-20
CA2501566C (en) 2012-07-10
WO2004040918A2 (en) 2004-05-13
EP1556966A2 (en) 2005-07-27
AU2003278417A1 (en) 2004-05-25
WO2004040918A3 (en) 2005-05-26

Similar Documents

Publication Publication Date Title
US7590097B2 (en) Device detection and service discovery system and method for a mobile ad hoc communications network
JP4563425B2 (ja) 移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法
US7313120B2 (en) Application control in peer-to-peer ad-hoc communication networks
EP1517488A2 (en) Mechanism for improving connection control in peer-to-peer ad-hoc networks
EP1440588B1 (en) Customized messaging between wireless access point and services
US7379958B2 (en) Automatic and dynamic service information delivery from service providers to data terminals in an access point network
US8005952B2 (en) Method for intelligently selecting wireless access point
US8060590B2 (en) Distance-aware service discovery mechanism for determining the availability of remote services in wireless personal area networks
US8515350B2 (en) Resolving an application service change in a system using bluetooth
US9438718B2 (en) Method for selecting and configuring wireless connections in an electronic device
JP3771850B2 (ja) サービス・ディスカバリを実行する方法、ネットワーク装置、及びコンピュータ・プログラム・エレメント
KR100636319B1 (ko) Ap와 접속된 단말의 소프트웨어 자동 업그레이드 시스템및 방법
JP2003198672A (ja) 携帯通信端末およびその制御方法
US20030120781A1 (en) Method and system for user initiated connectivity to a communication network
CN105122723B (zh) 用于管理设备的方法及装置
Hämäläinen et al. Service Discovery in Mobile Peer-to-Peer Environment
JP2004128753A (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: 20120409

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130403

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee