KR101526911B1 - 컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치 - Google Patents
컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101526911B1 KR101526911B1 KR1020107028408A KR20107028408A KR101526911B1 KR 101526911 B1 KR101526911 B1 KR 101526911B1 KR 1020107028408 A KR1020107028408 A KR 1020107028408A KR 20107028408 A KR20107028408 A KR 20107028408A KR 101526911 B1 KR101526911 B1 KR 101526911B1
- Authority
- KR
- South Korea
- Prior art keywords
- user device
- task
- collaborators
- sharing
- resource information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
종래 기술의 문제점들을 해소하기 위해, 본 발명은 이용자 디바이스들 사이의 리소스 공유를 위한 새로운 방식을 제공하며, 그것은 쉽게 이용되고, 구현되고, 확장된다. 또한, 본 발명은 리소스 공유를 위한 이용자 입력을 증가시키는 것을 목적으로 한다. 특히, 본 발명은 IM 메시지들을 통해 위탁될 태스크의 키 정보에 관련되는 IM 프로토콜, 공유 개시자, 및 그의 협력자들에 기초한다. 이어서, 바람직하게는, 개시자는 협력자들과의 추가적인 통신 후에, 위탁될 태스크들 각각에 대해 하나 이상의 협력자들을 선택한다. 각각의 태스크에 대해, 선택된 협력자들은 그의 후보지명된 협력자들로서 언급된다. 적어도 협력자들 각각은 그것에 위탁된 태스크(들)를(을) 핸들링하고, 만약 있다면, 결과를 개시자에게 다시 전송한다.
Description
본 발명은 컴퓨터 네트워크에서 리소스 공유에 관한 것으로, 특히, 컴퓨터 네트워크에서 이용자 디바이스들 사이에서 인스턴트 메시징(Instant Messaging; IM) 프로토콜에 기초한 리소스 공유를 위한 방법 및 장치에 관한 것이다.
인터넷의 급속한 발전은 사람들에게 리소스들을 공유하기 위한 보다 많은 기회들을 제공한다. 상이한 이용자 디바이스들(예를 들면, PC 및 노트북) 사이의 리소스 공유를 위한 기존의 기술들은 아래와 같은 것이다:
RPC(Remote Program Calls)는 이용자들이 원격 컴퓨터 리소스들에 액세스할 수 있고, 언더-레이어 네트워크 기술(under-layer network technology)의 프로토콜들을 알 필요가 없는, 종류의 기술이다. 한편, CORBA는 COM, JAVA와 동등한 입장에 있는 분배 기술이다. CORBA는 위치들 및 프로토콜들에 기초한 분배 프레임워크를 제공하고, 즉 이용자가 미리 서비스 위치와 관계가 있어야 하고, IIOP에 의해 통신하기 위해 적절한 ORB 데이터베이스를 소유한다. 보다 세부적인 것들에 대해서는, 웹사이트: http://www.corba.org를 참조하라.
RPC 및 CORBA는 이용자들에게, 원격 컴퓨터 리소스들에 액세스하는 방식을 제공한다. 하지만, 이들 프로토콜들은 이용자에게 프로그래머(예를 들면, 자바 프로그래밍)의 레벨에 있을 것을 요구하고, 프로그래머는 프로그래밍하기 전에, 상세한 프로그래밍 인터페이스들, 리소스 용량 정보(resource capacities information) 등을 알 필요가 있다. 그래서, 이들 프로토콜들이 아주 인기 있는 것은 아니다.
MA는 그 자신을 결정할 수 있고, 임의의 태스크(task)를 맡기 위해 노드들 사이에서 이동할 수 있는 프로그램이다. 실제로, 그것은 그의 운용 장소 및 시간을 선택할 수 있고, 특정한 상황에 따라 그의 실행을 중단할 수 있고, 복원을 위해 또 다른 컴퓨터 쪽으로 이동할 수 있고, 스스로 제때에 적절한 결과들을 뒤로 전송할 수 있는 네트워크 컴퓨터이다.
불행히도, MA는 불가피하게 심각한 보안 문제점들을 야기할 수 있는, 상이한 컴퓨터들 사이에서 코드들의 움직임에 의존한다. 그 이유들은 다음과 같다: 1) 코드들이 하나의 컴퓨터에서 다른 컴퓨터로 이동할 때 차단될 수 있고; 2) 움직임의 프로세스 동안, 그것들은 간섭될 수 있고, 소프트웨어 및 다른 컴퓨터의 동작 시스템에 손상을 야기할 수 있다.
상세한 사항들에 대해서는 http://en.wikipedia.org/wiki/Mobile_agent를 참조하라.
그리드 연산은 분배된 연산 및 리소스 공유가 이종 시스템들 중에서 실행되는 프레임워크를 확립한다. 하지만, 이 프레임워크는 리소스들을 조합 및 관리하기 위해 버추얼 슈퍼 컴퓨터(virtual super computer)를 필요로 하여, 언더-레이어 그리드 시스템(under-layer grid system)이 아주 복잡하고, 이용자들은 그의 프로그램 디자인에 대한 특정한 지시들을 따라야 한다.
그리드 연산과 관련되는 상세한 사항들에 대해서는, http://www.globus.org/tookit/draft-ggf-ogsi-gridservice-33_2003-06-27.pdf를 참조하라.
현재, 인터넷 상에서 웹 기반의 위탁 서비스들이 몇몇 존재한다. 예를 들면, 다양한 타입들의 원래 파일들을 PDF 포맷의 파일들로 변환하는 서비스들이 웹사이트(http://www.expresspdf.com) 상에서 제공된다. 도 1은 .DOC 도큐먼트들을 .PDF 도큐먼트들로 변환하는 서비스에 관한 웹페이지를 도시한다. 여기에서, 이용자는, 그 또는 그녀가 로컬 메모라이저 또는 액세스가능한 네트워크 메모라이저(accessible network memorizer) 상에 저장된 .DOC 도큐먼트를 선택하도록 허용되는, 대화 상자(dialog box)를 활성시키기 위해 버튼 B1 "브라우즈(Browse)"를 클릭할 수 있다. 또한, 대응하는 .PDF 도큐먼트들을 이용자에게 전송하기 위해, 이 웹페이지는 또한, 이용자가 그/그녀가 .PDF 도큐먼트들을 수신하기 위해 이용하고자하는 이메일 어드레스를 입력할 필요가 있는 입력 박스(B2)를 포함한다. 앞에서 언급된 동작들을 완료한 후에, 이용자는 버튼 B3 "PDF로 변환!"을 클릭하고; 따라서, 선택된 .DOC 도큐먼트들은 웹사이트의 서버에 제출되고, 임의의 소프트웨어, 예를 들면, Adobe PDF에 의해 .PDF 포맷으로 변환된다. 마지막으로, .PDF 도큐먼트들은 abcdef@yahoo.com.cn과 같은, 이용자에 의해 선택된 이메일 어드레스로 전송된다.
하지만, 이 솔루션은 웹 브라우저(예를 들면, MS 인터넷 익스플로러)에만 기초한다. 이용자는 또한, 많은 회수 동안 입력 동작들을 실행해야 한다. 무엇보다도, 그것은, 단일 서버와 단일 이용자 디바이스사이의 리소스 공유만을 달성하고, 이용자 디바이스들 사이의 리소스 공유가 여전히 달성될 수 없다.
위의 문제점들을 해소하기 위해, 본 발명의 목적은 컴퓨터 시스템에서 이용자 디바이스들 사이의 리소스 공유를 위한 새로운 방식을 제공하는 것이다. 이 방식은 보다 넓은 범위까지 자동화를 실현하기 위해 이용자의 입력들을 쉽게 이용하고 감소시키는 이점들을 갖는다. 특히, 본 발명은 IM 프로토콜들에 기초한다.
이하에서, 다른 이용자 디바이스들의 리소스들을 이용하는 로컬 이용자의 이용자 디바이스는 공유 개시자("initiator")로서 언급된다. 그리고, 이 로컬 이용자의 동료들의 이용자 디바이스들은 개시자의 협력자들로서 언급된다.
본 발명에 따라, 개시자는 그의 협력자들에게 IM 메시지들을 통해 위탁될 태스크들의 키 정보를 알린다. 이어서, 바람직하게는, 개시자는 멀티-이용자 디바이스 상호작용으로써 각각의 위탁될 태스크에 대해 하나 이상의 협력자들을 선택한다. 각각의 태스크에 대해, 선택된 협력자(들)는(은) 주제 태스크에 대해 후보지명된 협력자(들)('nominated cooperator(s)')로서 언급된다. 적어도, 협력자들 각각은 그것에 위탁된 태스크(들)를(을) 핸들링하고, 만약 있다면, 개시자에게 다시 그 결과를 전송한다.
위의 목적을 달성하기 위해, 본 발명의 제 1 양태에 따라, 컴퓨터 네트워크에서, 인스턴트 메시징 프로토콜에 기초하여 이용자 디바이스들 사이의 리소스들을 공유하는 방법이 제공된다. 여기에서, 공유 개시자는 다수의 협력자들을 가지며, 상기 방법은: b. 위탁될 각각의 태스크에 대해, 공유 개시자가 IM 프로토콜들의 상호작용 정보를 통해 상기 태스크에 관하여 하나 이상의 후보지명된 협력자들에게 태스크를 위탁하는 단계; c. 태스크에 관하여 각각의 후보지명된 협력자가 각각 태스크를 핸들링하는 단계; 및 d. 태스크에 관하여 후보지명된 협력자들이 상기 공유 개시자에게 다시 그 결과를 전송하는 단계를 포함한다.
본 발명의 제 2 양태에 따라, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치가 제공되고, 여기에서, 이용자 디바이스는 복수의 협력자들을 갖는다. 제 1 공유 장치는: 1) 위탁될 각각의 태스크에 관하여, 상기 태스크에 관한 하나 이상의 후보지명된 협력자들에게 태스크를 위탁하기 위한 태스크 위탁 수단; 및 2) 태스크에 관하여 협력자들로부터 결과를 수신하기 위한 결과 수신 수단을 포함한다.
본 발명의 제 3 양태에 따라, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하기 위해 또 다른 이용자 디바이스를 어시스트(assist)하기 위해, 리소스 공유를 위한 제 2 디바이스가 제공되고: IM 프로토콜들의 상호작용 메시지들을 통해 또 다른 이용자 디바이스로부터 위탁을 수신하기 위한 위탁 수신 수단으로서, 상기 위탁은 로컬 이용자 디바이스가 상기 또 다른 이용자 디바이스의 하나 이상의 위탁될 태스크들에 관하여 협력자이고, 대응하는 태스크들을 핸들링한다는 것을 나타내는, 상기 위탁 수신 수단; 위탁될 그의 태스크들 각각에 대해 하나 이상의 후보지명된 협력자들을 결정하기 위해 또 다른 이용자 디바이스를 어시스트하는 결정 어시스트 수단; 대응하는 중요도(consequence)를 얻기 위해 위탁(consignment)에 의해 주문되는 하나 이상의 태스크들을 핸들링하기 위한 서브-핸들링 수단; 및 상기 또 다른 이용자 디바이스에 그 결과를 리턴하기 위한 결과 리턴 수단을 포함한다.
당업자들은 이 텍스트에서 컴퓨터 네트워크의 이용자 디바이스가 다른 디바이스들과 통신하도록 IM 프로토콜들을 지원할 수 있는 모든 종류의 디바이스들을 포괄하고, 데스크탑 개인용 컴퓨터(PC), 노트북 PC, PDA(portable digital assistant), 인텔리전트 셀 폰(intelligent cell phone), 네트워크 서버, 및 다른 단말 장비들을 포함하지만 그것들에 제한되지 않음을 이해한다.
당업자들은 또한, 본 발명에 의해 제공되는 기술적인 솔루션이 서버/클라이언트 모드(S/C) 또는 P2P(Peer-to-Peer)에 기초하여 네트워크들에 적용가능함을 이해한다.
앞서 언급한 방법 및 장치는 이용자 디바이스들이 IM 프로토콜들에 기초하여 리소스들을 공유하는 것을 가능하게 한다. 그것들은 쉽게 구현되고 확장되며, 전문적인 이용자들은 보다 강력한 애플리케이션 절차들 또는 서비스들을 활용할 때 전통적인 방법들 또는 아키텍처들에 의해 제한되지 않는다.
본 발명의 여러 가지 특성들, 특징들 및 이점들은 도면들과 함께 아래의 상세한 설명을 읽음으로써 보다 명백해질 것이다.
도 1은 .DOC 도큐먼트들을 .PDF 도큐먼트들로 변환하는 서비스들을 제공하는 http://www.expresspdf.com/의 웹페이지를 도시하는 도면.
도 2는 본 발명의 바람직한 예에 따르는 IM 프로토콜들에 기초하는 컴퓨터 네트워크를 도시하는 도면.
도 3은 본 발명의 바람직한 예에 따르는 컴퓨터 네트워크에서 IM 프로토콜들에 기초하여 이용자 디바이스들 사이의 리소스 공유를 위한 시스템적인 방법을 도시하는 흐름도.
도 4는 본 발명의 바람직한 예에 따르는, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치의 블록도.
도 5는 본 발명의 바람직한 예에 따르는, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하기 위해 또 다른 이용자 디바이스를 어시스트하는 제 2 공유 장치의 블록도.
도 6은 본 발명을 구현하는 애플리케이션 과정들을 도시하는 도면.
도 2는 본 발명의 바람직한 예에 따르는 IM 프로토콜들에 기초하는 컴퓨터 네트워크를 도시하는 도면.
도 3은 본 발명의 바람직한 예에 따르는 컴퓨터 네트워크에서 IM 프로토콜들에 기초하여 이용자 디바이스들 사이의 리소스 공유를 위한 시스템적인 방법을 도시하는 흐름도.
도 4는 본 발명의 바람직한 예에 따르는, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치의 블록도.
도 5는 본 발명의 바람직한 예에 따르는, 컴퓨터 네트워크의 이용자 디바이스에서, IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하기 위해 또 다른 이용자 디바이스를 어시스트하는 제 2 공유 장치의 블록도.
도 6은 본 발명을 구현하는 애플리케이션 과정들을 도시하는 도면.
여기에서, 동일 또는 유사한 도면번호들은 동일 또는 유사한 단계-특성들 또는 수단-특성들을 나타낸다.
도 2는 본 발명의 바람직한 예에 따르는 IM 프로토콜들에 기초하는 컴퓨터 네트워크를 도시한다. 여기에서, 네트워크는 이용자 디바이스(1)(PDA), 이용자 디바이스(2)(데스크탑 PC), 이용자 디바이스(3)(노트북 PC), 이용자 디바이스(4)(액세스가능한 네트워크 서버) 및 이용자 디바이스(5)(PDA)를 포함하고, 그것들 모두는 인터넷 또는 인트라넷을 통해 통신하기 위한 것이다. 본 발명을 구현하기 위해, 임의의 IM 소프트웨어는 MSN 메신저, QQ, 스카이피(Skype)와 같은, 도시된 도면에서 모든 이용자 디바이스 상에 설치되어 있다. 이러한 종류들의 소프트웨어는 공통적인 특징을 가지며, 이용자 디바이스 상에서 또는 서비스 제공자에 의해 제공되는 네트워크 디바이스 상에서 유지되는 동료 리스트(buddy list)가 존재한다.
이 예에 따라, 쉐인(Shane)이 이용자 디바이스(1)를 보유하고 있고, 아서스(Arthas)가 이용자 디바이스(2)를 보유하고 있고, 카일(Kyle)이 이용자 디바이스(3)를 보유하고 있고, 아루카드(Alucard)가 이용자 디바이스(4)를 보유하고 있고, 제니퍼(Jennifer)가 이용자 디바이스(5)를 보유하고 있다. 여기에서, 쉐인은 개시자의 로컬 이용자, 즉 이용자 디바이스(1)이고, 아서스, 카일, 아루카드 및 제니퍼가 MSN 메신저(이하, 'MSN'이라 함) 상에서 쉐인의 모든 동료들이다. 그래서, 이용자 디바이스들(2 내지 5) 모두는 이용자 디바이스(1)의 협력자들이다.
바람직하게는, 각각의 이용자 디바이스는 각각 그의 리소스 리스트를 유지한다. 일반적으로 말해서, 이 리스트는 CPU, 휘발성 메모리, 동작 시스템, 설치된 소프트웨어 및 설치된 소프트웨어의 메인 기능들의 정보를 포함한다. 선택적으로, 상술한 정보의 하나 이상의 아이템들은 중앙 또는 여러 개의 분배된 데이터베이스형 네트워크 서버(들) 상에 저장될 수 있고, 다른 이용자 디바이스들의 액세스를 위해 대응하는 이용자 디바이스에 의해 업데이트될 수 있다. 본 발명의 특별한 예에 따라, CPU, 휘발성 메모리, OS, 설치된 소프트웨어, 및 그것들의 기능들 전부와 같은 정보는 그러한 데이터베이스형 네트워크 서버들 상에 저장될 수 있다. 저장된 정보는 확실히 액세스가능하고, 각각의 이용자 디바이스는 그의 정보를 업데이트하고, 다른 이용자로 하여금 액세스하여 그것을 판독하게 한다. 리소스 정보의 상술한 리스트들의 기능들은 아래에서 상세히 설명된다.
당업자들은, CPU의 연산 능력 및 휘발성 메모리의 버퍼링 능력이 일반적으로 이용자 디바이스의 연산 속도에 있어 중요한 역할을 실행한다는 것을 이해한다. 이들 리소스들(CPU, 휘발성 메모리 등)이 태스크(들)의 요구사항들에 비하여 아주 제한되면, 그것들은 소모될 수 있다. 당업자들은 이용자 디바이스의 저장 능력이 여기에 설치될 수 있는 소프트웨어의 수 및 사이즈를 제한할 수 있고, 특히, 소프트웨어가 보다 많은 메모리 공간을 차지한다는 것을 이해한다.
상이한 이용자 디바이스들은 상이한 리소스 상태를 가질 수 있다. 예를 위해 이용자 디바이스(1)(PDA)를 취해보자. 그의 치수의 제한으로 인해, 그 CPU의 주파수는 400MHZ 내지 600MHZ의 범위일 수 있고, 휘발성 메모리는 리딩(leading) PC 또는 노트북과 비교할 때 무시할 수 있는 64MB 또는 128MB일 수 있다. 다른 측면에서, PDA 비휘발성 메모리에 대하여 메모리 성능의 단점은 수용가능할 수 있다. 하지만, 강력한 소프트웨어의 큰 양이 대단히 큰 저장 공간을 요구하므로, 그것은 SD, CF, MS-PRO, MS-DUO와 같은 메모리 카드들에 주로 의존하는 PDA 상에 압력을 가한다.
위의 분석에 기초하여, 본 발명의 바람직한 예는 흐름도들과 조합하여 설명된다. 본 발명에 따르는 바람직한 예에 따르는 컴퓨터 네트워크에서 IM 프로토콜들에 기초하여 이용자 디바이스들 사이의 리소스 공유를 위한 방법에 대한 개략적인 흐름도를 도시하는 도 3을 참조하자. 바람직한 예는 도 3을 참조하고, 도 2와 연계하여 설명된다.
쉐인은 이용자 디바이스(1)에 의해 AVI 포맷이며, H.264 표준에 의해 카피되는 무비를 다운로드한다. 하지만, 이용자 디바이스(1)는 MPEG4 포맷으로만 비디오들을 플레이할 수 있고, H.264에 기초하여 비디오들을 플레이할 수 없다. 그래서, 이 무비는 이용자 디바이스(1) 상에서 플레이되기 전에 MPEG4 포맷으로 변환되어야 한다. 본 발명의 한 가지 예에 따라, 이용자 디바이스(1)는 H.264에서 MPEG4로의 변환을 위해 소프트웨어를 설치하지 않는다. 이때, 쉐인은 그가 이 비디오를 시청하고자 원함을 보여주기 위해 터치 스크린 상의 버튼을 클릭한다. 그의 포맷이 이용자 디바이스(1) 상의 플레이어에 의해 지원될 수 없으므로, 아래의 환경들이 존재한다:
- 이용자 디바이스(1) 상의 플레이어가 시작되지만, AVI 비디오의 파일 타입을 인식하는데 실패하고;
- 이용자 디바이스(1) 상의 플레이어가 시작되지 않고, 쉐인은 그것을 오픈하기 위해 또 다른 소프트웨어를 선택하는 것을 상기한다.
실제의 구성에 따라, 본 방법은 임의의 순간의, 예를 들면, 플레이어가 시작되고, 파일 타입을 인식할 수 없을 때 또는 그것이 다른 소프트웨어를 선택하도록 쉐인을 상기시킬 때, 상기 도면에서 보여지는 바와 같이, 유연하게 S10으로 들어갈 수 있다.
이제, 포맷 변환은 AVI 포맷으로 비디오를 시청하는 것을 필요로 한다. 이어서, S10에서, 이용자 디바이스(1)는 파일의 많은 비디오 프레임들이 H.264에서 MPEG4로 변환될 필요가 있다고 결정한다. 확실히, 태스크들의 수는 유연하게 결정될 수 있다. 예를 들면, 전체로서 AVI 파일의 변환은 단일 태스크로서 규정될 수 있거나, 모든 단일 프레임의 변환이 태스크로서 규정될 수 있거나, 프레임들의 세트의 변환이 이러한 태스크일 수 있다. 이용자 디바이스(1)는 AVI 파일을 10개의 동일한 부분들로 나눈다. 결과적으로, 10개의 태스크들이 존재하고, 그의 각각은 복수의 프레임들의 변환에 대응한다. 특히, 그것들 중 하나는 또한, 이용자 디바이스(1)에서 플레이어가 변환된 파일을 플레이할 때 동작할 수 있음을 보장하기 위해 AVI 헤더의 MPEG4 헤더로의 변환에 대응한다.
10개의 태스크들이 결정될 때, 상기 방법은 S11로 들어간다.
S11에서, 이용자 디바이스(1)는 MSN 메시지들을 통해, 10개의 태스크들의 키 정보를 그의 협력자들, 즉 제니퍼 아루카드, 카일 및 아서스의 이용자 디바이스들에 전송한다. 키 정보는 아래의 XML의 형태일 수 있다:
여기에서, 제 1 라인은 태스크의 타입이 파일 변환임을 나타내고; 제 2 라인은, 파일의 원래 포맷이 H.264임을 나타내고; 제 3 라인은 요구된 포맷이 MPEG4임을 나타낸다. 그리고, 제 4 라인은 변환될 원래 데이터를 나타낸다. 당업자들은 변환을 위해 위탁될 데이터 사이즈가 크지 않으면, 키 정보가 전송될 때, 원래 데이터가 위에서 보여지는 바와 같이 협력자들에게 직접 전송될 수 있음을 이해한다. 이 예에서, 변환된 데이터가 10M의 사이즈, 심지어는 100M 사이즈를 가지므로, 바람직하게는, 제 4 라인 '<input data>'...</input data>만이 각각의 태스크에 대응하는 데이터 사이즈를 나타낼 수 있다. 각각의 태스크에 관하여 후보지명된 협력자(들)가(이) 결정된 후에, 특정한 데이터가 협력자들에게 전송될 수 있다. 확실히, 네트워크 전송 리소스들이 아주 충분하면, 이용자 디바이스(1)는, 그의 키 정보를 제공할 때, 모든 협력자에게 변환될 파일(들)을 전송할 수 있다. 이러한 시나리오 하에서, 차후에 태스크(들)를(을) 위탁할 때, 이용자 디바이스(1)만이 태스크(들)가(이) 위탁되었음을 각각의 후보지명된 협력자에게 알릴 필요가 있다.
이제, MSN이 이용자 디바이스(1) 상에서 운용하지 않으면, 이 소프트웨어가 우선 시작되고, 이어서, 로깅 인(logging in) 또는 그것과 같은 것을 실행한다. 이것은 본 발명의 바람직한 예를 나타내고, 여기에서, MSN이 오프-라인 메시지들을 전송하도록 지원할 수 있지만, S11에서, 이용자 디바이스(1)는 쉐인의 온라인 동료들의 이용자 디바이스들에게만 태스크들의 키 정보를 전송한다. 확실히, 태스크들이 긴급하지 않으면, 이용자 디바이스(1)는 모든 쉐인의 모든 MSN 동료들의 이용자 디바이스들에 키 정보를 전송할 수 있고, 각 태스크의 후보지명된 협력자들은, S11을 실행할 때, 이용자 디바이스(1)가 모든 쉐인의 동료들(온라인 및 오프라인을 포함)의 이용자 디바이스들에 대한 리소스 정보를 얻은 후에, 결정될 수 있다. 간결하게, 이용자 디바이스들(2, 3)만이 이용자 디바이스(1)의 협력자들로서 도 3에 도시되어 있다.
이어서, 이 방법은 이용자 디바이스들(2, 3) 각각에서 선택적 및 바람직한 단계들(S20/S30)로 들어간다. 여기에서, 이용자 디바이스(1)의 10개의 위탁될 태스크들의 키 정보를 얻은 후에, 이용자 디바이스들(2, 3)은 그들 자신의 리소스 정보를 각각 체크한다. 상세히, 그들은, 스스로 또는 네트워크 서버에 의해 유지되는 리소스 정보 리스트에 액세스함으로써, 그들이 H.264 파일을 MPEG4로 변환할 수 있고, 또한 OS, CPU 주파수, 휘발성 메모리 사이즈 등의 정보를 얻을 수 있는 그러한 소프트웨어를 갖는지의 여부를 알 수 있다. 위의 정보에 기초하여 이용자 디바이스들(2, 3)은 10개의 태스크들 중 하나 이상을 핸들링할 수 있는지의 여부를 각각 결정한다.
이 예에서, 변환을 위한 상기 소프트웨어가 이용자 디바이스들(2, 3) 양쪽 모두에 설치된다. 무엇보다, 이용자 디바이스들(2, 3) 각각은 태스크들 중 적어도 하나에 대해 과거 경험에 기초할 수 있는지의 여부를 판단한다. 예를 들면, 차지된 CPU, 휘발성 메모리의 정보는, 그러한 디바이스들이 이전에 유사한 비디오 변환을 실행했을 때 유지되었다. 바람직하게는, 이용자 디바이스들(2, 3)은 보다 높은 CPU 주파수 및 보다 큰 휘발성 메모리를 갖는 디바이스가 보다 낮은 CPU 주파수 및 보다 작은 휘발성 메모리를 갖는 디바이스보다 훨씬 나쁜 성능을 가질 수 있으므로, 전자의 CPU 및 휘발성 메모리가 나쁘게 점유되는 경우에, 그들의 현재 리소스 점유 상태에 의존하여 이 판단을 행한다.
이용자 디바이스들(2, 3) 양쪽 모두가 각각 S20 및 30에서 판단 "예(Yes)"를 얻는 경우에, 그것들은 개별적으로 그것들의 리소스 정보를 이용자 디바이스(1)에 알린다. 바람직하게는, 리포트된 리소스 정보는 OS 버전, CPU 주파수, 휘발성 메모리 사이즈, 리포트하는 디바이스의 소프트웨어 버전에 관한 것이다.
여기에서, 이용자 디바이스(2)로부터의 리소스 정보는 아래와 같을 수 있다:
그리고, 이용자 디바이스(3)로부터의 리소스 정보는 아래와 같을 수 있다:
바람직한 것은, 협력자들로부터 공유 개시자로 전송된 리소스 정보가 리소스들, 예를 들면, CPU 주파수, 휘발성 메모리 사이즈의 총 수만을 포함할 뿐만 아니라, 그의 점유 상태, 예를 들면, CPU, 휘발성 메모리 등의 점유된 퍼센티지를 포함한다. 이 바람직한 예에서 제공되는 리소스 정보는 아래와 같을 수 있다:
간결화를 위해, 이용자 디바이스들(4, 5)로부터의 이러한 태스크들의 피드백은 흐름도에서 도시되지 않는다. 그리고, 이 예에서, 이용자 디바이스(5)는 변환 소프트웨어를 설치하지 않는다. 또한, 이용자 디바이스(5)는 매우 많은 리소스들이 점유되므로, 이러한 변환이 그의 리소스들의 소모를 야기하고, 또한 그것이 하나의 태스크를 핸들링하는데 아주 긴 시간이 걸릴 것이라고 추정한다. 그래서, 이용자 디바이스(5)는 임의의 태스크를 핸들링하는 것을 포기하고, 이용자 디바이스(1)에 응답하지 않을 수 있다. 대신에, 이용자 디바이스(4), 서버는 과중한 부담 하에 있고, 그의 CPU 및 휘발성 메모리가 크게 점유되고(아마도, 90% 또는 그 이상), 그래서, 이용자 디바이스(4)는 또한 임의의 태스크를 핸들링하는 것을 포기한다.
그러므로, S21 및 31 이후에, 이용자 디바이스(1)에 의해 수집된 리소스 정보는 이용자 디바이스들(2, 3)의 CPU, 휘발성 메모리, OS, 및 비디오 변환 소프트웨어의 관련된 정보만을 포함한다.
이어서, S12에서, 이용자 디바이스(1)는 10개의 태스크들 각각에 대해 후보지명된 협력자(들)를(을) 결정한다. 간단한 방식은 이용자 디바이스(1)가 협력자들의 CPU 주파수들에 따라 10개의 태스크들을 분배하는 것이다. 이 규칙에 따라, 10개 중 6개의 태스크들이 이용자 디바이스(3)에 할당되고, 나머지 4개의 태스크들은 이용자 디바이스(2)에 할당된다. 보다 복잡한 상황에서, 각각의 협력자의 CPU 주파수, 휘발성 메모리 사이즈 및 OS의 각 아이템이 미리 결정된 파라미터들에 의해 가중(weight)되고, 그 결과는 신속히 협력자(들)의 능력을 나타낼 수 있다. 그리고, 후보지명된 협력자들은 이러한 결과에 기초하여 결정될 것이다.
그래서, S13에서, 이용자 디바이스(1)는 위탁된 태스크(들)를(을) 후보지명된 협력자들에게 알린다. 특히, 이용자 디바이스(1)는 MSN을 통해 이용자 디바이스들(2, 3)에게 전체 AVI 파일을 전송하고, 그것들을 상이한 순간들에서 임의의 부분을 변환하도록 주문한다. 대안적으로, 이용자 디바이스(1)는 또한, 이미 AVI 파일을 분할할 수 있고, 즉, 파일을 두 개의 부분들로 분할할 수 있으며, 하나의 부분은 6개의 태스크들에 대응하고, 나머지는 4개의 태스크들에 대응한다. 따라서, 두 개의 부분들은 목적지에 전송된다.
상세한 태스크들의 위탁 방법들은 아래의 것을 포함할 수 있다:
솔루션 1: 새로운 포맷의 명령들을 부가하고, 새로운 명령들을 지원하기 위해 기존의 IM 소프트웨어를 확장한다;
솔루션 2: 새로운 명령들을 기존의 IM 메시지들에 부가한다.
이어서, S22 및 S32에서, 이용자 디바이스들(2, 3)은 설치된 MPEG4 변환기를 운용하고, S13에서 이용자 디바이스(1)에 의해 지시되는 태스크들을 실행한다.
S23, S33에서, 이용자 디바이스들(2, 3)은 변환된 MPEG4 데이터를 이용자 디바이스(1)에 전송한다. 그 데이터는 아래의 형태일 수 있다:
물론, 이용자 디바이스(2, 3)에 의해 전송된 MPEG4 데이터는 임의의 네트워크 전송 방식에 의해 전송될 수 있고, MPEG4 데이터를 인캡슐레이트(encapsulate)하기 위해 MSN에 의해 제공되는 패킹 툴들(packing tools)을 이용하고, MSN 메시지들을 통해 패키지를 전송하는 것을 포함하지만, 그것에 제한되지는 않는다. 이 때에, 이용자 디바이스(1)는 하드디스크 상의 미리 설정된 위치에 데이터를 자동으로 저장할 수 있다.
확실히, 이용자 디바이스(1)가 플레이가능한 MPEG4 파일을 얻기 위해 MPEG4 데이터의 두 개의 부분들을 조합할 수 없는 경우에, 이용자 디바이스들(2, 3)에 의해 전송된 두 개의 MPEG4 세그먼트들이 이용자 디바이스(1)에서 판독가능 및 플레이가능해야 함이 요구된다. 그래서, 이용자 디바이스들(2, 3)은 그것들의 변환된 데이터에 대한 파일 헤더들을 각각 생성한다. 그 결과, AVI 파일은 이용자 디바이스(1)에 다시 전송될 때, 두 개의 개별 MPEG4 파일들이 된다. 대안적으로, 이용자 디바이스(1)가 두 개의 MPEG4 세그먼트들을 조합할 수 없을 때, S12에서, 이용자 디바이스(1)는 10개의 태스크들을 핸들링하기 위해, 최상의 성능을 소유하는 하나의 이용자 디바이스, 즉 이용자 디바이스(3)만을 선택할 수 있다.
위의 문단들에서, 우리는 이용자 디바이스(1)가 변환(AVI -> MPEG4)의 소프트웨어를 설치하지 않은 상황에 대해 논의하였다. 본 발명의 또 다른 예에 따라, 이용자 디바이스(1) 상에 설치된 이러한 종류의 소프트웨어가 존재한다. 그래서, 쉐인이 AVI 파일을 즐기려고 시도하지만, 실패할 때, 이용자 디바이스(1)는 변환이 필요함을 깨닫는다. 그것은, 변환이 그의 CPU, 휘발성 메모리, OS 등에 따라 단지 스스로 실행되면, 변환이 그의 성능을 넘는지의 여부를 판단한다. 예를 들면, 이용자 디바이스(1)는 이용자 디바이스(1)가 스스로 변환을 핸들링하면, 어느 정도까지 그의 CPU, 휘발성 메모리가 점유되는지 그리고 얼마나 오래 걸릴지를 학습하는데 도움을 줄 수 있는 역사적 데이터(historical data)를 판독한다. 상술한 정보에 기초하여, 이용자 디바이스(1)는 추정된 점유 비율들 및 시간 길이가 수용가능한 것인지의 여부를 나타낸다. 일반적으로, 이 판단은 CPU 점유 비율 임계치, 휘발성 메모리 점유 비율 임계치, 시간 길이 임계치 등의 도움으로 행해질 수 있다. 상술한 인덱스들(indexes) 중 하나가 대응하는 임계치를 넘게 되면, 이용자 디바이스(1)는 전체 AVI 파일 또는 그의 일부의 변환을 그의 협력자들에게 위탁한다.
대안적으로, 이용자 디바이스(1)는 AVI 파일의 임시 변환을 행할 수 있다. 즉, 이용자 디바이스(1)는 AVI 파일의 작은 세그먼트의 순간 변환(moment conversion)을 실행한다. 이 순간 변환의 목적은 대응하는 MPEG4 세그먼트를 얻기 위한 것이 아니라, CPU 및 휘발성 메모리의 점유 비율 및 이용자 디바이스(1)가 단독으로 변환을 실행하는 경우 필요한 시간과 같은 정보를 얻기 위한 것이다. 이어서, 정보는, 변환이 전체적으로 또는 부분적으로 위탁되어야 하는지의 여부를 결정하기 위해 대응하는 임계치들과 비교된다.
이 예에서, 이용자 디바이스(1)는 협력자들로부터의 리포트들에 기초하여 그의 협력자들의 리소스 상태를 학습한다. 본 발명의 예에 따라, 이용자 디바이스(1)는 이용가능한 리소스들 외에 이용자 디바이스들(2 내지 5)의 총 리소스에 따라 각각의 태스크의 후보지명된 협력자(들)를(을)(을) 결정한다. 이용자 디바이스의 리소스들(예를 들면, CPU 주파수, 휘발성 메모리 사이즈)의 총 수에 대한 변경이 빈번하지 않을 수 있으므로, S11, S20, S30, S21, S31은 모두 선택적이다. 이어서, 이전에 이용자 디바이스(1)에 의해 얻어지는 다른 이용자 디바이스들의 관련된 리소스 정보는 이때에 후보지명된 협력자들을 결정하는데 도울 수 있다. 당업자들은 이용자 디바이스(1)가 그의 협력자들의 이용가능한 리소스들(예를 들면, 남은 CPU, 프리 휘발성 메모리)에 기초하여 각각의 위탁될 태스크의 후보지명된 협력자(들)를(을)(을) 선택하면, 이 방법이 이용자 디바이스(1)로 하여금 협력자들의 리소스 정보를 시기적절하게 알게 만든다는 것을 상술한 선택적인 단계들(S11, S20, S30, S21, S31)을 포함한다는 것을 이해한다.
이전 예에 대한 변화에 따라, 각각의 태스크의 후보지명된 협력자(들)는(은) 또한, 이용자 디바이스(1)의 협력자들 사이의 교환을 통해 결정될 수 있다. 도 2를 참조하면, 이용자 디바이스(1)가 태스크들의 키 정보에 관한 이용자 디바이스들(2 내지 5)을 나타낼 때, 이용자 디바이스들(2 내지 5) 각각은 이용자 디바이스(1)의 도움으로 그의 리소스 정보를 나머지 3개가 알게 한다. 이어서, 이용자 디바이스들(2 내지 5) 중 어느 하나는 각각의 태스크에 대한 후보지명된 협력자(들)를(을) 결정할 수 있고, 그 결과를 나머지에게 알린다.
위의 문단들에서, 본 발명은 예로서 비디오 변환을 취함으로써 설명된다. 당업자들은, 본 발명이 특정한 예들에 제한되지 않으며, 컴퓨터 네트워크의 디바이스가 리소스 공유를 필요로 하는 임의의 시나리오에 적용될 수 있음을 이해한다. 공유된 리소스들은 애플리케이션, 소프트웨어 운용 환경, 예를 들면, .DOC에서 .PDF로의 변환, 복잡한 매트릭스 연산 또는 매트랩(Matlab)에서 이미지 처리와 같은, 하드웨어의 성능 등을 포함하지만, 그것에 제한되지 않는다.
본 발명의 특별한 예에 따라, 개시자의 모든 협력자들은 각각의 위탁될 태스크의 디폴트 후보지명된 협력자들(default nominated cooperators)이다. 그래서, 단계들(S11, S20, S30, S21, S31, S12)은 모두 선택적이다. 10개의 태스크들이 S10에서 결정될 때, 상기 방법은 S13으로 들어가고, 여기에서, 이용자 디바이스(1)는 모든 협력자(이용자 디바이스들(2 내지 5))에게 모두 10개의 태스크들을 위탁한다. 이어서, 모든 상기 협력자는 상술한 태스크를 핸들링하려 시도하고, 그 결과를 이용자 디바이스(1)에게 전송한다.
우리는 위의 방법들에 기초하여 본 발명을 논의한다. 이하에서, 본 발명은 블록도를 참조하여 설명된다. 여기에서, 도 4는 컴퓨터 네트워크의 이용자 디바이스에서, 본 발명의 바람직한 예에 따라, IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치의 블록도이다. 도 5는 컴퓨터 네트워크의 이용자 디바이스에서, 본 발명의 바람직한 예에 따라, IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하도록 또 다른 이용자 디바이스를 어시스트하기 위한 제 2 공유 장치의 블록도이다.
당업자들은, 실제로, 이용자 디바이스가 제 1 공유 장치(10) 및 제 2 공유 장치(20), 또는 그것들 중 하나만을 포함할 수 있다. 몇몇 특정한 상황들에서, 예를 들면, 이용자 디바이스의 리소스들이 항상 충분하지 않고, 그러므로, 그것은 항상 도움을 요청할 수 있고(공유 개시자로서 동작); 또는 이용자 디바이스의 리소스들은 그것이 나머지들로부터 도움을 필요로 하지 않도록 충분하며, 그것은, 상항 그의 리소스들을 제공할 수 있다(협력자로서 동작). 상술한 특정 상황들에서, 이용자 디바이스는 상술한 디바이스들 중 하나만을 포함할 수 있다. 일반적으로, 이용자 디바이스는 양쪽 모두로 구성된다.
보다 상세하게는, 제 1 공유 장치(10)는: 태스크 위탁 수단(100), 태스크 결과 수신 수단(101), 후보지명된 협력자 결정 수단(102), 및 태스크 결정 수단(103)을 포함한다. 또한, 후보지명된 협력자 결정 수단(102)은 키 정보 제공 수단(1020), 리소스 정보 획득 수단(1021), 및 서브-결정 수단(1022)을 포함한다.
제 2 공유 장치(20)는: 위탁 수신 수단(200), 결정 어시스트 수단(201), 서브-핸들링 수단(sub-handling means)(202), 및 결과 리턴 수단(result returning means)(203)을 포함한다. 또한, 결정 어시스트 수단(201)은 키 정보 획득 수단(2010), 리소스 정보 리포트 수단(2011) 및 판단 수단(2012)을 포함한다.
예를 들면, 도 2의 이용자 디바이스(1)는 그의 협력자들에게 도움을 요청한다. 쉐인은 이용자 디바이스(1)에 의해 AVI 포맷이고, H.264 표준에 의해 코딩(coding)되는 무비를 다운로드한다. 하지만, 이용자 디바이스(1)는 MPEG4 비디오들만을 플레이할 수 있고, H.264에 기초하여 비디오 파일들을 플레이할 수 없다. 그래서, 이 무비는 이용자 디바이스(1) 상에서 플레이되기 전에 MPEG4 포맷으로 변환되어야 한다. 본 발명의 일 예에서, 이용자 디바이스(1)는 H.264에서 MPEG4로의 변환을 위한 소프트웨어를 설치하고 있지 않다. 이제, 쉐인은 그가 이 비디오를 시청하고 함을 보여주기 위해 터치 스크린 상의 버튼을 클릭한다. 그의 포맷이 이용자 디바이스(1) 상의 플레이어에 의해 지원될 수 없으므로, 아래의 환경들이 존재한다:
- 이용자 디바이스(1) 상의 플레이어가 시작되지만, 그것은, AVI 비디오의 파일 타입을 인식하는데 실패하고;
- 이용자 디바이스(1) 상의 플레이어가 시작되고, 쉐인은 그것을 오픈하기 위해 또 다른 소프트웨어를 선택하는 것을 상기한다.
실제에서의 구성에 따라, 제 1 공유 수단(10) 내 태스크 결정 수단(103)은 임의의 순간의 예를 들면, 플레이어가 시작될 때, 파일 타입을 인식할 수 있을 때, 또는 그것이 다른 소프트웨어를 선택하도록 쉐인을 상기시킬 때, 작업을 시작할 수 있다.
이제, 포맷 변환은 AVI 포맷의 비디오를 시청하기 위해 필요하다. 이어서, 이용자 디바이스(1)에서 태스크 결정 수단(103)은 파일의 다수의 비디오 프레임들이 H.264에서 MPEG4로 변환될 필요가 있음을 결정한다. 확실히, 태스크들의 수는 유연하게 결정될 수 있다. 예를 들면, 전체로서 AVI 파일의 변환이 태스크로서 규정될 수 있거나, 모든 단일 프레임의 변환이 태스크로서 규정될 수 있거나, 프레임들의 세트의 변환이 이러한 태스크일 수 있다. 이 예에서, 이용자 디바이스(1)는 AVI 파일을 10개의 동일한 부분들로 분할한다. 그 결과, 10개의 태스크들이 존재하고, 그 각각은 복수의 프레임들의 변환에 대응한다. 특별히, 그것들 중 하나는 또한, 이용자 디바이스(1)에서 플레이어가 변환된 파일을 플레이할 때 동작할 수 있음을 보장하기 위해 AVI 헤더의 MPEG4 헤더로의 변환에 대응한다. 이어서, 태스크 결정 수단(103)은 결정된 10개의 태스크들을 키 정보 제공 수단(1020)에 알린다.
이어서, 키 정보 제공 수단(1020)은 MSN 메시지들을 통해, 10개의 태스크들의 키 정보를 이용자 디바이스(1)의 협력자들에게 전송한다. 키 정보는 예를 들면, 아래와 같은, XML의 형태일 수 있다.
여기에서, 제 1 라인은 태스크의 타입이 파일 변환임을 나타내고; 제 2 라인은, 파일의 원래 포맷이 H.264임을 나타내고; 제 3 라인은 요구된 포맷이 MPEG4임을 나타낸다. 그리고, 제 4 라인은 변환될 원래 데이터를 나타낸다. 당업자들은 변환을 위한 위탁될 데이터 사이즈가 크지 않으면, 키 정보가 전송될 때, 원래 데이터가 위에서 도시된 바와 같이 협력자들에게 직접 전송될 수 있음을 이해한다. 이 예에서, 변환될 데이터가 10M 또는 심지어 100M의 사이즈를 가지며, 바람직하게는, 제 4 라인 '<input data>...</input data>은 각각의 태스크에 대응하는 데이터의 사이즈만을 나타낼 수 있다. 특정한 데이터는, 각각의 태스크에 관련하여 후보지명된 협력자(들)가(이) 결정된 후에, 협력자들에게 전송될 수 있다. 확실히, 네트워크 전송 리소스들이 아주 충분하면, 이용자 디바이스(1)는 변환될 파일(들)을 모든 동료에게 전송할 수 있다. 이러한 시나리오 하에서, 차후에 태스크를 위탁할 때, 이용자 디바이스(1)만이 태스크(들)가(이) 위탁되었음을 각각의 후보지명된 협력자에게 알릴 필요가 있다.
이제, MSN이 이용자 디바이스(1) 상에서 운용하지 않으면, 키 정보 제공 수단(1020)은 이 소프트웨어를 우선 운용하고, 이어서, 로깅 인 또는 그것과 같은 것을 운용한다. 이것은 본 발명의 바람직한 예를 나타내며, 여기에서, MSN이 오프-라인 메시지들을 지원할 수 있지만, 이용자 디바이스(1)에서 키 정보 제공 수단은 쉐인의 온라인 동료들의 이용자 디바이스들에만 태스크들의 키 정보를 전송한다. 확실히, 태스크들이 긴급하지 않으면, 이용자 디바이스(1)는 MSN 상의 쉐인의 모든 동료들의 이용자 디바이스들에 키 정보를 전송할 수 있고, 각각의 태스크의 후보지명된 협력자들은, 이용자 디바이스(1)가 모든 쉐인의 동료들(온라인 및 오프라인을 포함)의 이용자 디바이스들의 리소스 정보를 얻은 후에, 결정될 수 있다. 간략하게는, 이용자들(2, 3)만이 이용자 디바이스(1)의 협력자들로서 도 3에 도시되어 있다.
이어서, 이용자 디바이스들(2, 3)에서 키 정보 획득 수단(2010)은 키 정보를 각각 수신하고, 이어서, 그것을 판단 수단(2012)에 제공한다. 여기에서, 이용자 디바이스들(2, 3)에서 각각의 판단 수단(2012)이 이용자 디바이스(1)의 10개의 위탁될 태스크들의 키 정보를 학습한 후에, 그것은, 로컬 이용자 디바이스의 리소스 정보를 체크한다. 특별히, 이용자 디바이스들(2, 3) 각각에서 판단 수단(2012)은, 이용자 디바이스들 자체들에 의해 또는 네트워크 서버에 의해 유지되는 리소스 정보 리스트에 액세스함으로써, 이용자 디바이스들이 H.264 파일을 MPEG4로 변환할 수 있고, 또한 로컬 이용자 디바이스의 OS, CPU 주파수, 휘발성 메모리 사이즈 등의 정보를 얻을 수 있는 이러한 소프트웨어를 갖는지의 여부를 알 수 있다. 위의 정보에 기초하여, 이용자 디바이스들(2, 3) 각각에서 판단 수단(2012)은, 로컬 이용자 디바이스가 10개의 태스크들 중 하나 이상을 핸들링할 수 있는지의 여부를 각각 결정한다.
이 예에서, 이용자 디바이스들(2, 3)에서 판단 수단(2012)은 변환을 위한 사기 소프트웨어가 이용자 디바이스들(2, 3) 양쪽 모두 상에 설치되었음을 판단한다. 무엇보다, 이용자 디바이스들(2, 3)에서 판단 수단(2012)은 로컬 이용자 디바이스가 태스크들 중 적어도 하나에 대해 과거 경험에 기초할 수 있음을 판단한다. 예를 들면, 점유된 CPU, 휘발성 메모리의 정보는 이러한 디바이스들이 유사한 비디오 변환을 이전에 실행하였을 때 유지되었다. 바람직하게는, 디바이스들(2, 3)에서 판단 수단(2012)은, 보다 높은 CPU 주파수 및 보다 큰 휘발성 메모리를 갖는 디바이스가 보다 낮은 CPU 주파수 및 유사한 휘발성 메모리를 갖는 디바이스보다 나쁜 성능을 가질 수 있기 때문에, 전자의 CPU 및 휘발성 메모리가 나쁘게 점유될 수 있는 경우에, 로컬 이용자 디바이스의 현재 리소스 점유 상태에 기초하여 이 판단을 행한다.
이용자 디바이스(2) 및 이용자 디바이스(3)에서 판단 수단(2012) 양쪽 모두는 판단 "예"를 얻고, 각각의 판단 수단(2012)은 이용자 디바이스(1)에 이 협력자의 리소스 정보를 알리도록, 대응하는 협력자 상의 리소스 정보(2011)를 주문한다. 확실히, 리소스 정보(2011)는 판단 수단(2012)이 어떠한 판단을 행하던지 리소스 정보를 이용자 디바이스(1)에 알릴 수 있다. 바람직하게는, 리포트된 리소스 정보는 대응하는 협력자의 OS 버전, CPU 주파수, 휘발성 메모리 사이즈, 소프트웨어 버전에 관련된다.
여기에서, 이용자 디바이스(2)로부터의 리소스 정보는 아래와 같을 수 있다:
그리고, 이용자 디바이스(3)로부터의 리소스 정보는 아래와 같을 수 있다:
바람직하게는, 협력자들로부터 공유 개시자로 전송되는 리소스 정보는 리소스들의 총 수, 예를 들면, CPU 주파수, 휘발성 메모리 사이즈를 포함할 뿐만 아니라, 점유 상태, 예를 들면, CPU, 휘발성 메모리 등의 점유된 퍼센티지 등을 포함한다. 이 바람직한 예에서 제공되는 리소스 정보는 아래와 같을 수 있다:
간결화를 위해, 이용자 디바이스들(4, 5)의 피드백은 흐름도에서 도시되어 있지 않다. 그리고, 이 예에서, 이용자 디바이스(5)는 변환 소프트웨어를 설치하지 않는다. 또한, 이용자 디바이스(5)는 매우 많은 리소스들이 점유되므로, 이러한 변환이 그의 리소스들의 소모를 야기하거나, 그것이 하나의 태스크를 핸들링하는데 아주 긴 시간이 걸릴 것이라고 추정한다. 그래서, 이용자 디바이스(5)는 임의의 태스크를 핸들링하는 것을 포기하고, 이용자 디바이스(1)에 응답하지 않을 수 있다. 대신에, 이용자 디바이스(4), 서버는 이제 무거운 부담 하에 있고, 그의 CPU 및 휘발성 메모리는 높게 점유되고(아마도 90% 또는 그 이상), 그래서, 이용자 디바이스(4)는 또한 임의의 태스크를 포기한다.
그러므로, 이용자 디바이스(1)에서 리소스 정보 획득 수단(1021)에 의해 수집된 리소스 정보는 이용자 디바이스들(2, 3)의 CPU, 휘발성 메모리, OS 및 비디오 변환 소프트웨어의 관련된 정보만을 포함한다.
이어서, 이용자 디바이스(1)에서 서브-결정 수단(1022)은 10개의 태스크들 중 각각의 하나에 대한 후보지명된 협력자(들)를(을) 결정한다. 간단한 방식은 이용자 디바이스(1)에서 서브-결정 수단(1022)이 협력자들의 CPU 주파수들에 따라 10개의 태스크들을 분배하는 것이다. 이 규칙에 따라, 10개 중 6개의 태스크들이 이용자 디바이스(3)에 할당되고, 나머지 4개의 태스크들은 이용자 디바이스(2)에 할당된다. 보다 복잡한 상황에서, 각 협력자의 CPU 주파수, 휘발성 메모리 사이즈 및 OS의 각각의 아이템은 미리 결정된 파라미터에 의해 가중되고, 그 결과는 협력자(들)의 성능을 신속히 나타낼 수 있다. 그리고, 후보지명된 협력자들은 이러한 결과에 기초하여 결정된다.
그래서, 이용자 디바이스(1)에서 서브-결정 수단(1022)은 그 결과를 태스크 위탁 수단(100)에 알리고, 이어서, 위탁 수단(100)은 후보지명된 협력자들에게 위탁된 태스크(들)를(을) 알린다. 태스크(들)는(은) 이용자 디바이스들(2, 3) 각각에서 위탁 수신 수단(200)에 의해 수신된다. 특별히, 이용자 디바이스(1)에서 태스크 위탁 수신 수단(100)은 MSN을 통해 이용자 디바이스들(2, 3)에게 전체 AVI 파일을 전송하고, 그것들에게 그의 임의 부분을 변환하도록 주문한다. 대안적으로, 이용자 디바이스(1)는 또한, 미리 AVI 파일을 분할할 수 있고, 즉 상기 파일을 두 개의 부분들로 분할할 수 있는데, 하나는 6개의 태스크들에 대응하고, 나머지는 4개의 태스크들에 대응한다. 따라서, 두 개의 부분들은 목적지에 전송된다.
상세한 태스크들의 위탁 방법들은 아래의 것을 포함할 수 있다:
솔루션 1: 새로운 포맷의 명령들을 부가하고, 새로운 명령들을 지원하기 위해 기존의 IM 소프트웨어를 확장한다;
솔루션 2: 새로운 명령들을 기존의 IM 메시지들에 부가한다.
이어서, 이용자 디바이스들(2, 3) 각각에서 서브-핸들링 수단(202)은 로컬 이용자 디바이스 상에 설치된 MPEG4 변환기를 운용하고, S13에서 이용자 디바이스(1)에 의해 지시되는 태스크들을 실행한다.
이어서, 이용자 디바이스들(2, 3) 각각에서 결과 리턴 수단(203)은 변환된 MPEG4 데이터를 이용자 디바이스(1)에 전송한다. 상기 데이터는 아래의 형태일 수 있다:
물론, 이용자 디바이스들(2, 3) 각각에서 결과 리턴 수단(203)에 의해 전송된 MPEG4 데이터는 임의의 네트워크 송신 방식에 의해 송신될 수 있고, MPEG4 데이터를 인캡슐레이트하기 위해 MSN에 의해 제공되는 패킹 툴들을 이용하는 것 및 MSN 메시지들을 통해 패키지를 전송하는 것을 포함하지만, 그것에 제한되지 않는다. 이때에, 이용자 디바이스(1)는 하드 디스크 상의 미리 설정된 위치에서 데이터를 자동으로 저장할 수 있다.
확실히, 이용자 디바이스(1)가 플레이가능한 MPEG4 파일을 얻기 위해 MPEG4 데이터의 두 개의 부분들을 조합할 수 없는 경우에, 이용자 디바이스들(2, 3)에 의해 전송되는 두 개의 MPEG4 세그먼트들이 이용자 디바이스(1)에서 판독가능 및 플레이가능해야 함이 요구된다. 그래서, 이용자 디바이스들(2, 3)은 그들의 변환된 데이터에 대한 파일 헤더들을 각각 생성한다. 그 결과, AVI 파일은 이용자 디바이스(1)에 다시 전송될 때, 두 개의 개별 MPEG4 파일들이 된다. 대안적으로, 이용자 디바이스(1)가 두 개의 MPEG4 세그먼트들을 조합할 수 없을 때, 이용자 디바이스(1)에서 서브-결정 수단(1022)은 모두 10개의 태스크들을 핸들링하기 위해, 최상의 성능을 소유하는 하나의 이용자 디바이스, 즉 이용자 디바이스(3)만을 선택할 수 있다.
위의 문단들에서, 우리는 이용자 디바이스(1)가 변환(AVI -> MPEG4)을 위한 소프트웨어를 설치하지 않은 상황에 대해 논의하였다. 본 발명의 또 다른 예에 따라, 이용자 디바이스(1) 상에 설치된 이러한 종류의 소프트웨어가 존재한다. 그래서, 쉐인이 AVI 파일을 즐기려고 시도하지만, 실패할 때, 이용자 디바이스(1)는 변환이 필요하다는 것을 깨닫는다. 이용자 디바이스(1)에서 태스크 결정 수단(103)은, 변환이 그의 CPU, 휘발성 메모리, OS 등에 따라 이용자 디바이스(1)에 의해서만 실행되면, 변환이 이용자 디바이스(1)의 성능을 넘는지의 여부를 판단한다. 예를 들면, 태스크 결정 수단(103)은, 이용자 디바이스(1)가 스스로 변환 모두를 핸들링하면, 어느 정도까지 그의 CPU, 휘발성 메모리가 점유되는지 및 얼마나 오래 걸릴지를 학습하는데 도움을 줄 수 있는 역사적 데이터를 판독한다. 상술한 정보에 기초하여, 이용자 디바이스(1)는 추정된 점유 비율 및 시간 길이가 수용가능한 것인지를 나타낼 수 있다. 일반적으로, 이 판단은 CPU 점유 비율 임계치, 휘발성 메모리 점유 비율 임계치, 시간 길이 임계치 등의 도움으로 행해질 수 있다. 상술한 인덱스들 중 하나가 대응하는 임계치들을 넘게 되면, 이용자 디바이스(1)는 전체 AVI 파일 또는 그의 일부의 변환을 그의 협력자들에게 위탁한다.
대안적으로, 이용자 디바이스(1)에서 태스크 결정 수단(103)은 AVI 파일의 임시 변환을 실행할 수 있다. 즉, 이용자 디바이스(1)는 AVI 파일의 작은 세그먼트의 순간 변환을 실행한다. 이 순간 변환의 목적은 대응하는 MPEG4 세그먼트를 얻는 것이 아니라, CPU 및 휘발성 메모리의 점유 비율 및 이용자 디바이스(1)가 단독으로 변환을 실행하는 경우 필요한 시간과 같은 정보를 얻기 위한 것이다. 이어서, 정보는, 변환이 전체적으로 또는 부분적으로 위탁되어야 하는지의 여부를 결정하기 위해 대응하는 임계치들과 비교된다.
이 예에서, 이용자 디바이스(1)에서 리소스 정보 획득 수단(1021)은 그들로부터의 리포트들에 기초하여 그의 협력자들의 리소스 상태를 학습한다. 본 발명의 예에 따라, 이용자 디바이스(1)는 이용가능한 리소스들 외에 이용자 디바이스들(2 내지 5)의 총 리소스에 따라 각각의 태스크의 후보지명된 협력자(들)를(을) 결정한다. 이용자 디바이스의 리소스들(예를 들면, CPU 주파수, 휘발성 메모리 사이즈)의 총 수에 대한 변경이 빈번하지 않을 수 있으므로, 정보 제공 수단(1020) 및 결정 어시스트 수단(201)은 선택적이다. 이어서, 이전에 이용자 디바이스(1)에서 서브-결정 수단(1022)에 의해 얻어지는 다른 이용자 디바이스들의 리소스 정보는 이때에 후보지명된 협력자들을 결정하는데 도울 수 있다. 당업자들은 이용자 디바이스(1)에서 서브-결정 수단(1022)이 그의 협력자들의 이용가능한 리소스들(예를 들면, 남은 CPU, 프리 휘발성 메모리)에 기초하여 각각의 위탁될 태스크의 후보지명된 협력자(들)를(을) 선택하면, 키 정보 제공 수단(1020) 및 결정 어시스트 수단(201)이 바람직하게는 이용자 디바이스(1)로 하여금 협력자들의 리소스 정보를 시기적절하게 알게 만든다는 것을 필요로 한다는 것을 이해한다.
이전 예의 변형에 따라, 후보지명된 협력자(들)는(은) 또한, 이용자 디바이스(1)의 협력자들 사이의 교환을 통해 결정될 수 있다. 도 2를 참조하면, 이용자 디바이스(1)가 태스크들의 키 정보에 관한 이용자 디바이스들(2 내지 5)을 나타낼 때, 이용자 디바이스들(2 내지 5) 각각은 다른 3개로 하여금 이용자 디바이스(1)의 도움으로 그의 리소스 정보를 알게 한다. 이어서, 이용자 디바이스들(2 내지 5) 중 어느 하나는 각각의 태스크에 대한 후보지명된 협력자(들)를(을) 결정할 수 있고, 나머지에게 그 결과를 알린다.
본 발명의 특별한 예에 따라, 모든 온라인 협력자들은 모든 위탁될 태스크의 디폴트 후보지명된 협력자들이다. 이어서, 10개의 태스크들이 이용자 디바이스(1)에서 서브-결정 수단(103)에 의해 결정될 때, 그것들은 이용자 디바이스(1)에서 태스크 위탁 수단(100)에 의해 각각의 협력자(이용자 디바이스들(2 내지 5))에 위탁된다. 이어서, 각각의 협력자에서 서브-핸들링 수단(202)은 상술한 태스크들을 핸들링하려 시도하고, 그 결과를 각각의 협력자에서 결과 리턴 수단(202)을 통해 이용자 디바이스(1)에 전송된다.
도 6은 본 발명을 구현하기 위한 소프트웨어를 도시한다. 모듈들의 펑션(function)은 아래와 같다:
통신 모듈
전통적인 IM 펑션들에 대한, 동료들 사이의 태스크 및 결과의 전송.
액세스 제어 모듈
로컬 애플리케이션 및 리소스 액세스 제어에 대해; 인에이블된 정책(policy)은 어떠한 종류의 동료들이 어떤 시사이의 또는 어느 정도까지, 로컬 이용자 디바이스의 리소스들에 액세스할 수 있는지를 정의한다.
태스크 분석기
로컬 애플리케이션들 또는 리소스들이 리소스 정보 분석기를 통해 동료들의 요청들을 지원할 수 있는지, 또는 이용자의 요청들을 태스크에 패킹(packing)할 수 있는지, 및 그것들을 통신 모듈을 통해 동료들에게 전송할 수 있는지를 분석하기 위함.
리소스
정보 분석기
로컬 환경이 동료들의 요청을 지원할 수 있는지의 여부를 체크하기 위해, 로컬 시스템으로부터 얻어진 정보와 리소스 정보 리스트로부터 얻어진 정보를 조합.
로컬
애플리케이션
런처(
Local
application
launcher
)
로컬 애플리케이션 및 애플리케이션 데이터 전송을 런칭(launching)하기 위함.
외부
애플리케이션
콘테이너
및 런처(
external
application
container
and
launcher
)
그것은 애플리케이션 데이터 전송 및 동료들로부터 외부 애플리케이션들을 저장 및 런칭하는데 이용된다. 그것은, XML 포맷 명령을 통해 동료들의 시작-동작 신호(start-to-action signal)의 수신 시에 또는 자동으로 동료들의 애플리케이션들을 런칭할 수 있다.
또한, 도 6은 본 발명과 관련하여, 로컬 애플리케이션 과정들, 시스템 리소스들, 리소스 정보 리스트, 및 동료 리스트를 도시한다.
10: 제 1 공유 수단 20: 결정 어시스트 수단
100: 태스크 위탁 수단 101: 태스크 결과 수신 수단
102: 후보지명된 협력자 결정 수단 103: 태스크 결정 수단
200: 위탁 수신 수단 201: 결정 어시스트 수단
202: 서브-핸들링 수단 203: 결과 리턴 수단
1020: 키 정보 제공 수단 1021: 리소스 정보 획득 수단
1022: 서브-결정 수단 2010: 키 정보 획득 수단
2011: 리소스 정보 리포트 수단 2012: 판단 수단
100: 태스크 위탁 수단 101: 태스크 결과 수신 수단
102: 후보지명된 협력자 결정 수단 103: 태스크 결정 수단
200: 위탁 수신 수단 201: 결정 어시스트 수단
202: 서브-핸들링 수단 203: 결과 리턴 수단
1020: 키 정보 제공 수단 1021: 리소스 정보 획득 수단
1022: 서브-결정 수단 2010: 키 정보 획득 수단
2011: 리소스 정보 리포트 수단 2012: 판단 수단
Claims (15)
- 컴퓨터 네트워크에서 인스턴트 메시징 프로토콜(instant messaging protocols)에 기초하여 이용자 디바이스들(1-5) 사이의 리소스들을 공유하기 위한 방법으로서, 상기 이용자 디바이스들 사이의 공유 개시자(sharing initiator:1)는 상기 이용자 디바이스들 사이의 복수의 협력자들(2-5)을 갖고, 상기 리소스 공유 방법은:
a. 상기 공유 개시자가 위탁될 각각의 태스크에 대한 하나 이상의 후보지명된 협력자들을 결정하는 단계;
b. 상기 태스크에 대해, 공유 개시자가 IM 메시지를 통해 상기 태스크에 관하여 하나 이상의 후보지명된 협력자들(nominated cooperators)에게 상기 태스크를 위탁하는 단계(S13);
c. 상기 태스크에 관하여 상기 후보지명된 협력자들이 상기 태스크를 핸들링(handling)하는 단계(S22, S32); 및
d. 상기 태스크에 관하여 상기 후보지명된 협력자들이 상기 태스크의 결과를 상기 공유 개시자에게 다시 전송하는 단계(S23, S33)를 포함하는, 상기 리소스 공유 방법에 있어서,
단계 a는:
상기 협력자들이 서로 협상하고(negotiate), 각각의 태스크에 대해 하나 이상의 후보지명된 협력자들을 결정하는 단계를 더 포함하고,
상기 방법은 단계 b 전에,
a1. 상기 공유 개시자가 각각의 협력자의 리소스 정보를 얻는 단계(S21, S31); 및
a2. 각각의 협력자의 상기 얻어진 리소스 정보에 따라, 상기 공유 개시자가 상기 태스크에 대해 하나 이상의 후보지명된 협력자들을 결정하는 단계를 더 포함하는 것을 특징으로 하는, 리소스 공유 방법. - 삭제
- 삭제
- 제 1 항에 있어서,
단계 a1은:
a11. 상기 공유 개시자가 상기 위탁될 태스크의 키 정보를 상기 협력자에게 알리는 단계(S11); 및
a12. 상기 협력자들이 각각의 태스크의 상기 키 정보에 기초하여 그들의 리소스 정보를 상기 공유 개시자에게 알리는 단계(S21, S31)를 더 포함하는 것을 특징으로 하는, 리소스 공유 방법. - 삭제
- 제 1 항 또는 제 4 항에 있어서,
상기 방법은, 단계 b 전에,
그의 제공된 리소스 정보에 따라, 상기 공유 개시자가 그의 성능을 넘어 하나 이상의 태스크들을 결정하고, 상기 태스크(들)를 위탁될 상기 태스크로서 간주하는 단계를 포함하는 것을 특징으로 하는, 리소스 공유 방법. - 컴퓨터 네트워크의 이용자 디바이스에서 IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치(10)로서, 상기 이용자 디바이스는 복수의 협력자들을 갖고, 상기 제 1 공유 장치(10)는:
위탁될 각각의 태스크에 대하여, IM 프로토콜을 통해 상기 태스크에 관하여 하나 이상의 후보지명된 협력자들에게 상기 태스크를 위탁하기 위한 태스크 위탁 수단(100); 및
상기 태스크에 관하여 상기 협력자들로부터 상기 태스크의 결과를 수신하기 위한 결과 수신 수단(101)을 포함하는, 상기 제 1 공유 장치에 있어서:
상기 협력자들과 서로 협상하고, 상기 태스크에 대해 상기 복수의 협력자들 외의 하나 이상의 후보지명된 협력자를 결정하기 위한 후보지명된 협력자 결정 수단(102)을 더 포함하고,
상기 후보지명된 협력자 결정 수단(102)은,
상기 협력자들의 리소스 정보를 얻기 위한 리소스 정보 획득 수단(1021); 및
얻은 상기 리소스 정보에 따라, 상기 태스크에 대해 하나 이상의 후보지명된 협력자들을 결정하기 위한 서브-결정 수단(sub-determining means:1022)을 포함하는 것을 특징으로 하는, 제 1 공유 장치. - 삭제
- 제 7 항에 있어서,
상기 후보지명된 협력자 결정 수단은:
상기 위탁될 태스크의 키 정보를 상기 협력자에게 알리기 위한 키 정보 제공 수단(1020)을 더 포함하는 것을 특징으로 하는, 제 1 공유 장치. - 제 7 항 또는 제 9 항에 있어서,
로컬 이용자 디바이스의 현재 리소스 정보에 따라, 그의 성능을 넘어 하나 이상의 태스크들을 결정하고, 상기 결정된 태스크(들)를 위탁될 태스크(들)로서 간주하는 태스크 결정 수단(103)을 더 포함하는 것을 특징으로 하는, 제 1 공유 장치. - 컴퓨터 네트워크의 이용자 디바이스에서 IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하기 위해 또 다른 이용자 디바이스를 어시스트하기 위한 제 2 공유 장치(20)로서,
IM 프로토콜들의 상호작용 메시지들을 통해 또 다른 이용자 디바이스로부터 위탁을 수신하기 위한 위탁 수신 수단으로서, 상기 위탁은 상기 로컬 이용자 디바이스가 또 다른 이용자 디바이스의 하나 이상의 위탁될 태스크들에 관하여 협력자이고, 대응하는 태스크들을 핸들링한다는 것을 나타내는, 상기 위탁 수신 수단(200);
상기 태스크의 결과를 또 다른 이용자 디바이스에 리턴하기 위한 결과 리턴 수단(203)을 포함하는, 상기 제 2 공유 장치에 있어서,
다른 제 2 공유 장치들과 서로 협상하고, 위탁될 태스크들 각각에 대해 하나 이상의 후보지명된 협력자들을 결정하도록 또 다른 이용자 디바이스를 어시스트하기 위한 결정 어시스트 수단(201);
대응하는 결과를 얻기 위해 상기 위탁에 의해 주문되는 하나 이상의 태스크들을 핸들링하기 위한 서브-핸들링 수단(202)을 포함하고,
상기 결정 어시스트 수단(201)은 상기 로컬 이용자 디바이스의 리소스 정보의 다른 이용자 디바이스에게 알리기 위한 리소스 정보 리포트 수단(2011)을 포함하는 것을 특징으로 하는, 제 2 공유 장치. - 제 11 항에 있어서,
상기 결정 어시스트 수단(201)은:
또 다른 이용자 디바이스의 상기 위탁될 태스크들의 키 정보를 얻기 위한 키 정보 획득 수단(2010)을 포함하고,
상기 리소스 정보 리포트 수단은 상기 얻어진 키 정보에 따라 상기 로컬 이용자 디바이스의 리소스 정보를 상기 또 다른 이용자 디바이스에 알리는 것을 특징으로 하는, 제 2 공유 장치. - 제 12 항에 있어서,
상기 결정 어시스트 수단(201)은:
상기 키 정보에 따라, 상기 로컬 이용자 디바이스가 할 수 있는 하나 이상의 태스크들이 존재하는지의 여부를 판단하기 위한 판단 수단(2012)을 더 포함하고,
상기 리소스 정보 리포트 수단(2011)은 또한, 상기 로컬 이용자 디바이스가 할 수 있는 것에 관해 하나 이상의 태스크들이 존재하는 경우에, 상기 로컬 이용자 디바이스의 리소스 정보를 상기 또 다른 이용자 디바이스에 리포트하는 것을 특징으로 하는, 제 2 공유 장치. - 제 12 항에 있어서,
상기 결정 어시스트 수단(201)은 또한, 상기 태스크에 대해 하나 이상의 후보지명된 협력자들을 결정하기 위해, 상기 로컬 이용자 디바이스 및 상기 또 다른 이용자 디바이스 외의 다른 이용자 디바이스들과 협상하는, 제 2 공유 장치. - 컴퓨터 네트워크의 이용자 디바이스에 있어서:
제 7 항 또는 제 9 항에 따라 IM 프로토콜들에 기초하여 다른 이용자 디바이스들의 리소스들을 공유하기 위한 제 1 공유 장치 및/또는 제 11 항 내지 제 14 항 중 어느 한 항에 따라 IM 프로토콜들에 기초하여 로컬 이용자 디바이스의 리소스들을 공유하도록 또 다른 이용자 디바이스를 어시스트하기 위한 제 2 공유 장치를 포함하는 것을 특징으로 하는, 컴퓨터 네트워크의 이용자 디바이스.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2008/001386 WO2010012122A1 (en) | 2008-07-29 | 2008-07-29 | The method and apparatus for the resource sharing between user devices in computer network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110050590A KR20110050590A (ko) | 2011-05-16 |
KR101526911B1 true KR101526911B1 (ko) | 2015-06-08 |
Family
ID=41609906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107028408A KR101526911B1 (ko) | 2008-07-29 | 2008-07-29 | 컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110131584A1 (ko) |
EP (1) | EP2308214A4 (ko) |
JP (1) | JP5281160B2 (ko) |
KR (1) | KR101526911B1 (ko) |
CN (1) | CN102077543A (ko) |
WO (1) | WO2010012122A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5324934B2 (ja) * | 2009-01-16 | 2013-10-23 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
US9552478B2 (en) * | 2010-05-18 | 2017-01-24 | AO Kaspersky Lab | Team security for portable information devices |
US8612580B2 (en) | 2011-05-31 | 2013-12-17 | Microsoft Corporation | Distributed computing framework |
US20130254281A1 (en) * | 2012-03-23 | 2013-09-26 | Wei Sun | Collaborative media gathering systems and methods |
KR101458979B1 (ko) * | 2012-05-31 | 2014-11-10 | 에스코어 주식회사 | 라이프 로그 데이터 저장 방법 및 표시 방법 |
CN105760158A (zh) * | 2016-01-29 | 2016-07-13 | 珠海市魅族科技有限公司 | 一种信息加载方法及装置 |
CN106202210A (zh) * | 2016-06-27 | 2016-12-07 | 依偎科技(南昌)有限公司 | 一种照片分类的方法及装置 |
CN106571999B (zh) | 2016-10-21 | 2018-01-05 | 北京三快在线科技有限公司 | 基于即时通讯消息的任务管理方法、客户端及服务器 |
US11086670B2 (en) * | 2018-12-20 | 2021-08-10 | Dish Network L.L.C. | Platooning of computational resources in automated vehicles networks |
CN111435452B (zh) * | 2019-01-11 | 2023-11-03 | 百度在线网络技术(北京)有限公司 | 模型训练方法、装置、设备和介质 |
JP2020154391A (ja) * | 2019-03-18 | 2020-09-24 | 富士ゼロックス株式会社 | 情報処理システムおよびプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098447A1 (en) * | 2002-11-14 | 2004-05-20 | Verbeke Jerome M. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2373136A (en) * | 2001-03-07 | 2002-09-11 | Int Computers Ltd | Distributed computing using wireless mobile devices |
US7496631B2 (en) * | 2002-08-27 | 2009-02-24 | Aol Llc | Delivery of an electronic communication using a lifespan |
JP2004287801A (ja) * | 2003-03-20 | 2004-10-14 | Sony Computer Entertainment Inc | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
US20050108387A1 (en) * | 2003-10-31 | 2005-05-19 | Bingjun Li | System and apparatus for a network management system using presence and instant message techniques |
US7756931B2 (en) * | 2004-10-28 | 2010-07-13 | International Business Machines Corporation | Method and apparatus for manager/agent communications |
JP4533251B2 (ja) * | 2005-06-09 | 2010-09-01 | キヤノン株式会社 | 情報処理システムおよびジョブ割り当て方法 |
US20070043821A1 (en) * | 2005-08-18 | 2007-02-22 | Brumfield Sara C | Method and system for task delegation via instant message |
JP2007241394A (ja) * | 2006-03-06 | 2007-09-20 | Mitsubishi Electric Corp | 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法 |
US8671008B2 (en) * | 2006-07-14 | 2014-03-11 | Chacha Search, Inc | Method for notifying task providers to become active using instant messaging |
US20080091782A1 (en) * | 2006-10-13 | 2008-04-17 | Gabriel Jakobson | Method and system for delegating and managing tasks over instant messenger |
JP4308241B2 (ja) * | 2006-11-10 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム |
CN101072226B (zh) * | 2006-12-30 | 2010-08-25 | 腾讯科技(深圳)有限公司 | 一种网格计算方法及系统 |
-
2008
- 2008-07-29 EP EP08783577.3A patent/EP2308214A4/en not_active Ceased
- 2008-07-29 WO PCT/CN2008/001386 patent/WO2010012122A1/en active Application Filing
- 2008-07-29 CN CN2008801301738A patent/CN102077543A/zh active Pending
- 2008-07-29 US US13/056,179 patent/US20110131584A1/en not_active Abandoned
- 2008-07-29 KR KR1020107028408A patent/KR101526911B1/ko not_active IP Right Cessation
- 2008-07-29 JP JP2011520300A patent/JP5281160B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098447A1 (en) * | 2002-11-14 | 2004-05-20 | Verbeke Jerome M. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
Also Published As
Publication number | Publication date |
---|---|
JP2011529587A (ja) | 2011-12-08 |
EP2308214A4 (en) | 2013-10-23 |
CN102077543A (zh) | 2011-05-25 |
KR20110050590A (ko) | 2011-05-16 |
EP2308214A1 (en) | 2011-04-13 |
WO2010012122A1 (en) | 2010-02-04 |
JP5281160B2 (ja) | 2013-09-04 |
US20110131584A1 (en) | 2011-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101526911B1 (ko) | 컴퓨터 네트워크에서 이용자 디바이스들 사이의 리소스 공유를 위한 방법 및 장치 | |
EP3117590B1 (en) | Computer system to support failover in an event stream processing system | |
US20140082136A1 (en) | Method and system for transmission of application status between different devices | |
US20080177872A1 (en) | Managing aggregation and sending of communications | |
US8606850B2 (en) | Method, apparatus and system for controlling transmission of an attachment to an email using a plurality of computers | |
KR20080056723A (ko) | 모바일 디바이스에 적합한 데이터 배포 방법 | |
Xu et al. | Eaaas: Edge analytics as a service | |
CN101156407A (zh) | 用于计划的下载服务的系统结构和方法 | |
CN103997521A (zh) | 一种基于路由器的文件操作方法、装置及路由器 | |
CN105677492B (zh) | 一种面向终端的可靠应用执行方法 | |
CN102150151B (zh) | web应用程序的异步队列的消息收发 | |
Ma et al. | Framework for Enhancing Mobile Availability of RESTful Services: A Connectivity-Aware and Risk-Driven Approach | |
Ho et al. | Mobile intercloud system and objects transfer mechanism | |
CN116980241A (zh) | 数据处理方法、系统、装置、电子设备及存储介质 | |
Ajayi et al. | A comparison of publish-subscribe and client-server models for streaming iot telemetry data | |
Akherfi et al. | A mobile cloud middleware to support mobility and cloud interoperability | |
Campadello et al. | Using mobile and intelligent agents to support nomadic users | |
KR20130044571A (ko) | 클라우드 서비스 제공 방법 및 장치 | |
US10871987B1 (en) | Distributed execution of tasks on client devices | |
Raatikainen et al. | Monads–adaptation agents for nomadic users | |
CN101924681A (zh) | 一种网页即时通讯的数据分流方法及装置 | |
Sajjad et al. | A component-based architecture for an autonomic middleware enabling mobile access to grid infrastructure | |
KR102367017B1 (ko) | 통신 네트워크 시스템 및 그것의 제어방법 | |
Dong et al. | Support Context-Adaptation in the Constrained Application Protocol (CoAP) | |
Saraf et al. | A Review on Evolution of Architectures, Services, and Applications in Computing Towards Edge Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |