KR20040074966A - 모바일 장치 및 모바일 장치 상에서의 디스플레이 방법 - Google Patents

모바일 장치 및 모바일 장치 상에서의 디스플레이 방법 Download PDF

Info

Publication number
KR20040074966A
KR20040074966A KR1020040010458A KR20040010458A KR20040074966A KR 20040074966 A KR20040074966 A KR 20040074966A KR 1020040010458 A KR1020040010458 A KR 1020040010458A KR 20040010458 A KR20040010458 A KR 20040010458A KR 20040074966 A KR20040074966 A KR 20040074966A
Authority
KR
South Korea
Prior art keywords
data
logic
request
wireless
imaging
Prior art date
Application number
KR1020040010458A
Other languages
English (en)
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 KR20040074966A publication Critical patent/KR20040074966A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • 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]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • 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]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72484User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

일 실시예에서, 시스템은 모바일 장치(100, 900, 1800)를 위한 검색 로직(130, 300, 1300)을 포함한다. 검색 로직(130, 300, 1300)은 무선 주파수 트랜시버(145, 915, 1655, 1805)로 하여금 호환성 있는 무선 주파수 트랜시버를 갖춘 전자 장치(155, 905)를 발견하게 하는 발견 프로세스를 수행하도록 구성된다. 검색 로직(130, 300, 1300)은 하나 이상의 상이한 프로세스를 비동기적으로 실행하도록 구성된다. 디스플레이 로직(325, 525, 1360, 1660)은 발견되는 전자 장치의 각각에 대한 장치 식별자를 디스플레이하도록 구성된다.

Description

모바일 장치 및 모바일 장치 상에서의 디스플레이 방법{DISPLAY ON WIRELESS MOBILE DEVICE}
무선 모바일 장치의 사용자가 다른 무선 장치로부터 서비스를 요청하거나, 다르게, 다른 무선 장치와 통신하기 원하면, 사용자는 그 통신 영역 내에서 다른 무선 장치를 로케이팅하기 위한 검색(a search to locate other wireless devices)을 개시할 것이다. 예를 들면, 개인용 정보 단말기(PDA)의 사용자가 근처의 컴퓨터에 파일을 전송하기를 원하면, 사용자는 PDA에게 알맞은 무선 장치를 검색하도록 지시할 것이다. PDA와 컴퓨터가 동일한 무선 통신 프로토콜을 사용한다고 가정하면, 컴퓨터는 검색될 수 있고 통신 링크가 두 장치 간에 설정될 수 있다. 하나 이상의 바람직한 장치를 로케이팅하는 것은 전형적으로 다소의 시간을 소요한다. 몇몇의 경우에, 사용자가 검색 프로세스를 일찍 개시하지 않아서 사용자가 소망하는 작업을 시작하기 전에 준비가 되지 않을 수 있다. 무선 통신간의 통신을 위해 개선된 시스템은 무선 통신을 사용하는 사용자의 편의성을 향상시킬 것이다.
본 발명은 무선 인에이블 장치(wireless enabled devices)를 위한 신규의 유용한 방법 및 시스템을 제공한다.
도 1은 무선 인에이블 모바일 장치(wireless enabled mobile device)의 일 실시예,
도 2는 다른 무선 인에이블 장치를 발견하는 검색 방법의 일 실시예,
도 3은 비동기 검색 로직의 일 실시예,
도 4는 블루투스 프로토콜에 근거하여 장치 유형을 판단하는 결정 트리(decision tree)의 일 실시예,
도 5는 이전에 검색된 장치를 설치하는 설치 로직의 일 실시예,
도 6은 설치 방법의 일 실시예,
도 7은 사용자 선택 방법의 일 실시예,
도 8은 장치 데이터 레코드 분류의 일 실시예,
도 9는 모바일 장치를 위한 필터링 시스템의 또 다른 실시예,
도 10은 서비스 식별 시스템을 갖춘 무선 인에이블 영상 형성 장치의 일 실시예,
도 11은 발견한 장치를 필터링하는 방법의 일 실시예,
도 12는 발견한 장치를 필터링하는 방법의 또 다른 실시예,
도 13은 검색 로직의 일 실시예,
도 14는 디스플레이의 일 실시예,
도 15는 디스플레이 방법의 일 실시예,
도 16은 무선 모바일 장치의 일 실시예,
도 17은 영상화 작업(imaging job)의 일 실시예,
도 18은 프린트 요청 처리 시스템을 갖춘 무선 모바일 장치의 또 다른 실시예를 도시하는 도면,
도 19는 프린트 큐(print queue) 내로의 프린트 요청 처리 방법의 일 실시예를 도시하는 도면,
도 20은 프린트 큐 밖으로의 프린트 요청 처리 방법의 일 실시예를 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
1610 : 프로세서 1620 : 메모리
1625 : 작업 큐 1630 : 영상 로직
1640 : 작업 요청 1645 : 참조 데이터
1650 : 영상 데이터 1655 : 무선 트랜시버 로직
1660 : 디스플레이 로직 1665 : 애플리케이션
본 명세서에 통합되어 일부를 구성하는 첨부 도면에, 시스템 및 방법의 실시예가 도시되어 있고, 아래에 제공하는 상세한 설명과 함께 시스템 및 방법의 실시예를 설명한다. 도면에 도시한 경계 요소(가령, 박스, 박스 그룹 등의 형태)는 하나의 경계예를 나타낸다는 것이 이해될 것이다. 당업자라면, 하나의 요소가 다수의 요소로서 설계되거나 다수의 요소가 하나의 요소로서 설계될 수 있다는 것을 이해할 것이다. 도시한 요소 및 또 다른 요소의 내부 구성요소는 외부 구성요소로서 구현될 수 있고, 그 역도 마찬가지이다.
다음은 본 명세서를 통해 사용되는 선택된 용어의 정의를 포함한다. 정의는 용어의 범위 내에 포함되고 구현을 위해 사용될 수 있는 구성요소들의 다양한 실시예 및/또는 형태의 예를 포함한다. 이 예들은 제한하려는 것이 아니며 다른 실시예들이 사용될 수 있음은 물론이다.
본 명세서에서 사용되는 "어드레스"는 하나 이상의 통신 네트워크 어드레스 가능한 어드레스, 장치 식별자, IP 어드레스, 이메일 어드레스, 하나 이상의 이메일 어드레스, url 및 ftp 위치 등을 포함하는 분산 목록, 네트워크 드라이브 위치, 우편 주소 또는 요망하는 목적지 또는 장치를 식별할 수 있는 다른 유형의 어드레스를 포함하나 이에 국한되지 않는다.
본 명세서에서 사용되는 "컴퓨터 판독 가능한 매체"는 신호, 인스트럭션 및/또는 데이터를 하나 이상의 프로세서에 직접 또는 간접적으로 제공하여 실행시키는 것에 관여하는 임의의 매체를 일컫는다. 이러한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하는 다수의 형태를 취할 수 있으나, 이에 국한되지 않는다. 비휘발성 매체는 예컨대 광학 또는 마그네틱 디스크를 포함할 수 있다. 휘발성 매체는 다이나믹 메모리를 포함할 수 있다. 전송 매체는 동축 케이블(coaxial cables), 구리 배선 및 광섬유 케이블을 포함할 수 있다. 또한, 전송 매체는 무선 및 적외선 데이터 통신 동안에 생성되는 것과 같은 음향파 또는 광파(acoustic or light waves)의 형태를 가지거나 하나 이상의 신호 그룹의 형태를 가질 수 있다. 컴퓨터 판독 가능한 매체의 일반적 형태는 예를 들면, 플로피 디스크, 플렉서블 디스크(flexible disk), 하드 디스크, 마그네틱 테이프 등의 기타 마그네틱 매체, CD-ROM 등의 기타 광학 매체, 펀치 카드, 페이퍼 테이프 등의 홀 패턴(patterns of holes)을 갖는 기타 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM 등 기타 메모리 칩 또는 카트리지, 반송파/펄스 또는 컴퓨터, 프로세서 등 기타 전자 장치가 판독할 수 있는 임의의 다른 매체를 포함한다. 인터넷과 같은 네트워크 상에서 인스트럭션 또는 다른 소프트웨어를 전달하기 위해 사용되는 신호가 "컴퓨터 판독 가능한 매체"로서 간주되기도 한다.
본 명세서에서 사용되는 "로직"은 기능(들) 또는 동작(들)을 수행 및/또는 또 다른 구성요소로부터의 기능 또는 동작을 야기하는 하드웨어, 펌웨어, 소프트웨어 및/또는 각각의 조합을 포함하나, 이에 국한되지 않는다. 예를 들면, 요망하는 애플리케이션 또는 필요에 따라 로직은 소프트웨어 제어 마이크로프로세서(software controlled microprocessor), 인스트럭션을 포함하는 애플리케이션 전용 집적 회로(ASIC), 프로그래밍 로직 장치, 메모리 장치와 같은별도의 로직 등을 포함할 수 있다. 또한, 로직은 완전히 소프트웨어로서 구현될 수 있다.
본 명세서에서 사용되는 "신호"는 하나 이상의 전기 신호, 아날로그 또는 디지털 신호, 하나 이상의 컴퓨터 또는 프로세서 인스트럭션, 메세지, 비트 또는 비트 스트림 또는 수신, 전송 및/또는 검출될 수 있는 기타 수단을 포함하나, 이에 국한되지 않는다.
본 명세서에서 사용되는 "소프트웨어"는 컴퓨터 또는 다른 전자 장치로 하여금 기능, 동작을 수행 및/또는 원하는 방식으로 작동하게 하는 하나 이상의 컴퓨터 판독 가능한 및/또는 실행 가능한 인스트럭션을 포함하나, 이에 국한되지 않는다. 인스트럭션은 동적으로 링크된 코드 또는 별도의 애플리케이션 등 프로그램, 모듈, 알고리즘, 루틴과 같은 다양한 형태로 구현될 수 있다. 또한, 소프트웨어는 독립형 프로그램, 함수 호출, 서브렛(servlet), 애플릿, 메모리, 운영 체제의 일부 내에 저장되는 인스트럭션 또는 실행할 수 있는 기타 유형의 인스트럭션과 같은 다양한 형태로 구현될 수 있다. 당업자라면, 소프트웨어의 형태가 예컨대, 원하는 애플리케이션 및 그것이 실행되는 환경 요구사항 및/또는 설계자/프로그래머의 소망 등에 의존한다는 것을 이해할 것이다.
본 명세서에서 사용되는 "사용자"는 일인 이상의 사람, 하나 이상의 소프트웨어, 컴퓨터 등의 장치 또는 이들 조합을 포함하나, 이에 국한되지 않는다.
일반적으로, 시스템 및 방법의 일 실시예가 무선 인에이블 모바일 장치와 함께 사용하기 위해 제공되어 있다. 시스템 및 방법은 작업 요청을 처리하기 위한다른 무선 인에이블 장치를 발견하는 것을 도운다. 일 실시예에서, 시스템은, 프린트 요청을 처리하기 위한 무선 인에이블 영상화 장치를 검색하고, 검색이 수행되고 있는 동안 모바일 장치의 사용자가 다른 작업을 동시에 수행할 수 있게 구성된다. 다른 실시예 및 특징들은 다음 예에서 보다 상세히 설명되어 있다.
도 1에는 무선 통신을 위해 구성되는 모바일 장치(100)의 일 실시예가 도시되어 있다. 모바일 장치(100)는 다양한 형태로 실시될 수 있고, 다양한 특징을 포함할 수 있다. 예를 들면, 모바일 장치(100)는 셀룰러 장치, 개인용 정보 단말기, 디지털 카메라, 디지털 카메라 인에이블 모바일 전화, 휴대용 컴퓨터 등 기타 유형의 처리 장치일 수 있다. 모바일 장치(100)는 예를 들면, 프로세서(105), 운영 체제(110) 및 애플리케이션 프로그램 인터페이스(API)(115)를 갖춰 하나 이상의 소프트웨어 애플리케이션(120) 및 운영 체제(110)간에 통신을 제공하는 처리 시스템을 포함할 수 있다. 모바일 장치(100)의 처리 시스템은 다양한 소프트웨어 애플리케이션(120)을 실행하도록 구성될 수 있으나, 다음 실시예는 영상화 애플리케이션(125) 및 비동기 검색 로직(130)을 참조하여 설명될 것이다.
영상화 애플리케이션(125)은 사용자가 선택 문서, 파일, 영상 등의 데이터를 프린트하거나, 다르게 영상화(image)하게 만드는 소프트웨어 애플리케이션을 나타낸다. 영상화 애플리케이션(125)은 예를 들면, 워드 프로세싱 애플리케이션, 사진 처리 애플리케이션, 브라우저 또는 프린트를 가능하게 해주는 다른 소프트웨어일 수 있다.
모바일 장치(100)의 다른 구성요소는 임의의 유형의 컴퓨터 판독 가능한 매체를 포함할 수 있는 메모리 및/또는 저장소(135)를 포함할 수 있다. 또한, 저장소(135)는 분리성(removable) 메모리 카드 또는 다른 분리성 컴퓨터 판독 가능 매체 상에 저장된 데이터를 수신 및 판독하는 포트를 포함할 수 있다. 인터페이스(140)는 디스플레이 스크린, 하나 이상의 버튼, 포인팅 장치, 또는 사용자에게 데이터를 전달하고 사용자로부터 입력을 수신할 수 있는 다른 유형의 장치를 포함할 수 있다. 무선 통신을 하기 위해, 무선 트랜시버 로직(145)이 제공되어 있다. 요망하는 무선 통신 프로토콜에 근거하여, 트랜시버 로직(145)은 상이한 사양에 따라 구성될 수 있다.
일 실시예에서, 무선 프로토콜은 블루투스(Bluetooth)이고, 트랜시버 로직(145)은 블루투스 라디오 및 안테나를 포함할 것이다. 블루투스 사양은 www.bluetooth.org에서 알 수 있다. 다른 프로토콜은 인터넷 www.ieee802.org에서 그 세부사항들을 알 수 있는 IEEE 802.11, 또는 다른 이용 가능한 무선 프로토콜을 포함한다. 일 실시예에서, 무선 트랜시버 로직(145)은 무선 주파수 신호를 전송 및 수신하도록 구성되는 무선 주파수 트랜시버를 포함하나, (가령, 100 미터 미만의) 단거리 전송이 가능한 저전력 전송기를 갖춘 임의의 유형의 트랜시버일 수도 있다. 또한 적외선 통신이 사용될 수 있다. 트랜시버 로직(145)은 모바일 장치(100) 내 마이크로 칩으로서 구현될 수 있고 또한 접속 포트 또는 슬롯을 통해 모바일 장치(100)에 접속 및 접속해제(disconnected)될 수 있는 PCMCIA 카드(PC 카드)와 같은 분리성 장치 상에 배치될 수 있다.
또한, 도 1을 더 참조하면, 모바일 장치(100)가 또 다른 무선 인에이블 장치에 작업 요청을 전달하여 처리하기 전에, 하나 이상의 적절한 장치가 로케이팅 또는 발견되어야 한다. 모바일 장치(100)는 이 시나리오로 서비스를 요청하고 있기 때문에, 클라이언트 장치라고도 일컫어지고, 적절한 장치가 서비스를 제공하고 있기 때문에, 서버 장치로도 일컫어질 것이다. 예를 들면, 적절한 서버 장치는 호환성 있는(compatible) 무선 통신 프토토콜을 갖추고 작업 요청을 처리하기 위한 어떤 기능성을 갖추어야 한다. 기능성은 물론 작업 요청의 유형에 따라 다를 것이다.
간략화한 실시예에서, 비동기 검색 로직(130)은 신호(150)의 범위 내에 다른 무선 인에이블 장치(155)의 존재에 대해 질의하는 하나 이상의 신호(150)를 무선 트랜시버 로직(145)이 브로드캐스트하게 한다. 무선 트랜시버 로직(145)으로서 호환성있는 무선 통신 프로토콜을 사용하는 장치는 질의 신호에 응답하여 긍정 응답 신호(acknowledgement signal)를 되전달할 수 있다. 호환성있는 장치는, 모바일 장치(100)와 무선으로 통신할 수 있는 장치를 지칭한다는 것을 이해할 수 있을 것이다. 예를 들면, 호환성 있는 장치는 모바일 장치(100)와 동일한 무선 통신 프토토콜 및/또는 로직을 가지거나, 유사한 로직을 가지거나 또는 상이하나 모바일 장치(100)의 무선 통신 프로토콜을 알고(recognize) 그와 통신하도록 구성될 수 있는 무선 로직을 가질 수 있다.
전형적으로, 서버 장치를 검색하고 이와 무선 통신을 설정하는 것은 다소의 시간을 소요한다. 모바일 장치(100)의 사용자에게의 지연시간을 감소시키기 위해, 일 실시예에서 비동기 검색 로직(130)은 모바일 장치(100) 상에서 실행하고 있는다른 프로세스 및 애플리케이션과 비동기적으로 수행되게 구성된다. 즉, 검색 프로세스는 검색 프로세스가 수행되고 있는 동안에 사용자가 다른 작업을 수행할 수 있게 해주는 운영 체제(100)에 의한 백그라운드 태스크(backgroud task)로서 수행된다. 검색 로직(130)은 독립형 애플리케이션, 종료후 상주 프로그램(terminate and stay resident program), 장치 드라이버, 또는 백그라운드에서 실행될 수 있는 다른 유형의 소프트웨어나 로직과 같은 상이한 형태로 구현될 수 있다. 그 점에 있어서, 실행 로직(미도시)은 검색 로직을 백그라운드 태스크와 비동기적으로 실행하도록 구성되어 제공될 수 있다. 실행 로직은 운영 체제의 일부, 검색 로직의 일부, 혹은 이 둘의 일부이거나 별도의 소프트웨어일 수 있다.
또한, 사용자에게의 지연 시간을 감소시키기 위해, 비동기 검색 로직(130)은 트리거 이벤트에 응답하여 자동으로 실행되게 구성될 수 있다. 그래서, 사용자는 검색이 수행되고 있다는 것을 모를 수 있다. 가령, 영상화 애플리케이션(125)이 시작되면, 이는 검색 로직(130)의 실행을 트리거할 수 있다. 이 경우, 영상화 애플리케이션(125)이 사용자로 하여금 프린트 옵션을 선택할 수 있게 한다고 가정하자. 사용자가 검색 로직(130)이 개시하는 것을 대기하는 대신, 사용자가 프린트 결정을 하기 전에 검색을 수행함으로써 지연 시간이 감소될 수 있다. 사용자가 프린트를 준비할 때까지, 이용 가능한 프린트 서버가 검색되어 프린트 요청 수신을 준비할 수 있다. 다른 유형의 트리거 이벤트는 다음 섹션에 설명되어 있다.
도 2에는 클라이언트 장치와 통신 가능한 다른 무선 인에이블 장치를 검색하는 검색 방법(200)의 일 실시예가 도시되어 있다. 도시한 요소는 "처리 블록"을나타내고 컴퓨터가 동작을 수행 및/또는 결정을 내리게하는 소프트웨어 인스트럭션 또는 인스트럭션 그룹을 나타낸다. 이와 달리, 처리 블록은 디지털 신호 프로세서 회로, 주문형 반도체(ASIC) 또는 다른 로직 장치와 같은 기능적 등가 회로에 의해 수행되는 기능 및/또는 동작을 나타낼 수 있다. 이 다이어그램 및 다른 도시 다이어그램은 임의의 특정 프로그래밍 언어의 구문(syntax)에 입각한 것은 아니다. 오히려, 다이어그램은 당업자가 회로를 제조, 소프트웨어를 생성하기 위해 사용하거나, 하드웨어 및 소프트웨어의 조합을 사용하여 도시한 처리를 수행할 수 있는 기능 정보를 나타낸다. 전자 및 소프트웨어 애플리케이션은 동적 플렉서블 프로세스를 포함해서 도시한 시퀀스와 상이한 시퀀스로 도시 블록이 수행 및/또는 블록이 결합되거나 다수의 구성요소로 분리될 수 있게 된다. 또한, 이들은 머신 언어, 절차적 언어, 객체 지향 언어 및/또는 인공 지능 기술과 같은 다양한 프로그래밍 방법을 사용하여 구현될 수 있다. 후술은 여기서 설명한 모든 방법에 적용된다.
도 2를 참조하면, 트리거 이벤트가 검출되면 검색이 개시된다(블록(205)). 트리거 이벤트는 사용자 개시 이벤트(user initiated event) 또는 사용자의 지식 없이도 검색 프로세스의 실행을 야기하는 비사용자 개시 이벤트(non-user initiated event)로서 구성될 수 있다. 자동이라고도 불리는 비사용자 개시 이벤트는 타이밍 간격(timed interval)이나, 파워업과 같은 시스템 이벤트 또는 다른 유형의 자동 이벤트에 근거하여 또 다른 소프트웨어 애플리케이션과 연관될 수 있다. 일 실시예에서, 트리거 이벤트는, 소프트웨어 애플리케이션이 초기화되면 검색 프로세스가 트리거되도록 또 다른 소프트웨어 애플리케이션과 연관되어 있다.검색은 다른 무선 인에이블 장치 로케이팅을 시도하는 백그라운드 프로세스로서 수행된다(블록(210)). 하나 이상의 장치가 로케이팅되면, 로케이팅된 각각의 장치에 대응하는 장치 식별자 등 식별 데이터가 디스플레이될 수 있다(블록(215)). 디스플레이는 자동으로 이루어지거나 사용자 요청에 따라 이루어질 수 있다.
도 1을 다시 참조하면, 또 다른 예로서 일 실시예에서 모바일 장치(100)는 디지털 카메라(160) 및 카메라 인에이블 전화라고도 불리는 셀룰러 전화(165)를 포함한다. 검색 프로세스는 무선 프린트 작업을 수락할 수 있는 영상화 장치를 로케이팅하도록 구성된다고 가정하자. 또한, 트리거 이벤트는 사진 처리 프로그램과 같은 영상화 애플리케이션에 근거한다고 가정하자. 사용자가 사진 처리 프로그램을 시작하는 것에 응답하여, 검색 프로세스는 자동으로 개시되며 사진 처리 프로그램과는 비동기적으로 수행될 것이다. 사용자가 사진 처리 프로그램을 열고, 원하는 사진을 로케이팅 및 선택하고 그 프로그램으로 다른 기능들을 수행할 때, 검색 프로세스는 사진을 현상할 수 있는 가용 영상화 장치를 로케이팅할 수 있다.
사용자가 사진 처리 프로그램에서 프린트 기능을 선택 준비할 때까지, 검색 프로세스는 완료되거나 거의 완료되어 사용자에게 로케이팅된 영상화 장치를 디스플레이할 수 있다. 사용자가 영상화 장치를 선택하자마자, 트랜시버 로직(145)은 선택된 영상화 장치의 트랜시버와 무선 통신 링크 또는 채널을 설정하여 영상화 요청을 전달할 수 있다. 검색 프로세스를 백그라운드 태스크로서 수행하는 것은 사용자가 검색 프로세스 동안에 다른 애플리케이션 및 모바일 장치(100)와 계속 상호작용할 수 있게 해준다. 대기 시간이 감소되고 모바일 장치(100)를 사용하는 사용자 편의성이 개선될 것이다.
도 2를 더 참조하면, 검색 프로세스의 또 다른 실시예가 도시되어 있다. 일단 블록(210)에서 검색이 개시되면, 구현된 통신 프로토콜 및 검색되고 있는 무선 장치의 유형에 근거하여 다양한 작업이 검색 동안에 수행될 수 있다. 예를 들면, 검색은 통신 범위 내에서 호환성 있는 무선 장치(서버 장치)에 대해 질의하여 검출하려 할 수 있다. 이전에 언급한 바와 같이, 호환성 있는 장치는 동일한 또는 유사한 무선 로직을 포함하는 장치이거나, 상이한 프로토콜을 인지할 수 있는 장치를 포함한다. 모든 호환성 있는 서버 장치를 로케이팅하여 디스플레이하는 것은 특정 작업을 수행하는 데 있어 사용자에게 유용하지 않을 수 있다. 위의 사진 처리예를 사용하면, 로케이팅된 서버 장치 중 사진을 프린트할 수 있는 가장 유력한 장치를 필터링하는 것이 유용할 것이다. 그러한 점에 있어서, 검색은 검출된 서버 장치에 의해 지원되는 기능을 판단하려고 할 수 있다(블록(225)).
이 판단은 사용되는 무선 프로토콜에 근거하여 상이한 방법으로 수행될 수 있다. 예를 들면, 블루투스 프로토콜이 사용되고 있으면, 검출된 서버 장치는 질의에 응답하여 그 서버 장치에 관한 다양한 정보를 리턴할 것이다. 예를 들면, 서버 장치는 그 블루투스 장치 어드레스, 장치명, 클록 및/또는 장치/서비스 클래스 파라메터(Class of Device/Service parameters)를 리턴할 수 있다. 장치/서비스 클래스 파라메터는 서버 장치에 관한 특성을 나타내는 데이터를 포함하고, 예는 도 8에 도시되어 있다. 본 출원의 출원시, 블루투스 프로토콜을 위한 장치/서버 클래스 파라메터는 주 장치클래스(Major Device Classes)(5 비트), 부 장치클래스(Minor Device Classes)(6 비트), 서비스 클래스(11비트)를 위한 할당부를 포함하는 24 비트 데이터 필드에 의해 정의된다. 또한, 24비트 데이터 필드는 2 비트의 포맷 유형 필드를 포함한다. 다른 구성도 사용될 수 있음은 물론이다. 또한, 장치/서비스 클래스 파라메터는 "장치/서비스 파라메터 데이터"라고도 일컫어질 수 있고, 이러한 정보가 무선 프로토콜에 의해 라벨링될 수 있는 방법과 무관하게 하나 이상의 위의 유형의 정보를 포함할 수 있다.
주 장치클래스의 예는 혼합(miscellaneous)(비트값 00000), 컴퓨터(비트값 00001), 전화(비트값 00010), LAN/네트워크 액세스 지점(비트값 00011), 오디오/비디오(비트값 00100), 주변 장치(비트값 00101), 영상화 장치(비트값 00110), 무부류 장치(uncategorized)(비트값 11111)를 포함한다. 부 장치 클래스는 장치를 더 특성화하는 각각의 주 장치클래스에 대한 서브 카테고리를 포함한다. 예를 들면, 영상화 장치 주클래스에 대한 부 장치 클래스는 디스플레이, 카메라, 스캐너 및 프린터를 포함한다. 서비스 클래스의 예는 위치 지정(positioning), 네트워킹, 랜더링, 캡쳐, 오브젝트 전달, 오디오, 전화 및 정보를 포함한다. 그래서, 프린트 장치에 대한 질의 검색이 이루어지고 검출된 장치가 그 주 장치클래스를 근거로 하는 "영상화" 장치가 아니라면, 검출된 장치는 바람직한 프린트 장치에서 제외될 수 있다. 주 장치클래스가 "영상화 장치"이고 부 장치 클래스가 "프린터"이면, 검출된 장치는 바람직한 프린트 장치일 수 있다. 보다 상세한 할당 클래스 목록은 www.bluetooth.org에서 구할 수 있다. 장치 유형 및 다른 특성을 나타내기 위해 다른 형태의 데이터 및 할당값이 구성될 수도 있다는 것이 이해될 것이다.
검출된 장치가 영상화 장치이면, 그 영상화 기능이 판단될 수 있다(블록(230)). 영상화 장치의 유형은 장치가 프린터인 지 또는 프린트 장치인 지와 같이 판단될 수도 있다. 블루투스 프로토콜을 이용하여, 이는, 뒤에 더 상술될 블루투스에 의해 정의된 클래스/서비스 검색 프로파일(Class/Service Discovery Profile)을 사용하여 수행될 수 있다. 본 출원시, 블루투스 인에이블 영상화 장치는, 질의를 사용하여 판단될 수 있는 BPP(basic printing profile)를 지원할 수 있다. BPP는 페이지 기술 언어(가령, XHTML-프린트) 및 영상 인코딩 표준(가령, JPEG)의 사용을 기술한다. BPP를 지원하는 영상 형성 장치(BPP 프린트라고도 지칭됨)에는 영상 랜더링 기능이 있다. 랜더링 기능이 없는 모바일 장치는 프린트 요청을 진행시키기 위해 랜더링 기능을 갖춘 영상화 장치에 프린트 요청을 해야할 것이다.
그 후, 검출된 장치는 그 유형 및 기능성에 근거하여 필터링되고, 현재 검출된 장치의 목록이 생성된다(블록(235)). 각 검출된 영상화 장치에 대하여, 그 장치 속성은 후속의 영상화 장치 검색 동안에 사용될 수 있는 이전에 검출된 장치의 목록에 저장될 수 있다(블록(240)). 저장된 속성은 설치 프로세스를 참조하여 더 상세히 설명될 것이다.
도 3을 참조하면, 비동기 검색 로직(300)의 또 다른 실시예가 도시되어 있다. 검색 로직은 트리거 이벤트(305)에 근거하여 개시되도록 구성된다. 일 실시예에서, 트리거 이벤트(305)는 사용자가 개시를 지각하지 않고 검색 로직(300)을 자동으로 개시하도록 구성될 수 있다. 검색 구성요소(310)는 장치의 무선 트랜시버와 통신하여 그 트랜시버가 구현된 무선 통신 프로토콜에 따라 다른 호환성 있는 무선 인에이블 장치(서버 장치)를 찾도록 구성된다. 발견 요청을 긍정 응답하는 정보를 서버 장치로부터 수신하면, 필터 로직(315)은 서버 장치가 그 작업 요청을 처리하는 기량(relevance or ability)에 근거하여 검출된 서버 장치를 필터링하도록 구성될 수 있다. 예를 들면, 필터 로직(315)은 특정 유형이 아니면 검출된 장치를 제외시킬 수 있다. 그 후, 필터 로직(315)은 장치의 기능의 적절성 랭킹에 근거하여 검출된 장치의 정렬 목록(320)을 생성할 수 있다. 또한, 적절성 점수, 아이콘, 색상, 또는 다른 유형의 시각적 특징과 같은 사용자가 검출된 장치를 구별할 수 있는 다른 관련성 식별자가 생성될 수 있다. 그 후, 디스플레이 로직(325)은 검출된 장치의 필터링 목록(320)을 디스플레이하고, 이들을 사용자가 선택하도록 제출할 수 있다.
비동기 검색 로직(300)은 다양한 형태로 컴퓨터 판독 가능한 매체 상에서 구현될 수 있다. 이는 모바일 장치(100) 상으로 로딩되는 독립형 애플리케이션일 수 있고, 이는 모바일 장치 내로 사전 로딩된 운영 체제의 일부일 수 있고, 이는 적절할 때 운영 체제에 의해 로딩되고 사용되는 장치 드라이버와 같은 오브젝트로서 유지될 수 있고, 이는 펌웨어 또는 다른 유형의 소프트웨어 형태일 수 있다. 일 실시예에서, 실행 로직은, 사용자가 동시에 다른 작업을 수행할 수 있게 해주는 모바일 장치 상의 하나 이상의 백그라운드 태스크으로서 검색 로직(300) 및 필터 로직(315)을 실행하도록 구성된다. 실행 로직은 운영 체제의 일부, 검색 로직의 일부 또는 둘의 일부 또는 별도의 소프트웨어일 수 있다.
사용자에게 디스플레이되는 하나 이상의 검출된 장치를 이용하여, 사용자는 요망하는 장치를 선택하여 프린트 요청 또는 다른 유형의 작업 요청을 처리한다. 검색 로직(300)은 특정 유형의 작업 요청에 따라 장치를 발견 및 필터링하도록 구성될 수 있다는 것이 이해될 것이다. 예를 들면, 작업 요청이 사진을 현상하는 것과 관련되면, 검색 로직은 그 영상화 기능에 근거하여 검출된 장치를 필더링하도록 구성될 것이다. 작업 요청이 문서를 팩스 송신과 관련되면, 검색 로직은 팩시밀리 기능을 가진 검출된 장치를 발견 및 필터링하도록 구성될 것이다. 당업자라면 다른 예들이 이해될 것이다.
도 4에 검색 동안에 검출된 장치를 필터링하기 위해 사용될 수 있는 결정 트리(decision tree)의 일 실시예가 도시되어 있다. 결정 트리(400)는 블루투스 프로토콜에 근거하고 장치/서비스 클래스 파라메터에 대해 질의한다. 이전에 언급한 바와 같이, 본 출원의 출원시 장치/서비스 클래스 파라메터는 주 장치 클래스, 부 장치 클래스 및 주 서비스 클래스에 대한 할당된 수를 포함한다. 도 8에 파라메터의 예가 도시되어 있다.
검색의 질의 단계 동안에, 장치가 바람직한 블루투스 장치(eligible Bluetooth Device)인지 여부가 판단된다(블록(405)). 이는, 질의 신호에 응답하여 긍정 응답 신호가 거꾸로 전송되는 지 여부로써 간단히 판단될 수 있다. 또한, 블루투스 장치는 주 장치 클래스, 부 장치 클래스 및/또는 서비스 클래스에 대한 그 할당값을 나타내는 장치/서비스 클래스 파라메터를 전달할 수 있다. 장치의 서비스 기능 또는 서비스 클래스와 관련되는 데이터가 주이든 부이든 "서비스 클래스데이터"라 일컫어질 것이다. 검색이 영상화 장치들에 대하여 필터링하고 있으면, 검출된 장치의 부 서비스 클래스는 "랜더링" 및 "오브젝트 전달" 기능을 포함하는 지를 판단할 수 있다(블록(410)).
서비스 클래스 데이터가 이들 기능을 나타내지 않으면, 그 장치는 제외되거나, 다르게 바람직한 장치의 목록 내에 포함되지 않는다(블록(415)). 장치가 이들 기능을 포함하면, 주 장치 클래스는 그것이 "영상화" 장치인 지 여부가 검사하여 판단된다(블록(420)). 영상화 장치가 아니면, 장치는 기초 프린트만 지원할 수 있다(가령, BPP 장치). 그 기능이 판단 불가이기 때문에, 장치는 바람직한 영상화 장치의 목록에 추가될 수 있으나 적절성이 낮게 랭킹된다. 장치가 영상화 장치면, 트리는 블록(430)으로 이동하여 부 장치 클래스가 검사된다. 부 클래스가 "프린터"가 아니면, 장치는 제외된다(블록(435)). 부 클래스가 "프린터"이면, 장치는 휴대용 BPP 프린터로서 식별되고, 바람직한 장치의 목록 내에 포함된다(블록(440)).
도 5에는 백그라운드 검색 동안에 발견되는 바람직한 장치의 정보를 저장하고 그 후의 검색에서 사용하기에 바람직한 서버 장치를 자동으로 설치하는 시스템의 일 실시예가 도시되어 있다. 예를 들면, 바람직한 프린트 장치라고 이전에 판단된 발견된 장치의 정보를 저장하는 것은 후에 같은 장치를 검색하는 프로세스의 속도를 향상시킬 수 있다. 그 점에 있어서, 설치 로직(500)이 비동기 검색 로직(130, 300)과 통신하는 모바일 장치(100) 내에 제공될 수 있다.
발견된 장치가 바람직한 영상화 장치라고 판단하면, 장치의 식별자 및/또는속성은 이전에 발견된 장치(505)의 데이터 구조체 내에 저장된다. 데이터 구조체는 하나 이상의 데이터베이스, 테이블, 텍스트 파일, 연결 목록(linked lists) 또는 다른 요망하는 데이터 구조체 내에 구현되어 컴퓨터 판독 가능한 매체 내에 저장될 수 있다. 장치에 대해 저장될 수 있는 정보의 예는 장치 어드레스, 이름, 식별자, 및 장치 클래스 및 서비스 클래스와 같은 발견 과정에 검색될 수 있는 다른 파라메터를 포함한다. 이들 유형의 속성은, 이들이 일단 장치에 할당되면 자주 바뀌지는 않기 때문에 일반적으로 정적인 속성이다.
다른 유형의 동적 속성은 각각의 장치에 대해 생성되어 저장될 수 있다. 이들은 장치가 발견되었을 때의 날짜/시각을 밝히는 시간 스탬프를 포함할 수 있다. 아래에서 더 상세히 설명할 바와 같이, 장치의 시간 스탬프는, 장래의 작업 요청에 대한 바람직한 서버 장치로서 그 적절성에 영향을 끼칠 수 있다. 예를 들면, 장치가 6개월 전에 발견되었으면, 그 장치가 통신 범위 내에 있을 확률은 낮을 수 있다. 그래서, 그 장치가 바람직한 서버 장치라는 적절성도 낮을 수 있다. 물론, 적절성은 현재의 검색이 범위 내에서 장치를 발견하면 변경될 수 있다.
또 다른 장치 속성은 발견된 장치의 위치 정보일 수 있다. 모바일 장치(클라이언트 장치)의 위치에 관한 서버 장치의 위치는 서버 장치의 적절성에 영향을 끼칠 수 있다. 서버 장치의 위치를 알게되면, 그 위치는 모바일 장치의 위치와 비교되어 이들 두 위치 간의 거다를 결정할 것이다. 이 실시예에서 모바일 장치는 위성 위치 확인 시스템(GPS, global positioning system) 수신기, 보조 위성 위치 확인 시스템(AGPS, assisted global positioning system) 또는 다른 위치 식별 시스템과 같은 위치 확인(positioning) 로직을 포함할 수 있다. 다른 속성들은, 시스템이 그 후의 검색에서 발견된 장치를 식별하는 것을 용이하게 하는 장치의 고유명 또는 식별 번호를 포함할 수 있다.
이전에 발견된 장치(505)의 적절성을 판단하기 위해, 확인 로직(510)은 장치 속성을 분석 및 확인하여 각 장치에 대한 적절성 점수를 생성하도록 구성된다. 데이터 구조체 내에 저장된 장치(505) 속성으로부터, 확인 로직(510)은 선택된 속성을 분석하고 이들을 판단을 위한 적절성 속성(515)으로서 사용하도록 구성될 수 있다.
일 실시예에서, 시간 스탬프 속성은 현재의 검색 시각과 비교되는 적절성 속성(515)일 수 있다. 이전에 언급한 바와 같이, 시간 스탬프는 처음으로 대응 장치가 발견된 시간을 반영한다. 그래서, 서버 장치의 적절성은 얼마나 오래 전에 그 장치가 발견되었는 지에 근거하여 증가 또는 감소될 수 있다. 예를 들면, 서버 장치가 현재 시각으로부터 30분 전인 시간 스탬프를 가지면, 그 적절성은 6개월 전의 시간 스탬프를 가지고 있는 서버 장치의 적절성보다 훨씬 클 것이다.
또 다른 적절성 속성(515)은 서버 장치의 위치일 수 있다. 대부분의 무선 프로토콜을 국한된 통신 범위(가령, 약 블루투스 영상화 장치에 대해 10 미터 범위)를 가지기 때문에 장치의 적절성은 장치가 범위 내에 있는 지에 의존할 수 있다. 이전에 언급한 바와 같이, 서버 장치 및 모바일 장치 간의 범위 또는 거리는 서버 장치의 위치에 관한 모바일 장치의 위치로부터 판단될 수 있다. 서버 장치가 통신 범위 내에 있으면, 장치는 통신 범위 외부에 있던 장치보다 높은 적절성 점수를 얻을 것이다. 이는, 이러한 위치 정보가 위성 위치 확인 시스템(GPS 또는 AGPS)을 사용하는 모바일 장치 등에 유용할 것이라 가정된다.
또 다른 실시예에서, 확인 로직(510)은 위치 정보에 근거하여 이전에 발견된 장치(505)로부터 서버 장치를 미리 선택하도록 구성될 수 있다. 예를 들면, 로직이 모바일 장치의 위치 또는 적절한 위치를, 가령, 시카고 영역이라고 안다면, 로직은 시카고 영역 내에 있는 서버 장치만 선택하고 그에 대해 적절성 판단을 수행할 수 있다. 이는, 영역 내에 있지 않은 장치 처리를 방지하고 서버의 보다 적절한 서버 장치 목록을 사용자에 제공한다.
또한, 서버 장치의 고유명 또는 ID(identification)는 그 적절성을 판단하기 위해 사용될 수 있다. 예를 들면, 현재의 검색 동안에, 발견된 장치의 고유명 또는 ID가 이전에 발견된 장치(505)의 고유명 또는 ID와 매칭되면, 그 적절성 점수는 올라갈 것이다. 또한, 이러한 장치가 이전에 발견되어 바람직한 영상화 장치로서 필터링되었기 때문에, 현재의 검색은 이 단계들이 이전 검색 과정에서 수행되었으므로 추가의 서비스 발견 단계를 수행하는 것을 피하거나, 다른 방법으로, 장치의 기능을 판단하는 것을 피할 수 있다. 그래서 이는 검색 프로세스 속도를 향상시킬 수 있다.
도 5를 더 참조하면, 이전에 발견된 장치(505)의 각각에 대해 각각의 적절성을 나타내는 적절성 식별자(520)가 생성될 수 있다. 예를 들면, 적절성 식별자(520)는 0~10, 0~100와 같은 미리 정의된 범위, 또는 더 높은 점수가 더 높은 적절성을 나타내거나 그 역이 성립하는 다른 범위에 기초하는 적절성 점수일 수있다. 또한, 적절성 점수는 백분률의 형태일 수 있다. 다른 유형의 적절성 식별자는 장치명과 연관될 수 있는 아이콘 등의 그래픽 식별자를 포함할 수 있다. 사용자에게 디스플레이될 때, 아이콘은 장치의 적절성을 나타내어 고도로 적절한 장치와 그보다 덜 적절한 장치가 분간될 수 있다. 다른 유형의 그래픽 식별자는 상이한 적절성 점수에 대해 상이한 색상을 사용하는 서버 장치명을 디스플레이하는 것을 포함한다. 또한, 확인 로직(510)은 각각의 장치의 적절성에 근거하여 정렬된 장치 목록을 생성하도록 구성될 수 있다. 이러한 방식으로, 정렬 목록은 식별자로서 작용한다.
디스플레이 로직(525)은 이전에 발견된 장치명과 그와 연관된 적절성 식별자(520)를 사용자에게 디스플레이하도록 구성될 수 있다. 목록이 디스플레이되면, 사용자의 기호를 나타내는 디스플레이 목록으로부터 사용자가 특정 장치를 선택하게 해주는 선택 로직(530)이 포함될 수 있다. 발견 검색이 진행 중이면, 영역 내에 모든 장치를 발견할 필요 없이, 선택 장치가 발견되면 검색이 중지될 수 있다.
또 다른 실시예에서, 설치 로직(500)은 이전에 검색된 장치(505)의 각각에 대한 사용량 정보(usage information)를 저장하도록 구성될 수 있다. 예를 들면, 서버 장치가 작업 요청에 대해 사용 또는 선택될 때마다, 사용량 카운트(usage count)가 증가될 수 있다. 이는 선택 로직(530)의 일부일 수 있다. 이러한 방식으로, 모바일 장치는 장치에 대한 사용자의 기호를 배우고 판단하려할 수 있다. 과거에 보다 자주 사용되었던 서버 장치는 더 높은 적절성 점수를 받을 것이다.또한, 사용량 정보 및 위치 정보를 결합함으로써, 설치 로직(500)은 사용자가 선택할 수 있는 더 적절하고 의미있는 서버 장치 목록을 생성할 수 있다.
예를 들어, 아이다호(Idaho)가 이전에 발견되어 데이터 구조체(505) 내에 저장된 보이스(Boise) 내의 빌딩(123) 내에 위치하는 영상화 장치(ID=XYZ1)를 가정하라. 또, (XYZ1)에 대한 속성이, (XYZ1)이 다른 장치에 비해, 모바일 장치에 의해 가장 빈번히 사용되었다는 것을 의미하는 큰 사용량 카운트를 갖는다고 가정하라. 설치 로직(500)이 바람직한 서버 장치의 확인 및 설치를 수행하면, 장치(XYZ1)는 모바일 장치가 동일한 위치, 가령, 보이스 내의 빌딩(123)에 있을 때마다 아주 높은 적절성 점수를 얻어 사용자에게 바람직한 장치로서 디스플레이될 것이다. 어떤 것이든, 보다 낮은 사용량 카운트를 갖는 영역 내의 다른 서버 장치는 보다 낮은 적절성으로서 할당될 것이다.
도 6에 설치 방법(600)의 일 실시예가 도시되어 있다. 이전에 검출된 장치 목록으로부터 장치 속성이 판독된다(블록(605)). 그 후, 선택된 속성이 분석되어 각각 이전에 발견된 장치를 확인한다(블록(610)). 장치 속성에 근거하여, 예를 들면, 그 시간 스탬프, 그 위치, 그 사용자명, 그 사용량 정보, 또는 다른 선택된 속성에 근거하여 각각의 장치에 대한 적절성이 판단된다(블록(615)). 그 후, 장치의 목록은 그 적절성 및 적절성 점수를 나타내는 것에 근거하여 디스플레이되어 사용자가 목록으로부터 장치를 선택할 수 있게 해준다(블록(620)).
도 7을 참조하면, 사용자 선택 프로세스의 일 실시예가 도시되어 있다. 이 프로세스는 사용자가 이전에 발견된 장치의 디스플레이 목록으로부터 장치를 선택하는 설치 프로세스의 일부일 수 있다. 이전의 장치의 디스플레이 목록으로부터 선택이 이루어지면 프로세스가 개시된다(블록(705)). 검색이 아직 초기화되지 않으면, 선택된 장치에 대한 검색이 개시된다(블록(710)). 검색이 이미 진행 중이고 검색이 선택 장치와 매칭되는 장치를 발견하면, 발견된 장치의 기능을 판단하는 단계는 건너 뛸 수 있다(블록(715)). 이어서, 그 장치의 기능은 이전에 판단되고 확인되었기 때문에 검색이 중지될 수 있다(블록(720)).
본 발명의 교시를 사용하여 본 시스템 및 방법의 각종 구성요소를 구현하기 위해 적절한 소프트웨어는 자바, C#, C++, C, CGI, Perl, SQL, API, SDK, 어셈블리, 펌웨어, 마이크로코드와 같은 프로그래밍 언어 및 툴 및/또는 다른 언어 및 툴을 포함한다. 소프트웨어로서 구현되는 구성요소는 하나 이상의 컴퓨터, 프로세서 및/또는 다른 전자 장치로 하여금 지시한 방식으로 동작하게 하는 컴퓨터 판독 가능/실행 가능 인스트럭션을 포함한다. 전체 시스템 또는 시스템의 구성요소는 제조품으로서 구현되고 미리 정의된 컴퓨터 판독 가능 매체의 일부로서 유지된다. 또 다른 형태의 소프트웨어는 소프트웨어의 프로그램 코드를 네트워크 또는 다른 컴퓨터 매체 상에서 수신자에게 전달하는 신호를 포함할 수 있다. 본 명세서에서 설명한 구성요소는 별도의 구성요소로서 구현될 수 있고, 함께 결합될 수 있다는 것이 이해될 것이다.
도 1을 다시 참조하면, 다음은 블루투스 사양에 따라 구성되고 동작하는 무선 트랜시버 로직(145)의 일 실시예를 설명한다. 본 사양의 상세한 설명은 인터넷 상의 www.bluetooth.org에서 찾을 수 있다. 물론, 당업자라면, 블루투스 사양이 장래에 변경될 수 있다는 것을 이해할 것이다. 그래서, 본 시스템은 장래의 통신 요구사항 및/또는 표준을 충족시키기 위해 변경 가능할 수 있다.
블루투스 사양에 근거하여, 트랜시버 로직(145)은 무선 통신을 통해 모바일 장치(100)를 결합시키는 BPN(Bluetooth PICO Net) 안테나를 포함할 수 있다. BPN 안테나는 비방향성(non-directional properties)을 가지고 모든 방향에서 일관된 전송/수신 감도를 갖는 원형 분극 안테나(cicular polarization antenna) 또는 다수의 분극파를 방사할 수 있는 안테나이다. 또한, 트래시버(145)는 라디오일 수 있고, 단거리(가령, 100 미터 미만의) 전송이 가능한 저전력 전송기를 갖춘 임의의 다른 RF 트랜시버일 수도 있다.
도 9에는 그 기능이 작업 요청에 대해 하나 이상의 요망하는 기능과 매칭되는 정도에 근거하여 검색된 무선 장치를 필터링하는 시스템의 일 실시예이다. 다음 예는 블루투스 인에이블 영상화 장치(서버 장치)를 참조하여 설명되지만, 다른 유형의 무선 통신 프로토콜 뿐만 아니라 다른 유형의 전자 장치도 사용될 수 있다는 것을 이해할 수 있을 것이다. 일 실시예에서, 예는 카메라 인에이블 모바일 전화(클라이언트 장치)로서 모바일 장치(900)를 설명하지만, 이전에 설명한 다른 유형의 모바일 장치도 사용될 수 있다. 또한, 모바일 장치(900)에서 도시한 구성요소는 도 1의 실시예에 도시한 구성요소 일부 또는 전체, 또는 구현되는 모바일 장치의 유형에 따라 다른 구성요소를 포함할 수 있다.
이용할 수 있는 서버 장치(가령, 블루투스 인에이블 영상화 장치)를 발견하기 위한 검색 동안 또는 그 후에, 발견된 영상화 장치는 그 기능에 근거하여 필터링 및/또는 우선 순위가 정해질(prioritized) 수 있다. 모바일 장치(900)의 사용자는 작업 요청을 처리하기에 적절한 장치를 사용자가 선택할 수 있도록 각각의 발견된 장치의 기능에 관한 확장 정보를 요구할 수 있다. 예를 들면, 영상화 장치(A, B 및 C)를 포함하는 세 개의 영상화 형성 장치(905)가 검색 동안에 발견되었다고 가정하라. 각각의 영상화 장치(A~C)는 영상화 장치의 영상화 기능을 나타내는 하나 이상의 사전 정의된 서비스 속성(910A~C)을 각각 포함할 수 있다. 서비스 속성(910)은 이러한 속성에 대한 요청에 응답하여 모바일 장치(900)에 전달되거나 발견 과정에 자동으로 전달될 수 있다. 일 실시예에서, 통신은 무선 주파수(RF) 트랜시버(915)를 통해 각각의 영상화 장치(905)에 접속되어 있는 호환성 있는 RF 트랜시버(미도시)와 통신하여 이루어진다. RF 트랜시버(915)는 도 1에 도시한 무선 트랜시버 로직(145)과 유사하게 구성될 수 있다.
사용자가 영상, 가령, 카메라로부터의 사진을 프린트하기를 원하면, 영상화 요청(920)이 생성된다. 영상화 요청(920)을 처리하기 위한 요망의 영상화 기능을 나타내는 하나 이상의 요망의 서비스 속성(925)이 영상화 요청(920)에 대해 정의될 수 있다. 요망하는 서비스 속성(925)은 값, 범위값 또는 영상화 기능을 나타내는 다른 유형의 데이터에 대한 바람직한 속성, 요구 속성, 상한 및/또는 하한을 포함할 수 있다. 서비스 속성의 예는 색상, 양면 프린트, 프린트 속도, 프린트 비용, 프린트 품질, 보증 유형, 프린트 매체 유형, 데이터 포맷, 프린트 위치 및 다른 유형의 속성에 대한 값을 포함할 수 있다. 영상화 장치(905)가 검색 동안에 또는 검색이 완료된 후에 발견되면, 각 장치의 기능이 매칭되거나, 다르게 요망하는 서비스 속성(925)과 비교될 수 있다.
비교를 수행하여 어느 영상화 장치가 영상화 요청(920)에 최적인지 판단하기 위해, 필터링 로직(930)이 제공된다. 예를 들면, 비교 로직(935)은 요망의 서비스 속성(925)값을 서비스 속성(910A~C)으로부터의 그 대응값과 비교하여 어느 영상화 장치(905)가 영상화 요청(920)을 처리하기에 적절한 지를 판단하도록 구성될 수 있다. 서비스 속성(910)이 요망하는 서비스 속성(925)과 매칭되는 정도에 근거하여 영상화 장치(905)의 각각에 대해 적절성 식별자(940)가 생성될 수 있다. 적절성 식별자(940)는 예를 들면, 점수, 백분률값 또는 도 5에 도시한 적절성 식별자를 이용하여 설명되는 것과 같은 다른 유형의 적절성 식별자를 포함할 수 있다.
영상화 장치의 적절성을 판단하기 위해 다수의 상이한 유형의 스코어링(scoring) 알고리즘이 비교 로직(935)를 이용하여 프로그래밍될 수 있다. 예를 들면, 요망하는 서비스 속성(925)이 하나 이상의 요구 속성을 포함하고, 영상화 장치가 요구 속성 기능을 갖지 않으면, 영상화 장치의 적절성은 매우 낮게 될 것이다. 또한, 상이한 적절성 가중치는 사용자가 영상화 요청(920)에 있어서 중요한 것으로서 나타내는 것에 따라 어떤 요망하는 서비스 속성(925)에 적용될 수 있다. 예를 들면, 영상화 요청(920)이 사진을 현상하기 위한 것이면, 색상이 요구 서비스 속성일 수 있다. 그러나, 사용자가 색상이 선택적이라고 나타낼 수 있으므로 비컬러 프린터의 적절성이 덜 영향받을 것이다.
또 다른 예로서, 문서를 다수의 페이지로 프린트하는 것이라면, 프린트 속도 및 양면 프린트가 속성으로서 요구되는 것으로 설정될 것이다. 유동적인사용자(traveling user)에게는 프린트 방법의 비용이, 영상화 요청(920)을 처리하는 영상화 장치를 선택하는 결정적 요소일 수 있다. 또 다른 유형의 사용자는 영상화 장치의 보안 및 위치를 고려할 수 있고, 요구사항으로서 이들 속성을 특정 값으로 나타낼 수 있다. 다른 유형의 속성은 그것에 있어 사용자 기호를 나타내는 상한 및/또는 하한을 가질 수 있는 값을 가질 수 있다. 예를 들면, 하나의 서비스 속성은 "프린트 속도"로서 분당 적어도 10 페이지와 같은 범위 또는 제한을 갖는 값으로 설정될 수 있다. 이와 같이, 분당 5 페이지의 프린트 속도를 갖는 영상화 장치는 프린트 속도 기준을 충족시킨 장치보다 낮은 적절성을 받을 것이다.
각각의 발견된 영상화 장치(905)의 적절성이 판단되기 때문에, 장치 목록(945)은, 각각의 발견된 영상화 장치 및 그 적절성을 현재의 영상화 요청(920)에 제공하며 생성 및/또는 업데이트될 수 있다. 장치 목록(925)은 각각의 장치를 가장 적절함부터 가장 부적절함(from highest to lowest relevance)까지 디스플레이하는 우선 순위가 정해진 또는 정렬된 목록일 수 있다. 물론, 장치 목록(945)이 장치명에 의해 알파벳 순으로, 적절성으로써 코딩된 색상, 적절성 점수, 또는 또 다른 요망하는 방법과 같은 다른 방법으로 디스플레이될 수 있다. 그 후, 장치 목록(945)으로부터, 사용자는 가용 영상화 장치 중 하나를 선택할 수 있다. 이는 RF 트랜시버(915)로 하여금 선택된 영상화 장치와 통신 링크를 설정하여 영상화 요청이 전달될 수 있게 할 수 있다.
도 9를 더 참조하면, 모바일 장치(900)는 사용자로 하여금 영상화 요청을 위해 요망하는 서비스 속성(925)에 대한 값을 정의 및 설정할 수 있게 해주는 로직을포함하는 속성 관리자(950)를 포함할 수 있다. 속성은 생성된 각각의 영상화 요청에 대해 별도로 정의될 수 있고/있거나 요망하는 속성의 디폴트 설정은 사용자가 다르게 특정하지 않는 한 각각의 영상화 요청에 적용되게 정의될 수 있다. 속성 관리자(950)는 사전 정의된 속성 집합을 포함할 수 있다. 프린트 요청에 대해 요망하는 속성을 정의하거나 디폴트 설정으로서 정의하면, 속성 관리자(950)는 메뉴 또는 다이얼로그 박스를 통해 선택 및/또는 변경하도록 사용자에게 속성을 제출할 수 있다. 그 후, 사용자는 각각의 속성에 대한 값을 설정 및 변경할 수 있다. 선택 통신 프로토콜을 위한 표준화 속성 집합을 사용하는 일 실시예에서, 그 프로토콜을 사용하는 각각의 장치는 동일한 선택 가능 표준화 속성을 갖도록 구성될 수 있다. 그래서, 장치의 특성을 판단할 때, 요망하는 속성과 또 다른 장치의 속성간의 비교는 대응하는 속성이 존재하기 때문에 용이하게 수행될 수 있다. 다른 실시예에서, 속성 관리자(950)는 또한, 사용자로 하여금 하나 이상의 새로운 요망하는 서비스 속성을 정의하게 할 수 있다.
무선 인에이블 영상화 장치의 이용 가능성이 증대되고 그 종류가 증가함에 따라, 모바일 장치(900)의 사용자는 이들 장치에 직면하는 경향이 짙어져 검색 동안에 하나 보다 많은 무선 인에이블 장치에 직면하게 될 수 있다. 사용자 특정 기호 및 속성에 근거하여 검색 장치를 필터링함으로써, 검색 장치는 사용자로 하여금 요망하는 영상화 장치를 더 용이하게 선택할 수 있게 해주는 우선 순위가 정해진 목록으로서 디스플레이될 수 있다.
도 10에는 도 9에 도시된 RF 트랜시버(915)와 통신하도록 구성된 호환성 RF트랜시버 로직(1005)을 포함하는 영상 형성 장치(1000)의 일 실시예가 도시되어 있다. 영상 형성 장치(1000)는 영상 형성 장치의 기능을 나타내는 하나 이상의 서비스 속성(1010)을 포함하도록 구성된다. 서비스 속성(1010)은 테이블, 어레이, 목록, 파일과 같은 하나 이상의 데이터 구조체 내에 저장될 수 있고, 메모리 또는 다른 유형의 컴퓨터 판독 가능 매체 내에 저장될 수 있다. 서버 속성(1010)은 모바일 장치에 자동으로 또는 요청에 응답하여 전달될 수 있다. 속성은, 영상화 형성 장치(1000)가 특정 기호에 따라 영상화 요청을 처리할 수 있는 지 여부를 더 잘 판단하게 해줄 수 있다.
서비스 식별 로직(1015)은 서비스 속성(1010)을 생성 및/또는 수정하도록 구성되어 포함될 수 있다. 그 점에 있어서, 속성 관리자(1020)는 서비스 속성(1010)을 위한 값을 입력 및 설정하기 위한 인터페이스를 포함하여 제공될 수 있다. 예를 들면, 인터페이스는 디스플레이 패널, 제어 패널, 소프트웨어 다이얼로그 박스 또는 다른 입력 수단일 수 있다. 또 다른 실시예에서, 서비스 식별 로직(1015)은 컴퓨터와 같은 외부 장치로부터 영상화 형성 장치(1000) 내로 서비스 속성을 로딩하도록 구성될 수 있다. 예를 들면, 컴퓨터는 영상 형성 장치(1000)의 서비스 속성을 위한 값을 설정하고, 이어서 그 값을 전달해서 그 값들이 서비스 속성 데이터 구조체(1010) 내로 로딩되게하는 소프트웨어를 포함할 수 있다. 그래서, 영상 형성 장치(1000)가 모바일 장치로부터의 발견 요청에 응답하면, RF 트랜시버 로직(1005)은 서비스 속성(1010)을 모바일 장치에 전달할 수 있다. 이는, 모바일 장치가 영상화 요청을 전달하기 전에 영상 형성 장치(1000)의 기능을 더 잘 판단하게 해 줄 수 있다.
또한, 영상 형성 장치(1000)는 영상화 요청으로부터 프린트 준비 상태 영상(print-ready image)을 생성하도록 구성되는 랜더링 로직(rendering logic)(1025)을 포함할 수 있다. 랜더링은 포함된 데이터의 포맷 및 영상화 장치의 유형에 따라 다르다. 일반적으로, 랜더링 로직(1025)은 하이 레벨 오브젝트 기반 기술(가령, 영상화 요청)을 그래픽 영상(가령, 프린트 준비 상태 영상)으로 변환하여 디스플레이 또는 프린트한다. 예를 들면, 하나의 형태는 3차원 물체 또는 장면의 수학적 모델을 취하고 그것을 비트맵 영상으로 변환하는 레이 트레이싱(ray-tracing)이다. 또 다른 예는 HTML을 디스플레이/프린트를 위한 영상으로 변환하는 프로세스이다.
영상 형성 장치(1000)는 프린트 대기 영상으로부터 프린트 매체 상으로 영상을 생성하도록 구성되는 영상 형성 메카니즘(1030)을 더 포함한다. 영상 형성 메카니즘(1030)은 영상화 장치의 유형에 따라 다를 것이며, 레이저 영상화 메카니즘, 다른 토너형 영상화 메카니즘, 잉크젯 메카니즘, 디지털 영상화 메카니즘 또는 다른 영상화 복제 엔진을 포함할 수 있다. 프로세서(1035)는 영상 형성 장치(1000)의 동작을 제어하는 로직으로 구현되어 포함될 수 있다. 일 실시예에서, 프로세서(1035)는 자바 인스트럭션을 실행할 수 있는 로직을 포함한다. 영상 형성 장치(1000)의 다른 구성요소는 본 명세서에 도시되어 있지 않지만, 미디어 처리 및 저장 메카니즘, 센서, 제어기 및 영상화 프로세스에 포함되는 다른 구성요소를 포함할 수 있다.
도 11에는 발견된 장치를 그 기능에 근거하여 필터링하는 방법의 일 실시예가 도시되어 있다. 이전에 설명한 바와 같이, 기능에 근거한 필터링은 무선 인에이블 장치 발견 과정에 또는 그 후에 발생할 수 있다(블록(1105)). 먼저, 무선 장치가 발견되면, 그것은 현재의 작업 요청에 적절한 장치를 포함할 수 있다. 예를 들면, 작업 요청이 영상화 장치를 요구하는 영상화 요청이면, 발견된 셀룰러 전화는 적절하지 않을 것이다. 그래서, 발견된 장치는 장치의 유형 및/또는 발견된 장치가 제공하는 서비스 정보에 근거하여 식별 및 필터링될 수 있다.
블루투스 통신 프로토콜을 사용하는 일 실시예에서, 블루투스 사양은 초기 식별 및 필터링이 수행되게 하는 장치 및 서비스 클래스의 클래스를 식별한다. 이는 모바일 장치가, 검색된 장치가 영상화 장치 혹은 요망하는 또 다른 유형의 장치인 지의 여부를 식별할 수 있게 해준다. 식별된 영상화 장치로부터, 그 영상화 기능(가령, 서비스 속성)에 기초하여 더 필터링될 수 있다(블록(1115)). 필터링은 반드시 장치를 제외하는 것을 의미하는 것이 아니며 장치의 적절성 또는 우선순위를 변경하는 것을 포함하는 것으로 이해될 수 있다.
영상화 장치의 기능의 적절성은 그 기능이 영상화 요청과 연관된 하나 이상의 요망하는 서비스 속성과 매칭되는 정도에 의존할 것이다. 그 후, 필터링된 영상화 장치는 그 적절성에 따라 디스플레이되어 선택될 수 있다(블록(1120)). 이처럼, 영상화 장치의 기능이 영상화 요청에 대한 하나 이상의 요망하는 서비스 속성과 더 잘 매칭될수록, 영상화 장치의 적절성은 증가할 것이다. 그 후, 사용자는 디스플레이된 목록으로부터 영상화 장치를 선택할 수 있고, 영상화 요청은 선택된영상화 장치에 전달되어 처리될 것이다.
도 12를 참조하면, 필터링 단계(1115)의 또 다른 실시예가 도시되어 있다. 예를 들면, 모바일 장치는 서비스 기능이 각각의 발견된 영상화 장치로부터 전달되기를 요청할 수 있다(블록(1205)). 그 후, 영상화 장치의 서비스 기능은 영상화 요청의 하나 이상의 요망하는 서비스 기능과 비교될 수 있다(블록(1210)). 비교에 근거하여, 각각의 영상 형성 장치에 대한 적절성이 생성된다(블록(1215)). 기호 및/또는 요망하는 서비스 기능의 요구사항을 따르는 서비스 기능은 적절성을 더 증가시킬 것이다. 그 후, 사용자가 요망하는 영상화 장치를 선택하여 영상화 요청을 처리하도록 그 적절성에 근거하여 영상 형성 장치의 목록이 생성된다(블록(1220)).
이러한 유형의 서비스 속성 기반 필터링을 이용하면 사용자가 가장 적절한 장치를 판단하여 디스플레이하게 함으로써 발견된 장치가 더 용이하게 선택될 수 있다. 미리 비교적 적절한 서버 장치를 식별하는 것은, 사용자가 작업 요청을 부적절한 서버 장치에 전달한 후에, 선택된 장치가 적절한 기능을 가지고 있지 않아서 요청이 처리될 수 없다는 것을 알게 되는 상황을 방지할 것이다. 또 다른 경우에, 작업 요청은 처리될 수 있으나 그 결과는 사용자가 예상한 것이 아닐 수 있다. 양 경우에, 사용자는 시간 및/또는 비용을 손실할 수 있고 계획이 좌절될 수 있다.
이제 도 13을 참조하면, 검색 로직(1300)의 또 다른 실시예는, 필터링 로직(1310) 및 빠른 필터링 로직(1315)과, 정렬 로직(1320) 및 빠른 정렬 로직(1325)과 데이터 저장 장치(1340, 1350)를 포함할 수 있게 도시되어 있다. 도시한 실시예에서, 검색이 진행 동안, 검색 로직(1300)은 통신 범위 내에 있는 호환성 있는 구성요소라고도 불리는 호환성 있는 무선 장치를 식별하려 한다. 하나의 형태로, 제 1 데이터 구조체 또는 저장소(1340)는 검색에 응답하는 호환성 있는 무선 장치로부터 이에 대응하여 수신된 데이터로 채워져(populated) 있다. 언급한 바와 같이, 이러한 데이터는 식별 번호, 이름, 기능, 거리, 위치, 상태 등을 포함할 수 있다. 빠른 필터링 로직(1315)은 데이터 구조체(1340) 내에 포함된 현재 발견된 장치의 속성 또는 특성을 제 2 데이터 구조체(1350) 내에 저장된 이전에 발견된 장치의 속성 또는 특성과 비교하도록 구성된다.
예를 들면, 서버 장치로부터 클라이언트에 전달된 제 1 데이터 아이템이 고유명 또는 번호를 포함한다고 가정하라. 이 제 1 데이터의 수신시, 제 1 필터링 로직(1315)은 이 고유명 또는 번호를 제 2의 또는 히스토리 데이터 구조체(historical data structure)(1350) 내의 전체 또는 실질적으로 전체 속성 정보 목록 내의 동일한 필드와 비교한다. 매칭 또는 거의 매칭되면, 빠른 필터링 로직(1315)은 응답하는 장치에 대한 전체 정보가 무선 통신 링크 상에서 전달되기 전에 그 장치를 필터링 등(filter or influence)하고 아이콘, 텍스트 목록, 그래픽 토큰 등과 같은 개별 장치 표시를 디스플레이할 수 있다. 이러한 필터링은 디스플레이로부터 엔트리를 제외하거나, 다르게, 불가능하거나 포함되기 어려운 특정 엔트리를 선택하는 것을 포함할 수 있다. 이러한 필터링은 프린트 요청이 랜더링 및 프린트를 요청하지만 검색에 응답하는 장치가 이들 기능이 결여된 경우에 적절할 수 있다.
도 13을 참조하여 도시한 대안적인 실시예에서, 빠른 정렬 로직(1325)은 현재 발견된 장치의 속성 또는 특성을 제 2 데이터 구조체(1350) 내에 저장된 이전에 발견된 장치의 속성 또는 특성과 비교하도록 구성되어 있다. 또, 서버 장치로부터 클라이언트 장치로 전달된 제 1 데이터 아이템이 고유명 또는 번호를 포함한다고 가정하라. 이 제 1 데이터의 수신시, 제 1 정렬 로직(1325)은 이 고유명 또는 번호를 히스토리 데이터 구조체(1350) 내의 속성 정보의 동일한 필드와 비교한다. 매칭 또는 거의 매칭됨에 따라, 빠른 정렬 로직(1325)은 그 장치를 정렬 등(sort or influence)할 수 있고, 응답하는 장치 속성 특성이 무선 통신 링크 상에서 수신되기 전에 아이콘, 텍스트 목록, 그래픽 토큰 등과 같은 개별 장치 표시를 디스플레이할 수 있다. 이러한 정렬은 디스플레이 목록의 상부 쪽으로 선택을 진행시키고, 좋아하는 또는 이전에 사용된 장치를 돋보이게 하고, 어떤 표시 등과 연관된 색상 또는 쉐이딩(shading)을 바꾸는 것을 포함할 수 있다.
일부 엔트리만 히스토리 데이터 구조체(1350) 내에 포함되거나, 또는 히스토리 데이터 구조체(1350) 내에 엔트리가 포함되어 있지 않으면, 이전에 발견된 장치가 있는 경우는 빠른 필터링 로직(1315)에 의해 필터링되거나 빠른 정렬 로직(1325)에 의해 정렬되거나 혹은 필터링되고 정렬된다. 새롭게 발견된 장치는 데이터가 도착하면 필터링 로직(1310), 정렬 로직(1320) 또는 둘 다에 의해 처리된다. 이 경우에, 무선 네트워크 상에서 장치 속성이 이용 가능하게 되어 제 1 데이터 구조체(1340) 내에 저장되면 디스플레이가 제어되어 동적으로 업데이트된다. 동적 업데이트는 새로운 데이터가 도달하면 또는 결정된 간격으로 또는 이들 조합으로 발생할 수 있다. 제 1 데이터 구조(1340)로부터 필터링 로직(1310), 정렬 로직(1320) 또는 이 둘 로직은 그 제각기의 알고리즘을 적용하고 따라서 디스플레이를 제어한다.
이제 당업자는 대안적인 실시예가 용이하게 얻어질 수 있다는 것을 이해할 수 있다. 예를 들면, 제 1 데이터 구조체(1340) 및 제 2 데이터 구조체(1350)는 별도의 접속된 장치로서 도시되어 있으나, 이와 다르게, 이들은 어드레스에 의해 분리되거나, 다르게, 이들을 액세스하는 로직과 동일할 수 있는 동일한 물리적 장치에 상주할 수 있다. 별도의 구성요소로서 표시된 도시 로직은 함께 구성되거나 기능 손실 없이 분리될 수 있다. 또한, 다양한 로직 상위는 실제로 그렇게 구분될 필요가 없는 것을 제외하고 명확하게 도시되었다.
이제 도 14를 참조하면, 예를 들면, 모바일 전화 상의 디스플레이(1400)는 아이콘(1415, 1420, 1425, 1430) 선택, 선택 아이콘(1440) 및 상태 선택(1450)을 포함한다. 도시한 바와 같이, 아이콘(1415)은 가장 적절한 또는 디스플레이(1400)의 상부 위치로 정렬되는 장치의 그래픽 표시이다. 제 2 장치(1420)는 프린트 요청에 대해 선택될 수 있게 판단되었으나 제 2 위치로 정렬되었다. 정렬은 사용자 선택, 그 장치의 이전 성공(success) 또는 선택, 명명 약정(naming convention), 발견된 장치의 기능, 필터 결과, 새로운 작업을 수신하는 능력 등을 포함하는 다양한 인자에 근거하여 이루어질 수 있다.
도 14로써 도시한 일 측면에서, 아이콘(1415, 1420)은 이전에 발견된 장치이고 검색의 개시 때 위에서 설명한 바와 같이 재식별(re-identified)된다. 따라서, 이전에 발견된, 이들 현재 이용 가능한 장치의 선택 또는 디스플레이를 위해 제 1필터링 및 빠른 정렬 로직(1315, 1325)(도 13)이 배치될 수 있다. 아이콘(1425)은 데이터 식별이 이루어지기 전, 특정 장치를 만날 때까지, 응답 장치가 하나 디스플레이 될 수 있음을 나타낸다. 필터링 로직은 더 많은 정보가 획득될 때까지 아이콘이 선택될 수 있게 유지하고, 정렬 로직은 이 아이콘을 알고 있는 우수한 후보 장치 아래와 이용 불가능한 선택 사이에 배치한다. 아이콘(1430)은 본 애플리케이션에 대해 적절한 기능을 가지지 않는 것으로 알려진 원격 장치를 나타낸다. 도시에서, 아이콘(1430)의 선택이 금지되고 회색으로 아이콘이 채워져 사용자에게 표시된다.
추가 데이터는 검색 프로세스를 통해 획득되기 때문에, 필터링 로직 또는 정렬 로직, 또는 필터링 및 정렬 로직은 데이터가 수신되는 동안 계속하여 디스플레이를 업데이트할 수 있다. 이 실시예의 또 다른 이익은 변하는 디스플레이가, 검색 및 선택 프로세스가 진행 중이거나 아직 완료되지 않았다는 것을 사용자에게 알려 이상의 장치(ideal device)보다 못한 성급한 선택(premature selection)을 방지한다는 것이다. 도 14로써 도시한 업데이트 계속(continued updating)의 또 다른 표시는 변경 상태 영역(1450)을 포함한다. 도시하는 바와 같이, 데이터가 계속하여 수신되거나 프로세스가 계속 정상 동작되는 간격을 라이트 집합 중 하나의 라이트가 선택적으로 밝힌다(illuminates). 상태 표시자의 다른 예는 바, 클럭, 모래시계(hourglasses) 등을 포함한다.
이제 도 15를 참조하면, 방법 또는 알고리즘의 일 실시예가 도시되어 있다. 선택 프로세스가 시작(블록(1500))된 후에, 호환성 있는 구성요소로부터 데이터가수신되기 시작한다(블록(1510)). 이 지점에서, 상태 표시자가 선택에 따라 진행되거나, 다르게 데이터의 수신 또는 적어도 계속되는 검색 동작을 반영하여 업데이트된다. 수신된 데이터는 발견된 장치의 미리 저장된 속성 또는 특성의 목록과 비교된다(블록(1520)). 블록(1530)으로써 표시한 판단 단계에서, 이전의 데이터와 현재 수신된 데이터가 매칭되지 않는다고 판단하면, 방법은 다른 데이터를 수신하기 위해 분기한다(블록(1540)). 그로부터 또는 블록(1530)에서의 판단이 성공이면, 방법은 필터링 로직이나 정렬 로직, 또는 두 로직을 수신된 데이터에 적용한다(블록(1550)). 알고 있는 장치의 현재 상태를 반영하도록 디스플레이가 업데이트되고, 프로세스는 완료될 때까지 다른 데이터를 위해 루프를 돈다(블록(1570)).
이제 도 16을 참조하면, 모바일 장치의 일 실시예가, 사용자 프린트 작업 요청을 수신하여 다수의 동시 프린트 작업을 처리하도록 구성되어 도시되어 있다. 즉, 시스템은, 다른 프린트 작업이 처리되는 동안 동시에 프린트 작업을 위한 사용자 요청을 수신할 수 있게 제공되어 있다. 모바일 장치는 데이터 버스(1615) 상으로 저장소, 메모리 또는 다른 컴퓨터 판독 가능 매체(1620)와 통신하는 프로세서(1610)를 포함한다. 프로세서(1610)와 데이터 통신하고 영상화 제어 로직(1630)에 의해 제어되는 작업 큐(1625)는 프린트 요청(1640)을 유지한다. 하나 이상의 영상 데이터를 프린트하기 위한 사용자로부터의 요청이 수신되면, 영상화 제어 로직(1630)은 프린트 요청/작업을 작업 큐(1625) 내로 배치하고 그 요청과 함께 참조 데이터 또는 정보(1645)를 저장한다. 참조 데이터(1645)는 프린트 요청에 대응하여 프린트될 영상 데이터(1650)를 식별한다. 프린트 요청이 처리될 때,참조 데이터(1645)는, 하나 이상의 어드레스, 포인터, 위치 목록, 또는 대응하는 영상 데이터가 메모리 또는 저장소(1620)로부터 로케이팅 및 검색되게 해주는 다른 유형의 식별 데이터를 포함할 수 있다. 또한, 프로세서(1610)는 데이터 버스(1615) 상으로 다음 : 무선 트랜시버 로직(1655), 디스플레이 로직(1660), 다른 애프릴케이션(1665) 및 운영 체제(1670)를 포함하나 이에 국한되지 않는 다른 구성요소와 통신한다.
일 실시예에서, 애플리케이션(1665)은 위에서 이전에 설명한 바와 같이 작업 요청을 개시하거나 트리거 이벤트를 제공한다. 프로세서(1610)는 영상화 제어 로직(1630)을 스폰(spawns)하고 메모리의 일부를 작업 큐(1625)로서 제공하기 위해 남겨둔다. 전용 제어 로직 및 작업 큐와 같은 다른 구성이 기능이 줄지 않고 구현될 수 있다는 것이 명백하다. 영상화 제어 로직(1630)은 제 1 요청(1640)을 생성하고, 메모리 내의 어드레스 위치, 작업 제목 또는 메모리(1620) 내에서 영상 데이터를 로케이팅하는 데 유용한 다른 데이터와 같은 제 1 요청 데이터를 큐잉(queues)한다. 큐(1625) 내의 정보를 사용하여, 프로세서(1610)는 무선 통신 로직(1655)을 사용하여 영상화 장치(미도시)에 영상 데이터를 전달한다.
일 실시예에서, 저장된 영상 데이터(1650A)는 비랜더링 포맷(non-redered format)이라고도 일컫어지는 비영상화 준비 상태 포맷(non-imaging reday format)으로 포맷된다. 비영상화 준비 상태 포맷은 압축이나 디스플레이 또는 압축하고 디스플레이 하기 위해 유용할 수 있지만 본 명세서에서는 사용되는 바와 같이, 하드 카피 프린트 또는 팩시밀리를 통한 전송과 같은 영상화 전의 추가 랜더링 또는처리를 필요로 하는 것으로 정의된다. 당업자는 적절한 비영상화 준비 상태 포맷이 현재, JPEG 계열 포맷, XHTML, 직렬 포트 프로토콜 등으로 존재한다는 것을 알 것이다. 이 실시예에서, 비영상화 준비 상태 포맷 데이터는 장치 상에 디스플레이되고, 프린트 준비 상태 포맷으로 데이터를 변환하기 위해 필요한 처리를 수행할 수 있는 영상화 장치에 전달될 수 있다.
또 다른 실시예에서, 비영상화 준비 상태로 포맷된 데이터는 온 장치 랜더링(on-device rendering) 또는 다른 조작을 위해 영상화 데이터를 복사할 필요성을 감소시킴으로써 메모리 및 처리를 절약할 수 있게 해준다. 또한, 전체 영상이나 큰 영상부를 큐 내로 복사하지 않고 메모리로부터 직접 비영상화 준비 포맷 데이터를 전달함으로써 절약이 이루어질 수 있다. 또한, 어드레스, 메모리 위치, 또는 영상 데이터와 관련하는 다른 식별 정보와 같은 참조 데이터를 나타내는 소량의 데이터만 포함하도록 큐의 크기가 최소화된다.
또 다른 실시예에서, 애플리케이션(1665)은 도면부호(1650B')로써 도시하는 요망의 혹은 선택된 무선 서버 장치를 이용하여 프린트하기에 비호환적인 영상 포맷에 대해 영상화 지령을 내린다. 여기서, 프로세서(1610)는 프린트 준비 상태 비트를 생성하거나 다르게, 도면부호(1650)으로써 도시한 중간 데이터 포맷으로 비호환성 영상 데이터를 포맷하는 인스트럭션을 실행한다. 당업자라면 도면부호(1650, 1650')의 저장소에 의해 표시되는 큰 구성요소 또는 전체 영상을 프로세서가 변환 및 저장하도록 구성될 수 있다는 것을 이해할 수 있을 것이다. 이와 다르게, 프로세서는 무선 네트워크 상으로 전달되는 시점에서 섹션을 변환시킬 수 있다.
또 다른 실시예에서, 영상화 제어 로직(1630)은 영상화 작업의 상태를 모니터링한다. 모니터링은 무선 링크 상태 모니터(1670) 및 저장된 영상 데이터 상태 모니터(1670)를 둘 다 포함한다. 통신 링크 내의 장치 중 적어도 하나의 장치가 모바일 장치이고, 통신 링크가 무선이기 때문에 무선 링크는 품질이 저하되거나 비작용하지 않게 될 수도 있다고 상상된다. 무선 링크 상태 모니터(1670)는 링크의 상태를 모니터링한다. 예를 들어, 영상화 동작이 있으면, 즉, 사진을 현상하는 것이 진행중이거나 큐잉되며 클라이언트가 서버 또는 프린터로부터의 통신 범위 밖에서 이동하면, 링크 상태 모니터(1670)는 데이터 접속의 부재를 유념하여 다른 전송을 중단한다. 정의된 시간 주기 내에 접속이 재설정되면, 링크 상태 모니터(1670)는 남아 있는 프린트 작업을 다시 시작한다. 부분적으로 완료된 작업을 다시 시작하는 기능은 생산자-소비자 패러다임 하의 비동기 전송으로써 일 실시예로 제공된다. 이와 달리, 접속성 어떤 시간 주기 내에 재설정되지 않으면, 링크 상태 모니터(1670)는 작업 취소, 큐 클리어(clearing the queue) 및 사용자를 위한 에러 통보 준비와 같은 작업 종료 동작을 수행한다.
영상 데이터 상태 모니터(1675)는 영상 데이터의 상태를 모니터링한다. 예를 들어, 영상화 동작이 있으면, 즉, 사진을 현상하는 것이 진행 중이거나 큐잉되는데 동작이 완료되기 전에 영상 데이터가 붕괴되거나 삭제되면, 영상 데이터 상태 모니터(1675)는 에러 상태를 유념하여 사용자에게 통지한다. 이와 달리, 영상 데이터 상태 모니터(1675)는 프린트 작업이 진행 중인 동안 영상 데이터의 삭제를 방지하도록 구성될 수 있다. 일 실시예에서, 이 측면은 장치 내에 영상 데이터가 단하나 존재하기 때문에 중요하다. 즉, 영상 데이터가 삭제되면, 그 데이터로의 또는 이를 사용하는 진행중의 임의의 영상화 애플리케이션이 실패하기 쉽다. 또한, 영상 데이터 상태 모니터(1675)는 작업 취소, 큐 클리어 및 사용자에게 에러 통지 준비와 같은 작업 종료 또는 유지 동작을 수행한다.
이제 도 17을 참조하면, 방법 또는 알고리즘의 일 실시예가 도시되어 있다. 프린트 작업 또는 영상화 요청의 개시(블록(1700))시, 저장된 메모리 위치를 식별하기에 충분한 데이터가 큐잉된다(블록(1710)). 또한, 후속 작업의 개시시, 추가의 메모리 위치를 식별하기에 충분한 데이터를 식별하는 단계가 큐에 추가되어 동시에 또는 순차적으로 프로세싱을 인에이블한다. 저장된 데이터는 수신 장치, 가령, 프린터에 무선 링크 상으로 전달된다(블록(1715)). 링크 완전성(link integrity)이 검사된다(판단 블록(1725)). 링크 품질이 저하되거나, 다르게 상태가 의심되면, 링크가 복구되어야 하는 타임아웃 주기(timeout period)가 개시되고, 데이터 전송이 재개된다. 데이터 완전성이 검사된다(블록(1740)). 데이터가 위태롭지 않았으면, 완료 검사가 이루어진다(블록(1745)). 링크가 복구되기 전에 타임아웃이 만료되거나(블록(1730)) 데이터가 붕괴 또는 손실되었거나(블록(1740)) 또는 프린트 작업이 종료되는 작업이 완료되면(블록(1745)), 큐가 업데이트되고, 남아 있는 추적 혹은 모니터링 데이터는 삭제되거나 클린업(cleaned-up)된다(블록(1750)). 이제, 모든 경우에 위에서 설명한 방법의 정확한 순서나 모든 구성요소의 포함사항이 요구되지 않는다는 것이 명백하다. 이 대신, 위의 설명은 예이며 일 실시예를 설명하려는 것이다. 또한, 위의 블록에 의해 제공된 기능은 여러 상이한 방법으로 구현될 수 있다. 예를 들면, 프로세서 실행 가능한 인스트럭션, 소프트웨어, 로직 또는 이들의 조합으로서의 구현이 계획되며 본 발명의 범주 내이다.
도 18에는 다수의 프린트 요청을 수신하여 동시에 다수의 프린트 작업을 처리하도록 구성되는 모바일 장치(1800)의 또 다른 실시예가 도시되어 있다. 본 명세서에서 설명한 모바일 장치의 이전 실시예에서 도시한 다양한 구성요소는 도 18에 도시되지 않은 것을 제외하고 포함되어 있다. 모바일 장치는 무선으로 인에이블되고 호환성 있는 무선 인에이블 장치인 서버 장치에 프린트 요청을 전달하는 구성으로 도시될 것이다. 이를 위해, 무선 트랜시버 로직(1805)이 제공되어 있다. 이전에 설명한 서버 장치를 검색 및 로케이팅하기 위한 프로세스도 여기서 구현될 수 있다.
사용자 애플리케이션(1810)은 프린트 요청을 생성할 수 있는 임의의 유형의 사용자 소프트웨어를 포함할 수 있다. 사용자 애플리케이션(1810)을 통해, 사용자는 사진, 문서 또는 다른 데이터와 같은 오브젝트가 발견된 무선 인에이블 서버 장치 상에서 프린트되기를 요청할 수 있다. 먼저, 프린트 요청을 처리하기 위해, 프린트 작업 프로시저(1815)는 하나 이상의 프린트 요청을 수신하도록 구성된다. 일 실시예에서, 프로시저(1815)는 로직으로서 구성될 수 있다. 프린트 요청은, 오브젝트가 서버 장치 상에서 영상화될 때까지 다소의 시간을 소요할 수 있기 때문에, 프린트 작업 프로시저(1815)는 프린트 요청을 수락하여 프로세싱 제어를 사용자 애플리케이션(1810)으로 거꾸로 전달하도록 구성되어서 사용자는 프린트 요청이 프로세싱되는 동안 다른 작업을 수행할 수 있게 된다. 즉, 프린트 요청은 운영 체제에 의한 백그라운드 태스크으로서 수락되어 프로세싱된다.
프린트 요청이 프린트 작업 프로시저(1815)에 의해 수신된 후에, 임의의 하나의 프린트 요청이 완료되기 전에 다른 프린트 요청이 수신될 수 있다. 일 실시예에서, 프린트 작업 큐(1820)는 임의의 유형의 컴퓨터 판독 가능한 매체 상에 프린트 작업을 유지하도록 배당된다. 프린트 작업 프로시저(1815)는 각각의 프린트 요청에 대한 프린트 작업을 생성하고 가령, 사용자가 요청된 작업을 추적할 수 있게 해주는 작업 ID와 함께 작업 큐(1820) 내에 프린트 작업을 배치한다. 모바일 장치의 메모리 자원을 절약하기 위해, 작업 프로시저(1815)는 본 명세서에서 영상 데이터라고 일컫어지는 영상화될 실제 데이터 없이 작업 큐 내에 프린트 작업을 구성한다. 대신, 프린트 작업은 영상 데이터가 로케이팅될 수 있게 해주는 영상 데이터로의 참조부(1825)를 포함한다. 참조 데이터라고도 지칭되는 참조는 하나 이상의 포인터, 링크, 어드레스, 또는 영상 데이터가 로케이팅될 수 있게 해주는 다른 요망하는 유형의 참조부일 수 있다. 도 18에서 예를 들면, 작업 1은 메모리 또는 저장소(1830)로부터의 영상 데이터(A)를 가리키고, 작업 2는 영상 데이터(B)를 가리킨다. 물론, 단일의 프린트 작업은 프린트될 영상 데이터의 다수의 인스턴스(instances)를 가리키기도 한다. 일 실시예에서, 작업 큐(1820) 내의 프린트 작업은 그 영상 데이터로의 단 하나의 참조부를 포함할 수 있다.
프린트 작업을 포함하는 작업 큐(1820)에 응답하여, 프린트 작업 소비자(1835)는 프린트 작업을 처리하도록 구성된다. 프린트 작업을 처리하기 위해, 프린트 작업 소비자(1835)는 프린트 작업으로부터 참조 데이터를 포함하는 데이터를 판독하고 그 연관된 영상 데이터를 이용하여 프린트 작업을 형성한다. 참조 데이터를 사용하면, 프린트 작업 소비자(1835)는 연관된 영상 데이터를 검색하고 그것을 다른 프린트 작업 데이터가 있다면 이와 결합하여 포맷하여 완성된 프린트 작업(completed print job)(1840)을 생성한다. 그 후, 완성된 프린트 작업(1840)은 요망하는 통신 프로토콜에 따라 무선 트랜시버 로직(1805)에 의해 블루투스 인에이블 프린터와 같은 무선 인에이블 서버 장치에 전달될 수 있다. 완성된 프린트 작업(1804)은 영상화 장치가 알 수 있는, 즉, 작업을 처리하기 위한 형태를 갖기 때문에 유효 프린트 작업으로서 간주될 수도 있다. 작업 큐(1820) 내의 프린트 작업은 영상화 장치가 그 형태를 이해하고 참조 데이터를 사용하여 연관된 영상 데이터를 검색할 수 없으면 보통, 영상화 장치에 의해 처리되지 않을 것이다.
일 실시예에서, 프린트 작업 소비자(1835)는 프린트 작업이 현재 처리되고 있을 때 프린트 작업을 위한 영상 데이터를 메모리(1830)에서 검색하도록 구성된다. 다른 진행 중인 프린트 작업은 그 연관된 영상 데이터를 포함하지 않을 것이다. 영상 데이터를 검색하는 것은 자원을 소비하는 또 다른 데이터가 유지되기를 요구한다. 그래서, 여러번 복사되는 영상 데이터량을 감소시키는 것은 소모 자원수를 감소시켜야 한다.
또 다른 실시예에서, 작업 프로시저(1815) 및 작업 소비자(1835)는 공통의 로직 구성요소 또는 다수의 구성요소로서 구성될 수 있다. 또한, 프린트 작업 소비자(1835)는 모바일 장치(1800) 상에서 다른 프로세스와 비동기적으로 작용해서사용자 애플리케이션(1810)이나 다른 애플리케이션이 동시에 새로운 프린트 요청을 제출하는 동안 프린트 요청/작업이 수행되도록 구성될 수 있다. 이는 운영 체제에 의해 제어될 수 있을 것이고, 다르게는, 프로시저(1815) 및/또는 소비자(1835)가 운영 체제의 일부이거나 장치 드라이버로서 구현되거나 다른 형태를 취할 수 있다. 사용자의 관점에서, 모바일 장치(1800)는 사용자로부터 하나 이상의 프린트 요청을 수신 및 수락하여 사용자로 하여금 프린트 요청이 완료되기 전에 다른 작업을 수행할 수 있게 해준다.
일 실시예에서 이전에 언급한 바와 같이 프린트 작업과 연관된 영상 데이터는 JPEG 포맷과 같은 비영상화 준비 상태 포맷 또는 비프린트 준비 상태 포맷(non-print ready format)이다. 프린트 준비 상태 데이터가 상당히 더 클 수 있기 때문에, 이러한 유형의 데이터 포맷으로 완성된 프린트 작업(1840)을 형성하는 것은 시간 및 자원을 절약한다. 그래서, 프린트 작업 내의 비프린트 준비 상태 데이터를 서버 장치에 전달하는 것은 전송 시간을 절약할 수 있다. 이 경우에, 서버 장치는 비프린트 준비 상태 프린트 작업으로부터 프린트 준비 상태 데이터를 만들기 위해 랜더링 기능(rendering capability)을 가져야 한다.
도 19에는 모바일 장치 상에서 가령, 프린트 작업 프로시저(1815)에 의해 프린트 요청을 처리하기 위한 방법의 일 실시예가 도시되어 있다. 선택된 영상 데이터를 프린트하기 요망하는 프린트 요청이 수신되면 처리가 시작된다(블록(1900)). 프린트 작업이 영상 데이터로의 참조부와 함께 생성(블록(1905))되어 프린트 작업이 큐 내에 저장(블록(1910))된다. 요청하는 애플리케이션으로 프로세싱이 리턴되어서 다른 작업이 동시에 수행될 수 있게 된다.
도 20에는 모바일 장치 상에서 가령, 프린트 작업 소비자(1835)에 의해 프린트 작업을 처리하기 위한 방법의 일 실시예가 도시되어 있다. 프로세스는 프린트 작업이 프린트 큐 내에 배치되면 개시된다(블록(2000)). 프린트 작업은, 프린트될 연관된 하나 이상의 영상 데이터로의 참조 데이터를 포함해서 검색된다(블록(2005)). 그 후, 영상 데이터가 검색되고 결합되어 완성된 프린트 작업(블록(2010))을 형성한다. 일 실시예에서, 현재 처리되고 있지 않은 프린트 작업은 그 대응 영상 데이터와 결합되지 않으나 참조 데이터를 이용하여 유지될 것이다. 다음에 프린트 작업이 처리될 때, 영상 데이터와 결합되어 완성된 프린트 작업을 형성할 것이다. 그 후, 완성된 프린트 작업 및 데이터는 통신 링크가 선택된 통신 프로토콜에 따라 설정될 수 있다고 가정하는 무선 인에이블 영상화 장치에 전달될 수 있다. 일 실시예에서, 프로토콜은 블루투스 사양에 기초할 수 있다.
본 발명이 그 실시예의 설명으로써 묘사되고 실시예가 상당히 상세히 도시되었으나 청구항의 범위를 이러한 세부사항들에 국한하려는 것이 아니다. 다른 유리한 점 및 수정은 당업자에게 명백할 것이다. 그러므로, 보다 넓은 측면에서, 본 발명은 도시하고 설명한 특정 세부사항, 대표 장치 및 예시적인 예에 국한되지 않는다. 따라서, 일반적인 발명의 사상 또는 범위로부터 벗어나지 않고 이러한 세부사항들로부터 수정이 이루어질 수 있다.
본 발명은 무선 인에이블 장치를 위한 신규의 유용한 방법 및 시스템을 제공한다.

Claims (10)

  1. 다른 무선 장치와 선택적 데이터 통신을 위해 구성되는 무선 트랜시버 로직(145, 915, 1655, 1805)과,
    상기 다른 무선 장치로부터 전달된 데이터를 액세스하고, 상기 다른 무선 장치로부터 전달된 상기 데이터를 조직하여, 그 후, 상기 다른 무선 장치로부터 전달된 상기 데이터를 포함하는 특성에 근거하여 상기 데이터를 인식하도록 구성된 검색 로직(130, 300, 1300)과,
    상기 검색 로직(130, 300, 1300)과 동작 가능하게 접속되고, 상기 조직된 데이터를 디스플레이할 수 있는 디스플레이(325, 525, 1360, 1660)를 포함하는
    모바일 장치.
  2. 제 1 항에 있어서,
    상기 무선 트랜시버 로직(145, 915, 1655, 1805)과 데이터 통신하고, 상기 다른 무선 장치로부터 전달된 상기 데이터를 포함하는 데이터를 저장할 수 있는 데이터 구조체(505, 925, 1340, 1350)를 더 포함하는
    모바일 장치.
  3. 제 2 항에 있어서,
    상기 검색 로직(130, 300, 1300)은,
    상기 데이터 구조체(505, 925, 1340, 1350)와 데이터 통신하고,
    프로토콜에 기초하여 다른 무선 장치를 나타내는 데이터를 선택적으로 필터링하도록 구성되는 필터링 로직(315, 930, 1310, 1315)을 포함하는
    모바일 장치.
  4. 제 2 항에 있어서,
    상기 검색 로직(130, 300, 1300)은,
    상기 데이터 구조체(505, 925, 1340, 1350)와 데이터 통신하고,
    상기 다른 무선 장치로부터 수신된 하나 이상의 속성에 기초하여 다른 무선 장치를 나타내는 데이터들을 정렬하도록 구성되는 정렬 로직(510, 930, 1320, 1325)을 포함하는
    모바일 장치.
  5. 제 1 항에 있어서,
    이전에 수신된 상기 다른 무선 장치의 특성을 저장하기 위한 히스토리 데이터 구조체(505, 1350)를 더 포함하는 모바일 장치.
  6. 디스플레이 방법에 있어서,
    무선 데이터 접속부 상에서 호환성 있는 구성요소의 존재를 나타내는 데이터를 수신(1510)하는 단계와,
    상기 호환성 있는 구성요소 선택을 디스플레이(215, 1120, 1560)하는 단계와,
    상기 호환성 있는 구성요소를 더 식별하는 데이터를 계속하여 수신(1540)하는 단계와,
    협약 및 상기 계속된 데이터 수신에 따라 상기 디스플레이된 호환성 있는 구성요소 선택을 변경(1560)하는 단계를 포함하되,
    상기 방법은 무선 모바일 장치에 의해 자동으로 수행되는
    방법.
  7. 제 6 항에 있어서,
    검색 프로세스를 개시(205)하는 단계와,
    상기 수신된 데이터로부터 상기 호환성 있는 구성요소의 기능을 판단(230, 615, 1115, 1215, 1520)하는 단계를 더 포함하는
    방법.
  8. 제 6 항에 있어서,
    상기 계속된 데이터 수신 단계는 또 다른 기능을 수행하는 동안 상기 데이터를 비동기적으로 수신(210)하는 단계를 포함하는
    방법.
  9. 제 6 항에 있어서,
    상기 디스플레이된 호환성 있는 구성요소 선택으로부터, 선택된 호환성 있는 구성요소를 필터링(235, 615, 1115, 1215, 1550)하는 단계를 더 포함하는 방법.
  10. 제 6 항에 있어서,
    상기 계속된 데이터 수신으로부터 유도된 속성에 근거하여, 선택된 호환성 있는 구성요소를 정렬(1120, 1550)하는 단계를 더 포함하는 방법.
KR1020040010458A 2003-02-18 2004-02-17 모바일 장치 및 모바일 장치 상에서의 디스플레이 방법 KR20040074966A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/369,042 2003-02-18
US10/369,042 US7272407B2 (en) 2003-02-18 2003-02-18 Display on wireless mobile device

Publications (1)

Publication Number Publication Date
KR20040074966A true KR20040074966A (ko) 2004-08-26

Family

ID=32736415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040010458A KR20040074966A (ko) 2003-02-18 2004-02-17 모바일 장치 및 모바일 장치 상에서의 디스플레이 방법

Country Status (4)

Country Link
US (1) US7272407B2 (ko)
EP (1) EP1450517A1 (ko)
JP (1) JP2004254311A (ko)
KR (1) KR20040074966A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364088B2 (en) 2007-03-29 2013-01-29 Research In Motion Limited Method, system and mobile device for prioritizing a discovered device list

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10164631A1 (de) * 2001-07-16 2003-02-13 Thinprint Gmbh Verfahren zur Ausgabe von Inhalten aus dem Internet oder einem Intranet
US8194269B2 (en) * 2005-04-11 2012-06-05 Samsung Electronics Co., Ltd. Image forming method and system using XHTML-print data
JP2007521733A (ja) * 2003-07-04 2007-08-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ワイヤレスネットワーク上の所望の近傍の装置及びサービスを音響的に信号で示す検出応答型システム
US7787423B2 (en) * 2003-09-10 2010-08-31 Panasonic Corporation Device and program product for the same
US7472185B2 (en) * 2004-01-05 2008-12-30 International Business Machines Corporation Method and apparatus for scaling a user interface adaptively to an object discovery/display system with policy driven filtering
US7865181B1 (en) * 2004-03-19 2011-01-04 Single Touch Interactive, Inc. Searching for mobile content
SE528570C2 (sv) 2004-04-08 2006-12-19 Abb Research Ltd Metod, anordning och system för att upprätta en trådlös förbindelse mellan en bärbar datoranordning med en första applikation till andra anordningar med hjälp av en andra applikation
WO2005114913A1 (en) * 2004-05-21 2005-12-01 Nokia Corporation Device and method for automated functionality-based selective establishing of wireless data communication connections
CN101019407A (zh) * 2004-09-10 2007-08-15 夏普株式会社 数据处理装置及内容数据发送装置
JP4134972B2 (ja) * 2004-09-30 2008-08-20 ブラザー工業株式会社 パラメータ設定システム,設定デバイスおよびプログラム
JP2006109296A (ja) * 2004-10-08 2006-04-20 Canon Inc デジタルカメラ及びデジタルカメラの制御方法
US20060079214A1 (en) * 2004-10-12 2006-04-13 Nokia Corporation Method and apparatus for showing wireless mobile device data content on an external viewer
JP4367941B2 (ja) * 2005-01-25 2009-11-18 キヤノン株式会社 中継装置、画像供給装置及び印刷システムとその制御方法
US20070005605A1 (en) * 2005-06-30 2007-01-04 Hampton Arthur D System and method for selectively delivering content to a user having one or more accessible devices
FR2888070B1 (fr) * 2005-07-01 2007-11-23 Sagem Comm Procede de communication entre un dispositif editeur et un dispositif emetteur
US20070069890A1 (en) * 2005-09-28 2007-03-29 Tuck Edward F Personal radio location system
US20070076672A1 (en) * 2005-09-30 2007-04-05 Roberto Gautier Method and system for controlling ad-hoc membership in wireless networks to improve battery life
KR100703375B1 (ko) * 2005-12-12 2007-04-03 삼성전자주식회사 휴대 단말기의 블루투스 통신 시 로그 관리 방법
US8478300B2 (en) * 2005-12-20 2013-07-02 Microsoft Corporation Proximity service discovery in wireless networks
US8559350B2 (en) * 2005-12-20 2013-10-15 Microsoft Corporation Mechanism to convey discovery information in a wireless network
US20070264991A1 (en) * 2006-05-15 2007-11-15 Microsoft Corporation Services near me: discovering and connecting to available wireless services utilizing proximity discovery
US10681151B2 (en) 2006-05-15 2020-06-09 Microsoft Technology Licensing, Llc Notification framework for wireless networks
US8571602B2 (en) * 2006-06-09 2013-10-29 Qualcomm Incorporated Universal mobile print agent
DE202006010816U1 (de) * 2006-07-13 2007-02-08 Dometic Gmbh Funkkommunikationsanordnung
US8005236B2 (en) 2006-09-07 2011-08-23 Porto Vinci Ltd. Limited Liability Company Control of data presentation using a wireless home entertainment hub
US9233301B2 (en) * 2006-09-07 2016-01-12 Rateze Remote Mgmt Llc Control of data presentation from multiple sources using a wireless home entertainment hub
US9319741B2 (en) 2006-09-07 2016-04-19 Rateze Remote Mgmt Llc Finding devices in an entertainment system
US9386269B2 (en) 2006-09-07 2016-07-05 Rateze Remote Mgmt Llc Presentation of data on multiple display devices using a wireless hub
US20080061578A1 (en) * 2006-09-07 2008-03-13 Technology, Patents & Licensing, Inc. Data presentation in multiple zones using a wireless home entertainment hub
US8966545B2 (en) * 2006-09-07 2015-02-24 Porto Vinci Ltd. Limited Liability Company Connecting a legacy device into a home entertainment system using a wireless home entertainment hub
US8607281B2 (en) 2006-09-07 2013-12-10 Porto Vinci Ltd. Limited Liability Company Control of data presentation in multiple zones using a wireless home entertainment hub
US8935733B2 (en) * 2006-09-07 2015-01-13 Porto Vinci Ltd. Limited Liability Company Data presentation using a wireless home entertainment hub
FR2906667B1 (fr) * 2006-10-02 2009-01-16 Eastman Kodak Co Production de codes visuels pour l'appariement d'equipements electroniques.
US20080117449A1 (en) * 2006-11-22 2008-05-22 Christina Karen Lauridsen Method and system for recalling printed documents
JP2008238563A (ja) * 2007-03-27 2008-10-09 Oki Data Corp 印刷装置
US8331294B2 (en) 2007-07-20 2012-12-11 Broadcom Corporation Method and system for managing information among personalized and shared resources with a personalized portable device
US20090027222A1 (en) * 2007-07-23 2009-01-29 Sony Ericsson Mobile Communications Ab Providing services to a mobile device in a personal network
JP5122201B2 (ja) * 2007-07-24 2013-01-16 株式会社エヌ・ティ・ティ・ドコモ 携帯端末及びプログラム
KR101421164B1 (ko) * 2007-12-18 2014-07-18 엘지전자 주식회사 이동 단말기 및 그의 무선기기 표시방법
JP4331233B2 (ja) 2007-12-26 2009-09-16 株式会社東芝 無線通信装置
US9105031B2 (en) * 2008-02-22 2015-08-11 Microsoft Technology Licensing, Llc Authentication mechanisms for wireless networks
US9043503B2 (en) 2008-10-28 2015-05-26 At&T Intellectual Property I, L.P. System and method of interacting with data at a wireless communication device
KR101509763B1 (ko) * 2008-10-29 2015-04-06 삼성전자주식회사 블루투스를 이용한 정보 제공 방법 및 장치와 그 시스템
JP5268604B2 (ja) * 2008-12-05 2013-08-21 キヤノン株式会社 情報処理装置及び情報処理方法
US20100151850A1 (en) * 2008-12-15 2010-06-17 At&T Corp. System and Method for Adapting Mobile Applications
US20100309508A1 (en) * 2009-06-03 2010-12-09 Kamath Harish B Network print-related service
US8768313B2 (en) * 2009-08-17 2014-07-01 Digimarc Corporation Methods and systems for image or audio recognition processing
EP2507681A4 (en) * 2009-12-02 2013-08-07 Packetvideo Corp SYSTEM AND METHOD FOR TRANSFERRING MEDIA CONTENT FROM A MOBILE DEVICE TO A HOME NETWORK
US9226339B2 (en) * 2009-12-03 2015-12-29 Qualcomm Incorporated Method and apparatus for cooperative multifunctional communication in a wireless communication system
WO2011090474A1 (en) 2010-01-20 2011-07-28 Hewlett-Packard Development Company, L.P. Cloud printer with a common user print experience
US8579700B2 (en) * 2010-03-19 2013-11-12 Malcolm B. Davis Method and apparatus for settlement of processor based tournament competition
US8928911B2 (en) 2010-03-30 2015-01-06 Hewlett-Packard Development Company, L.P. Fulfillment utilizing selected negotiation attributes
JP5766796B2 (ja) * 2010-06-23 2015-08-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated イベントトリガ型ピア発見
US9167508B2 (en) 2011-03-08 2015-10-20 Sony Corporation Wireless communication apparatus, wireless communication method, and wireless communication system for providing improved wireless communication
JP6154098B2 (ja) * 2011-03-08 2017-06-28 ソニー株式会社 無線通信装置、無線通信方法、及び無線通信システム
JP5963420B2 (ja) * 2011-11-14 2016-08-03 キヤノン株式会社 画像処理システム、画像処理装置及びその制御方法、並びにプログラム
US20130141755A1 (en) * 2011-12-02 2013-06-06 Apple Inc. Facilitating communication between portable electronic devices and printers
US20130141746A1 (en) * 2011-12-02 2013-06-06 Apple Inc. Ad-hoc discovery and selection of printers for print jobs
US9069501B2 (en) 2012-02-28 2015-06-30 Hewlett-Packard Development Company, L.P. Mechanism that allows initiating print without being aware of the printer email address
US9363840B2 (en) 2012-03-07 2016-06-07 Nokia Technologies Oy Application based connectivity event triggering
WO2014003712A1 (en) 2012-06-26 2014-01-03 Hewlett-Packard Development Company, L.P. Exposing network printers to wi-fi clients
KR20140097923A (ko) * 2013-01-30 2014-08-07 한국전자통신연구원 서비스 장치 제어 방법 및 서비스 장치 제어 방법을 수행하는 단말
US8989668B2 (en) * 2013-06-07 2015-03-24 Apple Inc. Ordering a list of wireless devices for display in a graphical user interface
US9846994B2 (en) 2014-06-20 2017-12-19 Malcolm B. Davis Method and system for heads up game tournament
US10592836B2 (en) * 2017-09-22 2020-03-17 Kabushiki Kaisha Toshiba System and method for queueing and printing electronically fillable form print jobs
US10887181B2 (en) 2019-01-09 2021-01-05 Microsoft Technology Licensing, Llc Out-of-band service discovery for peripheral devices
US11265416B2 (en) * 2019-06-05 2022-03-01 Kyndryl, Inc. Management of communication notifications based upon geographic location

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102923B (fi) * 1996-08-08 1999-03-15 Nokia Mobile Phones Ltd Tiedontulostusjärjestelmä, menetelmä tiedon tulostamiseksi sekä päätel aitteet tiedon tulostamiseksi
US6359642B1 (en) * 1999-01-27 2002-03-19 Hewlett-Packard Company Printer control system
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
EP1107512A1 (en) 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
JP3893442B2 (ja) * 2000-01-14 2007-03-14 富士フイルム株式会社 プリント注文方法および装置ならびに印刷装置
GB0007617D0 (en) 2000-03-29 2000-05-17 Psion Dacom Plc A short range radio transceiver device
US20020059415A1 (en) * 2000-11-01 2002-05-16 Chang William Ho Manager for device-to-device pervasive digital output
US7164885B2 (en) * 2000-12-18 2007-01-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for selective service access
JP2002264431A (ja) 2001-03-13 2002-09-18 Fuji Photo Film Co Ltd プリントシステム及びプリンタ
JP2002290416A (ja) 2001-03-27 2002-10-04 Tdk Corp 無線通信端末及び無線ネットワークシステムにおける接続機器の選択方法
JP2002305521A (ja) 2001-04-04 2002-10-18 Seiko Epson Corp 無線通信対応機器、無線通信対応情報端末及び通信制御プログラム
US7321443B2 (en) * 2001-06-29 2008-01-22 Hewlett-Packard Development Company, L.P. Print device and program product for supporting print by reference methods
US7102640B1 (en) * 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US20040100505A1 (en) * 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364088B2 (en) 2007-03-29 2013-01-29 Research In Motion Limited Method, system and mobile device for prioritizing a discovered device list
US8676130B2 (en) 2007-03-29 2014-03-18 Blackberry Limited Method, system and mobile device for prioritizing a discovered device list

Also Published As

Publication number Publication date
US20040176117A1 (en) 2004-09-09
US7272407B2 (en) 2007-09-18
EP1450517A1 (en) 2004-08-25
JP2004254311A (ja) 2004-09-09

Similar Documents

Publication Publication Date Title
US7272407B2 (en) Display on wireless mobile device
KR20040074964A (ko) 영상 형성 장치 및 영상 형성 장치 결정 방법
KR20040074959A (ko) 모바일 장치를 위한 시스템 및 전자 장치 검색 방법
KR20040074960A (ko) 모바일 장치 및 클라이언트/서버의 프린트 작업 처리 방법
JP4971610B2 (ja) デバイスドライバを管理するためのプログラムおよび方法と情報処理装置
JP5212448B2 (ja) 画像処理システム、画像処理装置の制御方法、携帯端末、および制御プログラム
US6678750B2 (en) Wireless networked peripheral devices
US20150109638A1 (en) Image forming system
US10187549B2 (en) System and method for printing documents using print hardware and automatic print device identification based on context correlation
US10079954B2 (en) Displaying functions of an image forming apparatus in order of priority
JP6265717B2 (ja) 情報処理装置、情報処理装置の制御方法、並びにプログラム
US20060265644A1 (en) Print processing apparatus, print processing system and print control method
US10838704B2 (en) Application program setup method and download server
JP4160981B2 (ja) 携帯端末装置及びプログラム
JP2014006814A (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
US8971212B2 (en) Identifying a resource geographically associated with one or more transceivers
US8780366B2 (en) Image forming apparatus and image forming option setting method thereof to display an administrator setting option having a correlation with the displayed user setting option according to the selected administrator setting
JP4483110B2 (ja) ソフトウエア設定システム
JP2005175736A (ja) 登録情報取得装置及び登録情報取得プログラム
CN100334578C (zh) 网络系统
JP7371442B2 (ja) 情報処理装置、プログラム、電子機器登録方法
JP2018125583A (ja) ネットワークシステム、画像処理装置、および、プログラム
EP4106306A1 (en) Information processing apparatus, control method, and carrier medium
JP2019086936A (ja) 情報機器、機能表示方法、およびコンピュータプログラム
JP2006318284A (ja) 情報端末装置及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid