KR101122801B1 - Collaborative invitation system and method - Google Patents

Collaborative invitation system and method Download PDF

Info

Publication number
KR101122801B1
KR101122801B1 KR1020077022787A KR20077022787A KR101122801B1 KR 101122801 B1 KR101122801 B1 KR 101122801B1 KR 1020077022787 A KR1020077022787 A KR 1020077022787A KR 20077022787 A KR20077022787 A KR 20077022787A KR 101122801 B1 KR101122801 B1 KR 101122801B1
Authority
KR
South Korea
Prior art keywords
invitation
service
computer
element
contact
Prior art date
Application number
KR1020077022787A
Other languages
Korean (ko)
Other versions
KR20080010390A (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
Priority to US11/114,634 priority Critical
Priority to US11/114,634 priority patent/US7752253B2/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Priority to PCT/US2005/027581 priority patent/WO2006115527A1/en
Publication of KR20080010390A publication Critical patent/KR20080010390A/en
Application granted granted Critical
Publication of KR101122801B1 publication Critical patent/KR101122801B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting

Abstract

아키텍처(300)는 협력 서비스 플랫폼(302)을 포함할 수 있다. Architecture 300 can include collaboration services platform 302. 협력 서비스 플랫폼(302)은 접촉자 관리 서비스(304), 발행 서비스(306), 시그널링 서비스(308), 활동 서비스(310), 데이터 공유 서비스(312), 인증 서비스(314) 및 접속성 서비스(316)를 포함할 수 있다. Collaboration services platform 302 contact management service 304, a publication service 306, a signaling service 308, an activity service 310, a data sharing service 312, an authentication service 314 and a connectivity service (316 ) may include. 접촉자 관리 서비스(304)는 접촉자 저장부(318), 프레즌스 저장부(320) 및 접촉자 위치 서비스(322)를 포함할 수 있다. The contact management service 304 may include a contact store unit 318, a presence store 320 and the contact location service 322. 발행 서비스(306)는 동기화 서비스(324)를 포함할 수 있다. Services issued 306 may include a synchronization service 324. 시그널링 서비스(308)는 초대 서비스(326)를 포함할 수 있다. Signaling service 308 may include an invitation service 326. The 활동 서비스(310)는 시청각(A/V) 서비스(328)를 포함할 수 있다. Activity service 310 may include an audio-visual (A / V) service 328. The 접속성 서비스(316)는 피어 투 피어(P2P) 서비스(330) 및 종래의 전송 제어 프로토콜 및 인터넷 프로토콜(TCP/IP) 스택(332)을 포함할 수 있다. Connectivity service 316 may include a peer-to-peer (P2P) service 330, and a conventional transport control protocol and internet protocol (TCP / IP) stack 332. 각 서비스(304, 306, 308, 310, 312, 314, 316)는 서비스를 구현하는 메시지를 송수신할 수 있는 피어를 포함하고/하거나 그 피어에 편입될 수 있다. Each of the services (304, 306, 308, 310, 312, 314, 316) may be include a peer capable of sending and receiving messages implementing the service and / or incorporated in the peer.
협력 서비스 플랫폼, 협력 애플리케이션, 초대 사용자 인터페이스, 초대 송신 요소, 초대 응답 요소, 초대 삭제 요소 Collaboration services platform, collaborative applications, and invites the user interface, sending invitations element, invitation response element, invitation Element deleted

Description

협력 초대 시스템 및 방법{COLLABORATIVE INVITATION SYSTEM AND METHOD} Cooperation invitation system and method {COLLABORATIVE INVITATION SYSTEM AND METHOD}

본 발명은 일반적으로 네트워크화 컴퓨팅 환경에 관한 것으로, 더욱 구체적으로 네트워크화 컴퓨팅 환경에서 용이해진 협력에 관한 것이다. The present invention relates generally to networked computing environments, the present invention relates to a readily made together in a networked computing environment in more detail.

네트워크화 컴퓨팅 환경은 직장 및 심지어는 가정의 일반적인 특징이 되었다. Networked computing environments has become a common feature of the workplace and even the home. 이러한 환경은 스트리밍 오디오 및 비디오, 및 몰입형 양방향 감각(immersive interactive sensory) 환경뿐만 아니라, 전자 메일, 인스턴트 메시징, 멀티미디어 문서 서버, 토론 그룹을 포함한 다양한 통신 모드를 용이하게 한다. These environments, as well as streaming audio and video, and immersive interactive experience sensations (immersive interactive sensory), to facilitate a variety of communication modes including e-mail, instant messaging, multimedia document servers, discussion groups. 종래의 소프트웨어 애플리케이션들은 이렇게 풍부한 통신 모드들을 이용하기 시작했지만, 각각은 통합된 확장성 컴퓨터화 협력 플랫폼의 관점에서 고려했을 때 제한 및/또는 단점을 갖는다. Conventional software applications, but they do start to take advantage of rich communication modes, each with limitations and / or disadvantages when considered from the perspective of an integrated computerized scalable collaboration platform.

몇몇 종래의 컴퓨터 소프트웨어 애플리케이션은 협력 서비스의 양상을 제공하지만, 협력자(collaborator)에게로의 효과적인 액세스를 제공하지는 못한다. Some conventional computer software applications provide aspects of collaborative services, however, do not provide effective access to collaborators (collaborator) egero. 협력자에게로의 서투른 및/또는 제한된 액세스는 협력 개시에 장애를 줄 수 있어서, 다른 기능적인 협력 도구를 사용하지 못하게 할 수 있다. Clumsy and / or limited access to partners egero may be able to be able to reduce the obstacles to initiate cooperation, not use any other functional collaboration tools. 협력자에게로의 비효과적인 액세스의 양상은 몇몇 종래의 소프트웨어 애플리케이션에 의해, 현재의 물리 및/또는 가상 위치를 효과적으로 식별하지 못한다는 것이다. Aspect ratio of the effective access to collaborators is egero by some conventional software applications, it does not effectively identify the current physical and / or virtual location. 다른 양상은 몇몇 종 래의 소프트웨어 애플리케이션에 의해, 협력 기능에 관한 호환성을 효과적으로 식별하지 못한다는 것이다. Another aspect is that by the application software of some kind of future, it does not effectively identify the compatibility of the collaboration features.

협력 서비스의 양상을 제공하는 종래의 소프트웨어 애플리케이션의 특정 배포의 기능에 있어서의 결함 이외에, 몇몇 종래의 소프트웨어 애플리케이션은 확장성 협력 플랫폼, 프레임워크 및/또는 아키텍처에 대비하지 못한다. In addition to defects in the specific deployment functionality of conventional software applications to provide aspects of collaborative services, some conventional software applications do not prepare for scalable collaboration platform, framework and / or architecture. 이것은 결코 사소한 결점이 아니다. This is by no means a minor drawback. 효과적인 아키텍처는 수년을 끌어서, 무수한 노드를 갖는 네트워크 컴퓨팅 환경으로 편입될 수 있다. Effective architecture can be incorporated into a network computing environment, drag the years, with numerous nodes. 설정된 아키텍처의 확장성, 유연성, 유지보수성 및/또는 범위성(scalability)의 장애는 단일 소프트웨어 제품 배포에서보다 훨씬 더 중요한 문제일 수 있다. Failure of scalability, flexibility, maintenance of set architecture maintainability and / or scalability (scalability) can be much more important than in a single software product distribution.

이 부분은 본 발명의 몇몇 실시예의 간략화된 요약을 제공한다. This section provides an example simplified summary of some embodiments of the present invention. 이 요약은 본 발명의 광범위한 개요가 아니다. This summary is not an extensive overview of the invention. 그것은 본 발명의 핵심적인/중대한 구성요소를 식별한다거나 본 발명의 범위를 나타내고자 하는 것이 아니다. It handageona identify key / critical elements of the invention rather than to show the range of the present invention. 그 유일한 목적은 나중에 제시되는 더욱 상세한 설명의 서론으로서 본 발명의 몇몇 실시예를 간략화된 형태로 나타내는 것이다. Its sole purpose is shown in simplified to some embodiments of the invention as a prelude for more detailed description that is presented later form.

본 발명의 실시예에서, 하나 이상의 접촉자는 그래픽 사용자 인터페이스(GUI)와 같은 초대 사용자 인터페이스로 선택될 수 있다. In the preferred embodiment, one or more contacts may be selected by invitation user interface such as a graphical user interface (GUI). 협력 활동에 참가하라는 초대는 초대 사용자 인터페이스로부터 또는 협력 애플리케이션으로부터, 예를 들어 협력 활동을 용이하게 하는 협력 애플리케이션으로부터, 선택된 접촉자에게 보내질 수 있다. Invitation to participate in cooperative activities may be sent to the selected contacts from applications that facilitate collaboration, for example, collaboration or cooperation activities from inviting applications from the user interface. 초대 사용자 인터페이스로부터 또는 협력 애플리케이션으로부터 초대가 보내졌는 지의 여부는 구성가능 옵션일 수 있다. Whether jyeotneun invitation is sent from the invitation user interface or from a collaboration application it may be configurable options. 초대가 초대 사용자 인터페이스로부터 보내질 수 있으면, 협력 애플리케이션이 개시될 수 있고, 그 다음에 초대는 초대 사용자 인터페이스로부터 보내질 수 있다. If the invitation can be sent from the invitation user interface may be initiated collaboration applications, invitations may be sent from the user interface invited to the next. 초대가 협력 애플리케이션으로부터 보내질 수 있으면, 협력 애플리케이션이 개시될 수 있고, 그 다음에 초대는 협력 애플리케이션으로부터 보내질 수 있다. If the invitation can be sent from the collaboration application, and can be initiated collaboration applications, invitations may be sent from the cooperative application to the next.

본 발명의 실시예에서, 협력 애플리케이션에 참가하라는 초대는, 예를 들어 협력 서비스 플랫폼에 의해 수신될 수 있다. In an embodiment of the invention, the invitation to participate in the collaborative application may be, for example, it is received by the collaboration services platform. 협력 서비스 플랫폼의 사용자는 초대에 응답하여 수락, 사절 및 무시 중의 하나를 선택하는 능력과 함께 초대가 제시될 수 있다. User collaboration services platform may be invited to a presentation with the ability to select one of the accepted, refused, and neglected to respond to the invitation. 사용자는 초대의 수락, 사절 또는 명시적 무시를 선택할 수 있고, 응답은 사용자의 선택을 표시해서 초대장 발송인에게 보내질 수 있다. Users can choose to accept the invitation, refused or explicitly ignored, the response can be sent to the user by displaying a selection of the invitation sender.

본 발명의 실시예에서, 협력 초대 서비스를 위한 애플리케이션 프로그래밍 인터페이스는 초대 요소, 초대 송신 요소, 초대에의 응답 요소 및 초대 삭제 요소를 포함한다. In an embodiment of the present invention, an application programming interface for a collaborative invitation service includes an invitation response element and delete elements in the invitation element, the transmission element invitation, inviting. 초대 요소는 협력 활동에 참가하라는 초대에 대응하는 초대 데이터로의 액세스를 제공할 수 있다. Invite elements may provide access to the data corresponding to the invitation invited to participate in cooperative activities. 초대 송신 요소는 하나 이상의 접촉자에게 협력 초대를 보내기 위해 사용될 수 있다. Invite transmission element can be used for one or more contacts to send the invitation cooperation. 초대에의 응답 요소는 협력 초대에 응답하기 위해 사용될 수 있고, 초대 삭제 요소는 발송된 초대를 삭제하기 위해 사용될 수 있다. Response Elements of the invitation can be used to respond to the invitation cooperation, inviting delete elements can be used to delete the sent invitations.

첨부된 청구범위는 특이성을 갖는 본 발명의 특징을 설명하지만, 본 발명 및 그 장점은 첨부된 도면을 참조하여 행해진 다음의 상세한 설명으로부터 가장 잘 이 해된다. The appended claims describe the characteristics of the present invention with specificity, however, the present invention and its advantages are to the best from the following detailed description made with reference to the following accompanying drawings.

도 1은 본 발명의 실시예를 구현하기 위해 사용할 수 있는 예시적인 컴퓨터 시스템을 일반적으로 도시한 개략도. 1 is a schematic diagram generally illustrating an exemplary computer system that can be used to implement an embodiment of the present invention.

도 2는 본 발명의 실시예를 구체화하기에 적합한 예시적인 네트워크화 컴퓨팅 환경을 도시한 개략도. Figure 2 is a schematic diagram illustrating an exemplary networked computing environment suitable for embodying an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른, 협력 서비스 플랫폼을 위한 예시적인 컴퓨터 소프트웨어 아키텍처를 도시한 블럭도. 3 is a diagram illustrating an example computer software architecture for cooperation service platform according to an embodiment of the invention.

도 4는 본 발명의 실시예에 따른 예시적인 협력 객체(object) 모델을 도시한 객체 모델링 도면. Figure 4 is an object model diagram illustrating an example collaboration object (object) model in the embodiment;

도 5는 본 발명의 실시예에 따른 예시적인 접촉자 객체를 도시한 객체 인터페이스 도면. Figure 5 is an object interface diagram illustrating an example contact object in accordance with an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 예시적인 프레즌스(presence) 객체를 도시한 객체 인터페이스 도면. Figure 6 is an exemplary presence (presence) an object interface diagram showing an object according to an embodiment of the invention.

도 7은 본 발명의 실시예에 따른 예시적인 발행된(published) 객체를 도시한 객체 인터페이스 도면. Figure 7 is an exemplary issuance of (published) an object interface diagram showing an object according to an embodiment of the invention.

도 8은 본 발명의 실시예에 따른 예시적인 능력(capability) 객체를 도시한 객체 인터페이스 도면. Figure 8 is an exemplary capability (capability) an object interface diagram showing an object according to an embodiment of the invention.

도 9는 본 발명의 실시예에 따른 예시적인 MeContact 객체를 도시한 객체 인터페이스 도면. Figure 9 is an object interface diagram illustrating an example MeContact object in accordance with an embodiment of the present invention.

도 10은 본 발명의 실시예에 따른 예시적인 회의(conference) 객체를 도시한 객체 인터페이스 도면. Figure 10 is an exemplary conference (conference) an object interface diagram showing an object according to an embodiment of the invention.

도 11은 본 발명의 실시예에 따른, 협력 서비스 플랫폼에 의해 수행된 예시적인 단계를 도시한 플로우차트. 11 is a flowchart showing the exemplary steps performed by the collaboration services platform in accordance with an embodiment of the present invention.

도 12는 본 발명의 실시예에 따른, 협력 서비스 플랫폼에 의해 수행된 다른 예시적인 단계를 도시한 플로우차트. 12 is a flow chart illustrating the other exemplary steps performed by the collaboration services platform in accordance with an embodiment of the present invention.

도 13은 본 발명의 실시예에 따른 예시적인 초대 시나리오를 도시한 개략도. 13 is a schematic diagram showing an example invitation scenario in accordance with an embodiment of the present invention.

도 14는 본 발명의 실시예에 따른 예시적인 초대 서비스 애플리케이션 프로그래밍 인터페이스를 도시한 개략도. 14 is a schematic diagram showing an example invitation service application programming interface in accordance with an embodiment of the present invention.

도 15는 본 발명의 실시예에 따른, 초대를 보내는 예시적인 단계를 도시한 플로우차트. 15 is a flow chart showing an exemplary step of sending the invitation, in the embodiment;

도 16은 본 발명의 실시예에 따른, 초대를 보내기 위해 초대 서비스에 의해 수행된 예시적인 단계를 도시한 플로우차트. Figure 16 is a flowchart showing the exemplary steps performed by the invitation service to send an invitation, in the embodiment;

도 17은 본 발명의 실시예에 따른, 일반적인 초대 사용자 인터페이스로부터의 초대에 응답하는 예시적인 단계를 도시한 플로우차트. 17 is a flowchart showing an exemplary method comprising: in response to the invitation, the invitation from a generic user interface according to an embodiment of the invention.

도 18은 본 발명의 실시예에 따른, 애플리케이션 특정 사용자 인터페이스로부터의 초대에 응답하는 예시적인 단계를 도시한 플로우차트. 18 is a flowchart showing exemplary steps for responding to an invitation from a specific application of the user interface, according to an embodiment of the invention.

도 19는 본 발명의 실시예에 따른, 서버리스(severless) 프레즌스 발행에 참가하는 예시적인 단계를 도시한 플로우차트. 19 is a flowchart showing an exemplary method comprising: participating in, serverless (severless) Presence issued according to an embodiment of the invention.

도 20은 본 발명의 실시예에 따른, 협력 프레즌스 구독을 신청하는 예시적인 단계를 도시한 플로우차트. Figure 20 is a flowchart showing an exemplary method comprising: applying for cooperation presence subscriptions in accordance with an embodiment of the present invention.

도 21은 본 발명의 실시예에 따른, 협력 프레즌스 구독을 수락하는 예시적인 단계를 도시한 플로우차트. 21 is a flowchart showing an exemplary step of accepting, cooperation presence subscriptions in accordance with an embodiment of the present invention.

본 발명의 여러 실시예를 설명하기 전에, 본 발명의 여러 실시예가 실시될 수 있는 컴퓨터의 설명이 이제 제공된다. Before describing the various embodiments of the present invention, it is the computer on which various embodiments of the invention may be performed will now be described provided. 요구된 것은 아니지만, 본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 문맥으로 기술될 것이다. It is not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. 일반적으로, 프로그램은 특정 태스크를 수행하고 또는 특정 추상 데이터 유형을 구현하는 루틴, 객체, 컴포넌트, 데이트 구조 등을 포함한다. In general, the program performs a specific task, or include routines, objects, components, date structures, etc. that implement certain abstract data types. 여기에서 사용된 "프로그램"이라는 용어는 단일 프로그램 모듈, 또는 협력하여 동작하는 다수의 프로그램 모듈을 내포할 수 있다. The term "program" as used here may involve a number of program modules that operate in a single program module or cooperation. 여기에서 사용된 "컴퓨터" 및 "컴퓨팅 장치"라는 용어는 퍼스널 컴퓨터(PC), 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 프로그램가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 태블릿 PC, 랩탑 컴퓨터, 마이크로프로세서나 마이크로제어기를 갖는 소비자 가전제품, 라우터, 게이트웨이, 허브 등과 같이, 하나 이상의 프로그램을 전자적으로 실행하는 모든 장치를 포함한다. The term "computer" and "computing device" as used herein is a personal computer (PC), hand-held devices, multiprocessor systems, microprocessor-based programmable consumer electronics, network PC, a mini-computer, a tablet PC, a laptop computer, , such as a consumer having a microprocessor or microcontroller appliances, routers, gateways, hubs, includes any device that electronically executes the one or more programs. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 이용될 수 있다. The invention may also be used in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. 분산 컴퓨팅 환경에서, 프로그램은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다. In a distributed computing environment, programs may be located in both local and remote memory storage devices.

도 1을 참조하면, 여기에 설명된 본 발명의 실시양상이 구현될 수 있는 컴퓨터(102)의 기본 구성의 예가 도시된다. 1, the example of the basic configuration of a computer 102 in this exemplary aspect of the present invention can be implemented described herein is shown. 가장 기본적인 구성에서, 컴퓨터(102)는 전형적으로 최소한 하나의 처리 장치(104) 및 메모리(106)를 포함한다. In its most basic configuration, the computer 102 typically includes at least one processing unit 104 and memory 106. 처리 장치(104)는 본 발명의 여러 실시예에 따라 태스크를 수행하기 위한 명령어를 실행한다. Processing unit 104 executes instructions to carry out tasks in accordance with various embodiments of the present invention. 그러한 태스크 수행시에, 처리 장치(104)는 전자 신호를 컴퓨터(102)의 다른 부분 및 컴퓨터(102) 외부의 장치에 전송하여 어떤 결과가 생기게 할 수 있다. When performing such tasks, the processing unit 104 may transmit electronic signals to other parts, and computer 102 of the external device of the computer 102 be induced which results. 컴퓨터(102)의 정확한 구성 및 유형에 의존하여, 메모리(106)는 (RAM과 같은) 휘발성, (ROM 또는 플래시 메모리와 같은) 비휘발성 또는 이 둘의 어떤 조합일 수 있다. Depending on the exact configuration and type of computer 102, memory 106 may be (such as RAM), volatile, (or ROM such as a flash memory), non-volatile or some combination of the two. 이 가장 기본적인 구성은 도 1에서 파선(108)으로 도시된다. This most basic configuration is illustrated by broken lines 108 in Fig.

컴퓨터(102)는 또한 추가 특징/기능을 가질 수 있다. Computer 102 may also have additional features / functionality. 예를 들어, 컴퓨터(102)는 또한, 자기 또는 광 디스크 또는 테이프를 포함하는(하지만, 이에 제한되는 것은 아님) 추가 저장장치(이동식(110) 및/또는 이동불가식(112))을 포함할 수 있다. For example, the computer 102 also comprises a magnetic or optical disk or tape (but not limited to) include additional storage (removable 110 and / or non-removable 112) can. 컴퓨터 저장 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 포함하는 정보의 저장을 위해 모든 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 이동불가식 매체를 포함한다. Computer storage media includes computer-executable instructions, data structures, program modules or other data in volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, including. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(102)에 의해 액세스될 수 있고 원하는 정보를 저장하기 위해 사용될 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. Computer storage media includes, but is RAM, ROM, EEPROM, flash memory, CD-ROM, DVD (digital versatile disk), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or computer 102 It can be accessed by, and include any other medium that can be used to store the desired information, but is not limited thereto. 그러한 모든 컴퓨터 저장 장치는 컴퓨터(102)의 일부분일 수 있다. Any such computer storage device may be a part of computer 102.

컴퓨터(102)는 양호하게 장치가 원격 컴퓨터(들)(116)과 같은 다른 장치와 통신할 수 있게 하는 통신 접속부(114)를 또한 포함한다. Computer 102 also preferably includes a communication device connecting portion 114 to be able to communicate with other devices such as remote computer (s) 116. 통신 접속부는 통신 매 체의 한 예이다. Communication connection is an example of communication media. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메카니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하고 모든 정보 전달 매체를 포함한다. Communication media typically a carrier wave (carrier wave) or other transport mechanism (transport mechanism) and the like; modulated data signal (modulated data signal) computer readable instructions, data structures, program modules, or implementing other data and any information delivery media to It includes. 예제로서(제한되는 것은 아님), "통신 매체"라는 용어는 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. As an example (but not limited to), the term "communication media" includes wireless media such as acoustic, RF, infrared and other wireless media. 여기에서 사용된 "컴퓨터 판독가능 매체"라는 용어는 컴퓨터 저장 매체 및 통신 매체 둘 다를 포함한다. The term "computer readable medium" as used herein includes both computer storage media and communication media.

컴퓨터(102)는 또한 키보드/키패드, 마우스, 펜, 음성 입력 장치, 접촉식 입력 장치 등과 같은 입력 장치(118)를 가질 수 있다. Computer 102 may also have input devices 118 such as a keyboard / keypad, mouse, pen, voice input device, touch-input device. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(120)가 또한 포함될 수 있다. The output device 120 such as a display, speakers, printer, may also be included. 이러한 모든 장치는 본 분야에 잘 알려져 있어서, 여기에서 장황하게 설명될 필요가 없다. All these devices are well known method in the art, and need not be described at length here.

다음 설명에서, 본 발명은 달리 나타내지 않는 한, 하나 이상의 컴퓨팅 장치에 의해 수행되는 동작의 기호 표현 및 액트와 관련하여 설명될 것이다. In the following description, the invention will be described with reference to a symbol expression and acts of the operations that are performed by one or more computing devices, unless indicated to the contrary. 이와 같이, 때때로 컴퓨터 실행되는 것으로 칭해지는 그러한 액트 및 동작은 구조적 형태로 데이터를 나타내는 전기 신호의 컴퓨터의 처리 장치에 의한 조작처리를 포함한다는 것을 이해할 것이다. Thus, sometimes such acts and operations, referred to as being computer-executable is to be understood that it includes the operation processing by the processing unit of electrical signals representing data in a structured form computer. 이 조작처리는 데이터를 변환하거나, 또는 컴퓨터의 메모리 시스템 내의 위치에 그것을 유지하는데, 이것은 본 분야에 숙련된 기술자들에게 잘 알려진 방식으로 컴퓨터의 동작을 재구성하거나 다르게 변경한다. The operation processing is to convert the data, or to keep it in position in the memory system of the computer, which reconfigures the operation of the computer in a manner well known to those skilled in the art or otherwise change. 데이터가 유지되는 데이터 구조는 데이터 포맷에 의해 정해진 특정 속성을 갖는 메모리의 물리적 위치이다. The data structures where data is maintained are physical locations of the memory that have particular properties defined by the data format. 그러나, 본 발명이 앞의 문맥에서 설명되었지만, 그것은 후술되는 여러가지 액트 및 동작이 하드웨어로 구현될 수도 있다는 것을 본 분야에 숙련된 기술자들이 이해할 것이므로, 제한하고자 하는 것이 아니다. However, although the invention has been described in the preceding context, it is understandable because they experienced in the various acts and operations described below present that may be implemented in hardware field engineer, are not intended to be limiting.

본 발명의 실시예에서, 컴퓨터 소프트웨어 아키텍처는 확장성, 유연성, 유지보수성 및 범위성 있는 협력 플랫폼을 제공한다. In an embodiment of the invention, a computer software architecture provides extensibility, flexibility, maintainability and scalability collaboration platform. 아키텍처의 양상은 적합한 네트워크화 컴퓨팅 환경으로 편입될 수 있다. Aspects of the architecture can be incorporated into a suitable networked computing environment. 아키텍처는 종래의 컴퓨터 소프트웨어 애플리케이션과 통합된 협력을 가능하게 하고/하거나 확장할 수 있다. Architecture can enable an integrated partnership with conventional computer software applications and / or expansion. 특히, 아키텍처는 네트워크화 컴퓨팅 환경에서의 현재의 접촉자 프레즌스 및 예를 들어 이용가능한 협력 활동에 관한 현재의 접촉자 능력을 포함하여, 포괄적인 협력 접촉자 관리를 제공할 수 있다. In particular, the architecture, including the current capacity of the contacts in the current contacts and presence, for example, available for cooperative activities in the networked computing environment can provide a comprehensive, collaborative contact management.

도 2는 본 발명의 실시예를 구체화하기에 적합한 예시적인 네트워크화 컴퓨팅 환경(200)을 도시하고 있다. Figure 2 illustrates an exemplary networked computing environment 200 suitable for embodying an embodiment of the present invention. 네트워크화 컴퓨팅 환경에서, 네트워크(202)는 컴퓨터(204, 206 및 208)를 네트워킹 허브(hub)(210)에 통신으로 접속시킨다. In the networked computing environment a network 202 communicatively connects computers (204, 206 and 208) to the network hub (hub) (210). 네트워크(202)는 LAN(local area network), MAN(metropolitan area network), WAN(wide area network), PAN(personal area network) 또는 그것의 조합일 수 있다. Network 202 may be a LAN (local area network), MAN (metropolitan area network), WAN (wide area network), (personal area network), PAN, or a combination thereof. 네트워크(202)는 임의의 적합한 컴퓨터 판독가능 매체뿐만 아니라, 허브, 게이트웨이, 라우터, 브리지, 포트 등과 같은 임의의 적합한 네트워킹 컴포넌트를 포함할 수 있다. Network 202 as well as any suitable computer readable medium may include any suitable networking components such as hubs, gateways, routers, bridges, ports. 예를 들어, 컴퓨터(204, 206 및 208) 및 네트워킹 허브(210)는 각각 컴퓨터(102)(도 1)의 인스턴스일 수 있다. For example, the computer (204, 206 and 208) and the networking hub 210 may be instances of the computer 102 (FIG. 1), respectively.

네트워킹 허브(210)는 컴퓨터(212, 214 및 216)를 통신으로 접속시킬 수 있다. Networking hub 210 may be connected to the computer (212, 214 and 216) to communicate. 네트워킹 허브(210) 및 컴퓨터(212, 214 및 216)는 물론 제한적인 예는 아니 지만, 함께 서브-네트워크 또는 서브넷(subnet)(218)의 예로서 간주될 수 있다. Networking hub 210 and the computer (212, 214 and 216), as well as, but not limiting examples, with the sub-can be considered as an example of the network or subnet (subnet) (218). 컴퓨터(212, 214 및 216)는 동일한 서브넷 상에 있다고 하고, 결과적으로 서로에 대해 특권 네트워크 통신을 누릴 수 있다. Computer (212, 214, and 216) may enjoy privileged network communication with respect to each other, the result is that on the same subnet. 예를 들어, 각 컴퓨터(204, 206, 208, 212, 214 및 216)가 각각 다른 컴퓨터(204, 206, 208, 212, 214 및 216)에 점 대 점 유형의 메시지를 보낼 수 있을지라도, 서브넷(218)은 서브넷(218) 내에서의 방송 유형 메시지가 서브넷(218) 내의 이들 컴퓨터(212, 214 및 216)에 의해 수신되도록 구성될 수 있다. For example, even if to send a point-to-point type messages to each computer (204, 206, 208, 212, 214 and 216) each other computers (204, 206, 208, 212, 214 and 216), subnet 218 may be configured to be received by the subnet 218. these computer (212, 214, and 216) in a broadcast type message, the subnet 218 in the.

협력 플랫폼의 확장성, 유연성, 유지보수성 및/또는 범위성의 속성은 그 모듈러 구조, 전체로서의 그 모듈러 구조, 전체로서의 모듈러 구조의 모듈 및/또는 상호작용 패턴의 것들 사이의 상호작용 모드 중의 하나 이상의 양상으로부터 생길 수 있다. Scalability, flexibility of the collaboration platform, maintainability and / or range Castle property that a modular structure, that of the entire modular structure, one or more aspects of the interaction mode between the modular structure of the entire module, and / or those of the interaction pattern It can occur from. 도 3은 본 발명의 실시예에 따른 예시적인 컴퓨터 소프트웨어 아키텍처(300)를 도시하고 있다. 3 illustrates an example computer software architecture 300 in accordance with an embodiment of the present invention. 아키텍처(300)의 각 양상은 각 컴퓨터(204, 206, 208, 212, 214 및 216)(도 2)에서 존재할 수 있지만, 본 발명의 각 실시예는 그렇게 제한되는 것은 아니다. Each aspect of the architecture 300 may be present on each machine (204, 206, 208, 212, 214 and 216) (Fig. 2), each of the embodiments of the present invention is not so limited. 아키텍처(300)의 양상은 전체적으로 네트워크화 컴퓨팅 환경(200)을 포함하는 네트워크화 컴퓨팅 환경(200)의 임의의 적합한 서브셋 전반에 적합하게 분포될 수 있다. Aspect of the architecture 300 may be suitably distributed in any suitable subset of the first half of the networked computing environment 200 as a whole including the networked computing environment 200. 아키텍처(300)의 상이한 버전은 상이한 컴퓨터에서 존재할 수 있고, 아키텍처(300)의 각 버전이 아키텍처(300)의 각각 다른 버전과 호환할 수 있는 정도는 다를 수 있다. Different versions of the architecture 300 may be present at different computers, degree to which each version of the architecture 300 may be compatible with each other version of the architecture 300 may vary.

아키텍처(300)는 협력 서비스 플랫폼(302)을 포함할 수 있다. Architecture 300 can include collaboration services platform 302. 협력 서비스 플랫폼(302)은 접촉자 관리 서비스(304), 발행 서비스(306), 시그널링 서비 스(308), 활동 서비스(310), 데이터 공유 서비스(312), 인증 서비스(314) 및 접속성 서비스(316)를 포함할 수 있다. Collaboration services platform 302 contacts management service (304), issued by the service 306, and signaling services 308, activity services (310), a data-sharing service 312, authentication service 314 and connectivity services ( 316) may include. 접촉자 관리 서비스(304)는 접촉자 저장부(318), 프레즌스 저장부(320) 및 접촉자 위치 서비스(322)를 포함할 수 있다. The contact management service 304 may include a contact store unit 318, a presence store 320 and the contact location service 322. 발행 서비스(306)는 동기화 서비스(324)를 포함할 수 있다. Services issued 306 may include a synchronization service 324. 시그널링 서비스(308)는 초대 서비스(326)를 포함할 수 있다. Signaling service 308 may include an invitation service 326. The 활동 서비스(310)는 시청각(A/V) 서비스(328)를 포함할 수 있다. Activity service 310 may include an audio-visual (A / V) service 328. The 접속성 서비스(316)는 피어 투 피어(peer-to-peer)(P2P) 서비스(330), 및 종래의 전송 제어 프로토콜 및 인터넷 프로토콜(TCP/IP) 스택(332)을 포함할 수 있다. Connectivity service 316 may include a peer-to-peer (peer-to-peer) (P2P) service 330, and a conventional transport control protocol and internet protocol (TCP / IP) stack 332. 각 서비스(304, 306, 308, 310, 312, 314, 316)는 서비스를 구현하는 메시지를 송수신할 수 있는 피어를 포함하고/하거나, 그 피어에 편입될 수 있다. Each of the services (304, 306, 308, 310, 312, 314, 316) comprises a peer capable of sending and receiving messages implementing the service, and / or may be incorporated in the peer.

본 발명의 실시예에서, 접촉자 관리 서비스(304)는 협력자, 즉 협력 서비스 플랫폼(302)의 사용자에게로의 효과적인 액세스를 제공한다. In the preferred embodiment, the contact management service 304 provides a collaborator, that is, an effective access to the user of the collaborative services platform 302. 예를 들어, 접촉자 관리 서비스(304)는 협력 서비스 플랫폼(302) 사용자의 일부 또는 전부에게 접촉자 정보를 제공할 수 있다. For example, the contact management service 304 can provide the contact information for some or all of your collaboration services platform 302. 접촉자 관리 서비스(304)는 하나 이상의 데이터 저장부 내에 접촉자의 데이터베이스를 유지할 수 있다. The contact management service 304 may maintain a database of contacts in one or more data storage unit. 각 접촉자는 잠재적인 협력자일 수 있고, 즉 협력 서비스 플랫폼의 사용자는 각 접촉자와 하나 이상의 협력 활동을 시작하고자 시도할 수 있다. Each contact can be the potential partners, ie users of the collaboration services platform may try to start one or more co-operative activities with each contact. 접촉자 관리 서비스(304)는 예를 들어, 사용자에 의한 선택을 위해, 및/또는 사용자가 특정 접촉자에 관한 협력 서비스 플랫폼(302) 액션을 호출할 수 있도록, 접촉자를 나타내는 그래픽 사용자 인터페이스(GUI)를 포함하는 하나 이상의 사용자 인터페이스를 제공할 수 있다. The contact management service 304 may, for example, for selection by the user, and / or the user and a graphical user interface (GUI) to call the collaboration services platform 302 action, showing a contactor of a particular contact It may provide one or more user interface comprising.

접촉자 저장부(318)는 (도 4와 관련하여 더욱 상세하게 후술되는) 접촉자 객체 및 "MeContact" 객체를 저장할 수 있다. Contacts the storage unit 318 may store contact objects and "MeContact" objects (to be described later in more detail with respect to Figure 4). 프레즌스 저장부(320)는 접촉자 객체를 위한 (또한 도 4와 관련하여 더욱 상세하게 후술되는) 프레즌스 객체를 저장할 수 있다. The presence store 320 may store presence objects (also described later in more detail with respect to Figure 4) for the contact objects. 본 발명의 실시예에서, 프레즌스 데이터는 분리된 데이터 저장부(318, 320)가 상이한 객체 갱신 빈도에 최적화될 수 있도록, 접촉자 데이터보다 더 자주 바뀐다. In the preferred embodiment, the presence data so that can be optimized for different object update frequency separated data storage unit (318, 320), changes more frequently than contact data.

접촉자 위치 서비스(322)는 주어진 접촉자에 관한 여러 가지 위치 데이터 중의 하나 이상을 제공할 수 있다. The contact location service 322 may provide one or more of a number of position data of a given contact. 물리적 근접도는 접촉자 위치의 양상일 수 있고, 예를 들어, 물리적 위치에 대한 하나 이상의 프럭시는 사용자로부터의 접촉자의 물리적 거리를 평가하기 위해 이용될 수 있다. Physical proximity may yangsangil of the contact position, for example, when one or more proxies for physical location may be utilized to estimate a physical distance of a contact from the user. 무선 수신기에서의 신호 강도는 물리적 거리 프럭시의 한 예이다. Signal strength at a radio receiver is an example at the time of a physical distance proxy. 가상 위치는 접촉자 위치의 다른 양상일 수 있다. Virtual location can be different yangsangil of the contact position. 예를 들어, 접촉자는 도 2의 네트워크(202)와 같은 하나 이상의 네트워크, 및/또는 컴퓨터(204, 206, 208, 212, 214 및 216)와 같은 하나 이상의 네트워크 노드에서 활동할 수 있다. For example, the contact may be able to act on one or more network nodes, such as one or more networks, and / or a computer (204, 206, 208, 212, 214 and 216), such as network 202 of FIG. 또한, 접촉자는 등록되지만 비활동적일 수 있고, 온라인 상태이지만 발견되지 않을 수 있고, 또는 몇몇의 다른 적합한 위치 상태를 가질 수 있다. In addition, the contact is registered, but may be non-active, online, but can not be found, or may have some other suitable locations in the state. 접촉자 위치 서비스(322)는 특정 접촉자의 위치를 찾기 위해, 적합한 레지스트리를 조회하고/하거나, 예를 들어 피어 투 피어 검색 또는 피어 투 피어 이름 분석 메카니즘을 시작할 수 있다. Contact location service 322 may start to find the location of specific contacts, look up the appropriate registry and / or, for example, peer-to-peer search or peer-to-peer name resolution mechanism.

발행 서비스(306)는 접촉자에 의해 발행된 데이터로의 액세스를 제공할 수 있다. Publication service 306 may provide access to data published by contacts. 본 발명의 실시예에서, 관심있는 사용자는 접촉자에 의해 발행된 객체를 구 독할 수 있고, 발행된 객체가 발행하는 접촉자에 의해 갱신될 때마다 통지를 수신할 수 있다. In an embodiment of the invention, interested users may decrypt obtain an object issued by the contact, can receive notification each time the updated by the issuance of the object issuing the contacts. 동기화 서비스(324)는 발행 구독의 데이터베이스를 유지할 책임이 있을 수 있다. Synchronization Services (324) may be responsible for maintaining a database of issued subscription. 특히, 발행 서비스(206)는 접촉자에 의해 발행된 프레즌스 정보로의 액세스를 제공할 수 있다. In particular, the publication services 206 may provide access to the presence information published by contacts.

시그널링 서비스(308)는 진행중인 회의의 파라미터의 갱신뿐만 아니라, 네트워크화 컴퓨팅 환경(200)(도 2)에 있는 접촉자들 간의 협력 회의의 설정 및 종료를 제공할 수 있다. Signaling service 308 may provide, as well as updating of the parameters of a conference in progress, establishment and termination of collaborative conferences between contacts in the networked computing environment 200 (Figure 2). 본 발명의 실시예에서, 협력 회의의 설정, 갱신 및 종료는 발행/구독 의미론에 따라 제공된다. In the preferred embodiment, the set of collaboration conference, update and termination is provided in accordance with publish / subscribe semantics. 본 발명의 실시예에서, 시그널링 서비스(308)는 Handley 등에 의해 "SIP: Session Initiation Protocol", Internet Engineering Task Force(IETF) Request for Comments(RFC) 2543(1999년3월)에 기술된 SIP(session initiation protocol)와 같은 SIP의 구현을 포함한다. In an embodiment of the invention, the signaling service 308 by Handley "SIP: Session Initiation Protocol", Internet Engineering Task Force (IETF) Request for Comments (RFC) 2543 a SIP (session described (March 1999) It includes the SIP implementations, such as initiation protocol).

초대 서비스(326)는 초대 및 관련 메시지가 접촉자에게/로부터 보내질 수 있게 할 수 있다. Invitations Service 326 may enable invitations and related messages can be sent from your contacts /. 예를 들어, 한 컴퓨터(212)에서 네트워크화 컴퓨팅 환경(200)(도 2)을 액세스하는 시스템 사용자는 몇몇 다른 컴퓨터(들)(204, 206, 208, 212, 214 및/또는 216)에서의 접촉자에게 협력 활동에 참가하라고 초대할 수 있다. For example, the contacts in the system user accessing the networked computing environment 200 (Figure 2) at one computer 212 is some other computer (s) (204, 206, 208, 212, 214 and / or 216) now you may be invited to participate in cooperative activities. 초대 서비스(326)는 초청객에게 초대 상세를 제시하고 초청객이 초대를 수락, 사절 및/또는 명시적 무시를 할 수 있게 하는 그래픽 사용자 인터페이스(GUI)와 같은 여러 가지 사용자 인터페이스를 포함할 수 있다. Invitations Service (326) can be presented in detail to the invitation chocheonggaek contains several user interface such as a graphical user interface (GUI) that allows the chocheonggaek can accept the invitation, refused and / or explicitly ignored. 예시적인 초대 서비스(326)는 도 13과 관련하여 더욱 상세하게 후술된다. Exemplary invitation service 326 is described below in more detail with respect to Figure 13.

활동 서비스(310)는 협력 활동을 구현하고/하거나, 협력 서비스 플랫폼(302) 으로의 협력 애플리케이션의 통합을 위한 지원을 제공할 수 있다. Activity Services (310) may implement the cooperative activities and / or to provide support for the integration of collaboration applications in a collaborative services platform 302. 예를 들어, 활동 서비스(310)는 종래의 협력 애플리케이션에 협력 서비스 플랫폼(302) 순응 애플리케이션 프로그래밍 인터페이스(API)를 제공할 수 있다. For example, the activity service 310 may provide collaboration services platform 302 compliant application programming interfaces (API) to the conventional cooperative applications. 순응 API는 활동 능력에 관해 특정 접촉자 또는 컴퓨터(204, 206, 208, 212, 214, 216)(도 2)를 조회하고 애플리케이션-특정 초대 요구사항을 확인하는 기능을 포함할 수 있다. Compliant API queries the specific contacts or the computer (2) (204, 206, 208, 212, 214, 216) with respect to the activity level and the application may include the ability to determine the specific invitation requirements. 시청각 서비스(328)는 활동 서비스(310)로의 편입에 적합한 협력 활동의 예이다. Audio-visual services 328 are an example of collaboration activities suitable for incorporation into the activity service 310.

데이터 공유 서비스(312)는 파일, 문서, 스트림 및 객체를 포함하는 임의의 적합한 포맷으로 데이터의 공유를 가능하게 할 수 있다. A data sharing service 312 may enable sharing of data in any suitable format including files, documents, streams and objects. 데이터 공유 서비스(312)는 데이터 전송, 데이터 복제 및/또는 데이터 동기를 제공할 수 있다. A data sharing service 312 may provide a data transfer, data replication and / or synchronization data. 데이터 공유는 접촉자, 활동에의 참가, 회의에의 참가, 및/또는 네트워크화 컴퓨팅 환경(200)(도 2) 사용자 그룹과 같은 임의의 적합한 액세스 제어 리스트(ACL) 엔트리에 기초하여 가능하게 되고 불가능하게 될 수 있다. Data sharing may be disabled and enabled based on the entry, participation in a conference, and / or networked computing environment 200 (Figure 2) in any suitable access control list (ACL) entry such as a user group of the contacts, activities It can be.

인증 서비스(314)는 인증서, 예를 들어 접촉자용 인증서 및 기타 활동 및 회의 참가용 인증서를 공급하고 검증할 수 있다. Authentication service 314 can be supplied to verify the certificate, for example, contacts Edition certificates, and other activities and meetings certificates for participation. 인증 서비스(314)는 접촉자를 신뢰 접촉자와 비신뢰 접촉자로 분류하게 할 수 있다. Authentication service 314 may be classified into trusted contacts and untrusted contacts the contactor. 인증 서비스(314)는 접촉자가 접촉 위치에 관계없이 및/또는 정교한 네트워크화 컴퓨팅 환경(200)(도 2) 프레즌스에 따라서 신뢰받을 수 있게 한다. Authentication service 314 is able to receive the contact according to the trust without and / or sophisticated networked computing environment 200 (Figure 2) presence relation to the contact position.

본 발명의 실시예에서, 접속성 서비스(316)는 네트워크화 컴퓨팅 환경(200)(도 2) 전반에 걸쳐 협력 서비스 플랫폼(302) 서비스 인스턴스들 사이의 통신, 예를 들어 컴퓨터(212)에서의 제1 시그널링 서비스(308) 인스턴스와 컴퓨 터(208)에서의 제2 시그널링 서비스(308) 인스턴스 사이의 통신을 가능하게 한다. In an embodiment of the present invention, in the connectivity service 316 is a networked computing environment 200 (Figure 2) communications, for example, computer 212 between collaboration services platform 302 service instances throughout the 1 enables communication between a signaling service 308, second signaling service 308 instance at the instance of the computer 208. 접속성 서비스(316)의 통신 설비는 다른 협력 서비스 플랫폼(302) 서비스(304, 306, 308, 310, 312, 314)가 근본적인 전송 메카니즘에 관계없이 인스턴스들 사이에서 통신할 수 있도록 애플리케이션 프로그래밍 인터페이스(API)로 이용가능하게 될 수 있다. Communication equipment of the connectivity service 316 is an application programming interface to enable communication between different collaboration services platform 302 service, regardless of the underlying transport mechanism instances (304, 306, 308, 310, 312, 314) ( can be made available to the API).

접속성 서비스(316)는 Microsoft Developer Network(MSDN?) Library(2005년 3월)에서의 Microsoft? Accessibility Services 316 Microsoft in the Microsoft Developer Network (MSDN?) Library (March 2005)? Windows? Windows? Platform Software Development Kit(SDK)의 Windows? The Platform Software Development Kit (SDK) Windows? Sockets 2 섹션에서 기술된 Microsoft? The Microsoft technology Sockets 2 section? Windows? Windows? Sockets 2 (Winsock) API와 같은 고레벨 통신 애플리케이션 프로그래밍 인터페이스 및/또는 TCP/IP 스택(332)을 포함할 수 있다. Sockets 2 (Winsock) can include a high-level communication application programming interfaces and / or TCP / IP stack 332, such as API. 피어 투 피어(P2P) 서비스(330)는 네트워크 컴퓨팅 환경(200)의 오버레이(overlay) 네트워크 내에서의 접속성을 제공할 수 있다. Peer-to-peer (P2P) service 330 may provide connectivity in an overlay (overlay) the network of the network computing environment (200). 예를 들어, 피어 투 피어 서비스(300)는 그래핑, 그루핑, 식별번호 매니저, 및 피어 이름 분석 프로토콜(PNRP) 명칭공간 제공자 애플리케이션 프로그래밍 인터페이스를 포함하여, Microsoft Developer Network(MSDN?) Library(2005년 3월)에서의 Microsoft? For example, peer-to-peer services (300) graphing, grouping, identification number manager, and peer name resolution protocol (PNRP), including the name space provider application programming interface, Microsoft Developer Network (MSDN?) Library (2005 years 3 Microsoft in July)? Windows? Windows? Platform Software Development Kit(SDK)의 Windows? The Platform Software Development Kit (SDK) Windows? Peer-to-Peer Networking 섹션에서 기술된 피어 투 피어 애플리케이션 프로그래밍 인터페이스에 따라 제공될 수 있다. Described in Peer-to-Peer Networking section of a peer-to-peer it can be provided depending on the application programming interface.

협력 서비스 플랫폼(302)의 서비스(304, 306, 308, 310, 312, 314 및 316)는 협력 객체 모델에서 서로 관련된 협력 객체 세트를 포함하는 프로그램 객체 세트로 구현될 수 있다. Service (304, 306, 308, 310, 312, 314 and 316) of the collaboration services platform 302 may be implemented in a program object set containing the cooperation set of objects associated with each other in cooperation object model. 도 4는 본 발명의 실시예에 따른 예시적인 협력 객체 세트 및 예 시적인 협력 객체 모델(400)을 도시하고 있다. 4 shows an exemplary set of collaboration objects and Examples poetry collaboration object model 400 in accordance with an embodiment of the present invention. 협력 객체 모델(400)은 접촉자 객체(402), 프레즌스 객체(404), MeContact 객체(406) 및 MyPresence 객체(408), 종점(endpoint) 객체(410), 능력 객체(412), 회의 객체(414), 활동 객체(416) 및 발행된 객체(418)를 포함할 수 있다. Collaboration object model 400 is the contact object 402, a presence object (404), MeContact object 406 and a MyPresence object 408, an endpoint (endpoint) object 410, a capability object 412, a conference object (414 ), and it may include an active object (416), and published objects (418). 물론, 협력 서비스 플랫폼(302)은 각 유형의 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)의 다수의 인스턴스를 포함할 수 있다. Of course, it is possible to work service platform 302 may include a number of instances of each type of collaboration object (402, 404, 406, 408, 410, 412, 414, 416 and 418).

접촉자 객체(402)는 협력 참가자 및/또는 협력 서비스 플랫폼(302)(도 3)의 사용자를 나타내는 적합한 속성을 포함할 수 있다. The contact object 402 may comprise a suitable attribute that indicates the user of the collaborative participant and / or collaboration services platform 302 (Figure 3). 특히, 접촉자 객체(402)는 네트워크화 컴퓨팅 환경(200)(도 2)에서 협력 프레즌스, 예를 들어 접촉자의 프레즌스를 참조할 수 있다. In particular, the contact object 402 may reference a collaborative presence, for example, the presence of the contacts in the networked computing environment 200 (Figure 2). 본 발명의 실시예에서, 접촉자 객체(402)는 프레즌스 객체(404)의 인스턴스를 참조함으로써 협력 프레즌스를 참조한다. In the preferred embodiment, the contact object 402 references a collaborative presence by referencing an instance of the presence object 404. 예시적인 접촉자 객체(402)는 도 5와 관련하여 더욱 상세하게 후술된다. Exemplary contact object 402 is described below in more detail with respect to Fig.

프레즌스 객체(404)는 협력 프레즌스, 예를 들어 특정 협력 서비스 플랫폼(302) 사용자가 최근 과거의 언젠가 활동했었던 네트워크화 컴퓨팅 환경(200)의 컴퓨터(204, 206, 208, 212, 214 및/또는 216)(도 2) 세트를 나타내는 적합한 속성을 포함할 수 있는데, "최근" 과거는 수초에서부터 수시간, 수일, 심지어 수년에 이르기까지 협력 상황에 따라 다를 수 있다. The presence object 404 may cooperate presence, for example, a particular collaboration services platform 302, a computer (204, 206, 208, 212, 214 and / or 216) of the networked computing environment 200 that had the user and one day activities of the recent past (2) may include a suitable property that represents a set of "recent" history may differ depending on the situation, cooperation, ranging from the number of hours, days, even years, from a few seconds. 프레즌스 객체(404)는 네트워크화 컴퓨팅 환경(200) 위치를 나타내는 하나 이상의 종점 객체(410) 인스턴스를 참조할 수 있다. The presence object 404 may reference one or more endpoint object 410 instances representing the networked computing environment 200 locations. 종점 객체(410)는 예를 들어, 네트워크화 컴퓨팅 환경(200)의 오버레이 네트워크 내의 한 피어에 대응할 수 있기 때문에, 네트워크화 컴퓨팅 환경(200)의 컴퓨터(204, 206, 208, 212, 214, 216)와 1 대 1로 대응할 필요가 없다. The end point object 410, for example, networked because it can respond to a peer in the overlay network, networked computers (204, 206, 208, 212, 214, 216) of the computing environment (200) of the computing environment (200) and one does not need to respond to one.

프레즌스 객체(404)는 예를 들어, 하나 이상의 협력 종점에서의 협력 능력, 및/또는 프레즌스 객체(404)와 관련된 몇몇 또는 모든 종점 전반의 집합체 협력 능력을 나타내는 0개 이상의 능력 객체(412) 인스턴스를 더 참조할 수 있다. The presence object 404 may, for example, cooperation ability in one or more collaborative endpoints and / or a presence object 404, and some or zero or more capability object 412 instances representing an aggregate collaborative capability of all endpoints across relevant you can see more. 또한, 프레즌스 객체(404)는 0개 이상의 발행된 객체(418) 인스턴스를 참조할 수 있다. In addition, the presence object 404 may refer to the published object 418 instances of zero or more. 예시적인 프레즌스 객체(404)는 도 6과 관련하여 더욱 상세하게 후술된다. Example presence object 404 is described in more detail in connection with FIG. 예시적인 발행된 객체(418)는 도 7과 관련하여 더욱 상세하게 후술된다. Exemplary published object 418 is described below in more detail with respect to FIG. 예시적인 능력 객체(412)는 도 8과 관련하여 더욱 상세하게 후술된다. Exemplary capability object 412 is described below in more detail with respect to FIG.

MeContact 객체(406)는 접촉자 객체(402)의 한 유형일 수 있고, 접촉자 객체(402)의 속성 및 비헤비어를 다양한 형태로 계승할 수 있다. MeContact object 406 may not be a type of contact object 402, it is possible to inherit the attributes and behavior of the contact object 402 in a variety of forms. MeContact 객체(406)는 협력 서비스 플랫폼 사용자 자신의 접촉자 정보가 다른 사용자의 접촉자 정보에 대해 할 수 있는 특정 역할로 인해, 접촉자 객체(402)와 구별될 수 있다. MeContact object 406 can be distinguished due to the specific role that their contact information collaboration services platform for users to contact information of other users, the contact object 402. 예를 들어, MeContact 객체(406)는 특정 사용자의 공지된 협력 접촉자를 나타내는 0개 이상의 접촉자 객체(402) 인스턴스를 참조할 수 있다. For example, MeContact object 406 may reference zero or more contact object 402 instances representing a known cooperative contact of a particular user. MeContact 객체(406)는 예를 들어, 다른 MeContact 객체(406) 인스턴스를 참조할 필요가 없다. MeContact object 406 is, for example, it is not necessary to refer to other MeContact object 406 instances. 본 발명의 실시예에서는, 불필요한 복잡도가 이렇게 방지되어, 협력 서비스 플랫폼(302)(도 3)의 확장성, 유연성, 유지보수성 및/또는 범위성에 기여한다. According to an embodiment of the present invention, it is prevented from unnecessary complexity thus be contributing to the extensibility, flexibility, maintainability and / or scope of the collaboration services platform 302 (Figure 3).

MeContact 객체(406)는 MyPresence 객체(408) 인스턴스를 더 참조할 수 있다. MeContact object 406 may further reference a MyPresence object 408 instance. MyPresence 객체(408)는 프레즌스 객체(404)의 한 유형일 수 있고, 프레즌스 객체(404)의 속성 및 비헤비어를 다양한 형태로 계승할 수 있다. MyPresence object 408 may not be a type of presence object 404, it is possible to inherit the attributes and behavior of the presence object 404 in a variety of forms. 또 다시, MyPresence 객체(408)는 협력 서비스 플랫폼 사용자 자신의 프레즌스가 다른 사용자의 프레즌스에 대해 할 수 있는 특정 역할로 인해 프레즌스 객체(404)와 구별될 수 있다. Again, MyPresence object (408) can be distinguished from the presence object 404 due to the specific role that could be done about his presence, collaboration services platform user to the presence of other users. 예를 들어, 본 발명의 실시예에서, 사용자는 그 자신의 MyPresence 객체(408) 인스턴스를 명시적으로 갱신할 수 있지만, 다른 사용자의 프레즌스 객체(404) 인스턴스를 갱신할 수는 없다. For example, in an embodiment of the invention, the user can be explicitly updated by his own MyPresence object 408 instance, it is not possible to update the presence object 404 instances of other users.

또한, MeContact 객체(406)는 MeContact 객체(406)와 관련된 사용자가 다른 협력 서비스 플랫폼 사용자와 함께 현재 및/또는 최근에 참가하고 있는 협력 회의를 나타내는 0개 이상의 회의 객체(414) 인스턴스를 참조할 수 있다. In addition, MeContact object 406 is a user associated with MeContact object 406 may reference zero or more conference object 414 instances representing the cooperation and participation of current and / or recent meeting with other collaboration services platform user have. 회의 객체(414)는 협력 활동를 나타내는 1개 이상의 활동 객체(416) 인스턴스를 참조할 수 있다. Conference object 414 may refer to more than one activity object 416 instances representing collaborative hwaldongreul. 본 발명의 실시예에서, 회의 객체(414)는 활동 객체(416)의 한 유형이고, 활동 객체(416)의 속성 및 비헤비어를 다양한 형태로 계승할 수 있다. In an embodiment of the invention, the conference object 414 is a type of activity object 416, it is possible to inherit the attributes and behavior of the activity object 416 in a variety of forms. 활동 객체(416)의 한 유형인 결과로서, 회의 객체(414)에 의해 참조된 활동 객체(416) 인스턴스는 회의 객체(414) 인스턴스일 수 있다. As a type that is the result of activity object 416, the activity object 416 is referenced by the conference object 414 instance may be conference object 414 instances. 예시적인 MeContact 객체(406)는 도 9와 관련하여 더욱 상세하게 후술된다. Example MeContact object 406 is described below in more detail with respect to FIG. 예시적인 회의 객체(414)는 도 10과 관련하여 더욱 상세하게 후술된다. Exemplary conference object 414 is described below in more detail with respect to Figure 10.

각각의 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)는 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418) 속성의 적합한 조회 및 조작처리를 위해서뿐만 아니라, 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418) 인스턴스의 생성 및 삭제를 위해 애플리케이션 프로그래밍 인터페이스를 제공할 수 있다. Each cooperation object (402, 404, 406, 408, 410, 412, 414, 416 and 418) is the appropriate query in cooperation object (402, 404, 406, 408, 410, 412, 414, 416 and 418) properties and as well as to the processing operation, it is possible to provide an application programming interface for creating and deleting collaborative object (402, 404, 406, 408, 410, 412, 414, 416 and 418) instance. 본 발명의 실시예에서, 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)가 다른 협력 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)를 참조하는 것으로 설명되는 경우에, 참조된 객체 또는 그 카피는 대신에, 참조하는 객체에 편입되고/되거나 참조하는 객체에 통합될 수 있다. In the preferred embodiment, the collaboration object (402, 404, 406, 408, 410, 412, 414, 416 and 418) have different cooperation object (402, 404, 406, 408, 410, 412, 414, 416 and 418 ), the referenced objects, or the copy in the case will be described as referring to may be incorporated into the object referenced in place, and / or integrated into the referenced object. 한 프로그램 객체는 임의의 적합한 프로그램 참조 메카니즘으로 다른 프로그램 객체를 참조할 수 있다. A program object may reference another with any suitable programmatic objects program reference mechanism. 적합한 프로그램 참조 메카니즘은 목적을 위해 특별히 설계된 프로그램 언어 특징뿐만 아니라, 포인터, 명시적 레퍼런스, 관련된 해시 코드 및 그 등가물을 포함한다. Program suitable reference mechanism as well as the programming language features specifically designed for the purpose, and includes pointers, explicit references, related hash codes and their equivalents.

도 4와 관련하여 앞에서 소개된 프로그램 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)는 이제 더욱 상세하게 설명된다. Figure 4 in relation to the object program (402, 404, 406, 408, 410, 412, 414, 416 and 418) before the introduction is described in more detail now. 각각의 프로그램 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)는 하나 이상의 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. Each of the program objects (402, 404, 406, 408, 410, 412, 414, 416 and 418) may include one or more application programming interface elements. 각각의 애플리케이션 프로그래밍 인터페이스 요소는 협력 서비스 플랫폼(302)(도 3) 서비스를 포함한 컴퓨터(102)(도 1) 시스템 컴포넌트가 프로그램 객체(402, 404, 406, 408, 410, 412, 414, 416 및 418)를 구성하고, 제어하며, 및/또는 그 프로그램 객체와 상호작용할 수 있는 방식을 지정하는 하나 이상의 인터페이스 명세를 포함할 수 있다. Each application programming interface element collaboration services platform 302 (Figure 3) a computer 102, including the service (Figure 1) system components, the program object (402, 404, 406, 408, 410, 412, 414, 416 and 418) the configuration, control, and / or may include one or more interface specifications that specify the program object and a method to interact. 본 분야에 숙련된 기술자에게 명백해질 수 있는 바와 같이, 인터페이스 명세는 객체 속성 명세, 변수 명세, 함수 호출 명세, 프로그램 객체 명세, 요청/응답 메시지 쌍과 같은 메시지 명세, 및/또는 임의의 다른 적합한 프로그래밍 인터페이스 명세를 포함할 수 있다. As may be apparent to those skilled in the art, the interface specifications are the object attribute specifications, variable specifications, function call specifications, program object specifications, message, such as request / response message pair specification, and / or any other suitable programming of It may include an interface specification.

도 5는 본 발명의 실시예에 따른 예시적인 접촉자 객체(500)를 도시하고 있 다. 5 there is illustrated an example contact object 500 in accordance with an embodiment of the present invention. 접촉자 객체(500)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. The contact object 500 is suitable for transfer to the cooperation object model 400 (Figure 4). 접촉자 객체(500)는 이름 요소(502), 프레즌스 요소(504), 버디 플래그(buddy flag) 요소(506) 및 근접도 요소(508)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. The contact object 500 may include an application programming interface elements including a name element 502, a presence element 504, a buddy flag (buddy flag) element 506 and a proximity component (508).

이름 요소(502)는 접촉자 객체(500)와 관련된 접촉자용의 친근한 이름을 포함할 수 있다. The name element 502 may include a friendly name of a contact associated with the contact object Edition 500. The 친근한 이름은 예를 들어, 리치 텍스트 스트링(rich text string)으로서 인코드될 수 있다. Friendly name can be, for example, as a rich text string (rich text string) code. 프레즌스 요소(504)는 프레즌스 객체(404)(도 4) 인스턴스에 대한 레퍼런스를 포함할 수 있다. The presence element 504 may include a reference to a presence object 404 (Figure 4) instance.

버디 플래그 요소(506)는 접촉자 객체(500)와 관련된 접촉자가 "버디" 클래스 접촉자로 분류되는 표시자를 포함할 수 있다. Buddy flag element 506 may include an indicator that the contact associated with the contact object 500 is classified as a "buddy" class contact. 버디로 분류된 접촉자는 여러 가지 방식으로 특권이 주어질 수 있다. The contacts are classified as Buddy can be given privileges in a number of ways. 예를 들어, 버디는 신뢰 접촉자일 수 있고, 버디는 우선권, 예를 들어 초대 우선권이 주어질 수 있으며, 버디는 협력 서비스 플랫폼 사용자가 예를 들어, 프레즌스 데이터를 구독하는 접촉자 세트에 자동으로 포함될 수 있다. For example, the buddy can be a trusted contact, Buddy can be given invitations priority for priorities, for example, the buddy may be automatically included in the contact set is collaboration services platform user, for example, subscribe to the presence of data . 버디 클래스 접촉자는 보통의 접촉자보다 계산상 더 비쌀 수 있고, 그들의 수는, 예를 들어 버디 플래그 애플리케이션 프로그래밍 인터페이스 요소(506)에 매입된 테스트로 제한될 수 있다. Buddy class contacts may be computationally more expensive than ordinary contacts, and their number is, for example, be limited to a test embedded in the buddy flag application programming interface element 506.

근접도 요소(508)는 물리적 근접도 메트릭 및/또는 가상 근접도 메트릭을 포함할 수 있다. Proximity element 508 may include a physical proximity metric and / or a virtual proximity metric. 예를 들어, 물리적 근접도 메트릭은 무선 네트워크 인터페이스에서 수신된 신호 강도의 측정치일 수 있다. For example, the physical proximity metric may be a measure of the signal strength received at the wireless network interface. 물론, 근접도 애플리케이션 프로그래밍 인터페이스 요소(508)는 근접도 조회에 응답하여 단일 메트릭으로 제한될 필요가 없 다. Of course, the proximity application programming interface element 508 is a proximity is not need to be limited to a single metric in response to a query. 예를 들어, 근접도 조회는 미가공 근접도 메트릭, 시간-평균화 근접도 메트릭, 양자화 근접도 메트릭("신호 강도 바") 및/또는 임의의 적합한 근접도 메트릭을 요청할 수 있다. For example, the proximity query raw proximity metric, a time-averaged proximity metric, quantized proximity metric may request ( "strength of signal") and / or any suitable proximity metric of.

도 6은 본 발명의 실시예에 따른 예시적인 프레즌스 객체(600)를 도시하고 있다. Figure 6 shows an example presence object 600 in accordance with an embodiment of the present invention. 프레즌스 객체(600)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. The presence object 600 is suitable for transfer to the cooperation object model 400 (Figure 4). 프레즌스 객체(600)는 리치 텍스트 설명 요소(602), 종점 요소(604), 집합체 상태 요소(606), 집합체 능력 요소(608), 발행된 객체 요소(610), 새로운 활동으로의 초대 요소(612), 기존 활동으로의 초대 요소(614), 유형에 의한 능력 찾기 요소(616), 유형에 의한 발행된 객체 찾기 요소(618) 및 발행 객체 요소(620)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. The presence object 600 may invite elements of the rich text description element 602, an endpoints element 604, the aggregate status element 606, an aggregate capabilities element 608, a published objects element 610, the new activity (612 ), inviting elements of the existing activities (614), search capabilities by type element 616, also includes an application programming interface elements including a finding published objects element 618 and issuing object element 620 by type can.

리치 텍스트 설명 요소(602)는 프레즌스 객체(600)와 관련된 네트워크화 컴퓨팅 환경(200)(도 2) 프레즌스를 설명하는 리치 텍스트 스트링을 포함할 수 있다. Rich text description element 602 may include a rich text string describing the networked computing environment 200 (Figure 2) presence associated with the presence object 600. 단순한 예제는 "Currently in Building 9", "Playing Halo?, Level 4" 및 "Unavailable"을 포함할 수 있다. A simple example may include "Currently in Building 9", "Playing Halo ?, Level 4" and "Unavailable". 종점 요소(604)는 하나 이상의 협력 활동에 활동적인 참가자, 최근에 활동적인 참가자, 및/또는 활동적으로 될 수 있는 참가자인 협력 종점 세트를 포함할 수 있다. The end element 604 may include an active participant recently active participants, and / or active participant collaboration endpoint that can be set to one or more co-operative activities. 적합한 협력 종점의 예는 컴퓨터(204, 206, 208, 212, 214 및 216), 및 네트워크화 컴퓨팅 환경(200)의 오버레이 네트워크의 피어를 포함할 수 있다. Examples of suitable collaborative endpoints may comprise a peer in the overlay network of computers (204, 206, 208, 212, 214 and 216), and the networked computing environment 200.

집합체 상태 요소(606)는 협력 종점 세트 전반의 협력 프레즌스를 나타내는 집합체 프레즌스 상태 표시자를 포함할 수 있다. Aggregate status element 606 may include cut aggregate presence status indicator that indicates the presence of the total cooperative partnership endpoint set. 각각의 협력 종점은 관련된 프레 즌스 상태, 예를 들어 ONLINE, AWAY, OUT TO LUNCH, BE RIGHT BACK, IDLE, ON THE PHONE 또는 BUSY를 가질 수 있다. Each end point is related to cooperation jeunseu presence status, for example, it may have a ONLINE, AWAY, OUT TO LUNCH, BE RIGHT BACK, IDLE, ON THE PHONE or BUSY. 종점 세트와 관련된 집합체 프레즌스 상태는 세트 내의 종점들 중의 어느 하나와 관련된 상태와 동일할 필요는 없다. Aggregate presence status associated with a set of endpoints need not be the same as the status associated with any one of the endpoints in the set. 집합체 프레즌스 상태는 세트 내의 종점들의 최소한 하나와 동일한 경우라도, 그외 다른 종점들의 하나 이상과 다를 수 있다. Aggregate presence status may be different from one or more of the end at least any of the same case and the other end of the other in the set.

집합체 프레즌스 상태는 여러 가지 집합체 프레즌스 상태 알고리즘 중의 하나 이상의 알고리즘으로 판정될 수 있다. Aggregate presence status may be determined by one or more algorithms in the number of aggregate presence status algorithms. 프레즌스 상태 레벨은 랭킹될 수 있고, 집합체 상태는 종점 세트 내에서 최고 랭킹 상태로 설정될 수 있다. The presence status levels may be ranked, the aggregate status may be set to the highest ranked status in a set of endpoints. 집합체 상태는 개별 상태 값의 가중화된 평균, 또는 개별 상태 값의 다른 적합한 선형 또는 비선형 변환일 수 있다. Aggregate status may be other suitable linear or nonlinear transformation of the weighted average, or the individual status of each state value. 개별 상태 값은 또한 변환되기 전에 적합하게 분류될 수 있다. Individual status values ​​may also be suitably sorted before being converted. 이용된 집합체 프레즌스 상태 알고리듬은 세트 내의 개별 종점의 수에 의존할 수 있다. The aggregate presence status algorithm utilized may depend on the number of individual endpoints in the set.

집합체 능력 요소(608)는 협력 프레즌스와 관련된 집합체 능력의 콜렉션을 포함할 수 있다. Aggregate capacity element 608 may include a collection of aggregate capabilities related to the presence and cooperation. 협력 프레즌스 내의 각 개별 종점은 능력, 예를 들어 협력 활동에 관한 능력의 세트를 그것과 함께 관련시켰을 수 있다. Each individual endpoints in partnership Presence is the ability, for example, be related sikyeoteul a set of skills related to cooperation activities with it. 집합체 능력은 각각의 개별 종점의 각각의 능력의 단순한 집합체일 수 있다. Collection capability can be a simple collection of individual capabilities of each individual terminal. 한편, 집합체 능력의 콜렉션은 각각의 개별 종점에서 존재하는 그들 능력에 제한될 수 있다. On the other hand, the collection of aggregate capabilities may be limited in their ability to present in each of the individual endpoints. 더욱 정교한 집합체 능력 판정 알고리즘이 가능하듯이, 이들 극단의 조합이 가능하다. The more sophisticated aggregate capabilities determination algorithms as possible, it is possible combinations of these extremes. 예를 들어, 집합체 능력의 콜렉션은 가중화 평균 처리의 결과이거나, 또는 개별 종점의 능력의 다른 적합한 선형 또는 비선형 변환의 결과일 수 있다. For example, the collection of aggregate capabilities may be a result of weighting or averaging process, or result in any other suitable linear or nonlinear transformation of the capabilities of individual endpoints. 또한, 집합체 능력 랭크 또는 퍼센트는 집합체 능력 콜렉션 내의 각 능력과 관련될 수 있다. In addition, an aggregate capability rank or percentage may be associated with each capability in the collection of aggregate capabilities.

발행된 객체 요소(610)는 협력 프레즌스와 관련된 발행된 객체의 콜렉션을 포함할 수 있다. Published objects element 610 may contain a collection of objects related to the issuing presence and cooperation. 능력 객체(412)(도 4)는 발행된 객체(418)의 한 유형일 수 있지만, 이 둘은, 능력 객체(412)의 인스턴스와 관련된 능력은 전형적으로 수명이 긴데(예를 들어, 수일, 수주, 심지어 수년 정도) 반해, 기본적인 발행된 객체(418)의 인스턴스와 관련된 발행된 데이터는 전형적으로 수명이 짧다(예를 들어, 수초, 수분 또는 수시간 정도)는 점에서 구별된다. Capability object 412 (Figure 4) will not be a type of published object 418, but the two are, capability associated with an instance of a capability object 412 are typically life ginde (e.g., days, weeks or even years or so), while basic data issued concerning instances of a published object 418 is typically short-lived (eg, a few seconds, several minutes or hours) are distinguished in that. 이 구별은 컴퓨터 시스템 성능을 최적화하기 위해 이용될 수 있다. This distinction can be used to optimize the performance of your computer system.

새로운 활동으로의 초대 요소(612)는 협력 서비스 플랫폼(302)(도 3) 사용자가 프레즌스 객체(600)와 관련된 접촉자에게 새로운 협력 활동에 참가하라고 초대할 수 있게 할 수 있다. Invitations to the new elements of the activity 612 may be able to invite the collaboration services platform 302 (Figure 3) the user to participate in the new cooperative activities related to contacts with the presence object (600). 활동를 호스트하는 관련된 회의가 아직 존재하지 않을 수 있고, 초대가 수락되면 그것이 생성될 수도 있다. After the meeting related to hwaldongreul host may not exist yet, the invitation is accepted, it may be generated. 초대는 종점 요소(604)에 의해 참조된 각 종점에 전달될 수 있는데, ONLINE 프레즌스 상태와 관련된 그 종점들에 대해서만, 초대는 순서대로, 예를 들어 그 순서로 각 종점과 관련된 프레즌스 상태에 의해 결정된 순서대로, 또는 다른 적합한 초대 전달 전략으로, 협력 프레즌스와 관련된 각 종점에 전달될 수 있다. Invitation may be delivered to each endpoint referenced by the endpoints element 604, only to those endpoints associated with ONLINE presence status, the invitation is in order, for example, as determined by the presence status associated with each endpoint in the order, , or other suitable delivery strategies invited order can be delivered to each endpoint associated with the presence cooperation.

기존 활동으로의 초대 애플리케이션 프로그래밍 인터페이스 요소(614)는 기존 회의 및/또는 활동에 참석하라고 접촉자를 초대할 때 바람직할 수 있다. It invites application programming interface element 614 of the existing activities can to attend the traditional meetings and / or activities be desirable to invite a contact. 회의 및/또는 활동이 이미 설정되어 있을 때, 몇몇 협력 파라미터는 협의되지 않을 수도 있고, 또는 보다 적게 협의될 수 있는데, 예를 들어 현재의 참가자들에 의해 사용 중인 협력 파라미터에 의해 결정된 범위 내에서만 협의될 수 있다. When the meetings and / or activities already set up several collaboration parameter may be or may not consult or less discussion than, for example, consultation within a predetermined range by a cooperative parameters that are used by the current participants It can be. 또한, 보다 적은 유연성은 참가 능력이 있는, 따라서 초대를 받을 후보인 프레즌스의 종점을 제한할 수 있다. In addition, less flexibility may limit the end point of the presence of the candidate to receive, and therefore invited to participate in power.

유형에 의한 능력 찾기 요소(616)는 협력 서비스 플랫폼(302)(도 3) 사용자가 다수의 능력 유형 중의 하나 이상과 관련된 능력을 찾기 위해 프레즌스 객체(600)와 관련된 프레즌스를 조회할 수 있게 할 수 있다. Search capabilities by type element 616 may be able to query the presence associated with the presence object 600 to find the capacity associated with at least one of the collaboration services platform 302 (Figure 3) user and a number of capability types have. 능력 유형의 예는 채트, 오디오 및 비디오와 같은 애플리케이션 유형; Examples of the types of capabilities are types of applications, such as chat, audio and video; 오디오 출력, 오디오 입력, 비디오 출력, 비디오 입력과 같은 애플리케이션 능력; Application capabilities such as audio output, audio input, video output, video input; 대역폭, 오디오 품질 및 비디오 해상도와 같은 종점 자원; Bandwidth, end resources such as audio quality and video resolution; 또는 임의의 적합한 협력 능력 유형을 포함한다. Or include any suitable type of collaboration capabilities. 유형에 의한 능력 찾기 요소(616)는 개별 종점의 능력 및/또는 집합체 프레즌스 능력으로 조회에 응답할 수 있다. Search capabilities by type element 616 may respond to the query with capabilities and / or aggregate presence capabilities of individual endpoints.

유형에 의한 발행된 객체 찾기 요소(618)는 협력 서비스 플랫폼(302)(도 3) 사용자가 프레즌스와 관련된 발행된 객체, 예를 들어 발행된 객체 요소(610)와 관련된 발행된 객체를 찾기 위해 프레즌스 객체(600)와 관련된 프레즌스를 조회할 수 있게 할 수 있다. Find published objects element 618, the platform 302 is cooperative service according to the type (3) that the presence in order to find the objects issued relating to the objects, for the object element 610 issued example issue related to the presence You may be able to query the presence associated with the object (600). 발행된 객체 유형은 관련된 리치 텍스트 스트링에 의해 판정될 수 있다. The issue type of object can be determined by relating the rich text string. 예를 들어, 동일한 리치 텍스트 스트링과 관련된 그들 발행된 객체(418)(도 4) 인스턴스는 동일한 유형인 것으로 판정될 수 있다. For example, the object issuing them are related to the same rich text string 418 (Figure 4) instance may be determined to be the same type.

발행 객체 요소(620)는 프레즌스와 관련된 데이터의 발행을 가능하게 할 수 있다. Published objects element 620 may enable the publication of data associated with the presence. 예를 들어, 발행된 객체 요소(610)에 의해 유지된 프레즌스 객체 세트는 갱신될 수 있다. For example, the presence set of objects maintained by the published objects element 610 may be updated. 본 발명의 실시예에서, 발행 객체 애플리케이션 프로그래밍 인터페 이스 요소(620)는 발행된 객체 애플리케이션 프로그래밍 인터페이스 요소(610)에 편입될 수 있다. In an embodiment of the invention, the object issuing an application programming interface element 620 may be incorporated into the published objects application programming interface element 610.

도 7은 본 발명의 실시예에 따른 예시적인 발행된 객체(700)를 도시하고 있다. 7 shows an example published object 700 in accordance with an embodiment of the present invention. 발행된 객체(700)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. Published object 700 is suitable for transfer to the cooperation object model 400 (Figure 4). 발행된 객체(700)는 권한있는 구독자 요소(702) 및 발행된 데이터 요소(704)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. Published object 700 may include an application programming interface elements including an authorized subscribers element 702 and issued the data element 704 in.

권한있는 구독자 요소(702)는 발행된 객체(700)와 관련된 데이터를 구독할 권한을 부여받은 접촉자와 관련된 하나 이상의 접촉자 객체(402)(도 4) 인스턴스를 참조할 수 있다. Authorization subscriber element 702 may reference one or more contact object 402 (Figure 4) instance associated with authorized to subscribe to published data associated with the object 700 contacts. 데이터 액세스 제어는 예를 들어 허용 또는 차단으로 대충 나누어질 수 있고, 또는 예를 들어 데이터 작성, 판독, 갱신 및 삭제 특권에 관한 제어를 포함하여 정교하게 나누어질 수 있다. Data access control, for example, can be roughly divided as to allow or block, or for example, may be finely divided, including the control related to the data write, read, update and delete privileges. 발행된 데이터 요소(704)는 발행된 객체(700)와 관련된 발행된 데이터 세트를 유지할 수 있다. Published data element 704 may maintain a set of published data associated with the object 700, the date of publication. 임의의 적합한 데이터 세트는 발행된 객체(700)와 관련하여 발행될 수 있다. Any suitable set of data may be published in association with the published object 700.

도 8은 본 발명의 실시예에 따른 예시적인 능력 객체(800)를 도시하고 있다. Figure 8 illustrates an example capability object 800 in accordance with an embodiment of the present invention. 능력 객체(800)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. Capability object 800 is suitable for transfer to the cooperation object model 400 (Figure 4). 능력 객체(800)는 관련된 애플리케이션 요소(802) 및 애플리케이션 데이터 요소(804)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. Capability object 800 may include an application programming interface elements including an associated application element 802, and application data elements 804.

관련된 애플리케이션 요소(802)는 능력 객체(800)와 관련된 능력을 구현하는 협력 애플리케이션 세트에 대한 레퍼런스를 포함할 수 있다. Related applications element 802 may include a reference to a set of collaborative applications that implement the capability associated with the capability object 800. 애플리케이션 데이터 요소(804)는 관련된 애플리케이션 요소(802)에 의해 참조된 협력 애플리케이션 세 트의 각각을 구성하는데 필요한 데이터 및/또는 데이터 명세를 포함할 수 있다. Application data element 804 may include the necessary data and / or inventory data to configure each of the three cooperative application referred to by the associated applications element 802 bit.

도 9는 본 발명의 실시예에 따른 예시적인 MeContact 객체(900)를 도시하고 있다. 9 shows an example MeContact object 900 in accordance with an embodiment of the present invention. MeContact 객체(900)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. MeContact object (900) is suitable for transfer to the collaboration object model 400 (Figure 4). MeContact 객체(900)는 접촉자 요소(902), 버디 요소(904), 권한있는 구독자 요소(906), 활동적인 구독자 요소(908), 회의 요소(910), 유형에 의한 능력 찾기 요소(912) 및 유형에 의한 발행된 객체 찾기 요소(914)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. MeContact object 900 contacts element (902), Buddy element (904), authorized subscribers element (906), active subscribers element 908, the conference component 910, search capabilities by type element 912 in and It may include an application programming interface elements including a find published objects element 914 according to the type.

접촉자 요소(902)는 MeContact 객체(900)와 관련된 협력 서비스 플랫폼(302)(도 3) 사용자에게 공지된 접촉자와 관련된 접촉자 객체(402)(도 4) 인스턴스 세트에 대한 레퍼런스를 포함할 수 있다. The contact element 902 may include a reference to a contact object 402 (Figure 4) instance, a set associated with a known contact to the collaboration services platform 302 (Figure 3) user associated with the MeContact object 900. 버디 요소(904)는 협력 서비스 플랫폼(302)(도 3) 사용자에게 공지되어 있고, 예를 들어 접촉자 객체(500)의 버디 플래그 요소(506)(도 5)에 의해 나타낸 바와 같이, 또한 버디 클래스 접촉자인 접촉자와 관련된 접촉자 객체(402)(도 4) 인스턴스 세트에 대한 레퍼런스를 포함할 수 있다. Buddies element 904 as indicated by the buddy flag element 506 (Figure 5) of the collaboration services platform 302 (Figure 3) are known to the user, for example, the contact object 500, and buddy class It may include a reference to the contact object 402 (Figure 4) instance associated with the set of contactor contacts. 버디 요소(904)에 의해 참조된 접촉자 객체(402) 인스턴스 세트 내의 단순한 프레즌스는 관련된 접촉자가 버디 클래스 접촉자라는 것을 나타낼 수 있다. Simple presence in the contact object 402 instances referenced by the buddies element set 904 may indicate that the associated contact growing buddy class contact. 접촉자 요소(902) 및 버디 요소(904)에 의해 참조된 접촉자 객체(402) 인스턴스 세트는 겹칠 수 있지만, 본 발명의 최소한 한 실시예에서, 이 세트들은 배타적이다. Although the contact element 902 and the buddies element 904, the contact object 402 instances referenced by the set may be nested, at least one embodiment of the invention, the sets are exclusive.

권한있는 구독자 요소(906)는 능력 데이터와 같은 MeContact 객체(900)와 관련된 발행된 데이터를 구독할 권한을 부여받은 접촉자와 관련된 접촉자 객체(402)(도 4) 인스턴스 세트에 대한 레퍼런스를 포함할 수 있다. Authorized subscribers element 906 may include a reference to the contact object 402 (Figure 4) instances of the set associated with the contacts authorized to subscribe to the data issued concerning MeContact object (900), such as capacity data have. 발행된 데이터 액 세스 제어는 예를 들어 모든 발행된 데이터로의 액세스 차단 또는 허용으로 넓게 나누어질 수 있고, 또는 예를 들어 각각의 발행된 객체(418)에 대한 작성, 판독, 갱신 및/또는 삭제 특권, 또는 그 조합으로 정교하게 나누어질 수 있다. Published data access control, for example, can be broadly divided into access block or allow to all published data, or, for example created for each published object 418, read, update and / or delete a privilege, or a combination thereof may be finely divided.

활동적인 가입자 요소(908)는 MeContact 객체(900)와 관련된 협력 서비스 플랫폼(302)(도 3) 사용자에 의해 발행된 데이터를 활동적으로 구독하게 되는 접촉자와 관련된 접촉자 객체(402) 인스턴스 세트에 대한 레퍼런스를 포함할 수 있다. Reference to the active subscribers element 908 contact object 402 instance of a set associated with the contact is to subscribe to data published by the collaboration services platform 302 (Figure 3) user associated with the MeContact object 900 is activated It may contain. 물론, 활동적인 구독자 요소(908)에 의해 참조된 접촉자 객체(402) 인스턴스는 권한있는 구독자 요소(906)에 의해 유지된 사용권한에 따라야 된다. Of course, an active subscribers element 908, a contact object 402 instances referenced by are subject to the permissions maintained by the authorized subscribers element 906 in.

회의 요소(910)는 MeContact 객체(900)와 관련된 협력 서비스 플랫폼(302)(도 3) 사용자가 현재 참여하고 있는, 사용자가 최근에 참여한, 및/또는 사용자가 곧 참여할 회의와 관련된 회의 객체(414)(도 4) 인스턴스 세트에 대한 레퍼런스를 포함할 수 있다. Meeting element (910) is Meeting the object associated with the collaborative services platform 302 (Figure 3) meeting the user, the user has recently participated in, and / or users will soon join that currently participate in related MeContact object (900) (414 ) (Fig. 4) may include a reference to an instance set.

유형에 의한 능력 찾기 요소(912)는 협력 서비스 플랫폼(302)(도 3) 사용자가 다수의 능력 유형 중의 하나 이상과 관련된 능력을 찾기 위해 MeContact 객체(900)와 관련된 접촉자를 조회할 수 있게 할 수 있다. Search capabilities by type element 912 may be able to view the contacts associated with collaboration services platform 302 (Figure 3) MeContact object 900 users to find the skills associated with at least one of the plurality of capacity types have. 예를 들어, 유형에 의한 능력 찾기 요소(912)는 접촉자 요소(902), 버디 요소(904) 및/또는 MeContact 객체(900) 자체에 의해 참조된 접촉자 객체(402)(도 4) 인스턴스를 조회할 수 있다. For example, search capabilities by type element 912 is the contact element 902, the buddies element 904 and / or the MeContact object 900, the contact object 402 references by itself (Fig. 4) viewed an instance can do. 유형에 의한 능력 찾기 요소(912)는 개별 종점의 능력 및/또는 집합체 능력으로 조회에 응답할 수 있다. Search capabilities by type element 912 may respond to the query with capabilities and / or aggregate capabilities of individual endpoints. 유형에 의한 발행된 객체 찾기 요소(914)는 사용자가 발행된 데이터를 찾기 위해 MeContact 객체(900)와 관련된 접촉자를 조회할 수 있게 할 수 있다. Find issued by the type of object element (914) may be able to view the contacts associated with MeContact object (900) to locate the user data is issued. 유형에 의한 능력 찾기 요소(912)에서와 같이, 유형에 의한 발행된 객체 찾기 요소(914)는 접촉자 요소(902), 버디 요소(904) 및/또는 MeContact 객체(900) 자체에 의해 참조된 발행된 객체(418) 인스턴스를 조회할 수 있다. As in the ability to search element 912 according to the types, looking for the object issued by type element 914 is the contact element 902, the buddies element 904 and / or the MeContact object 900 is a published reference by itself the object 418 can query instance.

도 10은 본 발명의 실시예에 따른 예시적인 회의 객체(1000)를 도시하고 있다. 10 shows an example conference object 1000 in accordance with an embodiment of the present invention. 회의 객체(1000)는 협력 객체 모델(400)(도 4)에의 편입에 적합하다. Conference object 1000 is suitable for transfer to the collaboration object model 400 (Figure 4). 회의 객체(1000)는 세션 정보 요소(1002), 활동 요소(1004), 관리자 요소(1006), 권한있는 멤버 요소(1008) 및 개시 활동 요소(1010)를 포함하는 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. Conference object 1000 may include an application programming interface elements including session information elements 1002, activity factor (1004), the manager component 1006, authorized members element 1008 and the start of activities element 1010 in have.

본 발명의 실시예에서, 회의, 예를 들어 회의 객체(1000)와 관련된 회의의 역할은 하나 이상의 협력 서비스 플랫폼(302)(도 3) 사용자가 참가하고 있는 하나 이상의 협력 활동의 조직, 관리 및/또는 유지보수를 포함한다. In an embodiment of the present invention, conferences, for example conference object (1000) The role of the conference is a platform 302, one or more collaboration services associated with (3) organization of one or more co-operative activities that the user is participating, management and / or it includes a maintenance. 세션 정보 요소(1002)는 회의 레벨 세션 정보를 포함할 수 있다. Session information element 1002 may include a conference session-level information. 성능 최적화는 회의 레벨에서 활동 레벨 세션 정보를 수집함으로써 달성될 수 있다. Performance optimization can be achieved by collecting activity level session information at the meeting level. 활동 요소(1004)는 하나 이상의 활동 객체(416)(도 4) 인스턴스에 대한 레퍼런스를 포함할 수 있다. Activity element 1004 may include references to one or more activity object 416 (Figure 4) instance.

관리자 요소(1006)는 회의의 관리자로서 행동할 권한을 부여받은 접촉자와 관련된 하나 이상의 접촉자 객체(402)(도 4) 인스턴스를 참조할 수 있다. Administrator element 1006 may reference one or more contact object 402 (Figure 4) instances associated with contacts authorized to act as administrators for the conference. 관리 특권은 권한있는 참가자 및/또는 활동의 추가 및 제거를 포함할 수 있다. Administrative privileges may include the addition and removal of authorized participants and / or activities. 권한있는 멤버 요소(1008)는 회의와 관련된 활동에 참가할 권한을 부여받은 접촉자와 관련된 하나 이상의 접촉자 객체(402) 인스턴스를 참조할 수 있다. Authorized members element 1008 may reference one or more contact object 402 instances associated with contacts authorized to participate in activities related to the conference. 권한부여는 넓게 나누어져서, 예를 들어 모든 회의 활동에 참가하는 것으로부터 특정 접촉자를 허용하거 나 차단할 수 있고, 또는 정교하게 나누어져서, 예를 들어 권한은 새로운 활동을 개시하거나 기존의 활동을 종료하는 것, 개별 활동에 완전히 참가하는 것, 또는 제한된 방식(예를 들어, "관측자 상태")으로 참가하는 것, 또는 그 조합으로 나누어질 수 있다. So divided broadly authorization, for example, can prevent or, accept a particular contact from having to participate in all meetings activities, or so finely divided, for example, permissions to start or end the existing activities to new activities will, to participate fully in individual activities, or (for example, "state observer") can be divided into a limited way to participate, or a combination thereof.

개시 활동 요소(1010)는 회의에 새로운 활동을 추가할 수 있다. Initiated activity component (1010) may add new activities to the meeting. 활동에의 가입 및 탈퇴는 회의에 의해, 활동에 의해, 또는 이 둘의 조합에 의해 관리될 수 있다. Subscribe and unsubscribe to the activities by the Conference can be by an active or managed by a combination of both. 각각의 경우에, 회의 객체(1000) 애플리케이션 프로그래밍 인터페이스 요소는 관리자 요소(1006) 및/또는 권한있는 멤버 요소(1008)에 따라 시행할 수 있다. In each case, the conference object 1000 application programming interface element may be implemented in accordance with the administrative elements 1006 and / or authorized members element 1008. located.

예를 들어, 협력 서비스 플랫폼(302)(도 3)에 의해, 그리고 협력 객체 모델(400)(도 4)에 따라 수행된 상세한 방법이 이제 설명된다. For example, a detailed method carried out in accordance with the collaboration services platform 302 (Figure 3), and cooperate object model (400) by a (FIG. 4) will now be described. 도 11은 본 발명의 실시예에 따른, 협력 서비스 플랫폼(302)에 의해 수행된 예시적인 단계를 도시하고 있다. 11 shows an exemplary steps performed by the collaboration services platform 302 in accordance with an embodiment of the present invention. 단계(1102)에서, 접촉자 객체(402) 인스턴스가 선택될 수 있다. In step 1102, a contact object 402 instance may be the be selected. 예를 들어, 접촉자 저장부(318)에 저장된 접촉자 객체(402) 인스턴스는 접촉자 관리 서비스(304)의 사용자 인터페이스로 선택될 수 있다. For example, the contact object 402 instance stored in the contact store unit 318 may be selected as the user interface of the contact management services 304. The

단계(1104)에서, 선택된 접촉자 객체(402)(도 4) 인스턴스는 그것과 관련된 프레즌스 객체(404) 인스턴스를 찾기 위해 조회될 수 있다. In step 1104, the selected contact object 402 (Figure 4) instance may be queried to find the presence object 404 instance associated with it. 예를 들어, 선택된 접촉자 객체(500)의 프레즌스 요소(504)(도 5)는 관련된 프레즌스 객체(404) 인스턴스를 액세스하기 위해 이용될 수 있다. For example, the presence element 504 (Figure 5) of the selected contact object 500 may be utilized to access a presence object 404 instance associated.

단계(1106)에서, 선택된 접촉자 객체(402)(도 4) 인스턴스와 관련된 접촉자가 네트워크화 컴퓨팅 환경(200)(도 2)에 존재하는지 판정될 수 있다. In step 1106, the selected contact object 402 associated with the contact (Figure 4) instance may be determined that the presence in the networked computing environment 200 (Figure 2). 예를 들어, 접촉자의 집합체 프레즌스 상태는 단계(1104)에서 검색된 프레즌스 객체(600)의 집합체 상태 요소(606)로부터 얻어질 수 있고, 접촉자의 집합체 프레즌스 상태가 ONLINE이면, 접촉자는 존재하는 것으로 판정될 수 있다. For example, the aggregate presence status of the contact may be obtained from the aggregate status element 606 of the presence object 600 retrieved at step 1104, if the aggregate presence status of the contact is ONLINE, the contactor is determined to be present can. 접촉자가 존재하는 것으로 판정되면, 절차는 단계(1108)로 진행될 수 있다. If it is determined that the contact is present, the procedure may proceed to step 1108. 그렇지 않으면, 절차는 종료될 수 있다. Otherwise, the procedure may be terminated. 접촉자는 이때 협력에 이용할 수 없다. The contact is not available for cooperation.

대안적으로, 단계(1104 및 1106)는 선택된 접촉자의 프레즌스 정보를 구독하고, 단계(1008)로 진행하기 전에, 선택된 접촉자가 존재한다는 통지가 표시될 때까지 기다리는 단계로 대체될 수 있다. Alternatively, the steps (1104 and 1106) may be replaced by a step waiting for the notification that subscribe to the presence information of the selected contact, and before proceeding to the step 1008, the selected contact exists is displayed. 이 대안은 파선(1110)으로 표시된다. This alternative is indicated by a broken line 1110.

단계(1108)에서, 선택된 접촉자 객체(402)(도 4)는 관련된 능력 객체(412) 인스턴스 세트를 찾기 위해 조회될 수 있다. In step 1108, the selected contact object 402 (Figure 4) may be queried to find the associated capability object 412 instances set. 예를 들어, 단계(1104)(및/또는 단계(1110))에서 검색된 프레즌스 객체(404) 인스턴스의 유형에 의한 능력 찾기 요소(606)(도 6)는 적절한 능력 세트를 얻기 위해 이용될 수 있다. For example, step 1104 (and / or step 1110) to find capabilities by type of the retrieved presence object 404 instance at element 606 (FIG. 6) may be used to obtain a suitable capacity set . 검사될 특정 능력 세트는 목표 협력 활동 또는 활동들에 의존할 수 있다. A specific set of skills to be tested may depend on the goals cooperative activities or activities. 예를 들어, 음성 수반 회의는 오디오 입력 능력을 확인하게 할 수 있다. For example, the voice accompanied by meetings can be sure the audio input capability. 단계(1112)에서, 선택된 접촉자가 요구된 능력을 갖는지 판정될 수 있다. In step 1112, the selected contact has the required capabilities may be determined. 선택된 접촉자가 요구된 능력을 갖지 않으면, 절차는 도 12의 단계(1202)로 진행할 수 있다. If no is selected, the contacts required capabilities, the procedure may proceed to step 1202 of FIG. 그렇지 않으면, 절차는 종료될 수 있다. Otherwise, the procedure may be terminated. 단계(1112)는 단순한 테스트에 제한될 필요가 없다. Step 1112 need not be limited to a simple test. 단계(1112)는 임의의 능력 세트가 목표 활동 또는 활동들에 충분한지 판정하기 위해, 예를 들어 시그널링 서비스(308)(도 3)에 의해 조정된 협상을 포함할 수 있다. Step 1112 is to determine whether enough to any of the ability to set the target activity or activities, for example, may include a negotiation adjusted by the signaling service 308 (Figure 3).

도 12는 본 발명의 실시예에 따른, 협력 서비스 플랫폼(302)에 의해 수행된 또 다른 예시적인 단계를 도시하고 있다. 12 shows a further example steps performed by the collaboration services platform 302 in accordance with an embodiment of the present invention. 도 11과 도 12의 단계는 참조번호(1114 및 1116)가 붙은 원으로 연결된다. The step of Figure 11 and 12 are connected to source the reference number (1114 and 1116) attached. 선택된 접촉자가 네트워크화 컴퓨팅 환경(200)(도 2)에 존재하고, 원하는 협력 활동 또는 활동들에 참가할 수 있으면, 하나 이상의 초대는 단계(1202)에서 선택된 접촉자에게 보내질 수 있다. If the selected contacts and presence in the networked computing environment 200 (Figure 2), can participate in any cooperative activity or activities of one or more invitations may be sent to the contact selected in step (1202). 예를 들어, 초대는 컴퓨터(212)(도 2)에서 초대 서비스(326)(도 3)에 의해 보내질 수 있다. For example, the invitation may be sent by the invitation service 326 (Figure 3) at the computer 212 (Fig. 2).

단계(1204)에서, 하나 이상의 초대는 선택된 접촉자에 의해 수신될 수 있다. In step 1204, one or more invitations may be received by the selected contact. 예를 들어, 초대 중의 하나는 컴퓨터(208)(도 2)에서 초대 서비스(326)(도 3)에 의해 수신될 수 있다. For example, one of the invitations may be received by the invitation service 326 (Figure 3) at the computer 208 (Fig. 2). 단계(1206)에서, 선택된 접촉자는 하나 이상의 초대에 응답할 수 있다. In step 1206, the selected contact may respond to the one or more invitations. 예를 들어, 선택된 접촉자는 초대 중의 하나에 응답하기 위해 컴퓨터(208)에서 초대 서비스(326)의 사용자 인터페이스를 이용할 수 있다. For example, the selected contact may utilize a user interface of the invitation service 326 at the computer 208 to respond to one of the invitations.

단계(1208)에서, 초대가 수락되었는지 판정될 수 있다. In step 1208, it can be determined if the invitation is accepted. 예를 들어, 컴퓨터(212)에서의 초대 서비스(326)는 단계(1206)에서 보내진 응답을 수신할 수 있고, 응답 내용은 초대가 수락되었는지 판정할 수 있다. For example, the invitation service 326 at the computer 212 may receive the response sent at step 1206, the response information, it can be determined that the invitation is accepted. 초대가 수락되면, 절차는 단계(1210)로 진행할 수 있다. Once the invitation is accepted, the process may proceed to step 1210. 그렇지 않으면, 절차는 종료될 수 있다. Otherwise, the procedure may be terminated.

단계(1204, 1206 및 1208)는 초대에 응답할 때의 절차 변화 가능성을 강조하기 위해 파선(1212)으로 표시된다. Step (1204, 1206 and 1208) is shown by a broken line 1212 to highlight the possibilities of the process change when responding to invitations. 동일한 활동에 대해 다수의 초대를 발송하는 한가지 이유는 선택된 접촉자의 네트워크화 컴퓨팅 환경(200)(도 2) 프레즌스가 다수의 종점을 포함할 수 있기 때문이다. One reason for the large number of invitations sent out for the same activity because the networked computing environment 200 (Figure 2) presence of selected contacts can contain a large number of endpoints. 예를 들어, 협력 서비스 플랫폼(302)(도 3) 사용자는 컴퓨터(212)에서 컴퓨터(216, 206 및 208)로 동일한 활동에 대해 3개의 초대를 보낼 수 있다. For example, a collaboration services platform 302 (Figure 3) user may send three invitations to the same activity as a computer (216, 206 and 208) from the computer (212). 예를 들어, 컴퓨터(216)는 선택된 접촉자의 사무실 데스 크탑 PC일 수 있고, 컴퓨터(206)는 선택된 접촉자의 랩탑일 수 있으며, 컴퓨터(208)는 선택된 접촉자의 PDA(personal digital assistant)일 수 있다. May be, for example, computer 216 may be a desktop PC of the selected contact office computer 206 may be a selected contact the laptop computer 208 PDA (personal digital assistant) of the selected contact . 초대는 하나보다 많은 종점에서 선택된 접촉자에게 표시될 수 있다. Invitations may be displayed to the end than the one selected from the many contacts. 예를 들어, 선택된 접촉자는 컴퓨터(208)(이 예에서 PDA)에서 초대를 사절하거나 무시할 수 있지만, 컴퓨터(206)(이 예에서 랩탑)에서 초대를 수락할 수 있다. For example, the selected contact may accept the invitation at the computer 208 (PDA in this example) can be refused or ignore the invitation, but the computer 206 (the laptop in this example) in the. 선택된 접촉자가 초대에 전혀 응답하지 않을 가능성이 있다. There is a possibility that the selected contact does not respond at all to the invitation. 이것은 타임아웃과 절차의 종료를 초래할 수 있다. This may result in the termination of the timeout and procedures.

단계(1212)의 다른 가능성은 컴퓨터(212)(도 2)에서의 협력 서비스 플랫폼(302)(도 3) 사용자가 서브넷 내의 각각 다른 컴퓨터(214 및 216)에, 활동으로의 초대를 발송한다는 것이다. The different possibilities of the stage (1212) is a computer (212) platform (302) cooperative services in (2) (3) different computers (214 and 216) within your subnet, that they sent an invitation to work . 이 경우에, 각각의 접촉자는 나란히 응답할 수 있다. In this case, each of the contacts can be side-by-side response.

초대를 수락했으면, 단계(1210)에서, 선택된 접촉자는 협력 활동을 위한 관련 회의에 참석할 수 있다. Once you accept the invitation, in step 1210, the selected contact may attend the meetings for cooperation activities. 예를 들어, 회의는 컴퓨터(212)(도 2)에 의해 호스트될 수 있고, 선택된 접촉자는 시그널링 서비스(308)(도 3) 및/또는 활동 서비스(310)를 이용하여 컴퓨터(206)로부터 회의에 참여할 수 있다. For example, the conference may be hosted by a computer 212 (FIG. 2), the selected contactor conference from the computer 206 using the signaling service 308 (Figure 3) and / or the activity service 310 to be involved. 단계(1214)에서, 활동을 포함한 협력이 발생할 수 있다. In Step 1214 can occur, including cooperative activities.

초대 서비스(326)(도 3)의 예가 이제 더욱 상세하게 설명된다. An example of the invitation service 326 (Figure 3) is now described in more detail. 특히, 초대 서비스(326), 협력 서비스 플랫폼(302), 및 (전형적으로 그 플랫폼에 의해 참조되긴 하지만) 협력 서비스 플랫폼(302)과는 다른 협력 애플리케이션 사이의 상호작용이 강조된다. In particular, the interactions between the invitation service 326, the collaborative services platform 302, and a (typically referred to by those platforms but doegin) collaboration services platform 302, and the other cooperative applications are highlighted. 본 발명의 실시예에서, 그러한 상호작용의 처리는 협력 서비스 플랫폼(302)의 유용성, 확장성, 유연성, 유지보수성 및/또는 범위성에 기여하고, 따라 서 그것의 대규모 채용에의 적합성에 기여한다. In the preferred embodiment, the processing of such interactions contribute to the fitness of the collaboration services platform 302, usability, extensibility, flexibility, maintenance contributing to the water retention and / or range, and standing it large employed depending on.

도 13은 본 발명의 실시예에 따른 예시적인 초대 시나리오를 도시하고 있다. 13 shows an example invitation scenario in accordance with an embodiment of the present invention. 제1 컴퓨터(1302)는 제2 컴퓨터(1304)와의 하나 이상의 협력 활동을 개시하는 임무가 부과될 수 있다. The first computer 1302 may be a task for initiating one or more collaborative activities with a second computer 1304 is charged. 예를 들어, 컴퓨터(1302 및 1304)는 도 2의 네트워크화 컴퓨팅 환경(200) 내의 컴퓨터(204, 206, 208, 212, 214 또는 216) 중의 어느 하나일 수 있다. For example, the computer (1302 and 1304) may be any one of the computers (204, 206, 208, 212, 214 or 216) in the networked computing environment 200 of FIG. 각각의 컴퓨터(1302 및 1304)는 컴퓨터 운영 체제(1306 및 1308)를 포함할 수 있다. Each computer (1302 and 1304) may include a computer operating system (1306 and 1308). 각각의 컴퓨터 운영 체제(1306 및 1308)는 협력 서비스 플랫폼 모듈(1310 및 1312)을 포함할 수 있다. Each of the computer's operating system (1306 and 1308) may include a collaborative services platform modules (1310 and 1312). 컴퓨터 운영 체제(1306 및 1308)는 동일할 필요가 없다. Computer operating system (1306 and 1308) does not need to be the same. 협력 서비스 플랫폼 모듈(1310 및 1312)은 협력 서비스 플랫폼(302)(도 3)에 따르게 될 수 있다. Collaboration services platform modules (1310 and 1312) may be subject to the collaboration services platform 302 (Figure 3).

컴퓨터 운영 체제(1306 및 1308)는 그래픽 사용자 인터페이스(GUI)와 같은 초대 사용자 인터페이스(UI)(1314 및 1316)를 포함할 수 있다. Computer operating system (1306 and 1308) may include inviting a user interface (UI) (1314 and 1316), such as a graphical user interface (GUI). 본 발명의 실시예에서, 초대 사용자 인터페이스(1314 및 1316)는 각각 협력 서비스 플랫폼 모듈(1310 및 1312)에 편입된다. In an embodiment of the invention, the invitation user interface (1314 and 1316) are incorporated in each collaboration services platform modules (1310 and 1312). 컴퓨터(1302 및 1304)는 협력 애플리케이션(1318 및 1320)을 더 포함할 수 있다. Computer (1302 and 1304) may further include a collaboration applications (1318 and 1320). 이 예에서의 협력 서비스 플랫폼 모듈(1310 및 1312)과는 다르지만, 본 발명의 실시예에서, 협력 애플리케이션(1318 및 1320)은 협력 서비스 플랫폼 모듈(1310 및 1312)에 편입될 수 있다. It differs from the collaboration services platform modules (1310 and 1312) in this example, in an embodiment of the invention, cooperative application (1318 and 1320) can be incorporated into the collaborative services platform modules (1310 and 1312).

기본적인 협력 초대 프로토콜은 3개의 메시지: 협력 초대 메시지(1322), 협력 응답 메시지(1324) 및 초대 삭제 메시지(1326)를 포함할 수 있다. The basic protocol is invited to cooperation of three messages: You can include a collaboration invitation message 1322, collaboration response message 1324 and invited to delete the message (1326).

협력 초대 메시지(1322)는 초대 식별자, 하나 이상의 능력 식별자, 애플리케 이션 데이터 및 메시지를 포함할 수 있다. Collaboration invitation message 1322 may include an invitation identifier, one or more capability identifiers, application data and a message. 초대 식별자는 초대를 유일하게 식별할 수 있다. Invite identifier may uniquely identify your invitation. 예를 들어, 초대 식별자는 Microsoft? For example, the invitation identifier Microsoft? Developer Network(MSDN?) Library 내의 문서화 버전 1.1.1인 .NET Framework Class Library의 Guid Structure 섹션에서 설명된 전 세계적 단일 식별자(GUID)일 수 있다. Can be Developer Network (MSDN?) A global unique identifier (GUID) is described in the Guid Structure section of the document is version 1.1.1 .NET Framework Class Library in the Library. 각각의 능력 식별자는 초대와 관련된 능력 활동을 위해 요구된 협력 능력을 나타내는 능력 객체를 참조할 수 있다. Each capability identifier can refer to an object that represents the capabilities of cooperation skills required for activities related to the ability to invite. 예를 들어, 각각의 능력 식별자는 전 세계적 단일 식별자(GUID)일 수 있다. For example, each capability identifier may be a globally unique identifier (GUID). 애플리케이션 데이터는 예를 들어, 협력 활동을 시작하기 위해, 협력 애플리케이션에 보내질 데이터를 포함 및/또는 지정할 수 있다. Application data, for example, can include and / or specify the data to be sent to the cooperative application to initiate cooperative activities. 메시지는 표준 또는 주문 초대 텍스트를 포함하는 리치 텍스트 스트링일 수 있다. The message may be a rich text string containing standard or custom invitation text.

협력 응답 메시지(1324)는 초대 식별자, 초대 응답 액션, 응답 메시지 및 확장된 응답 데이터를 포함할 수 있다. Collaboration response message 1324 may include an invitation identifier, the invitation response action, a response message and extended response data. 초대 식별자는 응답 메시지(1324)가 응답하고 있는 협력 초대를 식별할 수 있다. Invitation ID can identify a co invitation and response message (1324) to respond. 예를 들어, 초대 식별자는 협력 초대 메시지(1322)에 의해 제공된 GUID일 수 있다. For example, the invitation identifier may be the GUID supplied by the collaboration invitation message 1322. 초대 응답 액션은 응답의 유형을 나타낼 수 있다. Invite response actions can indicate the type of response. 예를 들어, 초대 응답은 사절, 수락, 무시 및 에러 중의 하나일 수 있다. For example, the invitation response may be one of a trimming, accept, ignore and error. 응답 메시지는 표준 또는 주문 초대 응답 텍스트를 포함하는 리치 텍스트 스트링일 수 있다. The response message may be a rich text string containing standard or custom invitation response text. 확장된 응답 데이터는 초대 및/또는 협력 활동에 관한 임의의 적합한 추가 응답 데이터를 포함할 수 있다. The extended response data may include any additional response data suitable for the invitation and / or co-operative activities.

초대 삭제 메시지(1326)는 삭제 메시지(1326)가 삭제하고 있는 초대를 식별하는 초대 식별자를 포함할 수 있다. Delete invitation message 1326 may include an invitation identifier identifying the invitation which deletion message 1326 is deleted. 예를 들어, 협력 초대 메시지(1322)는 협력 서비스 플랫폼(1310)의 사용자와의 협력 활동에 참가하라고 협력 서비스 플랫 폼(1312)의 사용자를 초대하기 위해 컴퓨터(1302)에서 컴퓨터(1304)로 보내질 수 있다. For example, the collaboration invitation message 1322 is sent from the computer (1302) to the computer (1304) to invite your collaboration services platform 1310 users and platforms 1312 collaboration services to participate in the cooperative activities of can. 이에 응답하여, 협력 응답 메시지(1324)는 초대가 예를 들어 수락되는지 사절되는지 나타내기 위해 컴퓨터(1304)에서 컴퓨터(1302)로 보내질 수 있다. In response, the collaboration response message 1324 may be sent to the computer 1302, the computer 1304 to indicate that refuses to accept that invitation, for example. 본 발명의 실시예에서, 협력 서비스 플랫폼(1310)의 사용자가 컴퓨터(1302)에서 컴퓨터(1304)로 초대 삭제 메시지(1326)를 보냄으로써 초대를 삭제하는 것이 가능하다. In the preferred embodiment, it is possible for the user of the collaborative services platform 1310 to delete the invitation by sending the invitation message deletion message 1326 from the computer 1302 to the computer 1304.

예시적인 협력 초대 방법을 더욱 상세하게 설명하기 전에, 초대 서비스(326)(도 3)의 예시적인 애플리케이션 프로그래밍 인터페이스(API)를 설명하는 것이 도움이 될 것이다. Before describing in more detail the exemplary cooperation Invitation way, to describe an exemplary application programming interface (API) of the invitation service 326 (Figure 3) would be helpful. 도 14는 본 발명의 실시예에 따른 초대 서비스(326)의 예시적인 애플리케이션 프로그래밍 인터페이스(API)(1400)를 도시하고 있다. Figure 14 shows an example application programming interface (API) (1400) of the invitation service 326 in accordance with an embodiment of the present invention. 초대 서비스 API(1400)는 초대 요소(1402), 초대 청취자 생성 요소(1404), 초대 보안 송신 요소(1406), 초대 비보안 송신 요소(1408), 초대 삭제 요소(1410), 초대에의 응답 요소(1412), 초대 응답 획득 요소(1414), 능력 등록/등록취소 요소(1416), 능력 열거 요소(1418) 및 능력 정보 획득 요소(1420)를 포함할 수 있다. Invitations Service API (1400) is the response element of the invitation element 1402, inviting the listener generating element (1404), invited secure transmission elements (1406), invited non-secure transmission elements (1408), invited Delete Element (1410), invited ( 1412), may include an invitation response obtained element 1414, the ability to register / unregister element 1416, capability enumeration element 1418 and a capability information acquisition element 1420. 각각의 애플리케이션 프로그래밍 인터페이스 요소(1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418 및 1420)가 각 컴퓨터(1302 및 1304)에서의 협력 서비스 플랫폼 모듈(1310 및 1312)(도 13)에 편입된 초대 서비스(326)(도 3)의 애플리케이션 프로그래밍 인터페이스에 포함될 수 있긴 하지만, 요소들(1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418 및 1420)의 상이한 요소들은 컴퓨터(1302, 1304)가 초대자인지, 초청객인지, 아니면 이 둘 다인지에 따라 컴퓨터(1302 및 1304)에 의해 이용될 수 있다. Each application programming interface element (1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418 and 1420), the collaboration services platform modules on each computer (1302 and 1304) (1310 and 1312) (Fig. 13) the invitation service 326, the different number of elements included in the application programming interface (3) Although, however, the elements (1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418 and 1420) incorporated into their computer can be used by the computer (1302 and 1304), depending on whether it (1302, 1304) that the party is invited, whether chocheonggaek, or both.

초대 요소(1402)는 협력 초대 메시지(1322)와 동일한 데이터의 일부 또는 전부로의 액세스를 포함하고 제공할 수 있다. Invitation element 1402 may provide access to and including part or all of the same data as the collaboration invitation message 1322. 예를 들어, 협력 초대 메시지(1322) 또는 그 일부는 초대 요소(1402)로 초대 서비스(326)(도 3) 내에 저장되고/되거나, 그 초대 서비스로부터 검색될 수 있다. For example, the collaboration invitation message 1322, or portions thereof, may be stored in the invitation element 1402 invitation service 326 (Figure 3) and / or can be retrieved from the invitation service.

초대 청취자 생성 요소(1404)는 컴퓨터(1302 및 1304)(도 13)와 같은 협력 종점에서 초대 청취자를 인스턴스 생성할 수 있다. It invites the listener generation component 1404 can generate instances invited listeners in collaboration endpoint, such as a computer (1302 and 1304) (Fig. 13). 인터페이스 명세 파라미터는 인터넷 프로토콜(IP) 어드레스 또는 P2P 피어 식별자와 같은 종점 식별자(컴퓨터(1302, 1304) 당 다수의 종점이 있을 수 있음), 포트 식별자(종점 당 다수의 통신 포트가 있을 수 있음) 및 초대 청취자를 구성하거나 파괴하는 초대 청취자 식별자를 포함할 수 있다. Interface specification parameters are Internet Protocol (IP) (there may be multiple communication ports per endpoint) (which may be multiple endpoints per computer (1302, 1304)) endpoint identifier such as an address or P2P peer identifier, a port identifier, and It may include inviting the listener identifier that make or destroy an invitation listener. 예를 들어, 운영 체제(1308)는 표준 초대 및/또는 협력 서비스 포트에서 듣는 초대 청취자를 생성하기 위해 초대 청취자 생성 요소(1404)를 이용할 수 있다. For example, the operating system 1308 may utilize invited listeners generating element (1404) to create an invitation listener listening on a standard invitation and / or collaboration service port. 협력 애플리케이션(1320)은 협력 애플리케이션(1320)과 협력하자고 하는 초대를 귀담아 듣는데 전용되는 주문 초청 포트에서 초대 청취자를 생성하기 위해 초대 청취자 생성 요소(1404)를 이용할 수 있다. Collaboration application 1320 may utilize invited listeners generating element (1404) to create an invitation listener in order to be invited to a private listening port gwidamah the invitation to cooperation and collaboration applications Let (1320).

초대 보안 송신 요소(1406)는 초대 메시지(1322)(도 13)의 안전한 송신을 가능하게 할 수 있다. Invite secure transmission element 1406 may enable the secure transmission of (13) invitation (1322). 인터페이스 명세 파라미터는 접촉자 객체(402)(도 4) 인스턴스에 대한 레퍼런스, 종점 객체(410) 인스턴스에 대한 레퍼런스, 송신될 초대 메시지(1322)에 대한 레퍼런스, 일단 초대에 대한 응답이 수신되었으면 신호하게 될 이벤트와 같은 실행 스레드의 동기화 객체에 대한 레퍼런스, 및 초대 보안 송신 요소(1406)에 의해 설정될 초대 식별자에 대한 레퍼런스를 포함할 수 있다. Interface specification parameters may contact object 402 (Figure 4) a reference to the instance, a reference to an endpoint object 410 instance, a reference to the invitation message 1322 to be sent, once a response to the invitation will receive if the signal It may include a reference to an invitation identifier to be set by the reference, and transmit secure invitation element 1406 for the synchronization object of a thread of execution such as an event. 초대 메 시지(1322)는 참조된 접촉자 객체(402) 인스턴스와 관련된 접촉자에게 보내질 수 있다. Invitation message 1322 may be sent to the contact associated with the contact object 402 instances referenced. 종점 객체(410) 인스턴스가 제공되면, 초대 메시지(1322)는 관련된 종점에 보내질 수 있고, 그렇지 않으면, 초대 메시지(1322)는 참조된 접촉자 객체(402) 인스턴스와 관련된 접촉자의 면전에서 각 종점에 보내질 수 있다. When the end point object 410 instance is provided, the invitation message 1322 may be sent to the associated endpoint, otherwise the invitation message 1322 may be sent to each endpoint in the presence of the contact associated with the contact object 402 instances referenced can.

협력 활동에 참가한다는 결정은 보안 결과를 초래할 수 있다. The decision to participate in cooperative activities may result in security results. 예를 들어, 양방향 파일 공유에 참가한다는 결정은 데이터를 변경 및/또는 삭제에 노출시킬 수 있다. For example, the decision to participate in the interactive file sharing can expose the data to change and / or deletion. 결과적으로, 협력 서비스 플랫폼(302)(도 3)의 사용자는 신뢰 소스로부터만 협력 초대를 수락한다는 결정을 할 수 있다. As a result, users of the collaboration services platform 302 (Figure 3) may decide that accepting the invitation cooperation only from trusted sources. 본 발명의 실시예에서, 안전한 통신 접속은 미리 교환한 접촉자 정보를 갖는 사용자들 사이에 설정될 수 있다. In the preferred embodiment, a secure communications connection may be established between the users with the contact information previously exchanged. 예를 들어, 접촉자 정보는 암호 인증서를 포함할 수 있고, 안전한 통신 접속은 오버레이 네트워크를 위해 안전한 소켓 계층(SSL) 또는 보안 서비스 제공자(SSP) 기술과 같은 종래의 안전한 프로토콜로 설정될 수 있다. For example, the contact information may include a password, a certificate, a secure communications connection may be established by conventional secure protocols such as secure socket layer (SSL) or security service provider (SSP) techniques for overlay networks.

그러나, 사용자는 또한 특정 상황 하에서 안전하지 않은 초대를 수락한다는 결정을 할 수 있다. However, the user can also make the decision to accept the invitation unsafe under certain circumstances. 초대 비보안 송신 요소(1408)는 예를 들어, 초대 송신자 및 수신자가 미리 교환한 접촉자 정보를 갖는다는 요구사항이 없다는 것을 제외하고는, 초대 보안 송신 요소(1406)와 유사할 수 있다. Invite non-secure transmission elements (1408), for example, except that there is no information invitation sender and the recipient have the contact information exchange is required in advance and can send similar invitations security element (1406). 예를 들어, 초대 비보안 송신 요소(1408)는 초대 메시지(1322)를 서브넷(218) 상의 각 컴퓨터(212, 214 및 216)(도 2)에 방송하기 위해 이용될 수 있다. For example, the non-secure transmission invitation element 1408 may be utilized to broadcast invitation messages 1322 to each computer (212, 214, and 216) (Fig. 2) on the subnet 218. 안전하지 않은 초대는 다중 플레이어 게임과 같은 용이해진 사회적 환경에서의 협력 및 임시 협력을 촉진할 수 있다. Invite unsafe may foster cooperation and cooperation in facilitating the temporary it became the social environment, such as multi-player games.

초대 삭제 요소(1410)는 삭제 메시지(1326)(도 13)의 송신을 가능하게 할 수 있다. Delete invitation element 1410 it may enable sending of the message deletion message 1326 (Figure 13). 인터페이스 명세 파라미터는 초대 보안 송신 요소(1406)에 의해 설정된 초대 비보안 송신 요소(1408)의 초대 식별자와 같은 초대 식별자를 포함할 수 있다. Interface specification parameters may include an invitation identifier such as the invitation identifier of the non-secure transmission invitation element 1408 is set by the secure transmission invitation element 1406. 초대에 대한 응답 요소(1412)는 응답 메시지(1324)(도 13)의 송신을 가능하게 할 수 있다. Response element 1412 to the invitation may enable transmission of the response message 1324 (Figure 13). 인터페이스 명세 파라미터는 초대 식별자 및 초대 응답 액션을 포함할 수 있다. Interface specification parameters may include the invitation identifier and the invitation response action.

초대 보안 송신 요소(1406) 및 초대 비보안 송신 요소(1408)의 각각은 동기 및 비동기 버전을 가질 수 있다. Each of the invited secure transmission elements (1406) and invited non-secure transmission element (1408) may have both synchronous and asynchronous versions. 예를 들어, 비동기 버전은 초대 메시지(1322)(도 13)를 보낸 다음에, 초대에 대한 응답을 확인하기 전에 실행 스레드 내의 추가 명령어의 실행을 허용할 수 있다. For example, the asynchronous version may allow the execution of additional instructions in a thread of execution, and then sent to the (13) invitation (1322), before checking the response to the invitation. 이와 대조적으로, 동기 버전은 응답 메시지(1324)가 수신되거나 타임아웃이 발생할 때까지 실행 스레드 내의 또 다른 명령어를 실행하지 않고 기다릴 수 있다. In contrast, the synchronous version may wait for the response message 1324 is received or not execute another instruction in the thread of execution until the timeout occurs. 초대 응답 획득 요소(1414)는 비동기적으로 보내진 초대 메시지(1322)에 대한 응답을 확인 및/또는 대기하기 위해 이용될 수 있다. Acquiring invitation response element 1414 it may be utilized to verify and / or wait for a response to asynchronous invitation message 1322 sent. 인터페이스 명세 파라미터는 응답 메시지(1324)가 도달할 때 응답 메시지(1324)에 설정될 초대 식별자 및 레퍼런스를 포함할 수 있다. Interface specification parameters may include the invitation identifier and reference to be set in the response message 1324 when the response message 1324 is reached. 초대 송신 요소(1406 및 1408)의 동기 버전은 스레드 동기화 객체에 대한 레퍼런스를 포함할 필요가 없다. Synchronous versions of the early transmission elements (1406 and 1408) does not need to include a reference to the thread synchronization object.

초대 서비스(1400)는 종점 능력의 레지스트리를 유지할 수 있다. Invitations Service (1400) may maintain a registry of endpoint capabilities. 능력 등록/등록취소 요소(1416)는 초대 서비스(1400)로 능력의 등록/등록취소를 가능하게 할 수 있다. Registration / cancellation capability element 1416 may enable the registration / cancellation of the ability to invite Services (1400). 인터페이스 명세 파라미터는 하나 이상의 능력 객체(412)(도 4) 인스턴스에 대한 레퍼런스, 및 능력 또는 능력들이 종점의 특정 사용자에 관한 것인지 아니면 종점의 모든 사용자에 관한 것인지의 여부에 관한 표시를 포함할 수 있다. Interface specification parameters may include an indication as to whether or not one or more capability object 412 (Figure 4) a reference to the instance, and the ability or whether powers being related to a particular user of the end point or for all users of the end point . 각각의 능력 객체(412) 인스턴스는 능력 식별자, 예를 들어 전 세계적 단일 식별자(GUID)와 관련될 수 있다. Each capability object 412 instance may be associated with a capability identifier, for example, globally unique identifier (GUID). 본 발명의 실시예에서, 각각의 능력은 특정 협력 애플리케이션(1318, 1320)(도 13)과 관련될 수 있다. In the preferred embodiment, each of the capabilities can be associated with a particular collaborative application (1318, 1320) (Fig. 13). 초대 서비스(1400)는 능력 등록하고 능력을 등록취소하기 위한 분리된 애플리케이션 프로그래밍 인터페이스 요소를 포함할 수 있다. Invitations Service (1400) may include a separate application programming interface element to unregister the ability to register your abilities.

능력 열거 요소(1418)는 초대 서비스(1400)로 등록된 능력의 열거를 가능하게 할 수 있다. Ability listed element 1418 may enable enumeration of capabilities registered with the invitation service 1400. 인터페이스 명세 파라미터는 열거가 종점의 특정 사용자와 관련된 능력을 포함해야 하는지 아니면 종점의 모든 사용자와 관련된 능력을 포함해야 하는지의 여부에 관한 표시를 포함할 수 있다. Interface specification parameters may be enumerated include an indication on whether or not or whether you need to include the ability of the endpoints must be associated with a particular user, including the ability associated with all of the end user. 본 발명의 실시예에서, 열거는 예를 들어, 능력 객체(412)(도 4) 인스턴스에 대한 레퍼런스 대신에 능력 식별자를 포함한다. In an embodiment of the present invention, listed it is, for example, includes a capability identifier in place of the reference to the capability object 412 (Figure 4) instance. 그 다음, 능력 객체(412) 인스턴스는 능력 정보 획득 요소(1420)로 검색될 수 있다. Then, the capability object 412 instance may be retrieved by the capacity information acquisition element 1420.

예시적인 협력 초대 방법이 이제 더욱 상세하게 설명된다. This exemplary cooperation is now invited method is described in more detail. 협력 초대에 대한 기본적인 상황은 사용자가 초대를 송신 및/또는 그에 응답하기 위해 특정 애플리케이션과 상호작용하는지의 여부(특정 시나리오), 또는 사용자가 초대를 송신 및/또는 그에 응답하기 위해 애플리케이션-독립 메카니즘과 상호작용하는지의 여부(일반 시나리오)이다. The basic situation is the user and whether the particular application and interact in order to transmit and / or a response thereto an invitation (specific scenario), or an application for the user to transmit and / or in response thereto an invitation to invite co-independent mechanism, and whether a cross (general case) of that action. 4개의 시나리오: 일반으로부터 일반으로, 특정으로부터 일반으로, 일반으로부터 특정으로 및 특정으로부터 특정으로의 시나리오는 도 15-18과 관련하여 아래에 설명된다. Four scenarios: from generic to generic, from specific to generic, from generic to specific, and from specific to specific scenarios are described below also with respect to 15 to 18.

도 15는 본 발명의 실시예에 따른 초대를 송신하는 예시적인 단계를 도시하 고 있다. Figure 15 shows an exemplary doing sending an invitation in accordance with an embodiment of the present invention. 단계(1502)에서, 일반 초대 사용자 인터페이스(UI)가 호출될 수 있다. In step 1502, the General invited user interface (UI) can be invoked. 예를 들어, 협력 서비스 플랫폼(302)(도 3)은 초대 서비스(326)의 사용자 인터페이스를 호출할 수 있다. For example, the collaboration services platform 302 (Figure 3) can invoke the user interface of the invitation service 326. 단계(1504)에서, 하나 이상의 접촉자는 일반 초대 사용자 인터페이스로 선택될 수 있다. In step 1504, one or more contacts may be selected by the general invitation user interface. 예를 들어, 초대 서비스(326)의 사용자 인터페이스는 사용자의 공지된 접촉자의 리스트, 또는 예를 들어 버디 클래스 접촉자의 리스트를 표시하기 위해 접촉자 관리 서비스(304)와 상호작용할 수 있고, 사용자는 표시된 것들로부터 접촉자 세트를 그래픽으로 선택할 수 있다. For example, the user interface of the invitation service 326 may interact with the contact management service 304, for example, a list, or an example of a user of the known contacts to display a list of buddy class contacts, the user what is displayed from a set of contacts can be selected graphically.

단계(1506)에서, 활동은 일반 초대 사용자 인터페이스로 선택될 수 있다. In step 1506, the activity can be selected as a normal invitation user interface. 예를 들어, 초대 서비스(326)(도 3)의 사용자 인터페이스는 이용가능 협력 활동의 리스트, 또는 예를 들어 인기있거나 가장 최근에 사용된 활동의 리스트를 표시하기 위해 활동 서비스(310)와 상호작용할 수 있고, 사용자는 표시된 것들로부터 협력 활동을 그래픽으로 선택할 수 있다. For example, the invitation service 326. The user interface is a list of possible cooperation activities used (Fig. 3), or for example, popular, best to display a list of recent activities using the Activity Services (310) to interact with be, and the user may select a graphical representation of cooperative activities from those indicated. 단계(1508)에서, 일반 초대 사용자 인터페이스가 초대를 보낼 것인지, 또는 예를 들어 초대가 특정 협력 애플리케이션으로부터 보내질 것인지 판정될 수 있다. In step 1508, a generic invitation user interface whether a send the invitation, or, for example can be determined whether the invitation is sent from a specific collaborative application. 예를 들어, 판정은 초대 서비스(326)의 구성가능한 파라미터에 의존할 수 있다. For example, the determination may depend on the configurable parameter of the invitation service 326. 일반 초대 사용자 인터페이스가 초대를 보내는 것으로 판정되면, 절차는 단계(1510)로 진행할 수 있다. If it is determined that the generic invitation user interface to send the invitation, the procedure may proceed to step 1510. 그렇지 않으면, 절차는 단계(1512)로 진행할 수 있다. Otherwise, the process may proceed to step 1512.

단계(1510)에서, 단계(1506)에서 선택된 활동과 관련된 협력 애플리케이션이 개시될 수 있다. In step 1510, the collaborative application associated with the activity selected at step 1506 may be initiated. 단계(1510)는 애플리케이션이 이때 개시될 수 있긴 하지만, 일반 초대 사용자 인터페이스가 실행 스레드의 제어를 보유하고, 단계(1514)로 진행할 수 있다는 것을 나타내기 위해 파선으로 표시된다. Step 1510 is shown by a broken line to indicate that this time the application may be initiated Although but a generic invitation user interface, holds the control of the thread of execution may proceed to step 1514. 이것은 단계(1516)와 대조적이다. This is in contrast to the step 1516.

단계(1512)에서, 단계(1504)에서 선택된 접촉자와 같이 지금까지 수집된 초대에 관한 상세, 및 단계(1506)에서 선택된 활동과 관련된 임의의 구성 파라미터는 활동과 관련된 협력 애플리케이션에 의한 검색을 위해 저장될 수 있다. Any configuration parameters associated with the selected activity in detail, and the Steps (1506) relating to the gathering invited in step 1512, as the contact selected in step 1504 so far is stored for retrieval by the collaborative applications related activities It can be. 단계(1516)에서, 협력 애플리케이션은 개시되고, 절차의 제어는 일반 초대 사용자 인터페이스에 의해 양도된다. At step 1516, collaboration application is started, the control process is transferred by a general invitation user interface.

단계(1514)에서, 초대는 초대 서비스(1400)(도 14) 애플리케이션 프로그래밍 인터페이스로, 예를 들어 상술된 초대 보안 송신 요소(1406) 또는 초대 비보안 송신 요소(1408)로 보내질 수 있다. In step 1514, the invitation may be sent to the invitation service 1400 (Figure 14) application programming interface, for a secure transmission invitation element 1406 or the non-secure transmission invitation element 1408 above example. 동일한 애플리케이션 프로그래밍 인터페이스 요소(1406, 1408)가 초대를 송신하기 위해 이용될 수 있긴 하지만, 절차가 단계(1510)에서 단계(1514)로 진행할 때, 요소(1406, 1408)는 일반 초대 사용자 인터페이스에 의해 호출되는 반면, 절차가 단계(1516)에서 단계(1514)로 진행할 때, 요소(1406, 1408)는 협력 애플리케이션에 의해 호출된다. The same application programming interface element (1406, 1408) may be utilized to send the invitation Although but when the procedure advance to step 1514. In step 1510, the elements (1406, 1408) is by a generic invitation user interface, while the call, when the procedure advance to step 1514. in step 1516, the elements (1406, 1408) is called by the cooperative application. 결과적으로, 요소(1406, 1408)에 보내진 인터페이스 명세 파라미터는 다를 수 있다. As a result, the interface specification parameters sent to the element (1406, 1408) may be different.

단계(1502)에서 시작하는 절차는 일반 초대 사용자 인터페이스가 이용되기 때문에 "일반으로부터" 시나리오 중의 하나를 설명한다. Procedure beginning at step 1502 describes one of the "from a generic" scenarios because the generic invitation user interface used. 이와 대조적으로, 단계(1518)는 "특정으로부터" 시나리오를 시작한다. In contrast, step 1518 begins a scenario "from certain". 단계(1518)에서, 협력 애플리케이션이 개시될 수 있다. In step 1518, it may be the start of cooperation application. 예를 들어, 애플리케이션(1318)(도 13)은 컴퓨터 운영 체제(1306)에 의해 종래의 방식으로 개시될 수 있다. For example, the application 1318 (Fig. 13) can be started in a conventional manner by the computer operating system 1306. 단계(1518)는 단계(1520)를 위 한 전제 조건이고, 사실상 약간의 시간이 단계(1518)와 단계(1520) 사이에 경과할 수 있다. Step 1518 is a prerequisite for the above step 1520, it is possible to virtually elapsed between a time the step 1518 and step 1520.

단계(1520)에서, 하나 이상의 접촉자는 협력 애플리케이션(1318)(도 13)의 사용자 인터페이스로 선택될 수 있다. In step 1520, one or more contacts may be selected by the user interface of the collaborative application 1318 (Figure 13). 예를 들어, 협력 애플리케이션(1318)은 애플리케이션 사용자의 공지된 접촉자의 리스트, 또는 예를 들어 버디 클래스 접촉자의 리스트를 표시하기 위해 협력 서비스 플랫폼(1310)의 접촉자 관리 서비스(304)(도 3)와 상호작용할 수 있고, 애플리케이션 사용자는 표시된 것들로부터 접촉자 세트를 그래픽으로 선택할 수 있다. For example, the cooperation application 1318 is a list of known contacts of application users, or for example the contact management service 304 (3) of the Cooperation Services Platform (1310) to display a list of buddy class contacts and mutual can act, and application user can select a set of contacts from those displayed graphically. 단계(1504)로부터의 진행과 대조적으로, 협력 활동의 선택은 필요하지 않고, 절차는 단계(1514)로 진행할 수 있다. In contrast to proceed from step 1504, the selection of cooperative activities is not required, the procedure may proceed to step 1514. 협력 애플리케이션(1318)은 협력 활동을 결정했을 수 있다. Collaboration application 1318 may have decided to co-operative activities. 그러나, 본 발명의 실시예에서, 협력 애플리케이션(1318)은 다수의 활동을 지원할 수 있고, 그 경우에 단계(1506)와 대등한 단계가 적절할 수 있다. However, in an embodiment of the invention, collaboration application 1318 may support multiple activities, a comparable step and step 1506 in this case be appropriate. 단계(1514)에서, 초대 송신 요소(1406 또는 1408)(도 14)는 협력 애플리케이션(1318)에 의해 호출될 수 있다. In step 1514, (14), inviting the transmission element (1406 or 1408) may be invoked by the collaborative application 1318.

도 16은 본 발명의 실시예에 따른, 초대를 송신하기 위해 초대 서비스(1400)(도 14)에 의해 수행된 예시적인 단계를 도시하고 있다. 16 shows an exemplary steps performed by the invitation service 1400 (Figure 14) to send the invitation, in the embodiment; 단계(1602)에서, 다음 후보 접촉자가 선택된다. In step 1602, a next candidate contact is selected. 예를 들어, 후보 접촉자는 도 15의 단계(1504 또는 1520)에서 선택된 세트 중에서 선택될 수 있다. For example, the candidate contact may be selected from the set selected in step 15 of (1504 or 1520).

단계(1604)에서, 후보 접촉자의 종점이 알려져 있는지 판정될 수 있다. In step 1604, it can be determined that the candidate end point of the contacts is known. 예를 들어, 후보 접촉자를 나타내는 접촉자 객체(402)에 의해 참조된 프레즌스 객체(404)(도 4)는 그것의 종점 객체(410) 세트를 찾기 위해 조회될 수 있다. For example, the presence object referenced by the contact object 402 representing the candidate contact 404 (FIG. 4) may be queried to find its end point object 410 is set. 후보 접촉자의 어떤 종점도 알려져 있지 않으면(예를 들어, 조회 결과가 빈 세트이면), 절차는 단계(1606)로 진행할 수 있다. If no endpoints of the candidate contact also been known (for example, if the query result is an empty set), the procedure may proceed to step 1606. 후보 접촉자의 종점이 알려져 있으면, 절차는 단계(1608)로 진행할 수 있다. If the endpoints of the candidate contact are known, the procedure may proceed to step 1608. 단계(1606)에서, 후보 접촉자에 대한 종점의 위치가 알려질 수 있다. In step 1606, the position of the end point to the candidate contact may be known. 예를 들어, 초대 서비스(326)(도 3)는 후보 접촉자에 대한 유효 종점 세트를 판정하기 위해 접촉자 위치 서비스(322)와 상호작용할 수 있다. For example, the invitation service 326 (Figure 3) may interact with the contact location service 322 to determine a set of valid endpoints for the candidate contact.

단계(1608)에서, 후보 종점은 후보 접촉자에 대한 공지된 종점 중에서 선택될 수 있다. In step 1608, a candidate endpoint may be selected from among the known endpoints for the candidate contact. 단계(1610)에서, 통신 접속은 후보 종점과 설정될 수 있다. In step 1610, a communications connection may be established with the candidate endpoint. 예를 들어, 접속은 접속 서비스(316)(도 3)로 설정될 수 있다. For example, the connection may be set to access service 316 (Figure 3). 단계(1612)에서, 초대는 예를 들어, 초대 메시지(1322)(도 13)로, 후보 종점에 보내질 수 있다. In step 1612, the invitation is, for example, the invitation message 1322 (Figure 13), may be sent to the candidate endpoint.

단계(1614)에서, 후보 종점이 더 있는지 판정될 수 있다. In step 1614, a candidate endpoint may be further determined whether. 후보 종점이 더 있으면, 절차는 단계(1608)로 돌아가서, 다음 후보 종점을 선택할 수 있다. If there are any more candidate endpoints, the procedure returns to step 1608, it is possible to select the next candidate endpoints. 그렇지 않으면, 절차는 단계(1616)로 진행할 수 있다. Otherwise, the process may proceed to step 1616. 단계(1616)에서, 후보 접촉자가 더 있는지 판정될 수 있다. In step 1616, the candidate contact may be further determined whether. 후보 접촉자가 더 있으면, 절차는 단계(1602)로 돌아가서, 다음 후보 접촉자를 선택할 수 있다. If there are more candidate contacts, the procedure returns to step 1602, it is possible to select a next candidate contact. 그렇지 않으면, 초대는 보내진 것으로 간주될 수 있다. Otherwise, the invitation may be considered to be sent.

4개의 시나리오의 "일반으로부터" 및 "특정으로부터" 부분이 설명되었고, 이제 "일반으로" 및 "특정으로" 부분이 각각 도 17 및 18과 관련하여 설명된다. Four scenarios and the part "from certain" "from the General" has been described in the, now "in general" and "a specific" portion is described with reference to Figures 17 and 18, respectively. 도 17은 본 발명의 실시예에 따른, 일반 초대 사용자 인터페이스로부터의 협력 초대에 응답하는 예시적인 단계를 도시하고 있다. 17 is a flowchart illustrating exemplary steps for responding to an invitation cooperation, from a general invitation user interface in accordance with an embodiment of the present invention. 협력 초대가 다수의 종점에 보내진 경우에, 도 17 및/또는 18에 도시된 단계는 각 종점에서 수행될 수 있다. If the collaboration invitation was sent to multiple endpoints, the steps shown in Figure 17 and / or 18 may be performed at each endpoint.

단계(1702)에서, 협력 초대는 협력 서비스 플랫폼(302)(도 3)의 표준 통신 포트에서 수신될 수 있다. In step 1702, collaborative invitation may be received in a standard communication port of the collaboration services platform 302 (Figure 3). 예를 들어, 초대 메시지(1322)(도 13)는 협력 서비스 플랫폼(302)용으로 준비되고 초대 서비스(326)에 의해 모니터된 TCP/IP 포트에 도달할 수 있다. For example, the invitation message 1322 (Figure 13) may arrive at a TCP / IP port monitored by the invitation service prepared and 326 for the collaboration services platform 302.

단계(1704)에서, 종점이 초대와 관련된 활동에 참가할 수 있는지 판정될 수 있다. In step 1704, the endpoint can be determined whether to participate in activities associated with the invitation. 예를 들어, 초대 서비스(326)(도 3)는 초대 메시지(1322)(도 13) 내의 능력 식별자(들)을 초대 서비스(328)에 등록된 능력과 비교할 수 있다. For example, the invitation service 326 (Figure 3) may be compared with the ability to register the capability identifier (s) in the invitation message 1322 (Figure 13) in the invitation service 328. 대안적으로, 종점의 사용자와 관련된 MeContact 객체(406)(도 4)는 능력 객체(412)의 그 관련 세트를 찾기 위해 조회될 수 있고, 그것들은 초대 메시지(132) 내의 능력 식별자(들)과 비교될 수 있다. Alternatively, MeContact object associated with the user of the end point 406 (FIG. 4) may be queried to find its associated set of capability objects 412, they capability identifier (s) in the invitation message 132 and It can be compared. 종점이 초대와 관련된 활동에 참가할 수 있다고 판정되면, 절차는 단계(1706)로 진행할 수 있다. If it is determined that the end point can participate in activities related to the invitation, the procedure may proceed to step 1706. 그렇지 않으면, 절차는 단계(1708)로 진행할 수 있다. Otherwise, the process may proceed to step 1708.

단계(1706)에서, 사용자는 초대를 수락, 사절 또는 무시할 수 있다. In step 1706, the user may be accepted, refused or ignored the invitation. 예를 들어, 초대 서비스(326)(도 3)는 결정: 수락, 사절 또는 무시에 대응하는 사용자 인터페이스 요소를 갖는 일반 초대 사용자 인터페이스를 표시할 수 있다. For example, the invitation service 326 (Figure 3) is determined: it is possible to display a general invitation user interface having user interface elements corresponding to accept, ignore or refused. 사용자는 대응하는 사용자 인터페이스 요소를 선택함으로써 초대를 수락, 사절 또는 무시할 수 있다. The user may accept, trimming or ignore the invitation by selecting the corresponding user interface element. 사용자가 초대를 수락하면, 절차는 단계(1710)로 진행할 수 있다. If the user accepts the invitation, the procedure may proceed to step 1710. 사용자가 초대를 사절하면, 절차는 단계(1708)로 진행할 수 있다. If the user refuses the invitation, the procedure may proceed to step 1708. 사용자가 초대를 무시하면, 절차는 단계(1712)로 진행할 수 있다. If the user ignores the invitation, the procedure may proceed to step 1712.

단계(1708)에서, 응답 메시지(1324)(도 13)는 보내져서 초대가 사절된다는 것을 나타낼 수 있다. In step 1708, the response message 1324 (Figure 13) may indicate that the send invitation so refused. 예를 들어, 응답 메시지(1324)는 초대 서비스(1400) 애플리케이션 프로그래밍 인터페이스의 초대 요소(1412)(도 14)에 응답으로 보내질 수 있다. For example, the response message 1324 may be sent in response to the invitation service 1400 application programming interface of the invitation element 1412 (Figure 14). 이와 마찬가지로, 단계(1712)에서, 응답 메시지(1324)는 보내져서 사용자가 초대를 무시하는 것으로 선택하고 있다는 것을 나타낼 수 있다. Likewise, in step 1712, the response message 1324 may indicate that it is selected to be sent to the user ignores the invitation. 초대 요소(1412)는 또한 이 응답을 보내기 위해 사용될 수 있다. Invite element (1412) it may also be used to send a response. 본 발명의 실시예에서, 명시적 무시 응답을 보내는 능력은 협력 서비스 플랫폼(302)(도 3)의 효율을 증가시킨다. In the preferred embodiment, the ability to send an explicit ignore response increases the efficiency of the collaboration services platform 302 (Figure 3).

단계(1710)에서, 수락된 초대의 상세는 협력 활동과 관련된 협력 애플리케이션(1320)(도 13)에 의한 검색을 위해 저장될 수 있다. In step 1710, the details of the invitation is accepted can be stored for retrieval by the collaborative application 1320 (FIG. 13) associated with the co-operation activities. 예를 들어, 초대 메시지(1322)의 내용의 일부 또는 전부는 애플리케이션 프로그래밍 인터페이스의 초대 요소(1402)(도 14)와 함께 초대 서비스(326)에 의해 저장될 수 있다. For example, some or all of the contents of the invitation message 1322 may be stored by the invitation service 326 with the invitation element 1402 (Figure 14) application programming interface. 단계(1714)에서, 협력 애플리케이션(1320)은 초대 서비스(326)에 의해 개시될 수 있다. At step 1714, collaboration application 1320 may be launched by the invitation service 326.

단계(1716)에서, 초대의 수락을 나타내는 응답 메시지(1324)(도 13)는 예를 들어, 초대 서비스(1400) 애플리케이션 프로그래밍 인터페이스의 초대 요소(1412)(도 14)에 대한 응답을 이용하여 보내질 수 있다. In step 1716, the response message 1324, indicating the acceptance of the invitation (Fig. 13), for example, be sent with a response to the invitation service 1400 invitation element 1412 (Figure 14) application programming interface can. 단계(1716)에서 단계(1718)로 진행할 때, 실행의 제어는 단계(1714)에서 개시된 협력 애플리케이션(1320)으로 넘어갈 수 있다. When advance to step 1718 in step 1716, control of execution may proceed in cooperation application 1320 started in step 1714. 대안적으로, 협력 애플리케이션(1320)은 필요한 만큼 동기화된 스레드인 병렬 실행 스레드에서 개시될 수 있고, 단계(1702)에서 초대를 수신한 초대 서비스 스레드는 단계(1716)에서 응답한 후에 종료될 수 있다. Alternatively, the collaboration application 1320 may be initiated in the thread of the parallel execution threads synchronized as necessary, the invitation service thread that received the invitation at step 1702 may be terminated after the answer in step 1716 .

단계(1718)에서, 협력 애플리케이션(1320)(도 13)은 단계(1710)에서 저장된 초대 상세를 판독할 수 있다. At step 1718, collaboration application 1320 (Figure 13) may read the invitation details stored at step 1710. 예를 들어, 저장된 초대 상세는 협력 애플리케이 션(1320)의 약간의 (재)구성을 초래할 수 있다. For example, the invitation details may result in some (re) configuration of the design collaboration application 1320 are stored. 이 때, 협력 애플리케이션(1320)은 협력 활동에 참가하기 시작할 준비가 될 수 있고, 단계(1720)에서, 협력 활동에의 참가가 시작될 수 있다. At this time, the cooperative application (1320) can begin participating in the cooperation activities that may be, step 1720, ready to participate in cooperation activities.

도 18은 본 발명의 실시예에 따른, 특정 애플리케이션 사용자 인터페이스로부터의 협력 초대에 응답하는 예시적인 단계를 도시하고 있다. 18 is a flowchart illustrating exemplary steps for responding to an invitation cooperation, from a specific application user interface in accordance with an embodiment of the present invention. 단계(1802)에서, 협력 애플리케이션이 개시될 수 있다. In step 1802, it may be the start of cooperation application. 예를 들어, 협력 애플리케이션(1320)(도 13)은 컴퓨터 운영 체제(1304)에 의해 종래의 방식으로 개시될 수 있다. For example, the collaboration application 1320 (Figure 13) can be started in a conventional manner by the computer operating system 1304. 단계(1804)에서, 협력 애플리케이션(1320)은 비표준의 애플리케이션 특정 협력 통신 포트 상에서 초대 청취자를 생성할 수 있다. In step 1804, collaborative application 1320 may create an invitation listener on a particular application of the non-standard communication port cooperation. 예를 들어, 협력 애플리케이션(1320)은 협력 서비스 플랫폼(302)(도 3)용으로 준비된 포트와 다른 TCP/IP 포트 상에서 초대 청취자를 생성하기 위해 초대 서비스(1400) 애플리케이션 프로그래밍 인터페이스의 초대 청취자 생성 요소(1404)(도 14)를 이용할 수 있다. For example, the cooperation application 1320 are invited listeners generating elements of the invitation service 1400 application programming interface to create an invitation listener on port and other TCP / IP port ready for collaboration services platform 302 (Figure 3) 1404 can be used (Fig. 14).

나중에 언젠가, 단계(1806)에서, 협력 초대는 비표준 포트에서 수신될 수 있다. Later in the day, step 1806, collaborative invitation may be received on a non-standard port. 예를 들어, 단계(1514)(도 15)에서 보낸 초대 메시지(1322)(도 13)는 애플리케이션 특정 포트 및/또는 종점에 보내졌을 수 있다. For example, the invitation message 1322 (Figure 13) sent at step 1514 (FIG. 15) can be is sent to the application specific port and / or endpoint. 단계(1808)에서, 협력 애플리케이션(1320) 사용자는 초대를 수락하거나, 사절하거나 또는 명시적으로 무시할 수 있다. In step 1808, collaborative applications (1320) The user can accept or ignore by refusing or explicit invitations. 예를 들어, 협력 애플리케이션(1320)은 결정: 수락, 사절 및 무시에 대응하는 사용자 인터페이스 요소를 갖는 사용자 인터페이스를 표시할 수 있다. For example, the collaboration application 1320, is determined: it is possible to display a user interface having user interface elements corresponding to the acceptance, trimming and ignored. 그 다음, 사용자는 대응하는 사용자 인터페이스 요소를 선택함으로써 원하는 응답을 선택할 수 있다. Then, the user can select a desired response by selecting the corresponding user interface element. 사용자가 초대를 수락하면, 절차는 단계(1810)로 진행할 수 있 다. If the user accepts the invitation, the procedure is to proceed to step 1810. 사용자가 초대를 사절하면, 절차는 단계(1812)로 진행할 수 있다. If the user refuses the invitation, the procedure may proceed to step 1812. 사용자가 초대를 명시적으로 무시하면, 절차는 단계(1814)로 진행할 수 있다. If the user explicitly ignored the invite process may proceed to step 1814.

각각의 단계(1810, 1812 및 1814)에서, 적절한 초대 응답은 초대자에게 보내질 수 있다. In each of steps (1810, 1812 and 1814), the appropriate invitation response may be sent to the invitee. 각 단계(1810, 1812 및 1814)는 예를 들어, 각각 수락, 사절 또는 무시로 설정된 초대 응답 액션으로 응답 메시지(1324)(도 13)를 보내기 위해 초대 서비스(1400)의 초대 요소(1412)(도 14)에 대한 응답을 이용할 수 있다. Each stage (1810, 1812 and 1814), for example, invitation element 1412 of each acceptance response message to the invitation response action set to trimming or ignored 1324 (Fig. 13) the invitation service 1400 to send ( can be used for a response in Fig. 14). 원하는 협력 애플리케이션(1320)(도 13)이 이미 개시되어 있기 때문에, 초대가 수락되었으면, 협력 활동은 단계(1816)에서 더 이상 지체없이 시작될 수 있다. Since the desired collaboration application 1320 (FIG. 13) has already been started, if the invitation is accepted, the cooperative activities may be initiated without further delay, in step (1816).

협력 프레즌스 발행을 위한 예시적인 방법이 이제 더욱 상세하게 설명된다. An exemplary method for Cooperation issued presence now be explained in more detail. 특히, 서버리스 프레즌스 발행, 즉 전용 서버 컴퓨터의 필요에 관계없이 협력 프레즌스 정보를 발행하는 능력은 본 발명의 실시예에서 유리하다. In particular, serverless presence publication, that is, the ability to publish collaborative presence information, regardless of the need for dedicated server computers, is advantageous in an embodiment of the present invention. 예를 들어, 서버리스 네트워크화 컴퓨팅 환경, 피어 투 피어 네트워크, 또는 오버레이 네트워크는 전용 서버 컴퓨터를 필요로 하는 네트워크 및 네트워크 애플리케이션보다 더 양호한 범위성을 제공할 수 있다. For example, serverless networked computing environment, the peer-to-peer networks, or overlay networks may provide for better scalability than networks and network applications requiring dedicated server computers. 네트워크화 컴퓨팅 환경(200)(도 2)은 피어 투 피어 또는 오버레이 네트워크를 지원할 수 있다. Networked computing environment 200 (Figure 2) may support a peer-to-peer or overlay network. 컴퓨터(204, 206, 208, 212, 214 및 216)의 각각은 피어 투 피어 네트워크의 하나 이상의 피어를 지원할 수 있다. Each of the computer (204, 206, 208, 212, 214 and 216) may support a peer-to-peer one or more peers of the network. 각 피어는 협력 종점일 수 있고, 종점 객체(410)(도 4) 인스턴스와 관련될 수 있다. Each peer may be a collaborative endpoint may be associated with the end point object 410 (Figure 4) instance.

상술된 바와 같이, 협력 프레즌스는 프레즌스 객체(404)(도 4)에 의해 나타내질 수 있다. As described above, the cooperation presence may be represented by the presence object 404 (Figure 4). 프레즌스 객체(404)의 (전부를 포함하는) 임의의 적합한 부분은 협력 서비스 플랫폼(302)(도 3)의 사용자에게 발행될 수 있다. Any suitable portion of the (including all) of the presence object 404 may be published to users of the collaborative services platform 302 (Figure 3). 또한, 종점 객 체(410), 능력 객체(412) 및 더욱 일반적인 발행된 객체(418)를 포함하여, 프레즌스 객체(404) 인스턴스에 의해 참조된 프로그램 객체 인스턴스가 발행될 수 있다. Further, there is a program object instances reference by a presence object 404 instance may be published, including endpoint objects 410, capability objects 412 and the more generic published objects 418. The

그러나, 본 발명의 실시예에서, 한 번의 발행은 전형적으로 충분하지 않다. However, in the present embodiment, a single publication is typically not sufficient. 프레즌스 정보는 변할 수 있다. Presence information may vary. 예를 들어, 발행된 객체(418)는 협력 애플리케이션에 의해 갱신될 수 있고, 집합체 상태, 및/또는 특정 종점과 관련된 프레즌스 상태는 하루종일 변할 수 있으며, 종점은 예를 들어, 무선 네트워크 커버리지 영역의 안과 밖으로 이동하거나 턴온 및 턴오프되는 네트워크화 무선 장치에 의해, 특정 접촉자의 프레즌스에 추가되거나 거기에서 제거될 수 있고, 종점 능력은 새로운 협력 애플리케이션이 설치될 때 변할 수 있다. For example, published objects 418 may be updated by collaborative applications, aggregate status and / or presence status associated with a particular endpoint may change throughout the day, endpoints are, for example, of a wireless network coverage area Go inside and out, or by a wireless networked device is turned on and off, can be added to or removed from there in the presence of a specific contact, end capabilities may vary when installing a new collaboration application. 효과적인 협력은 일관되게 갱신된 프레즌스 정보를 요구할 수 있다. Effective cooperation can consistently ask for an updated presence information. 본 발명의 실시예에서, 협력 프레즌스 정보는 프레즌스 구독 및 프레즌스 통지 메시지로, 네트워크화 컴퓨팅 환경(200)(도 2)과 같은 서버리스 네트워크화 컴퓨팅 환경에서 배포된다. In the preferred embodiment, the cooperation presence information to a presence subscribe and presence notify messages, are distributed in a serverless networked computing environment, such as the networked computing environment 200 (Figure 2).

도 19는 본 발명의 실시예에 따른, 서버리스 프레즌스 발행에 참가하는 예시적인 단계를 도시하고 있다. Figure 19 shows an exemplary steps participating in, serverless presence publication in the embodiment; 단계(1902)에서, 컴퓨터 사용자는 컴퓨터의 운영 체체(OS)로 인증할 수 있다. In step 1902, a computer user may authenticate with the computer's operating tsetse (OS). 예를 들어, 사용자는 네트워크화 컴퓨팅 환경(200)의 컴퓨터(204, 206, 208, 212, 214 또는 216)(도 2) 중의 하나로 로그인할 수 있다. For example, a user may login to one of the computer (204, 206, 208, 212, 214 or 216) (Fig. 2) of the networked computing environment 200. 적합한 컴퓨터 운영 체제는 임의의 적합한 버전의 "MICROSOFT WINDOWS" 또는 "UNIX" 컴퓨터 운영 체제와 같은 협력 서비스 플랫폼(302)(도 3)을 지원할 수 있는 컴퓨터 운영 체제를 포함한다. Suitable computer operating system includes a computer operating system that can support the collaboration services platform 302 (Figure 3), such as any suitable version of "MICROSOFT WINDOWS" or "UNIX" operating system of your computer. 컴퓨터 운영 체제로의 인증은 컴퓨터 사용자를 위한 컴퓨터-인식 식별번호를 설정할 수 있고, 특히 컴퓨터 사용자를 MeContact 객 체(406)(도 4) 인스턴스와 관련시킬 수 있다. Authentication of a computer operating system, the computer for the computer user - can be set to identify the identification number, in particular, may associate the computer user with the MeContact object 406 (Figure 4) instance.

단계(1904)에서, 협력 서비스 플랫폼(302)의 발행 서비스(306)(도 3)와의 통신이 시작될 수 있다. In step 1904, it is possible to communicate with the Service issued 306 (3) of the collaboration services platform 302 starts. 상술된 바와 같이, 발행 서비스(306)는 서버리스일 수 있다. As described above, the publication service 306 may be serverless. 예를 들어, 단계(1904)에서, 컴퓨터 사용자는 발행 서비스(306)를 포함하는 피어 투 피어(P2P) 네트워크에 가입할 수 있다. For example, in step 1904, the computer user may join a peer-to-peer (P2P) network including a publication service 306. The 단계(1906)에서, 컴퓨터 사용자와 관련된 MeContact 객체(406)(도 4)에 포함되고/되거나 그 객체에 의해 참조된 데이터의 일부 또는 전부는 예를 들어, 하나 이상의 프레즌스 통지 메시지로, 발행 서비스(306)에 발행될 수 있으므로, 컴퓨터 및 협력 서비스 플랫폼(302) 사용자의 협력 프레즌스를 설정한다. In step 1906, some or all of the data MeContact object 406 included in (4) and / or referenced by the object associated with the computer user, e.g., by one or more presence notify messages, issuing service ( it may be issued to 306), and sets the cooperative presence of computers and collaboration services platform 302 users.

단계(1908)에서, 접촉자 저장부(318)(도 3)와의 통신이 시작될 수 있다. At step 1908, communications with the contact store unit 318 (FIG. 3) may be started. 예를 들어, 접촉자 저장부는 데이터베이스와 같은 종래의 데이터 저장부일 수 있고, 접촉자 저장부(318)와의 통신의 시작은 데이터 저장부와의 통신 세션의 설정을 포함할 수 있다. For example, the contact storage portion may store the conventional data, such as a database Buil, the start of communication with the contact store unit 318 may include the setting of a communication session with the data storage unit. 단계(1910)에서, 접촉자 저장부(318)는 사용자의 버디 클래스 접촉자를 찾기 위해 조회될 수 있다. In step 1910, contact the storage unit 318 may be queried to find your buddy class contacts. 본 발명의 실시예에서, 접촉자 저장부(318)의 조회는 MeContact 객체(406)의 버디 요소(904)(도 9)에 포함된 접촉자 객체(402)(도 4)에 대한 하나 이상의 레퍼런스의 역참조(de-referencing)를 포함한다. The query station of the at least one reference to a buddy element 904, the contact object included in (9), 402 (FIG. 4) of the MeContact object 406 in the embodiment of the present invention, the contact storage unit 318 reference includes (de-referencing).

단계(1912)에서, 구독은 예를 들어, 도 20 및 21과 관련하여 더욱 상세하게 후술되는 프레즌스 구독 메시지로, 버디 클래스 접촉자의 프레즌스에 대해 신청될 수 있다. At step 1912, subscriptions may be, for example, application for a presence subscribe message in more detail below with respect to Figure 20 and 21, the presence of the buddy class contact. 단계(1914)에서, 구독에 응답하여, 프레즌스 갱신 통지가 수신될 수 있다. In step 1914, in response to the subscription, the presence update notification may be received. 예를 들어, 프레즌스 통지 메시지는 관련된 구독을 갖는 프레즌스에 변화가 생길 때 피어 투 피어 네트워크를 통해 보내질 수 있다. For example, presence notify messages may be sent through the peer-to-peer network when changes occur in the presence associated with a subscription.

도 20은 본 발명의 실시예에 따른 프레즌스 구독을 신청하는 예시적인 단계를 도시하고 있다. Figure 20 illustrates an exemplary step of applying for presence subscriptions in accordance with an embodiment of the present invention. 예를 들어, 도 20에 의해 나타낸 단계는 단계(1912)(도 19)의 부분으로서 수행될 수 있다. For example, the steps illustrated by Figure 20 may be performed as part of step 1912 (FIG. 19). 구독이 신청될 버디 클래스 접촉자 세트는 예를 들어, 단계(1914) 등으로부터 이용가능할 수 있다. Subscribe to the buddy class contacts application is set to be, for example, it may be available from step (1914), and the like. 단계(2002)에서, 다음 후보 버디 클래스 접촉자가 세트에서 선택될 수 있다. In step 2002, it may be the next candidate Buddy class contacts to be selected in the set.

단계(2004)에서, 버디 클래스 접촉자를 찾기 위해 검색이 이루어질 수 있다. In step 2004, a search can be made to find a buddy class contacts. 예를 들어, 피어 이름 분석 프로토콜(PNRP)은 피어 투 피어 네트워크 내의 버디 클래스 접촉자와 관련된 종점의 위치를 찾기 위해 이용될 수 있다. For example, the peer name resolution protocol (PNRP) is a peer-to-peer may be used to find the location of the end points associated with the buddy class contact in the network. 대안적으로, 또는 그 밖에, 검색은 접촉자를 찾기 위해 서브넷(218)(도 2)과 같은 로컬 네트워크 파티션(partition) 전반에서 이루어질 수 있다. Alternatively, or else, the search can be made across a local network partition (partition), such as the subnet 218 (2) to find a contact. 임의의 적합한 네트워크 파티션은 접촉자를 위해 설정되고/되거나 그 접촉자를 찾기 위해 검색될 수 있다. Any suitable network partition may be set to contact and / or searched for the contact.

검색은 성공적이지 않을 수도 있다. Search may not be successful. 예를 들어, 버디 클래스 접촉자는 피어 투 피어 네트워크 및/또는 로컬 네트워크 파티션 내에 관련 종점이 없을 수도 있다. For example, the buddy class contact may not be related to the end point in a peer-to-peer network and / or the local network partition. 단계(2006)에서, 버디 클래스 접촉자가 발견되었는지 판정될 수 있다. In step 2006, it can be determined whether the buddy class contacts found. 예를 들어, 피어 이름 분석 프로토콜은 피어 투 피어 네트워크 내의 관련된 협력 종점에 대한 버디 클래스 접촉자의 이름을 성공적으로 분석할 수 있고, 또는 응답은 버디 클래스 접촉자를 위한 관련된 종점(예를 들어, TCP/IP 주소 및 통신 포트 번호)을 식별하는 로컬 네트워크 파티션 전체에 걸친 메시지 방송에 대해 수신될 수 있다. For example, the Peer Name Resolution Protocol can be successfully analyzed in the name of the buddy class contacts for collaboration endpoints involved in a peer-to-peer network or a response for the endpoint (for example, relating to a buddy class contacts, TCP / IP It can be received for a broadcast message across the local network partition identifying the address and communications port number). 버디 클래스 접촉자가 발견되면, 절차는 단계(2008)로 진행할 수 있다. When the buddy class contact is detected, the process may proceed to step 2008. 그렇지 않 으면, 예를 들어, 접촉자가 버디로 분류되었기 때문에, 부재가 일시적인 것으로 추정될 수 있고, 절차는 단계(2010)로 진행할 수 있다. Otherwise, for example, because the contact has been classified as a buddy, it can be estimated that a temporary member, process may proceed to step 2010.

버디로 분류된 후에는 접촉자가 전형적으로 활동적인 협력 참가자라는 가정을 내포할 수 있고, 본 발명의 실시예에서, 놓친 버디 클래스 접촉자를 찾기 위한 주기적 검색은 계산 및 네트워크 자원에 관한 증가된 요구에도 불구하고 정당화 특징이 되도록 협력 서비스 플랫폼(302)(도 3)의 효율성을 충분히 향상시킨다. Once classified as a buddy may involve the assumption that the contacts are typically active collaborative participant, in an embodiment of the present invention, the periodic search to find a buddy class contacts missed, despite the increased demands on the calculation and network resources and characterized in that the justification and sufficiently improve the efficiency of the collaboration services platform 302 (Figure 3). 절차는 검색들 사이를 단계(2010)에서 기다릴 수 있다. The procedure may wait at step 2010 between the Search. 예를 들어, 검색들 사이의 기간은 10분일 수 있다. For example, the period between searches may be 10 minutes. 단계(2010)는 대기 및 아마도 후속되는 단계가 분리된 실행 스레드에서 발생할 수 있다는 것을 나타내기 위해 파선(2012)으로 둘러싸인다. Step (2010) is surrounded by a dashed line (2012) to indicate that occur in the execution thread is waiting, and perhaps a subsequent separation step. 대기 단계(2010)를 위한 분리된 실행 스레드를 인스턴스 생성한 후에, 주요 실행 스레드는 단계(2014)로 진행할 수 있다. After creating the instance of the separate thread of execution for the wait step 2010, the main thread of execution may proceed to step 2014.

버디 클래스 접촉자를 발견했으면, 단계(2008)에서, 프레즌스 구독 메시지는 접촉자와 관련된 종점, 예를 들어 단계(2004)에서 발견된 종점에 보내질 수 있다. Once you have found a buddy class contacts, in step 2008, the presence subscribe message may be sent to the endpoints discovered at the end associated with the contact, for example, step (2004). 프레즌스 구독 메시지는 접촉자와 관련된 협력 프레즌스 정보의 일부 또는 전부에 대한 구독을 지정할 수 있다. The presence subscription message may specify a subscription for all or part of a cooperative presence information associated with the contact. 예를 들어, 프레즌스 구독 메시지는 프레즌스 객체(600) 애플리케이션 프로그래밍 인터페이스의 리치 텍스트 설명 요소(602)(도 6), 종점 요소(604), 집합체 상태 요소(606), 집합체 능력 요소(608) 및 발행된 객체 요소(610) 중의 하나 이상을 통해 액세스가능한 프레즌스 정보에 대한 구독을 지정할 수 있다. For example, the presence subscribe message is a rich text description element of the presence object 600 application programming interface 602 (Fig. 6), the endpoints element 604, the aggregate status element 606, an aggregate capabilities element 608, and issue through one or more of the objects element 610 may specify subscription to presence information accessible. 예를 들어, 단계(1914)(도 19)에서 구독에 응답하여 보낸 프레즌스 통지 메시지는 구독에 의해 커버되고 필요할 수 있는 프레즌스 변화의 일부분이 변경된 프레즌스 정보의 일부분을 포함할 때 단지 보내질 필요가 있을 수 있다. For example, step 1914 the presence notification message (19) sent in response to a subscription from may need only be sent to and including a portion of the presence information is part of the presence changes that may be required is covered by the subscription has changed have.

단계(2014)에서, 버디 클래스 접촉자 세트 내에 버디 클래스 접촉자가 더 있는지 판정될 수 있다. In step 2014, the buddy class contact in the buddy class contact set that can be further determined. 그러한 접촉자가 더 있으면, 절차는 단계(2002)로 돌아가서 다음 접촉자를 세트에서 선택할 수 있다. If there is no such contact, the procedure returns to step (2002) may be selected from the following set of contacts. 그렇지 않으면, 절차는 단계(1914)(도 19) 및/또는 도 21의 단계(2102)와 같은 다른 단계로 진행할 수 있다. Otherwise, the process may proceed to other steps such as step 1914 step 2102 (FIG. 19) and / or Fig.

도 21은 본 발명의 실시예에 따른 프레즌스 구독을 수락하는 예시적인 단계를 도시하고 있다. 21 is a flowchart illustrating exemplary steps for accepting presence subscriptions in accordance with an embodiment of the present invention. 단계(2102)에서, 프레즌스 구독 메시지가 수신될 수 있다. In step 2102, a presence subscribe message may be received. 예를 들어, 이것은 단계(2008)(도 20)에서 보낸 프레즌스 구독 메시지일 수 있다. For example, this can be a presence subscribe message sent in step 2008 (Figure 20). 단계(2104)에서, 프레즌스 구독의 송신자와 관련된 접촉자 정보가 검색될 수 있다. In step 2104, the contact information associated with the sender of the presence subscription may be retrieved. 예를 들어, 프레즌스 구독 메시지는 송신자와 관련된 접촉자 객체(402)(도 4)를 참조할 수 있다. For example, the presence subscribe message may reference a contact object 402 (Figure 4) associated with the sender. 프레즌스 구독 메시지의 수신자는 접촉자 관리 서비스(304)(도 3)로 송신자의 접촉자 정보를 검색할 수 있다. Recipients of the presence subscribe message may search for contact information of the sender to the contact management service 304 (FIG. 3).

단계(2106)에서, 구독 정책이 프레즌스 구독 메시지의 송신자를 위해 설정되었는지 판정될 수 있다. In step 2106, if the subscription policy is set to the sender of the presence subscribe message may be determined. 예를 들어, 접촉자 관리 서비스(304)(도 3)에 의해 관리되는 송신자와 관련된 접촉자 정보는 송신자와, 송신자를 위한 구독 정책 사이의 관련성을 포함할 수 있다. For example, the contact information associated with the sender that is managed by the contact management service 304 (Figure 3) may include an association between the sender and the subscription for the sender policies. 대안적으로, 구독 정책은 모든 구독자를 위해, 또는 송신자가 멤버인 구독자의 어떤 그룹을 위해 적소에 있을 수 있다. Alternatively, the subscription policy may be in place for any group of subscribers for all, or the sender is a member subscriber.

단순한 구독 정책의 예는 차단 및 허용을 포함한다. An example of a simple subscription policies include blocked and allowed. 즉, 접촉자로부터의 구독 요청을 차단하고, 또는 접촉자로부터의 구독 요청을 허용한다. That is, the block subscription requests from the contact, and the or allow subscription requests from the contact. 본 발명의 실시예에서, 송신자를 위한 구독 정책은 수신자와 관련된 MeContact 객체(406)의 권한 있는 구독자 요소(906)(도 9)에 의해 참조된 접촉자 객체(402)(도 4) 인스턴스의 세트에 의해 결정된다. A contact object 402 (Figure 4) set of instances referenced by the authorized subscribers element 906 (Figure 9) with the MeContact object 406 associated with the embodiment of the present invention, the subscription for the sender policies receiver It is determined by. 송신자와 관련된 접촉자 객체(402) 인스턴스가 권한있는 구독자 요소(906)에 의해 참조된 세트 내에 있으면, 송신자는 허용되고, 그렇지 않으면 송신자를 차단된다. If within the set referenced by the contact object 402 subscribers element 906, in the instance rights in the sender, the sender is allowed, otherwise the sender is blocked.

본 발명의 실시예에서, 더욱 정교한 구독 정책이 가능하다. In the preferred embodiment, it is possible to more sophisticated subscription policies. 예를 들어, 더욱 정교한 구독 정책은 구독자의 프레즌스 정보의 하나 이상의 서브셋에 대한 구독을 차단 및/또는 허용할 수 있다. For example, more sophisticated subscription policies can be blocked and / or allow the subscription to one or more subsets of the presence information of the subscriber. 프레즌스 객체(600)의 집합체 상태(606)(도 6) 및 리치 텍스트 설명(602)의 구독을 허용하고, 다른 프레즌스 객체 요소(604, 608, 610)의 구독을 차단하는 것은 한가지 가능한 예이다. Allowing subscription to the aggregate status 606 (Figure 6) and the rich text description 602 of the presence object 600, and blocking subscription to other presence object elements (604, 608, 610) is one possible example. 프레즌스 객체 요소(602, 604, 606, 608 및 610) 및/또는 이 프레즌스 객체 요소(602, 604, 606, 608 및 610)에 의해 참조된 프로그램 객체(410, 412, 418)의 (전부를 포함하는) 임의의 적합한 서브셋은 구독 정책 및/또는 구독의 주체일 수 있다. The presence object elements contained in the parts (the (602, 604, 606, 608 and 610) and / or program object (410, 412, 418) referenced by the presence object elements (602, 604, 606, 608 and 610) ) in any suitable subset of which may be the subject of a subscription policy and / or subscription.

구독 정책이 구독 메시지의 송신자를 위해 적소에 있으면, 절차는 단계(2108)로 진행할 수 있다. If you subscribe to the policy in place for the sender of the message subscription, the procedure may proceed to step 2108. 그렇지 않으면, 절차는 단계(2110)로 진행할 수 있다. Otherwise, the process may proceed to step 2110. 단계(2110)에서, 구독의 주체인 협력 프레즌스와 관련된 협력 서비스 플랫폼(302)(도 3)의 사용자는 프레즌스 구독 메시지의 송신자에 관한 구독 정책을 찾기 위해 조회될 수 있다. In step 2110, the user of the collaboration services platform 302 (Figure 3) associated with the presence of the principal in collaboration subscriptions can be queried to find the subscription policy for the sender of the presence subscribe message. 예를 들어, 발행 서비스(306)는 송신자와 관련된 접촉자 정보, 및 차단 및 허용과 같은 구독 정책 옵션을 표시하는 사용자 인터페이스(예를 들어, 그래픽 사용자 인터페이스 또는 GUI)를 나타낼 수 있다. For example, the publication service 306 may represent a user interface that displays the subscription policy options such as contact information, and blocking and allowing concerning the sender (e.g., a graphical user interface or GUI). 그 다음, 사용자는 사용자 인터페이스로 송신자를 위한 구독 정책을 선택할 수 있다. Then, the user can choose the subscription policy for the sender to the user interface.

단계(2112)에서, 사용자에 의해 선택된 구독 정책은 송신자를 위해 설정될 수 있다. In step 2112, the subscription policy selected by the user can be set for the sender. 예를 들어, 구독 정책은 협력 서비스 플랫폼(302)의 접촉자 관리 서비스(304)(도 3)를 통해 송신자와 관련될 수 있고, 또는 송신자와 관련된 접촉자 객체(402)(도 4) 인스턴스에 대한 레퍼런스는 수신자와 관련된 MeContact 객체(406) 인스턴스의 권한있는 구독자 요소(906)(도 9)에 의해 유지된 레퍼런스 세트에 추가될 수 있다. For example, the subscription policy is a reference to a contact management service 304 may be through (Fig. 3) associated with the sender, or the contact object 402 associated with the sender (Figure 4) instances of the collaboration services platform 302 It may be added to the reference set of rights held by the MeContact object 406 instance subscribers element 906 (Figure 9), which related to the recipient. 단계(2108)에서는, 송신자에 관한 구독 정책이 설정되었으면, 그 구독 정책이 구독을 차단하는 것인지 판정될 수 있다. In step 2108, if the subscription policy for the sender to set up, there is the subscription policy may be determined whether to block subscriptions. 구독 정책이 송신자로부터 구독을 차단하는 것이면, 절차는 단계(2114)로 진행할 수 있다. As long as the subscription policy is to block subscriptions from the sender, then the procedure may proceed to step 2114. 그렇지 않으면, 절차는 단계(2116)로 진행할 수 있다. Otherwise, the process may proceed to step 2116.

단계(2116)에서, 협력 프레즌스 구독이 수락될 수 있다. In step 2116, the collaborative presence subscriptions can be accepted. 예를 들어, 프레즌스 구독 메시지에 의해 지정된 구독은 접촉자 관리 서비스(304)(도 3)를 통해 수신자와 관련된 MeContact 객체(406)와 관련될 수 있다. For example, the subscription specified by the presence subscription message may be associated with the MeContact object 406 associated with the receiver through (3), the contact management service 304. 본 발명의 실시예에서, 프레즌스 구독 메시지에 의해 지정된 구독은 송신자와 관련된 접촉자 객체(402)(도 4) 인스턴스를, 수신자와 관련된 MeContact 객체(406) 인스턴스의 활동적인 구독자 요소(908)(도 9)에 의해 참조된 접촉자 객체(402) 인스턴스 세트에 추가함으로써 수락된다. In an embodiment of the invention, the subscription specified by the presence subscription message is a contact object 402 associated with the sender (Figure 4) instance, MeContact object 406, an active subscribers element 908 of the instance associated with the receiver (Fig. 9 ) it is accepted by adding the contact object 402 instances referenced by the set. 구독이 허용 및 차단보다 더욱 정교한 경우에, 프레즌스 구독 메시지에 의해 지정된 구독은 수락되기 전에 송신자와 관련된 구독 정책에 관해 필터될 수 있다. If the subscription is more sophisticated than the allowed and blocked subscription specified by the presence subscription message may be a filter on the subscription policy associated with the sender before being accepted. 예를 들어, 구독이 모든 프레즌스 정보에 대한 것이지만, 구독 정책이 구독을 집합체 상태로 제한하면, 수락된 구독은 집합체 상태에 대해서만 이루어질 것이다. For example, though the subscription is to all presence information, if the subscription policy limits subscription to aggregate status, the accepted subscription will be to aggregate status only. 함께, 단계(2108 및 2116)는 구독이 구독 정책에 따라 수락되는 것을 보장할 수 있다. With the steps (2108 and 2116) it can ensure that the subscription has been accepted in accordance with the subscription policy.

단계(2114)에서, 프레즌스 구독 메시지의 송신자가 수신자의 버디 클래스 접촉자인지 판정될 수 있다. In step 2114, the sender of the presence subscribe message may be determined if the buddy class contact of the receiver. 예를 들어, 수신자와 관련된 MeContact 객체(900)의 버디 요소(904)(도 9)에 의해 참조된 접촉자 객체(402)(도 4) 인스턴스의 세트는 프레즌스 구독 메시지의 송신자와 관련된 접촉자 객체(402) 인스턴스를 확인하기 위해 조사될 수 있다. For example, the buddy element 904, the contact object 402 is referenced by a (9) (Fig. 4) set of instances of the MeContact object 900 associated with the receiver contacts the object associated with the sender of the presence subscribe message (402 ) it may be examined to determine the instance. 발행 서비스(306)(도 3)는 접촉자 관리 서비스(304)로 프레즌스 구독 메시지의 송신자가 수신자의 버디 클래스 접촉자인지 판정할 수 있다. Services issued 306 (FIG. 3) is the sender of the presence subscribe message to the contact management service 304 can determine whether the buddy class contact of the receiver. 프레즌스 구독 메시지의 송신자가 수신자의 버디 클래스 접촉자이면, 절차는 단계(2118)로 진행할 수 있다. If the buddy class contact of the sender of the presence subscribe message recipient, the process may proceed to step 2118. 그렇지 않으면, 절차는 단계(2120)로 진행할 수 있다. Otherwise, the process may proceed to step 2120.

프레즌스 구독 메시지의 송신자가 수신자의 버디 클래스 접촉자라는 것을 판정했으면, 단계(2118)에서, 프레즌스 구독 메시지의 수신자가 현재 송신자의 프레즌스를 구독하게 되는지 판정될 수 있다. After you have determined that the sender of the presence subscribe message growing buddy class contact of the receiver, at step 2118, the receiver of the presence subscribe message may be determined whether to subscribe to the presence of the current sender. 예를 들어, 발행 서비스(306)(도 3) 애플리케이션 프로그래밍 인터페이스는 지정된 접촉자에 의해 신청된 구독 세트의 열거를 가능하게 하는 열거 구독 요소를 가질 수 있고, 구독 세트는 송신자의 프레즌스에 신청된 구독을 확인하기 위해 조사될 수 있다. For example, the publication service 306 (Figure 3) application programming interface may have an enumerate subscriptions element enabling enumeration of a set of subscriptions application by a specified contact, subscription set is a subscription to the sender's Presence to ensure it can be investigated. 대안적으로, 또는 그 밖에, 수신자와 관련된 MeContact 객체(406)(도 4) 인스턴스의 버디 요소(904)(도 9)에 의해 참조된 접촉자 정보는 각각의 버디 클래스 접촉자에 대해, 프레즌스 구독이 접촉자에 의해 수락되었는지에 관한 표시를 포함할 수 있다. Alternatively, or elsewhere, MeContact object 406 associated with the receiver (FIG. 4) the contact information buddies element 904, referred to by (9) of the instance, a presence subscription has contacts for each buddy class contact the display may include a to whether accepted by.

프레즌스 구독 메시지의 수신자가 현재 송신자의 프레즌스를 구독하게 되는 것으로 판정되면, 절차는 단계(2120)로 진행할 수 있다. If it is determined that the receiver of the presence subscribe message to subscribe to the presence of the current transmitter, then the procedure may proceed to step 2120. 그렇지 않으면, 수신자는 단계(2122)에서 송신자의 프레즌스를 구독할 수 있다. Otherwise, the recipient can subscribe to the presence of the sender in step 2122. 예를 들어, 프레즌스 구독 메시지의 수신자가 도 20과 관련하여 상술된, 송신자를 찾는 단계를 사전에 수행했지만, 송신자가 온라인 상태가 아니었고, 수신자가 다시 검색하기 이전에 단계(2010)에서 기다리고 있는 것일 수 있다. For example, although the receiver of the presence subscribe message, follow the steps to find the sender described above in connection with FIG. 20 in advance, the sender was not online, the recipient is waiting in step 2010, before searching again It may be. 이제, 송신자는 온라인 상태가 되어, 프레즌스 구독 메시지를 발송했다. Now, the sender is online, and sending the presence subscribe message. 계속 기다린 다음에, 다시 송신자를 찾아서 계산 및 네트워크 자원을 소비하기보다는 오히려, 본 발명의 실시예에서, 수신자는 상호 프레즌스 구독 메시지로 버디 클래스 접촉자로부터의 프레즌스 구독 메시지에 응답할 수 있다. Continuing to wait, rather than the practice of the present invention, rather than consuming calculations and network resources to locate the sender again, for example, recipients can respond to the presence subscribe message from a buddy class contacts to the mutual presence subscription message. 단계(2122)에서, 상호 프레즌스 구독 메시지는 단계(2008)(도 20)에서 상술된 바와 같이 버디 클래스 접촉자에게 보내질 수 있다. In step 2122, cross presence subscribe message may be sent to the buddy class contact as described above in step 2008 (Fig. 20).

단계(2120)에서, 하나 이상의 프레즌스 통지 메시지는 단계(2116)에서 수락된 프레즌스 구독에 따라 프레즌스 구독 메시지의 송신자에게 보내질 수 있다. In step 2120, one or more presence notify message in accordance with the presence subscription accepted at step 2116 may be sent to the sender of the presence subscribe message. 초기 프레즌스 통지 메시지는 수락된 구독에 일치하는 모든 프레즌스 정보를 포함할 수 있고, 또는 예를 들어 수신자가 이미 소유하고 있는 것으로 알려진 프레즌스 정보 이외의 프레즌스 차이 세트를 포함할 수 있다. The initial presence notify message may contain all presence information matching the accepted subscription, or, for example may include a set of presence differences other than the presence information known to the receiver and the already reserved. 초기 프레즌스 통지 메시지 이후에, 추가 프레즌스 통지 메시지는 구독자에게 협력 프레즌스 갱신을 통지하기 위해 보내질 수 있다. After the initial presence notification message, add a presence notification message can be sent to notify the cooperative presence updates to subscribers. 예를 들어, 특정 협력 서비스 플랫폼(302)(도 3) 사용자의 협력 프레즌스에 대한 하나 이상의 갱신 후에, 하나 이상의 프레즌스 통지 메시지는 발행 서비스(306)(도 3)에 보내질 수 있다. For example, a particular collaboration services platform 302 (Figure 3) after one or more updates to the collaborative presence of the user, one or more presence notify messages may be sent to the publication service 306 (Figure 3). 사용자의 프레즌스에 대한 각각의 구독에 대해, 발행 서비스(306)는 프레즌스 통지 메시지에 의해 참조된 프레즌스 정 보의 하나 이상의 서브셋이 구독에 일치하는지 판정할 수 있다. For each subscription to the presence of the user, the issuing service 306 may determine that the one or more subsets of presence information referenced by the presence notify message match the subscription. 각각의 일치하는 구독에 대해, 발행 서비스(306)는 구독을 신청한 협력 서비스 플랫폼(302) 사용자에게 프레즌스 통지 메시지를 전달할 수 있다. For each matching subscription, the service issued 306 can cooperate to a service platform 302 users subscribed to deliver a presence notification message.

여기에서 인용된 공보, 특허 출원 및 특허를 포함한 모든 참고문헌은 각각의 참고문헌이 개별적으로 구체적으로 참조로 사용되는 것으로 나타나고 여기에서 전체적으로 설명된 것처럼 동일한 정도까지 여기에서 참조로 사용된다. Publication cited herein, all references, including patent applications and patents are incorporated by reference herein to the same extent as if each reference were individually specifically appears to be used as a reference as a whole described herein.

본 발명을 설명하는 문맥에서(특히 다음의 청구범위의 문맥에서) 용어 "a", "an", "the" 및 이와 유사한 지시대상의 사용은 여기에서 달리 나타내지 않는 한 또는 문맥으로 분명하게 부인하지 않는 한, 단수와 복수 둘 다를 포함하는 것으로 해석될 수 있다. In the context of describing the invention (especially in the following context of the claims) The term "a", "an", "the" and its use of a similar referents is not deny clear as or context unless otherwise indicated herein that one, may be construed to cover both the singular and plural. 용어 "comprising", "having", "including" 및 "containing"은 달리 언급하지 않는 한, 제한 없는 용어로(즉, "포함하지만, 제한되지 않는"을 의미하는 것으로) 해석될 수 있다. The term "comprising", "having", "including" and "containing" may be one, as the term is not limited (that is, to mean "including, but not limited to,") unless otherwise interpreted. 여기에서 값의 범위의 열거는 여기에서 달리 나타내지 않는 한, 범위에 속하는 각각의 분리된 값을 개별적으로 나타내는 속기 방법으로 쓰고자 한 것일 뿐이고, 각각의 분리된 값은 여기에서 개별적으로 열거된 것처럼 명세서에 포함된다. A here listed in the range of values ​​in the Unless otherwise indicated herein, each merely to write characters one be a shorthand way to represent the discrete values ​​individually, each discrete value of in the range are herein as if individually listed here It is included in. 여기에서 설명된 모든 방법은 여기에서 달리 나타내지 않는 한 또는 문맥으로 분명하게 달리 부인하지 않는 한, 임의의 적합한 순서로 수행될 수 있다. All the methods described herein, unless otherwise explicitly denied in a context or unless otherwise indicated herein, can be performed in any suitable order. 여기에서 제공된 임의의 및 모든 예, 또는 예시적인 언어(예를 들어, "such as")의 사용은 단지 본 발명을 더욱 명확히 하고자 한 것일 뿐이고, 달리 청구되지 않는 한 본 발명의 범위에 제한을 가하는 것이 아니다. Here random and (e.g., "such as") all examples, or exemplary language provided by the use of just merely be a wish to further clarify the present invention, for applying a limitation to the scope of the invention unless otherwise claimed not. 명세서 내의 어떤 언어도, 청구되지 않은 어떤 요소를 본 발명의 실시에 필수적인 것처럼 나타 내는 것으로 해석되어서는 안된다. Any language in the specification should not be construed to any non-claimed element as indicating as essential to the practice of the present invention.

본 발명의 양호한 실시예는 본 발명을 실시하는 발명가들에게 알려진 최상의 모드를 포함하여, 여기에서 설명된다. A preferred embodiment of the invention, including the best mode known to the inventors for practicing the invention, are described herein. 그들 양호한 실시예의 변형은 상기 설명을 읽어보면 본 분야에 숙련된 기술자들에게 명백해질 수 있다. Modification of their preferred embodiments may become apparent to those skilled in the art by reading the above description. 발명가들은 숙련된 기술자들이 그러한 변형을 적절하게 이용할 것으로 예상하고, 발명가들은 본 발명이 여기에서 구체적으로 설명된 것과 다르게도 실시되게 할 작정이다. Inventors expect skilled technicians to properly utilize such modifications, the inventors intend to be carried out is also different from that of the present invention described in detail here. 따라서, 본 발명은 적용가능한 법률에 의해 허용되는 바와 같이 여기에 첨부된 청구범위에서 설명된 주제의 모든 변형 및 그 등가물을 포함한다. Accordingly, this invention includes all modifications and equivalents of the subject matter described in the claims appended hereto as permitted by applicable law. 게다가, 본 발명의 모든 가능한 변형 내에서의 상술된 요소들의 임의의 조합은 여기에서 달리 나타내지 않는 한 또는 문맥으로 분명하게 달리 부인하지 않는 한 본 발명에 포함된다. Moreover, any combination of the above-described elements in all possible variations of the present invention is one included in the present invention does not deny otherwise explicitly or by a context unless otherwise indicated herein.

Claims (20)

  1. 협력 초대(collaborative invitation)를 위한 컴퓨터-실행가능 명령어들이 포함되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터-실행가능 명령어들은, A computer-readable storage medium that contains executable instructions that, the computer-collaboration invitation (collaborative invitation) for the computer-executable instructions,
    초대 사용자 인터페이스로 최소한 하나의 접촉자를 선택하는 명령어; Instructions for selecting at least one of the contacts to invite a user interface;
    상기 최소한 하나의 접촉자에게 보내져야 할 초대가 상기 초대 사용자 인터페이스로부터 시작(initiating)되어야 하는지 아니면 협력 애플리케이션으로부터 직접 시작되어야 하는지를 판정하는 명령어 - 상기 협력 애플리케이션은 상기 초대 사용자 인터페이스와 구별되고, 운영 체제로부터 개시(launching)되고, 종점(endpoint)과 관련된 능력(capability) 또는 협력 활동(collaborative activity) 중 최소한 하나와 관련됨 -; Wherein at least one, or whether the invitation to be sent to the contacts be initiated (initiating) from the inviting user interface command to determine whether to be launched directly from the cooperative application - the cooperative application is distinct from the invitation user interface, starting from the operating system (launching) is, the end point being associated with at least one capability (capability), or cooperation activities (collaborative activity) associated with (endpoint) -;
    보내져야 할 초대가 상기 초대 사용자 인터페이스로부터 시작되어야 한다고 판정되면, 최소한 If it is determined that an invitation to be sent must start from the invitation user interface, at least
    상기 협력 애플리케이션을 개시하는 명령어; Instructions for initiating the collaboration application; And
    상기 초대 사용자 인터페이스로부터 상기 최소한 하나의 접촉자에게 상기 초대를 보내는 것을 시작하는 명령어; Commands that begin to said at least one of the contacts from the invitation user interface for sending the invitation; And
    보내져야 할 초대가 상기 협력 애플리케이션으로부터 직접 시작되어야 한다고 판정되면, 최소한 If it is determined that should be invited to be sent directly from the cooperative application starts, at least
    상기 협력 애플리케이션을 개시하는 명령어; Instructions for initiating the collaboration application; And
    상기 협력 애플리케이션으로부터 직접 상기 최소한 하나의 접촉자에게 상기 초대를 보내는 것을 시작하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable medium comprising instructions that begin to direct the at least one contact from the collaboration application to send the invitation.
  2. 제1항에 있어서, According to claim 1,
    상기 초대 사용자 인터페이스는 초대 서비스의 그래픽 사용자 인터페이스인 컴퓨터 판독가능 저장 매체. The invitation user interface is a graphical user interface, the computer program product of the invitation service.
  3. 제1항에 있어서, According to claim 1,
    상기 컴퓨터-실행가능 명령어들은 상기 초대 사용자 인터페이스를 통해 협력 활동을 선택하는 명령어를 더 포함하고, The computer-executable instructions may further include instructions for selecting cooperative activities through the inviting user interface,
    상기 협력 애플리케이션을 개시하는 명령어는 선택된 상기 협력 활동과 관련된 협력 애플리케이션을 개시하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. Computer program instructions for initiating the collaborative application includes instructions for initiating a cooperative application associated with the selected collaboration activity.
  4. 제1항에 있어서, According to claim 1,
    상기 협력 애플리케이션에 의한 검색(retrieval)을 위해 초대 상세들을 저장하는 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable medium further comprising instructions for storing invitation details for retrieval (retrieval) by the cooperative application.
  5. 제1항에 있어서, According to claim 1,
    상기 초대를 보내는 것을 시작하는 명령어는 초대 서비스의 애플리케이션 프로그래밍 인터페이스의 초대 송신 요소에 의해 초대를 보내는 것을 시작하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. Computer-readable medium of instructions to start the sending of the invitation includes a command for starting to send the invitation by sending the invitation element of an application programming interface of the invitation service.
  6. 제5항에 있어서, 6. The method of claim 5,
    상기 초대 서비스의 애플리케이션 프로그래밍 인터페이스는, The application programming interface of the invitation service,
    상기 초대 송신 요소; The transmission invitation element;
    수신된 초대에 응답하는 초대 응답 요소; Invite response element that responds to the invitation received; And
    송신된 초대를 삭제하는 초대 삭제 요소 Delete to delete the invitation, inviting elements transmitted
    를 포함하는 컴퓨터 판독가능 저장 매체. Computer program product comprising a.
  7. 제1항에 있어서, According to claim 1,
    상기 초대를 보내는 것을 시작하는 명령어는, 상기 최소한 하나의 접촉자 각각에 대해, Commands to start sending the invitation, for each of the at least one contact,
    상기 접촉자에 대한 복수의 종점들의 세트를 판정하는 명령어; Instructions for determining a set of a plurality of endpoints for the contact; And
    상기 복수의 종점들의 세트 내의 각각의 종점에 대해, 최소한 For each endpoint in the set of the plurality of endpoints, at least
    상기 각각의 종점에의 통신 접속을 설정하는 명령어; Instruction to set a communication connection to the respective end points; And
    상기 통신 접속을 통해 상기 각각의 종점에 초대를 보내는 명령어 Command to send the invitation to the endpoint over the communication connection of the respective
    를 포함하는 컴퓨터 판독가능 저장 매체. Computer program product comprising a.
  8. 제7항에 있어서, The method of claim 7,
    각 접촉자의 표현은 종점 프로그램 개체 인스턴스들의 세트를 참조하는 접촉자 프로그램 개체 인스턴스를 포함하고, Representation of each contact includes a contact Program object instance that references a set of endpoint program object instances,
    상기 접촉자에 대한 복수의 종점들의 세트를 판정하는 명령어는, Instructions for determining a set of a plurality of endpoints for the contact is,
    상기 종점 프로그램 개체 인스턴스들의 세트를 찾기 위해 상기 접촉자에 대응하는 상기 접촉자 프로그램 개체 인스턴스를 조회(querying)하는 명령어; Instructions for querying (querying) for the contact program object instance corresponding to the contact in order to find the set of endpoints program object instance; And
    상기 종점 프로그램 개체 인스턴스들의 세트가 비어 있으면, 접촉자 위치 서비스로 상기 접촉자에 대한 복수의 종점들의 세트를 판정하는 명령어 If a set of end points program object instances is empty, the instructions for determining a set of a plurality of endpoints for the contact with the contact location service
    를 포함하는 컴퓨터 판독가능 저장 매체. Computer program product comprising a.
  9. 협력 초대를 위한 컴퓨터-실행가능 명령어들이 포함되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터-실행가능 명령어들은, A computer-readable storage medium that contains executable instructions that, the computer-computer for collaboration invitation-executable instructions,
    협력 활동에 참가하라는 초대를 협력 서비스 플랫폼에서 직접 또한 협력 애플리케이션에서 직접 수신하는 명령어 - 상기 협력 애플리케이션은 상기 협력 서비스 플랫폼과 구별되고, 운영 체제로부터 개시되고, 상기 협력 활동과 관련됨 -, An invitation to participate in cooperative activities receiving instructions directly from applications also work directly from the collaboration services platform - the cooperative application is distinct from the collaboration services platform, has started from the operating system, being associated with the cooperative activities,
    상기 초대에 응답하여 수락, 거절 및 무시 중의 하나를 선택하는 능력(ability)과 함께, 상기 협력 서비스 플랫폼 또는 상기 협력 애플리케이션 중 최소한 하나의 사용자에게 상기 초대를 제시하는 명령어; Instruction with the ability (ability) to select one of the accepted, rejected and ignored, in response to the invitation, the user of at least one of the cooperative or the cooperative application services platform to present the invitation;
    상기 사용자의 선택을 수신하는 명령어; Instructions for receiving a selection of the user; And
    상기 사용자의 선택의 표시를 포함하는 응답을 상기 초대의 송신자에게 보내는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable medium comprising instructions to send a response including an indication of a selection of the user to the originator of the invitation.
  10. 제9항에 있어서, 10. The method of claim 9,
    상기 초대는 상기 협력 서비스 플랫폼의 종점에서 수신되고, The invitation is received at the end point of the collaborative services platform,
    상기 컴퓨터-실행가능 명령어들은 상기 종점이 상기 협력 활동에 참가할 수 있는지 판정하는 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체. The computer-executable instructions are computer-readable storage medium further comprising instructions for determining that the end point to participate in the cooperative activity.
  11. 제10항에 있어서, 11. The method of claim 10,
    상기 초대는 상기 협력 활동에 참가할 수 있기 위해 요구되는 능력들의 세트의 명세(specification)를 포함하고, The invitation includes a specification (specification) of the set of skills required to be able to participate in the cooperative activities,
    상기 협력 서비스 플랫폼은 상기 종점의 능력들의 레지스트리를 포함하며, The collaboration service platform includes a registry of the endpoint capabilities,
    상기 종점이 상기 협력 활동에 참가할 수 있는지 판정하는 명령어는 상기 초대에 의해 지정된 능력들 세트를 상기 종점의 등록된 능력들과 비교하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. Instructions for determining that the end point to participate in the cooperative activity is computer program product comprising instructions for comparing the set of capabilities specified by the invitation to the registered capabilities of the endpoint.
  12. 제9항에 있어서, 10. The method of claim 9,
    상기 초대는 상기 협력 서비스 플랫폼을 위한 표준 통신 포트, 및 상기 협력 애플리케이션에 특정된 비표준 통신 포트 중의 하나에서 수신되고, The invitation is received at one of the nonstandard communications port specific to the standard communication ports, and the cooperative application for the collaboration services platform,
    상기 초대가 상기 표준 통신 포트에서 수신되고, 상기 사용자가 상기 초대를 수락하는 것을 선택하면, 상기 컴퓨터-실행가능 명령어들은 The invitation is received at the standard communications port, selecting in that the user accepts the invitation, the computer-executable instructions are
    상기 협력 애플리케이션에 의한 검색을 위해 상기 초대 내에 포함된 정보의 일부 또는 전부를 저장하는 명령어; Instructions for storing a part or all of the information contained in the invitation for retrieval by the collaborative application;
    상기 협력 애플리케이션을 개시하는 명령어; Instructions for initiating the collaboration application; And
    상기 협력 활동을 시작하는 명령어를 더 포함하고, Further comprising an instruction to start the cooperation activities,
    상기 초대가 상기 비표준 통신 포트에서 수신되고, 상기 사용자가 상기 초대를 수락하는 것을 선택하면, 상기 컴퓨터-실행가능 명령어들은 상기 협력 활동을 시작하는 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체. If the invitation is received at the nonstandard communications port and the user chooses to accept the invitation, the computer-executable instructions are computer-readable storage medium further comprising instructions to start the collaborative activity.
  13. 제12항에 있어서, 13. The method of claim 12,
    상기 협력 애플리케이션을 개시하는 명령어; Instructions for initiating the collaboration application; And
    상기 협력 애플리케이션을 위한 비표준 통신 포트 상에서 초대 청취자(listener)를 생성하는 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable medium further comprising instructions for generating an invitation listener (listener) on a nonstandard communications port for the collaborative application.
  14. 제9항에 있어서, 10. The method of claim 9,
    상기 응답을 상기 초대의 송신자에게 보내는 명령어는 초대 서비스의 애플리케이션 프로그래밍 인터페이스의 초대 응답 요소에 의해 상기 응답을 보내는 명령어를 포함하는 컴퓨터 판독가능 저장 매체. Computer program instructions for sending the response to the sender of the invitation comprises sending the command response by the invitation response element of the application programming interface of the invitation service.
  15. 협력 초대 서비스를 위한 애플리케이션 프로그래밍 인터페이스를 구현하는 컴퓨터-실행가능 명령어들이 포함되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터-실행가능 명령어들은, A computer-readable storage medium that contains executable instructions that, the computer-computer to implement an application programming interface for a collaborative invitation service executable instructions,
    운영 체제; operating system;
    상기 운영 체제에 포함된 협력 서비스 플랫폼; Collaboration services platform included in the operating system;
    상기 협력 서비스 플랫폼에 포함된 상기 협력 초대 서비스; The partnership invited Services included in the collaboration services platform;
    상기 협력 초대 서비스로의 액세스를 제공하는 초대 서비스 애플리케이션 프로그래밍 인터페이스 - 상기 초대 서비스 애플리케이션 프로그래밍 인터페이스는, 협력 활동에 참가하라는 제1 초대에 대응하는 초대 데이터로의 액세스를 제공하는 초대 요소; Invitation service application programming interface that provides access to the collaborative invitation service - the invitation service application programming interface, invitation element for providing access to invitation data corresponding to the first invitation to join the collaboration activities; 협력 서비스 플랫폼의 사용자 중 최소한 하나의 접촉자에게 상기 제1 초대를 보내는 초대 송신 요소; Cooperation invitation sent to at least one of the contact elements of the users of the service platform sends the first invitation; 수신된 초대에 응답하는 초대 응답 요소; Invite response element that responds to the invitation received; 및 송신된 초대를 삭제하는 초대 삭제 요소를 포함함 -; And it includes an invitation delete element deletes the sent invitations; And
    최소한 하나의 협력 애플리케이션 - 상기 최소한 하나의 협력 애플리케이션은 상기 협력 서비스 플랫폼과 구별되고, 상기 운영 체제로부터 개시되고, 종점과 관련된 능력 또는 협력 활동 중 최소한 하나와 관련되고, 초대들을 직접 보내고 수신하는 상기 초대 서비스 애플리케이션 프로그래밍 인터페이스를 사용하도록 구성됨 - At least one cooperative applications - said at least one cooperating application is distinct from the collaboration services platform, has started from the operating system, is associated with at least one capacity or cooperation activities associated with the end point, the invitation to send and receive direct invites configured to use the services application programming interface -
    에 대한 컴퓨터-실행가능 명령어들을 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable storage medium containing executable instructions, computer-on.
  16. 제15항에 있어서, 16. The method of claim 15,
    상기 초대 데이터는, The invitation data,
    초대 식별자; Invitation identifier; And
    최소한 하나의 능력 식별자 At least one of the capability identifier
    를 포함하는 컴퓨터 판독가능 저장 매체. Computer program product comprising a.
  17. 제15항에 있어서, 16. The method of claim 15,
    상기 초대 송신 요소는 상기 제1 초대의 보안 송신에 대한 초대 보안 송신 요소를 포함하고, The transmission invitation element comprises a send invitation security element for security of transmission of the first invitation,
    상기 초대 서비스 애플리케이션 프로그래밍 인터페이스는 상기 제1 초대의 보안되지 않은 송신에 대한 초대 비보안 송신 요소를 더 포함하는 컴퓨터 판독가능 저장 매체. The invitation service application programming interface is a computer program product further comprising: a non-secure transmission invitation element for unsecured sending of the first invitation.
  18. 제15항에 있어서, 16. The method of claim 15,
    상기 초대 송신 요소는 상기 제1 초대를 비동기적으로 보내기 위한 초대 비동기 송신 요소를 포함하고, The transmission invitation element comprises an asynchronous send invitation element for sending the first invitation asynchronously,
    상기 초대 서비스 애플리케이션 프로그래밍 인터페이스는 상기 제1 초대를 동기적으로 보내기 위한 초대 동기 송신 요소를 더 포함하는 컴퓨터 판독가능 저장 매체. The invitation service application programming interface is a computer program product further comprising a synchronous transmission invitation element for sending the first invitation synchronously.
  19. 제15항에 있어서, 16. The method of claim 15,
    상기 초대 서비스 애플리케이션 프로그래밍 인터페이스는 협력 종점에서 초대 청취자의 인스턴스를 생성하는(instantiating) 초대 청취자 생성 요소를 더 포함하는 컴퓨터 판독가능 저장 매체. The invitation service application programming interface (instantiating) inviting computer program product further comprising: a listener generating element that generates an instance of the invitation listener in cooperation end.
  20. 제15항에 있어서, 16. The method of claim 15,
    상기 초대 서비스 애플리케이션 프로그래밍 인터페이스는, The invitation service application programming interface
    상기 협력 초대 서비스로 협력 능력들을 등록하는 능력 등록 요소; Registration Elements The ability to register collaboration capabilities to the collaborative invitation service;
    상기 협력 초대 서비스로 협력 능력들을 등록 취소(deregistering)하는 능력 등록취소 요소; Registration cooperating with the ability to collaborate invited Cancel Service (deregistering) the ability to cancel registration elements; And
    상기 협력 초대 서비스로 등록된 능력들을 열거하는 능력 열거 요소를 더 포함하는 컴퓨터 판독가능 저장 매체. The computer-readable medium further comprising: a capacity element listed enumerating capabilities registered with the collaborative invitation service.
KR1020077022787A 2005-04-25 2005-08-01 Collaborative invitation system and method KR101122801B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/114,634 2005-04-25
US11/114,634 US7752253B2 (en) 2005-04-25 2005-04-25 Collaborative invitation system and method
PCT/US2005/027581 WO2006115527A1 (en) 2005-04-25 2005-08-01 Collaborative invitation system and method

Publications (2)

Publication Number Publication Date
KR20080010390A KR20080010390A (en) 2008-01-30
KR101122801B1 true KR101122801B1 (en) 2012-03-22

Family

ID=37188608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022787A KR101122801B1 (en) 2005-04-25 2005-08-01 Collaborative invitation system and method

Country Status (11)

Country Link
US (1) US7752253B2 (en)
EP (1) EP1875368A4 (en)
JP (1) JP5254005B2 (en)
KR (1) KR101122801B1 (en)
CN (1) CN101167068B (en)
BR (1) BRPI0520057A2 (en)
MX (1) MX2007013353A (en)
MY (1) MY147346A (en)
RU (1) RU2385487C2 (en)
TW (1) TWI387287B (en)
WO (1) WO2006115527A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070054739A1 (en) * 2005-07-08 2007-03-08 Amaitis Lee M System and method for peer-to-peer wireless gaming
US8566109B2 (en) * 2005-11-29 2013-10-22 Alcatel Lucent Common interest community service via presence messaging
US20080014964A1 (en) * 2006-07-12 2008-01-17 Loc-Aid Technologies, Inc. System and method for generating use statistics for location-based applications
US20080139187A1 (en) * 2006-12-12 2008-06-12 Ramachandran Subramanian Session establishment in a group communication system
US8255811B2 (en) * 2006-12-20 2012-08-28 International Business Machines Corporation Providing auto-sorting of collaborative partners or components based on frequency of communication and/or access in a collaboration system user interface
US20080162505A1 (en) * 2006-12-29 2008-07-03 Hill Charles R Context browser based navigation of pivotally related information for a document
US8321794B2 (en) * 2007-06-28 2012-11-27 Microsoft Corporation Rich conference invitations with context
DK2235902T3 (en) * 2008-01-23 2019-02-25 Ericsson Telefon Ab L M communication device
US20090210822A1 (en) * 2008-02-18 2009-08-20 Microsoft Corporation Locating meeting users
US8200819B2 (en) * 2008-03-14 2012-06-12 Industrial Technology Research Institute Method and apparatuses for network society associating
US8219624B2 (en) * 2008-05-08 2012-07-10 International Business Machines Corporation System, method, and apparatus for electronic communication initiation contingent on busyness
US8412930B2 (en) 2008-10-09 2013-04-02 Microsoft Corporation Device authentication within deployable computing environment
CN102362268A (en) 2008-12-05 2012-02-22 社会传播公司 Pervasive realtime framework
US20100281095A1 (en) * 2009-04-21 2010-11-04 Wehner Camille B Mobile grid computing
US20100274852A1 (en) * 2009-04-28 2010-10-28 Nokia Corporation Method and Apparatus for Sharing Context to One or More Users
US20110055135A1 (en) * 2009-08-26 2011-03-03 International Business Machines Corporation Deferred Teleportation or Relocation in Virtual Worlds
US8893000B2 (en) * 2009-08-26 2014-11-18 International Business Machines Corporation Relocation between virtual environments based upon promotional and alert conditions
US9160975B2 (en) * 2009-09-25 2015-10-13 At&T Intellectual Property I, L.P. Providing a dedicated channel accessible to a group of users
CN101699877B (en) 2009-11-05 2012-10-10 中兴通讯股份有限公司 Mobile terminal and method and system for establishing end-to-end internet protocol connection
KR101059658B1 (en) * 2010-07-01 2011-08-25 엔에이치엔(주) Method and system for providing developer interface
WO2012058610A1 (en) * 2010-10-29 2012-05-03 Paul Everton Electronic emergency messaging system
US9256840B2 (en) * 2011-12-01 2016-02-09 Sap Se Establishing business networks using a shared platform
US20150007060A1 (en) * 2012-01-09 2015-01-01 Christine Marie Nielsen System and Method for an Improved Communication and Interactive News Forum
CN103312587A (en) * 2012-03-13 2013-09-18 腾讯科技(深圳)有限公司 Appointment management method, device and terminal
GB2504461B (en) 2012-06-14 2014-12-03 Microsoft Corp Notification of communication events
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
CN104685489A (en) * 2012-08-22 2015-06-03 诺基亚技术有限公司 Method and apparatus for exchanging status updates while collaborating
CN102946418B (en) * 2012-10-26 2015-12-09 北京奇虎科技有限公司 A terminal device A picture providing system and a method for transmitting pictures
US9462429B2 (en) 2013-12-12 2016-10-04 Futurewei Technologies, Inc. Missed call notification by notifying contacts of the called party
US9432796B2 (en) * 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9354860B2 (en) 2014-07-15 2016-05-31 Sap Se Optimizing software change processes using real-time analysis and rule-based hinting
WO2016057005A1 (en) * 2014-10-08 2016-04-14 Вячеслав Васыльовыч Полиновськый Method and system for creating technology transfer
US20160014059A1 (en) * 2015-09-30 2016-01-14 Yogesh Chunilal Rathod Presenting one or more types of interface(s) or media to calling and/or called user while acceptance of call

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140730A1 (en) 2000-12-29 2002-10-03 International Business Machines Corporation Method and system for indentifying and displaying information that is new or has been updated in a place

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242213A (en) * 1992-03-02 1993-09-21 Casio Comput Co Ltd Line graphic drawing device
US7185054B1 (en) * 1993-10-01 2007-02-27 Collaboration Properties, Inc. Participant display and selection in video conference calls
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6658568B1 (en) * 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5854898A (en) * 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US5724508A (en) * 1995-03-09 1998-03-03 Insoft, Inc. Apparatus for collaborative computing
US5706462A (en) * 1996-02-23 1998-01-06 Microsoft Corporation Self optimizing font width cache
US5917480A (en) * 1996-06-04 1999-06-29 Microsoft Corporation Method and system for interacting with the content of a slide presentation
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6163809A (en) * 1997-12-08 2000-12-19 Microsoft Corporation System and method for preserving delivery status notification when moving from a native network to a foreign network
US6078948A (en) * 1998-02-03 2000-06-20 Syracuse University Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
US6216110B1 (en) * 1998-02-27 2001-04-10 Microsoft Corporation System and method for publishing calendar information to a publicly accessible location
US6108687A (en) * 1998-03-02 2000-08-22 Hewlett Packard Company System and method for providing a synchronized display to a plurality of computers over a global computer network
US6155840A (en) * 1998-09-18 2000-12-05 At Home Corporation System and method for distributed learning
US6363352B1 (en) * 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6636888B1 (en) * 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
DE19943453A1 (en) 1999-09-11 2001-03-15 Daimler Chrysler Ag System and method to support the group interaction (GIA) in hypermedia information spaces
US6675205B2 (en) * 1999-10-14 2004-01-06 Arcessa, Inc. Peer-to-peer automated anonymous asynchronous file sharing
US6526411B1 (en) * 1999-11-15 2003-02-25 Sean Ward System and method for creating dynamic playlists
US6636889B1 (en) * 2000-01-04 2003-10-21 International Business Machines Corporation System and method for client replication of collaboration space
US20010035976A1 (en) * 2000-02-15 2001-11-01 Andrew Poon Method and system for online presentations of writings and line drawings
US6745178B1 (en) * 2000-04-28 2004-06-01 International Business Machines Corporation Internet based method for facilitating networking among persons with similar interests and for facilitating collaborative searching for information
US20030158897A1 (en) * 2000-05-09 2003-08-21 Viryanet Ltd. Networked platform for creating and supporting communities
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
GB2365671A (en) * 2000-05-17 2002-02-20 Ibm Teleconferencing system and method
CA2409920C (en) * 2000-06-22 2013-05-14 Microsoft Corporation Distributed computing services platform
US6968179B1 (en) * 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6701344B1 (en) * 2000-07-31 2004-03-02 The Boeing Company Distributed game environment
US6714966B1 (en) * 2000-07-31 2004-03-30 The Boeing Company Information delivery service
JP3946426B2 (en) * 2000-09-28 2007-07-18 株式会社日立製作所 The variable valve device for an internal combustion engine
AU784512B2 (en) * 2000-10-19 2006-04-13 International Business Machines Corporation Method and system for persistent chat sessions
GB2372846A (en) 2000-11-15 2002-09-04 Vhsoft I P Company Ltd Selective distribution of electronic files via a common access platform
US20020073204A1 (en) * 2000-12-07 2002-06-13 Rabindranath Dutta Method and system for exchange of node characteristics for DATA sharing in peer-to-peer DATA networks
US7925703B2 (en) * 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US7020686B2 (en) * 2000-12-29 2006-03-28 International Business Machines Corporation Method and system for providing synchronous communication and person awareness in a place
US7127676B2 (en) * 2000-12-29 2006-10-24 International Business Machines Corporation Method and system for providing a separate browser window with information from the main window in a simpler format
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7176942B2 (en) * 2001-03-23 2007-02-13 Dassault Systemes Collaborative design
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
GB2378268B (en) 2001-06-04 2005-08-03 Gordon Ross A method of providing an interactive multi dimensional visual user interface to groups of users
US6801604B2 (en) * 2001-06-25 2004-10-05 International Business Machines Corporation Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources
US7383433B2 (en) * 2001-07-31 2008-06-03 Sun Microsystems, Inc. Trust spectrum for certificate distribution in distributed peer-to-peer networks
US20030036941A1 (en) * 2001-08-17 2003-02-20 International Business Machines Corporation System and method for scheduling multiple meetings on an electronic calendar
JP4446368B2 (en) * 2001-09-14 2010-04-07 富士通株式会社 Collaboration method, system, program, and recording medium
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US20030217096A1 (en) * 2001-12-14 2003-11-20 Mckelvie Samuel J. Agent based application using data synchronization
JP3967589B2 (en) * 2001-12-28 2007-08-29 富士通株式会社 Advertising distribution method and advertisement distribution device
US20030126027A1 (en) * 2001-12-31 2003-07-03 Kimberly-Clark Worldwide Integrated web ring site and method for presenting information
US20030130014A1 (en) * 2002-01-07 2003-07-10 Rucinski David B Reduced complexity user interface
US20040128350A1 (en) * 2002-03-25 2004-07-01 Lou Topfl Methods and systems for real-time virtual conferencing
US20030217073A1 (en) * 2002-05-14 2003-11-20 Walther Dan E. Increasing the level of automation when scheduling and managing meetings
US20030217142A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
GB2391135B (en) * 2002-06-28 2006-01-11 Nokia Corporation User group creation
US20040111423A1 (en) * 2002-07-13 2004-06-10 John Irving Method and system for secure, community profile generation and access via a communication system
US7275215B2 (en) * 2002-07-29 2007-09-25 Cerulean Studios, Llc System and method for managing contacts in an instant messaging environment
JP4411545B2 (en) * 2002-07-30 2010-02-10 ソニー株式会社 Program, information processing method and apparatus
GB0218711D0 (en) * 2002-08-12 2002-09-18 Mitel Knowledge Corp System and method for facilitating communication using presence and communication services
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
JP2004102459A (en) * 2002-09-06 2004-04-02 Sony Corp System and method for information processing, processor and method for information processing, and program
US8204992B2 (en) * 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks
US20040078436A1 (en) * 2002-10-18 2004-04-22 International Business Machines Corporation Adding meeting information to a meeting notice
US7249123B2 (en) * 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
AU2003291042A1 (en) * 2002-11-18 2004-06-15 America Online, Inc. Enhanced buddy list interface
US20040143603A1 (en) * 2002-11-21 2004-07-22 Roy Kaufmann Method and system for synchronous and asynchronous note timing in a system for enhancing collaboration using computers and networking
US8095409B2 (en) * 2002-12-06 2012-01-10 Insors Integrated Communications Methods and program products for organizing virtual meetings
US20040122901A1 (en) * 2002-12-20 2004-06-24 Nortel Networks Limited Providing computer presence information to an integrated presence system
US7209948B2 (en) * 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
AU2002359846A1 (en) 2002-12-20 2004-07-22 Philippe Bennett Virtual meetings
US20040141005A1 (en) * 2003-01-22 2004-07-22 International Business Machines Corporation System and method for integrating online meeting materials in a place
US7701882B2 (en) * 2003-02-10 2010-04-20 Intercall, Inc. Systems and methods for collaborative communication
JP2004246812A (en) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Network community system, configuration method for network community, and terminal device used for same system
JP4389450B2 (en) * 2003-02-24 2009-12-24 富士ゼロックス株式会社 Work space forming apparatus
US20040184445A1 (en) * 2003-03-18 2004-09-23 Burne Jeffrey K. Computer algorithm and method for facilitating the networking of individuals
US7549924B2 (en) * 2003-05-09 2009-06-23 Microsoft Corporation Instant messaging embedded games
US7454460B2 (en) * 2003-05-16 2008-11-18 Seiko Epson Corporation Method and system for delivering produced content to passive participants of a videoconference
US20040243580A1 (en) * 2003-05-27 2004-12-02 Outi Markki System and method for message handling in a peer-to-peer environment
US7539771B2 (en) * 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7337213B2 (en) * 2003-06-19 2008-02-26 International Business Machines Corporation Method and apparatus for managing messages in a messaging session
US20050009537A1 (en) * 2003-07-11 2005-01-13 Crocker Ronald T. Method and apparatus for facilitating wireless presence-based services
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US8140980B2 (en) * 2003-08-05 2012-03-20 Verizon Business Global Llc Method and system for providing conferencing services
US7512653B2 (en) * 2003-08-11 2009-03-31 Sony Corporation System and method for dynamically grouping messaging buddies in an electronic network
US7546343B2 (en) * 2003-09-23 2009-06-09 Alcatel-Lucent Usa Inc. System and method for supporting virtual conferences
US7200638B2 (en) * 2003-10-14 2007-04-03 International Business Machines Corporation System and method for automatic population of instant messenger lists
US8260857B2 (en) * 2003-10-23 2012-09-04 Microsoft Corporation One to many data projection system and method
US20050102245A1 (en) * 2003-11-07 2005-05-12 International Business Machines Corporation System, method, and service for negotiating schedules while preserving privacy through a shared representation
US20050125496A1 (en) * 2003-12-03 2005-06-09 International Business Machines Corporation Automatically initiating an instant messaging action when a subscriber's availability status changes
US20050198173A1 (en) * 2004-01-02 2005-09-08 Evans Alexander W. System and method for controlling receipt of electronic messages
US7885901B2 (en) * 2004-01-29 2011-02-08 Yahoo! Inc. Method and system for seeding online social network contacts
EP1587239A1 (en) * 2004-04-14 2005-10-19 Siemens Mobile Communications S.p.A. Method of and apparatus for server-side management of buddy lists
US7444379B2 (en) * 2004-06-30 2008-10-28 International Business Machines Corporation Method for automatically setting chat status based on user activity in local environment
US20060075091A1 (en) * 2004-09-30 2006-04-06 Siemens Information And Communication Networks, Inc. System and method for historical presence map
US7464168B1 (en) * 2004-10-19 2008-12-09 Sun Microsystems, Inc. Mechanism for decentralized entity presence
US20060112177A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
US20060190600A1 (en) * 2005-02-18 2006-08-24 Siemens Communications, Inc. Group based presence availability management
US8036140B2 (en) * 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US20060242236A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation System and method for extensible computer assisted collaboration
US20060242235A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Presence monitoring in a serverless peer-to-peer system
US7617281B2 (en) * 2005-04-25 2009-11-10 Microsoft Corporation System and method for collaboration with serverless presence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020140730A1 (en) 2000-12-29 2002-10-03 International Business Machines Corporation Method and system for indentifying and displaying information that is new or has been updated in a place

Also Published As

Publication number Publication date
WO2006115527A1 (en) 2006-11-02
RU2007139520A (en) 2009-04-27
US20060242639A1 (en) 2006-10-26
JP5254005B2 (en) 2013-08-07
KR20080010390A (en) 2008-01-30
JP2008539504A (en) 2008-11-13
CN101167068B (en) 2010-04-21
CN101167068A (en) 2008-04-23
MY147346A (en) 2012-11-30
TW200638717A (en) 2006-11-01
RU2385487C2 (en) 2010-03-27
US7752253B2 (en) 2010-07-06
BRPI0520057A2 (en) 2009-04-14
TWI387287B (en) 2013-02-21
MX2007013353A (en) 2008-01-11
EP1875368A4 (en) 2010-11-24
EP1875368A1 (en) 2008-01-09

Similar Documents

Publication Publication Date Title
JP5337698B2 (en) Distributed Scalable pluggable conferencing architecture
US7277946B2 (en) Distributed session listing and content discovery
US7316027B2 (en) Techniques for dynamically establishing and managing trust relationships
US7904720B2 (en) System and method for providing secure resource management
US8825878B2 (en) Instant messaging device/server protocol
US8073479B2 (en) System, method, and computer program product for service and application configuration in a network device
US7069318B2 (en) Content tracking in transient network communities
US9667713B2 (en) Apparatus and method for managing peer-to-peer connections between different service providers
US20030187973A1 (en) Managing storage resources in decentralized networks
EP1177666B1 (en) A distributed system to intelligently establish sessions between anonymous users over various networks
US20030163697A1 (en) Secured peer-to-peer network data exchange
AU2004279203B2 (en) System and method for a user interface directed to discovering and publishing presence information on a network
US7143139B2 (en) Broadcast tiers in decentralized networks
US20030055898A1 (en) Propagating and updating trust relationships in distributed peer-to-peer networks
US20030188019A1 (en) Providing management functions in decentralized networks
AU2006242410B2 (en) Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors
US20030101247A1 (en) Method and system for configuring a computer for real-time communication
US20040039781A1 (en) Peer-to-peer content sharing method and system
US20040243682A1 (en) System and method for user notification
CN102279948B (en) Merger and duplicate resolution method and system for contact information
US20070033250A1 (en) Real-time conversation thread
US8467319B1 (en) Systems and methods for setting up a session in a collaborative communication system
US20030217140A1 (en) Persisting node reputations in transient communities
JP4657878B2 (en) How to establish communication between the peer group
JP4890566B2 (en) Automatic file distribution

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 8