KR101183334B1 - 장치 서비스 공급자 인터페이스 - Google Patents

장치 서비스 공급자 인터페이스 Download PDF

Info

Publication number
KR101183334B1
KR101183334B1 KR1020050068217A KR20050068217A KR101183334B1 KR 101183334 B1 KR101183334 B1 KR 101183334B1 KR 1020050068217 A KR1020050068217 A KR 1020050068217A KR 20050068217 A KR20050068217 A KR 20050068217A KR 101183334 B1 KR101183334 B1 KR 101183334B1
Authority
KR
South Korea
Prior art keywords
component
rfid
interface
provider
dspi
Prior art date
Application number
KR1020050068217A
Other languages
English (en)
Other versions
KR20060092836A (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 KR20060092836A publication Critical patent/KR20060092836A/ko
Application granted granted Critical
Publication of KR101183334B1 publication Critical patent/KR101183334B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 균일한 통신, 발견 및 관리를 제공하기 위하여 장치 컴포넌트와의 상호작용을 용이하게 하는 시스템 및/또는 방법을 제공한다. 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트는 무선 주파수 식별(RFID) 장치를 통신 및/또는 관리하기 위한 균일한 방식을 제공할 수 있다. DSPI 컴포넌트는 하나 이상의 RFID 서버 데이터 및 RFID 장치 데이터를 수신하는 수신기 컴포넌트를 포함할 수 있다. DSPI 컴포넌트는 균일한 방식으로 RFID 장치와 RFID 서버 사이에 RFID 서버 데이터 및 RFID 장치 데이터 중 하나 이상의 통신을 용이하게 하는 인터페이스를 정의할 수 있다. 인터페이스(들)는 발견, 구성, 통신 및 연결 관리를 핸들링하기 위하여 정의될 수 있다.
균일한 통신, 장치 발견, 무선 주파수 식별, 인터페이스

Description

장치 서비스 공급자 인터페이스{DEVICE SERVICE PROVIDER INTERFACE}
도 1은 장치 컴포넌트와의 상호작용을 용이하게 하는 예시적인 시스템의 블럭도.
도 2는 장치와의 상호작용을 용이하게 하는 예시적인 시스템의 블럭도.
도 3은 무선 주파수 식별 시스템 내의 장치와의 상호작용을 용이하게 하는 예시적인 시스템의 블럭도.
도 4는 장치와의 통신을 용이하게 하는 예시적인 시스템의 블럭도.
도 5는 장치와의 통신을 용이하게 하는 예시적인 시스템의 블럭도.
도 6은 장치와의 통신을 용이하게 하는 예시적인 시스템의 블럭도.
도 7은 장치와의 통신을 용이하게 하는 예시적인 시스템의 블럭도.
도 8은 다수의 장치 및 관련 공급자들과의 통신을 용이하게 하는 예시적인 시스템의 블럭도.
도 9는 장치와의 상호작용을 용이하게 하는 예시적인 시스템의 블럭도.
도 10은 장치에 균일한 서비스 제공을 용이하게 하는 예시적인 방법론의 흐름도.
도 11은 장치에 균일한 서비스 제공을 용이하게 하는 예시적인 방법론의 흐 름도.
도 12는 장치에 균일한 서비스 제공을 용이하게 하는 예시적인 방법론의 흐름도.
도 13은 본 발명의 새로운 양상들이 이용될 수 있는 예시적인 네트워크 환경을 도시하는 도면.
도 14는 본 발명의 새로운 양상들이 이용될 수 있는 예시적인 운영 환경을 도시하는 도면.
<도면의 주요부분에 대한 부호의 설명>
102: 장치 인터페이스 컴포넌트
104: 장치 컴포넌트
106: 서버
108: 수신기 컴포넌트
<상호참조>
[문헌 1] 2004년 9월 1일 출원된 미국 가출원 번호 60/606,281, 제목 "RFID 서버 프로그래밍 모델 및 API를 용이하게 하는 시스템 및 방법(SYSTEM AND METHODS THAT FACILITATE RFID SERVER PROGRAMMING MODEL AND API'S)"
[문헌 2] 2004년 9월 2일 출원된 미국 가출원 번호 60/606,577, 제목 "RFID 서버 프로그래밍 모델 및 API 용이하게 하기(FACILITATE RFID SERVER PROGRAMING MODEL AND API'S)"
본 발명은 일반적으로 무선 주파수 식별(radio frequency identification, RFID)에 관한 것이며, 보다 상세하게는, 균일한(uniform) RFID 통신 및 관리의 제공을 용이하게 하는 시스템 및/또는 방법에 관한 것이다.
많은 소매업체, 제조업체 및 유통업체는 효율성을 증가시키기 위하여 상이하고 혁신적인 운영 방법들을 적용하고 있다. 이러한 업체들은 소비자에 관련된 공급 및 수요의 최적화를 용이하게 하기 위하여 가게 재고품을 모니터링할 수 있다. 이익을 최대화하는 하나의 양상은 상품 및/또는 제품의 소모와 함께 보급이 발생하도록 재고품을 적절히 비축하는 것에 달려 있다. 예를 들어, 컴퓨터 및/또는 VCR을 판매하는 소매 상인은 컴퓨터를 그 소비자 판매에 관련하여 비축하고, VCR을 그 소비자 판매에 관련하여 비축해야 한다. 따라서, 만약 컴퓨터가 VCR보다 높은 수요를 가지면(예를 들어, 더 많은 유닛이 판매됨), 소매 상인은 공급 및 수요를 최적화하고, 그에 따라 이익을 최적화하기 위하여 컴퓨터를 더욱 빈번히 비축할 수 있다. 재고품 및 관련 판매를 모니터링하는 것은 복잡한 작업일 수 있고, 제품 활동은 그 내부 동작이 알려지지 않기 때문에 블랙 박스에 비교될 수 있지만, 그럼에도 불구하고 제품 모니터링은 재고품/제품 효율성에 있어서 중요한 구성요소이다.
제품에 관한 모니터링 시스템의 한 유형은 제조업, 서비스 및/또는 상품 배달업에서 널리 사용되는 휴대형 이미지 컬렉션 장치(portable image collection device)(예를 들어, 바코드 판독기)이다. 그러한 장치들은 다양한 온-사이트(on-site) 데이터 컬렉션 활동을 수행할 수 있다. 휴대형 데이터 컬렉션 장치는 종종 제고품 제어, 추적, 생산 제어 및 촉진, 품질 보증 및/또는 기타 목적을 위하여, 창고, 소매상, 선적 터미널에서 제품, 제품 포장 및/또는 컨테이너에 부착된 바코드 데이터폼(bar code dataform)을 판독하도록 적응된 통합 바코드 데이터폼 판독기(integrated bar code dataform reader)를 포함한다.
고유 바코드는 제품에 위치될 수 있는데, 바코드는 그 제품에 관한 정보에 관련될 수 있다. 바코드 스캐너는 제품 상의 바코드를 스캔하기 위해 이용될 수 있고, 제품 관련 정보는 그것으로부터 검색될 수 있다. 그러나, 그러한 식별 정보는 제품을 지저분하게 할 수 있기 때문에, 그러한 정보는 미관상 좋지 않다. 게다가, 바코드가 찢어지거나 얼룩지거나, 주석이 달아지거나 또는 기타 물리적 손상/변질이 가해지면, 그러한 기존의 시스템 및/또는 방법은 거의 쓸모없게 될 수 있다. 제품으로부터 바코드의 일부가 뜯어지면, 바코드 스캐너는 바코드를 올바르게 판독할 수 없을지도 모른다. 마찬가지로, 제품 상의 얼룩은 그러한 바코드를 판독할 수 없게 할 수 있다.
바코드 판독기 및 통일 제품 코드(universal product code, UPC)를 이용하는 모니터링 시스템 및/또는 방법은 사용자(예를 들어, 소매상, 유통업자, 제조자 등)를 부가적인 번거로움에 직면하게 한다. 바코드 판독기가 제품을 적절히 모니터링하기 위해서는 가시선(line of sight)이 필요하다. 예를 들어, 전형적인 바코드 시스템은 올바른 판독을 달성하기 위하여 스캐너가 바코드 및/또는 UPC로부터 4-8 인치 이내에 있을 것을 요구한다. 바코드 시스템은 가시선만을 요구하는 것이 아니라, 제품을 식별하기 위하여 각 개개의 제품에 대해 수동 스캔이 필수적이다. 게다가, 단일 바코드 및/또는 UPC가 제품의 모든 인스턴스를 나타내야 한다(예를 들어, 브랜드 Tomato의 케첩 병은 제품의 표현을 위한 단일 UPC 및/또는 바코드를 지정받음). 또한, 단일 바코드 및/또는 UPC에 관련된 정보의 양이 제한된다. 따라서, 브랜드 Tomato 케첩의 스캐닝은 제품 식별 및 가격을 제공할 수 있다. 그 정보는 빈약할 뿐 아니라, 실시간 제품 모니터링에 도움이 되지 않는다.
자동 식별 및 데이터 캡쳐(automatic identification and data capture, AIDC) 기술, 특히, 무선 주파수 식별(RFID)은 적어도 모니터링 시스템 및/또는 방법(예를 들어, 바코드 판독기, 바코드 및/또는 UPC)의 상기 결점들을 고쳐야 할 필요성에 기초하여 개발되어 오고 있다. RFID는 RFID 태그를 이용하여 데이터를 원격으로 저장 및 검색하는 기술이다. RFID 시스템은 무선 주파수 및 관련 신호에 기초하기 때문에, 제품을 모니터링하는 데에 있어서 여러 이득 및/또는 이점이 기존의 기술들보다 우월하다. RFID 기술은 제품을 모니터링하고/거나 RFID 태그로부터 신호를 수신하기 위하여 가시선을 요구하지 않는다. 따라서, 스캐너가 타겟(예를 들어, 제품)으로부터 매우 근접하여 있도록 요구되는 수동 스캔이 필요하지 않다. 하지만, RFID에서는, 무선 주파수, RFID 태그 크기, 및 관련 전원에 기초하여 범위가 제한된다. 부가적으로, RFID 시스템은 신속한 스캔 및 식별을 제공하면서 수 초 내에 다수의 판독을 허용한다. 즉, RFID 시스템은 복수의 태그가 RFID 판독기의 범위 내에 있으면, 그 태그들이 판독되고/거나 식별되도록 허용한다. RFID 시스템에서의 다중 판독의 기능은 각 개개의 제품에 고유 식별 코드를 포함하는 정보 태그를 제공하는 기능을 부여받는다. 그러므로, 바코드 시스템과 대조적으로, 브랜드 Tomato에 의해 만들어진 케첩의 각 병은 관련 식별 코드를 가질 것이다. 예를 들어, RFID 시스템 내에서는 브랜드 Tomato에 의해 만들어진 케첩 두 병이 그들에 관련된 두 개의 개별 식별 코드를 갖는 반면, 바코드 시스템에서는, 브랜드 Tomato에 의해 만들어진 케첩 두 병이 동일한 바코드 및/또는 UPC를 가질 것이다. 또다른 예에서, RFID 시스템 및/또는 방법은 물 속의 파이프를 추적 및/또는 모니터링하는 것과 같이 물에서 구현될 수 있는 반면, 바코드 시스템은 그러한 환경 하에서 여러 번거로움을 제공한다.
게다가, RFID 시스템 및/또는 방법은 태그된 아이템에 관련된 실시간 데이터를 제공한다. 실시간 데이터 스트림은 소매상, 유통업자 및/또는 제조자에게 정밀하게 재고품 및/또는 제품을 모니터링하는 기능을 허용한다. RFID를 이용하는 것은 또한 전단 유통(front-end distribution)(예를 들어, 소매상이 소비자에게) 및 후단 유통(back-end distribution)(예를 들어, 유통업자/제조자가 소매상에게)에 대한 제품 공급을 용이하게 할 수 있다. 유통업자 및/또는 제조자는 상품의 배송, 품질, 양, 배송 시각 등을 모니터링할 수 있다. 또한, 소매상은 수취된 재고품의 양, 그러한 재고품의 위치, 품질, 저장 수명 등을 추적할 수 있다. 기술된 이점들은 전단 공급, 후단 공급, 유통 체인, 제조, 소매상, 자동화 등과 같은 여러 영역에 걸쳐 기능하기 위한 RFID 기술의 유연성을 설명한다.
RFID 시스템은 적어도 RFID 태그 및 RFID 송수신기로 구성된다. RFID 태그 는 RFID 송수신기로부터의 무선 주파수 질의에 대한 수신 및/또는 전송을 제공하는 안테나를 포함할 수 있다. RFID 태그는, 예를 들어, 점착성이 있는 스티커, 구부리기 쉬운 라벨 및 집적 칩 등과 같이 작은 객체일 수 있다. 전형적으로 RFID 태그가 이용하는 4가지 상이한 주파수가 존재하는데, 저 주파수 태그(125 내지 134 킬로헤르츠), 고 주파수 태그(13.56 메가헤르츠), UHF 태그(868 내지 956 메가헤르츠) 및 마이크로웨이브 태그(2.45 기가헤르츠)가 그것이다.
다양한 주파수 범위 내에서, RFID 태그는 수동적이거나 능동적일 수 있다. 수동적 RFID 태그는 전력 공급을 포함하지 않는다. RFID 송수신기로부터 수신된 무선 주파수에 의해 안테나에 전류가 유도되면, 응답하기에 충분한 전력이 태그에 제공된다. 여러 경우에, 수동적 RFID 태그 응답은 단순히 ID 번호(예를 들어, 전역 고유 식별자(GUID))로 구성된다. GUID는 고유하고 표준 통합 고유 식별자(Universally Unique Identifier, UUID)(예를 들어, 16진법 포맷으로 작성된 16 바이트 번호)에 의해 구현될 수 있는 고유한 의사-난수이다. 그러나, RFID 시스템 및/또는 방법은, 예를 들어, 전자 제품 코드(EPC)라 불리는 멀티-비트 포맷(예를 들어, 64비트 또는 96비트)으로의 정보 저장으로 수렴하고 있다. 수동적 RFID 태그에서 전력 공급의 결여는 장치가 소형 및 비용-효율적이도록 허용한다. 몇몇 수동적 RFID 태그는 종이 한 장보다 더 얇은 두께를 갖는 .4mm x .4mm인 것으로 측정된다. 하지만, 전력 공급의 부재는 수동적 RFID 태그의 실용적 판독 범위를 10mm 내지 약 5m로 제한한다.
능동적 RFID 태그는 더 긴 판독 범위를 제공하는 전원을 포함한다. 전형적 인 능동적 RFID 태그는 대략 미국 통용 동전 크기이고, 배터리 수명을 수년까지 유지하면서 약 수십 미터의 판독 범위를 제공한다. 게다가, 능동적 RFID 태그는 판독될 수 있고/거나 작성될 수 있다. 예를 들어, RFID 태그는 능동적 RFID 태그에 작성함으로써 도난을 방지하는 부가적인 보안 계층을 제공할 수 있다. 보안 비트는 적어도 RFID 송수신기에 기초하여 보안 상태를 결정할 수 있다. 예를 들어, 한 보안 시스템에서, 능동적 RFID 태그는 1로 설정된/작성된 보안 비트를 가질 수 있는데, 그것은 제품이 경보/경고를 유발하지 않고서 보안 지역을 떠나도록 클리어되지 않는다는 것을 나타낼 수 있다. 적합한 상황이 존재하면, RFID 시스템 및/또는 방법은 태그에 있는 비트를 0으로 작성할 수 있고, 그것은 태그된 제품이 보안 지역을 떠나도록 클리어된 것을 나타낼 수 있다.
일반적으로, RFID 시스템은 태그, 태그 판독기(예를 들어, 태그 송수신기), 태그-프로그래밍 스테이션, 순환 판독기(circulation reader), 정렬 장치, 태그 재고품 표시(tag inventory wand) 등과 같은 다수의 컴포넌트를 포함할 수 있다. 게다가, 다양한 구조(make), 모델, 유형, 및/또는 적용이 개개의 컴포넌트들(예를 들어, 태그, 태그 판독기, 태그 프로그래밍 스테이션, 순환 판독기, 정렬 장치, 태그 재고품 표시 등)에 관련될 수 있는데, 그것은 발견, 구성, 셋업(setup), 통신, 유지, 보안, 및/또는 RFID 시스템 내 및 다른 RFID 시스템과의 호환성을 복잡하게 할 수 있다. 상기의 관점에서, 제작자 및 관련 가공품에 관하여 RFID 장치에 대한 발견, 구성, 셋업 및 통신하기 위한 균일한 방식을 제공할 필요가 있다.
다음은 본 발명의 소정 양상에 대한 기본적인 이해를 제공하기 위하여 본 발명의 단순화된 요약을 제공한다. 이 요약은 본 발명의 포괄적인 개요가 아니다. 본 발명의 중요하거나 결정적인 구성요소를 식별하고자 하거나, 본 발명의 범위를 서술하고자 하는 것도 아니다. 유일한 목적은 후에 제공되는 보다 상세한 설명에 대한 도입부로서 본 발명의 소정 양상을 단순화된 형태로 제공하고자 하는 것이다.
본 발명은 무선 주파수 식별(RFID) 장치 및/또는 기타 실시간 이벤트 생성 시스템(예를 들어, 센서, 웹 서비스 등)과의 상호작용을 용이하게 하는 시스템 및/또는 방법에 관한 것이다. 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트는 장치의 유형 및/또는 브랜드에 관계없이 균일한 방식으로 통신하고 장치(들)를 관리하기 위한 추상화 계층(abstraction layer)을 제공할 수 있다. 특히, DSPI 컴포넌트는 RFID 서버에게 균일하게 서비스를 제공하기 위하여 장치 판매자(예를 들어, 판독기 판매자)에 대하여 적어도 하나의 인터페이스를 정의한다. 따라서, DSPI 컴포넌트는 서버와 적어도 하나의 장치 사이의 계층이다. 게다가, DSPI 컴포넌트는 발견, 구성, 통신 및 연결 관리를 핸들링하기 위한 인터페이스를 정의할 수 있다.
본 발명의 한 양상에 따르면, DSPI 컴포넌트는 장치에 관한 프로토콜 번역(protocol translation), RFID 서버 데이터, RFID 장치 데이터 등 중 하나 이상을 수신하는 수신기 컴포넌트를 포함할 수 있다. DSPI 컴포넌트는 장치 판매자 및 프로토콜 표준에 관계없이 장치에 균일하게 통신하고 장치의 기능을 노출하는 것을 용이하게 한다. 또한, 수신기 컴포넌트는 DSPI 컴포넌트에 관하여 외부적 및/또는 내부적일 수 있다. 장치는 RFID 판독기, RFID 작성기, RFID 송신기, RFID 장치, 센서, 실시간 생성 시스템, 실시간 센서, 웹 서비스에 확장할 수 있는 장치, 및 실시간 이벤트 생성 시스템 등일 수 있지만 이들로 제한되지 않는다는 점을 잘 알아야 한다.
본 발명의 또다른 양상에 따르면, DSPI 컴포넌트는 장치 계층에서 메시지 교환을 정의하는 요청 응답 컴포넌트를 포함할 수 있다. 메시지 교환은 비동기적일 수 있다는 점을 잘 알아야 한다. 게다가, 메시지 교환은 요청 응답 페어(request response pair), 통지, 명령어, 및/또는 속성일 수 있다. 메시지 교환은 요청 응답 컴포넌트에 의해 이용되는데, 메시지 교환은 RFID 서버와 적어도 하나의 RFID 장치 사이의 마크업 언어 신택스(markup language syntax)이다. 마크업 언어는 확장성 마크업 언어(XML), 하이퍼텍스트 마크업 언어(HTML), 표준 범용 마크업 언어(SGML), 및 확장성 하이퍼텍스트 마크업 언어(XHTML)일 수 있지만, 이들로 제한되지는 않는다.
게다가, DSPI 컴포넌트는 메시지 계층 및/또는 전송 계층을 정의하는 장치 인터페이스 컴포넌트를 포함할 수 있다. 장치 인터페이스 컴포넌트는 RFID 서버와 적어도 하나의 RFID 장치 사이의 메시징 및 연결 관리를 제공한다. 장치 인터페이스 컴포넌트는 메시지(예를 들어, 통지, 응답, 요청 등)를 전송 및/또는 수신하기 위하여 마크업 언어 신택스를 이용할 수 있다.
본 발명의 또다른 양상에서, DSPI 컴포넌트는 RFID 장치를 발견하는 장치 발견 인터페이스 컴포넌트를 포함할 수 있다. 따라서, 장치 발견 인터페이스 컴포넌 트는 새로운 RFID 장치(들)를 알리고/거나 보고할 수 있는 인터페이스를 정의할 수 있다. 효율적이기 위하여, 장치 발견 인터페이스 컴포넌트는 공급자 당 하나의 컴포넌트를 인스턴스화할 수 있다. 게다가, DSPI 컴포넌트는 DSPI 공급자를 RFID 서버에 로드하는 것을 용이하게 하는 SPI 컨테이너 컴포넌트를 포함할 수 있다. SPI 컨테이너 컴포넌트는 RFID 서버와 SPI 사이의 버전-기능(version-ability)을 유지한다. 게다가, SPI 컨테이너 컴포넌트는 RFID 서버에 적어도 하나의 드라이버를 등록할 수 있다.
다음 설명 및 첨부 도면은 본 발명의 예시적인 양상들을 상세히 언급한다. 그러나, 이러한 양상들은 본 발명의 원칙들이 이용될 수 있는 다양한 방식들 중 소수만을 나타내며, 본 발명은 그러한 모든 양상 및 그들의 등가물들을 포함하도록 의도된다. 본 발명의 기타 이점 및 새로운 특성들은 도면과 함께 고려될 때 본 발명의 후술하는 상세 설명으로부터 명백해질 것이다.
본 출원에서 이용된 바와 같이, "컴포넌트", "시스템" 등의 용어들은 하드웨어든지, 소프트웨어(예를 들어, 실행중인), 및/또는 펌웨어든지 컴퓨터-관련 엔터티를 언급하기 위한 것이다. 예를 들어, 컴포넌트는 프로세서 상에서 동작하는 프로세스, 프로세서, 객체, 실행파일, 프로그램, 및/또는 컴퓨터일 수 있다. 예로서, 서버 상에서 동작하는 어플리케이션과 그 서버 둘다 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 편중될 수 있고/거나 둘 이상의 컴퓨터 사이에 분산될 수 있다.
본 발명은 동일한 참조 번호가 곳곳의 동일한 구성요소를 참조하기 위해 사 용되는 도면들을 참조하여 기술된다. 후술하는 기술에서, 설명을 위한 목적으로, 본 발명의 완전한 이해를 제공하기 위하여 다수의 특정 세부사항들이 언급된다. 그러나, 이러한 특정 세부사항들 없이도 본 발명이 실행될 수 있다는 것은 명백할 수 있다. 다른 경우들에, 본 발명의 기술을 용이하게 하기 위하여 잘 알려진 구조 및 장치가 블럭도 형태로 도시된다.
인공 지능 기반 시스템(예를 들어, 명시적으로 및/또는 암시적으로 훈련된 분류자)이 본 발명에 기술된 바와 같은 추론 및/또는 확률적 결정 및/또는 통계-기반 결정 수행과 함께 이용될 수 있다. 본 발명에 사용된 바와 같이, "추론"이라는 용어는 일반적으로 이벤트 및/또는 데이터를 통해 캡쳐된 관찰의 집합으로부터 시스템, 환경, 및/또는 사용자의 상태에 대해 논리적으로 생각하거나 추론하는 프로세스를 일컫는다. 추론은, 예를 들어, 특정 문맥 또는 동작을 식별하기 위하여 이용될 수 있고, 또는 상태들에 대한 확률 분포를 생성할 수 있다. 추론은 확률적일 수 있는데, 즉, 데이터 및 이벤트에 대한 고려에 기초한 흥미있는 상태들에 대한 확률 분포의 계산일 수 있다. 추론은 또한 이벤트 및/또는 데이터의 집합으로부터 더 높은 레벨의 이벤트를 구성하기 위해 이용된 기술을 일컬을 수 있다. 이벤트들이 시간상으로 매우 근접하여 상호관련되든지 아니든지, 그리고 이벤트 및 데이터가 하나의 이벤트 및 데이터 소스로부터 발생하든지 몇몇 이벤트 및 데이터 소스로부터 발생하든지, 그러한 추론은 관찰된 이벤트 및/또는 저장된 이벤트 데이터의 집합으로부터 새로운 이벤트 또는 동작의 구성으로 귀결된다. 본 발명과 관련한 자동화 및/또는 추론된 동작 수행과 함께 다양한 분류 방법 및/또는 시스템(예를 들어, 지원 벡터 기계, 신경망, 전문가 시스템, 베이지안 신뢰망(Bayesian belief network), 퍼지 로직, 데이터 퓨전 엔진 등)이 이용될 수 있다.
이제 도면들을 참조하면, 도 1은 균일한 통신 및/또는 관리를 제공하기 위해 장치 컴포넌트와의 상호작용을 용이하게 하는 시스템(100)을 도시한다. 시스템(100)은 장치 컴포넌트(104)를 균일한 방식으로 통신 및 관리하는 추상화 계층을 제공하기 위하여 장치 인터페이스 컴포넌트(102)를 이용할 수 있다. 장치 인터페이스 컴포넌트(102)는 서버(106)와 적어도 하나의 장치 컴포넌트(104) 사이의 "중간 중개자"로서 동작할 수 있다. 서버(106)는 예를 들어 RFID 서버일 수 있고, 적어도 하나의 서비스(예를 들어, 출판, 서명, 질의, 폴링, 관리, 모니터링, 갱신 등) 및/또는 프로그래밍된 컴퓨터 프로세스(예를 들어, 제조 및/또는 배송에 관련된 것 등)가 장치 컴포넌트(104)에 제공될 수 있다. 게다가, 장치 인터페이스 컴포넌트(102)는 서버 데이터, 장치에 관한 프로토콜 번역, RFID 서버 데이터, RFID 장치 데이터 등 중 하나 이상을 수신하는 수신기 컴포넌트(108)를 포함할 수 있다. 장치 인터페이스 컴포넌트(102)는 장치 판매자 및 프로토콜 표준에 관계없이 장치에 균일하게 통신하고 장치의 기능을 노출하는 것을 용이하게 한다는 점을 잘 알아야 한다. 또한, 수신기 컴포넌트(108)는 장치 인터페이스 컴포넌트(102)에 관하여 외부적 및/또는 내부적일 수 있다. 장치는 RFID 판독기, RFID 작성기, RFID 송신기, RFID 장치, 장치, 실시간 센서, 센서, 웹 서비스에 확장가능한 장치, 및 실시간 이벤트 생성 시스템 등일 수 있지만, 이들로 제한되지는 않는다는 점 또한 잘 알아야 한다.
장치 판매자(예를 들어, 특정 유형의 하드웨어 장치의 하드웨어 제조 및 관련 소프트웨어 드라이버를 전문으로 하는 개개의 하드웨어 판매자(IHV))는 적어도 부분적으로 장치 및 관련 명령어 집합의 과잉에 기초한 미들웨어 제품에 서비스를 제공하기 위하여 장치 인터페이스 컴포넌트(102)를 이용할 수 있다. 즉, 판매자로부터의 하나의 장치는 하나의 집합의 명령어들을 이용할 수 있고, 반면 또다른 장치는 실질상 다른 집합의 명령어들을 이용할 수 있다. 다양한 판매자 및 명령어 집합에 관한 문제들을 완화하기 위하여, 장치 인터페이스 컴포넌트(102)는 서버(106)에 균일한 방식으로 서비스를 제공하는 장치 판매자에 대한 인터페이스를 정의할 수 있다. 그러므로, 서버(106)는 장치 유연성을 제공하는 균일한 기술로 장치 컴포넌트(104)와 상호작용하기 위하여 장치 인터페이스 컴포넌트(102)를 이용할 수 있다. 게다가, 장치 인터페이스 컴포넌트(102)는 장치 컴포넌트(104)의 발견, 구성, 통신, 및 연결 관리를 위임(delegate)하기 위하여 인터페이스 및/또는 인터페이스들을 제공할 수 있다. 장치 인터페이스 컴포넌트(102)는 다수의 장치 컴포넌트(104)와 상호작용할 수 있고, 공급자(들)는 각 장치 컴포넌트(104)에 관련된다는 점을 잘 알아야 한다.
예를 들어, 정의에 의하면 다양한 레거시 시스템(예를 들어, 레거시 시스템은 전형적으로 새로운 표준과 마주 대하여 구식으로 된 전용 통신 프로토콜을 가지는 판독기 및/또는 장치임)은 구식으로 된 장치 및/또는 소프트웨어를 이용한다. 이러한 레거시 시스템은 인터페이스 및/또는 인터페이스들이 다수의 레거시 장치 및 공급자에게 서버(106)와의 균일한 상호작용을 제공하도록 허용하는 장치 인터페 이스 컴포넌트(102)를 이용할 수 있다. 따라서, 구식의 장치 컴포넌트(104) 및 관련 공급자(도시되지 않음)는 장치 인터페이스 컴포넌트(102) 및 서버(106)를 통해 다양한 서비스 및/또는 프로세스를 제공하기 위해 이용될 수 있다.
일례에서, 장치 인터페이스 컴포넌트(102)는 다수의 장치 컴포넌트(104)와 서버(106) 사이의 상호작용을 위한 균일한 기술을 제공하기 위해 이용될 수 있다. 예를 들어, 장치 컴포넌트(104)는 레거시 장치, 자동-식별 장치, EPC-전역 순응 장치 등일 수 있다. 부가적으로, 각 장치 컴포넌트(104)는 관련 공급자(예를 들어, EPC-G 순응 공급자, 소유 공급자, 레거시 공급자 등)를 가질 수 있다는 점을 잘 알아야 한다. 따라서, 장치 인터페이스 컴포넌트(102)는 장치 컴포넌트(104) 및 서버(106)에 대한 다양한 명령어 집합을 이용하는 다수의 공급자 사이에 균일한 상호작용을 제공할 수 있다.
장치 인터페이스 컴포넌트(102)는 다수의 장치 컴포넌트(104), 웹 서비스 및/또는 실시간 이벤트 생성 시스템(도시되지 않음)을 대표하는 다수의 표준에 대한 정규화를 제공할 수 있다. 따라서, 장치 컴포넌트(104)는 RFID 장치 및/또는 센서 장치일 수 있다. 게다가, 장치 인터페이스 컴포넌트(102)를 이용하는 것은 하드웨어 혁신이 더 높은 레벨로 부상하는 것을 가능하게 한다. 장치 인터페이스 컴포넌트(102)는, 예를 들어, 프로세서에 독립적인 플랫폼 어셈블리(processor independent platform assembly)일 수 있는 공급자(도시되지 않음)에 의해 구현될 수 있다. 공급자는 장치 인터페이스 컴포넌트(102)에 의해 정의된 인터페이스 및/또는 인터페이스들을 구현할 수 있다. 공급자에 대한 인터페이스를 정의함으로써, 장치 인터페이스 컴포넌트(102)는 장치 특유 명령어를 이용하여 장치 컴포넌트(104)와 상호작용한다. 따라서, 장치 인터페이스 컴포넌트(102)는 RFID 서버(106)로부터 장치 특유 세부사항을 최소화한다.
도 2는 본 발명의 신규성에 관한 개요를 제공하는 시스템(200)을 도시한다. 예를 들어, 각 장치가 상이한 명령어 집합, 프로토콜(들), 및/또는 동작을 지원하기 때문에, RFID 장치 판매자는 운영 시스템 플랫폼 상에서 동작하는 호스트 계층에 서비스를 제공하는 균일한 방식을 필요로 한다. 장치 서비스 공급자 인터페이스(DSPI)는 RFID 서비스 플랫폼이 RFID 장치와 균일하게 통신하고 RFID 장치를 균일하게 관리하기 위한 추상화 계층이다. 이 계층은 주요 하드웨어 혁신을 더 높은 계층으로 부상하게 하는 능력을 제공할 뿐 아니라, 다수의 통신 프로토콜에 대한 정규화, 레거시 판독기 및 기타 자동-ID 장치에 대한 지원을 균일한 방식으로 제공한다.
DSPI는 운영 시스템 상의 RFID 서비스 플랫폼에 서비스를 균일한 방식으로 제공하기 위하여 장치 판매자가 구현할 수 있는 추상 클래스(발견, 구성, 통신, 및 장치 & 연결 관리의 핸들링을 위한 추상 클래스)를 정의한다. 공급자는 관리된 엔터티로서 RFID 서비스 호스트(202) 하에서 동작할 수 있고, 호스트 기계(206)라 불리는 지원된 전송에 기초하여, 예를 들어, 관리된 API, 관리되지 않은 코드, COM 구현, 또는 Win32 API를 통해 장치(204) 및/또는 장치들(204) 자체와 통신할 수 있다.
특히, 프로세스 인스턴스 app 도메인(208)은 프로세스 인스턴스(210)를 포함 할 수 있는데, 프로세스 인스턴스 app 도메인(208)은 적어도 하나의 장치 공급자 app 도메인(212)과 상호작용할 수 있다. 장치 공급자 app 도메인(212)은 장치에 대한 DSPI 구현(214)을 포함할 수 있으며, 그와 관련된 다수의 장치(216)가 있을 수 있다. 도면에 도시된 바와 같이, 1내지 N개의 장치가 존재할 수 있다는 점을 잘 알아야 하며, 여기서 N은 정수이다.
장치 서비스 공급자는 1) 표준 프로토콜(HTTP, TCP, SERIAL(예를 들어, Samsys)) 중 하나를 사용하는 순수 관리된 코드 구현(Pure Managed code implementation), 2) 관리되지 않은 코드 호출을 제외하는 관리된 코드 프로토콜 구현(예를 들어, USP 판독기 장치, 상이한 프로토콜 핸들러 프로세스에 연결하는 프록시), 3) 윈도우즈 장치 드라이버(예를 들어, SATO와 같은 순수 프린터 드라이버)로서 구현된 소유 프로토콜에 대한 관리된 코드 래퍼(Managed code wrapper) 중 적어도 하나의 카테고리에 속할 것이다.
도 3은 통신 및/또는 관리를 위한 균일한 기술을 제공하기 위하여 장치와의 상호작용을 용이하게 하는 시스템(300)을 도시한다. RFID 서버(306)는 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트(302)를 이용함으로써 RFID 장치(304)와 통신할 수 있다. RFID 서버(306)는 임의의 RFID 장치(304)뿐 아니라 센서(도시되지 않음)와 통신할 수 있다는 점을 잘 알아야 한다. RFID 장치 공급자(도시되지 않음)는 DSPI 컴포넌트(302)를 이용할 수 있는데, 그것은 RFID 서버(306)와의 상호작용을 용이하게 하는 적어도 하나의 DSPI 컴포넌트를 정의할 수 있다. 프로토콜 번역이 DSPI 컴포넌트(302)에 장치 기능을 노출하도록 하기 위하여 DSPI 컴포넌트(302) 에 의해 정의된 인터페이스들은 IHV에 의해 구현될 수 있다. DSPI 컴포넌트(302)가 RFID 서버 및 다수의 RFID 장치(304)와의 균일한 상호작용을 제공한다는 점을 잘 알아야 한다. RFID 장치(304)는 RFID 판독기, RFID 작성기, RFID 송신기 등일 수 있지만 이들로 제한되지는 않는다는 점을 잘 알아야 한다.
DSPI 컴포넌트(302)는 또한 RFID 장치(304)와의 메시지 핸들링을 용이하게 하는 요청 응답 컴포넌트(308)를 포함할 수 있다. 요청 응답 컴포넌트(308)는 RFID 서버(306)와 RFID 장치(들)(304) 사이의 메시지 교환을 정의한다. 예를 들어, 메시지 교환은 메시지 페어(예를 들어, 제1 메시지가 판매자 특유 명령어를 이용하여 제2 메시지를 트리거할 수 있음), 요청, 회답, 통지, 이벤트, 속성, 질의, 승인, 플래그 등일 수 있다. 요청 응답 컴포넌트(308)는 비동기적 및/또는 동기적인 적어도 하나의 메시지 교환을 정의한다는 점을 잘 알아야 한다. 따라서, 비동기적인 요청 응답 컴포넌트(308)로부터의 메시지 교환은 요청으로부터 즉각적인 응답을 트리거하지 않는다.
예를 들어, 레거시 장치 및/또는 소유 공급자는 균일한 통신 기술을 이용하기 위하여 DSPI 컴포넌트(302)를 구현할 수 있다. 예를 들어, DSPI 컴포넌트를 구현하는 공급자는 프로세서에 독립적인 플랫폼 어셈블리일 수 있다는 점을 잘 알아야 한다. DSPI 컴포넌트(302)는 어셈블리가 RFID 장치(304)에 관하여 구현할 수 있는 인터페이스를 정의한다. 즉, DSPI 컴포넌트(302)는 RFID 서버(306)에 IHV 서비스를 제공하기 위하여 다수의 장치 및/또는 다수의 공급자가 이용할 수 있는 균일한 명령어 집합을 이용한다.
게다가, DSPI 컴포넌트(302)는 장치 인터페이스 컴포넌트(310)를 포함할 수 있다. 장치 인터페이스 컴포넌트(310)는 메시지 계층 및/또는 전송 계층을 정의한다. 메시지 계층 및/또는 전송 계층은 확장성 마크업 언어(XML), 하이퍼텍스트 마크업 언어(HTML), 표준 범용 마크업 언어(SGML), 및 확장성 하이퍼텍스트 마크업 언어(XHTML)와 같지만 이들로 제한되지는 않는 마크업 언어에 의해 구현될 수 있다. 전송 계층은 메시지 계층에 독립적일 수 있다는 점을 잘 알아야 한다. 부가적으로, 장치 인터페이스 컴포넌트(310)는 메시지 및 연결 관리를 위임할 수 있다. RFID 서버(306)와의 통신 및/또는 상호작용이 지속되기 위하여, 장치 인터페이스 컴포넌트(310)는 메시지 및 전송 계층을 정의할 수 있다. 요청 응답 컴포넌트(308)와 함께, 장치 인터페이스 컴포넌트(310)는 메시지 페어(예를 들어, 요청 응답 컴포넌트(308)에 의해 정의된 것) 및 메시지/전송 계층(예를 들어, 장치 인터페이스 컴포넌트(310)에 의해 정의된 것)을 이용하여 RFID 장치(304) 및 RFID 서버(306)와의 메시징을 관리한다. 게다가, 각 장치의 연결은 메시지/전송 계층을 통해 장치 인터페이스 컴포넌트(310)에 의해 관리된다(예를 들어, 제어, 설립, 결정, 포기, 모니터링 등).
RFID 장치(304) 발견을 용이하게 하기 위하여, DSPI 컴포넌트(302)는 장치 발견 인터페이스 컴포넌트(312)를 포함할 수 있다. 즉, 장치 발견 인터페이스 컴포넌트(312)는 장치 발견 메커니즘(들)을 정의한다. 그러한 발견 메커니즘은 발견 시작, 발견 중지, 연결 요구사항 데이터(예를 들어, 장치 id, 공급자 이름 등) 등일 수 있지만, 이들로 제한되지 않는다. 장치 발견 인터페이스 컴포넌트(312)는 공급자 당 하나의 DSPI 컴포넌트를 효율적으로 인스턴스화하며, 그러한 판매자에 관련된 장치들이 핸들링(예를 들어, 제어, 관리, 모니터링 등)된다는 점을 잘 알아야 한다. 게다가, 공급자는 장치 발견 인터페이스 컴포넌트(312)를 구현할 수 있다는 점을 잘 알아야 한다.
DSPI 컴포넌트(302)는 또한 공급자들(도시되지 않음)을 RFID 서버(306)에 로드하는 SPI 컨테이너 컴포넌트(SPI container component)(314)를 포함할 수 있다. 공급자를 RFID 서버(306)에 로드함으로써, SPI 컨테이너 컴포넌트(314)에 의해 공급자 구성 및 등록이 핸들링된다. SPI 컨테이너 컴포넌트(314)는 공급자에 관한 버전 및 식별 정보를 제공한다. 또한, SPI 컨테이너 컴포넌트(314)는 공급자 구현에 대한 최적의 게이트웨이(uber-gateway to provider implementation)이다. 예를 들어, SPI 공급자(들)는 프로세서에 독립적인 플랫폼 어셈블리일 수 있다. 공급자(들)는 드라이버들을 호환성있게 이용할 수 있다는 점을 잘 알아야 한다.
예를 들어, 공급자는 맞춤화된 해결책을 제공하기 위하여, 마크업 언어 어플리케이션, 프로세스 및 웹사이트를, 설계, 또는 플랫폼, 또는 스마트 장치에 의해 서로 정보 및 기능을 공유 및/또는 결합할 수 있는 서비스로서 생성 및/또는 사용할 수 있게 하는 프로세서에 독립적인 소프트웨어 어셈블리일 수 있다. 그러한 어셈블리를 이용함으로써, 다양한 이득 및/또는 이점이 제공된다. 드라이버의 상이한 버전들이 동시에 서버 상에 존재할 수 있기 때문에, 드라이버 버전화 문제는 그러한 어셈블리 버전화를 이용하여 해결될 수 있다. 따라서, 하나의 버전으로부터 또다른 버전으로 변경할 때, 어셈블리는 다수의 버전이 이용되도록 허용하며, 올바 른 버전이 가용하다. 그러한 어셈블리 포맷으로 작성된 드라이버는 버퍼 초과, 에러 등에 영향받지 않는다. 드라이버로부터의 예외는 서버 안정성이 영향받지 않도록 격리될 수 있다. 부가적으로, IHV는 확실성 및/또는 정확성을 보장하기 위하여 드라이버에 디지털 서명할 수 있다.
도 4는 통신 및 관리를 위한 균일한 기술을 제공하기 위하여 장치와의 상호작용을 용이하게 하는 시스템(400)을 도시한다. 요청 응답 컴포넌트(308)는 장치(도시되지 않음)와 서버(도시되지 않음)가 통신하도록 허용하는 메시지 교환 페어를 제공하는 페어 컴포넌트(402)를 포함할 수 있다. 예를 들어, 메시지 교환은 비동기적인 요청 응답 페어로서 정의될 수 있다. 게다가, 메시지 교환은 식별을 이용하여 매칭(예를 들어, 페어를 이룸)된다. 예를 들어, 식별은 특정 대응하는 페어에 고유한 메시지 식별일 수 있다. 페어 컴포넌트(402)는 판매자 특유 명령어(예를 들어, 메시지 교환 페어, 요청 응답 페어 등)를 지원할 수 있다는 점을 잘 알아야 한다. 또한, 장치에 요청을 전송하기 위하여 명령어/루틴(예를 들어, 하기에 논의된 "SendMessage()")이 이용될 수 있다.
페어 컴포넌트(402)는 메시지 교환 페어가 저장될 수 있는 데이터 스토어(404)를 이용할 수 있다. 데이터 스토어(404)는 DSPI(도시되지 않음) 내 및/또는 원격 서버 상의 인-메모리 데이터베이스(in-memory database)일 수 있다. 데이터 스토어(404)는 DSPI 컴포넌트(도시되지 않음)에 의해 제공되는 요청 응답 페어를 보유하기 위하여 이용될 수 있다. 게다가, 데이터 스토어(404)는, 예를 들어, 휘발성 메모리 또는 비휘발성 메모리일 수 있고, 또는 휘발성 및 비휘발성 메모리 둘 모두를 포함할 수 있다. 제한을 가하지 않는 예로서, 비휘발성 메모리는 ROM, 프로그래밍가능 ROM(PROM), 전기적 프로그래밍가능 ROM(EPROM), 전기적 소거가능 프로그래밍가능 ROM(EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는 외부 캐시 메모리로서 동작하는 RAM을 포함할 수 있다. 제한을 가하지 않는 예로서, RAM은 정적 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 강화된 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 램버스 다이렉트 RAM(RDRAM), 다이렉트 램버스 동적 RAM(DRDRAM), 및 램버스 동적 RAM(RDRAM)과 같이 여러 형태로 가용하다. 본 발명의 시스템 및 방법의 데이터 스토어(404)는 이들 및 임의의 기타 적합한 형태의 메모리로 제한되지 않고 이들을 포함하도록 의도된다.
페어 컴포넌트(402)는 다수의 메시지 교환 페어를 지원한다. 예를 들어, 다음 표 1은 장치와 서버 사이의 통신을 위해 이용될 수 있는 적합한 요청 응답 페어(및 설명)의 예를 도시한다.
명령어 응답 설명
WriteId(string id, string passCode) 상태 코드 및/또는 에러 ID를 태그에 기입.
Id - 헥스 인코딩된 스트링(hex encoded string)으로서 기입하기 위한 Tag Id.
passCode - 헥스 인코딩된 스트링으로서 선택적 패스워드.
만약 Id가 널(null)이라면, writePassCode 명령어와 동일함.
GetTagData(string id) 공급자 특유 스트링으로서 사용자 데이터. Tag Id에 의해 주어진 특정 태그의 (사용자) 데이터를 판독.
태그에 존재하는 모든 사용자 데이터는 어떠한 미세한 액세스도 없이 리턴됨.
WriteTagData(string id, string data) 상태 코드 및/또는 에러 Tag Id에 의해 주어진 특정 태그에 사용자 데이터를 기입.
데이터 스트링은 공급자 명기 인코딩됨.
GetTagIds() 스트링들의 리스트 호출 시점에 가용한 모든 태그 및 데이터를 판독하고 컬렉션으로서 리턴함.
하나 이상의 안테나로부터 그 시점에 장치에 의해 액세스가능한 모든 태그를 리턴하는 실시간 호출임.
GetTagList() 태그 리스트 ID/Source의 리스트가 태그 리스트에서 엔트리들을 판독.
ClearTagList() 상태 코드 및/또는 에러 태그 리스트를 클리어함.
GetTagMetaData(string id) 태그 세부사항 Tag Id에 의해 주어진 특정 태그의 세부사항(유형, 제조 번호, 블럭 등)을 판독.
LockTag(string id, string lockCode) 상태 코드 및/또는 에러 특정 태그를 락함.
그것이 미리 설정되었다면 lockCode가 요구됨.
Kill(string id, string killCode) 상태 코드 및/또는 에러 태그를 킬(kill)함.
미리 설정되었다면 killCode가 요구됨.
AddReadFilter(string bitMask, bool incExc) 상태 코드 및/또는 에러 단순한 비트 마스크 필터를 장치에 추가.
RemoveReadFilter(string bitMask, bool incExc) 상태 코드 및/또는 에러 명기된 필터를 장치로부터 제거.
ClearReadFilters() 상태 코드 및/또는 에러 장치에 있는 모든 필터를 클리어.
Reboot() 상태 코드 및/또는 에러 장치를 재부팅.
장치로의 임의의 연결이 손실되고, 재설정되지 않음.
WriteId(string id, string passCode) 상태 코드 및/또는 에러 ID를 태그에 기입.
Id - 헥스 인코딩된 스트링으로서 기입하기 위한 Tag Id.
passCode - 헥스 인코딩된 스트링으로서 선택적 패스워드.
만약 Id가 널이면, writePassCode 명령어와 동일함.
게다가, 페어 컴포넌트(402)는 회답 및/또는 통지(예를 들어, 각각 "CmdResponseEvent" 및 "NotificationEvent"를 통해 수신됨)를 제공할 수 있다. 예를 들어, 통지 이벤트 "ReadTagEvent"가 이벤트 모드에서 이용될 수 있고, 태그 판독/검출 이벤트를 보고하기 위하여 장치에 의해 전송될 수 있다.
요청 응답 컴포넌트(308)는 또한 DSPI 컴포넌트(도시되지 않음)에 의해 정의된 속성 페어를 제공할 수 있는 속성 컴포넌트(406)를 포함할 수 있다. 속성 페어는, 예를 들어, 메시지 교환 페어에 실질상으로 유사한 동작을 가질 수 있다. 특히, 속성은 "get" 또는 "set"일 수 있는데, 그것은 예외를 발생시키지 않는다. 속성은 공통 메커니즘(예를 들어, 하기에 논의된 SendMessage() 메소드를 통해 전송된 요청)에 의해 조작될 수 있다는 점을 잘 알아야 한다. 표준 속성은 DSPI 컴포넌트(도시되지 않음)에 의해 정의될 수 있는 반면, 특정 공급자는 기타 속성들을 정의할 수 있다는 점을 잘 알아야 한다. 공급자(들)는 타임아웃 요청에 대해 REQUEST-TIMEOUT(예를 들어, 수밀리초)이라 불리는 속성을 지원할 수 있다. 속성 컴포넌트(406)는 속성들을 저장하기 위하여 데이터 스토어(404)를 이용할 수 있다는 점을 잘 알아야 한다.
속성 컴포넌트(406)는 다수의 속성 페어를 지원한다. 예를 들어, 다음 표 2는 장치와 서버 사이에 통신하기 위하여 이용될 수 있는 다양한 속성 페어(및 설명)를 도시한다.
명령어 응답 설명
GetProperty(string propertyGroupName, string propertyName) 속성 객체.
그러한 속성이 없으면 NULL.
명기된 속성을 획득.
SetProperty(Property property) 상태 코드 및/또는 에러 속성을 설정.
ApplyPropertyProfile(Property[] propertyProfile) 상태 코드 및/또는 에러 이 메소드를 사용하여 다수의 속성이 동시에 적용될 수 있음. 그러한 기능이 유용할 시나리오는 다음과 같다 : 속성들의 집합은 장치의 최적 성능을 위해 설정될 것을 필요로 함. 이들 모두 장치 구성에서 프로파일로서 명기될 수 있음. 그들은 서버에 의해 동시에 적용될 수 있음.
GetProperty(string propertyGroupName, string propertyName) 속성 객체.
그러한 속성이 없으면 NULL.
명기된 속성을 획득.
SetProperty(Property property) 상태 코드 및/또는 에러 속성을 설정.
게다가, 속성 컴포넌트(406)는 다수의 표준 속성을 지원한다. 예를 들어, 다음 표 3은 표준 속성, 특히 속성이 판독되고/거나 기입되는지 및 설명을 도시한다.
속성 판독/기입 필수 설명
REQUEST_TIMEOUT R/W 수밀리초로, 메시지를 요청하기 위한 타임아웃 기간. 공급자는 이 기간이 만료된 후에 TIMEOUT 응답을 전송함.
요청 응답 컴포넌트(308)는 장치와 서버 사이에 메시지 교환을 이용하기 위하여 프로그램 코드를 이용할 수 있다. 프로그램 코드는 확장성 마크업 언어(XML), 하이퍼텍스트 마크업 언어(HTML), 표준 범용 마크업 언어(SGML), 및 확장성 하이퍼텍스트 마크업 언어(XHTML)와 같은 마크업 언어일 수 있지만, 이들로 제한되지는 않는다. 예를 들어, 마크업 언어는 요청, 응답 및 통지를 위한 신택스(syntax)를 제공하기 위하여 이용될 수 있다. 요청, 통지 등이 강한 유형화(strong typing)를 제공하기 위하여 DSPI 컴포넌트(도시되지 않음)에서 프로그래밍된 객체로서 표현될 수 있다는 점을 잘 알아야 한다.
도 5는 통신 및 관리를 위한 균일한 기술을 제공하기 위하여 장치와의 상호작용을 용이하게 하는 시스템(500)을 도시한다. 장치 인터페이스 컴포넌트(310)는 메시지 계층 및 전송 계층의 정의를 용이하게 하는 통신 컴포넌트(502)를 포함할 수 있다. 게다가, 장치 인터페이스 컴포넌트(310)는 또한 메시징 및 연결 관리를 위한 기술을 포함한다. 통신 컴포넌트(502)는 메시지 계층 및 전송 계층을 구현하기 위하여 적어도 하나의 전송 채널 및 적어도 하나의 수신 채널을 포함할 수 있다는 점을 잘 알아야 한다.
예를 들어, 통신 컴포넌트(502)는 전송 채널(504)을 포함할 수 있다. 전송 채널은 정보를 전송하기 위하여 "SendMessage()"를 이용할 수 있다. 또한, 통신 컴포넌트(502)는 제1 수신 채널(506) 및 제2 수신 채널(508)을 가질 수 있다. 제1 수신 채널(506)은 응답을 위해(예를 들어, 요청에 대한) "CmdResponseEvent"를 이용할 수 있고, 반면 제2 수신 채널(508)은 통지를 위해 "NotificationEvent"를 이용할 수 있다. 응답 이벤트는 동기식 요청-응답 명령어에 대한 것일 수 있고, 반면 통지는 비동기식에 대한 것일 수 있는데, 여기서 통지는 태그 리스트 이벤트, 판독기 관리 이벤트 등일 수 있다. 장치 인터페이스 컴포넌트(310)는 또한 "ProviderException"을 이용할 수 있다는 점을 잘 알아야 한다. "ProviderException"은 모든 공급자 관련 예외에 대해 톱 레벨 예외(top level exception)이다. 임의의 내적 예외(inner exception)가 이 예외 내부에 전달될 수 있다. 예를 들어, 다음 코드는 ProviderException 클래스를 정의할 수 있다.
Figure 112005041023403-pat00001
통신 컴포넌트(502)는 장치에 메시지를 전송할 수 있다. 다음 코드는 메시지를 전송하기 위해 "SendMessage()"를 구현하는 예이다.
Figure 112005041023403-pat00002
통신 컴포넌트(502)는 또한 ConnectionDownException, SendFailedException, System.ArgumentException(예를 들어, 메시지 파라미터가 유효하지 않은 경우) 등과 같은 (그러나 이들로 제한되지는 않음) 예외를 발생시킬 수 있다. 게다가, 통신 컴포넌트(502)는 다음 코드를 이용할 수 있다.
Figure 112005041023403-pat00003
상기 코드는 요청에 대한 응답이 수신될 때 발생되는 이벤트이다. 상기 코드는 명령어에 대한 응답이 수신될 때 장치에 의해 주어질 수 있다는 점을 잘 알아야 한다. 부가적으로, 통신 컴포넌트(502)는 다음 코드를 이용할 수 있다.
Figure 112005041023403-pat00004
상기 이벤트는 통지 이벤트가 장치에 의해 수신될 때 생성된다. 게다가, 상기 코드는 비동기식 이벤트가 수신될 때 장치에 의해 주어질 수 있다. 장치 인터페이스 컴포넌트(310)는 다양한 코드 및/또는 이벤트를 이용할 수 있다는 점을 잘 알아야 한다.
하기 코드는 통신을 위해 메시지 계층을 오픈하기 위하여 장치 인터페이스 컴포넌트(310)에 의해 구현될 수 있다. 표준 ML(SML) 메시지 요청이 다음 코드를 이용하여 전송된다는 점을 잘 알아야 한다.
Figure 112005041023403-pat00005
Figure 112005041023403-pat00006
"DeviceInformation DeviceInformation {get;}"은 이 장치 인스턴스에 관한 장치 정보를 제공한다. 그것은 이 장치에 대한 모든 정보를 포함한다. 장치 정보 클래스는 발견 이벤트에서 발견 시점에 장치 인터페이스 컴포넌트(310)로부터 제공된다. 예를 들어, 장치 정보 클래스는 다음과 같이 정의된다.
Figure 112005041023403-pat00007
"void SendMessage(ICommand command);"는 장치 계층에서 모든 메시지를 전송하기 위해 이용된 명령어이다. ConnectionDownException(예를 들어, 장치가 연결되지 않거나 연결이 끊어짐), SendFailedException(예를 들어, 장치에의 연결은 존재하지만, 장치에의 메시지 전송은 실패하였음), System.ArgumentException(예를 들어, 메시지 파라미터가 유효하지 않은 경우) 등의 예외가 발생할 수 있다. 함수 "event ResponseEventHandler CmdResponseEvent;"는 요청에 대한 응답이 올 때마다 발생되는 이벤트이다. "event NotificationEventHandler NotificationEvent;"는 비동기식 통지 이벤트가 장치로부터 수신될 때마다 발생되는 이벤트이다. 게다가, 다음 코드는 통신에 관한 예외 핸들링에서 이용될 수 있다.
Figure 112005041023403-pat00008
상기 코드는 속성 및/또는 관리를 위한 기술을 포함할 수 있다는 점을 잘 알아야 한다. 부가적으로, 하기 코드는 다음과 같은 예외에 관련된 클래스들을 생성할 수 있다.
Figure 112005041023403-pat00009
장치 인터페이스 컴포넌트(310)는 또한 장치와 유지된 연결을 관리할 수 있다. 그러한 연결의 관리는 공급자에 관련된 다수의 장치에 대한 것일 수 있다는 점을 잘 알아야 한다. 장치에의 연결은 다양한 함수(하기에 논의됨)를 이용하여 유지된다. 공급자는 함수 "Close()"를 사용하여 그러한 연결이 닫힐 때까지 장치에의 연결을 유지한다는 점을 잘 알아야 한다. 연결 관리는 다음 코드를 이용함으로써 이용될 수 있다.
Figure 112005041023403-pat00010
"bool SetupConnection();"은 장치에의 연결(예를 들어, 이 DeviceInterface 인스턴스에 의해 추상화된 것)을 셋업한다. 이 메소드는 예외 ConnectionFailedException(예를 들어, 장치에의 연결이 실패됨)를 이용할 수 있다. "void Close();"는 장치에 관련된 상태들을 드라이버로부터 삭제할 수 있고/거나 연결을 닫을 수 있다. "bool IsConnectionAlive();"는 만약 장치에의 연결(예를 들어, 이 DeviceInterface 인스턴스에 의해 추상화된 것)이 존재한다면 참값(true)을 리턴한다. "HashTable GetSources();"는 이름 대 상태(예를 들어, 소스가 연결되고 액티브라면, 참(true))로서 장치에 있는 모든 소스(예를 들어, 안테나)를 리턴한다.
도 6은 통신 및 관리를 위한 균일한 기술을 제공하기 위하여 장치와의 상호작용을 용이하게 하는 시스템(600)을 도시한다. 장치 발견 인터페이스 컴포넌트(312)는 DSPI 컴포넌트(도시되지 않음)에게 검출된 새로운 장치를 알리는 알림 컴포넌트(602)를 포함할 수 있다. 알림 컴포넌트(602)는 장치가 핸들링될 수 있도록, 공급자 당 하나의 컴포넌트가 인스턴스화되도록 매우 효율적이다. 서버가 자원에 대한 제어를 가질 수 없기 때문에, 공급자는 장치 발견 인터페이스 컴포넌트(312)를 구현한다는 점을 잘 알아야 한다. 그러나, 공급자가 그러한 장치 발견 인터페이스 컴포넌트(312)를 구현할 수 있지만, 그렇게 제한되지는 않는다. 예를 들어, 생성된 스레드의 수는 특정 유형의 장치들의 수에 의존할 수 있다. 게다가, 만약 발견 스레드(들)가 실행동안 에러에 직면하면, 공급자는 스레드들이 실행되도록 허용하기 위하여 그러한 에러(들)를 핸들링할 수 있다. 게다가, 장치 발견 인터페이스 컴포넌트(312)는 DeviceListenerInterface와 같은(그러나 이것으로 제한되지 않는) 인터페이스를 이용함으로써 장치 발견 메커니즘을 정의할 수 있다.
알림 컴포넌트(602)는 다음 코드를 이용함으로써 새로 검출된 장치의 발견을 제공할 수 있다.
Figure 112005041023403-pat00011
발견 시작 및 중지는 예외 "public class DiscoveryException : ApplicationException {...}"를 발생시킬 수 있다. 특히, "DiscoveryEventHandler"는 모든 발견 이벤트(예를 들어, 공급자가 이 이벤트를 이용하여 호스트에게 장치 발견 이벤트를 전송함)에 대한 콜백 핸들러(callback handler)이고, "StartDiscovery"는 장치의 발견을 시작하기 위한 함수이며, "StopDiscovery"는 새로운 장치 발견을 중지하기 위한 함수이다. 부가적으로, 상기 코드는 발견된 RFID 장치에 관한 정보를 포함하는 장치 정보 객체를 이용한다.
장치 발견 인터페이스 컴포넌트(312)는 또한 장치에의 연결을 용이하게 하는 연결 컴포넌트(604)를 포함한다. 예를 들어, 연결 컴포넌트(604)는 장치에 연결하기 위하여 요구된 정보 및/또는 데이터를 캡슐화하는 "deviceIdXml"과 같은 XML 스트링을 이용할 수 있다. 장치의 고유 ID, 공급자 이름, 전송 이름, 표준 전송 등을 포함하는 스키마가 연결 컴포넌트(604)에 의해 이용될 수 있다. 예를 들어, 다음 스키마가 연결 컴포넌트(604)에 의해 이용될 수 있다.
Figure 112005041023403-pat00012
장치 정보 클래스는 RFID 장치에 대한 정보를 제공한다. 이 클래스는 발견 이벤트에서 발견 시점에 도 3의 장치 인터페이스 컴포넌트(310)로부터 공급자에 의해 제공된다.
게다가, 연결 정보 클래스는 RFID 장치에의 연결을 위해 사용될 수 있다. 발견을 지원하는 장치들에 대해, 이러한 객체는 DiscoveryEvent로부터의 DeviceInformation 객체로부터 획득될 수 있다. 발견을 지원하지 않는 장치들에 대해, 이러한 객체는 ServiceProviderInterface 객체에서 GetDevice()를 호출하기 전에 수동으로 채워질 수 있다. 연결 정보 클래스는 다음과 같이 정의될 수 있다.
Figure 112005041023403-pat00013
도 7은 통신 및 관리를 위한 균일한 기술을 제공하기 위해 장치와의 상호작용을 용이하게 하는 시스템(700)을 도시한다. SPI 공급자는, 예를 들어, 여러 이점을 제공하는 어셈블리(예를 들어, .NET 어셈블리)일 수 있다. SPI 컨테이너 컴포넌트(314)는 드라이버 상태를 최소로 유지한다는 점을 잘 알아야 한다. 즉, 발견된 및/또는 연결된 장치의 양은 SPI 컴포넌트(314)에게 중요하지 않다.
SPI 컨테이너 컴포넌트(314)는 서비스 공급자 인터페이스를 구현할 수 있는 서비스 공급자 컴포넌트(702)를 포함할 수 있다. 서비스 공급자 인터페이스는 DSPI 컴포넌트(도시되지 않음)에 대한 엔트리 포인트이다. DSPI 구현자는 엔트리 포인트를 이용하기 위하여 인터페이스를 필요로 한다. 인터페이스의 메소드는 ProviderException을 이용할 수 있다는 점을 잘 알아야 한다. 예를 들어, 다음 코드가 이용될 수 있다.
Figure 112005041023403-pat00014
드라이버 클래스가 상기 생성된 인터페이스를 지원한다는 점을 잘 알아야 한다. 게다가, 하기에 정의된 "ProviderException"이 호출될 수 있다. "ProviderInformation ProviderInformation {get;};"은 DSPI 공급자에 대한 정보를 제공하는데, 그것은 DSPI 호스트(들)에 의해 정보 목적을 위하여 이용될 수 있다. 공급자 정보 클래스는 그러한 정보를 제공하기 위하여 이용될 수 있다. 예를 들어, 다음은 공급자 정보 클래스를 정의하기 위하여 이용될 수 있다.
Figure 112005041023403-pat00015
"Encoding UserDataEncoding {get;};"은 사용자 데이터(예를 들어, ASCII, 헥스 등)에 대해 공급자에 의해 기대된 인코딩을 제공한다. 함수 "void Init(string hosted, string initXml);"은 공급자의 생성자(constructor)이다. 호스트는 이 메소드를 이용하여 DSPI 공급자를 초기화한다. "hostID"는 공급자에 의해 정보의 목적으로 사용될 수 있는 반면, "initXml"은 공급자 특유 XML(예를 들어, 그것의 스키마는 공급자에 특유함)로서 공급자가 자기 자신을 초기화하는 데에 이용할 수 있다. 함수 "void Shutdown()"은 장치들이 여전히 연결된 경우 사용될 수 있으며, 서버가 그러한 연결을 닫을 책임이 있다. 이 함수는 발견 스레드를 중지하고, 상태 컨디션(state condition)을 클린(clean)하고/거나 시스템을 리셋(reset)한다. 따라서, 그것은 공급자의 소멸자(destructor)이고, 공급자를 셧다운(shut down)한다. "DeviceListenerInterface GetDeviceListener()"는 코드에 열거된 바와 같이 발견을 위해 이용되는 DeviceInterface Listener 인터페이스(예를 들어, 장치 인터페이스 컴포넌트(310))를 지원하는 객체에 대한 참조를 리턴한다. 게다가, "DeviceInterface GetDevice(ConnectionInformation deviceConnectionInfo)"는 DeviceInterface 인터페이스에 대한 공장(factory)으로서 동작하도록 ServiceProviderInterface 인터페이스를 구현한다. DeviceInterface 인터페이스는 호스트가 통신할 수 있는 RFID 장치를 추상화한다. 코드 "bool IsValidDevice(DeviceInformation deviceInfo);"는 장치 정보가 이 장치에 의해 지원되는 유효한 장치를 나타내고, 연결할 수 있거나 이미 연결되었다면, 참(true)의 리턴을 제공한다는 점 또한 잘 알아야 한다. "string[] GetPropertyGroupNames();"는 이 공급자에 의해 지원된 속성 그룹의 이름을 리턴한다. 이름 "String.Empty"를 갖는 전역 속성 그룹은 이 메소드에 의해 리턴되지 않는다. 함수 "Hashtable GetpropertyMetadata(string propertyGroupName, string propertyName);"는 속성들에 대한 메타데이터를 그룹 이름 대(versus) 속성 메타 데이터 맵으로서 리턴한다. 리턴 값이 다음 표에 의해 정의될 수 있다.
속성 이름 - 널(NULL) 속성 이름 - 널이 아님(NON NULL)
속성 그룹 이름 - 널 모든 전역 속성에 대한 메타 데이터 - 빈(empty) 스트링 대 속성 메타 데이터로서. 명명된 전역 속성에 대한 메타 데이터 - 빈 스트링 대 속성 메타 데이터로서.
만약 이것이 전역 속성이 아니면, NULL을 리턴.
속성 그룹 이름 - 널이 아님(NON-NULL) 그룹 이름 대 속성 메타 데이터로서 이 그룹에 있는 모든 속성들에 대한 메타 데이터. 명명된 그룹에 있는 명명된 속성에 대한 메타 데이터 - 그룹 이름 대 속성 메타 데이터.
만약 이것이 이 그룹에 속하는 속성이 아니면, NULL을 리턴.
함수 "PropertyProfile GetIdealReaderPropertyProfile();"는 이 공급자에 대해 판독기 역할(Reader role)에 있는(예를 들어, 태그 통지 모드에 있는) RFID 장치에 대한 최적 속성 프로파일을 리턴한다. 그것은, 적용시에 판독기가 최적으로 동작하게 하는 속성들의 집합을 포함한다. "PropertyProfile GetIdealWriterPropertyProfile();"은 이 공급자에 대해 기입기 역할(Writer role)(예를 들어, 동기식 명령어 모드)에 있는 RFID 장치에 대한 최적 속성을 리턴한다. 그것은, 적용시에 기입기가 최적으로 동작하게 하는 속성들의 집합을 포함한다.
SPI 컨테이너 컴포넌트(314)는 적어도 하나의 드라이버의 서버에의 등록을 용이하게 하기 위해 드라이버 컴포넌트(704)를 포함할 수 있다. 드라이버 컴포넌트(704)는 검증되고 인증된 드라이버들을 허용하기 위하여 서버에의 드라이버 등록을 제공한다. 예를 들어, 드라이버 등록은 보증되고/거나 인증된 드라이버가 호환성 및 기능성을 보장할 수 있게 하는 디지털 서명을 이용할 수 있다. 예를 들어, IDriverManager 인터페이스는 다음 코드를 이용하여 구현될 수 있다.
Figure 112005041023403-pat00016
예를 들어, IDriverManager 인터페이스는 RFID 가속기에 의해 지원될 수 있다. 게다가, 클라이언트는 드라이버들을 원격으로 연결하고 관리하기 위하여 .NET 플랫폼을 이용할 수 있다는 점을 잘 알아야 한다. 상기에 언급된 바와 같이, .NET 플랫폼은 드라이버의 사용 및 다목적성에 관한 다양한 이점을 제공한다. 코드 "string LoadDriver(AssemblyQualifiedNamespace);"는 드라이버 컴포넌트(704)에 의해 구현될 수 있다. 경로는 로컬 기계에 위치된 어셈블리의 경로일 수 있는데, 다음 예외 - 어셈블리가 발견되지 않음, 서버에 의해 지원되지 않는 어셈블리의 드라이버 버전임, 고유하지 않은 어셈블리의 식별자임(예를 들어, 로드된 드라이버들 전체에 해당됨) - 가 발생할 수 있으며, 식별자는 로드 시 드라이버를 식별한다. 드라이버의 올바른 로드 시 "providerInstanceId"가 리턴된다는 점을 잘 알아야 한다. 또한, 드라이버 컴포넌트(704)는 서버 구성으로부터 드라이버의 제거를 제공하는 함수 "void UnloadDriver(string providerInstanceId);"를 이용할 수 있다. 식별자에 대응하는 드라이버가 발견되지 않는 것은 함수에 관하여 발생될 수 있는 예외이다.
드라이버 컴포넌트(704)는 드라이버 관리를 용이하게 하는 코드 "string ListLoadedDrivers();"를 구현할 수 있다. 드라이버 컴포넌트(704)는 관리를 제공할 수 있고, 함수 "string ListLoadedDrivers();"로부터 리턴된 스트링은 다음 포맷을 갖는 XML 스트링일 수 있다는 점을 잘 알아야 한다.
Figure 112005041023403-pat00017
상기 코드는 참조 이름 "Drivers"를 갖는 복합 타입(complex type)을 생성할 수 있다. 게다가, 코드는 드라이버 이름(예를 들어, providerInstanceId), 드라이버 어셈블리 이름, 및 드라이버 버전을 포함한다.
도 8은 다수의 장치 및 관련 공급자들에 대해 균일한 통신 및 관리를 제공하기 위하여 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트(802) 이용을 용이하게 하는 시스템(800)을 도시한다. 공급자(804)는 EPC-G 순응(compliant) 공급자(808), 제1 소유(proprietary) 공급자(810), 및 제2 소유 공급자(812)와 같은 다수의 공급자를 포함할 수 있다. 공급자(804)는 관련 장치에의 서비스를 가능하게 한다는 것을 잘 알아야 한다. 예를 들어, EPC-G 순응 공급자(808)는 EPC-전역 장치(814)에 관련될 수 있고, 제1 소유 공급자(810)는 제1 레거시 장치(816)에 관련될 수 있으며, 제2 소유 공급자(812)는 제2 레거시 장치(818)에 관련될 수 있다. DSPI 컴포넌트(802)는 관련 장치(예를 들어, EPC-전역 장치(814), 제1 레거시 장치(816) 및 제2 레거시 장치(818))에 대해 기존의 공급자(804) 중 하나를 통해 상호작용한다는 점을 잘 알아야 한다. DSPI 컴포넌트(802)는 각 장치가 상이한 집합의 명령어를 지원할 때 공급자(804)가 미들웨어 제품에 서비스를 제공하는 균일한 방식을 제공한다. 즉, DSPI 컴포넌트(802)는 RFID 서버(806)에 서비스를 균일하게 제공하기 위하여 장치 판매자(예를 들어, 및 관련 장치)에 대한 인터페이스를 정의한다.
DSPI 컴포넌트(802)는 메시지 계층에서 공급자(804) 중 적어도 하나에 특유한 명령어를 지원할 수 있다는 것을 잘 알아야 한다. 공급자 특유 명령어들은 다음 명령어 객체를 이용하여 전송될 수 있다.
Figure 112005041023403-pat00018
상기 객체는 공급자 특유 명령어를 스트링으로서 포함한다. 부가적인 파라미터들이 ParameterCollection에서 전달될 수 있다. 명령어에 대한 회답은 회답 스트링으로서 전송되고, 임의의 부가 데이터가 데이터 객체에 놓여진다. 공급자 특유 통지가 다음 이벤트 객체를 이용하여 전송될 수 있다는 점 또한 잘 알아야 한다.
Figure 112005041023403-pat00019
이 객체는 이벤트 id, 판매자 id, 공급자 특유 이벤트 이름, 및 이벤트에 대한 임의의 공급자 특유 데이터를 포함한다.
본 발명의 한 양상에 따르면, DSPI 공급자는 태그 리스트 기능을 구현할 수 있다. 태그 리스트는 장치에 의해 검출된 태그들을 저장한다(예를 들어, 버퍼 한계까지). 태그 리스트는 DUPLICATE_ELIMINATION_TIME을 이용하여 중복을 제거하고, 그들을 태그 리스트에 저장한다. 태그 리스트는 호스트가 공급자에 연결되지 않은 경우에도 호스트가 태그들을 손실하지 않도록 검출된 태그들을 장치에 저장하기 위하여 이용된다. 태그 리스트는 Tag 엔트리들의 컬렉션을 포함하며, 그것은 하기에 정의된다.
Figure 112005041023403-pat00020
태그는 태그 Id, 선택적 태그 데이터, 선택적 태그 타입, 선택적 시간, 및 선택적 소스를 저장한다. 소스는 간단한 공급자 특유 스트링(예를 들어, 안테나1)으로서 저장된다. 소스 이름은 안테나1, 안테나2 등일 수 있지만 이들로 제한되지 않는다는 점을 잘 알아야 한다.
본 발명의 또다른 양상에 따르면, 비트마스크 필터(bitmask filter)가 검출된 태그의 태그 id에 적용될 수 있다. 필터 패턴은, 예를 들어, 0, 1, 그리고 x를 이용하여서와 같이 구현될 수 있고, 여기서 x는 무정(do not care)을 나타낸다. 필터는 매칭되는 길이의 태그 id에만 적용된다. 일례에서, 필터는 단지 통지에만 적용된다. 동기식 명령어는 이러한 필터를 적용하지 않는다. BitMaskReadFilter는 다음을 이용하여 사용될 수 있다.
Figure 112005041023403-pat00021
본 발명의 또다른 양상에 따르면, 공급자(804) 중 적어도 하나는 패스 코드(pass code)를 지원하는 태그 명령어들의 집합을 제공할 수 있다. 사용자가 "WriteID" 명령어를 이용하여 패스 코드를 설정하면, 그것은 이러한 모든 안전한 동작들에 적용될 것이다. 만약 사용자가 패스 코드를 갖지 않는다면, 모두 평범한 명령어가 될 것이다. 패스 코드는 태그에 특유할 것이다.
도 9는 장치에 대해 균일한 통신 및/또는 관리를 제공하기 위하여 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트(902)의 이용을 용이하게 하는 시스템(900)을 도시한다. DSPI 컴포넌트(902)는 통신 및 관리에 대한 균일한 기술을 제공함으로써 RFID 서버(906)와 RFID 장치(904) 사이의 통신을 용이하게 한다. 예를 들어, 적어도 하나의 RFID 장치(904)에 관련된 공급자(도시되지 않음)는 DSPI 컴포넌트(902)를 구현할 수 있다. 공급자는 DSPI 컴포넌트(902)에 의해 정의된 인터페이스(들)를 구현하는 프로세서에 독립적인 플랫폼 어셈블리일 수 있다.
DSPI 컴포넌트(902)는 적어도 DSPI 컴포넌트(902), RFID 서버(906) 및/또는 RFID 장치(904)에 기초한 동작의 로그를 제공하는 히스토리 컴포넌트(908)를 이용할 수 있다. 히스토리 컴포넌트는, 예를 들어, 공급자 리스트, 공급자에 관련된 장치, 연결 히스토리, 연결 데이터, 신호 데이터, 인증 데이터 등과 같은 정보를 추적 및/또는 로그할 수 있다. 게다가, 히스토리 컴포넌트(908)에 의해 생성된 동작 로그는 실시간 데이터 스트림 및/또는 저장된 데이터일 수 있다는 점을 잘 알아야 한다. 히스토리 컴포넌트(908)는 그러한 로그 동작 및/또는 히스토리 데이터를 저장하기 위하여 데이터 스토어(914)를 이용할 수 있다. 그러한 데이터 스토어(914)는 하기에 상세히 기술된다.
DSPI 컴포넌트(902)는 부가적인 보안을 시스템(900)에 제공하기 위하여 보안 컴포넌트(910)와 상호작용할 수 있다. 보안 컴포넌트(910)는 인증(예를 들어, 로그인 및/또는 암호), 검증(예를 들어, 그러한 로그인 및 암호를 검증함), 안전한 연결(예를 들어, 적어도 검증에 기초함), 보안 레벨(예를 들어, 사용자 이름 및/또는 암호에 기초함), 인코딩 등을 허용할 수 있다. 예를 들어, 보안 컴포넌트(910)는 보안 연결을 제공할 수 있는데, 공급자가 DSPI 컴포넌트(902)에 의해 정의된 인터페이스와 상호작용하고/거나 인터페이스를 이용하도록 허용하는 정보가 교환될 수 있다. 게다가, 시스템(900)의 인증 및/또는 검증은 제공된 드라이버에 관한 사용자의 확신을 증가시킬 수 있다.
본 발명의 한 양상에 따르면, DSPI 컴포넌트(902)는 RFID 서버(906)와 RFID 장치(904) 사이의 통신 설립을 용이하게 하기 위하여 학습 컴포넌트(912)를 이용할 수 있다. 학습 컴포넌트(912)는, 예를 들어, 공급자 동작/행위, 장치 동작/행위, 보안 추세 등을 결정하기 위하여 기계 학습(예를 들어, 인공 지능) 기술을 이용할 수 있다. 학습 컴포넌트(912)는 DSPI 컴포넌트(902)에 의해 정의된 인터페이스를 공급자가 구현할 수 있는지를 결정하기 위하여, 예를 들어, 히스토리 데이터 및/또는 동작 로그와 같은 히스토리 컴포넌트(908)에 관련된 정보를 분석할 수 있다. 게다가, 특정 장치가 연결될지 및/또는 서비스될지를 결정할 때, 학습 컴포넌트(912)는 적어도 부분적으로 인공 지능 기술에 기초하여 결정된 특성 및/또는 행위 패턴을 분석할 수 있다.
히스토리 컴포넌트(908), 보안 컴포넌트(910) 및/또는 학습 컴포넌트(912)는 데이터를 저장하기 위하여 데이터 스토어(914)를 이용할 수 있다는 점을 잘 알아야 한다. 데이터 스토어(914)는 DSPI 컴포넌트(902) 내에 및/또는 원격 서버 상에 위치될 수 있다. 게다가, 데이터 스토어(914)는, 예를 들어, 휘발성 메모리 또는 비휘발성 메모리일 수 있고, 또는 휘발성 및 비휘발성 메모리 둘 모두를 포함할 수 있다. 제한을 가하지 않는 예로서, 비휘발성 메모리는 ROM, 프로그래밍가능 ROM(PROM), 전기적 프로그래밍가능 ROM(EPROM), 전기적 소거가능 프로그래밍가능 ROM(EEPROM) 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는 외부 캐시 메모리로서 동작하는 RAM을 포함할 수 있다. 제한을 가하지 않는 예로서, RAM은 정적 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 강화된 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 램버스 다이렉트 RAM(RDRAM), 다이렉트 램버스 동적 RAM(DRDRAM), 및 램버스 동적 RAM(RDRAM)과 같이 여러 형태로 가용하다. 본 시스템 및 방법의 데이터 스토어(914)는 이들 및 임의의 기타 적합한 유형의 메모리들로 제한되지 않고 이들을 포함하도록 의도된다.
도 10-12는 본 발명에 따른 방법론을 도시한다. 설명의 단순화를 위하여, 방법론들은 일련의 동작들로서 도시되고 기술된다. 본 발명은 도시된 동작들 및/또는 동작들의 순서에 의해 제한되지 않으며, 예를 들어, 동작들이 다양한 순서로 및/또는 동시에 발생할 수 있고, 본 명세서에 제시되고 기술되지 않은 기타 동작들과 함께 발생할 수 있다는 점을 이해하고 잘 알아야 한다. 게다가, 본 발명에 따른 방법론을 구현하기 위하여 도시된 동작들 모두가 요구되지는 않을 수 있다. 또한, 본 분야에서 숙련된 기술을 가진 자들은 방법론이 대안적으로 상태도 또는 이벤트를 통해 일련의 상호관련된 상태로서 표현될 수 있다는 점을 이해하고 잘 알 것이다.
도 10은 상호작용을 위한 균일한 기술을 이용함으로써 장치와의 통신을 용이하게 하는 방법론(1000)을 도시한다. 단계(1002)에서, 공급자는 서버 상에 로드될 수 있다. 특히, SPI 컨테이너는 공급자(들)를 RFID 서버 상에 로드할 수 있다. 공급자(들)를 서버상에 로드할 때, 그러한 서버와 호환되도록 SPI의 버전이 검증될 수 있다. 게다가, 호환가능한 드라이버(들)를 제공하기 위하여(예를 들어, 디지털 검증), 드라이버(들)가 RFID 서버에 등록될 수 있다.
단계(1004)에서, 장치가 발견되고 구성된다. 공급자 당 하나의 컴포넌트가 인스턴스화되고, 장치들이 이용될 수 있을 정도로 발견이 효율적이다. 게다가, 공급자는 발견 프로세스 동안 발견 스레드 에러를 핸들링한다. 장치의 발견 후에, 스트링은 장치를 연결 및/또는 구성하기 위해 요구된 정보를 제공할 수 있다. 예를 들어, 스트링은 장치의 고유 id, 공급자 이름, 전송 이름 등과 같은 정보(이들로 제한되지는 않음)를 갖는 마크업 언어 포맷(예를 들어, 확장성 마크업 언어(XML), 하이퍼텍스트 마크업 언어(HTML), 표준 범용 마크업 언어(SGML), 및 확장성 하이퍼텍스트 마크업 언어(XHTML) 등)을 가질 수 있다.
다음 단계(1006)에서, 장치에 균일한 서비스를 제공하기 위하여 인터페이스가 정의되고 이용될 수 있다. 공급자가 RFID 서버 상에 로드되고, 장치가 발견 및/또는 구성되면, 인터페이스(들)는 균일한 기술을 이용하여 통신하기 위하여 공급자에 의해 이용될 수 있다. 정의된 인터페이스는 새로운 장치에 대한 발견 및 구성을 제공할 수 있고, 또한 통신은 모든 장치(예를 들어, 새로운 및 설립된)에 대한 연결 관리일 수 있다. 균일한 기술(들)을 이용함으로써, 다수의 표준에 걸친 정규화가 제공된다.
도 11은 장치와의 통신을 용이하게 하는 방법론(1100)을 도시한다. 단계(1102)에서, RFID 서버 상에 공급자가 로드된다. 인증되면, 공급자가 로드되고, 적어도 하나의 인터페이스를 이용함으로써 다수의 서비스가 균일하게 제공될 수 있다. 단계(1104)에서, 메시지 계층 및/또는 전송 계층이 정의된다. 메시지 계층 및/또는 전송 계층 내에서 메시징 및/또는 연결 관리가 제공된다. 예를 들어, 전송 채널은 메시지 교환을 전송하기 위하여 "SendMessage()"를 이용할 수 있다. 부가적으로, 응답을 위한 제1 수신 채널은 "CmdResponseEvent"를 구현할 수 있고, 반면 통지를 위한 제2 수신 채널은 "NotificationEvent"를 이용할 수 있다. XML 스트링을 이용하여 연결 관리가 제공될 수 있다. 연결이 함수 "Close()"를 이용하여 닫힐 때까지 공급자는 장치에의 연결을 유지할 수 있다는 점을 잘 알아야 한다.
단계(1106)에서, 메시지 계층 및/또는 전송 계층을 이용함으로써 장치(들)가 발견 및 구성될 수 있다. 장치(들)의 발견 및 구성은 메시지 교환 페어를 이용하여 행해진다. 메시지 교환 페어는 서버와 장치 사이에 교환된다. 메시지 교환 페어는 비동기식이고, 메시지 식별을 이용하여 매칭될 수 있다는 점을 잘 알아야 한다. 상기에 언급된 바와 같이, 장치에 요청을 전송하기 위하여 "SendMessage()"가 사용될 수 있고, 반면, "CmdResponseEvent" 및 "NotificationEvent"를 이용하여 회답 및 통지가 각각 수신된다. 게다가, 메시지 교환 페어는 장치(들)를 구성하기 위하여 속성을 이용할 수 있다. 표준 속성은 또한 구성 및/또는 발견 프로세스에 의해 정의 및 구현될 수 있다는 점을 잘 알아야 한다.
다음 단계(1108)에서, RFID 서버를 통해 발견된 장치 및 구성된 장치에 균일한 서비스를 제공하기 위하여 인터페이스가 정의 및 이용된다. 메시지 교환 페어는 기존 및/또는 새로 검출된 장치와 통신하기 위하여 균일한 기술을 제공할 수 있다. 발견, 구성, 통신 및 연결 관리에 대해 다수의 인터페이스가 정의될 수 있다는 점을 잘 알아야 한다. 일반적으로, 방법(1100)은 장치와 통신하고 장치를 균일하게 관리하기 위하여 추상화 계층을 제공할 수 있다.
도 12는 장치와 통신하기 위하여 및/또는 장치를 관리하기 위하여 균일한 기술을 제공하는 방법론(1200)을 도시한다. 단계(1202)에서, 서비스를 제공하기 위하여 RFID 서버 상에 RFID 공급자가 로드된다. 인증 및/또는 검증에 따라 새로운 공급자가 검출 및 로드된다는 점을 잘 알아야 한다. 단계(1204)에서, 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트 및 RFID 장치로부터 통신 능력을 제공하는 메시지 계층 및 전송 계층이 정의된다. 단계(1206)에서, 새로운 장치가 검출되는지에 대한 결정이 행해진다. 만약 새로운 장치가 검출되면, 프로세스는 장치가 적절히 연결, 인증 및 구성되는 단계(1208)로 진행한다. 만약 새로운 장치가 검출되지 않으면, 프로세스는 검출된(예를 들어, 발견된, 검증된, 및/또는 인증된) RFID 장치에 균일한 서비스를 제공하기 위하여 인터페이스가 정의 및 이용될 수 있는 단계(1210)로 진행한다.
프로세스(1200)가 새로운 공급자 및/또는 새로운 관련 장치가 RFID 서버 내에 존재하는지에 대한 계속적인 폴링 및/또는 주기적 결정을 제공한다는 점을 잘 알아야 한다. 즉, 검출된 장치에 균일한 서비스를 제공하는 동안, 프로세스는 새로운 공급자의 검출 시 공급자가 로드될 수 있고 관련 장치가 발견, 연결 및 인증될 수 있는 단계(1202)로 진행할 수 있다. 게다가, 새로운 장치가 이전의 기존 공급자(pre-existing provider)에 설립될 수 있다는 점을 잘 알아야 한다. 따라서, 프로세스는 그러한 새로운 장치를 적절히 발견 및 구성할 수 있다. 실질상 계속적인 폴링 및/또는 주기적 검사는 새로운 장치 및/또는 공급자의 결정을 이용할 수 있다.
본 발명의 다양한 양상을 구현하기 위한 부가적인 문맥을 제공하기 위하여, 도 13-14 및 후술하는 논의는 본 발명의 다양한 양상이 구현될 수 있는 적합한 컴퓨팅 환경의 간략하고 일반적인 설명을 제공하도록 의도된다. 본 발명은 로컬 컴퓨터 및/또는 원격 컴퓨터 상에서 동작하는 컴퓨터 프로그램의 컴퓨터-실행가능 명령어들의 일반적인 문맥으로 상기 기술되었지만, 본 분야에서 숙련된 기술을 가진 자들은 본 발명이 기타 프로그램 모듈과의 조합으로도 구현될 수 있음을 인지할 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하고/거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다.
게다가, 본 분야에서 숙련된 기술을 가진 자들은 본 발명의 방법이 개인용 컴퓨터, 포켓형 컴퓨팅 장치, 마이크로프로세서-기반 및/또는 프로그래밍가능 가전기기 등뿐 아니라 단일 프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터를 포함하고 각각이 동작가능하게 하나 이상의 관련 장치와 통신할 수 있는 기타 컴퓨터 시스템 구성에서 실행될 수 있다는 점을 잘 알 것이다. 본 발명의 도시된 양상은 통신 네트워크를 통해 연결되는 원격 프로세싱 장치에 의해 특정 태스크가 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 그러나, 본 발명의 모든 양상이 아니라면 소정 양상은 독립형 컴퓨터에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및/또는 원격 메모리 저장 장치에 위치될 수 있다.
도 13은 본 발명이 상호작용할 수 있는 예시적인 컴퓨팅 환경(1300)의 스키마적 블럭도이다. 시스템(1300)은 하나 이상의 클라이언트(들)(1310)를 포함할 수 있다. 클라이언트(들)(1310)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 시스템(1300)은 또한 하나 이상의 서버(들)(1320)를 포함한다. 서버(들)(1320)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치)일 수 있다. 서버(1320)는, 예를 들어, 본 발명을 이용함으로써 변환을 수행하기 위하여 스레드를 보관할 수 있다.
클라이언트(1310)와 서버(1320) 사이의 하나의 가능한 통신은 둘 이상의 컴퓨터 프로세스 사이에 전송되도록 적응된 데이터 패킷의 형태를 가질 수 있다. 시스템(1300)은 클라이언트(들)(1310)와 서버(들)(1320) 사이의 통신을 용이하게 하기 위하여 이용될 수 있는 통신 프레임워크(1340)를 포함한다. 클라이언트(들)(1310)는 클라이언트(들)(1310)에 로컬인 정보를 저장하기 위해 이용될 수 있는 하나 이상의 클라이언트 데이터 스토어(들)(1350)에 동작가능하게 연결된다. 유사하게, 서버(들)(1320)는 서버(1340)에 로컬인 정보를 저장하기 위해 이용될 수 있는 하나 이상의 서버 데이터 스토어(들)(1330)에 동작가능하게 연결된다.
도 14를 참조하면, 본 발명의 다양한 양상을 구현하기 위한 예시적인 환경(1400)은 컴퓨터(1412)를 포함한다. 컴퓨터(1412)는 프로세싱 유닛(1414), 시스템 메모리(1416) 및 시스템 버스(1418)를 포함한다. 시스템 버스(1418)는 시스템 메모리(1416)를 포함하지만 이것으로 제한되지 않는 시스템 컴포넌트를 프로세싱 유닛(1414)에 연결한다. 프로세싱 유닛(1414)은 다양한 가용 프로세서 중 임의의 것일 수 있다. 이중 마이크로프로세서 및 기타 멀티프로세서 아키텍처 또한 프로세싱 유닛(1414)으로서 이용될 수 있다.
시스템 버스(1418)는 메모리 버스 또는 메모리 제어기, 주변 버스 또는 외부 버스, 및/또는 산업 표준 아키텍처(ISA), 마이크로-채널 아키텍처(MSA), 확장된 ISA(EISA), 지능형 드라이브 전자공학(IDE), VESA 로컬 버스(VLB), 주변 컴포넌트 인터커넥트(PCI), 카드 버스, USB, 진보된 그래픽 포트(AGP), 개인용 컴퓨터 메모리 카드 국제 협회 버스(PCMCIA), 파이어와이어(IEEE 1394), 및 소형 컴퓨터 시스템 인터페이스(SCSI)를 포함하지만 이들로 제한되지는 않는 임의의 다양한 가용 버스 아키텍처를 사용하는 로컬 버스를 포함하는 여러 유형의 버스 구조(들) 중 임의의 것일 수 있다.
시스템 메모리(1416)는 휘발성 메모리(1420) 및 비휘발성 메모리(1422)를 포함한다. 시작할 때 등에 컴퓨터(1412) 내의 구성요소들 사이에 정보를 전달하기 위한 기본 루틴을 포함하는 기본 입력/출력 시스템(BIOS)은 비휘발성 메모리(1422)에 저장된다. 제한을 가하지 않는 예로서, 비휘발성 메모리(1422)는 ROM, 프로그래밍가능 ROM(PROM), 전기적 프로그래밍가능 ROM(EPROM), 전기적 소거가능 프로그래밍가능 ROM(EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리(1420)는 외부 캐시 메모리로서 동작하는 RAM을 포함한다. 제한을 가하지 않는 예로서, RAM은 정적 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 강화된 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 램버스 다이렉트 RAM(RDRAM), 다이렉트 램버스 동적 RAM(DRDRAM) 및 램버스 동적 RAM(RDRAM)과 같이 여러 형태로 가용하다.
컴퓨터(412)는 또한 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 14는 예로서 디스크 저장장치(1424)를 도시한다. 디스크 저장장치(1424)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈 드라이브(Jaz drive), 집 드라이브(Zip drive), LS-100 드라이브, 플래시 메모리 카드 또는 메모리 스틱과 같은 장치들을 포함하지만 이들로 제한되지는 않는다. 또한, 디스크 저장장치(1424)는 개별적으로 또는 CD-ROM, CD 기록가능 드라이브(CD-R Drive), CD 재기록가능 드라이브(CD-RW Drive) 또는 DVD-ROM을 포함하지만 이들로 제한되지는 않는 기타 저장 매체와의 조합으로 저장 매체를 포함할 수 있다. 디스크 저장 장치(1424)의 시스템 버스(1418)에의 연결을 용이하게 하기 위하여, 인터페이스(1426)와 같은 분리형 또는 비분리형 인터페이스가 전형적으로 사용된다.
도 14는 사용자와 적합한 운영 환경(1400)에 기술된 기본 컴퓨터 자원들 사이의 중개자로서 동작하는 소프트웨어를 기술한다는 점을 잘 알아야 한다. 그러한 소프트웨어는 운영 시스템(1428)을 포함한다. 디스크 저장장치(1424)에 저장될 수 있는 운영 시스템(1428)은 컴퓨터 시스템(1412)의 자원을 제어 및 할당하기 위하여 동작한다. 시스템 어플리케이션(1430)은 시스템 메모리(1416) 또는 디스크 저장장치(1424)에 저장된 프로그램 모듈(1432) 및 프로그램 데이터(1434)를 통하여 운영 시스템(1428)에 의한 자원의 관리를 이용한다. 본 발명이 다양한 운영 시스템 또는 운영 시스템들의 조합으로 구현될 수 있다는 점을 잘 알아야 한다.
사용자는 입력 장치(들)(1436)를 통해 컴퓨터(1412)에 명령어 또는 정보를 입력한다. 입력 장치(1436)는 마우스와 같은 포인팅 장치, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크, 조이스틱, 게임 패드, 위성 디쉬, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하지만 이들로 제한되지는 않는다. 이들 및 기타 입력 장치들은 인터페이스 포트(들)(1438)를 통해 시스템 버스(1418)를 거쳐 프로세싱 유닛(1414)에 연결한다. 인터페이스 포트(들)(1438)는, 예를 들어, 직렬 포트, 병렬 포트, 게임 포트 및 USB를 포함한다. 출력 장치(들)(1440)는 입력 장치(들)(1436)와 동일한 유형의 포트들 중 몇몇을 사용한다. 따라서, 예를 들어, USB 포트는 컴퓨터(1412)에 입력을 제공하기 위해서 및 컴퓨터(1412)로부터의 정보를 출력 장치(1440)에 출력하기 위해서 사용될 수 있다. 출력 어댑터(1442)는 기타 출력 장치들(1440) 중에서 특수 어댑터를 요구하는 모니터, 스피커 및 프린터와 같은 소정 출력 장치들(1440)이 존재한다는 것을 도시하기 위해 제공된다. 출력 어댑터(1442)는 제한을 가하지 않는 예로서 출력 장치(1440)와 시스템 버스(1418) 사이의 연결의 수단을 제공하는 비디오 및 사운드 카드를 포함한다. 기타 장치들 및/또는 장치들의 시스템이 원격 컴퓨터(들)(1444)와 같이 입력 및 출력 기능 둘 모두를 제공한다는 점을 유의해야 한다.
컴퓨터(1412)는 원격 컴퓨터(들)(1444)와 같은 하나 이상의 원격 컴퓨터에의 논리적 연결을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1444)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 기기, 피어 디바이스 또는 기타 공통 네트워크 노드 등일 수 있고, 전형적으로 컴퓨터(1412)에 관련하여 기술된 구성요소들 중 다수 또는 모두를 포함한다. 간략화를 위하여, 메모리 저장 장치(1446)만이 원격 컴퓨터(들)(1444)와 함께 도시된다. 원격 컴퓨터(들)(1444)는 네트워크 인터페이스(1448)를 통해 컴퓨터(1412)에 논리적으로 연결되고, 그 후 통신 연결(1450)을 통해 물리적으로 연결된다. 네트워크 인터페이스(1448)는 근거리 통신망(LAN) 및 광역 통신망(WAN)과 같은 유선 및/또는 무선 통신 네트워크를 포함한다. LAN 기술은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷, 토큰링 등을 포함한다. WAN 기술은 점대점 링크, 통합 서비스 디지털 네트워크(ISDN) 및 그 변형과 같은 서킷 스위칭 네트워크, 패킷 스위칭 네트워크, 및 디지털 가입자 라인(DSL)을 포함하지만 이들로 제한되지는 않는다.
통신 연결(들)(1450)은 네트워크 인터페이스(1448)를 버스(1418)에 연결하기 위해 이용된 하드웨어/소프트웨어를 일컫는다. 명확한 예시를 위해 통신 연결(1450)이 컴퓨터(1412) 내부에 도시되지만, 그것은 컴퓨터(1412) 외부에 있을 수도 있다. 네트워크 인터페이스(1448)에의 연결을 위해 필수적인 하드웨어/소프트웨어는 단지 예시의 목적으로 레귤러 전화 등급 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터, 및 이더넷 카드와 같은 내부적 및 외부적 기술들을 포함한다.
상기 기술된 것들은 본 발명의 예들을 포함한다. 물론, 본 발명을 기술하는 목적을 위해 컴포넌트들 또는 방법론들의 생각할 수 있는 모든 조합을 기술하는 것은 불가능하지만, 본 분야에서 숙련된 기술을 가진 자들은 본 발명의 많은 다른 조합 및 순열이 가능하다는 것을 인지할 수 있다. 따라서, 본 발명은 첨부된 특허청구범위의 취지 및 범위 내에 속하는 그러한 모든 변경, 수정 및 변형들을 포함하도록 의도된다.
상기 기술된 컴포넌트, 장치, 회로, 시스템 등에 의해 수행된 다양한 기능에 관하여 특히, 그러한 컴포넌트들을 기술하기 위해 사용된 용어들("수단"에의 참조를 포함함)은, 그렇지 않은 경우가 제시되지 않으면, 개시된 구조에 구조적으로 동일하지 않을지라도 기술된 컴포넌트의 명기된 기능을 수행하고 본 명세서에 도시된 본 발명의 예시적인 양상에 있는 기능을 수행하는 임의의 컴포넌트(예를 들어, 기능적 등가물)에 대응하도록 의도된다. 이러한 점에서, 본 발명의 다양한 방법의 동작 및/또는 이벤트를 수행하기 위한 컴퓨터-실행가능 명령어들을 갖는 컴퓨터-판독가능 매체뿐 아니라 시스템을 본 발명이 포함한다는 점 또한 인지될 것이다.
또한, 본 발명의 특정 특성이 몇몇 구현 중 단 하나에 관하여 개시되었을 수 있지만, 그러한 특성은 임의의 주어진 또는 특정 응용에 대하여 바람직하고 이점을 가질 수 있는 기타 구현의 하나 이상의 기타 특성들과 통합될 수 있다. 그러므로, "포함한다(include)" 및 "포함하는(including)"이라는 용어 및 그 변형이 상세한 설명 또는 특허청구범위에 사용되는 한, 이들 용어는 "포함하는(comprising)"이라는 용어와 유사한 방식으로 포괄적인 것으로 의도된다.
균일한 통신, 발견 및 관리를 제공하기 위하여 장치 컴포넌트와의 상호작용을 용이하게 하는 시스템 및/또는 방법이 제공된다.

Claims (20)

  1. 장치와 상호작용하는 시스템 - 상기 시스템은 프로세서 및 상기 프로세서에 연결되어 동작하는(operatively coupled) 하나 이상의 물리적 컴퓨터 판독가능 저장 매체를 포함함 - 으로서,
    상기 컴퓨터 판독가능 저장 매체는, 상기 프로세서에 의해 실행될 때,
    관련 공급자(associated provider)를 갖는 장치에 관계된 프로토콜 변환(protocol translation)을 수신하는 수신기 컴포넌트;
    장치 판매자 및 프로토콜 표준에 관계없이 균일(uniform)하게 상기 장치에 통신하고 상기 장치의 기능을 노출시키기 위한 인터페이스를 정의하는 장치 서비스 공급자 인터페이스(DSPI) 컴포넌트 - 상기 관련 공급자는, 장치 특유 세부사항(device specific detail)에 관한 데이터를 장치 명령어를 이용하여 추상화하여 상기 장치의 기능을 노출시키도록 상기 인터페이스를 구현하고, 상기 장치 명령어는 프로세서에 독립적인 플랫폼 어셈블리(processor independent platform assembly)임 -; 및
    명령어 및 응답 객체인 메시지 교환을 정의하는 요청 응답 컴포넌트
    를 구현하는 컴퓨터 실행가능 명령어들이 저장되어 있는 시스템.
  2. 제1항에 있어서,
    상기 장치 판매자는 상기 DSPI 컴포넌트를 이용하는 제3자 판매자(third-party vendor)인 시스템.
  3. 제1항에 있어서,
    상기 명령어 및 상기 응답은 비동기적이고 메시지 ID를 이용하여 매칭되는 시스템.
  4. 제3항에 있어서,
    상기 메시지 교환은 명령어, 속성 및 통지 중 적어도 하나인 요청 응답 페어(request response pair)인 시스템.
  5. 제1항에 있어서,
    상기 장치는 무선 주파수 식별(RFID) 장치, 실시간 센서(real-time sensor), 센서, 웹 서비스에 확장가능한 장치(device extensible to a web service) 및 실시간 이벤트 생성 시스템 중 적어도 하나인 시스템.
  6. 제1항에 있어서,
    상기 DSPI 컴포넌트는 논리적 이벤트 소스 및 물리적 이벤트 소스를 분리하며, 하나의 인스턴스화가 존재하고, 상기 인스턴스화는 위치, 유형, 상기 장치 판매자, 상기 프로토콜 표준 중 적어도 하나에 관계없이 상기 장치와 동작하는 데에 이용되는 시스템.
  7. 제1항에 있어서,
    계층을 정의하는 장치 인터페이스 컴포넌트를 더 포함하며, 상기 계층은 메시지 계층 및 전송 계층 중 하나의 계층인 시스템.
  8. 제1항에 있어서,
    장치 연결 데이터를 캡슐화하는 마크업 언어로 정의된 스트링을 이용하여 장치 발견 메커니즘을 정의하는 장치 발견 인터페이스 컴포넌트를 더 포함하며, 상기 장치 발견 메커니즘은 공급자 당 하나의 DSPI 컴포넌트를 인스턴스화하는 시스템.
  9. 제1항에 있어서,
    DSPI 공급자를 로드하는 SPI 컨테이너 컴포넌트를 더 포함하며, 상기 SPI 컨테이너 컴포넌트는 호환가능한 SPI 버전, 드라이버의 디지털 인증 및 드라이버 등록 중 하나를 제공하는 시스템.
  10. 제1항에 있어서,
    상기 DSPI 컴포넌트는 보안 연결, 공급자의 인증, 및 상기 장치의 검증 중 하나를 제공하는 보안 컴포넌트를 이용하는 시스템.
  11. 프로세서, 및 상기 프로세서에 의해 실행될 때, 장치와 상호작용하는 방법을 구현하는 명령어들을 저장하는 메모리를 포함하는 컴퓨팅 시스템 내에서 구현되는 방법으로서,
    관련 공급자를 갖는 장치에 관계된 프로토콜 변환을 수신하는 단계; 및
    장치 판매자 및 프로토콜 표준에 관계없이 균일하게 상기 장치에 통신하고 상기 장치의 기능을 노출시키기 위한 인터페이스를 정의하는 단계
    를 포함하고,
    상기 관련 공급자는, 장치 특유 세부사항에 관한 데이터를 장치 명령어를 이용하여 추상화하여 상기 장치의 기능을 노출시키도록 상기 인터페이스를 구현하고, 상기 장치 명령어는 프로세서에 독립적인 플랫폼 어셈블리인, 방법.
  12. 프로세서에 의해 실행될 때, 제11항의 방법을 수행하는 컴퓨터 실행가능 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체.
  13. 제11항에 있어서,
    RFID 서버에 공급자를 로드하는 단계;
    메시지 계층 및 전송 계층을 정의하는 단계; 및
    상기 장치를 발견 및 구성하는 단계
    를 더 포함하는 방법.
  14. 제11항에 있어서,
    비동기적인 메시지 교환 페어를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 메시지 교환 페어는 요청과 응답, 요청과 회답(reply), 요청과 통지, 및 요청과 속성 중 하나인 방법.
  16. 제11항에 있어서,
    논리적 이벤트 소스와 물리적 이벤트 소스를 분리하는 단계를 더 포함하는 방법.
  17. 제11항에 있어서,
    상기 인터페이스를 제3자 장치 판매자, 웹 서비스 및 실시간 센서 장치 중 적어도 하나로 확장하는 단계를 더 포함하는 방법.
  18. 수신기 컴포넌트와 인터페이스 사이에서 통신하는 데이터 패킷을 기록한 컴퓨터 판독가능 저장 매체로서,
    상기 데이터 패킷은 제11항의 방법을 사용하는 컴퓨터 판독가능 저장 매체.
  19. 프로세서에 의해 실행될 때 무선 주파수 식별(RFID) 장치와 상호작용하는 방법을 수행하는 컴퓨터 실행가능 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 방법은,
    RFID 장치에 관계된 프로토콜 변환을 수신하는 단계;
    장치 판매자 및 프로토콜 표준에 관계없이 균일하게 상기 RFID 장치에 통신하고 상기 RFID 장치의 기능을 노출시키기 위한 장치 서비스 공급자 인터페이스(DSPI)를 정의하는 단계;
    RFID 공급자를 RFID 서버로 로드하는 단계;
    상기 RFID 장치로부터 상기 DSPI로의 통신 성능들(capabilities)을 제공하는 메시지 계층 및 전송 계층을 정의하는 단계; 및
    상기 장치를 발견 및 구성하는 단계
    를 포함하고,
    상기 RFID 장치는 상기 RFID 공급자와 관련되고, 관련된 상기 RFID 공급자는, 장치 특유 세부사항에 관한 데이터를 장치 명령어를 이용하여 추상화하여 상기 RFID 장치의 기능을 노출시키도록 상기 DSPI를 구현하고, 상기 장치 명령어는 프로세서에 독립적인 플랫폼 어셈블리인, 컴퓨터 판독가능 저장 매체.
  20. 삭제
KR1020050068217A 2004-09-01 2005-07-27 장치 서비스 공급자 인터페이스 KR101183334B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US60628104P 2004-09-01 2004-09-01
US60/606,281 2004-09-01
US60657704P 2004-09-02 2004-09-02
US60/606,577 2004-09-02
US11/061,337 US7701341B2 (en) 2004-09-01 2005-02-18 Device service provider interface
US11/061,337 2005-02-18

Publications (2)

Publication Number Publication Date
KR20060092836A KR20060092836A (ko) 2006-08-23
KR101183334B1 true KR101183334B1 (ko) 2012-09-14

Family

ID=35502895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050068217A KR101183334B1 (ko) 2004-09-01 2005-07-27 장치 서비스 공급자 인터페이스

Country Status (9)

Country Link
US (1) US7701341B2 (ko)
EP (1) EP1632893A3 (ko)
JP (1) JP4974487B2 (ko)
KR (1) KR101183334B1 (ko)
AU (1) AU2005204231A1 (ko)
BR (1) BRPI0504756A (ko)
CA (1) CA2517860C (ko)
MX (1) MXPA05009275A (ko)
TW (1) TW200611169A (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7789308B2 (en) * 2004-05-13 2010-09-07 Cisco Technology, Inc. Locating and provisioning devices in a network
US7422152B2 (en) * 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
US8113418B2 (en) * 2004-05-13 2012-02-14 Cisco Technology, Inc. Virtual readers for scalable RFID infrastructures
US8604910B2 (en) * 2004-07-13 2013-12-10 Cisco Technology, Inc. Using syslog and SNMP for scalable monitoring of networked devices
US7944355B2 (en) 2004-09-01 2011-05-17 Microsoft Corporation Security techniques in the RFID framework
US7204409B2 (en) * 2004-09-01 2007-04-17 Microsoft Corporation Reader application markup language schema
US7701341B2 (en) 2004-09-01 2010-04-20 Microsoft Corporation Device service provider interface
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US8098158B2 (en) * 2004-09-01 2012-01-17 Microsoft Corporation RFID server internals design
US7551081B2 (en) * 2004-11-10 2009-06-23 Rockwell Automation Technologies, Inc. Systems and methods that integrate radio frequency identification (RFID) technology with agent-based control systems
US7339476B2 (en) 2004-11-10 2008-03-04 Rockwell Automation Technologies, Inc. Systems and methods that integrate radio frequency identification (RFID) technology with industrial controllers
US20060168112A1 (en) * 2004-12-30 2006-07-27 Jie Weng Generic integration within an auto-id system
US7830256B2 (en) * 2005-04-07 2010-11-09 Microsoft Corporation Method and system for setup of, and communication with, an RFID middleware server from an enterprise resource planning system server
US8131213B2 (en) * 2005-06-15 2012-03-06 Wfs Technologies Ltd. Sea vessel tagging apparatus and system
US7953826B2 (en) * 2005-07-14 2011-05-31 Cisco Technology, Inc. Provisioning and redundancy for RFID middleware servers
US7616117B2 (en) * 2005-07-19 2009-11-10 Rockwell Automation Technologies, Inc. Reconciliation mechanism using RFID and sensors
US7388491B2 (en) 2005-07-20 2008-06-17 Rockwell Automation Technologies, Inc. Mobile RFID reader with integrated location awareness for material tracking and management
US7764191B2 (en) 2005-07-26 2010-07-27 Rockwell Automation Technologies, Inc. RFID tag data affecting automation controller with internal database
US7345585B2 (en) * 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US8260948B2 (en) 2005-08-10 2012-09-04 Rockwell Automation Technologies, Inc. Enhanced controller utilizing RFID technology
US7510110B2 (en) * 2005-09-08 2009-03-31 Rockwell Automation Technologies, Inc. RFID architecture in an industrial controller environment
US7931197B2 (en) 2005-09-20 2011-04-26 Rockwell Automation Technologies, Inc. RFID-based product manufacturing and lifecycle management
US7446662B1 (en) 2005-09-26 2008-11-04 Rockwell Automation Technologies, Inc. Intelligent RFID tag for magnetic field mapping
US8025227B2 (en) 2005-09-30 2011-09-27 Rockwell Automation Technologies, Inc. Access to distributed databases via pointer stored in RFID tag
US20070075832A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. RFID reader with programmable I/O control
US8698603B2 (en) 2005-11-15 2014-04-15 Cisco Technology, Inc. Methods and systems for automatic device provisioning in an RFID network using IP multicast
US7378966B2 (en) 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7756747B2 (en) * 2006-03-10 2010-07-13 Microsoft Corporation RFID business process-decoupling of design and deployment time activities
US8209398B2 (en) * 2006-03-16 2012-06-26 Exceptional Innovation Llc Internet protocol based media streaming solution
US8725845B2 (en) 2006-03-16 2014-05-13 Exceptional Innovation Llc Automation control system having a configuration tool
US8155142B2 (en) * 2006-03-16 2012-04-10 Exceptional Innovation Llc Network based digital access point device
US8001219B2 (en) * 2006-03-16 2011-08-16 Exceptional Innovation, Llc User control interface for convergence and automation system
US8577484B2 (en) * 2006-03-16 2013-11-05 Exceptional Innovation, Llc Customizable media device
US7496627B2 (en) * 2006-03-16 2009-02-24 Exceptional Innovation, Llc Automation control system having digital logging
US7509402B2 (en) * 2006-03-16 2009-03-24 Exceptional Innovation, Llc Automation control system having a configuration tool and two-way ethernet communication for web service messaging, discovery, description, and eventing that is controllable with a touch-screen display
US7966083B2 (en) 2006-03-16 2011-06-21 Exceptional Innovation Llc Automation control system having device scripting
WO2007124453A2 (en) * 2006-04-20 2007-11-01 Exceptional Innovation Llc Touch screen for convergence and automation system
US7667968B2 (en) 2006-05-19 2010-02-23 Exceptional Innovation, Llc Air-cooling system configuration for touch screen
US20080010535A1 (en) * 2006-06-09 2008-01-10 Microsoft Corporation Automated and configurable system for tests to be picked up and executed
US7868738B2 (en) * 2006-06-15 2011-01-11 Microsoft Corporation Device simulator framework for an RFID infrastructure
US7675418B2 (en) * 2006-06-15 2010-03-09 Microsoft Corporation Synchronous command model for RFID-enabling applications
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US7956724B2 (en) * 2006-06-15 2011-06-07 Microsoft Corporation Support for reliable end to end messaging of tags in an RFID infrastructure
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US7768404B2 (en) * 2006-06-30 2010-08-03 RFID Mexico, S.A. DE C.V. System and method for optimizing resources in a supply chain using RFID and artificial intelligence
WO2008073658A2 (en) * 2006-11-09 2008-06-19 Exceptional Innovation, Llc. Portable device for convergence and automation solution
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US7782203B2 (en) * 2007-03-28 2010-08-24 Microsoft Corporation Strong typing of components in RFID business processes
US8686890B2 (en) 2007-05-25 2014-04-01 Exceptional Innovation, Llc Customizable remote control device
US7904470B2 (en) * 2007-06-13 2011-03-08 Sap Ag Discovery service for electronic data environment
KR101478144B1 (ko) * 2007-12-27 2015-01-02 삼성전자주식회사 알에프아이디 통신 방법
JP4582506B2 (ja) * 2008-03-26 2010-11-17 ブラザー工業株式会社 情報提供システム
JP4614144B2 (ja) * 2008-03-26 2011-01-19 ブラザー工業株式会社 無線タグ識別情報管理システム
US8410911B2 (en) * 2008-04-16 2013-04-02 RFID Mexico, S.A. DE C.V. RFID network system
US7859412B2 (en) * 2008-06-16 2010-12-28 Xerox Corporation System and method of monitoring modules of printing machines utilizing RFID tags
US8190725B2 (en) 2008-07-01 2012-05-29 Microsoft Corporation Standardized mechanism of remote management of embedded radio modules
US9024723B2 (en) * 2008-08-29 2015-05-05 Alcatel Lucent Method and apparatus for cross-media use of RFID readers and RFID tags
US20100122209A1 (en) * 2008-11-11 2010-05-13 Jadak Llc Multiple Platform Optical Imager Interface and Communication System
US8631284B2 (en) * 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
JP5935235B2 (ja) * 2011-02-18 2016-06-15 ソニー株式会社 通信装置、通信システムおよび通信方法
IN2014MN02537A (ko) 2012-06-20 2015-07-24 Infotel Broadband Services Ltd
US9015793B2 (en) 2012-12-21 2015-04-21 Mcafee, Inc. Hardware management interface
US9419953B2 (en) 2012-12-23 2016-08-16 Mcafee, Inc. Trusted container
US20140181844A1 (en) * 2012-12-23 2014-06-26 Vincent Edward Von Bokern Hardware management interface
US8850543B2 (en) 2012-12-23 2014-09-30 Mcafee, Inc. Hardware-based device authentication
US9449032B2 (en) * 2013-04-22 2016-09-20 Sap Se Multi-buffering system supporting read/write access to different data source type
IN2014MU00227A (ko) 2014-01-22 2015-09-04 Reliance Jio Infocomm Ltd
WO2016044332A1 (en) 2014-09-15 2016-03-24 Reliance Jio Infocomm Usa, Inc. Extending communication services to a consumption device using a proxy device
US9553843B1 (en) 2014-10-08 2017-01-24 Google Inc. Service directory profile for a fabric network
CA2975151A1 (en) 2015-03-03 2016-09-09 Purple Deck Media, Inc. A networked computer system for remote rfid device management and tracking
US10531358B2 (en) 2015-07-30 2020-01-07 Reliace Jio Infocomm Usa, Inc. Method and system for routing IP based messaging, voice and video calling based on the network parameters the device is connected to and the location

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170952A1 (en) 2001-04-04 2002-11-21 Koninklijke Philips Electronics N.V. Internet enabled resource constrained terminal for processing tags
US20030225928A1 (en) 2002-05-28 2003-12-04 Sun Microsystems, Inc. Method, system, and program for managing access to a device by device specific components and operating system specific components

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07296124A (ja) * 1994-04-27 1995-11-10 Oki Electric Ind Co Ltd Icカード応用装置
US5910776A (en) * 1994-10-24 1999-06-08 Id Technologies, Inc. Method and apparatus for identifying locating or monitoring equipment or other objects
US5650768A (en) * 1996-03-04 1997-07-22 Eswaran; Kapali P. Baggage claiming method and apparatus
US6175860B1 (en) * 1997-11-26 2001-01-16 International Business Machines Corporation Method and apparatus for an automatic multi-rate wireless/wired computer network
US7586398B2 (en) * 1998-07-23 2009-09-08 Universal Electronics, Inc. System and method for setting up a universal remote control
US20040016796A1 (en) * 1998-11-25 2004-01-29 Diebold, Incorporated Automated banking apparatus and method
US6677852B1 (en) * 1999-09-22 2004-01-13 Intermec Ip Corp. System and method for automatically controlling or configuring a device, such as an RFID reader
US6631363B1 (en) * 1999-10-11 2003-10-07 I2 Technologies Us, Inc. Rules-based notification system
GB9925958D0 (en) * 1999-11-02 1999-12-29 Bundred Nigel J Therapeutic use
US6784802B1 (en) * 1999-11-04 2004-08-31 Nordx/Cdt, Inc. Real time monitoring of cable patch panel
US7171459B2 (en) * 2000-06-07 2007-01-30 Microsoft Corporation Method and apparatus for handling policies in an enterprise
US20020070865A1 (en) * 2000-09-29 2002-06-13 Lancos Kenneth J. System and method for creating a group of guests at a coverage area
US6883710B2 (en) * 2000-10-11 2005-04-26 Amerasia International Technology, Inc. Article tracking system and method
US20020183882A1 (en) * 2000-10-20 2002-12-05 Michael Dearing RF point of sale and delivery method and system using communication with remote computer and having features to read a large number of RF tags
US20020143624A1 (en) * 2001-03-31 2002-10-03 Koninklijke Philips Electronics N.V. Machine readable label for tokens and method of use
US6732923B2 (en) * 2001-04-04 2004-05-11 Ncr Corporation Radio frequency identification system and method
US20030155413A1 (en) * 2001-07-18 2003-08-21 Rozsa Kovesdi System and method for authoring and providing information relevant to a physical world
US6908034B2 (en) * 2001-12-17 2005-06-21 Zih Corp. XML system
US6843415B2 (en) 2002-01-11 2005-01-18 Sap Atkiengesellschaft Event-based communication in a distributed item tracking system
US7969306B2 (en) * 2002-01-11 2011-06-28 Sap Aktiengesellschaft Context-aware and real-time item tracking system architecture and scenarios
US7149753B2 (en) * 2002-01-11 2006-12-12 Sap Aktiengesellschaft Providing selective access to tracking information
US7287053B2 (en) * 2002-01-15 2007-10-23 International Business Machines Corporation Ad hoc data sharing in virtual team rooms
EP1330074B1 (en) * 2002-01-21 2005-12-28 Hewlett-Packard Company Location device of data network appliance
US7406439B2 (en) * 2002-01-31 2008-07-29 International Business Machines Corporation Inventory controls with radio frequency identification
US20040046642A1 (en) * 2002-09-05 2004-03-11 Honeywell International Inc. Protocol for addressing groups of RFID tags
US20040111335A1 (en) * 2002-12-04 2004-06-10 Black Charles Ronald RFID space monitoring and asset inventory system
EP1595234A4 (en) * 2003-02-21 2007-01-03 Zachry Construction Corp MARKETING AND TRACKING SYSTEM FOR GOODS AND PERSONNEL OF A COMMERCIAL UNDERTAKING
WO2004090798A1 (en) * 2003-04-07 2004-10-21 Silverbrook Research Pty Ltd Sensing device for coded data
US8103753B2 (en) * 2003-04-22 2012-01-24 Microsoft Corporation Distributing membership information for multi-party application layer sessions
US7380125B2 (en) * 2003-05-22 2008-05-27 International Business Machines Corporation Smart card data transaction system and methods for providing high levels of storage and transmission security
JP2004355306A (ja) * 2003-05-29 2004-12-16 Hitachi Ltd 端末装置、サービス提供サーバ及びrfタグシート
US20050062603A1 (en) * 2003-08-06 2005-03-24 Oren Fuerst Secure, networked and wireless access, storage and retrival system and method utilizing tags and modular nodes
CA2586333A1 (en) * 2003-11-04 2005-05-19 Captech Ventures, Inc. System and method for rfid system integration
US7155305B2 (en) * 2003-11-04 2006-12-26 Universal Electronics Inc. System and methods for home appliance identification and control in a networked environment
US7237194B2 (en) * 2003-11-18 2007-06-26 Microsoft Corporation System and method for generating optimized binary representation of an object tree
GB2410867B (en) 2004-02-06 2009-04-08 Btg Int Ltd Selection and arbitration method and system
JP2005279008A (ja) * 2004-03-30 2005-10-13 Brother Ind Ltd 刺繍データ作成装置、刺繍データ作成方法、刺繍データ作成制御プログラム及び刺繍方法
US7071825B2 (en) * 2004-04-26 2006-07-04 Microsoft Corporation Self-monitored active rack
US7701341B2 (en) 2004-09-01 2010-04-20 Microsoft Corporation Device service provider interface
US7204409B2 (en) * 2004-09-01 2007-04-17 Microsoft Corporation Reader application markup language schema
US7557707B2 (en) * 2004-09-01 2009-07-07 Microsoft Corporation RFID enabled information systems utilizing a business application
US7944355B2 (en) * 2004-09-01 2011-05-17 Microsoft Corporation Security techniques in the RFID framework
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US7295116B2 (en) * 2004-09-01 2007-11-13 Microsoft Corporation Architecture, programming model and API'S

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020170952A1 (en) 2001-04-04 2002-11-21 Koninklijke Philips Electronics N.V. Internet enabled resource constrained terminal for processing tags
US20030225928A1 (en) 2002-05-28 2003-12-04 Sun Microsystems, Inc. Method, system, and program for managing access to a device by device specific components and operating system specific components

Also Published As

Publication number Publication date
JP2006072974A (ja) 2006-03-16
KR20060092836A (ko) 2006-08-23
MXPA05009275A (es) 2006-03-03
TW200611169A (en) 2006-04-01
EP1632893A2 (en) 2006-03-08
CA2517860A1 (en) 2006-03-01
AU2005204231A1 (en) 2006-03-16
US7701341B2 (en) 2010-04-20
BRPI0504756A (pt) 2006-05-23
EP1632893A3 (en) 2006-03-22
CA2517860C (en) 2014-03-25
JP4974487B2 (ja) 2012-07-11
US20060053234A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
KR101183334B1 (ko) 장치 서비스 공급자 인터페이스
RU2421811C2 (ru) Интерфейс поставщиков служб устройств
US8098158B2 (en) RFID server internals design
US7295116B2 (en) Architecture, programming model and API&#39;S
ZA200506980B (en) Device service provider interface
US7533812B2 (en) Reader application markup language schema
US6793127B2 (en) Internet enabled resource constrained terminal for processing tags
US7868738B2 (en) Device simulator framework for an RFID infrastructure
WO2007030544A2 (en) Rfid architecture in an industrial controller environment
US7636044B1 (en) RFID tag programming, printing application, and supply chain/global registration architecture
WO2008118595A1 (en) Strong typing of components in rfid business processes
WO2023096924A1 (en) Factory activation of active digital identities
KR20100037315A (ko) 알에프아이디 통합 관리 시스템
KR20100037307A (ko) 알에프아이디 통합 관리 방법

Legal Events

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

Payment date: 20150819

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7