KR20080031810A - 협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커 - Google Patents

협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커 Download PDF

Info

Publication number
KR20080031810A
KR20080031810A KR1020070100003A KR20070100003A KR20080031810A KR 20080031810 A KR20080031810 A KR 20080031810A KR 1020070100003 A KR1020070100003 A KR 1020070100003A KR 20070100003 A KR20070100003 A KR 20070100003A KR 20080031810 A KR20080031810 A KR 20080031810A
Authority
KR
South Korea
Prior art keywords
services
service
computing
mobile device
esb
Prior art date
Application number
KR1020070100003A
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 KR20080031810A publication Critical patent/KR20080031810A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/22Detection of presence or absence of input display information or of connection or disconnection of a corresponding information source

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

적어도 하나의 이동 컴퓨팅 장치와 적어도 하나의 고정 컴퓨팅 장치 간의 공생관계를 확립하기 위한 방법은, 적어도 하나의 네트워킹 프로토콜을 사용하여, 적어도 하나의 이동 컴퓨팅 장치 및 적어도 하나의 고정 컴퓨팅 장치가 위치한 영역에 할당되는 컴퓨팅 엔티티(entity)와 상호작용하는 단계; 컴퓨팅 엔티티로부터 소프트웨어 모듈을 수신하는 단계로서, 각각의 소프트웨어 모듈은 적어도 하나의 이동 컴퓨팅 장치와 적어도 하나의 고정 컴퓨팅 장치 간의 공생관계를 확립하기 위해 적어도 하나의 이동 컴퓨팅 장치에 커스토마이즈드되는 것인, 상기 소프트웨어 모듈을 수신하는 단계; 적어도 하나의 고정 컴퓨팅 장치와 상호작용하기 위한 소프트웨어 모듈 및 적어도 하나의 이동 컴퓨팅 장치에 의해 선택된 임무를 수행 가능하게 하는 공생관계를 확립하기 위한 컴퓨팅 엔티티를 구동하는 단계를 포함한다. 지정된 위치에 들어가는 적어도 하나의 이동 컴퓨팅 장치; 이동 장치 사용자의 행동; 이동 장치 사용자의 미리-선택된 선호도; 및 타임 이벤트로 구성된 그룹으로부터 선택되는 트리거를 수신하면 이 단계들은 자동적으로 실시될 수 있다.
Figure P1020070100003
이동장치, 고정장치, 공생관계, 유비쿼터스, 서비스 브로커

Description

협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커{ENVIRONMANTAL SERVICES BROKER FOR MEDIATING COLLABORATIVE COMPUTING SESSIONS}
본 발명은 넓게는 이동 컴퓨팅 장치 분야에 관한 것이고, 상세하게는 이동 장치를 위한 유비쿼터스 협업 아키텍처(architecture) 분야에 관한 것이다.
휴대용 통신 장치는, 특히 프로그래머블 컴퓨팅 엔진 및 커넥티비티(connectivity)가 부여될 때, 사용자가 이동하면서 일하고 여가 활동을 즐길 수 있도록 허용한다. 이런 이동 장치는 휴대용이고, 개인적이며, 구입하기도 쉽다. 컴퓨팅 능력 및 통신 영역이 증가함에 따라, 이동 장치의 기능도 증가한다. 셀룰러폰은, 사용자가 지상선 접속 없이도 전화를 걸고 받는 것을 허용했기 때문에 20년 전만 해도 최첨단 기술로 여겨졌지만, 현재는 (전화를 걸고 받는 것은 물론이고, 이에 추가하여) 웹 브라우징, 이-메일, 일정관리, 사진 및 비디오 찍기의 기능을 갖는다. 2005년 칠레에서, 1600만 인구가 9백만대의 셀룰러폰을 사용하였다. 그 총 인구 수치가 어린이, 노인, 및 빈곤층도 포함하고 있다는 것을 감안한다면, 셀룰러폰을 소유할 수 있는 칠레의 거의 모든 성인이 셀룰러폰을 소유하고 있다는 결론을 내릴 수 있다.
이동 장치의 인기 및 그 유용함은 분명하다. 그러나, 오늘날의 휴대형 기기(handheld)들도 여전히 또 다른 제한에 직면한다. 이 휴대형 기기들은 사용자가 휴대하기에 충분할 만큼 작고 가벼워야하지만, 사이즈 제약은 디스플레이 스크린의 사이즈 및 버튼이나 다이얼의 개수에 대한 제한을 가져온다. 소리-기반의 인터페이스들은, 휴대형 기기의 사용이 음성명령을 간섭하는 시끄러운 환경인 공공 장소에 자주 발생하기 때문에 야기되는 문제들은 항상 해결할 수 없다. 또한, 당분간, 파워풀한 휴대형 기기들은 상대적으로 짧은 배터리 수명에 의해 제약받을 것이다. 이러한 주어진 제한들로, 휴대형 기기 사용이 가까운 미래에 계속해서 급격히 증가할 것인지에 대해 우리는 의문을 가질 수밖에 없다. 커넥티비티, 더 나은 I/O 능력, 및 CPU 파워가 랩탑들의 더 큰 사이즈를 상쇄시킬 것으로 보인다. 다른 범위에서, 지금은 더 많은 기능을 가진 셀룰러폰에 의해 대체되었지만 1980년대엔 매우 흔했던 무선 호출기처럼 쉽게 이용할 수 있고 안전하다면, 입을 수 있는 컴퓨터 또는 심지어 체내-삽입형 컴퓨터들이 휴대형 기기들을 대체할 수 있다.
(생명을 뜻하는 bios와 모방을 뜻하는 mimesis의 합성어인) 생체모방(Biomimicry)은, 자연적 프로세스와 디자인을 연구하고 인간의 문제들을 해결하기 위해 이 디자인과 프로세스들을 모방하는 새롭게 형성된 과학 사조의 분야이다. 더 나은 태양 전지를 발명하기 위해 잎을 연구하는 것이 한 예이다. 생체모방은, 어떻게 자연의 비-인간계가 진화하고 그들의 환경에 적응하는지에 초점을 맞춘다. 이 비-인간계들은, 엄청나게 다양하지만, 모두 한가지 공통점이 갖는다-그들은 그들의 환경을 한정하고 제약함으로써 그들의 적응력에 제한된다. 성공한 계는 자연 법칙을 거의 따름으로써 장기간의 유지상태(sustainability)를 최대화하는 계이다. 휴대형 기기의 미래를 예측하기 위해, 우리는 생태계로부터 약간의 아이디어와 모델을 차용하고 많은 장치 타입들이 (시장에서의) 생존을 위해 경쟁하는 정글 모델을 현재 컴퓨터 환경의 모델로 삼는다. 자연에서와 같이, 가장 강한 장치들은 그들의 입지를 빠르게 증가시켜 성공한다. 이런 현대의 정글에서는, 성공은 인류가 인지하는 장치가 얼마나 유용한가에 의해 판단된다.
자연에서, 유기체들은 많은 상이한 생존 전략들을 따르지만, 우리는 생물학적 유기체들이 사용하는 오직 한가지 생존 메커니즘만을 조사할 것이다: 공생(symbiosis). 1879년 Anton de Bary에 의해 초기 정의된 공생이란 서로 다른 생물들의 상호 이익적인 관계를 말한다. 우리는 다음과 같은 3종류로 공생을 구별할 수 있다. 1) 모든 생물들이 서로의 관계로부터 이익을 얻는 상리공생(mutualism); 2) 한 생물만이 상대 생물들에게 이익을 주거나 최소 희생으로 이익을 받는 편리공생(commensalism); 3) 한 생물이 얻는 이익이 모두 다른 생물에서 오는 것인 기생(parasitism). 공생은 공생관계 전체의 군집을 언급하지만, 공생에 대한 동의어로서 편리공생이란 용어를 다루는 것이 일반적이다.
휴대형 기기 개발자들은 몇몇의 제한들을 극복하기 위해 이미 공생을 연구해오고 있다. 도 1을 참조하면, 기술 사용자의 컴퓨팅 한경에 대한 전형적인 아키텍처가 간단히 도시되어 있다. 이런 환경에서, 사용자는 3개의 흔히-사용되는 이동 장치인 셀룰러폰(170), 랩탑(160), 및 개인 휴대용 정보 단말기(PDA; personal digital assistant)(150)를 갖는다. PDA(150)와 랩탑 컴퓨터(160) 사이의 공생관계 가 전통적인 예를 제공한다. 랩탑의 풀-사이즈 키보드 및 큰 디스플레이는 링크된 PDA(150)에 있는 데이터 및 애플리케이션에 대한 관리를 대한 단순화한다. 링크된 관계는 점선으로 도시되었다. 두 장치 간의 동기화 프로세스는 PDA(150)의 데이터를 간단하고 안전하게 백업시킨다. 또한, 사용의 용이 및 애플리케이션 유용성과 같은 다른 이점도 있다. 개인용 컴퓨터가 있는 공생은 보다 간단한 전자 주소록에 대한 분명히 경쟁력있는 이점을 PDA에 제공하여, 멸종에 대한 라이벌들을 빠르게 밀어내버렸다.
또한 도 1에서 도시하는 바와 같이, 랩탑(160)과 셀룰러폰(170) 양자 모두는 인터넷 액세스를 하고 인터넷(120)을 통해 (여기서는 서버팜으로 도시된) 월드 와이드 웹 (130)을 여행할 수 있다. PDA(150)는 달력, 접속, 이메일, 및 링크를 랩탑(160)과 동기화할 수 있도록 랩탑(160)에 접속된다. 이런 환경(100)의 사용자는 전형적으로 직장에서 랩탑(160)을 사용하고 계속 일을 하거나 이메일을 확인하기 위해 그것을 집으로 가져갈 것이다. 사용자는 또한 출장중 그의 직장동료들과 연락을 유지하고 회사 임무에 대응하기 위해 전형적으로 랩탑(160)을 갖고 출장을 갈 것이다. 셀룰러폰(170)은 그 중 가장 유비쿼터스적인 이동 장치이다. 그리고 셀룰러폰과 PDA의 기능을 하나의 동일한 장치에서 구현시키는 스마트폰이 현재 인기를 얻고 있다.
상기한 바와 같이 PDA와 랩탑은 단지 생태계에서와 같이 공생관계를 활용하 지만 그 관계는 그들의 환경에 의해 부과되는 제약들에 의해 제한된다. PDA(150)는 상대적으로 짧은 배터리 수명, 작은 디스플레이 영역 및 덜 인간 환경 공학적인 키패드에 의해 제한된다. 랩탑(160)은 짧은 배터리 수명, AC전원에 대한 의존성, 및 비록 랩탑(160)이 휴대용이기는 하나 휴대형 장치들처럼 작고 가볍지 않다는 점에 의해 제한된다.
WiFi(Wireless Fidelity) 카페는 이동 장치에 대한 서비스를 제공하는 문제 일부를 해결한다. WiFi 카페는 카페와 같은 "친밀한" 비지니스 시설에 수용된 인터넷 핫스팟(hot spot)이다. 이런 핫스팟들은 고객과 지연주민들에게 종종 무료로 무선 인프라스트럭처를 제공한다. 사용자가 핫스팟 영역 내에 있는 시간 동안 무선기능 가능한 랩탑은 카페의 WiFi 네트워크에 액세스할 수 있다. 이런 WiFi 카페의 인기는 인터넷 "핫 존(Hot Zone)"을 구현시키기 위해 무선 사업을 촉진하고 있다. 인터넷 핫 존은 이웃동네, 일반적으로 바쁜 대도시의 소매 구역(retail district)들을 연결하는 보다 큰 무선 인프라스트럭처이다. 2004년 5월, 무선 서비스의 제공자인 AncorFree는 캘리포니아의 다운타운 Palo Alto를 미국에서 첫 번째 Wi-Fi 핫 존중에서 하나로 바꿈으로써 도시 전체를 포함하기 위해 핫 존을 확장했다. Palo Alto의 주민들과 방문자들은 다운타운 Palo Alto의 어느 곳에서든 (실내 및 실외 모두) 인터넷에 액세스할 수 있다. 틀림없이, 소비자들은 서로 접속된 라이프 스타일을 추구하는 그들의 무선 장치에 대해 더욱 "더 많은 일을 하는(on-the-go)" 능력을 요구하고, 또 받게 될 것이다. 핫스팟 및 핫존은 이동 장치 시장의 요구를 충족하고 있다. 여전히, 핫스팟 및 심지어 더 넓은 핫존까지도 무선 커넥티비티 만을 제공하는 것으로 한정된다. 단지 인터넷 액세스만이 아닌, 이동 장치의 사용자에 대한 광범위한 영역의 서비스를 제공할 수 있는 환경에 대한 필요성이 남아있다.
상기 기술한 이러 저러한 이유들에 대해, 종래 기술의 결점을 극복하기 위한 더 포괄적인 이동 장치 아키텍처가 필요하다.
요약하면, 본 발명의 바람직한 실시예에 따라, 적어도 하나의 이동 컴퓨팅 장치와 적어도 하나의 고정 컴퓨팅 장치 간의 공생관계를 확립하기 위한 방법은, 적어도 하나의 이동 컴퓨팅 장치 및 고정 컴퓨팅 장치가 위치한 영역에 할당되는 컴퓨팅 엔티티와 적어도 하나의 네트워킹 프로토콜을 사용하여 상호작용하는 단계; 컴퓨팅 엔티티로부터 소프트웨어 모듈을 수신하고, 각 소프트웨어 모듈은 적어도 하나의 이동 컴퓨팅 장치와 적어도 하나의 고정 컴퓨팅 장치 간의 공생관계를 확립하기 위해 적어도 하나의 이동 컴퓨팅 장치에 대해 맞춤조정되는 것인, 소프트웨어 모듈을 수신하는 단계; 적어도 하나의 고정 컴퓨팅 장치와 상호작용하기 위한 소프트웨어 모듈 및 적어도 하나의 이동 컴퓨팅 장치에 의해 선택된 임무를 수행할 수 있게 하는 공생관계를 확립하기 위한 컴퓨팅 엔티티를 구동하는 단계를 포함한다. 지정된 위치에 들어가는 적어도 하나의 이동 컴퓨팅 장치; 이동 장치 사용자의 행동; 이동 장치 사용자의 미리 선택된 기호; 및 타임 이벤트로 구성된 그룹으로부터 선택된 트리거를 수신하면 단계들은 자동적으로 실행될 수 있다.
본 발명의 실시예에 따라, 환경적 서비스 브로커는 복수의 이동 장치에 컴퓨팅 서비스를 제공한다. 그 환경적 서비스 브로커는, 프로그램 코드를 저장하기 위 한 메모리; 저장된 프로그램 코드에 따른 명령어를 수행하기 위해 메모리에 동작적으로 접속되는 프로세서를 포함하고, 그 프로그램 코드는, 프로세서에 의해 실행될 때, 프로세서가 컴퓨팅 서비스 각각을 등록하고, 이동 장치들로부터의 질의를 처리하며, 이동 장치와 컴퓨팅 서비스 사이의 세션을 셋업하고 해제할 수 있도록 한다. 프로세서는 또한 복수의 이동 장치와 컴퓨팅 서비스들 간의 작업부하를 관리하고 승인되지 않은 사용자가 컴퓨팅 서비스에 액세스하는 것을 제한하도록 컴퓨팅 서비스에 대한 액세스를 제어한다. 환경적 서비스 브로커는 입/출력 제어를 이동 장치로부터 컴퓨팅 서비스에 매핑하기 위한 입/출력 서브시스템도 포함한다.
또한 본 발명의 실시예에 따라, 장치 상주 에이전트(device resident agent)는 사용자에게 서비스 구역에 대한 정보를 제공하기 위한 인터페이스를 포함한다. 서비스 구역은 동일한 위치(geophysical location)에 저장된 복수의 컴퓨터-기반의 서비스들을 포함한다. 사용자에게 제공되는 정보는, 이동 장치에 관한 서비스 구역의 위치 정보, 이동 장치 영역 내에 위치한 서비스 구역에서 이용 가능한 서비스에 대한 정보, 제공되는 서비스 지속기간, 및 적용될 수 있는 경우 제공되는 서비스에 대한 비용을 포함한다.
복수의 이동 장치에 컴퓨팅 서비스를 제공하기 위한 방법은, 이동 장치가 컴퓨팅 서비스를 제공하는 엔티티의 영역 내에 있다는 지시를 수신하는 단계 또는 행위; 이동 장치로부터 질의를 수신하는 단계 또는 행위; 이동 장치가 엔티티에 의해 제공되는 컴퓨팅 서비스를 이용하도록 하는 세션을 셋업하고, 그 이동 장치와 컴퓨팅 서비스는 세션의 참여자이며, 세션은 세션의 참여자들 사이의 관계를 가리키는 연관(association)을 포함하는 것인, 세션을 셋업하는 단계 또는 행위, 및 세션을 관리하는 단계 또는 행위를 포함한다.
이동 장치와 환경적 서비스 간의 공생관계의 생성 및 관리를 용이하게 하는 시스템이 개시된다.
우리는 하나 또는 그 이상의 이동 장치와 하나 또는 그 이상의 환경적 서비스(즉, 환경적 장치에 의해 제공되는 서비스) 간의 공생관계(symbiotic relationship)의 생성 및 관리를 용이하게 하기 위한 시스템을 설명한다. 이런 환경적 서비스들은, 고해상도 디스플레이 서비스, 컴퓨터 오프로드(offload) 서비스, 운송 스케줄 서비스, 제품 리뷰 서비스, 및 이외의 더 많은 것들을 포함한다. 이동 컴퓨터와 환경적 컴퓨팅 장치 사이의 공생관계를 확립함으로써, 사용자는 더 큰 디스플레이 사이즈, 컴퓨팅 전력과 에너지와 같은 풍부한 리소스에 대한 액세스, 및 더 빠른 네트워크 통신과 같은 비-이동 환경적 장치의 능력의 풍부한 세트의 이점뿐만 아니라 휴대성, 단독소유, 및 프라이버시와 같은 이동 컴퓨팅 장치의 이점들을 받는다.
비슷한 기술 수준에서 이와 같은 공생관계를 확립하는 것은, 다양한 설정에 대해 상이한 요구를 하는 많은 상이한 사용자들에 요청될 때, 유비쿼터스 컴퓨팅 또는 유비컴(ubicomp)으로도 알려진 보급형 컴퓨팅(pervasive computing) 분야의 지속되는 연구에 의해 해결되는 어려운 도전이다. 보급형 컴퓨팅은 기존의 인간 시 스템(human system)에 컴퓨팅을 내장시킴으로써 정보 및 통신 기술을 어디서나, 누구든지, 언제나 이용 가능하게 하는 다음 세대의 컴퓨팅 환경이다. 한 예로서, IBM은 무선 기술과 조합되어 사용자가 언제 어디서든지 개인 콘텐트에 액세스하도록 허용하는, "Blue Boards"라 불리는 분산된 디스플레이 표면(distributed display surface)들을 연구하고 있다.
도 2를참조하면, 본 발명의 실시예에 따라, 환경 서비스 브로커(Environment Services Broker)들을 포함하는 유비쿼터스 컴퓨팅 환경(200)이 도시되어 있다. 도 2의 이 시스템(200)은 도시 지역 통신망(MAN; Metropolitan Area Network)(225) 및 3개의 멀리 떨어져 있는 환경적 서비스 브로커(Environmental Services Broker)(220)들을 포함하는 호스팅 센터(240)를 포함한다. 각자의 환경적 서비스 브로커를 갖는 2개의 서비스 구역(260 및 280)이 도시되어 있다. 서비스 구역은 몇몇의 환경적 서비스들이 이동 장치에 의해 이용될 수 있는 물리적 공공 장소이다. 이와 같은 장소들의 예는, 회의실, 기차/버스 또는 다른 이동 수단, 쇼핑몰, 버스 정거장, 공항 섹션 등이 될 수 있다. 일반적으로 서비스 구역은 적어도 하루의 상당 부분 동안 이동 장치의 사용자들의 고밀도를 경험하는 공공 장소에 위치한다. MAN(225) 및 호스팅 센터(240)는 인터넷(230)에 접속된다.
환경적 서비스 브로커( Environmental Services Broker ). 도 2의 환경의 중앙 부분이 환경적 서비스 브로커(220)이다. 환경적 서비스 브로커(ESB; Environmental Services Brokers)(220)는 특정 구역에서 이용 가능한 다른 환경적 서비스들을 인식하고 이 서비스들의 사용을 관리하여, 그 구역을 방문하는 (구역의 영역 내에 있 는) 이동 장치들에 환경적 서비스들이 이용 가능하도록 만드는 특별한 종류의 환경적 서비스이다. ESB(220)는 자신의 서비스 구역에 맞춤 제작되어, 구역의 위치를 고려하는 서비스 및 구역 내 장치 구성을 제공하도록 구성된다. 이와 같은 맞춤 제작된 서비스들은 구역의 장치 능력들로 특징되는 미디어 변환코딩(transcoding) 서비스들을 포함할 수 있다.
ESB(220)는 위치-인식 애플리케이션의 사용을 통해 다른 환경적 서비스들을 인식할 수 있다. ESB(220)는 몇몇의 요청된 환경적 서비스들을 수행할 수도 있다. ESB(220)는 본질적으로 서비스 구역을 통과하는 이동 장치들에 서비스 모음을 제공하는 기계이다. ESB는 하나 또는 그 이상의 이동 장치와 하나 또는 그 이상의 환경적 서비스들 간의 공생관계를 용이하게 생성 및 관리하고 구역 내에 배치되는 다른 서비스들을 관리하는데도 도움을 준다. 서비스 관리는, 구역을 통과하는 이동 장치들을 인증하는 단계, 그 중 몇몇은 이동 장치들에 의해 제공되는 것인 구역 내 이용 가능한 서비스들의 등록부를 유지하는 단계, 이런 서비스들에 대한 액세스를 제어 및 미터링(metering)하는 단계를 포함한다. 각각의 서비스 구역은 ESB에 의해 관리되고 ESB는 구역(260 및 280)과 같은 구역에 스스로 상주하거나 호스팅 센터(240)와 같은 멀리 떨어진 호스팅 센터에 있을 수 있다. ESB는 다수의 서비스 구역들을 맡을 수도 있다. 이런 방식으로, ESB의 접근은 모든 추가 서비스 구역에 추가 ESB를 추가하는 것보다 쉽게 확장된다.
또한, ESB는 자신의 서비스들을 다른 프로세서에 위임하는 것이 서비스 구역의 요청을 수용하기 위해 필요한 것이라면, 그렇게 할 수 있다. 주목할 것은, 이런 시나리오의 ESB가 모든 브로커 서비스를 스스로 수행하지는 않더라도, 서비스 구역은 여전히 관리한다는 것이다.
서비스 구역( Service Zone ). 시스템(200)은 2개의 서비스 구역(260 및 280)을 보여준다. 서비스 구역은 몇몇의 환경적 서비스들이 이동 장치에 의해 사용 가능한 물리적 공간이다. 이와 같은 장소들의 예는, 회의실, 버스/기차역, 공항의 섹션, 기차/버스 또는 다른 이동 수단 등이 될 수 있다. 각각의 구역은 몇몇의 환경적 서비스들을 제공할 수 있고, 그 환경 서비스들의 예는 고해상도 디스플레이 서비스, 고속 무선 네트워크 커넥티비티(connectivity) 서비스, 및 컴퓨테이션 오프로드 서비스를 포함한다. 서비스 구역(260 및 280)은 네트워크 인터페이스, 고속 무선 커넥티비티 및 EID(Everywhere Interactive Display)를 갖는 컴퓨팅 파워를 포함한다. EID는 움직임-감지 웹 캠이 장착된 조종가능한 프로젝터이다. 이들은 서비스 구역에 제공되는 서비스의 몇몇 예이다. 도 2에 도시되어 있는 PDA 와 셀룰러폰과 같은 이동 장치들은 Wi-Fi 또는 블루투스와 같은 무선 접속을 통해 서비스 구역(260 및 280)의 컴퓨팅 파워에 액세스할 수 있다. 서비스 구역들은 환경적 장치들이 장착된 어느 지역에서도 구현될 수 있고 많은 상호 접속 기술과 서비스 타입들을 갖는 다양한 장치들을 수용하도록 구성된다. 서비스 구역은 하나 또는 두 개의 환경적 장치들을 갖는 버스 정류장과 같은 작은 서비스 구역부터 수백 개의 장치들을 갖는 주요 기차역과 같은 큰 구역까지 확장 축소할 수 있다.
인프라스트럭처( Infrastructure ). 환경(200)의 네트워킹 인프라스트럭처는 기존의 상호접속 기술을 수용하고 새로운 기술들을 수용하도록 설계된다. 이와 같 이, 인프라스트럭처는 확장 축소가 가능하다. 서비스 구역의 백본은 스위칭된 100/1000Mbps 이더넷을 사용하여 구현되는 IP LAN인 것이 바람직하다. WiFi, 블루투스, 및 IrDA(Infrared Data Association)와 같은 이용 가능한 무선 통신 기술에 대한 액세스 포인트는 LAN에 접속된다. 모든 이러한 액세스 포인트들은 브릿징 모드로 구성된다. 결과적으로, 블루투스-접속된 고객들은 WiFi, IrDA, 또는 유선 이더넷-접속된 이동 또는 환경적 장치들, 또는 상이한 피코넷(piconet)(블루투스 기술을 사용하여 애드 혹 방식으로 접속된 장치의 네트워크) 상의 블루투스-접속된 장치들과 고르게 통신할 수 있다. 이는 상이한 접속 기술들을 가진 이동 장치들 간의 정보 처리 상호 운용(interoperability)을 보장하기 위한 확고한 해결책을 제공하기 위해 재고 상품들(off-the shelf products)을 사용하는 한 예이다.
아키텍처(200)의 설계는 네트워킹 기술, 하드웨어 플랫폼, 운영시스템, 런타임 프레임워크, 및 초기 구현을 위해 사용되는 프로그래밍 언어들에 독립적이려는 모든 시도를 만든다. 그러나, 웹 서비스 인터페이스 및 메시지를 포함하는 XML(eXtensible Markup Language) 문서의 주어진 자기-기술 특성과 웹 서비스 기술의 늘어난 인기를 고려할 때, 현재는 상호-장치 통신에 대한 웹 서비스 및 아키텍처(200)의 기술형 장치 능력들 및 다른 구성 요소들에 대한 다른 열려있는 XML-기반의 표준들을 이용하는 것이 바람직하다.
사용자들은 또한 충분한 보안 및 프라이버시 보장을 제공받아야 한다. 충분한 안전은 사용자의 이동 장치와 환경적 서비스들 사이에 교환되는 정보가 다양한 종류의 공격들로부터 보호받는다는 것을 보장하는 것이어야 한다. 사용자에게 그들 이 이동 장치로부터 수신하는 정보의 비밀성을 환경적 서비스들이 보호할 것이라는 것을 사용자에게 입증하기 위한 방법이 있어야 하고, 또한 이동 장치의 사용자들의 명시적 참여없이 이런 입증을 명백하게 증명하기 위한 방법도 있어야 한다. SSL과 같은 잘 테스트된 암호법 기술은 공격으로부터 고객과 브로커 간의 통신을 보호하기 위해 사용된다. 이동 장치의 고객 에이전트는 표준 계정/비밀번호 기술을 사용하여, 또는 직접적으로 고객 인증으로 구성된 SSL 접속을 사용함으로써 브로커에게 장치를 자동적으로 인증할 수 있다.
서비스의 이와 같은 넓게-확산된 배치의 전망을 성취하기 위해, 아키텍처는 이와 같은 서비스 구역을 배치하는 것에 대한 엔트리 장벽이 낮다는 것을 보장할 필요가 있다. 이에 더하여, 서비스 구역은 이미 기존에 있던 이동 장치의 넓은 영역에 의해 즉시 액세스될 수 있고 사용될 수 있어야 한다. 또한, 일단 배치되면, 서비스 구역은 관리 및 운영이 쉬워야한다. 더 새로운 장치들이 시장에 도입되고 더 새로운 서비스들이 개발됨에 따라, 이들을 기존의 구역에 대해 롤 아웃 지원하기 쉬워야한다. 이와 같은 롤-아웃들을 관리하는 운용 비용은 최소화되어야 한다. 이러한 목표를 위해, 서비스 구역들은 기존의 서비스 및 새롭게 전개되는 서비스들에 대한 원격 테스팅을 위한 장치 및 사용자가 경험하는 문제들을 자체적으로 모니터링하고 기록하기 위한 장치들이 충분히 장착되어야 한다.
서비스 구역이 공공 장소에 있기 때문에, 서비스 제공자는 동작을 위한 면허를 획득해야하고 지역 규정을 준수해야할 것이다. 컴플라이언스(compliance)는 서비스를 이용하는 개인들의 신원확인이 있는 안전 로그를 유지하는 단계, 성숙한 관 객에만 적합한 콘텐트는 보는 것을 허용하지 않는 것과 같은 예의 범절의 기준을 세우는 것을 보장하는 단계, 차별 없이 구역 서비스를 제공하는 단계, 구역 품질과 사용자 만족도를 서류로 기록하는 단계, 및 지방 정부 기관으로부터 보증된 등급을 획득하는 단계 등을 포함할 수 있다. 이런 엄격한 요청의 모음은 가능한 한 많은 증명된 기술들을 서비스 구역 아키텍처와 그것의 구현에 병합하는 것을 요구한다.
명료성과 명확성을 위해, 도 2는 몇 개의 환경적 장치와 2개의 서비스 구역만을 도시하고 있다. 도시된 환경(200)은 2개보다 많은 서비스 구역들을 지원하기 위해 쉽게 확장될 수 있다.
도 3은 본 발명의 실시예를 따라 유비쿼터스 협업 시스템 아키텍처(300)를 도시하고 있다. 이 예의 ESB(220)는 서버와 같은 단일 장치로서 도시된다. 사실, ESB(220)는 임의의 컴퓨팅 시스템일 수 있고 또는 심지어 컴퓨팅 시스템에 저장된 프로그램 코드일 수 있다. 로컬 프로듀서(Local Producer)(365)는 무선 접속을 가로질러 액세스할 수 있는 지능형 디스플레이 또는 서모스탯(thermostat)과 같은 서비스들을 호스트하는 구역 내의 장치이다. 멀리 떨어진 프로듀서는 쇼핑을 위한 웹 서비스-기반의 인터페이스를 제공하는 amazon.com과 같은 서비스를 제공하는 인터넷 사이트이다. 플러그-인(plug-in)의 큰 모음은 구역과 구역의 사용자들의 요청에 ESB를 맞춤 제작하기 위해 사용된다. 개략적으로, 플러그-인은, 구역의 (고정 또는 이동) 장치의 애플리케이션-레벨 기능 또는 심지어 애플리케이션-레벨 서비스를 제공하는 장치로서 보일 때, ESB(220)의 장치의 애플리케이션-레벨 기능을 강화하는 애플리케이션 플러그-인(340)이든지 효율적인 (안전한, 확장 축소 가능한, 유지가 능한, 비용-효율적인) 방식으로 서로 상호작용하기 위해 ESB(220)와 구역 장치들의 능력을 강화하는 인프라스트럭처 플러그-인(350)이다. 이 시스템(300)은 또한 UPnPTM 고객을 수용하기 위해 UPnPTM(Universal Plug and Play) 게이트웨이(380)를 포함한다. UPnPTM는 표준 TCP/IP 프로코톨을 사용하고 대부분의 운영시스템상에서 지원될 수 있다. UPnPTM는 모든 형태 인자, 지능형 장비, 및 무선 장치들의 PC의 보급형 피어-투-피어 네트워크(peer to peer network) 커넥티비티를 제공한다. 서비스 구역(330)에서 이용 가능한 서비스들 중 몇몇은, 큰 디스플레이(318), PC(316), 휴대형 기기나 시계(314), 스피커나 핸드세트(312), 및 기타 장치(310) 이다. 이 장치들 중 몇몇은 그들을 지역 ESB와 잘 작동하게, 또는 직접적으로 구역의 이동 장치와 잘 작동하게 만들기 위해 주문형(custom) 플러그-인을 필요로 할 수 있다.
도 4는 ESB(220)의 구성요소들을 도시하고 있다. 주목할 것은, 이 구성요소들이 ESB(220)의 상이한 기능들을 설명하기 위해 여기서 정의된 논리적 구조물이라는 것이다. ESB(220) 서비스의 모든 상이한 면들은 네트워크 접속되고 효율적인 방식으로 이런 동작들을 수행하기 위해 충분한 컴퓨팅 리소스들을 갖는 임의의 컴퓨팅 장치상에서 설치될 수 있다. ESB(220) 서비스는 관리될 구역에 적당한 장치들에 내장될 수 있다. 예를 들어, 구역이 사용자의 집이라면, 브로커 서비스는 셋톱박스 상에서 구동될 수 있고 집에 있는 다양한 큰 스크린 디스플레이, 개인용 컴퓨터 등과 같은 것에 의해 제공되는 서비스들을 관리할 수 있다. 무선 액세스 포인트는 또한 브로커 서비스가 내장될 수 있는 적합한 장치이다. 프로젝터 또는 고해상도 디 스플레이와 같은, 서비스를 제공하는 임의의 장치는 근처에 있는 다른 장치들이 그들 스스로를 장치에 등록할 수 있도록 브로커 서비스들을 호스트할 수 있다.
입/ 출력자 관리자(405): ESB(220)의 구성요소는 이동 장치(415)와 환경적 장치들에 호스팅된 환경적 서비스(425)와의 상호작용을 조종한다. ESB(220)로의 모든 입력과 ESB(220)로부터의 모든 출력은 I/O 관리자(405)에 의해 조종된다. 서비스들의 발견과 사용은 직관적으로 이해가능해야 하고 높은 기술 숙련도를 갖지 않은 사용자에게도 용이하게 명백해야 하며, 또한 사용자가 단지 구역을 가로지를 수 있으므로 빨라야한다. 많은 시나리오에서, 이동 장치는 사용자의 중재 없이 환경적 장치들과 상호작용할 수 있다. 이동 장치는 사용자의 처리가 요구되거나 필요하다고 결정된 후에만 사용자의 처리를 받으려고 시도할 것이다. 아키텍처 및 아키텍처의 구현은 정황상 인식되고, 따라서 그들이 사용자에게 부과하는 인지 로드(cognitive load)의 레벨을 인식해야만 한다. 사용자가 환경적 서비스뿐만 아니라 그들의 이동 장치에 그들의 의도를 표현하기 쉬워야 한다. 필요치 않게 사용자 처리를 구하는 장치 때문에 발생하는 사용자의 곤란함은 최소화되어야 한다. 구역 내에서, 이동 장치는 그날의 시간, 그 주의 요일, 여행의 목적과 같은 이용 가능한 서비스의 사용자 프로파일 및 상황에 기초하고, 구역에 그 밖에 누가 더 있는지-예, 친구, 가족 등과 같은-에 기초하여 사용자 처리를 청해야한다. 이동장치 사용자가 특정 셀라돈(Celadon) 서비스의 사용을 그들의 매일의 일상으로 통합하면서, 이동장치 사용자는 이런 서비스들이 (구역 내에서) 매우 이용 가능할 수 있을 것으로 예상하고 예측가능한 응답 시간을 보여줄 것이다. 사용자가 전형적으로 매우 이용 가능한 셀 룰러 서비스와 연관되는 선호된 이동 장치로서의 셀룰러폰을 사용함으로써 이런 기대가 힘을 받을 것이다.
등록 및 질의 관리자( Registration and Query Manager )(410): ESB(220)는 상이한 환경적 서비스들(425)이 스스로 ESB(220)에 등록하는, 중앙 집중식 등록 서비스를 제공하여 이동 장치(415)가 이런 서비스들에 대해 질의하고 학습할 수 있도록 한다. 환경적 서비스(425)는 서비스 구역에서 이용 가능하게 될 때, 우선 스스로 ESB(220)에 등록해야 한다. 환경적 서비스(425)는 자신의 주소, 능력들, 및 기능에 대한 정보를 제공해야 한다. 이와 유사하게, 구역을 통과하는 이동 장치는 등록 및 질의 관리자(410)를 사용하여 그들이 호스팅하는 서비스를 지역 ESB에 등록할 수 있다. 이동 장치는 브로커에게 멀티캐스트와 같은 복합 프로토콜의 필요성을 없애는 이런 서비스들을 발견했는지를 질의할 수 있다. 스스로 ESB(220)를 발견하는 것은, 이동 장치만이 지역 커넥티비티를 갖는 경우 IP 주소 할당에 피키백(piggyback)된다. 이동 장치가 구역-지역 DHCP 서버로부터 지역 IP 주소를 받을 때, 우리는 ESB(220)에 대한 DNS 룩업을 수행함으로써 이동 장치가 할당된 도메인 이름에서 ESB(220)의 위치를 찾을 수 있게 하는 명명 규칙(naming convention)을 사용한다. 이동 장치가 지역 서비스 구역 밖의 DHCP 서버에 의해 할당된 IP 주소를 갖는 경우, 이동 장치는 당해 구역을 관리하는 ESB(220)의 이름에 대한 DNS 룩업을 사용하여 ESB(220)를 찾는다. 예를 들어, 이동 장치(415)가 서비스 구역으로 들어갈 때, 이동 장치(415)는 우선 ESB(220)를 발견하고 구역에 존재하는 다른 서비스들을 발견하고 또한 이동 장치(415)가 사용하기에 현재 자유로운 것 및 가능한 것 을 발견하기 위해 ESB와 통신한다. 이동 장치(415)는, 구역에 할당되고 LAN을 걸쳐 ESB(220)에 접속되는 적어도 하나의 무선 액세스 포인트로부터, 또는 ESB(220)가 액세스 포인트 장치에서 구현된다면 직접적으로 ESB(220)로부터 무선 주파수(RF) 신호를 수신하도록 장치되기 때문에 ESB(220)를 "발견"할 수 있다. 이동 장치(415)는, 서비스 구역 영역 내에 있을 때 서비스 구역에 특징되는 RF 신호를 획득할 것이다. 이동 장치(415)의 사용자는 LED(light-emitting diode), 주기적 신호음(beep) 또는 기타 신호에 의해 RF 신호를 인식하게 될 것이다. 사용자가 이런 서비스 구역 내에서 현재 제공되는 서비스에 대한 정보를 수신하기 원한다면, 사용자는 신호 수신에 대해 확인 응답할 것이다. 도 7을 참조하면, IrDA 표준을 사용하고 ESB(220)로부터의 통신을 표시하는 능동형 LED(715)를 가진 도 3의 PDA(314)가 도시된다. 디스플레이 스크린(720)은 이용 가능한 서비스를 문자로 표시한다. 문자로 표시하는 것 외에도, 디스플레이는 상이한 서비스들에 대응하는 고유의 아이콘을 나타낼 수 있다. 예를 들어, 프린터 아이콘은 프린터 또는 프린트 종이와 유사할 것이다.
PDA(314)는 이용 가능한 서비스에 대한 정보를 수신하기 위한 센서 및 작동 장치로 설비될 수도 있다. 일단 신호가 이동 장치(415)에 의해 수신확인응답 되면, ESB(220)는 서비스에 대한 정보를 전송한다. 도 9는 풍부한 고객 프랫폼(Rich Client Platform)을 지원하는 내장된 에이전트를 갖는 이동 장치(900)를 단순화시킨 도면이다. 이동 장치(900)는 사용자 인터페이스를 위해 사용되는 eRCP(embedded Rich Client Platform) 번들을 포함한다. 이 eRCP 번들은 내장된 에이전트로서 행 동하여, 이동 장치(900)와 ESB(220) 간의 통신을 조정한다. 센서(915) 및 작동장치(935)는 장치(900)와 ESB(220) 간의 통신을 용이하게 한다.
세션 관리자( Session Manager )(420): 이동 장치(415)의 사용자가 자신에게 가치있는 구역의 서비스들이 있다는 것을 발견할 때, 그리고 이 서비스들(425)이 도 7에 도시된 바와 같이 현재 이용가능하다는 것을 발견할 때, 사용자는 장치(415)가 이런 서비스들(425)을 사용할 수 있게 하도록 ESB(220)에 요청할 수 있다. 그 다음 ESB(220)는 서비스들(425)이 이동 장치(415)를 요청하기 위해 예약되는 경우에 세션을 셋업한다. 이동 장치(415)가 서비스(425)를 방출할 때까지, 서비스는 다른 사용자에게 이용 가능하지 않을 것이다. ESB(220)는 또한 이동 장치(415)가 생성되었던 세션으로부터 서비스들(425)을 제거하도록 한다. 세션 관리는 또한 (예를 들어, 세션의 이동 장치(415)가 구역을 떠날 때) 세션을 해제하도록 요구되는 동작을 포함한다.
서비스 구역에서, 이용 가능한 서비스는 다중의 이동 장치들에 의해 사용될 수 있다. 단순한 시나리오에서, 각각의 이동 장치는 다른 이동 장치들에 독립적인 하나 또는 그 이상의 서비스들을 사용한다. 좀 더 복잡한 시나리오에서, 협업하여 작업하기를 원하는 복수의 사용자들이 있을 수 있어, 그들 자신의 다비아스 중에서 환경적 서비스들을 공유하고, 그들의 환경적 서비스들뿐만 아니라 이동 장치 사이에서 데이터 및 제어를 교환한다. 이동 장치(415)의 소유자는 세션의 다른 사용자들의 이동 장치들을 포함하기를 원할 수 있다. ESB(220)는 이것 또한 용이하게 한다. 이동 장치에 의해 요구될 때, ESB(220)는 구역 서비스들의 요청된 하위 서비스 들이 요청 이동 장치를 위해 예약되는 경우 세션을 셋업한다. 이런 서비스들은 세션의 일부인 장치들에 의해서만 사용가능하다. ESB(220)는 또한 이동 장치의 사용자가 생성되었던 세션들로부터 서비스들을 추가 또는 제거할 수 있도록 한다.
또한, 이동장치 사용자가 시작하길 원하는 세션을 시작한다면, ESB(220)는 세션의 다른 사용자들의 이동 장치를 포함하는 것도 용이하게 할 수 있다. 이런 방법으로, ESB(220)는 구역의 하나 또는 그 이상의 서비스들을 사용하는 단일 이동 장치가 있는 단순 사용 시나리오, 및 정보를 공유하기 위해 다중의 사용자들이 구역에 함께 있는 경우의 좀 더 복잡한 시나리오 양자 모두를 지원할 수 있다. 후자의 경우, 이동 장치들 중 하나는 세션을 생성하고 그 다음 다른 이동 장치들이 그 세션에 합류하는 것을 허용한다. 능동 세션들은 ESB(220)에 의해 구역 내의 임의의 이동 장치(415)에 투명하게 만들어진다. 세션에 합류하기 위해, 이동 장치(415)의 사용자는 동일한 지역의 다른 이동 장치 사용자와의 구두 통신과 같은 오프-채널 정보에 기초하여 세션을 선택할 수 있다. 장치들은 일단 세션에 들어가면, 그 세션을 위해 예약된 모든 서비스들에 대한 액세스를 갖는다. 이런 서비스들의 사용에 대한 실제 조정은 다음과 같은 연관 방법에 의해 관리된다.
ESB(220)는, 세션을 셋업 및 해제, 그리고 상이한 세션들의 장치들이 서로에 간섭하는 것을 방지하는 것을 보장하도록 요구된 동작을 제공하는 세션 관리 서비스를 제공한다. 또한, ESB는 세션 소유권을 유지하고, 이는 세션의 소유자가 한 장치로부터 다른 장치로 이동하는 것을 중재하는 것을 포함한다. 세션 해제는, 이동 장치의 소유자가 이동 장치가 소유한 세션을 제거하도록 결정할 때, 또는 세션의 이동 장치가 구역을 나가는 때에 명시적으로 개시될 수 있다.
연관 관리자( association manager )(430): 특정 세션 내에서, 하나 또는 그 이상의 이동 장치들(415)은 그 세션을 위해 예약된 서비스들(425)을 위한 고객으로서 행동할 수 있다. 몇몇의 서비스들(425)이 하나보다 많은 고객에 의해 동시에 사용가능할 수 있는 상태인 동안, EID와 같은 디스플레이 서비스들의 사용처럼 몇몇 서비스들(425)은 한 번에 한 고객만을 지원할 수 있다. ESB(220)은 이와 같은 단일-사용 서비스와 그 서비스의 고객 사이의 관계도 관리한다. 이와 같은 관계의 관리를 연관 관리라 부른다. 연관이란 서비스와 서비스를 사용하기 위해 인증된 고객 사이의 관계를 의미한다. 연관은 당신이 한 번에 한 방향으로만 메시지를 전송할 수 있는 파이프라인과 유사하다. 한 세션 내에 몇 개의 연관들이 있을 수 있다. 연관은 동일한 세션 내에서 여러번 생성되고 종결될 수 있다. ESB(220)는 연관들을 관리하여, 구역의 장치들이 서로 간섭하지 않고 함께 작동할 수 있다는 것을 보장한다. 특정 서비스가 한 번에 한 고객만을 지원할 수 있다면, ESB(220)는 새로운 연관을 생성하기 전에 현재의 연관이 제거되는 것을 보장한다. 연관 관리의 일부로서, 인증되지 않은 고객이 허락되지 않은 서비스에 액세스하는 것을 방지하는 것을 보장하기 위해, 서비스 제공자와 서비스 소비자에 대한 액세스 제어 토큰(access control token)을 생성 및 분배한다. 액세스 토큰은 대응 연관이 제거될때 배치된다.
트랜스코더 ( Transcoder )(440): ESB(220)는, 필요하다면, 이동 장치(415)로부터 서비스(425)로의 데이터 구문 변환 수행을 돕기 위해 종래 기술의 트랜스코딩 서비스도 제공한다. 이것은 이동 장치(415)가 환경적 서비스들(425)에 의해 수용된 포맷과는 상이한 포맷을 사용할 때 필요하다. 예를 들어, 환경적 디스플레이 서비스(425)는 Adobeⓡ PDF 및 포스트스크립트 포맷만을 디스플레이할 수 있지만, 이동 장치(415)는 마이크로소프트 워드로 서류를 디스플레이할 필요도 있다. ESB(220)에 의해 제공되는 트랜스코딩 서비스는, 사용자의 워드 문서를 PDF 또는 포스트스크립트 포맷으로 변환하게 되며, 이에 따라 디스플레이 서비스가 PDF 또는 포스트스크립트 포맷으로 변환된 문서를 사용자에게 디스플레이할 수 있다. 서비스 제공자들은 그들 자신의 트랜스코딩 서비스를 추가할 수 있고, 언어 번역, 또는 사이즈 및 해상도 줄임, 색심도(color depth) 전환 등과 같은 서류 포맷 전환을 포함할 수 있고 그 서류들을 서비스 구역에서 이용 가능하도록 만들 수 있다.
미터링 로깅 매니저( Metering and Logging Manager )(450): 몇몇의 환경적 서비스들(425)은 사용자가 돈을 지불해야 이용 가능하도록 만들어지고, 이동 장치(415)의 소유자는 이런 환경적 서비스들(425)을 사용하기 위해서 특정 사용료를 지불한다. 특정 세션 내에서, 하나 또는 그 이상의 이동 장치들은 그 세션을 위해 예약된 서비스의 고객처럼 행동할 것이다. ESB(220)는 세션 및 연관의 셋업 및 해제를 관리하기 때문에, 이동 장치의 소유자가 이런 서비스들(425)의 사용에 대한 비용을 지불할 수 있도록 서비스의 사용을 로깅하고 그들의 사용을 추적한다. 몇몇 환경적 서비스들은 사용 기준 지불(pay-per-use)로 이용 가능하도록 만들어진다. 서비스 제공자는 사용자가 서비스 기준 지불(pay-per-service) 장치들을 사용할 수 있게 허용하기 위해 기존의 지불 메커니즘을 사용할 수 있다. ESB(220)는 또한 새 로운 능력들, 특히 이동 장치들의 새로운 기능들의 업그레이드 및 설치를 담당한다. ESB(220)가 이런 임무들을 수행하므로 이동 사용자는 따로 수행할 필요는 없다.
액세스 제어 관리자( Access Control Manager )(460): ESB(220)는 또한 환경적 서비스들(425)과 연관된 이용 가능한 모든 서비스들을 나타내는 액세스 허가를 관리한다. 이는 구역에서 환경적 서비스들(425)이 ESB(220)의 외부에 있는 것으로 도 4에서 도시되어 있지만, 특정 구역에서, 이 서비스들 중 몇몇은 ESB 플러그-인으로서 구현된다; 주목할 것은, 구역을 통과하는 이동 서비스들이 서비스들을 호스트하고 그들이 호스트한 서비스들을 등록할 수 있기 때문에 환경적 서비스들의 모음은 동적이다. 액세스 제어 관리자(460)는 구역에 들어오는 새로운 장치를 인증하고, 만약 있다면, 새로운 장치들이 사용이 허용되는 환경적 서비스들(425)의 하위 세트를 식별한다.
동적 코드 준비 관리자( Dynamic Code Provisioning Manager )(470): 많은 경우, 이동 장치들(415)은 특정 서비스 구역에서 이용 가능한 서비스들을 사용하도록 설치되는 적절한 코드를 갖지 않을 수 있다. ESB(220)는 또한 자신의 활동 영역하에 있는 서비스들(425)에 대해 요청된 고객 코드를 유지하고 이동 장치들(415)이 이용 가능한 서비스들(425)을 사용할 수 있도록 그 고객 코드를 다운로드하고 구동하도록 한다. 상이한 이동 장치들(415)은 상이한 코드 수행 환경(즉, 코드 컨테이너)을 지원할 수 있고 ESB(220)는 이와 같은 컨테이너 각각에 대한 고객 코드의 사본들을 보유하며 이동 장치(415)에 지원되는 코드 컨테이너에 적당한 고객 코드의 적절한 버전을 동적으로 식별하고 공급한다. 동적 코드 준비 측면은 OSGi(보편적인 미들웨어) 또는 다른 유사한 소프트웨어 라이프사이클 관리 툴이 사용하는 코드 준비와 비교하여 훨씬 더 미세한 입자성(granularity)으로 동작한다. 서비스 구역 아키텍처에서, 구역에 들어가는 이동 장치는 구역 내의 서비스들과 상호작용하기 위해 요청되는 코드 없이도 구역에 들어갈 수 있다. 요청 코드는 이동 장치의 요구시 다운로드된다; 이동 장치가 구역 밖으로 나가고, 다운로드된 코드가 더이상 관련이 없을 때, 그 요청 코드는 이동 장치로부터 삭제될 수 있다. 아키텍처의 이런 측면은 서비스 구역 내의 서비스들을 사용하기 위해 사전 설치 또는 사전 구성의 최소 레벨을 요구하는 이동 장치의 배치를 가능하게 한다. 이동 장치가 필요로 하는 모든 것은, 코드가 다운로도될 수 있고 실행될 수 있는 환경이다. 장치들은, 구역에 들어갈 때 그 장치가 지원하는 코드 컨테이너의 타입을 브로커가 결정하도록 돕기 위해 ESB(220)를 갖는 다이얼로그에 들어간다. 그 다음, 브로커(220)는 이동 장치 상의 코드 컨테이너와 정합하는 적절한 코드를 다운로드하도록 장치에게 지시한다. 이동 장치에 다운로드되는 코드가 스크린 해상도 또는 배터리 레벨, 주위 환경의 잡음 레벨, 사용자 선호도 등과 같은 이동 장치의 상황을 적합하게 하기 위해 맞춤 제작될 수 있도록 이동 장치의 상황을 나타내는 추가 파라미터들이 초기 다이얼로그의 일부로서 제공될 수 있다.
이동 장치 및 환경적 서비스들 그리고 ESB(220) 상의 동적 코드 준비에 대해, IBM의 OSGi에 대한 구현인, 서비스 관리 구조(SMF; Service Management Framework)는 바람직한 구조이다. SMF는 이런 장치들의 소프트웨어 구성 요소들의 라이프사이클을 동적으로 관리하기 위한 증명된 솔루션이다. 환경적 장치 및 ESB(220)에 대해, SMF는 관리 비용 감소를 돕는다. 이동 장치에 대해, SMF는 이런 리소스-강요형 플랫폼들의 요구 준비에 대한 상황-인식을 허용한다.
I/O 매핑 ( Mapping )(480): 몇몇의 서비스들은 이동 장치들(415)로부터 그 서비스들에 전송될 수 있는 제어 동작들을 지원할 수 있다. 예를 들어, 고해상도 디스플레이 서비스는 줌 및 팬 동작을 지원할 수 있다. ESB(220)에 의해 지원되는 I/O 매핑 기능은 서비스에 의해 요청되는 적절한 제어 동작을 발생시키기 위해 사용자들이 그들의 이동 장치(415) 상에서 이용 가능한 I/O 제어를 사용하는 방법을 찾도록 돕는다. ESB(22)는 다양한 이동 장치 타입의 설명 및 각각의 장치 타입 상에서 이용 가능한 I/O 타입들의 제어를 유지한다. ESB(220)는 또한 I/O 제어 및 서비스 동작들 간의 매핑의 모음을 유지한다. 사용자가 그의 이동 장치(415)와 함께 특정 서비스를 제어하길 원할 때, ESB(220)는 자신의 매핑 데이터베이스를 검색하고, 사용자의 이동 장치가 적절한 제어 동작들을 발생시킬 수 있는 가능한 방법을 사용자에게 보여주며, 사용자가 매핑들 중 하나를 선택하도록 허용한다. 이와 같이 매핑이 일단 선택되면, 사용자는 그의 장치(415)에 대한 제어를 조작함으로써 적절한 제어 동작들을 발생시킬 수 있다. ESB(220)는, 제어 신호의 조작을 포착할 수 있는 사용자의 이동 장치(415)에 코드를 동적으로 준비하고, 서비스(425)가 이해하는 적절한 제어 동작들에 이런 동작들을 매핑한다.
대기열 ( queue )(490): ESB(220)는 서비스(425)가 이용 가능해질 때를 기다리는 세션을 위한 대기열을 유지한다. ESB(220)는, 요구될 때 이와 같은 단일-사용 서비스와 대응 고객 간의 연관을 셋업하고 현재의 연관이 종료될 때까지 다른 고객들이 기다리도록 다른 고객들로부터의 요청을 대기열에 넣는다. 현재의 연관이 종료될 때, 단일-사용 서비스는 대기열의 다음 고객에게 이용 가능하게 될 것이다.
네트워크 액세스( Network Access )(495): ESB(220)는 전형적으로, 자기에게도 접속된 하나 또는 그 이상의 WiFi 또는 블루투스 액세스 포인트를 갖는 LAN에 접속된다. 이동 장치는 LAN (또는 멀리 떨어진 곳에 위치한 ESB를 위해서는 LAN + MAN)을 통해 ESB(220)와 통신하는 액세스 포인트와 교신한다. ESB(220)에는, 구역을 위한 무선 액세스 포인트로서 수행될 때 이런 상황들을 위한 무선 인터페이스가 장착될 수 있다.
ESB(220) 서비스의 상이한 모든 측면들은 네트워크 접속되는 임의의 컴퓨팅 장치에 설치될 수 있고, 효율적인 방식으로 이런 동작들을 수행하기 위한 충분한 컴퓨팅 리소스들을 갖는다. ESB(220) 서비스는 관리될 구역에 적절한 장치에 내장될 수 있다. 예를 들어, 구역이 사용자의 집에 있다면, ESB(220) 서비스는 셋톱박스에서 구동되고 집에 있는 다양한 큰 스크린 디스플레이들, 집에 있는 개인 컴퓨터에 의해 제공되는 서비스를 관리할 수 있다. 무선 액세스 포인트(WAP)는 또한 ESB(220) 서비스가 내장될 수 있는 적절한 장치일 수도 있다. 본 발명의 실시예에서, ESB(220)는 인터넷 핫스팟에 링크되고 인터넷 핫스팟과 함께 공간을 공유할 수 있어, 현재 이용 가능한 인터넷 핫스팟의 WiFi 능력들과 ESB(220)에 의해 제공되는 서비스의 더 광범위한 영역 사이의 우수한 공생을 제공한다. 사실, 프로젝터 또는 고해상도 디스플레이와 같은 서비스를 제공하는 임의의 장치는, 부근의 다른 장치 들이 ESB(220)에 스스로 등록할 수 있도록 ESB(220)를 호스팅한다. ESB(220)는 자신의 프로그램 및 플러그-인을 위해 사용되는 충분한 기억 장치, 미터링 및 로깅 정보를 저장하기 위해 ESB(220)는 이동 장치에 동적으로 준비하는 코드 등을 구비해야 한다.
도 5를 참조하면, 본 발명의 실시예를 따른 정보 처리 방법을 설명하는 순서도(500)가 도시되어 있다. 이 방법은 이동 장치(415)의 관점으로부터 도시되었다. 그 프로세스는 이동 장치(415)가 서비스 구역 영역에 들어가는 단계(510)에서 시작한다. 일단 이동 장치(415)는 영역 내에 들어가면, ESB(220)에 의해 방출되는 RF 신호를 수신한다. 이동 장치는 항상 그 RF 신호 수신에 대해 확인응답한다. 이것이 이동 장치가 액세스 포인트에 부착되는 방법이다. 하나보다 많은 RF 신호의 교환을 포함하는 프로세스가 진행되는 동안, 프로세스는 이동 장치(415)가 액세스 포인트에 부착되도록 허용할 것인지 여부를 결정한다. 일단 부착되면, 이동 장치는 네트워크 주소에 도달하려고 시도할 수 있고, 이것은 또한 교환될 다중의 RF 신호 및 링크-레벨 메시지를 요청한다. 메시지는 오디오 메시지, 시각적 메시지, 진동, 또는 사용되는 장치를 나타내는 임의의 메시지 타입 형태일 수 있다.
교환 후에만, 이동 장치(415)는 ESB(220)에 자신을 인증한다. 인증이 성공하고, 이동 장치(415)의 사용자가 구역의 이용 가능한 서비스에 액세스하는데 흥미를 갖는다면, 그 순간 ESB(220)는 자신을 장치(415)에 식별한다. 그 다음, 장치(415)는 (장치 인증 단계의 결과에 기초하여) 이용가능하고 액세스 가능한 서비스의 리스트를 요청할 것이다. 전반적으로, 서비스의 리스트가 만약 있다면, 장치(415)에 제공될 때까지 ESB(220)와 이동 장치(415) 사이에는 많은 메시지가 존재한다. 또한 주목할 것은, 이 리스트는 요청시 ESB(220)에 의해서만 제공된다는 것이다.
이동 장치(415)가 단계(520)에서 자신을 인증했다고 가정하면, 이것은 사용자가 이 서비스 구역에서 제공하는 환경적 서비스(425)에 관심이 있다는 것을 가리킨다. ESB(220)는, 일단 사용자로부터 수신 확인응답을 받으면, 현재 이용 가능한 서비스들의 리스트를 전송한다. 그 리스트에는 그 서비스 구역에 등록된 모든 서비스들이 있다.
일단 서비스의 리스트를 수신하면, 사용자는 특정 서비스를 선택함으로써 등록 및 질의 관리자(410)에게 [입/출력 관리자(405)를 통해] 단계(530)에서 질의를 제출한다. 특정 서비스를 선택하는 것은 도 7에 도시된 바와 같은 사용자의 디스플레이(720) 상에 나열된 서비스를 클릭하는 것만큼 단순할 수 있다. ESB(220)는 단계(540)에서 사용자 요청을 처리하기 위해 세션을 시작한다. 또한 단계(540)에서, 장치는 세션이 시작하는 순간 서비스 구역에 들어오고 기존의 세션에 합류할 수 있다. 그 다음, 단계(550)에서, ESB(220)는 요청된 서비스(425)에 대한 연관을 생성하고, 이 단계는 이 서비스에 액세스할 때 사용할 이동 장치에 대한 액세스 토큰의 생성도 포함한다. 그 다음 이 액세스 제어 토큰은, 장치(415)가 서비스(425)를 사용하기 위해 인증되었다는 것을 서비스(425)가 인증할 수 있도록 이동 장치(415) 및 서비스(425)에 제공된다. 이 액세스 토큰을 인증하는 것은 환경적 서비스(425)에 달렸다. 이동 장치가 나타내는 액세스 제어 토큰이 유효하지 않다면, 환경적 서비스(425)는 그 요청을 무시하고 안전 위반에 대해 ESB에게 알려준다. 모든 세션은 소유자를 가져야하고 그 소유자는 액세스 제어 토큰을 갖는 장치이다. 진행중인 세션에 합류하길 원하는 새로운 장치는 세션의 소유자에게 양보해야 하고 그 소유자는 새로운 장치를 위한 연관을 확립할 수 있다. 세션의 소유자가 액세스 제어 토큰을 옮기기 전 세션을 떠난다면, 그 세션은 소유자가 없기 때문에 제거된다. 이런 개념은 처음의 발신자가 중단할 때 전화가 끊기는 전화 회의와 유사하다.
토큰이 수용된다면, 이동 장치(415)는, 결정단계(550)에서 장치가 현재 사용 가능한 것인지 여부를 [입/출력 관리자(405)를 통해] 연관 관리자(430)에게 질의해야만 한다. 장치가 이용가능하지 않다면, 단계(560)에서, 이동 장치(415) 요청은 장치가 이용 가능해질 때까지 대기열에서 대기한다. 일단 장치가 이용가능해지면, 단계(570)에서, 그 요청은 처리되고 이동 장치(415)는 필요한 서비스를 이용한다. 이동 장치(415)가 서비스 또는 동일한 세션에 포함된 장치에 의해 여러번 호스팅되는 구역의 임의의 다른 서비스를 호출할 수 있다. 따라서, 이동 장치(415)가 단계(575)에서 다른 서비스를 호출한다면, 프로세스 단계는 요청된 서비스가 이용 가능한지 여부가 결정되는 단계(560)에 다시 돌아온다.
단계(575)에서 그 세션의 서비스를 호출하는 것이 일단 마무리되면, 이동 장치(415)는 그 세션이 종료된다는 것을 ESB(200)에 알린다. 단계(585)에서, 이동 장치(415)와 서비스(425) 사이의 연관은 제거된다. 떠나는 이동 장치(415)가 그 세션의 소유자라면, 그 다음 단계(585)에서, 세션은 해제되고 프로세스는 종료된다. 대안으로서, 세션의 소유자로서 이동 장치(415)는 서비스 구역에서 단순히 퇴장할 수 있고 이것은 ESB(220)이 그 세션을 해제하도록 자동으로 트리거할 것이다. 구역을 떠난 장치는 세션을 계속 유지하기 위해 세션에 합류하는 장치에 액세스 토큰을 전달하는 것을 택할 수 있다.
이동 장치(415)가 서비스를 호출하는 매 순간 세션이 확립되고 제거되는 것은 아니라는 것을 주목하는 것은 중요하다. 동일한 서비스 또는 동일한 서비스의 모음은 동일한 세션 내에서 여러 번 호출될 수 있다. 새로운 장치와의 상호작용이 필요할 때, 즉, 새로운 장치(들)이 기존의 세션에 추가되거나 이동 장치(415)가 자신의 세션을 제거하고 원하는 장치가 이미 연관된 진행 중인 세션에 합류할 때 세션은 변경된다. 세션은 "넌-오버래핑 장치의 그룹"으로 간주될 수 있다.
도 6을 참조하면, 상기 기술한 프로세스의 순서도가 도시되어 있지만 그 순서도는 ESB(220)의 관점에서 기술된 것이다. ESB(220)가 서비스 구역의 환경적 서비스(425)에 대한 등록 요청을 수신할 때 단계(605)에서 프로세스가 시작한다. 주목할 것은, 환경적 장치(425)가 구역에 설치될 때 등록 요청이 발행되는 경우 환경적 장치(425)에 의해서든지, 또는 이동 장치가 구역에 들어갈 때 등록 요청이 발행되는 경우 이동 장치(415)에 의해서든지 서비스는 호스팅될 수 있다는 것이다. 서비스 등록은 환경적 장치(425)가 유지 또는 업그레이드를 위해 셧다운될 때, 또는 이동 장치(415)가 구역을 떠날 때 서비스 등록은 제거된다. 이때, ESB(220)는 이 서비스(425)를 효과적으로 수용할 수 있는지 또는 이 서비스(425)가 기존의 서비스와 충돌하진 않는지 또는 그것이 이 서비스 구역에서 (규정의 입장에서) 필요하거나 바람직한 것인지 여부를 결정해야 한다. 만약 그렇다면, ESB(220)는 단계(610)에서 그 서비스를 등록한다. 서비스를 등록한다는 것은 서비스의 물리적 위치, 서 비스의 이름, 인터페이스, 능력, 호환성, 제한, 및 사운드니스(soundness)를 포함하는, 서비스로부터의 정보를 수신하는 것을 포함하는 것이다.
상기 서비스가 단계(610)에서 등록된 후, ESB(220)는 등록될 다른 서비스를 기다리거나 자신의 서비스 구역에 들어가려는 이동 장치(415)를 기다린다. 이동 장치(415)는 구역에 들어갈 때 ESB(220)에 접속된 무선 (WiFi, Bluetooth) 액세스 포인트에 의해 지속적으로 방출되는 RF 신호, 또는 ESB(220)가 액세스 포인트 장치 상에서 구현되는 경우 ESB(220) 자신에 의해서 방출되는 RF 신호를 획득한다. 이것은 WiFi 핫스팟에 들어가는 사용자에 의해 획득되는 신호와 유사하다. 장치를 인증한 후, ESB(220)는 단계(615)에서 서비스에 대한 질의를 수신한 다음 단계(620)에서 그 질의의 수신에 대해 확인응답한다. 또한 이때, ESB(220)는 서비스 구역 내에 있는 이동 장치가 이용할 수 있는 서비스들을 이동 장치(415)에 알린다.
그 다음 단계(625)에서, ESB(220)는 세션을 셋업하고 그 후 장치(415)와 서비스(425) 간의 연관을 셋업한다. 세션을 설치하는 단계는 세션 ID를 생성하는 단계, 이동 장치(415)와 서비스를 호스팅하는 장치(425)를 세션에 할당하는 단계, 및 등록부에 새로운 세션을 등록하는 단계를 포함한다. 이동 장치(415)는 새로운 세션의 소유자가 된다. 대안으로서, 앞서 기술한 바와 같이, 장치(415)는 자신이 액세스하길 원하는 서비스 또는 서비스들이 이미 세션에 할당되었다면 기존의 세션에 합류할 수 있다. 이동 장치(415)는 기존의 세션의 소유자만을 허락하는 기존의 세션에 합류할 수 있다. 이와 유사하게, 이동 장치(415)가 기존에 세션에 합류한 후, ESB(220)는 단계(630)에서 이동 장치(415)와 환경적 서비스(425) 간의 연관을 확립 해야할 것이다. 언제라도 세션 소유자는 세션의 소유를 세션의 다른 장치에 넘겨줄 수 있다. 소유자 장치는 구역을 떠나지만 세션이 지속되길 원한다면 이 방법이 필요하다.
단계(630)에서 일단 연관이 만들어지면, 단계(635)에서 서비스(425)는 장치(415)에 의해 공급된 액세스 제어 토큰이 유효하지 않다고 결정하는 경우, 환경적 서비스(425)는 그 요청을 무시하고 ESB(220)는 안전 위반에 대해 통지받는다. 세션이 유효하다면, ESB(220)는 단계(645)에서 이동 장치(415)가 필요로하는 임의의 중재 서비스를 수행한다. ESB(220)는 I/O 매핑이 필요하다고 판정할 수 있다. 만약 필요하다면, 매핑이 수행된다. 서비스가 사용중 및/또는 최대용량에 있다면 장치(415)의 대기행렬의 관리가 필요할 수 있다. 동적 코드 준비가 필요하다면, 그것은 이때 수행된다. 마찬가지로, 변환코딩이 요청된다면, 수행된다. 세션이 지불-서비스 세션이라면, 그 다음 ESB(220)는 미터링 및 로깅 임무를 수행해야 한다. 지불-서비스 재정 계획에 대한 대안은 사용자가 매달 사용료를 지불하는 가입 서비스이다. 다른 대안은 오늘날 이용 가능한 폰 서비스 카드와 유사한 비-계약 지불 카드이다. 사용자는 일정 금액의 카드를 구입하고, 카드로부터의 키 코드를 이동 장치(415)에 입력하면, 카드의 금액이 소진될 때까지 서비스(425)를 사용할 수 있다. 이런 방법들은 ESB(220)에 의해 수행되는 서비스의 몇몇 예일 뿐이며, ESB(220)의 능력의 범위를 제한하는 것으로서 이해되어서는 안된다.
단계(670)에서, ESB(220)는 연관이 종료된다는 통지를 서비스(425)로부터 수신한다. 이것은 이동 장치(415)는 더 이상 환경적 서비스(425)가 필요하지 않다는 것을 가리킨다 그러나, 세션은 여전히 세션의 소유자가 그것을 종료할 때까지 진행된다. 만약 단계(665)에서, 이동 장치(415)가 다른 서비스를 이용하기를 원한다면, 이동 장치는 단계(630)로 되돌아가서 다른 환경적 서비스(425)에 참여하기 위해 다른 연관을 시작할 것이다. 연관이 종료된 후, 프로세스는 다음 요청이 수신될 때까지, 또는 새로운 장치가 기존의 세션에 참여하기 위해 구역에 들어올 때까지 완성된다. 그러나, 세션의 소유자가 그 세션을 제거 및/또는 구역을 떠나기를 원한다면, 그 다음 단계(670)에서, 세션은 새로운 세션이 이용 가능할 수 있게 하기 위해 해제된다.
다른 실시예에서, ESB(220)는 다중 구역을 위한 서비스를 제공하고 이 서비스들은 결집되어 서비스가 발견되는 구역으로부터 물리적으로 멀리 떨어져 있는 백-엔드 네트워크 서버상에서 구동된다. 서비스들을 중개하는 환경적 서비스들(Environmental Services Brokering sevices)을 결집하고 네트워크 서버상에서 그들을 구동하는 것은 쉽게 관리할 수 있고 부하의 균형을 맞출 수 있게 한다.
"상황( Context )은 컴퓨팅 장치(computational device)가 내장되는 물리적 및 사회적 상황을 언급한다. 상황-인식 컴퓨팅의 한 가지 목표는 특정 사람, 장소, 시간, 이벤트 등에 적절한 서비스를 제공하기 위해 장치의 상황에 대한 정보를 획득하고 활용하는 것이다. 예를 들어, 시스템이 셀룰러폰의 위치와 콘서트 스케줄을 알 수 있다면, 셀룰러폰은 콘서트 중에는 항상 진동상태이고 벨소리는 절대 울리지 않을 것이다." IBM 올메이든 리서치 센터의 Thomas P. Moran과 얼바인, 캘리포니아 대학의 Paul Dourish가 Special Issue of Human-Computer Interaction의 2001년 제 16권에 기재한 "상황-인식 컴퓨팅에 대한 특별한 문제에 대한 입문(Introduction to This Special Issue on Context-Aware Computing)"참고하라, 이것은 상기 기술한 것처럼 본 명세서에서 참조에 의해 병합된다. ESB(220)는 참여자에 대한 공공 서비스의 상황-인식 준비를 관리할 수 있다. 참여자의 주변환경에 따르는 서비스를 보조하도록 위치-인식 애플리케이션이 이용될 수 있다.
ESB(220)의 추가 이점과 ESB(220)가 동작하는 인프라스트럭처는 ESB(220)의 확장성(scalability)이다. ESB(220)가 무선 인프라스트럭처 내에서 동작하기 때문에, 더 많은 서비스들을 단순히 추가하거나 또는 심지어 시스템 자신의 ESB(220) 및 서비스 선택을 갖는 다른 LAN을 추가함으로써 전체 시스템이 확장될 수 있다.
도 8을 참조하면, 본 발명의 실시예에 따라 동작하도록 구성된 컴퓨팅 시스템에 대한 하이-레벨 블럭도가 도시되어 있다. 시스템(800)은 몇 개의 마이크로프로세서를 포함할 수 있는 프로세서(810)를 포함한다. 또한 시스템(800)는 메모리(820), USB 인터페이스와 슬롯(830), BIOS(840), 플래쉬 메모리(850), 네트워크 인터페이스(860), 대용량 기억장치(870), 무선 인터페이스(880), 및 CDROM(890)을 포함한다. UPnP(Universal Plug and Play)는 시스템을 동작하는 소프트웨어에 있다.
따라서, 현재 바람직한 실시예로 간주되는 예들을 기술했지만, 본 발명의 사상 내에서 다른 변경들이 이루어질 수 있다는 것을 당업자들은 이해할 것이다.
상기 기술한 설명과 다른 예시로서의 목적, 측면, 및 이점들을 설명하기 위해, 우리는 도면을 참조하여 본 발명의 예시로서의 실시예에 대한 다음과 같은 상세한 설명을 사용한다.
도 1은 종래 기술에 따른 기본적인 이동 장치 시스템의 아키텍처를 단순화한 도면,
도 2는 본 발명의 실시예를 따른, 유비쿼터스 협업 시스템 아키텍처를 도시한 하이 레벨 아키텍처 도면,
도 3은 본 발명의 실시예에 따른, 환경적 서비스 브로커의 하이 레벨의 블럭도.
도 4는 본 발명의 실시예에 따른 환경적 서비스 브로커의 기능을 도시한 하이 레벨의 블럭도,
도 5는 본 발명의 실시예에 따른, 이동 장치의 관점으로부터의 협업 프로세스를 도시한 순서도,
도 6은 본 발명의 실시예에 따른, 환경적 서비스 브로커의 관점으로부터의 협업 프로세스를 도시한 순서도,
도 7은 본 발명의 실시예에 따라 제공된 서비스의 리스트와 함께 도시된 PDA에 대한 도면,
도 8은 본 발명의 실시예에 따라 동작하도록 구성된 정보 처리 시스템의 하이 레벨 블럭도,
도 9는 본 발명의 실시예에 따라, 리치 클라이언트 플랫폼(Rich Client Platform)을 지원하는 내장된 에이전트가 있는 이동 장치를 단순화한 도면이다.

Claims (10)

  1. 구역 내 복수의 이동 장치에 컴퓨팅 서비스들을 제공하기 위한 환경적 서비스 브로커(environmental services broker)에 있어서,
    프로그램 코드를 저장하기 위한 메모리;
    상기 저장된 프로그램 코드에 따른 명령어를 수행하기 위해, 상기 메모리에 동작적으로 접속되는 프로세서로서, 상기 프로그램 코드는, 프로세서에 의해 실행될 때 상기 프로세서가
    상기 컴퓨팅 서비스 각각을 등록;
    상기 이동 장치로부터의 질의를 처리;
    상기 이동 장치와 컴퓨팅 서비스 간의 세션을 셋업 및 해제;
    상기 복수의 이동 장치와 컴퓨팅 서비스들 간의 작업부하(workload)를 관리;
    승인되지 않은 사용자들은 상기 컴퓨팅 서비스에 액세스하는 것이 제한되도록 상기 컴퓨팅 서비스들에 대한 액세스를 제어
    할 수 있게 하는 것인, 프로세서; 및
    상기 이동 장치로부터의 입/출력 제어를 상기 컴퓨팅 서비스에 매핑하기 위한 입/출력 서브시스템
    을 포함하는 환경적 서비스 브로커.
  2. 제1항에 있어서, 상기 프로그램 코드는,
    상기 이동 장치와 상기 컴퓨팅 서비스 간의 세션의 재정 고려를 관리하는 단계;
    상기 이동 장치와 상기 컴퓨팅 서비스 간의 상호작용을 용이하게 할 필요가 있을 때 상기 이동 장치에 대한 소프트웨어를 업그레이드하는 단계; 및
    상기 컴퓨팅 서비스의 수행을 모니터링하는 단계
    를 포함하는 미터링 및 로깅 서비스를 상기 프로세서가 더 제공할 수 있도록 하는 것인, 환경적 서비스 브로커.
  3. 제1항에 있어서, 무선 액세스 포인트와 같은 무선 인터페이스를 더 포함하는 환경적 서비스 브로커.
  4. 제1항에 있어서, 상기 프로그램 코드는 컴퓨터-기반의 서비스의 상황-인식 준비를 상기 이동 장치에 제공하도록 더 구성되는 것인, 환경적 서비스 브로커.
  5. 제1항에 있어서, 상기 서비스는 결집되고 상기 서비스가 발견되는 구역으로부터 물리적으로 멀리 떨어져 있는 백-엔드 네트워크 서버상에서 구동되는 것인, 환경적 서비스 브로커.
  6. 장치 상주 에이전트에 있어서,
    사용자에게 서비스 구역에 대한 정보를 제공하기 위한 인터페이스를 포함하고, 상기 서비스 구역은 동일한 지리적 위치에 저장된 복수의 컴퓨터-기반의 서비스를 포함하고, 상기 사용자에게 제공되는 상기 정보는,
    이동 장치에 관련된 서비스 구역의 위치에 대한 정보;
    상기 이동 장치의 영역 내에 위치한 서비스 구역에서 이용 가능한 컴퓨터-기반의 서비스들에 대한 정보;
    제공되는 컴퓨터-기반의 서비스의 지속기간; 및
    제공되는 컴퓨터-기반의 서비스에 대한 비용
    을 포함하는 것인, 장치 상주 에이전트.
  7. 제6항에 있어서, 내장된 많은 고객 플랫폼 번들을 더 포함하는 장치 상주 에이전트.
  8. 복수의 이동 장치들에 컴퓨팅 서비스를 제공하기 위한 방법에 있어서,
    이동 장치가 컴퓨팅 서비스를 제공하는 엔티티(entity)의 영역 내에 있다는 지시를 수신하는 단계;
    상기 이동 장치로부터 질의를 수신하는 단계;
    상기 이동 장치가 상기 엔티티에 의해 제공되는 컴퓨팅 서비스들을 이용할 수 있게 하기 위해 세션을 셋업하는 단계로서, 상기 이동 장치 및 컴퓨팅 서비스는 상기 세션의 참여자이고, 상기 세션은 상기 세션의 참여자들 사이의 관계를 가리키 는 연관(association)을 포함하는 것인, 상기 세션을 셋업하는 단계; 및
    상기 세션을 관리하는 단계
    를 포함하는 복수의 이동 장치들에 컴퓨팅 서비스를 제공하기 위한 방법.
  9. 적어도 하나의 이동 컴퓨팅 장치와 적어도 하나의 고정 컴퓨팅 장치 간의 공생(symbiotic) 관계를 확립하기 위한 방법에 있어서,
    적어도 하나의 네트워킹 프로토콜을 사용하여 상기 적어도 하나의 이동 컴퓨팅 장치와 상기 적어도 하나의 고정 컴퓨팅 장치가 위치하는 영역에 할당되는 컴퓨팅 엔티티와 상호작용하는 단계;
    상기 컴퓨팅 엔티티로부터 소프트웨어 모듈을 수신하는 단계로서, 상기 적어도 하나의 이동 컴퓨팅 장치와 상기 적어도 하나의 고정 컴퓨팅 장치 간의 공생관계를 확립하기 위해 상기 소프트웨어 모듈 각각은 상기 소프트웨어 모듈을 수신하는 적어도 하나의 이동 컴퓨팅 장치에 대해 맞춤 제작되는 것인, 상기 소프트웨어 모듈을 수신하는 단계;
    상기 적어도 하나의 고정 컴퓨팅 장치와 상호작용하기 위한 상기 소프트웨어 모듈 및 상기 적어도 하나의 이동 컴퓨팅 장치에 의해 선택되는 임무를 수행 가능하게 하는 공생관계를 확립하기 위한 컴퓨팅 엔티티를 구동하는 단계
    를 포함하는 공생관계를 확립하기 위한 방법.
  10. 제9항에 있어서, 상기 구동 단계는, 이동 장치 사용자를 위해 수행되는 임무 의 입/출력 요청 및 동일한 공생관계에 있는 다른 컴퓨팅 장치의 입/출력 능력들에 상기 적어도 하나의 이동 컴퓨팅 장치의 입/출력 능력들을 매핑하는 단계를 포함하도록 상기 소프트웨어 모듈을 구동하는 단계를 더 포함하는 것인, 공생관계를 확립하기 위한 방법.
KR1020070100003A 2006-10-06 2007-10-04 협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커 KR20080031810A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/544,107 US20080086370A1 (en) 2006-10-06 2006-10-06 Environmental services broker for mediating collaborative computing sessions
US11/544,107 2006-10-06

Publications (1)

Publication Number Publication Date
KR20080031810A true KR20080031810A (ko) 2008-04-11

Family

ID=39304709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070100003A KR20080031810A (ko) 2006-10-06 2007-10-04 협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커

Country Status (3)

Country Link
US (1) US20080086370A1 (ko)
KR (1) KR20080031810A (ko)
CN (1) CN101175246A (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539778B1 (ko) * 2002-12-31 2006-01-11 엘지전자 주식회사 이동통신 단말기의 기능제어 파라메터 변경방법
US20080120380A1 (en) * 2006-11-17 2008-05-22 International Business Machines Corporation Internet relay chat (irc) framework for a global enterprise service bus (esb)
US9032079B2 (en) * 2007-06-26 2015-05-12 Microsoft Technology Licensing, Llc Management and diagnosis of telephonic devices
US7996394B2 (en) * 2008-07-17 2011-08-09 International Business Machines Corporation System and method for performing advanced search in service registry system
US7966320B2 (en) * 2008-07-18 2011-06-21 International Business Machines Corporation System and method for improving non-exact matching search in service registry system with custom dictionary
US20100060572A1 (en) 2008-09-11 2010-03-11 Ely Tsern Display device for interfacing with a handheld computer device that dynamically generates a different user environment for the display device
US20100106977A1 (en) * 2008-10-24 2010-04-29 Jan Patrik Persson Method and Apparatus for Secure Software Platform Access
US8280408B2 (en) 2009-07-17 2012-10-02 At&T Intellectual Property I, Lp Methods, systems and computer program products for tailoring advertisements to a user based on actions taken using a portable electronic device
US20110013604A1 (en) * 2009-07-17 2011-01-20 John Ruckart Methods, Systems and Computer Program Products for Controlling Devices Using Portable Electronic Devices
US9838255B2 (en) * 2009-08-21 2017-12-05 Samsung Electronics Co., Ltd. Mobile demand response energy management system with proximity control
US8156140B2 (en) * 2009-11-24 2012-04-10 International Business Machines Corporation Service oriented architecture enterprise service bus with advanced virtualization
US8364745B2 (en) * 2009-11-24 2013-01-29 International Business Machines Corporation Service oriented architecture enterprise service bus with universal ports
CN102939615A (zh) * 2010-03-26 2013-02-20 4D零售科技公司 构建和使用交互显示器桌来方便登记的系统和方法
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
US8352491B2 (en) 2010-11-12 2013-01-08 International Business Machines Corporation Service oriented architecture (SOA) service registry system with enhanced search capability
US8560566B2 (en) 2010-11-12 2013-10-15 International Business Machines Corporation Search capability enhancement in service oriented architecture (SOA) service registry system
CA2864215A1 (en) 2011-02-11 2012-08-16 4D Retail Technology Corp. System and method for virtual shopping display
US8478753B2 (en) 2011-03-03 2013-07-02 International Business Machines Corporation Prioritizing search for non-exact matching service description in service oriented architecture (SOA) service registry system with advanced search capability
US9124715B2 (en) * 2011-03-15 2015-09-01 Nokia Technologies Oy Mobile user apparatus and a mobile accessory apparatus for the mobile user apparatus
US8566842B2 (en) 2011-04-01 2013-10-22 International Business Machines Corporation Identification of a protocol used in a message
US9256717B2 (en) * 2012-03-02 2016-02-09 Verizon Patent And Licensing Inc. Managed mobile media platform systems and methods
EP2677719A1 (en) * 2012-06-19 2013-12-25 Alcatel Lucent A method for interfacing a communication terminal with networked objects
EP3322191B1 (en) * 2013-01-31 2019-06-12 Samsung Electronics Co., Ltd. Method and apparatus for displaying an object related to content reproduced by a second device
US9552473B2 (en) 2014-05-14 2017-01-24 Microsoft Technology Licensing, Llc Claiming data from a virtual whiteboard
US20150334138A1 (en) * 2014-05-14 2015-11-19 Microsoft Corporation Transferring content between graphical user interfaces
US10270819B2 (en) 2014-05-14 2019-04-23 Microsoft Technology Licensing, Llc System and method providing collaborative interaction
US10873637B2 (en) * 2016-05-02 2020-12-22 Microsoft Technology Licensing, Llc Controlling service discovery and activation among peers

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825759A (en) * 1994-10-26 1998-10-20 Telefonaktiebolaget Lm Ericsson Distributing network services and resources in a mobile communications network
US6058307A (en) * 1995-11-30 2000-05-02 Amsc Subsidiary Corporation Priority and preemption service system for satellite related communication using central controller
US5974300A (en) * 1996-07-30 1999-10-26 Lucent Technologies Inc. Two-way wireless cellular messaging system
JP3592004B2 (ja) * 1996-10-31 2004-11-24 キヤノン株式会社 情報共有管理システム及び情報共有システム管理装置と方法
US7406214B2 (en) * 1999-05-19 2008-07-29 Digimarc Corporation Methods and devices employing optical sensors and/or steganography
US6198931B1 (en) * 1999-07-28 2001-03-06 Motorola, Inc. Method for prioritizing a communication in a wireless communication system
US6748278B1 (en) * 2000-03-13 2004-06-08 Microsoft Corporation Remote controlled system with computer-based remote control facilitator
US6446004B1 (en) * 2001-02-28 2002-09-03 International Business Machines Corporation System and method for implementing proximity or location driven activities
US20040203685A1 (en) * 2002-11-26 2004-10-14 Woodward Ernest E. Portable communication device having a service discovery mechanism and method therefor
US7154901B2 (en) * 2003-02-07 2006-12-26 Mobile 365, Inc. Intermediary network system and method for facilitating message exchange between wireless networks
JP2004289803A (ja) * 2003-03-04 2004-10-14 Omron Corp 対話システム、対話制御方法および対話制御プログラム
GB0312009D0 (en) * 2003-05-24 2003-07-02 Univ Strathclyde Management and control of telecommunication services delivery
US20040248594A1 (en) * 2003-06-09 2004-12-09 Wren Paul I. Combined multimedia cordless phone and messaging system
US7346168B2 (en) * 2003-09-29 2008-03-18 Avaya Technology Corp. Method and apparatus for secure wireless delivery of converged services
US8732239B2 (en) * 2003-10-02 2014-05-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. System and method for providing multimedia wireless messages across a broad range and diversity of networks and user terminal display equipment
US7483385B2 (en) * 2004-03-26 2009-01-27 Hewlett-Packard Development Company, L.P. Process for monitoring the quality of service in a telecommunication network and apparatus for the same
TWI250407B (en) * 2004-06-10 2006-03-01 Acer Inc Electronic system capable of using universal plug and play (UPNP) protocol to update software program and method thereof
US20060064346A1 (en) * 2004-08-31 2006-03-23 Qualcomm Incorporated Location based service (LBS) system and method for targeted advertising
US7676835B2 (en) * 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
US20060106930A1 (en) * 2004-11-17 2006-05-18 Shaffer James D Method of querying for device location in a heterogeneous network
US20080063000A1 (en) * 2006-09-12 2008-03-13 Gadi Shor Device and a Method for Exchanging Information Between a Bridge and a Device

Also Published As

Publication number Publication date
US20080086370A1 (en) 2008-04-10
CN101175246A (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
KR20080031810A (ko) 협업 컴퓨팅 세션을 중재하기 위한 환경적 서비스 브로커
Issarny et al. Developing ambient intelligence systems: A solution based on web services
CN105024865B (zh) 云联合即服务
KR101081331B1 (ko) 휴대 단말을 이용한 클라우드 프린팅 시스템 및 방법
CN106797392A (zh) M2m‑iot服务的发布和发现
CN104823189A (zh) 用于连接设备的编配框架
CN106797400A (zh) 用于使得能够经由服务层访问第三方服务的系统和方法
TW200400440A (en) Identity-based distributed computing for device resources
CN101444007A (zh) 我附近的服务:利用邻近发现来发现并连接至可用无线服务
US11089109B1 (en) Smart device management via a mobile communication device based on privacy preferences
KR101437430B1 (ko) IoT POS 서비스 방법 및 이를 적용한 컴퓨터로 읽을 수 있는 기록매체
Lee et al. Ubiquitous device collaboration infrastructure: Celadon
López-de-Ipiña et al. Touch computing: Simplifying human to environment interaction through NFC technology
Grace Overcoming Middleware Heterogeneity in Mobile Computing Applications
Duda et al. Architectures for mobile device integration into service-oriented architectures
US11595711B2 (en) Platform-agnostic media framework
Hari et al. SARANA: language, compiler and run-time system support for spatially aware and resource-aware mobile computing
Sultana et al. Ubiquitous secretary: A ubiquitous computing application based on web services architecture
Chen et al. Service integration with UPnP agent for an ubiquitous home environment
Jalan et al. Mobile cloud computing an efficient technique for mobile users
Milojicic et al. Appliance Aggregation Architecture (A3)
Schuster et al. Virtual device composition
Kavadias et al. A P2P technology middleware architecture enabling user-centric services deployment on low-cost embedded networked devices
Huang et al. Design and implementation of an adaptive Web2. 0 QoS‐based home appliance control service platform
Balakrishnan An Evaluation of Ubiquitous Service Discovery and Remote Management in Pervasive Computing Environments

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application