KR101608730B1 - 애플리케이션 및 웹 서비스 간의 메타데이터 구동 콜라보레이션 - Google Patents
애플리케이션 및 웹 서비스 간의 메타데이터 구동 콜라보레이션 Download PDFInfo
- Publication number
- KR101608730B1 KR101608730B1 KR1020147008293A KR20147008293A KR101608730B1 KR 101608730 B1 KR101608730 B1 KR 101608730B1 KR 1020147008293 A KR1020147008293 A KR 1020147008293A KR 20147008293 A KR20147008293 A KR 20147008293A KR 101608730 B1 KR101608730 B1 KR 101608730B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- metadata
- information
- computer
- stanza
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000006855 networking Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000531315 Avahi Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 108091006110 nucleoid-associated proteins Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
방법 및 시스템은 로컬 애플리케이션과 연관된 메타데이터를 식별하는 것과 운영 체제 독립 채팅 프로토콜을 이용하여 메타데이터를 원격 애플리케이션에 전달하는 것을 포함할 수 있다. 메타데이터는 원격 애플리케이션을 실행하는 디바이스의 사용자에게 제시될 정보, 다른 디바이스의 사용자에게 제시될 더 많은 정보의 위치를 찾는데 사용되는 정보, 다수의 디바이스의 동작을 조정하는데 사용되는 정보 등을 포함할 수 있다. 일 예에서, 메타데이터는 XMPP(extensible messaging and presence protocol) 등의 프로토콜을 이용하여 전달된다.
Description
관련 출원의 상호 참조
본 출원은 2011년 9월 12일에 제출된 미국 가출원 61/533,454의 우선권을 주장한다.
소프트웨어 애플리케이션을 서로 접속하는 전통적인 접근법은 운영 체제(OS) 특정 애플리케이션 프로그래밍 인터페이스(API)의 사용을 포함할 수 있다. 예를 들어, 윈도우(Microsoft Corp, Redmond, WA) 기반 애플리케이션은 맥(Mac)(Apple, Inc., Cupertino, CA) 애플리케이션 또는 시스템과의 접속 및 정보 전달을 구축하기 위하여 독점(proprietary) API를 액세스할 필요가 있을 수 있다. 따라서, 하나의 OS에 대한 애플리케이션의 개발자는 2개의 애플리케이션 간의 효율적인 통신을 제공하기 위하여 다른 OS의 세부사항을 알 필요가 있을 수 있다.
본 발명의 실시예의 다양한 이점은 다음의 도면을 참조하여 다음의 명세서 및 첨부도면을 읽음으로써 당업자에게 명백해질 것이다.
도 1은 실시예에 따른 애플리케이션간(inter-application) 통신 환경의 예의 블록도.
도 2a는 실시예에 따른 서버 기반 모드의 예의 블록도.
도 2b는 실시예에 따른 서버리스(serverless)(피어-투-피어(peer-to-peer)) 모드의 예의 블록도.
도 3은 실시예에 따른 이종 애플리케이션 간의 메타데이터의 교환의 예의 메시징 시퀀스 다이어그램.
도 4는 실시예에 따른 프록시 에이전트의 사용의 예의 블록도.
도 5a는 실시예에 따른 채팅 프로토콜 스택의 예의 블록도.
도 5b는 실시예에 따른 클라우드 컴퓨팅 인프라스트럭쳐에서의 채팅 프로토콜 스택의 배치의 예의 블록도.
도 6은 실시예에 따른 동종 애플리케이션 간의 메타데이터의 교환의 예의 블록도.
도 7a는 실시예에 따라 채팅 프로토콜을 이용하여 메타데이터를 원격 애플리케이션에 전달하는 방법의 예의 플로우챠트.
도 7b는 실시예에 따라 채팅 프로토콜을 이용하여 메타데이터를 원격 애플리케이션으로부터 수신하는 예의 플로우챠트.
도 8은 실시예에 따른 시스템의 예의 블록도.
도 1은 실시예에 따른 애플리케이션간(inter-application) 통신 환경의 예의 블록도.
도 2a는 실시예에 따른 서버 기반 모드의 예의 블록도.
도 2b는 실시예에 따른 서버리스(serverless)(피어-투-피어(peer-to-peer)) 모드의 예의 블록도.
도 3은 실시예에 따른 이종 애플리케이션 간의 메타데이터의 교환의 예의 메시징 시퀀스 다이어그램.
도 4는 실시예에 따른 프록시 에이전트의 사용의 예의 블록도.
도 5a는 실시예에 따른 채팅 프로토콜 스택의 예의 블록도.
도 5b는 실시예에 따른 클라우드 컴퓨팅 인프라스트럭쳐에서의 채팅 프로토콜 스택의 배치의 예의 블록도.
도 6은 실시예에 따른 동종 애플리케이션 간의 메타데이터의 교환의 예의 블록도.
도 7a는 실시예에 따라 채팅 프로토콜을 이용하여 메타데이터를 원격 애플리케이션에 전달하는 방법의 예의 플로우챠트.
도 7b는 실시예에 따라 채팅 프로토콜을 이용하여 메타데이터를 원격 애플리케이션으로부터 수신하는 예의 플로우챠트.
도 8은 실시예에 따른 시스템의 예의 블록도.
실시예는, 프로세서에 의해 실행될 때, 컴퓨터가 로컬 애플리케이션과 연관된 메타데이터를 식별하게 하는 명령어들의 세트를 갖는 적어도 하나의 컴퓨터 액세스가능 저장 매체를 포함할 수 있다. 명령어들은 또한 컴퓨터가 운영 체제 독립 채팅 프로토콜(operating system-independent chat protocol)을 이용하여 메타데이터를 원격 애플리케이션에 전달하게 할 수 있다.
실시예는, 프로세서에 의해 실행될 때, 컴퓨터가 운영 체제 독립 채팅 프로토콜을 이용하여 제1 디바이스 상에 상주하는 원격 애플리케이션과 연관된 메타데이터를 수신하게 하는 명령어들의 세트를 갖는 적어도 하나의 컴퓨터 액세스가능 저장 매체를 포함할 수 있다. 명령어들은 또한 컴퓨터가 제2 디바이스 상에 상주하는 로컬 애플리케이션에 메타데이터를 제공하게 할 수 있다.
또한, 실시예는 네트워크 인터페이스, 메타데이터 모듈 및 채팅 엔진을 갖는 시스템을 포함할 수 있다. 메타데이터 모듈은 로컬 애플리케이션과 연관된 메타데이터를 식별하도록 구성될 수 있고, 채팅 엔진은 운영 체제 독립 채팅 프로토콜을 이용하여 메타데이터를 네트워크 인터페이스를 통해 원격 애플리케이션에 전달하도록 구성될 수 있다.
다른 실시예는, 프로세서에 의해 실행될 때, 컴퓨터가 제1 디바이스 상에 상주하는 로컬 애플리케이션과 연관된 메타데이터를 식별하게 하는 명령어들의 세트를 갖는 적어도 하나의 컴퓨터 액세스가능 저장 매체를 포함할 수 있다. 명령어들은, 또한 컴퓨터가 확장 마크업 언어(extensible markup language)를 이용하여 메타데이터를 포함하는 스탠자(stanza)를 생성하고 공통 작업 공간에서 원격 애플리케이션의 소셜 네트워킹 상태를 식별하도록 할 수 있고, 원격 애플리케이션은 제2 디바이스 상에 상주한다. 또한, 명령어들은, 컴퓨터가 XMPP(extensible messaging and presence protocol)을 이용하여 스탠자를 피어-투-피어 및 서버 기반 아키텍쳐 중의 하나 이상에서 원격 애플리케이션에 전달하고 스탠자에 기초하여 공통 작업 공간에서 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트하도록 할 수 있다.
실시예는 또한 운영 체제 독립 채팅 프로토콜이 제1 디바이스 상에 상주하는 원격 애플리케이션과 연관된 메타데이터를 수신하는데 사용되는 컴퓨터 구현 방법을 포함할 수 있다. 방법은 또한 제2 디바이스 상에 상주하는 로컬 애플리케이션에 메타데이터를 제공하는 것을 포함할 수 있다.
도 1을 참조하면, 로컬 애플리케이션(10)이 채팅 프로토콜(12)을 이용하여 메타데이터(14)를 원격 애플리케이션(16)에 전달하는 컴퓨팅 환경(18)이 도시된다. 애플리케이션(10, 16)은 예를 들어 이메일 애플리케이션, 이북(e-book) 애플리케이션, 캘린더 애플리케이션, 미디어 플레이어 애플리케이션, 또는 그 임의의 조합을 포함할 수 있다. 애플리케이션(10, 16)은 또한 웹 서비스, 서버 기반 또는 로컬 호스팅 애플리케이션 등의 클라우드 컴퓨팅 인프라스트럭쳐에서 비롯되거나 독립형 네이티브 애플리케이션으로서 하나 이상의 클라이언트 상에 상주할 수 있다. 추가적으로, 로컬 애플리케이션(10)은 예를 들어, 스마트 텔레비전(TV), 서버, 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 스마트 태블릿, 스마트폰, PDA(personal digital assistant), 모바일 인터넷 디바이스(MID), 미디어 플레이어, IVI(in-vehicle-infotainment) 시스템, 영상 캡쳐 디바이스 등의 다양한 플랫폼 상에서 실행될 수 있다. 따라서, 메타데이터(14)는 예를 들어 이메일 발송자 및/또는 수신자 정보, 약속 정보, 오디오 및/또는 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보, 키워드 정보 등을 포함할 수 있다. 마찬가지로, 원격 애플리케이션(16)은 예를 들어 로컬 애플리케이션(10)과 동일(예를 들어, 동종)하거나 상이한(예를 들어, 이종) 타입의 애플리케이션을 포함하고 전술한 또는 다른 타입의 플랫폼 중의 임의의 것 상에서 실행될 수 있다. 더 상세히 설명하는 바와 같이, 도시된 채팅 프로토콜(12)은 운영 체제(OS)에 독립적이고, 따라서, 근본적인 OS 구성의 개발자 지식 없이 이종 및/또는 동종 애플리케이션 메시징 및 콜라보레이션을 가능하게 한다.
도 2a는 애플리케이션 간의 통신의 서버 기반 모드를 나타낸다. 도시된 예에서, 제1 디바이스(디바이스 A)(20)는 하나 이상의 네트워크 익스텐션(extension)(24) 및 하나 이상의 네트워크 라이브러리(26)를 이용하여 발송 채팅 프로토콜 스탠자(28)를 생성하고 착신 채팅 프로토콜 스탠자(28)를 프로세싱하는 애플리케이션(22)을 포함하고, 채팅 프로토콜 스탠자(28)는 유용한 메타데이터를 포함할 수 있다. 예를 들어, 메타데이터는 약속 변경 또는 사용자 미디어 선호도를 나타낼 수 있다. 마찬가지로, 제2 디바이스(디바이스 B)(30)는 하나 이상의 네트워크 익스텐션(34) 및 하나 이상의 네트워크 라이브러리(36)를 이용하여 채팅 프로토콜 스탠자(38)를 생성 및 프로세싱하는 애플리케이션(32)을 포함하고, 제3 디바이스(디바이스 C)(40)는 하나 이상의 네트워크 익스텐션(44) 및 하나 이상의 네트워크 라이브러리(46)를 이용하여 채팅 프로토콜 스탠자(48)를 생성하고 프로세싱하는 애플리케이션(42)을 포함한다. 도시된 예에서, 서버(50)는 플랫폼 및 네트워크 도메인에 걸쳐 상주할 수 있는 예를 들어 애플리케이션(22, 32, 42) 등의 상이한 애플리케이션의 아이덴티티를 검증하고 그 위치를 찾는 탐색, 인증 및 세션 관리 플랫폼으로서 기능한다.
예를 들어, 디바이스(20, 30, 40) 중의 하나 이상은, 예를 들어, 셀룰러 전화(예를 들어, W-CDMA(Wideband Code Division Multiple Access)((UMTS(Universal Mobile Telecommunications System), CDMA2000(IS-856/IS-2000), 등), WiFi(Wireless Fidelity, 예를 들어, IEEE(Institute of Electrical and Electronics Engineers) 802.11-2007, 무선 LAN(Local Area Network) MAC(Medium Access Control) 및 PHY(Physical Layer) 사양), LR-WPAN(Low-Rate Wireless Personal Area Network, 예를 들어, EEE 802.15.4-2006), 블루투스(예를 들어, IEEE 802.15.1-2005, 무선 개인 지역 네트워크), WiMax(예를 들어, IEEE 802.16-2004, LAN/MAN 브로드밴드 무선 LANS), GPS(Global Positioning System), 확산 스펙트럼(예를 들어, 900 MHz) 및 다른 RF(radio frequency) 기술 등의 무선 기술을 이용한 오프-플랫폼(off-platform) 통신을 달성할 수 있다. 디바이스(20, 30, 40) 중의 하나 이상은 유선 통신(예를 들어, RS-232 (EIA(Electronic Industries Alliance)), 이더넷(예를 들어, IEEE 802.3-2005), 파워 라인 통신(예를 들어, X10, IEEE P1675), USB(예를 들어, 유니버설 시리얼 버스, 예를 들어, USB 사양 3.0, Rev. 1.0, 2008년11월 12일, USB 구현자 포럼), DSL(디지털 가입자 라인), 케이블 모뎀, T1 접속, 등을 이용하여 통신할 수 있다.
도시된 서버(50)는 또한 애플리케이션(22, 32, 42)이 서로에 대하여 식별된 관계(예를 들어, 신뢰성)을 갖는지에 기초하여 이들 애플리케이션을 공통 작업 공간에 접속한다. 애플리케이션(22, 32, 42)은 프로파일들을 이용하여 자신들 및 각각의 다른 애플리케이션들의 상태가 이용가능한지, 떨어져 있는지(away), 비지(busy)인지를 식별할 수 있다. 상태들의 사용은 애플리케이션들이 서로와의 통신에서 액티브가 되게 하고, 또한, 애플리케이션이 로그온할 수 있고 메시지를 남길 수 있는 "패시브" 모델을 제공한다. 메시지는, 재접속되거나 자신의 상태가 예를 들어 "이용가능한"으로 변경될 때, "이용가능하지 않거나" "떨어져 있는" 타겟 애플리케이션에 전달될 수 있다. 또한, 도시된 애플리케이션(22, 32, 42)은 채팅/인스턴트 메시징(IM) 세션과 동일한 패러다임을 이용하여 일대일, 일대다(1:many), 다대다(many:many) 통신할 수 있다. 예를 들어, 각각의 애플리케이션(22, 32, 42)은 코드 모듈을 이용하여 채팅 시스템 내의 사람 또는 오브젝트를 "에뮬레이션"하고 해석(interpreter) 모듈을 이용하여 스탠자(28, 38, 48)의 생성 및 프로세싱을 지원할 수 있다. 더 상세히 설명하는 바와 같이, 채팅 프로토콜은 잘 정의된 프로토콜, 예를 들어, XMPP(Extensible Messaging and Presence Protocol, 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force))에 기초할 수 있고, 스탠자(28, 38, 48)는 XML(Extensible Markup Language, 예를 들어, XML 1.0(제5판, W3C 추천 2008년 11월 26일)을 이용하여 구성될 수 있다.
도 2b는 피어-투-피어(P2P) 구성에서 디바이스(20, 30, 40)가 서로 직접 스탠자(52, 54, 56)를 교환하는 대안의 "서버리스" 아키텍쳐(58)를 나타낸다. 도시된 접근법은 서버 기반 접근법 대신에 배치될 수 있거나, (예를 들어, 하이브리드 아키텍쳐에서) 서버 기반 접근법와 결합하여 배치될 수 있다.
도 3을 참조하면, 이종 애플리케이션 상호작용이 도시된다. 도시된 예에서, 사용자는 IVI(in-vehicle-infotainment) 시스템의 내비게이션 시스템(60)을 가지고 차량을 운전하고 있다. 사용자는 특정 목적지(예를 들어, 다운타운)에서의 약속에 가고 있는 중일 수 있고, 내비게이션 시스템(60)은 그 위치로 사용자를 가이드하고 있다. 그러나, 사용자의 스마트폰 상에서, 이메일/캘린더 애플리케이션(62)은 미팅 위치가 현재의 목적지로부터 새로운 목적지로 이동했다는 통지를 수신한다. 사용자가 수동으로 차량 내비게이션 시스템(60)을 업데이트하기를 요구하기 보다는(예를 들어, 차를 멈추거나 이동하는 차량에서 생명을 위협하는 행동을 취하는 등), 도시된 접근법은 OS 독립 채팅 프로토콜을 이용하여 스마트폰 및 내비게이션 시스템(60) 사이에서 메타데이터를 전달한다.
특히, 스마트폰 및 차량 IVI 플랫폼은 예를 들어 Wi-Fi, 블루투스 또는 테더링(tether)을 통해 접속될 수 있고, XMPP 기반 탐색은 화살표(61)로 표시된 접속을 통해 수행될 수 있다. 스마트폰이(푸쉬 또는 풀 프로세스를 통해) 화살표(63)를 따라 이메일 서버(64)를 체크하고 화살표(65)를 따라(예를 들어, 표준 프로토콜, POP3(Post Office Protocol, Ver. 3)을 통해) 캘린더 경고를 수신하면, 스마트폰 이메일/캘린더 애플리케이션(62)은 차량 내비게이션 시스템(60) 상에서 실행되는 애플리케이션에 접속하여 파싱(parsing) 및 업데이트 모듈(67)을 이용하여 위치 변경을 반영한 메타데이터를 갖는 XML 스탠자로서 화살표(69)를 따라 업데이트를 전달한다. 예를 들어, XML 스탠자는 >>차량 내비게이션, <현재 주소>, <새 주소>, <변경?>, <코멘트 "미팅 이름">을 포함할 수 있다. 따라서, 이 경우, 내비게이션 시스템(60)의 소프트웨어는 캘린더 또는 이메일 애플리케이션을 가질 필요가 없고, 업데이트 모듈(71)을 이용하여 캘린더 데이터를 파싱하고, 내비게이션 인터페이스 내로 직접 받아들이고, 운전자에게 위치가 변경되었고 목적지가 업데이트되었음을 알린다.
도 4는 통신의 더 간단한 "단말" 스타일 모델이 요구되는 경우에, 웹 소켓 인터페이스 또는 NPAPI(Netscape Plug-in API) 기반 플러그인이 채팅 프로토콜을 통한 탐색 및 인증을 위한 완전한 인프라스트럭쳐를 갖지 않는 브라우저 애플리케이션 및 서비스로의 액세스를 제공하는데 사용될 수 있다. 도시된 모델에서, 웹 애플리케이션(68)은 웹 소켓(70)을 통해 프록시 에이전트(66)에 접속하고, 프록시 에이전트(66)는 디바이스(72)를 대신하여 동작한다. 도시된 접근법은 프록시 에이전트(66) 및 디바이스(72) 간의 이미 구축된 신뢰성있는 환경을 추정하고, 채팅 프로토콜 네트워크 상의 다른 제공된 플랫폼과 함께 디바이스(40, 72)간의 완전한 통신 및 메타데이터 메시징을 허용한다.
도 5a는 애플리케이션들 사이에서 메타데이터를 전달하는데 사용될 수 있는 채팅 프로토콜 스택(74)을 나타낸다. 일반적으로, 도시된 채팅 프로토콜 스택(74)은 OS층(76)과 독립적이고 전통적인 프로토콜에서보다 더 쉽게 구현될 수 있는 채팅층(80)을 갖는다. 특히, 하나 이상의 애플리케이션(78)(78a, 78b)은, 예를 들어, (예를 들어, 미디어 플레이어 프로파일, TV 프로파일, 등을 갖는) ISV(independent software vendor) 확장 XML 명령 라이브러리 등의 라이브러리(82)를 이용할 수 있는 채팅층(80) 위에 상주하여 XML 스탠자를 구성하고 해석한다. 채팅층(80)은 예를 들어, C, C++, HTML5(Hypertext Markup Language 5), JSON(JavaScript Object Notation) 등의 언어로 구현될 수 있다. 하나 이상의 브라우저 애플리케이션(84)은 또한 전술한 바와 같이 웹소켓 인터페이스(예를 들어, 임베디드 웹서버)(86)를 이용하여 채팅층(80)에 접속할 수 있다. 도시된 채팅층(80)은 채팅 플러그인(90)을 이용하여 채팅 프로토콜 엔진에 대한 네트워크 익스텐션을 획득하고, 예를 들어, 아바히(Avahi) 등의 제로 구성 네트워킹 모듈(94) 및 텔레파시 채팅 모듈(92)과 텔레파시층을 공유하는 텔레파시 프레임워크(88)와 인터페이싱한다. 일 예에서, 제로 구성 네트워킹 모듈(94)은 P2P 구현을 위한 탐색층으로서 기능한다.
도 5b는 채팅 프로토콜 스택(74)이 더 구조화된 서버-클라이언트 토폴로지를 지원할 수 있다는 것을 입증하고, 서버-클라이언트 토폴로지는 다수의 서버(94)가 서로를 식별하고 서로 접속하게 하는 클라우드(96)를 통한 접속을 포함한다. 이러한 구성에서, 서버(98) 등의 신뢰성있는 클라우드 서버는 플랫폼/디바이스에 대한 엔트리/인증 포인트로서 동작하고 예를 들어 가정에 신뢰성있는 채널을 제공할 수 있다. 일 예에서, 서버(98)는 탐색가능하고 리던던트(redundant)하기 때문에, 실패의 경우에 다른 서버에 대해 대처법을 갖는 "리드(lead)" 플랫폼으로서 기능할 수 있다. 따라서, 이러한 종류의 안전한 서비스는 3G(온더고(on the go))로부터 케이블(클라우드로부터 가정으로의 백본(backbone) 및 (가정 내의) Wi-Fi로의 신뢰성있는 경로를 스마트폰에 제공할 수 있다. 간단히 말해서, 도시된 인프라스트럭쳐는, 통상적으로 어떤 전송 메카니즘(예를 들어, Wi-Fi, 3G, 4G, 블루투스)이 이용가능한 IP(internet protocol) 통신 경로를 이용하는 다양한 통신 토폴로지에 민감하지 않다.
도 6을 참조하면, 동종 애플리케이션 간의 채팅 접속이 도시된다. 도시된 예에서, 스마트폰(100)은 제1 비디오층("비디오 플레이어 1")(102) 등의 애플리케이션을 포함하고, 고선명 텔레비전(HDTV)(104)은 제2 비디오 플레이어("비디오 플레이어 2")(106) 등의 애플리케이션을 포함한다. 디바이스 및 비디오 플레이어(102, 106)가 채팅 네트워크에 인증되면, 실제 애플리케이션 대 애플리케이션 통신은 제1 비디오 플레이어(102)로부터 제2 비디오 플레이어(106)(또는 많은 애플리케이션)로 전달된 유익한 스탄자 및 메타데이터 인자(argument)로 수행될 수 있다. 예를 들어, 제1 비디오 플레이어(102)에 의해 생성된 스탠자는
>>영화 플레이어, <패튼(Patton)>, <01:23:00:00>, <플레이>
를 포함한다.
그 후, 제2 비디오 플레이어(106)는 요청된 영화를 국부적으로 검색하거나 서비스(108) 등의 영화 웹 서비스로부터 스트림을 개시할 수 있다. 예시적인 영화 웹 서비스는, 아마존 플러스(Amazon Plus), 넷플릭스(Netflix), DLNA(Digital Living Network Alliance) 등을 포함하지만, 이것으로 제한되는 것은 아니다. 특히, 제2 비디오층(106)은 스마트폰(100)에 더 적합할 수 있는 콘텐츠(예를 들어, 720p, 스테레오)보다 HDTV(104)를 위해 가장 잘 포맷팅된 콘텐츠(예를 들어, 1080p, 7.1 돌비)를 검색할 수 있다. 제1 비디오 플레이어(102)에 대한 제2 비디오 플레이어(106)의 응답은
>>성공
을 포함할 수 있다.
그 단계에서, 비디오 플레이어(102, 106)는 임의의 또 다른 통신을 중단하지 만, 스마트폰(100) 및 HDTV(104)는 여전히 채팅 서버에 대해 구성된 채로 있을 수 있다. HDTV(104)의 제2 비디오 플레이어(106)는 자신의 프로파일 상태를 "비지(busy)"로 설정하여 점유되었음을 나타내고, 이전에 "비지"로 설정된 스마트폰(100)의 제1 비디오 플레이어(102)는 자신의 상태를 "이용가능"으로 변경하여 임의의 다른 관심있는 애플리케이션과의 통신을 촉진한다. 따라서, 비디오 플레이어(102, 104)는 상태 페이지 업데이트, 다른 애플리케이션의 상태 페이지 보기 및 상호 채팅(예를 들어, "머신 채팅") 등의 "소셜 네트워킹" 활동에 관여할 수 있는 애플리케이션으로서 사용자에게 명백하게 보여질 수 있다.
도 7a는 채팅 프로토콜을 이용하여 제1 디바이스 상의 하나의 애플리케이션으로부터 제2 디바이스 상의 다른 애플리케이션으로 메타데이터를 전송하는 방법(110)을 나타낸다. 방법(110)은, 예를 들어, 프로그래머블 로직 어레이(PLA), 필드 프로그래머블 게이터 어레이(FPGA), 컴플렉스 프로그래머블 로직 디바이스(CPLD) 등의 구성가능한 로직, 예를 들어, ASIC(application specific integrated circuit), CMOS(complementary metal oxide semiconductor) 또는 TTL(transistor-transistor logic) 기술 등의 회로 기술을 이용한 고정 기능 하드웨어, 또는 그 임의의 조합에서, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 프로그래머블 ROM(PROM), 플래시 메모리, 펌웨어, 마이크로코드 등의 머신 또는 컴퓨터 판독가능 저장 매체에 저장된 실행가능 로직 명령어들의 세트로서 구현될 수 있다. 예를 들어, 방법(110)에 도시된 동작을 수행하는 컴퓨터 프로그램 코드는, 이것으로 제한되는 아니지만, C++ 등의 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어 등의 종래의 절차적 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다. 또한, 다양한 형태의 방법(110)은 전술한 회로 기술 중의 임의의 것을 이용하여 프로세서의 임베디드 로직으로서 구현될 수 있다.
프로세싱 블록(112)은 공통 작업 공간으로의 접속을 제공하고, 도시된 블록(114)은 작업 공간에서 하나 이상의 다른 애플리케이션을 식별한다. 다른 애플리케이션을 식별하는 것은 전술한 바와 같이 다른 애플리케이션의 상태를 체크하는 것을 포함한다. 메타데이터가 블록(116)에서 식별될 수 있고, 메타데이터는 다른 애플리케이션을 실행하는 디바이스의 사용자에게 제시될 정보, 다른 디바이스의 사용자에게 제시될 더 많은 정보의 위치를 찾는데 사용되는 정보, 다수의 디바이스의 동작을 조정하는데 사용될 정보 등을 포함할 수 있다. 도시된 블록(118)은 채팅 프로토콜을 이용하여 메타데이터를 다른 애플리케이션에 전달한다. 채팅 프로토콜은 XMPP를 이용하여 구현될 수 있고 완전히 OS에 독립적일 수 있다. 로컬 애플리케이션의 상태는 전술한 바와 같이 메타데이터/스탠자 교환에 따라 블록(120)에서 업데이트될 수 있다.
도 7b는 채팅 프로토콜을 이용하여 원격 애플리케이션으로부터 메타데이터를 수신하는 방법(122)를 나타낸다. 프로세싱 블록(112)은 공통 작업 공간으로의 접속을 제공하고, 도시된 블록(114)은 전술한 바와 같이 작업 공간에서 하나 이상의 다른 애플리케이션을 식별한다. 채팅 프로토콜은 블록(124)에서 다른 애플리케이션으로부터 메타데이터를 수신하는데 사용된다. 블록(126)은 수신된 메타데이터의 번역(translation)이 필요한지를 판정하는 것을 제공한다. 그러면, 메타데이터는 블록(128)에서 해석기 모듈로 프로세싱될 수 있다. 이에 대하여, XML 메시지 서버는 상이한 애플리케이션에 의해 이해될 수 있는 특정 명령 및 인자를 호스팅함으로써 개발자 및 애플리케이션을 돕는데 이용될 수 있다. 이 서버는 모든 개발자 및 애플리케이션이 볼 수 있도록 개방될 수 있고 개발자에 의해 확장되어 동일한 동작에 대하여 상이한 문법(syntax)이 존재할 수 있는 번역 플랫폼으로서 사용될 수 있다. 예를 들어, 텔레비전 세트 상에서, <변경 채널 4> 대 <NBC로> 대 <"심슨(The Simpsons)"보기>는 동일한 것을 달성할 수 있고, 따라서, 애플리케이션 및 개발자에 대한 해석 서비스를 제공하도록 상호 참조될 수 있다. 도시된 블록(120)은 메타데이터/스탠자 교환에 기초한 로컬 애플리케이션의 상태의 업데이트를 제공한다.
도 8을 참조하면, 메타데이터가 채팅 프로토콜을 통해 다른 시스템과 교환될 수 있는 컴퓨팅 시스템(114)이 도시된다. 도시된 예에서, 컴퓨팅 시스템(114)은 프로세서(116), 시스템 메모리(118), 플랫폼 제어기 허브(PCH)(120), 대용량 저장소(예를 들어, 하드 디스크 드라이브(HDD), 광 디스크, 플래시 메모리)(122), 네트워크 인터페이스/제어기(124), 하나 이상의 사용자 인터페이스(UI) 디바이스(126) 및 다양한 다른 제어기(미도시)를 갖는다. 시스템(114)은 미디어 소비 능력을 가질 수 있고, 따라서, 예를 들어, TV, 랩탑, 스마트 태블릿, 스마트폰, 퍼스널 컴퓨터(PC), 서버, 워크스테이션 등의 일부일 수 있다. 시스템(114)은 전술한 바와 같이 디바이스(20, 30, 40)(도 2a 및 2b) 등의 하나 이상의 디바이스에 부분적으로 또는 전체적으로 포함될 수 있다. 따라서, 프로세서(116)는 저장된 로직 명령어들의 세트를 실행할 수 있는 하나 이상의 프로세서 코어 및 시스템 메모리(118)와 통신하도록 구성된 IMC(integrated memory controller)(128)를 포함할 수 있다. 시스템 메모리(118)는 예를 들어 DIMM(dual inline memory module), SODIMM(small outline DIMM) 등의 하나 이상의 메모리 모듈로서 구성된 DRAM(dynamic random access memory)을 포함할 수 있다.
도시된 예에서, 프로세서(116)는, 시스템(114) 상의 로컬 애플리케이션과 연관된 메타데이터를 식별하고 OS 독립 채팅 프로토콜을 이용하여 메타데이터를 다른 디바이스 상에 상주하는 원격 애플리케이션에 전달하는 로직(130)을 실행하도록 구성된다. 로직(130)은 또한 OS 독립 채팅 프로토콜을 이용하여 다른 디바이스 상에 상주하는 원격 애플리케이션과 연관된 메타데이터를 수신할 수 있고 메타데이터를 시스템(114) 상의 로컬 애플리케이션에 제공할 수 있다. 따라서, 예를 들어, 로직(130)은 전술한 바와 같이 방법(110)(도 7a) 및 방법(112)(도 7b)의 하나 이상의 양태를 구현하는 메타데이터 모듈 및/또는 채팅 엔진을 포함할 수 있다.
때때로 칩셋의 사우스브리지(Southbridge)라 불리우는 도시된 PCH(120)은 호스트 디바이스로서 기능하고, 예를 들어, 셀룰러 전화, Wi-Fi, LR-WPAN, 블루투스, WiMax, GPS, 확산 스펙트럼 및 다른 RF 전화 목적 등의 다양한 목적으로 오프-플랫폼 무선 통신 기능을 제공할 수 있는 네트워크 제어기(124)와 통신할 수 있다. 네트워크 제어기(124)는 또한 오프-플랫폼 유선 통신 기능을 제공할 수 있다. UI(예를 들어, 터치 스크린, 액정 디스플레이(LCD), 발광 다이오드(LED), 키보드, 마우스, 등) 디바이스(126)는 사용자가 시스템과 상호작용하고 시스템(114)으로부터의 정보를 인지할 수 있게 한다.
본 발명의 실시예의 소정의 형태는 하드웨어, 소프트웨어 또는 그 조합을 이용하여 구현될 수 있고, 하나 이상의 컴퓨터 시스템 또는 다른 프로세싱 시스템에서 구현될 수 있다. 프로그램 코드는 입력 디바이스를 이용하여 입력된 데이터에 적용되어 기재된 기능을 수행하고 출력 정보를 생성할 수 있다. 출력 정보는 하나 이상의 출력 디바이스에 인가될 수 있다. 당업자는 본 실시예가 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨퍼 등을 포함하는 다양한 컴퓨터 시스템 구성으로 실시될 수 있음을 인식할 것이다. 실시예는 또한 태스크가 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스에 의해 수행될 수 있는 분산 컴퓨팅 환경에서 실행될 수 있다.
각각의 프로그램은 하이 레벨 절차 또는 객체 지향 프로그래밍 언어로 구현되어 프로세싱 시스템과 통신할 수 있다. 그러나, 프로그램은 원한다면 어셈블리 또는 머신 언어로 구현될 수 있다. 임의의 경우, 언어는 컴파일링 또는 해석(interpreted)될 수 있다.
프로그램 명령어들은 명령어들로 프로그래밍된 범용 또는 특수 목적 프로세싱 시스템이 본 명세서에 기재된 방법을 수행하게 하는데 사용될 수 있다. 대안으로, 방법은 방법을 수행하는 하드와이어드 로직을 포함하는 특정 하드웨어 컴포넌트 또는 프로그래밍된 컴퓨터 컴포넌트 및 맞춤형 하드웨어 컴포넌트의 임의의 조합에 의해 수행될 수 있다. 본 명세서에서 기재된 방법은 방법을 수행하도록 프로세싱 시스템 또는 다른 전자 디바이스를 프로그래밍하는데 사용될 수 있는 명령어들을 저장한 적어도 하나의 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 본 명세서에 기재된 용어 "머신 판독가능 매체" 또는 "머신 액세스가능 매체"는 머신이 본 명세서에 기재된 방법 중의 임의의 것을 수행하게 하고 머신에 의해 실행되는 일련의 명령어들을 저장 또는 인코딩할 수 있는 임의의 매체를 포함한다. 따라서, 용어 "머신 판독가능 매체" 및 "머신 액세스가능 매체"는, 반도체(solid-state) 메모리, 광 및 자기 디스크 및 데이터 신호를 인코딩하는 반송파를 포함하지만, 이것으로 제한되는 것은 아니다. 또한, 소프트웨어가 하나의 형태 또는 다른 형태(예를 들어, 프로그램, 절차, 프로세스, 애플리케이션, 모듈, 로직 등)로 액션을 취하거나 결과를 야기하는 것은 일반적이다. 이러한 표현은 단지 프로세서가 액션을 수행하거나 결과를 생성하도록 하는 프로세싱 시스템에 의한 소프트웨어의 실행을 서술하는 약칭 방식이다.
여기에 사용되는 용어 "결합된"은 컴포넌트 간의 직접 또는 간접의 임의의 타입의 관계를 나타내고, 전기적, 기계적, 유체, 광, 전자기, 전자 기계 또는 다른 접속에 이용될 수 있다. 또한, 여기에 사용되는 용어 "제1", "제2" 등은 단지 설명을 위해 사용되며 다르게 표현되지 않는 한 특정한 시간적 또는 연대순의 의미를 전달하는 것이 아니다.
본 발명의 다양한 실시예를 상술하였지만, 이들은 단지 예로서 제한없이 제시되었음을 이해해야 한다. 당업자는 첨부된 청구범위에서 정의된 본 발명의 범위 및 사상을 벗어나지 않고 형태 및 세부사항의 변형이 가능하다는 것을 이해해야 한다. 따라서, 본 발명의 범위는 전술한 예시적인 실시예 중의 어느 것에 의해 제한되지 않고 다음의 청구범위 및 그 등가물에 따라 정의되어야 한다.
Claims (36)
- 프로세서에 의해 실행될 때, 컴퓨터로 하여금,
제1 디바이스 상에 상주하는 로컬 애플리케이션과 연관된 메타데이터를 식별하고,
확장 마크업 언어(Extensible Markup Language)를 이용하여 상기 메타데이터를 포함하는 스탠자(stanza)를 생성하고,
공통 작업 공간에서 제2 디바이스 상에 상주하는 원격 애플리케이션의 소셜 네트워킹 상태를 식별하고,
XMPP(extensible messaging and presence protocol)를 이용하여 피어-투-피어 및 서버 기반 아키텍쳐 중 하나 이상에서 상기 원격 애플리케이션에 상기 스탠자를 전달하고,
상기 스탠자에 기초하여 상기 공통 작업 공간에서 상기 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트하게 하는
명령어들의 세트를 포함하는 적어도 하나의 컴퓨터 액세스가능 저장 매체. - 제1항에 있어서, 상기 메타데이터는 이메일 정보, 약속 정보, 오디오 정보, 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보 및 키워드 정보 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 제1항에 있어서, 상기 제1 디바이스 및 상기 제2 디바이스는 스마트 텔레비전, 서버, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트 태블릿, 스마트폰, PDA(personal digital assistant), 모바일 인터넷 디바이스, 미디어 플레이어, IVI(in-vehicle infotainment) 시스템 및 영상 캡쳐 디바이스 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 제1항에 있어서, 상기 로컬 애플리케이션 및 상기 원격 애플리케이션은 이메일 애플리케이션, 이북(e-book) 애플리케이션, 캘린더 애플리케이션, 내비게이션 애플리케이션 및 미디어 플레이어 애플리케이션 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 프로세서에 의해 실행될 때, 컴퓨터로 하여금,
제1 디바이스 상에 상주하는 원격 애플리케이션의 소셜 네트워킹 상태를 식별하고,
운영 체제 독립 채팅 프로토콜을 이용하여 상기 원격 애플리케이션과 연관된 메타데이터를 수신하고,
상기 메타데이터를 포함하는 확장 마크업 언어 스탠자를 수신하고 - 상기 채팅 프로토콜은 XMPP(extensible messaging and presence protocol)임 -,
상기 스탠자를 번역할지를 판정하고,
제2 디바이스 상에 상주하는 로컬 애플리케이션에 상기 메타데이터를 제공하고,
상기 스탠자에 기초하여 상기 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트하게 하는 명령어들의 세트를 포함하고,
상기 원격 애플리케이션의 상기 소셜 네트워킹 상태는 공통 작업 공간에서 식별되고, 상기 로컬 애플리케이션의 상기 소셜 네트워킹 상태는 상기 공통 작업 공간에서 업데이트되는, 적어도 하나의 컴퓨터 액세스가능 저장 매체. - 삭제
- 제5항에 있어서, 상기 명령어들은, 실행될 때, 컴퓨터로 하여금, 확장 마크업 언어 메시지 서버의 해석기 모듈을 이용하여 상기 스탠자를 번역하게 하는 컴퓨터 액세스가능 저장 매체.
- 삭제
- 삭제
- 제5항에 있어서, 상기 메타데이터는 이메일 정보, 약속 정보, 오디오 정보, 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보 및 키워드 정보 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 프로세서에 의해 실행될 때, 컴퓨터로 하여금,
로컬 애플리케이션과 연관된 메타데이터를 식별하고,
확장 마크업 언어를 이용하여 상기 메타데이터를 포함하는 스탠자를 생성하고,
원격 애플리케이션의 소셜 네트워킹 상태를 식별하고,
운영 체제 독립 채팅 프로토콜을 이용하여 상기 메타데이터를 상기 원격 애플리케이션에 전달하고 - 상기 채팅 프로토콜은 XMPP(extensible messaging and presence protocol)이고 상기 스탠자는 상기 원격 애플리케이션에 전달됨 -,
상기 스탠자에 기초하여 상기 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트하게 하는 명령어들의 세트를 포함하고,
상기 원격 애플리케이션의 상기 소셜 네트워킹 상태는 공통 작업 공간에서 식별되고, 상기 로컬 애플리케이션의 상기 소셜 네트워킹 상태는 상기 공통 작업 공간에서 업데이트되는, 적어도 하나의 컴퓨터 액세스가능 저장 매체. - 삭제
- 삭제
- 삭제
- 제11항에 있어서, 상기 로컬 애플리케이션은 제1 디바이스 상에 상주하고 상기 원격 애플리케이션은 제2 디바이스 상에 상주하는 컴퓨터 액세스가능 저장 매체.
- 제15항에 있어서, 상기 제1 디바이스 및 상기 제2 디바이스는 스마트 텔레비전, 서버, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트 태블릿, 스마트폰, PDA, 모바일 인터넷 디바이스, 미디어 플레이어, IVI 시스템 및 영상 캡쳐 디바이스 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 제11항에 있어서, 상기 메타데이터는 이메일 정보, 약속 정보, 오디오 정보, 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보 및 키워드 정보 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 제11항에 있어서, 상기 로컬 애플리케이션 및 상기 원격 애플리케이션은 이메일 애플리케이션, 이북 애플리케이션, 캘린더 애플리케이션, 내비게이션 애플리케이션 및 미디어 플레이어 애플리케이션 중 하나 이상을 포함하는 컴퓨터 액세스가능 저장 매체.
- 제11항에 있어서, 상기 메타데이터는 피어-투-피어 아키텍쳐에서 상기 원격 애플리케이션에 전달되는 컴퓨터 액세스가능 저장 매체.
- 제11항에 있어서, 상기 메타데이터는 서버 기반 아키텍쳐에서 상기 원격 애플리케이션에 전달되는 컴퓨터 액세스가능 저장 매체.
- 네트워크 인터페이스;
로컬 애플리케이션과 연관된 메타데이터를 식별하도록 구성된 메타데이터 모듈; 및
확장 마크업 언어를 이용하여 상기 메타데이터를 포함하는 스탠자를 생성하고 - 상기 스탠자는 원격 애플리케이션에 전달됨 -, 상기 원격 애플리케이션의 소셜 네트워킹 상태를 식별하고, 운영 체제 독립 채팅 프로토콜을 이용하여 상기 메타데이터를 상기 네트워크 인터페이스를 통해 상기 원격 애플리케이션에 전달하고 - 상기 채팅 프로토콜은 XMPP(extensible messaging and presence protocol)임 -, 상기 스탠자에 기초하여 상기 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트하도록 구성된 채팅 엔진을 포함하고,
상기 원격 애플리케이션의 상기 소셜 네트워킹 상태는 공통 작업 공간에서 식별되고, 상기 로컬 애플리케이션의 상기 소셜 네트워킹 상태는 상기 공통 작업 공간에서 업데이트되는, 시스템. - 삭제
- 삭제
- 삭제
- 제21항에 있어서, 상기 로컬 애플리케이션을 더 포함하고, 상기 원격 애플리케이션은 다른 디바이스 상에 상주하는 시스템.
- 제25항에 있어서, 스마트 텔레비전, 서버, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트 태블릿, 스마트폰, PDA, 모바일 인터넷 디바이스, 미디어 플레이어, IVI 시스템 및 영상 캡쳐 디바이스 중 하나 이상을 더 포함하는 시스템.
- 제21항에 있어서, 상기 메타데이터는 이메일 정보, 약속 정보, 오디오 정보, 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보 및 키워드 정보 중 하나 이상을 포함하는 시스템.
- 제21항에 있어서, 상기 로컬 애플리케이션 및 상기 원격 애플리케이션은 이메일 애플리케이션, 이북 애플리케이션, 캘린더 애플리케이션, 내비게이션 애플리케이션 및 미디어 플레이어 애플리케이션 중 하나 이상을 포함하는 시스템.
- 제21항에 있어서, 상기 메타데이터는 피어-투-피어 아키텍쳐에서 상기 원격 애플리케이션에 전달되는 시스템.
- 제21항에 있어서, 상기 메타데이터는 서버 기반 아키텍쳐에서 상기 원격 애플리케이션에 전달되는 시스템.
- 제1 디바이스 상에 상주하는 원격 애플리케이션의 소셜 네트워킹 상태를 식별하는 단계;
운영 체제 독립 채팅 프로토콜을 이용하여 상기 원격 애플리케이션과 연관된 메타데이터를 수신하는 단계;
상기 메타데이터를 포함하는 확장 마크업 언어 스탠자를 수신하는 단계 - 상기 채팅 프로토콜은 XMPP(extensible messaging and presence protocol)임 -;
상기 스탠자를 번역할지를 판정하는 단계;
제2 디바이스 상에 상주하는 로컬 애플리케이션에 상기 메타데이터를 제공하는 단계; 및
상기 스탠자에 기초하여 상기 로컬 애플리케이션의 소셜 네트워킹 상태를 업데이트 하는 단계를 포함하고,
상기 원격 애플리케이션의 상기 소셜 네트워킹 상태는 공통 작업 공간에서 식별되고, 상기 로컬 애플리케이션의 상기 소셜 네트워킹 상태는 상기 공통 작업 공간에서 업데이트되는, 컴퓨터로 구현되는 방법. - 삭제
- 제31항에 있어서, 확장 마크업 언어 메시지 서버의 해석기 모듈을 이용하여 상기 스탠자를 번역하는 단계를 더 포함하는 컴퓨터로 구현되는 방법.
- 삭제
- 삭제
- 제31항에 있어서, 상기 메타데이터는 이메일 정보, 약속 정보, 오디오 정보, 비디오 정보, 웹 서비스 정보, 사용자 선호도 정보 및 키워드 정보 중 하나 이상을 포함하는 컴퓨터로 구현되는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161533454P | 2011-09-12 | 2011-09-12 | |
US61/533,454 | 2011-09-12 | ||
PCT/US2011/065378 WO2013039540A1 (en) | 2011-09-12 | 2011-12-16 | Metadata driven collaboration between applications and web services |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140063750A KR20140063750A (ko) | 2014-05-27 |
KR101608730B1 true KR101608730B1 (ko) | 2016-04-04 |
Family
ID=47883591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147008293A KR101608730B1 (ko) | 2011-09-12 | 2011-12-16 | 애플리케이션 및 웹 서비스 간의 메타데이터 구동 콜라보레이션 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10062123B2 (ko) |
EP (1) | EP2756409A4 (ko) |
JP (1) | JP6023811B2 (ko) |
KR (1) | KR101608730B1 (ko) |
CN (2) | CN109614244B (ko) |
TW (1) | TWI483120B (ko) |
WO (1) | WO2013039540A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10062123B2 (en) | 2011-09-12 | 2018-08-28 | Intel Corporation | Metadata driven collaboration between applications and web services |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102023235B1 (ko) * | 2013-03-11 | 2019-09-19 | 키포인트 테크놀로지스 인디아 프라이비트 리미티드 | 컨텍스트 발견 |
US9727391B2 (en) | 2014-07-08 | 2017-08-08 | Able World International Limited | Method for performing task on unified information units in a personal workspace |
US9626157B2 (en) | 2014-07-03 | 2017-04-18 | Able World International Limited | Method of projecting a workspace and system using the same |
SG11201610925UA (en) * | 2014-07-03 | 2017-02-27 | Able World Internat Ltd | Method for projecting workspace and system using same |
WO2016000592A1 (en) * | 2014-07-03 | 2016-01-07 | U3D Limited | Triggering method of preloading concerned web pages |
KR102512884B1 (ko) * | 2014-07-03 | 2023-03-21 | 에이블 월드 인터내셔널 리미티드 | 개인 작업 공간에서 통일화 요소를 조합 작업하는 방법 및 상기 방법을 응용하는 컴퓨터 프로그램 제품과 시스템 |
TWI563404B (en) * | 2014-07-03 | 2016-12-21 | Able World Internat Ltd | Networking cooperation method and machine using such method |
US11360828B2 (en) | 2014-07-08 | 2022-06-14 | Able World International Limited | Method for combining unified matters in personal workspace and system using the same |
DE102014114585A1 (de) * | 2014-10-08 | 2016-04-14 | Océ Printing Systems GmbH & Co. KG | Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem |
KR102330249B1 (ko) * | 2014-10-27 | 2021-11-23 | 삼성전자주식회사 | 다중 기기 간 커뮤니케이션을 제공하는 방법 및 디바이스 |
EP3015984A1 (en) * | 2014-10-29 | 2016-05-04 | Hewlett-Packard Development Company, L.P. | Providing data from data sources |
US20160156773A1 (en) * | 2014-11-28 | 2016-06-02 | Blackberry Limited | Dynamically updating route in navigation application in response to calendar update |
EP3251032A4 (en) * | 2015-01-29 | 2018-08-08 | Able World International Limited | Interactive operation method, and transmitter machine, receiver machine and interactive operation system using the same |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
US10853347B2 (en) | 2017-03-31 | 2020-12-01 | Microsoft Technology Licensing, Llc | Dependency-based metadata retrieval and update |
EP3627322A4 (en) * | 2017-06-14 | 2020-04-29 | Beijing Xiaomi Mobile Software Co., Ltd. | APPLICATION INTERACTION METHOD, INTERACTION METHOD AND DEVICE |
TWI646435B (zh) * | 2017-12-28 | 2019-01-01 | 中華電信股份有限公司 | 無伺服器之系統及其執行方法 |
US10397304B2 (en) | 2018-01-30 | 2019-08-27 | Excentus Corporation | System and method to standardize and improve implementation efficiency of user interface content |
US11314627B2 (en) * | 2018-04-20 | 2022-04-26 | Sap Se | Test automation system for distributed heterogenous environments |
US11726995B2 (en) | 2019-12-17 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | System and method for value pack generation using generic SQL plugin for unified console |
TWI767198B (zh) * | 2020-03-17 | 2022-06-11 | 昕力資訊股份有限公司 | 控制異質平台端點的電腦程式產品及裝置 |
JP7047151B1 (ja) | 2021-02-15 | 2022-04-04 | Tis株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007255908A (ja) * | 2006-03-20 | 2007-10-04 | Pioneer Electronic Corp | 情報端末装置、情報通信方法及び情報通信プログラム |
JP2008310618A (ja) * | 2007-06-15 | 2008-12-25 | Fujitsu Ltd | Web会議支援プログラム、該プログラムを記録した記録媒体、Web会議支援装置、およびWeb会議支援方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457613B1 (en) * | 1995-12-12 | 2008-11-25 | At&T Mobility Ii Llc | Method and apparatus for indicating to a wireless network the operational mode of a wireless communicator |
US6137802A (en) * | 1997-03-25 | 2000-10-24 | Motorola, Inc. | Automatic media switching apparatus and method |
US6721949B1 (en) * | 2000-03-27 | 2004-04-13 | General Instrument Corporation | Kernel abstraction layer for digital television set-top box firmware |
US20030115358A1 (en) * | 2001-09-04 | 2003-06-19 | Yeong-Hyun Yun | Unified interprocess communication |
AU2003272404A1 (en) * | 2002-09-16 | 2004-04-30 | Clearcube Technology, Inc. | Distributed computing infrastructure |
JP2004334428A (ja) * | 2003-05-06 | 2004-11-25 | Murata Mach Ltd | コンテンツ管理装置およびその装置が管理するコンテンツを閲覧する装置 |
JP2004341634A (ja) | 2003-05-13 | 2004-12-02 | Ntt Docomo Inc | 移動機、データ送受信方法、及びデータ送受信プログラム |
US8131739B2 (en) * | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
CN1902965B (zh) | 2003-11-26 | 2011-01-12 | 诺基亚公司 | 灵活的消息传送*** |
JP4203657B2 (ja) * | 2004-02-27 | 2009-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム |
AU2005223267B2 (en) * | 2004-03-16 | 2010-12-09 | Icontrol Networks, Inc. | Premises management system |
US7551727B2 (en) * | 2004-10-20 | 2009-06-23 | Microsoft Corporation | Unified messaging architecture |
US8737579B2 (en) * | 2005-08-03 | 2014-05-27 | At&T Intellectual Property I, L.P. | Methods of routing messages using a listener registry |
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US8055727B2 (en) * | 2005-09-22 | 2011-11-08 | Fisher-Rosemount Systems, Inc. | Use of a really simple syndication communication format in a process control system |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US8019737B2 (en) | 2008-03-13 | 2011-09-13 | Harris Corporation | Synchronization of metadata |
JP5351596B2 (ja) * | 2009-04-20 | 2013-11-27 | 日本電信電話株式会社 | 通信システムおよびソフトウェアモジュール配布方法 |
US20110055015A1 (en) * | 2009-08-31 | 2011-03-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for deferring a transmission of a message comprising an advertisement component |
US8832676B2 (en) * | 2009-09-30 | 2014-09-09 | Zynga Inc. | Apparatuses, methods and systems for a social networking application updater |
US20110321062A1 (en) * | 2010-06-26 | 2011-12-29 | Cisco Technology, Inc. | Capturing events from and providing targeted messages to a digital media device |
WO2012044356A2 (en) * | 2010-10-01 | 2012-04-05 | Interdigital Patent Holdings, Inc. | Method and apparatus for media session sharing and group synchronization of multi media streams |
US10062123B2 (en) | 2011-09-12 | 2018-08-28 | Intel Corporation | Metadata driven collaboration between applications and web services |
-
2011
- 2011-12-16 US US13/997,091 patent/US10062123B2/en active Active
- 2011-12-16 JP JP2014529699A patent/JP6023811B2/ja not_active Expired - Fee Related
- 2011-12-16 CN CN201811002554.XA patent/CN109614244B/zh active Active
- 2011-12-16 EP EP11872394.9A patent/EP2756409A4/en not_active Withdrawn
- 2011-12-16 WO PCT/US2011/065378 patent/WO2013039540A1/en active Application Filing
- 2011-12-16 CN CN201180073399.0A patent/CN103765403A/zh active Pending
- 2011-12-16 KR KR1020147008293A patent/KR101608730B1/ko active IP Right Grant
-
2012
- 2012-08-28 TW TW101131177A patent/TWI483120B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007255908A (ja) * | 2006-03-20 | 2007-10-04 | Pioneer Electronic Corp | 情報端末装置、情報通信方法及び情報通信プログラム |
JP2008310618A (ja) * | 2007-06-15 | 2008-12-25 | Fujitsu Ltd | Web会議支援プログラム、該プログラムを記録した記録媒体、Web会議支援装置、およびWeb会議支援方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10062123B2 (en) | 2011-09-12 | 2018-08-28 | Intel Corporation | Metadata driven collaboration between applications and web services |
Also Published As
Publication number | Publication date |
---|---|
KR20140063750A (ko) | 2014-05-27 |
JP2014528124A (ja) | 2014-10-23 |
CN109614244A (zh) | 2019-04-12 |
EP2756409A4 (en) | 2015-01-28 |
TWI483120B (zh) | 2015-05-01 |
TW201329734A (zh) | 2013-07-16 |
EP2756409A1 (en) | 2014-07-23 |
US10062123B2 (en) | 2018-08-28 |
JP6023811B2 (ja) | 2016-11-09 |
US20140244766A1 (en) | 2014-08-28 |
CN109614244B (zh) | 2023-10-13 |
CN103765403A (zh) | 2014-04-30 |
WO2013039540A1 (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101608730B1 (ko) | 애플리케이션 및 웹 서비스 간의 메타데이터 구동 콜라보레이션 | |
US11076007B2 (en) | Multi-modal conversational intercom | |
US10892955B1 (en) | Management of a network via a GUI of user relationships | |
US10171410B2 (en) | Cross-mode communiation | |
US9720747B2 (en) | Method for flow control and reliable communication in a collaborative environment | |
US10623193B2 (en) | Enhancing collaboration in real-time group chat system and method | |
US11785194B2 (en) | Contextually-aware control of a user interface displaying a video and related user text | |
JP2018504657A (ja) | タブベースのブラウザコンテンツ共有 | |
US20160054984A1 (en) | Method and apparatus for providing template-based applications | |
KR101739664B1 (ko) | 이벤트 생성을 위한 시스템 및 방법 | |
US10504277B1 (en) | Communicating within a VR environment | |
US20180084015A1 (en) | System and method for maintaining a collaborative environment | |
US10785121B2 (en) | Device discovery using discovery nodes | |
Hoehl et al. | From clouds to rain: consolidating and simplifying online communication services with easy one communicator | |
US20220382825A1 (en) | Method and system for web page co-browsing | |
WO2014205693A1 (en) | Method and apparatus for providing messaging compatbility status |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190227 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200227 Year of fee payment: 5 |