MX2007013353A - Sistema y metodo de invitacion colaborativa. - Google Patents

Sistema y metodo de invitacion colaborativa.

Info

Publication number
MX2007013353A
MX2007013353A MX2007013353A MX2007013353A MX2007013353A MX 2007013353 A MX2007013353 A MX 2007013353A MX 2007013353 A MX2007013353 A MX 2007013353A MX 2007013353 A MX2007013353 A MX 2007013353A MX 2007013353 A MX2007013353 A MX 2007013353A
Authority
MX
Mexico
Prior art keywords
invitation
service
collaboration
contact
application
Prior art date
Application number
MX2007013353A
Other languages
English (en)
Inventor
Rohit Gupta
Todd R Manion
Ravi T Rao
Sandeep K Singhal
Tomer Weisberg
David G Thaler
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2007013353A publication Critical patent/MX2007013353A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

La arquitectura (300) puede incluir una plataforma de servicios de colaboracion (302). La plataforma de servicios de colaboracion (302) puede incluir un servicio de manejo de contacto (304), un servicio de publicacion (306), un servicio de senalizacion (308), un servicio de actividad (310), un servicio de compartido de datos (312), un servicio de autentificacion (314) y un servicio de conectividad (316). El servicio de manejo de contacto (304) puede incluir un almacenamiento de contacto (318), un almacenamiento de presencia (320) y un servicio de ubicacion de contacto (322). El servicio de publicacion (306) puede incluir un servicio de sincronizacion (324). El servicio de senalizacion (308) puede incluir un servicio de invitacion (326). El servidor de actividad (310) puede incluir un servicio audio/visual (A/V) (328). El servicio de conectividad (316) puede incluir un servicio (330) par a par (P2P) y una pila (332) de protocolo de control de transporte y protocolo Internet convencional (TCP/IP). Cada servicio (304), (306), (308), (310), (312), (314), (316) puede incluir y/o ser incorporado en un par capaz de enviar y recibir mensajes implementando el servicio.

Description

SISTEMA Y MÉTODO DE INVITACIÓN COLABQRATIVA CAMPO DE LA INVENCIÓN Esta invención se refiere en general a ambiente de cómputo en red y, más particularmente, a colaboración facilitada en ambientes de cómputo en red.
ANTECEDENTES DE LA INVENCIÓN Los ambientes de cómputo en red se han convertido en características comunes del lugar del trabajo y aún en casas. Estos ambientes facilitan una variedad de modos de comunicación incluyendo correo electrónico, envío de mensajes instantáneo, servidores de documento de multimedia, grupos de discusión, así como corriente de audio y video, y ambientes sensoriales interactivos de inmersión. Las aplicaciones de software convencjionales han comenzado a tener ventaja de estos modos ricos de comunicación, pero cada uno tiene limitaciones y/o desventajas cuando se consideran a partir del punto de vista de una plataforma de colaboración computarizada integrada y extensible. Algunas aplicaciones de software de computadora convencionales proporcionan aspectos de servicios cooperativos, pero fajlan al proporcionar acceso efectivo a colaboradores. El acceso torpe o difícil de manejar y/o limitado a colaboradores puede presentan barreras a la iniciación de colaboración, evitando el uso de herramientas de colaboración de otra manera funcionales Un aspecto de un acceso no efectivo a colaboradores es una falla de algunas aplicaciones de software convencionales a discernir efectivamente la ubicación física y/o virtual actual Otro aspecto es una falla por algunas aplicaciones de software convencionales a discernir efectivamente compatibilidades con respecto a la funcionalidad colaborativa Más allá de las deficiencias en la funcionalidad de liberaciones particulares de aplicaciones de software convencionales que proporcionan aspectos de servicios cooperativos, algunas aplicaciones de software convencionales fallan al proporcionar una plataforma de colaboración extensible, estructura de trabajo, y/o arquitectura Esto no es una falla menor Una arquitectura efectiva puede durar muchos años e incorporarse en ambientes de cómputo en red con millones de nodos Las fallas de capacidad de extensión, flexibilidad, capacidad de mantenimiento y/o capacidad de escalamiento de una arquitectura establecida pueden ser un problema mucho mas importante que para una sola liberación de producto de software BREVE DESCRIPCIÓN DE LA INVEMCIOI Esta sección presenta una breve descripción, simplificada de algunas de las modalidades de la invención Esta breve descripción no es un resumen extensivo de la invención No pretende identificar elementos clave/críticos de la invención o delinear el alcance de la invención Su único proposito es presentar algunas modalidades de la invención es una forma simplificada como un preludio a la descripción más detallada que se presenta posteriormente En una modalidad de la invención, se pueden seleccionar uno o más contactos con una interfase de usuario de invitación tal como una interfase de usuario gráfica (GUI) Una invitación a participar en una actividad colaborativa puede ser enviada a los contactos seleccionados desde la interfase de usuario de invitación o desde una aplicación colaborativa, por ejemplo, una aplicación colaborativa que facilita la actividad colaborativa Si la invitación es enviada de la interfase de usuario de aplicación o de la aplicación colaborativa, esto puede ser una opción configurable Si la invitación va a ser enviada de la interfase de usuario de invitación, entonces la aplicación colaborativa puede ser lanzada y después la invitación puede ser enviada desde la interfase de usuario de invitación Si la invitació'n va a ase enviada de la aplicación colaborativa, entonces la aplicación colaborativa puede ser lanzada y después la invitación puede ser enviada desde la aplicación colaborativa En una modalidad de la invención, la invitación a participar en la aplicación colaborativa puede ser recibida, por ejemplo, a través de una plataforma de servicios cooperativos A un usuario de la plataforma de servicios cooperativos se le puede presentar la invitación junto con la habilidad para seleccionar uno de aceptar, rechazar e ignorar en respuesta a la invitación El usuario puede seleccionar aceptar, rechazar o explícitamente ignorar la invitación, y se puede enviar una respuesta al emisor de la invitación indicando la elección del usuario En una modalidad de la invención, una internaza de programación de aplicación para un servicio de invitación cooperativo incluye un elemento de invitación, un elemento de enviar invitación, una respuesta al elemento de invitación y un elemento de cancelar invitación El elemento de invitación puede proporcionar acceso a datos de invitación que corresponden a una invitación a participar en una actividad colaborativa El elemento de enviar invitación puede ser usado para enviar invitaciones cooperativas a uno o nías contactos La respuesta al elemento de invitación se puede utilizar para responder a invitaciones cooperativas, y el elemento de cancelar invitación puede ser usado para cancelar invitaciones emitidas BREVE DESCRIPCIÓN DE LOS DIBUJOS Aunque las reivindicaciones anexas establecen las características de la invención con particularidad, la invención y sus ventajas se entenderán mejor a partir de la siguiente descripción detallada tomada junto con los dibujos anexos, en los cuales La Figura 1 es un diagrama esquemático que generalmente ilustra un sistema de cómputo ilustrativo que se puede utilizar para implemen'tar una modalidad de la invención, La Figura 2 es un diagrama esquemático que ilustra un ambiente1 de cómputo en red ilustrativo adecuado para incorporar una modalidad de la invención, La Figura 3 es un diagrama de bloque que muestra una arquitectura de software de computadora ilustrativa para una plataforma de servicios cooperativos de acuerdo con una modalidad de la invención, La Figura 4 es un diagrama de modelación de objeto que presenta: un modelo de objeto de colaboración ilustrativo de acuerdo con una .modalidad de la invención, LaiFigura 5 es un diagrama de interfase de objeto que muestra un objeto de contacto ilustrativo de acuerdo con una modalidad de la invención, La Figura 6 es un diagrama de interfase de objeto que muestra un objeto de presencia ilustrativo de acuerdo con una modalidad de la invenfción, La Figura 7 es un diagrama de interfase de objeto que muestra un objeto publicado ilustrativo de acuerdo con una modalidad de la invención, La Figura 8 es un diagrama de interfase de objeto que muestra un objeto de capacidad ilustrativo de acuerdo con una modalidad de la invención, La Figura 9 es un diagrama de interfase de objeto que muestra un objeto de MiContacto ilustrativo de acuerdo con una modalidad de la invención, La Figura 10 es un diagrama de interfase de objeto que muestra ,un objeto de conferencia ilustrativo de acuerdo con una modalidad de la invención, La Figura 11 es un diagrama de flujo que muestra pasos ilustrativos realizados por la plataforma de servicios cooperativos de acuerdo con una modalidad de la invención, La Figura 12 es un diagrama de flujo que muestra otros pasos ilustrativos realizados por la plataforma de servicios cooperativos de acuerdo con una modalidad de la invención, La Figura 13 es un diagrama esquemático que muestra un escenario de invitación ilustrativo de acuerdo con una modalidad de la invención, La Figura 14 es un diagrama esquemático que muestra una interfase de programación de aplicación de servicio de invitación ilustrativa de acuerdo con una modalidad de la invención, La Figura 15 es un diagrama de flujo que muestra pasos ilustrativos para enviar una invitación de acuerdo con una modalidad de la invención, la Figura 16 es un diagrama de flujo que muestra pasos ilustrativos realizados por el servicio de invitación para enviar una invitación de acuerdo con una modalidad de la invención, La Figura 17 es un diagrama de flujo que muestra pasos ilustrativos para responder a una invitación de una interfase de usuario de invitación genérica de acuerdo con una modalidad de la invención, la Figura 18 es un diagrama de flujo que muestra pasos ilustrativos para responder a una invitación de una interfaz de usuario específica de acuerdo con una modalidad de la invención, La Figura 19 es un diagrama de flujo que muestra pasos ilustrativos para participar en publicidad de presencia sin servidor de acuerdo con una modalidad de la invención, La Figura 20 es un diagrama de flujo que muestra pasos ilustrativos para colocar suscripciones de presencia colaborativa de acuerdo con una modalidad de la invención, y La Figura 21 es un diagrama de flujo que muestra pasos ilustrativas para aceptar suscripciones de presencia colaborativa de acuerdo con una modalidad de la invención íESCRIPCION DETALLADA DE LA INVENCIÓN Antes de continuar con una descripción de las varias modalidades de la invención, se proporciona ahora una descripción de una computadora donde las varias modalidades de la invención pueden ser practicadas Aunque no se requiere, la invención será descrita en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, que son ejecutados por una computadora En general, los programas incluyen rutinas, objetos, componentes, estructuras de datos y similares que realizan tareas particulares o implementan tipos de datos abstractos particulares. El término "programa" como se utiliza aquí, puede connotar un solo módulo de programa o múltiples módulos de programa! que actúan en concierto. Los términos "computadora" y "dispositivo de computo" como se utiliza aquí, incluyen cualquier dispositivo que ejecuta electrónicamente uno o más programas, tales como computadoras personales (PCs), dispositivos portátiles, sistemas; de procesador múltiple, electrónica de procesador programable a base de microprocesador, PCs en red, PCs de tableta, computadoras laptop, aparatos de consumidor que tienen un microprocesador o microcontrolador, enrutadores, compuertas, concentradores, y similares. La invención también puede ser empleada en ambientes de cómputo distribuidos, en donde se realizan tareas por dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los programas pueden ser localizados en dispositivos de almacenamiento de memoria tanto local como remota.
Haciendo referencia a la Figura 1, un ejemplo de una configuración básica de la computadora 102 en donde los aspectos de la invención descrita aquí pueden ser implementados. En su configurjación más básica, la computadora 102 típicamente incluye por lo menos una unidad de procesamiento 104 y memoria 106. La unidad ;de procesamiento 104 ejecuta instrucciones para realizar tareas de acuerdo con las varias modalidades de la invención. Para realizar tales tareas, la unidad de procesamiento 104 puede transmitir señales electrónicas a otras partes de la computadora 102 y a dispositivos fuera de la computadora 102 para ocasionar cierto resultado, Dependiendo de la exacta configuración y tipo de la computadora 102, la memoria 106 puede ser volátil (tal como RAM), no volátil (tal como ROM o memoria instantánea) o alguna combinación de las dos Esta configuración más básica se ilustra en la Figura 1 por la línea punteada 108 La ' computadora 102 también puede tener características adicionalies/funcionahdad Por ejemplo, la computadora 102 también puede incluir almacenamiento adicional (removible 110 y/o no removible 112) incluyendo, pero no limitándose a, discos magnéticos u ópticos o cintas Los medios de almacenamiento de computadora incluyen medios volátiles y no volátiles, removibles y no removióles implementados en cualquier método o tecnología para el almacenamiento de información, incluyendo instrucciones ejecutables por computadora, estructura de datos, módulos de programa u otros datos Los medios de almacenamiento de computadora incluyen, pero no se l.imitan a RAM, ROM, EEPROM, memoria flash, CD-ROM, discos versátiles digitales (DVD), u otro almacenamiento óptico, casetes, magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnéticos, o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y que pueda ser accesado por la computadora 102 Cualquiera de los medios de almacenamiento de computadora puede ser parte de la computadora 102 La computadora 102 de preferencia también contiene conexion s de comunicaciones 114 que permiten al dispositivo comunicarse con otros dispositivos, tal como una computadora(s) remota 1'16 Una conexión de comunicación es un ejemplo de un medio de comunicación Los medios de comunicación típicamente modahzan instrucciones visibles por computadora, estructuras de datos, m¡ódulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquiera de los medios de suministro de información A manera de ejemplo, y no de limitación, el término "medios de comunicación" incluye medios inalámbricos tales como medios acústicos, RF, infrarrojos y otos medios inalámbricos El término "medio legible por computadora" como se utiliza aquí, incluye tanto medios de almacenamiento de computadora como medios de comunicación La computadora 102 puede tener dispositivos de entrada 118, tales como un teclado/teclado numérico, ratón, pluma, dispositivos de entrada de voz, dispositivos de entrada táctil, etc Los dispositivos de salida 120, tales como una presentación, bocinas, impresora, etc , también pueden ser incluidos Todos estos dispositivos son bien conocidos en la técnica y no necesitan ser descritos aquí En la descripción que sigue, la invención será descrita con referencia a actos y representaciones simbólicas de operaciones que se realizan por uno o más dispositivos de cómputo, a menos que se indique otra cosa Como tal, se entenderá que tales actos y operaciones, los cuales a veces serán denominados como siendo ejecutados por computadora, incluyen la manipulación mediante la unidad y procesamiento de la computadora de señales eléctricas que representan datos en una forma estructurada Esta manipulación transforma los datos o los mantiene en ubicaciones en el sistema de memoria de la computadora, que vuelve a configurar o de otra manera a alterar la operación de la computadora en una forma bien entendida por aquellos expertos en la técnica Las estructuras de datos en donde los datos son mantenidos, son ubicaciones físicas de la memoria que tienen propiedades particulares definidas por el formato de los datos Sin embargo, aunque la invención se describe como se describe en el contexto anterior, no pretende limitarse a lo que aquellos expertos en la técnica apreciarán que varios de los actos y operaciones descritas más adelante también pueden ser implementados en hardware En una modalidad de la invención, una arquitectura de software de computadora proporciona una plataforma de colaboración que se puede mantener y que se puede escalar, extensible y flexible Se pueden incorporar aspectos de la arquitectura en un ambiente de cómputo en red adecuado La arquitectura puede habilitar y/o extender la colaboración integrada con aplicaciones de software de computadora convencionales En particular la arquitectura puede proporcionar un manejo de contacto cooperativo comprensivo, incluyendo la presencia de contacto real en un ambiente de cómputo en red y capacidades de contacto reales, por ejemplo, con respecto a actividades cooperativas disponibles. La Figura 2 muestra un ambiente de computo en red ilustrativo 200 ade clu ad para incorporar una modalidad de la invención. En el ambiente de cómputo en red, una red 202 comunicativamente conecta computadoras 204, 206 y 208 a un concentrador en red 210. La red 202 puede ser una red de área local (LAN), una red de área metropolitana (MAN), una red de área ancha (WAN) y una red de área personal (PAN) o una combinación de las mismas. La red 202 puede incorporar cualquier componente en red adecuado tales como concentradores, compuertas, enrutadores, puentes, puertos, y similares, así como cualquier medio legible por computadora adecuado. Por ejemplo, las computadoras 204, 206, 208 y el concentrador en red 210 cada uno puede ser casos o instancias de la computadora 102 (Figura 1). El concentrador en red 210 comunicativamente puede conectar las computadoras 212, 214 y 216. El concentrador en red 216 y las computadoras 212, 214 y 216 en conjunto pueden ser considerados como uri ejemplo de una subred 218, aunque, por supuesto, no un ejemplo limitante. Las computadoras 212, 214 y 216 se dicen que tienen lá misma sub-red, y pueden disfrutar de la comunicación de red privilegiada con respecto una a la otra como resultado. Por ejemplo¡ aunque cada computadora 204, 206, 208, 212, 214 y 216 puede enviar mensajes de tipo de punto a punto entre sí, las computadoras 204, 206, 208, 212, 214 y 216, la sub-red 218 puede ser configurada de manera que se reciben mensajes de tipo de difusión én la sub-red 218 por aquellas computadoras 212, 214 y 216 en la sub'-red 218. Los, atributos extensibles, flexibles, capaces de mantenimiento y/o capaces de escalamiento de la plataforma de colaboración pueden s'urgir de uno o más aspectos de su estructura modular, su estructura modular como un todo, modo de interacción entre uno de los móduilos y/o los patrones de interacción de la estructura modular como un todo. La Figura 3 ilustra una arquitectura de software de computadora 300 ilustrativa de acuerdo con una modalidad de la invención. Cada aspecto de la arquitectura 300 puede estar presente en cada computadora 204, 206, 208, 212, 214 y 216 (Figura 2), sin embargo, cada modalidad de la invención no está asi limitada. Los aspectos de la arquitectura 300 pueden ser convenientemente distribuidos a través de cualquier sub-red adecuada del ambiente de cómputo, en red 200, incluyendo el ambiente de cómputo en red 200 como un todo. Se pueden presentar diferentes versiones de la arquitectura 300 en diferentes computadoras, y el grado al cual cada versión de la arquitectura 300 es compatible con otra versión de la arquitectura 300, puede variar. La arquitectura 300 puede incluir una plataforma de servicios de colaboración 302. La plataforma de servicios de colaboración 302 puede incluir un servicio de manejo de contacto 304, un servicio de publicación 306, un servicio de señalización 308, un servicio de activida¡d 310, un servicio de compartido de datos 312, un servicio de autentificación 314, y un servicio de conectividad 316. El servicio de manejo de contacto 304 puede incluir un almacenamiento de contacto 318, un aümacenamiento de presencia 320, y un servicio de ubicación de contacto 322 El servicio de publicación 306 puede incluir un servicio de sincronización 324 El servicio de señalización 308 puede incluir un servicio de invitación 326 El servicio de actividad 310 puede incluir un servicio audio/visual (A/V) 328 El servicio de conectividad 316 puede incluir un servicio de par a par (P2P) 330, y un protocolo de control de transporte convencional y pila de protocolo Internet TCP/IP) 332 Cada servicio 304, 306, 308, 310, 312, 314, 316 puede incluir y/o ser incorporado en un par capaz de enviar y recibir mensajes implementando el servicio En una modalidad de la invención, el servicio de manejo de contacto 304 proporciona un manejo efectivo a colaboradores, es decir, a usuarios de la plataforma de servicios cooperativos 302 Por ejemplo, el servicio de manejo de contacto 304 puede proporcionar información de contacto para algunos o todos los usuarios de la plataforma de servicios cooperativos 302 El servicio de manejo de contacto 304 puede mantener una base de datos de contactos en uno o más almacenamiento de datos Cada contacto puede ser un colaborador potencial, es decir, un usuario de la plataforma de servicio de colaboración puede intentar acoplar una o más actividades de colaboración con cada contacto El servicio de manejo de contacto 304 puede proporcionar una o más interfases de usuario, incluyendo interfases de usuario gráficas (GUI) que presentan los contactos, por ejemplo, para selección por el usuario y/o de manera que el usuario pueda invocar una plataforma de servicios de colaboración 302 como una acción con respecto a un contacto particular El almacenamiento de contacto 318 puede almacenar objetos de contacto y objeto de "MiContacto" (descrito con mayor detalle más adelante con referencia a la Figura 4) El almacenamiento de presencia 320 puede almacenar objetos de presencia (también descritos más adelante con referencia a la Figura 4) para los objetos de contacto En una modalidad de la invención, los datos de presencia cambian más frecuentemente que los datos de contacto, de manera que los almacenamientos de datos separados, 318, 320 pueden ser optimizados para diferentes frecuencias de optimización de objeto El servicio de ubicación de contacto 322 puede proporcionar una o más de una variedad de datos con respecto a un contacto dado La proximidad física puede ser un aspecto de la ubicación de contacto, por ejemplo, se pueden utilizar uno o más servidores alternos' para la ubicación física, para estimar una distancia física de un contacto a partir del usuario La resistencia de señal en un receptor de radio es un ejemplo de un servidor alterno de distancia física La ubicación virtual puede ser otro aspecto de ubicación de contacto Por ejemplo, un contacto puede estar activo en una o más redes, tal como la red 202 de la Figura 2, y/o uno o más nodos de red, tales como las computadoras 204, 206, 208, 212, 214 y 216 Además, un contacto puede ser registrado pero estar inactivo, o en línea pero no descubierto, o tener algún estado de locahzación adecuado El servicio de ubicación de contacto 322 puede solicitar un registro adecuado y/o inicial, por ejemplo, una búsqueda de par o un mecanismo de disolución de nombre de par a par, con el fin de localizar un contacto particular El servicio de publicación 306 puede proporcionar acceso a datos publicados por contacto En una modalidad de la invención, los usuarios interesados pueden suscribirse a objetos publicados por contactos y recibir notificación cada vez que los objetos publicados sean actualizados por el contacto de publicación El servicio de sincronización 324 puede ser responsable de mantener una base de datos de> suscripciones de publicación En particular, los servicios de publicación 206 pueden proporcionar acceso a información de presencia publicada por contactos El servicto de señalización 308 puede proporcionar el establecimiento y terminación de conferencias operativas entre contactos presentes en el ambiente de cómputo en red 200 (Figura 2), así como para actualizar parámetros de una conferencia en progreso En una modalidad de la invención, el establecimiento, actualización y terminación de conferencias cooperativas se proporcionan de acuerdo con semántica de publicación/suscripción En una modalidad de la invención, el servicio de señalización 308 incorpora una implementación de un protocolo de iniciación de sesión (SIP) tal como el protocolo de iniciación de sesión descrito por Handley et al , "SIP Session Initiation Protocol", Internet Engineepng Task Forcé (IETF) Request for Comments (RFC) 2543, March 1999 El servicio de invitación 326 puede habilitar invitaciones y mensajes relacionados que serán enviados a y desde los contactos Por ejemplo, un usuario de sistema que tiene acceso al ambiente de computo en red 200 (Figura 2) en una computadora 212 puede invitar a un contacto en alguna otra computadora(s) 204, 206, 208, 212, 214 y/o 216 para participar en una actividad colaborativa El servicio de invitación 326 puede utilizar el servicio de ubicación de contacto 322 para localizar el contacto y proporcionar la invitación El servicio de invitación 326 puede incluir una variedad de interfases de usuario, tales como interfases de usuario gráficas (GUI) para presentar detalles de invitación a un invitado y habilitar al invitado a aceptar, rechazar y/o explícitamente ignorar la invitación Un servicio de invitación 326 ilustrativo se describe más adelante con mayor detalle haciendo referencia a la Figura 13 El servicio de actividad 310 puede implementar actividades cooperativas y/o proporcionar soporte para la integración de aplicaciones cooperativas en la plataforma de servicios de colaboración 302 Por ejemplo, el servicio de actividad 310 puede proporcionar una plataforma de servicios de colaboración 302 de acuerdo con interfases de programación de aplicación (APIs) para aplicaciones de colaboración convencionales Las API condescendientes incluyen funcionalidad para consultar un contacto particular o computadora 204, 206, 208, 212, 214, 216 (Figura 2) con respecto a capacidades de actividad, y para determinar requerimientos de invitación de aplicación específica Los servicios de audio/visuales 328 son un ejemplo de actividades de colaboración que son adecuadas para incorporarse al servicio de actividad 310 El servicio compartido de datos 312 puede permitir la compartición de datos en cualquier formato adecuado incluyendo archivos, documentos, corrientes y objetos El servicio de compartido de datos 312 puede proporcionar transferencia de datos, reaplicación de datos, y/o sincronización de datos El compartido de datos puede ser habilitado y deshabihtado con base en el contacto, participación en una actividad, participación en una conferencia, y/o cualquier entrada de lista de control de acceso adecuada (ACL) tal como el ambiente de computo en red 200 (Figura 2) del grupo de usuario El servicio de autentificación 314 puede causar y verificar credenciales de autentificación, por ejemplo, credenciales de autentificación para contactos y otros participantes de actividad y de conferencia El servicio de autentificacion 314 puede habilitar la clasificación de contactos en contactos confiables y contactos no confiables El servicio de autentificación 314 puede habilitar a los contactos para que sean confiables independiente de la ubicación de contacto y/o de acuerdo con la presencia del ambiente de computo en red sofisticado 200 (Figura 2) En una modalidad de la invención, el servicio de conectividad 316 habilitada la comunicación entre casos de servicios de la plataforma de servicios de colaboración 302 a través del ambiente de computo en red 200 (Figura 2), por ejemplo, entre un primer caso de servicio de señalización 308 en la computadora 212 y un segundo caso del servicio de señalización 308 en la computadora 208. Las instalaciones de comunicación del servicio de conectividad 316 pueden hacerse disponibles con una interfase de programación de aplicación (API) de manera que otros servicios 304, 306, 308, 310, 312, 31 de la plataforma de servicio de colaboración 302, pueden comunicarse entre casos independientes de mecanismo de transporte subyacente. El servicio de conectividad 316 puede incluir una pila de TCP/IP 332 y/o interfases de programación de aplicación de comunicación de nivel más alto tales como las adaptaciones de Microsoft® Windows® Sockets 2 (Winsock) API como se describe en Windows'<® Sockets 2 de la Microsoft® Windows® Platform Software Deveopr?ent Kit (SDK) en el Microsoft Developer Network (MSDN®) Library fechado en marzo 2005. El servicio de par a par (P2P) 330 puede proporcionar conectividad en una red subyacente del ambiente de computo de red 200. Por ejemplo, el servicio de par a par 330 puede ser provisto de acuerdo con la interfase de programación de aplicación de par a par descrita en Windows® Peer-to Peer Networking Microsoft® Windows® Platform Software Development Kit (SDK) em el Microsoft Developer Network (MSDN®) Library fechada en marzo 2005, incluyendo las ¡nterfases de programación de aplicación de proveedor de nombre de espacio de protocolo de resolución de nombre par (PNRP) de gráfica, de agrupación, administrador de identidad.
Los servicios 304, 306, 308, 310, 312, 314 y 316 de la plataforma de servicios de colaboración 302 pueden ser implementados por un grupo de objetos programáticos, incluyendo un grupo de objetos de colaboración interrelacionados en un modelo de objeto de correlación. La Figura 4 ilustra un grupo de objetos de colaboración ilustrativos y un modelo de objeto de colaboración ilustrativo 400 de acuerdo con una modalidad de la invención. El modelo de objeto de colaboración 400 puede incluir un objeto de contacto 402, un objeto de presencia 404, un objeto de MiContacto 406 y un objeto de MiPresencia 408, un objeto de punto final 410, un objeto de capacidad 412, un objeto de conferencia 414, un objeto de actividad 416, y un objeto publicado 418. Claro que, la plataforma de servicios de colaboración 302 puede incluir muchos casos de cada tipo de objetos de colaboración 402, 404, 406, 408, 410, 412, 414, 416 y 418. El objeto de contacto 402 puede incorporar atributos adecuados í para representar un participante cooperativo y/o un usuario de la ' plataforma de servicios de colaboración 302 (Figura 3). En particular, : el objetó de contacto 402 puede hacer referencia a una presencia I colaboraitiva, por ejemplo, una presencia de un contacto en el ¡ ambiente de cómputo en red 200 (Figura 2). En una modalidad de la i invención, el objeto de contacto 402 hace referencia a una presencia i colaborativa haciendo referencia a un caso del objeto de presencia ¡ 404. Un, objeto de contacto ilustrativo 402 se describe con mayor detalle más adelante con referencia a la Figura 5. j El objeto de presencia 404 puede incorporar atributos adecuadojs para representar una presencia colaborativa, por ejemplo, un grupolde computadoras 204, 206, 208, 212, 214, y/o 216 (Figura 2) del ambiente de computo en red 200 en donde un usuario de la plataforma de servicios de colaboración 302 particular ha sido activado 'en algún momento en el pasado reciente, en donde el pasado "reciente" puede variar de segundos a horas, días y aún años dependiendo del contexto cooperativo. El objeto de presencia 404 puede hacer referencia a uno o más casos de objeto de punto final 410 representando ubicaciones del ambiente de cómputo en red 200. Los objetos de punto final 410 no necesitan corresponder uno a uno con las computadoras 204, 206, 208, 212, 214, 216 del ambiente de compute en red 200, por ejemplo, ya que un objeto de ambiente de punto final 410 puede corresponder a un par en una red traslapante del ambiente de computo en red 200. El ¡objeto de presencia 404 además puede hacer referencia a cero o más casos de objeto de capacidad 412 representado, por ejemplo, capacidades cooperativas en uno o más puntos finales cooperativos y/o una capacidad colaborativa agregada a través de algunos1 o todos los puntos finales de asociados con el objeto de presencia 404. Además, el objeto de presencia 404 puede hacer referencia a cero más casos de objetos publicados 418. Un objeto de presencia 404 ilustrativos se describe con mayor detalle más adelante con referencia a la Figura 6. Un objeto publicado 418 ilustrativo se describe con mayor detalle más adelante haciendo referencia a la Figura 7 Un objeto de capacidad 412 ilustrativo se describe con mayor detalle más adelante haciendo eferencia a la Figura 8 El objeto MiContacto 406 puede ser el tipo de contacto 402, y puede pohmórficamente heredar los atributos y comportamiento del objeto de contacto 402 El objeto MiContacto 406 puede ser diferenciado del objeto de contacto 402 debido al papel especial que puede jugar la información de contacto de usuario de plataforma de servicios en colaboración con relación a la información de contacto de otros usuarios Por ejemplo, el objeto MiContacto 406 puede hacer referencia a cero o más casos de contacto 402 representando qué contactos operativos son conocidos para el usuario particular El objeto MiContacto 406 no necesita hacer referencia, a otros casos del objeto de MiContacto 406 En una modalidad de la invención, de esta manera se evita la complejidad innecesaria que contribuye a la capacidad de extensión, flexibilidad, capacidad de mantenimiento y/o capacidad de escalamiento de la plataforma de servicios de colaboración 302 (Figura 3) El objeto MiContacto 406 además puede hacer referencia a un objeto de MiPresencia 408 El objeto de MiPresencia 408 puede ser un tipo de objeto de presencia 404, y puede heredar pohmórficamente los atributos y comportamientos del objeto de presencia 404 Otra vez, el objeto de MiPresencia 408 puede ser diferenciado del objeto de presencia 404, debido al papel especial que juega una presencia del usuario de plataforma de servicios de colaboración con relación a la presencia de otros usuarios Por ejemplo, en una modalidad de la invención, el usuario explícitamente puede actualizar su propio objeto de MiPresencia 408, pero no los casos de 'objetos de presencia 404 de los otros usuarios Además, el objeto de MiContacto 406 puede hacer referencia a cero o más casos de objeto de conferencia 414 representando conferencia cooperativas en donde el usuario asociado con el objeto MiContacto 406 está actual y/o recientemente participando, junto con otros usuarios de plataforma de servicios de colaboración El objeto de confeirencia 414 puede hacer referencia a uno o más casos de objeto de actividad 416 representando actividades cooperativas En una modalidad de la invención, el objeto de conferencia 414 es un tipo de objeto de actividad 416, y puede heredar po mórficamente los atributos y comportamiento del objeto de actividad 416 Como un resultadp de ser un tipo de objeto de actividad 416, en casos de objeto de actividad 416 referenciados por el objeto de conferencia 414 pueden ser casos de objeto de conferencia 414 Un objeto de MiContabto 406 ilustrativo se describe con mayor detalle haciendo referencia a la Figura 9 Un objeto de conferencia 414 ilustrativo se describe con detalle más adelante haciendo referencia a la Figura 10 Ca^da objeto cooperativo 402, 404, 406, 408, 410, 412, 414, 416 y 418 puede ofrecer una interfase de aplicación de programación para crear y eliminar casos de objeto cooperativo 402, 404, 406, 408, 410, 412, 414, 416 y 418, así como para consultas y manipulaciones adecuadas de atributos de objeto cooperativo 402, 404, 406, 408, 410, 412, 414, 416 y 418. En una modalidad de la invención, cuando se describen objetos cooperativos 402, 404, 406, 408, 410, 412, 414, 416 y 418 haciendo referencia a otros objetos cooperativos 402, 404, 406, 408, 410, 412, 414, 416 y 418, los objetos referenciados, o sus copias, más bien pueden ser incorporados en y/o hacerse integrales al objetó de referencia. Un objeto programático puede hacer referencia a otro con cualquier mecanismo de referencia programático adecuado. Los mecanismos de referencia programáticos adecuados incluyen señaladores, referencias explícitas, códigos de generación asociados y sus equivalentes, así como características de lenguaje de programa diseñados específicamente para un propósito. Los objetos programáticos 402, 404, 406, 408, 410, 412, 414, 416 y 418 introducidos anteriormente con referencia a la Figura 4, se describirán ahora con mayor detalle. Cada objeto programático 402, 404, 406, 408, 410. 412, 414, 416 y 418 pueden incluir uno o más elementos de ¡nterfase de programación de aplicación. Cada elemento de interfase de programación de aplicación puede incluir una o miás especificaciones de interfase que especifican la manera en la cual la computadora 102 (Figura 1), componentes de sistema, incluyendo servicios de plataforma de servicios de colaboración 302 (Figura 3) pueden configurar, controlar y/o interactuar con el objeto programático 402, 404, 406, 408, 410, 412, 414, 416 y 418. Como será evidente para un experto en la técnica, las especificaciones de interfase ' puede incluir especificaciones de atributo de objeto, especificaciones variables, especificaciones de llamada de función, especificaciones de objeto de programa, especificaciones de mensaje tales como pares de solicitud/respuesta de mensaje, y/o cualquier otra especificación de interfase de programación adecuada. La Figura 5 ilustra un objeto de contacto 500 ilustrativo de acuerdo con una modalidad de la invención. El objeto de contacto 500 es 'adecuado para incorporase en el modelo de objeto de colaboración 400 (Figura 4). El objeto de contacto 500 puede incorporar elementos de interfase de programación de aplicación incluyendo un elemento de nombre 502, un elemento de presencia 504, un elemento de señalización en parejas 506, y un elemento de cercanía; 508. El elemento de nombre 502 puede incluir un nombre amistoso para un (contacto asociado con el objeto de contacto 500. El nombre amistoso puede ser codificado por ejemplo, como una cadena rica en texto. El elemento de presencia 504 puede incluir una referencia a un caso'de objeto de presencia 404 (Figura 4). El: elemento de finalización en parejas 506 puede incluir un indicador de que el contacto asociado con el objeto de contacto 500 esta cátegorizado como un contacto de clase "en parejas". Los contactos categorizados como en parejas pueden ser privilegiados en una variedad de formas. Por ejemplo, una pareja puede ser un contacto confiable, a las parejas se les puede dar prioridad, por ejemplo prioridad de invitación, y las parejas pueden ser automáticamente incluidas en el grupo de contactos a los cuales se suscribe un usuario de plataforma de servicios de colaboración, por ejemplo, para datos de presencia Los contactos clase de parejas pueden ser computacionalmente más costosos que los contactos ordinarios, y su número puede ser limitado, por ejemplo, con una prueba indebida en el elemento de interfase de programación de aplicación de señalización en parejas 506 El elemento de cercanía 508 puede incluir una métrica de cercanía física y/o una métrica de cercanía virtual Por ejemplo, la métrica de cercanía física puede ser una medida de resistencia de señal recibida en una interfase de red inalámbrica Claro que, el elemento de interfase de programación de cercanía 508 no necesita ser limitado a una métrica individual en respuesta a una solicitud de cercanía Por ejemplo, la solicitud de cercanía puede solicitar una métrica de cercanía de partida, una métrica de cercanía de tiempo promediado, una métrica de cercanía cuantificada ("barras de resistencia de señal"), y/o cualquiera métrica de cercanía adecuada La' Figura 6 ilustra un objeto de presencia 600 ilustrativo de acuerdo con una modalidad de la invención El objeto de presencia 600 es adecuado para incorporarse en el modelo de colaboración 400 (Figura 4) El objeto de presencia 600 puede incorporar elementos de interfasé de programación de aplicación, incluyendo un elemento de restricción rico en texto 602, un elemento de puntos finales 604, un elemento de estado de agregación 606, un elemento de capacidades de agregación 608 un elemento de objetos publicados 610, una invitación a un nuevo elemento de actividad 612, una invitación a un elemento de actividad existente 614, un encuentro de capacidades por el elemento de tipo 616, un encuentro de objetos publicados por el elemento de tipo de 618, y un elemento de objeto de publicación 620. El elemento de descripción rico en texto 602 puede incluir una cadena rica en texto que describe la presencia del ambiente de cómputo ¡en red 200 (Figura 2), asociada con el objeto de presencia 600. Ejemplos simples incluyen "Actualmente en el Edificio 9", "Reproducir Halo®, Nivel 4", y "No disponible". El elemento de puntos finales 604 puede incluir un grupo de puntos finales cooperativos que son activos, recientemente activos y/o capaces de ser participantes activos en una o más actividades cooperativas. Ejemplos de puntos finales cooperativos incluyen las computadoras 204, 206, 208, 212, 214 y 216, y pares de una red traslapante del ambienté de cómputo en red 200. El elemento de estado de agregación 606 puede incluir un indicador de estado de presencia de agregación representativo de la presencia colaborativa a través del grupo de puntos finales cooperativos. Cada punto final cooperativo puede tener un estado de presencia asociado, por ejemplo, EN LINEA, FUERA, SALÍ A COMER, REGRESO EN UN MOMENTO, INACTIVO, AL TELEFONO, u OCUPADO. El estado de presencia de agregación asociado con un grupo e puntos finales no necesita ser igual como el estado asociadlo con cualquiera de los puntos finales en el grupo. Aún cuando el' estado de presencia de agregación es igual como al menos uno de los puntos finales en el grupo, este puede ser diferente de uno o más de los otros El estado de presencia de agregación puede ser determinado con una o más de una variedad de algoritmos del estado de presencia de agregación Los niveles de estado de presencia pueden ser clasificados, y el estado de agregación puede ser fijado al estado de clasificación más alta en un grupo de puntos finales El estado de agregación puede ser un promedio pesado de valores de estado individuales, u otra transformación lineal o no lineal adecuada de valores de estado individuales Los valores de estado individuales también pueden ser convenientemente clasificados antes de ser transformados El algoritmo de estado de presencia de agregado puede depender del número de puntos finales individuales en el grupo El elemento de capacidades de agregación 608 puede incluir una colección de capacidades de agregación asociadas con una presencia colaborativa Cada punto final individual en la presencia colaborativa puede tener asociado con el mismo un grupo de capacidades, por ejemplo capacidades con respecto a actividades cooperativas Las capacidades de agregación pueden ser un agregado simple de cada una de las capacidades de cada uno de los puntos finales individuales Por otro lado, la colección de capacidades de agregación puede ser limitada a aquellas capacidades que están presentes en cada uno de los puntos finales individualies. Son posibles combinaciones de estos extremos, como lo son algoritmos de determinación de capacidades de agregación más sofisticados. Por ejemplo, la colección de capacidades de agregación puede ser el resultado de un proceso de promedio pesado, u otra transformación lineal o no lineal adecuada de las capacidades de puntos finales individuales. Además, una clasificación o porcentaje de capacidad de agregación puede asociarse con cada capacidad en la colección de capacidades de agregación. El ¡elemento de objetos publicados 610 puede incluir una conexión; de objetos publicados asociados con la presencia colaborativa. Aunque el objeto de capacidad 412 (Figura 4) puede ser un tipo de objeto publicado 418, los dos se diferencian en que las capacidades asociadas con casos en el objeto de capacidad 412 típicamente tienen una vida más larga (por ejemplo, en el orden de días, semanas o aún años), mientras que los datos publicados asociados con casos del objeto publicado base 418 típicamente tienen vidas cortas (por ejemplo, del orden de segundos, minutos u horas). 'Esta diferenciación puede ser explotada para optimizar el funcionamiento del sistema de computadora. La¡ invitación a un nuevo elemento de actividad 612 puede habilitar al usuario de la plataforma de servicios de colaboración 302 (Figura 3) a invitar a un contacto asociado con el objeto de presencia 600 para participar en una nueva actividad colaborativa. Esta puede ser que una conferencia asociada para alojar la actividad no exista aún, o .que será creada sin la invitación necesitada. La invitación puede ser suministrada a cada punto final referenciado por el elemento de puntos finales 604, solamente para aquellos puntos finales asociados con un estado de presencia EN LINEA, la invitación puede ser entregada a cada punto final asociado con la presencia colaborativa en un orden, por ejemplo, un orden determinado por el estado de presencia asociado con cada punto final en el orden, u otra estrategia de entrega de invitación adecuada. La 'invitación a un elemento de interfase de programación de aplicación de actividad existente 614 puede ser preferida cuando invita a un contacto para unir una conferencia y/o actividad existente. Cuando ya se ha establecido una conferencia y/o actividad, algunos parámetros cooperativos pueden no ser negociables, o pueden ser menos negociables, por ejemplo, negociables solamente dentro de una escala determinada por parámetros cooperativos en uso por participantes actuales. Además, una menor flexibilidad puede limitar los puntos finales de una presencia que califica para la participación, y de esta manera son candidatos para recibir una invitación. Lajs capacidades de encuentro por elemento de tipo 616 pueden habilitar a un usuario de plataforma de servicios de colaboración 302 (Figura 3) para solicitar la presencia asociada con el objeto de presencia 600 para capacidades asociadas con uno o más de una pluralidad de tipos de capacidad. Ejemplos de tipos de capacidad incluyen tipos de aplicación tales como plática, audio y video, capacidades de aplicación tales como salida de audio, entrada de audio, salida de video, entrada de video, recursos de punto final tales como anchura de banda, calidad de audio y resolución de video, o cualquier tipo de capacidad colaborativa adecuada Las capacidades de encontrar por el elemento de tipo 616 pueden responder a la consulta con capacidades de puntos finales individuales y/o capacidades de presencia de agregación Los objetos publicados de encontrar por el elemento de tipo 618 pueden habilitar a un usuario de la plataforma de servicios de colaboración 302 (Figura 3), para solicitar la presencia asociada con el objeto' de presencia 600 para objetos publicados asociados con la presencia, por ejemplo, los objetos publicados accesibles con el elemento de objeto publicado 610 El tipo de objeto publicado puede ser determinado por una cadena rica en texto asociada Por ejemplo, aquellos casos del objeto publicado 418 (Figura 4) asociados con la misma cadena rica en texto pueden ser determinados como del mismo tipo El elemento de objeto publicado 620 puede habilitar la publicación de datos asociados con la presencia Por ejemplo, el grupo de objetos de presencia mantenido por el elemento de objetos publicados 610 puede ser actualizado En una modalidad de la invención, el elemento de interfase de programación de aplicación de objeto publicado 620 puede ser incorporado en el elemento de interfase de programación de aplicación de objeto publicado 610 La Figura 7 ilustra un objeto publicado 700 ilustrativo de acuerdo con una modalidad de la invención El objeto publicado 700 es adecuado para incorporarse en el modelo de objeto de colaboración 400 (Figura 4) El objeto publicado 700 puede incorporar elementos de interfase de programación de aplicación incluyendo un elemento de suscpptores autorizados 702 y un elemento,de datos publicados 704 El elemento de suscpptores autorizados 702 puede hacer referencia a uno o más casos de objetos de contacto 402 (Figura 4) asociados con contactos quienes están autorizados a suscribirse a los datos asociados con el objeto publicado 700 El control de acceso de datos puede ser de grano grueso, por ejemplo, permitir o bloquear, o de grano fino, por ejemplo, incluyendo control sobre privilegios de crear leer, actualizar y eliminar datos El elemento de datos publicados 7084 puede mantener un grupo de datos publicados asociados con el objeto publicado 700 Cualquier grupo publicado de datos puede ser publicado en asociación con el objeto publicado 700 La Figura 8 ilustra un objeto de capacidad 800 ilustrativo de acuerdo con una modalidad de la invención El objeto de capacidad 800 es adecuado para incorporarse en el modelo de objeto de colaboración 400 (Figura 4) El objeto de capacidad 800 puede incorporar elementos de interfaz de programación de aplicación que incluyen un elemento de aplicación asociado 802, y el elemento de datos de aplicación 804 El elemento de ubicaciones asociadas 802 puede incluir una referencia a un grupo de aplicaciones cooperativas que implementan la capacidad asociada con el objeto de capacidad 800 El elemento de datos de aplicación 804 puede incluir datos y/o una especificación de datos requerida para configurar cada una del grupo de aplicaciones cooperativas referenciadas por el elemento de aplicaciones asociadas 802 La Figura 9 muestra un objeto de MiContacto 900 ilustrativo de acuerdo con una modalidad de la invención. El objeto de MiContacto 900 es adecuado para la incorporación en el modelo de objeto de colaboración 400 (Figura 4) El objeto MiContacto 900 puede incorporar elementos de interfase de programación de aplicación incluyendo un elemento de contacto 902, un elemento en parejas 904, un elemento de suscriptores autorizados 906, un elemento de suscritores activos 908, un elemento de conferencias 910, capacidades de encontrar mediante el elemento de tipo 912, y objetos publicados para encontrar por el elemento de tipo 914. El elemento de contacto 902 puede incluir referencia a un grupo de casos de objetos de contacto 402 (Figura 4) asociados con contact s conocidos por el usuario de la plataforma de servicios de colaboración 302 (Figura 3) con el objeto de MiContacto 900. El elemento en parejas 904 puede incluir referencias a un grupo de casos de objeto de contacto 402 (Figura 4) asociados con contactos conocidos por el usuario de la plataforma de servicios de colaboración 302 (Figura 3) que también son contactos de clase en parejas; por ejemplo, como se indica por el elemento de señalización de par jas 506 (Figura 5) del objeto de contacto 500. La mera presenc'ia en el grupo de casos de objeto de contacto 402 referenciados por el elemento en parejas 904 puede indicar que el contacto asociado es un contacto de placer en parejas El grupo de casos de1 objeto de contacto 402 referenciados por el elemento de contacto 902 y el elemento en parejas 904 se puede traslapar, sin embargo, en al menos una modalidad de la invención, los grupos son exclusivois El elemento de suscpptores autorizados 906 puede incluir referencias a un grupo de casos de objeto de contacto 402 (Figura 4) asociados con contactos que están autorizados a suscribirse a datos publicados asociados con el objeto de MiContacto 900, tales como datos de capacidades El control de acceso de datos publicados puede ser de grano grueso, por ejemplo, bloque o permitir acceso a todos los datos publicados, o de grano fino, por ejemplo, permisos para crear, leer, actualizar y/o eliminar cada objeto publicado 418, o sus combinaciones El elemento de suscpptores activos 908 puede incluir referencia a un grupo de casos de objeto de contacto 402 asociados con contactos que son suscritos activamente a datos publicados por el usuario de la plataforma de servicios de colaboración 302 (Figura 3) con el objeto de MiContacto 900 Claro que, los casos del objeto de contacto 402 referenciados por el elemento de suscpptores activos 908 deben estar de acuerdo con los permisos mantenidos por el elemento de suscpptores autorizados 906 El elemento de conferencias 910 puede incluir referencias a un grupo d casos de objeto de conferencia 414 (Figura 4) asociados con conferencias en donde el usuario de plataforma de servicios de colaboración 302 (Figura 3) asociado con el objeto de MiContacto 900 est^ actualmente participando, en donde el usuario ha participado recientemente, y/o en donde el usuario pronto participará. Las. capacidades de encontrar un elemento de tipo 912 pueden habilitar ¡a un usuario de la plataforma de servicios de colaboración 302 (Figura 3) a consultar los contactos asociados con el objeto de MiContacto 900 para capacidades asociadas con uno o más de la pluralidad de tipos de capacidad. Por ejemplo, las capacidades de encontrar por el elemento de tipo 912 pueden consultar los casos de objeto de contacto 402 (Figura 4) referenciados por el elemento de contacto 902, el elemento en parejas 904 y/o el mismo objeto de MiContacto 900. Las capacidades de encontrar por el elemento de tipo 912 pueden responder a la consulta con capacidades de puntos finales individuales y/o capacidades de agregación. Los objetos publicados para encontrar por el elemento de tipo 914 pueden perm itir 'al usuario consultar los contactos asociados con el objeto de MiContacto 900 para datos publicados. Como con las capacidades de encontrar por el elemento de tipo 912, los objetos publicados para encontrar por el elemento de tipo 914 pueden consultar los casos de objeto publicado 418 referenciados por el elemento de contacto 902, el elemento en parejas 904 y/o el mismo objeto de MiContacto 900. La Figura 10 muestra un objeto de conferencia ilustrativo 1000 de acuerdo con una modalidad de la invención. El objeto de conferencia 1000 es adecuado para incorporarse en el modelo de objeto de colaboración 400 (Figura 4) El objeto de conferencia 1000 puede incorporar elementos de interfase de programación de aplicación incluyendo un elemento de información de sesión 1002, un elemento de actividades 1004, un elemento de administrados 1006, un elemento de miembros autorizados 1008, y un elemento de actividad de lanzamiento 1010 En una modalidad de la invención, los papeles de una conferencia, por ejemplo, una conferencia asociada con el objeto de conferencia 1000, incluyen organizar, manejar y/o mantener una o más actividades cooperativas en donde uno o más usuarios de la plataforma de servicios de colaboración 302 (Figura 3) está participando El elemento de información de sesión 1002 puede incluir información de sesión de nivel de conferencia Se pueden obtener optimizaciones de funcionamiento reuniendo información de sesión die nivel de actividad al nivel de conferencia El elemento de actividades 1004 puede incluir referencia a uno o más casos de objeto de actividad 416 (Figura 4) El elemento de administradores 1006 puede hacer referencia a uno o m'ás casos de objeto de contacto 402 (Figura 4) asociados con contactos que están autorizados para actuar como administradores para la conferencia Los privilegios administrativos pueden incluir agregar y remover participantes y/o actividades autorizadas El elemento de miembros autorizados 1008 puede hacer referencia a uno o más casos de objeto de contacto 402 asociados con contactos que están autorizados para participar en actividades asociadas con la conferencia La autorización puede ser de grano grueso, por ejemplo, permitir o bloquear un contacto particular que participe en todas lasi actividades de conferencia, de grano fino, por ejemplo, se pueden otorgar permisos para lanzar las actividades o terminar actividades existentes, para participar completamente en actividades individuales o para participar en una forma limitada (por ejemplo, "estado de observador"), o sus combinaciones El 'elemento de actividad de lanzamiento 1010 puede agregar una nueva actividad a la conferencia Las actividades de unión y de salir pueden ser manejadas por la conferencia, por la actividad, o por una combinación de las dos En cada caso, los elementos de interfase de programación de aplicación de objeto en conferencia 1000 pueden reforzarse de acuerdo con el elemento de administradores 1006 y/o y el elemento de miembros autorizados 1008 Los métodos detallados realizados, por ejemplo, por la plataforma de servicios de colaboración 302 (Figura 3) y de acuerdo con el modelo de objeto de colaboración 400 (Figura 4) ahora serán descpto's La Figura 11 muestra pasos ilustrativos realizados por la plataforma de servicios de colaboración 302 de acuerdo con una modahd'ad de la invención En el paso 1102, se puede seleccionar un caso de objeto de contacto 402 Por ejemplo, un caso de objeto de contacto 402 almacenado en el almacenamiento de contacto 318 puede Ser seleccionado con una interfase de usuario de los servicios de manejó de contacto 304 En el paso 1104, el caso de objeto de contacto 402 seleccionado (Figura 4) puede ser consultado para su caso de objeto de presencia asociado 404 Por ejemplo, el elemento de presencia 504 (Figura 5) del objeto de contacto seleccionado 500 puede ser utilizado para tener acceso al caso de objeto de presencia asociado 404 En ,el paso 1106, se puede determinar si el contacto asociado con el caso de objeto de contacto seleccionado 402 (Figura 4) está presente en el ambiente de cómputo en red 200 (Figura 2) Por ejemplo, el estado de presencia de agregación del contacto puede ser mantenido a partir del elemento de estado de agregación 606 del objeto de presencia 600 recuperado en el paso 1104, y si el estado de presencia de agregación del contacto está EN LINEA, entonces el contacto puede ser determinado como presente Si se determina que el contacto esta presente, el procedimiento puede seguir al paso 1108 De otra manera, el procedimiento puede salir El contacto está no disponible para la colaboración en este momento Alternativamente, los pasos 1104 y 1106 pueden ser reemplazados con pasos que suscriben a la información de presencia del contacto seleccionado y esperan hasta que una notificación indique que el contacto seleccionado está presente antes de proseguir el paso 1108 Esta alternativa esta indicada con la línea desvanecida 1110 En el paso 1108, el objeto de contacto seleccionado 402 (Figura 4) puede ser consultado para un grupo de casos de objeto de capacidad asociada 412 Por ejemplo, las capacidades de encontrar por el elemento de tipo 616 (Figura 6) del caso de objeto de presencia 404 recuperado en el paso 1104 (y/o pasos 1110) pueden ser utilizadas para obtener el grupo pertinente de capacidades El grupo particular de capacidades que sera examinado puede depender de la actividad o actividades cooperativas objetivo Por ejemplo, por ejemplo, una conferencia que involucra voz puede activar una verificación para la capacidad de entrada de audio En el paso 1112, se puede determinar si el contacto seleccionado tiene las capacidades requeridas Si el contacto seleccionado no tiene las capacidaldes requeridas, el procedimiento puede proseguir al paso 1202 de la Figura 12 De otra manera, el procedimiento puede salir El paso 1112 no necesita ser limitado a una prueba simple El paso 1112 puede incluir una negociación, por ejemplo, coordinada por el servicio de señalización 308 (Figura 3) para determinar si el grupo de capacidades es suficiente para la actividad o actividades objetivo La Figura 12 muestra pasos ilustrativos adicionales realizados por la plataforma de servicios de colaboración 302 de acuerdo con una modalidad de la invención Los pasos de las Figuras 11 y 12 están conectados por circuios marcados por 1114 y 1116 Habiendo determinado que el contacto seleccionado esta tanto presente en el ambiente de computo en red 200 (Figura 2) como capaz de participar en la actividad o actividades cooperativas deseadas, una o más invitaciones pueden ser enviadas al contacto seleccionado en el paso 1202 Por ejemplo, se puede enviar una invitación por el servicio de invitación 326 (Figura 3) en la computadora 212 (Figura 2) En el paso 1204, la una o más invitaciones pueden ser recibidas por el contacto seleccionado Por ejemplo, una de las invitaciones puede ser recibida por el servicio de invitación 326 (Figura 3) en la computadora 208 (Figura 2) En el paso 1206, el contacto seleccionado puede responder a una o más invitaciones Por ejemplo, el contacto seleccionado puede utilizar una interfase de usuario del servicio de invitación 326 en la computadora 208 para responder a una de las invitaciones En el paso 1208, se puede determinar si la invitación fue aceptada Por ejemplo, el servicio de invitación 326 en la computadora 212 puede recibir la respuesta enviada en el paso 1206, y los contenidos de la respuesta pueden determinarse si la invitación es aceptada Si la invitación es aceptada, el procedimiento puede progresar al paso 1210 De otra manera, el procedimiento puede salir Los pasos 1204 1206 y 1208 están marcados con una línea desvanecida 1212 para resaltar las posibilidades de variaciones en el procedimiento cuando se responden a invitaciones Una razón para enviar múltiples invitaciones a la misma actividad es que la presencia del ambiente de computo en red 200 (Figura 2) del contacto seleccionado puede abarcar múltiples puntos finales Por ejemplo, un usuario de la plataforma de servicios de colaboración 302 (Figura 3) puede enviar tres invitaciones a la misma actividad desde la computadora 212 a las computadoras 216, 206 y 208 Por ejemplo, la computadora 216 puede ser una PC de escritorio de oficina del contacto seleccionado, la computadora 206 puede ser una laptop del contacto seleccionado y la computadora 208 puede ser un asistente digital personal (PDA) del contacto seleccionado La invitación puede ser presentada al contacto seleccionado en más de un punto final Por ejemplo, el contacto seleccionado puede rechazar o ignorar la invitación en la computadora 208 (la PDA en este ejemplo), pero aceptar la invitación en la computadora 206 (la laptop) Una posibilidad es que el contacto seleccionado simplemente no responde a la invitación Esto puede dar como resultado una interrupción y una salida del procedimiento Otra posibilidad para los pasos 1212 es que el usuario de la plataforma de servicios de colaboración 302 (Figura 3) en la computadora 212 (Figura 2) envía una invitación a una actividad a las otras computadoras 214 y 216 en la subred 218 En este caso, cada contacto puede responder en paralelo Habiendo aceptado la invitación en el paso 1210, el contacto seleccionado puede unir una conferencia asociada para la actividad colaborativa Por ejemplo, la conferencia puede ser alojada por la computadora 212 (Figura 2) y el contacto seleccionado puede unir la conferencia de la computadora 206, utilizando el servicio de señalización 308 (Figura 3), y/o el servicio de actividad 310 En el paso 1214, puede ocurrir que la colaboración incorpore la actividad Ahora se describirá con detalle un ejemplo del servicio de invitación 326 (Figura 3) En particular, las interacciones entre el servicio de invitación 326, la plataforma de servicios cooperativos 302 y aplicaciones cooperativas distintas de la plataforma de servicios cooperativos 302 (aunque típicamente referenciados por el mismo) están resaltada En una modalidad de la invención, el manejo de tales interacciones contribuye a la capacidad de uso, capacidad de extensión, flexibilidad, capacidad de mantenimiento y/o capacidad de escalamiento de la plataforma de servicios de colaboración 302, y de esta manera su conveniencia para adoptar una amplia escala La Figura 13 muestra un escenario de invitación ilustrativo de acuerdo con la modalidad de la invención A una primera computadora 1302 se le puede dar la tarea de iniciar una o más actividades cooperativas con una segunda computadora 1304 Por ejemplo, las computadoras 1302 y 1304 pueden ser cualquiera de las computadoras 204, 206, 208, 212, 214 ó 216 en el ambiente de cómputo en red 200 de la Figura 2 Cada computadora 1302 y 1304 puede incluir un sistema operativo de computadora 1306 y 1308 Cada sistema operativo de computadora 1306 y 1308 puede incluir un módulo de plataforma de servicios de colaboración 1310 y 1312 Los sistemas operativos de computadora 1302 y 1304 no necesitan ser los mismos Los módulos de plataforma de servicios de colaboración 1310 y 1312 pueden estar de acuerdo con la plataforma de servicios de colaboración 302 (Figura 3) Los sistemas operativos de computadora 1306 y 1308 pueden incluir ?n,terfases de usuario de invitación (Ul) 1314 y 1316, tales como las interfases de usuario gráficas (GUI) En una modalidad e la invención, las interfases de usuario de invitación 1314 y 1316 están incorporadas en los módulos de plataformas de servicios de colaboración 1310 y 1312, respectivamente Las computadoras 1302 y 1304 además pueden incluir aplicaciones cooperativas 1318 y 1320 Aunque diferentes de los módulos de plataforma de servicios de colaboración 1310 y 1312 en este ejemplo, en una modalidad de la invención, las aplicaciones cooperativas 1318 y 1320 pueden ser incorporadas en los módulos de plataforma de servicios de colaboración 1310 y 1312 Un'protocolo de invitación cooperativo básico puede incluir tres mensajes un mensaje de invitación de colaboración 1322, un mensaje de respuesta de colaboración 1324, y un mensaje de cancelar' invitación 1326 El mensaje de invitación de colaboración 1322 puede incluir un identificador de invitación, uno o más identificadores de capacidad, datos d!e aplicación y un mensaje El identificador de invitación únicamente puede identificar la invitación Por ejemplo, el identificador de invitación puede ser un identificador globalmente único (GUID) como se describe en Guid Structure sección de NET Framework Class Library, versión de documentación 1 1 1, en Microsoft® Developer Network (MSDN®) Library Cada identificador de capacidad puede hacer referencia a un objeto de capacidad que representa una capacidad colaborativa requerida para las actividades cooperativas asociadas con la invitación Por ejemplo, cada identificador de capacidad puede ser un identificador globalmente único (GUID) Los datos de aplicación pueden incluir y/o especificar datos que se harán pasar a aplicaciones cooperativas, por ejemplo, con el fin de iniciar las actividades cooperativas El mensaje puede ser una cadena rica en texto conteniendo texto de invitación estándar o de costumbre El mensaje de respuesta de colaboración 1324 puede incluir un identificador de invitación, una acción de respuesta de invitación, un mensaje de respuesta y datos de respuesta extendidos El identificador de invitación puede identificar la invitación de colaboración a la cual responde el mensaje de respuesta 1324 Por ejemplo, el identif icador de invitación puede ser el GUID suministrado por el mensaje de invitación 1322 La acción de respuesta de invitación puede indicar un tipo de la respuesta Por ejemplo, la respuesta de invitación puede ser una de rechazar, aceptar, ignorar y error El mensaje de respuesta puede ser una cadena rica en texto conteniendo texto de respuesta de invitación estánda o de costumbre Los datos de respuesta extendidos pueden incluir cualquier dato de respuesta adicional adecuado que pertenezca a las actividades de invitación y/o cooperativas El mensaje de cancelar invitación 1326 puede incluir un identificador de invitación que identifica la invitación que el mensaje de cancelar 1326 esta cancelando Por ejemplo, el mensaje de invitación de colaboración 1322 puede ser enviado de la computad'ora 1302 a la computadora 1304 para invitar a un usuario de la plataforma de servicios de colaboración 1312 a participar en una actividad colaborativa con un usuario de la plataforma de servicio de colaboración 1310 En respuesta, el mensaje de respuesta de colaboración 1324 puede ser enviado de la computadora 1304 a la computadora 1302 para indicar si la invitación, por ejemplo, es aceptada o rechazada En una modalidad de la invención, es posible que el usuario de la plataforma de servicios de colaboración 1310 cancele la invitación enviando el mensaje de cancelar invitación 1326 de la computadora 1302 a la computadora 1304 Antes de describir los métodos de invitación de colaboración ilustrativios con mayor detalle, sera util describir una interfase de colaboración de aplicación ilustrativa (API) de servicio de invitación 326 (Figura 3) La Figura 14 muestra una interfase de programación de aplicación (API) ilustrativa 1400 del servicio de invitación 326 de acuerdo con una modalidad de la invención La API de servicio de invitación 1400 puede incluir un elemento de invitación 1402, un elemento oyente de crear invitación 1404, un elemento de invitación de envío seguro 1406, un elemento de invitación de envío no seguro 1408, un elemento de cancelar invitación 1410, un elemento de responder invitación 1412, un elemento de respuesta de obtener invitación 1414, un elemento de capacidad de registrar/no registrar 1416, un elemento de capacidades de enumeración 1418, y un elemento de información de obtener capacidad 1420 Aunque cada elemento de interfase de programación de aplicación 1402, 1404, 1406, 14Ó8, 1410, 1412 1414, 1416, 1418 y 1420 puede ser incluido en la interfase de programación de aplicación del servicio de invitación 326 (Figura 3) incorporado en el módulo de plataforma de servicios de colaboración 1310 y 1312 (Figura 13) en cada computadora 1302 y 1304, diferentes de los elementos 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418 y 1420 pueden ser utilizados por las computadoras 1302 y 1304 dependiendo de si la computadora 1302 1304 es una invitadora, un invitado, o ambos El elemento de invitación 1402 puede incluir y proporcionar acceso o algunos o todos los mismos datos como el mensaje de invitación de colaboración 1322 Por ejemplo, el mensaje de invitación de colaboración 1322, o sus porciones, puede ser almacenado en y/o recuperado del servicio de invitación 326 (Figura 3) con el elemento de invitación 1402 El elemento oyente de crear invitación 1404 puede iniciar a un oyente de invitación en un punto final cooperativo tal como las computadoras 1302 y 1304 (Figura 13) Los parámetros de especificación de interfase pueden incluir un identificador de punto final tal'como una dirección de protocolo Internet (IP) o identificador de dirección o de par P2P (existen múltiples puntos finales por computadora 1302, 1304), un identif icador de puerto (existe múltiples puertos de comunicación por punto final), y un identif icador de oyente de invitación para configurar o destruir al oyente de invitación Por ejemplo el sistema operativo 1308 puede utilizar el elemento oyente de crear invitación 1404 para crear un oyente de invitación que escucha una invitación estándar y/o puerto de servicios 'cooperativo La aplicación colaborativa 1320 puede utilizar el elemento de oyente de crear invitación 1404 para crear un oyente de invitación en un puerto de invitación de costumbre que está dedicado a escuchar invitaciones para colaborar con la aplicación de colaboración 1320 El elemento de invitación de envío seguro 1406 puede habilitar el envío seguro de mensajes de invitación 1322 (Figura 13) Los parámetros de especificación de interfase pueden incluir una referencia a un caso de objeto de contacto 402 (Figura 4) una referencia a un caso de objeto de tipo fina 410, una referencia al mensaje de invitación 1322 que será enviado, una referencia a un objeto de sincronización de un hilo de ejecución, tal como un evento que será señalado una vez que se ha recibido una respuesta a la invitación, y una referencia a un identificador de invitación que será enviado por el elemento de invitación de envío seguro 1406 El mensaje de invitación 1322 puede ser enviado al contacto asociado con el caso de objeto de contacto referenciado 402 Y se proporciona el caso de objeto de punto final 410, el mensaje de invitación 1322 puede ser enviado al punto final asociado, de otra manera el mensaje de invitación 1322 puede ser enviado a cada punto final en presencia del contacto asociado con el caso de contacto referenciado 402 Una decisión a participar en una actividad colaborativa puede tener consecuencias de seguridad. Por ejemplo, una decisión para participar en la compartición de un archivo de dos direcciones puede disponer los datos a modificación y/o eliminación. Como resultado, puede ser que un usuario de la plataforma de servicios de colaboración 302 (Figura 3) desee aceptar invitaciones cooperativas solamente de fuentes confiables. En una modalidad de la invención, se puede establecer una conexión de comunicaciones seguras entre usuarios que tengan información de contacto previamente intercambiada. Por ejemplo, la información de contacto puede contener credenciales de autentificación criptográficas, y la conexión de comunicaciones seguras puede ser establecida con protocolos de seguridad de convención tales como la capa de enchufe seguro (SSL) o técnicas de proveedor de servicio de seguridad (SSP) para redes de traslape. Sin embargo, el usuario también puede decidir permitir invitacioines no seguras bajo ciertas circunstancias. El elemento de invitació'n de envío no seguro 1408 puede ser similar al elemento de invitación de envío seguro 1406, excepto que, por ejemplo, no hay ningún requerimiento de que el emisor de la invitación y el receptor tengan información de contacto previamente intercambiada. Por ejemplo! el elemento de invitación de envío no seguro 1408 puede ser utilizado para difundir mensajes de invitación 1322 a cada computadora 212, 214 y 216 (Figura 2) en la sub-red 218. Las invitaciones no seguras pueden facilitar la colaboración ad hoc y la colaboración en determinaciones sociales facilitadas, tales como juegos de jugadores múltiples El elemento cancelar invitación 1410 puede habilitar el envío de mensajes de cancelación 326 (Figura 13) Los parámetros de especificación de interfase pueden incluir un identificador de invitación tal como el identificador de invitación establecido por el elemento, de invitación de envío seguro 1406 del elemento de invitación de envío no seguro 1408 La respuesta al elemento de invitación 1412 puede habilitar el envío de los mensajes de respuesta 1324 (Figura 13) Los parámetros de especificación de interfase pueden incluir el identificador de invitación y la acción de respuesta de invitación Cada uno del elemento de invitación de envío seguro 1406 y el elemento de invitación de envío no seguro 1408 ambos pueden tener versioneis sincrónicas y asincrónicas Por ejemplo, la versión asincrónica puede enviar el mensaje de invitación 1322 (Figura 13) y despuési permitir la ejecución de instrucciones adicionales en el hilo de ejecución antes de verificar una respuesta a la invitación En contraste, la versión sincrónica puede esperar sin ejecutar más instrucciones en el hilo de ejecución hasta que el mensaje de respuesta 1324 sea recibido u ocurra una interrupción El elemento de respuesta de obtener invitación 1414 puede ser utilizado para verificar y/o esperar una respuesta para un mensaje de invitación 1322 que fue enviado asincrónicamente Los parámetros de especificación de interfase pueden incluir el identificador de invitación y la referencia que será establecida al mensaje de respuesta 1324 cuando llegue Las versiones sincrónicas de los elementos de envío de invitación 1406 y 1408 no necesitan incluir una referencia para un objeto de sincronización de hilo El servicio de invitación 1400 puede mantener un registro de capacidades de punto final El elemento de capacidad de registro/no registro 1416 puede habilitar el registro y el no registro de capacidades con el servicio de invitación 1400 Los parámetros de especificación de interfase pueden incluir referencias a uno o más casos de objeto de capacidad 412 (Figura 4) y una invitación de si la capacidald o capacidades pertenecen a un usuario particular de un punto final o a todos los usuarios del punto final Cada caso del objeto de capacidad 412 puede ser asociado con un identif icador de capacidad, por ejemplo, un identificador globalmente único (GUID) En una modalidad de la invención, cada capacidad esta asociada con una aplicación colaborativa particular 1318, 1320 (Figura 3) El servicio de invitación 1400 puede incluir elementos de interfase de programación de aplicación separados para capacidad de registro y capacidad de no registro El elemento de capacidad de enumeración 1418 puede habilitar la enunjeracion de capacidades registradas con el servicio de invitación 1400 Los parámetros de especificación de interfase pueden incluir una indicación de que si la enumeración debe contener capacidades asociadas con un usuario particular de un punto final o con todos los usuarios de un punto final En una modalidad de la invención, la enumeración incluye identificadores de capacidad en lugar de, por ejemplo, referencia a casos de objeto de capacidad 412 (Figura 4). El caso de objeto de capacidad 412 entonces ¡ puede ser recuperado con el elemento de información de obtener capacidad 1420. Ahora se describirán con mayor detalle métodos de invitación cooperati|vos ilustrativos. Un contexto básico para la invitación colaborativa es si el usuario interactúa con una aplicación específica con el fin de enviar y/o responder a una invitación (escenario específico) o si el usuario interactúa con un mecanismo independiente de aplicación y/o responder a la invitación (escenario genérico). Los cuatro escenario: de genérico a genérico, de específico a genérico, de genérico a específico, y de específico a específico, se describen más adelante con respecto a las Figuras 15-18. La Figura 15 muestra pasos ilustrativos para enviar la i nvitacióin de acuerdo con una modalidad de la invención. En el paso 1502, s|e puede invocar una interfase de usuario de invitación genérica (Ul). Por ejemplo, la plataforma de servicios de colaboración 302 (Figura 3) puede invocar una interfase de usuario del serviicio de invitación 326. En el paso 1504, uno o más contactos pueden ser seleccionados por la interfase de usuario de invitación genérica. Por ejemplo, la interfase de usuario del servicio de invitación 326 puede interactuar con el servicio de manejo de contactó 304 para presentar una lista de contactos conocidos del usuario, o por ejemplo, una lista de contactos de clase en parejas, y el usuario puede seleccionar gráficamente un grupo de contactos de esos presentados En el paso 1506, se puede seleccionar una actividad con la interfase de usuario de invitación genérica Por ejemplo, la interfase de usuario del servicio de invitación 326 (Figura 3) puede interactuar con el servicio de actividad 310 para presentar una lista de actividades de colaboración disponibles, o por ejemplo, una lista de actividades populares o más recientemente utilizadas, y el usuario puede seleccionar gráficamente una actividad colaborativa a partir de aquellas presentadas En el paso 1508, se puede determinar si la interfase de usuario de invitación genérica va a enviar la invitación, o por ejemplo, si la invitación va a ser enviada de una aplicación de colaboración específica Por ejemplo, la determinación puede depender del parámetro configurable del servicio de invitación 326 Si se determina que la interfase de usuario de invitación genérica va a enviar la invitación, entonces el procedimiento puede progresar al paso 1510 De otra manera, el procedimiento puede progresar el paso 15 2 En, el paso 1510, la aplicación de colaboración asociada con la actividad seleccionada en el paso 1506 puede ser lanzada El paso 1510 está ilustrado con un perfil punteado para indicar que, aunque la aplicación puede ser lanzada en ese momento, la interfase de usuario de invitación genérica puede retener el control del hilo de ejecución y progresar al paso 1514 Esto está en contraste al paso En él paso 1512, los detalles pertinentes a la invitación reunida en cuanto a los contextos relacionados en el paso 1504 y cualesquier parámetros de configuración asociados con la actividad seleccionada en el paso 1506 pueden ser almacenados para recuperación por parte de (la aplicación de colaboración asociada con la actividad. En el paso "1516, la aplicación de colaboración es lanzada y el control del procedimiento es entregado por la interfase de usuario de invitación genérica. En . el paso 1514, la invitación puede ser enviada por la ¡nterfase1 de programación de aplicación del servicio de invitación 1400 (Figura 14), por ejemplo, con el elemento de invitación de envío seguro 1406 o el elemento de invitación de envío no seguro 1408 como se describió anteriormente. Aunque el mismo elemento de interfase de programación de aplicación 1406, 1408 pueda ser utilizado para enviar la invitación, cuando el procedimiento progresa del pasó 1510 al paso 1514, el elemento 1406, 1408 es invocado por la internase de usuario de invitación genérica, mientras que cuando el procedimiento progresa del paso 1516 al paso 1514, el elemento 1406, 1;408 es invocado por la aplicación de colaboración. Como resultado, los parámetros de especificación de interfase basados en el elemento 1406, 1408 pueden diferir. El; procedimiento que comienza en el paso 1502 describe uno de los escenarios "de genérico" ya que se utiliza en la interfase de usuario de invitación genérica. En contraste, el paso 1518 comienza un escenario (de específico). En el paso 1518, se puede lanzar una aplicación de colaboración. Por ejemplo, la aplicación 1318 (Figura 13) puede ser lanzada en una forma convencional por el sistema operativo: 1306 de la computadora. El paso 1518 es una pre-condició? para el paso 1520, y en cierto momento puede pasar entre los pasos 1518 y 1520. En ' el paso 1520, uno o más contactos pueden ser seleccionados con una interfase de usuario de la aplicación de colaboración 1318 (Figura 13). Por ejemplo, la aplicación de colaboración 1318 puede interactuar con el servicio de manejo de contacto'304 (Figura 3) de la plataforma de servicios de colaboración 1310 para presentar una lista de contactos conocidos del usuario de aplicación, o por ejemplo, una lista de contactos de clase en parejas, y el usuario de aplicación puede seleccionar un grupo de contactos de aquellos presentados. En contraste a la progresión del paso 1504, la selección de una actividad de colaboración no es tan necesaria y el procedimiento puede proseguir al paso 1514. La aplicación de colaboración 1318 puede determinar la actividad de colaboración. Sin embargo, en una modalidad de la invención, la aplicación de colaboración 1318 puede soportar múltiples actividades, en cuyo caso puede ser apropiado un equivalente del paso 1506. En el paso 1514, el elemento de enviar invitación 1406 ó 1408 (Figura 14) puede ser invocador por la aplicación de colaboración 1318. Lá Figura 16 muestra pasos ilustrativos realizados por el servicio? de invitación 1400 (Figura 14) para enviar una invitación de acuerdó con una modalidad de la invención. En el paso 1602, se selecciona un siguiente contacto candidato. Por ejemplo, el contacto candidato; puede ser seleccionado de entre el grupo seleccionado en el paso 1504 ó 1520 de la Figura 15. En el paso 1604, se puede determinar si se conocen puntos finales del contacto candidato. Por ejemplo, el objeto de presencia 404 (Figura 4) referenciado por el objeto de contacto 402 que representa el contacto o candidato puede ser consultado para su grupo de objetos de punto final 410. Si no se conocen puntos finales del contacto candidato (por ejemplo, el resultado de la consulta es un grupo! vacío) el procedimiento puede progresar al paso 1606. Si se conocen puntos finales del contacto candidato, el procedimiento puede progresar al paso 1608. En el paso 1606, se pueden localizar puntos finales para el contacto candidato. Por ejemplo, el servicio de invitación 326 (Figura 3) puede interactuar con el servicio de ubicación de contacto 322 para determinar un grupo de puntos finales válidos para el contacto candidato. En' el paso 1608, un punto final candidato puede ser seleccionado de entre los puntos finales conocidos para el contacto candidato. En el paso 1610, se puede establecer una conexión comunicativa con el punto final candidato. Por ejemplo, la condición puede ser establecida con el servicio de conectividad 326 (Figura 3). En el paso 1612, la invitación puede ser enviada al punto final candidato, por ejemplo, con un mensaje de invitación 1322 (Figura 13). En el paso 1614, se puede determinar si existen más puntos finales candidatos Si existen más puntos finales candidatos, el procedimiiento puede regresar al paso 1608 para seleccionar un siguiente ' punto final candidato. De otra manera, el procedimiento puede proseguir al paso 1616. En el paso 1616, se puede determinar si hay más contactos candidatos Si existen más contactos candidato, el procedimiento puede regresar al paso 1602 para seleccionar el siguiente contacto candidato. De otra manera, la invitación puede ser considerada como enviada. Las' partes "de genérico" y "de específico" de los cuatro escenarios han sido descritas, ahora se describirán las partes "a genérico" y "a específico" con referencia a las Figuras 17 y 18, respectivamente. La Figura 17 muestra pasos ilustrativos para responder a una invitación de colaboración de una interfase de usuario de colaboración genérica de acuerdo con una modalidad de la invención. Cuando la invitación de colaboración ha sido enviada a múltiples puntos finales, los pasos mostrados en la Figura 17 y/o 18 pueden ser realizados en cada punto final. En; el paso 1702, la invitación de colaboración puede ser recibida en un puesto de comunicaciones estándar de la plataforma de servicios de comunicación 302 (Figura 3). Por ejemplo, el mensaje de invitación 1322 (Figura 13) puede llegar a un puerto TCP/IP reservado para la plataforma de servicios de colaboración 302 y verificarse por el servicio de invitación 326. En el paso 1704, se puede determinar si el punto final es capaz de participar en la actividad asociada con la invitación. Por ejemplo, el servicio de invitación 326 (Figura 3) puede comparar al ?dent?f?cador(es) de capacidad en el mensaje de invitación 1322 (Figura 13) con las capacidades que han sido registradas con el servicio de invitación 328 Alternativamente, el objeto de MiContacto 406 (Figura 4) asociado con un usuario del punto final puede ser consultado para su grupo asociado de objetos de capacidad 412 y estos pueden ser comparados con el ?dent?f?cador(es) de capacidad en el me|nsaje de invitación 1322 Si se determina que el punto final es capaz de participar en la actividad asociada con la invitación, entonces el procedimiento puede progresar al paso 1706 De otra manera, el procedimiento puede progresar al paso 1708 En el paso 1706, el usuario puede aceptar, rechazar o ignorar la invitación Por ejemplo, el servicio de invitación 326 (Figura 3) puede presentar una interfase de usuario de invitación genérica tendiendo elementos de interfase de usuario que corresponden a las decisiomes aceptar, rechazar o ignorar El usuario puede aceptar, rechazar o ignorar la invitación seleccionando el elemento de interfase de usuario correspondiente Si el usuario acepta la invitación el procedimiento puede progresar al paso 1710 Si el usuario rechaza la invitación, el procedimiento puede progresar al paso 1708 Si el usuario ignora la invitación, el procedimiento puede progresar al paso 1712 En el paso 1708, el mensaje de respuesta 1324 (Figura 13) puede ser enviado indicando que la invitación es rechazada Por ejemplo, el mensaje de respuesta 1324 puede ser enviado con la respuesta al elemento de invitación 1412 (Figura 14) de la interfase de programación de aplicación del servicio de invitación 1400.
Similarmente, en el paso 1712, el mensaje de respuesta 1324 puede ser enviado indicando que el usuario está seleccionando ignorar la invitación. El elemento de invitación 1412 también puede ser utilizado para enviar esta respuesta. En una modalidad de la invención, la habilidad para enviar una respuesta de ignorar explícita mejora una eficiencia de la plataforma de servicios de colaboración 302 (Figura 3). Enlel paso 1710, los detalles de la invitación aceptada pueden ser almacenados para recuperación por la aplicación de colaboración 1320 (Fjgura 13) asociada con la actividad de colaboración. Por ejemplo, algunos o todos los contenidos del mensaje de invitación 1322 pueden ser almacenados por el servicio de invitación 326 (Figura ,3) con el elemento de invitación 1402 (Figura 14) de la interfasé de programación de aplicación. En el paso 1714, la aplicación de colaboración 1320 puede ser lanzada por el servicio de invitación 326. En el paso 1716, el mensaje de respuesta 1324 (Figura 13) indicando la aceptación de la invitación puede ser enviado, por ejemplo, utilizando la respuesta al elemento de invitación 1412 (Figura -.4) de la interfase de programación de aplicación del servicio de invitación 1400. En el progreso del paso 1716 al paso 1718, el control de ejecución puede pasar a la aplicación de colaboración 1320 lanzada en el paso 1714. Alternativamente, la aplicación de colaboración 1320 puede ser lanzada en un hilo paralelo de ejecución1, los hilos se sincronizan según sea necesario, y el hilo de servicio de invitación que recibió la invitación del paso 1702 puede salir después de responder en el paso 1716 En el paso 1718, la aplicación de colaboración 1320 (Figura 13) puede leer los detalles de invitación almacenados en el paso 1710 Por ejemplo, los detalles de invitación almacenados pueden dar como resultado alguna (re)conf?gurac?ón de la aplicación de colaboración 1320 E? este punto, la aplicación de colaboración 1320 puede ya estar lista para comenzar a participar en la actividad de colaboración, y en el paso 1720, puede comenzar la participación en la actividad de colaboración I La Figura 18 muestra pasos ilustrativos para responder a una invitación de colaboración de una interfase de usuario de aplicación especifica de acuerdo con una modalidad de la invención En el paso 1802, se puede lanzar una aplicación de colaboración Por ejemplo, ia aplicación de colaboración 1320 (Figura 13) puede ser lanzada en una forma convencional por el sistema operativo 1304 de la computadora En el paso 1804, la aplicación de colaboración 1320 puede crear un oyente de indicación en un puerto de comunicaciones de colaboración de aplicación específica, no estándar Por ejemplo, la aplicación de colaboración 1320 puede utilizar el elemento de oyente de crear invitación 1404 (Figura 14) de la interfase de programación de aplicación del servicio de invitación 1400 para crear un oyente de invitación en un puerto TCP/IP diferente del puerto reservado para la plataforma de servicios de colaboración 302 (Figura 3) Cierto tiempo después, en el paso 1806, una invitación de colaboración puede ser recibida en el puerto no estándar Por ejemplo, 'el mensaje de invitación 1322 (Figura 13) enviado en el paso 1514 (Figura 15) pudo haber sido enviado al puerto de aplicación específica y/o punto final En el paso 1808, el usuario de la aplicación de colaboración 1320 puede aceptar, rechazar, o explícitamente ignorar la invitación Por ejemplo, la aplicación de colaboración 1320 puede presentar una mterfase de usuario teniendo elemento de interfase de usuario que corresponden a las decisiones aceptar, rechazar e ignorar El usuario entonces puede seleccionar una respuesta deseada eligiendo el elemento de interfase de usuario correspondiente Si el usuario acepta la invitación, el procedimiento puede progresar al paso 1810 Si el usuario rechaza la invitación, el usuario puede progresar al paso 1812 Si el usuario explícitamente ignora la invitación, el procedimiento puede progresar al paso 1814 En cada uno de los pasos 1810, 1812 y 1814, la respuesta de invitación apropiada puede ser enviada al invitador Cada paso 1810, 1812 y 1814, por ejemplo, puede utilizar la respuesta al elemento de invitación 1412 (Figura 14) del servicio de invitación 1400 para enviar el mensaje de respuesta 1324 (Figura 13) con la acción de respuesta de invitación fijada en aceptar, rechazar o ignorar, respectivamente Ya que la aplicación de colaboración deseada 1320 (Figura 13) ya ha sido lanzada, entonces, si la invitación fue aceptada, la actividad de colaboración puede comenzar sin retraso adicionaren el paso 1816 Ahdra se describirán con mayor detalle ejemplos ilustrativos para la publicación de presencia de colaboración En particular, la publicación de presencia sin servidor (es decir, una habilidad para publicar ¡información de presencia de colaboración independiente de una necesidad de computadoras servidor dedicadas, es ventajosa en una modalidad de la invención Por ejemplo, los ambientes de cómputo en red sin servidor, redes par a par, o redes de traslape pueden proporcionar una mejor capacidad de escalamiento que las redes de aplicaciones de red que requieren de computadoras de servidor dedicado El ambiente de computo en red 200 (Figura 2) puede soportar una red para par o una red de traslape Cada una de las computadoras 204, 206, 208, 212, 214 y 216 puede soportar uno o más pared de red de par a par Cada par puede ser un punto final de colaboración y estar asociado con un caso de objeto de punto final 41 Ó (Figura 4) Como se definió anteriormente, la presencia de colaboración puede ser representada por el objeto de presencia 404 (Figura 4) Cualquier parte adecuada, incluyendo todas del objeto de presencia 404 puede ser publicada a los usuarios de la plataforma de servicios de colaboración 302 (Figura 3) Además, se pueden publicar casos de objeto programático con referencia con un caso de objeto de presenóia 404, incluyendo objetos de punto final 410, objetos de capacidad 412 y los objetos publicados 418 más genéricos En una modalidad de la invención, sin embargo, un tiempo de publicación típicamente no es suficiente. La información de presencia, puede cambiar. Por ejemplo, se pueden actualizar objetos publicados 418 a través de aplicaciones de colaboración, estado de agregación y/o estado de presencia asociado con un punto final particular puede cambiar a través del día, se pueden agregar o remover puntos finales de la presencia de un contacto particular, por ejemplo, • a través de un dispositivo inalámbrico en red que es encendido y apagado o se mueve dentro y fuera de un área de cobertura de red inalámbrica, las capacidades de punto final pueden cambiar a manera que se instalan nuevas aplicaciones de colaboración. La colaboración efectiva puede requerir de información de presejncia consistentemente actualizada. En una modalidad de la invención, la información de presencia de colaboración es distribuida en un ambiente de cómputo en red sin servidor, tal como el ambiente de cómputo en red 200 (Figura 2), con mensaje de suscribir presencia y notificar presencia. La Figura 19 muestra pasos ilustrativos para participar en la publicación de presencia sin servidor de acuerdo con una modalidad de la invención. En el paso 1902, un usuario de computadora puede autenticar un sistema operativo (OS) de la computadora. Por ejemplo, el usuario puede entrar a una de las computadoras 204, 206, 208, 212, 214 ó 216 (Figura 2) de ambiente de cómputo en red 200. Los sistemas operativos adecuados de la computadora incluyen sistemas operativos de computadora capaces de soportar la plataforma de servicios de colaboración 302 (Figura 3), tal como cualquier versión adecuada de los sistemas operativos de computadora "MICROSOFT WINDOWS" o "UNIX" La autentificación con el sistema operativo de la computadora puede establecer una identidad1 reconocida por la computadora para el usuario de la computadora, y en particular, puede asociar al usuario de computadora con un caso de objeto de MiContacto 406 (Figura 4) En el paso 1904, se pueden iniciahzar comunicaciones con el servicio de publicación 306 (Figura 3) de la plataforma de servicios de colaboración 302 Como se describe anteriormente, el servicio de colaboración 306 no puede tener servidor Por ejemplo, en el paso 1904, el usuario de computadora puede unir una red par a par (P2P) incorporando el servicio de publicación 306 En el paso 1906, algunos o todos los datos contenidos en y/o referenciados por el objeto de MiContacto 406 (Figura 4) asociado con el usuario de computadora pueden ser publicados al servidor de publicación 306, por ejemplo, con uno o más mensajes de notificar presencia, estableciendo así la presencia de colaboración de la computadora y el usuario de la plataforma de servicios de colaboración 302 En el paso 1908, se pueden inicial izar comunicaciones con el almacenamiento de contacto 318 (Figura 3) Por ejemplo, el almacenamiento de contacto puede ser un almacenamiento de datos convencional tal como una base de datos y la inicialización de comunicaciones con el almacenamiento de contacto 318 puede incluir establecer una sesión de comunicaciones con el almacenamiento de datos. E el paso 1910, el almacenamiento de contacto 318 puede ser consultado para contactos de clase en parejas del usuario. En una modalidad de la invención, la consulta del almacenamiento de contacto '318 incluye des-referenciar una o más referencias a objetos de contacto 402 (Figura 4) incluidos en el elemento en parejas 904 (Figura 9) del objeto de MiContacto 406. En el paso 1912, se puede colocar suscripciones a las presencias de los contactos de clase en pareja, por ejemplo, con mensajes de suscribir presencia como se describe más adelante con detalle haciendo referencia a las Figuras 20 y 21. En el paso 1914, en respuesta a las suscripciones, se pueden recibir notificaciones de actualizar presencia. Por ejemplo, los mensajes de notificar presencia pueden ser enviados a través de una red par a par cuando ocurren cambios a presencias que tienen suscripciones asociadas. La Figura 20 muestra pasos ilustrativos para colocar suscripciones de presencia de acuerdo con una modalidad de la invención. Por ejemplo, los pasos ilustrados por la Figura 20 pueden ser realizados como parte del paso 1912 (Figura 19). Un grupo de contactos de clase en parejas a los cuales se van a colocar las suscripciones, pueden estar disponibles, por ejemplo, del paso 1914 o similares. En el paso 2002, un siguiente contacto de clase en parejas candidato puede ser seleccionado del grupo. E? el paso 2004, se puede hacer una búsqueda para el contactó de case en parejas. Por ejemplo, se puede utilizar un protocolo de resolución de nombre par (PNRP) para localizar un punto final asociado con el contacto de clase en parejas en la red par a par! Alternativamente, o además, se puede hacer una búsqueda a través de una división de red local tal como la subred 218 (Figura 32) para el contacto. Cualquier división de red adecuada puede ser establecida y/o buscada para el contacto. La búsqueda puede no ser exitosa Por ejemplo, el contacto de clase en parejas puede no tener un punto final asociado en la red par a par y o la división de red local. En el paso 2006, se puede determinar si encontró el contacto de clase en parejas. Por ejemplo, el protocolo de resolución de nombre par puede resolver exitosamente un nombre del contacto de clase en parejas a un punto final de colaboración asociado (por ejemplo, par) en la red par a par, o se pue.de recibir una respuesta a una difusión del mensaje a través de la diyisión de red local identificando un punto final asociado (por ejemplo,, dirección TCP/IP en un número de puerto de comunicaciones) para el contacto de clase en parejas. Si se encuentpa el contacto de clase en parejas, el procedimiento puede progresar al paso 2008. De otra manera, se puede asumir que la ausencia es temporal, por ejemplo, ya que el contacto ha sido clasificado como en parejas, y el procedimiento puede progresar al paso 2010. Ya¡ que se ha clasificado como en parejas esto puede llevar la suposición de que el contacto es un participante de colaboración típicamente activo, en una modalidad de la invención, buscando periódicamente contactos de clase en parejas faltantes, esto suficientemente mejora una efectividad de la plataforma de servicios de colaboración 302 (Figura 3) que será una característica justificad^ a pesar de la demanda creciente de recursos computadionales de red. El procedimiento puede esperar en el paso 2010 entre búsquedas. Por ejemplo, el período entre búsquedas puede ser de 10 minutos. El paso 2010 está rodeado por una línea desvanecida 2012 para indicar que los pasos de esperar, posiblemente subsecuentes, pueden ocurrir en un hilo separado de la ejecució?. Después de iniciar el hilo separado de ejecución para el paso de esperar 2010, el hilo principal de la ejecución puede progresar al paso 2014. Habiendo encontrado el contacto de clase en parejas, en el paso 2008, se puede enviar un mensaje de suscribir presencia a un punto f i tp s I asociado con el contacto, por ejemplo, el punto final encontra o en el paso 2004. El mensaje de suscribir presencia puede especificar la suscripción a algo o a toda la información de presencia de colaboración asociada con el contacto. Por ejemplo, el mensaje de suscribir presencia puede especificar la suscripción a información de presencia accesible a través de uno o más de los elementos de descripción ricos en texto 602 (Figura 6), el elemento de puntos finales 604, el elemento de estado de agregación 606, el elemento de capacidades de agregación 608, y el elemento de objetos publicadas 610 de la interfase de programación de aplicación del objeto dje presencia 600. El mensaje de notificar presencia enviado en respuesta a la suscripción, por ejemplo, en el paso 1914 (Figura 19) puede necesitar solamente de ser enviado cuando una parte de la presehcia cambia, que está cubierto por la suscripción, y solo puede necesitar incluir la parte de la información de presencia que ha cambiado En el paso 2014, se puede determinar si existen más contactos de clase!en parejas en el grupo de contactos de clase en parejas. Si hay más de estos contactos, entonces el procedimiento puede regresar al paso 2002 para seleccionar el siguiente contacto del grupo. De otra manera, el procedimiento puede progresar a los pasos adicionales tales como los pasos 1914 (Figura 19) y/o paso 2102 de la Figura 21 La Figura 21 muestra pasos ilustrativos para aceptar suscripciones de presencia de acuerdo con una modalidad de la invención. En el paso 2102, se puede recibir un mensaje de suscribir presenci;as. Por ejemplo, este puede ser el mensaje de suscribir presencias enviado en el paso 2008 (Figura 20). En el paso 2104, se puede recuperar la información de contacto asociada con el emisor de mens¡aje de suscripción de presencias. Por ejemplo, el mensaje de suscripción de presencias puede hacer referencia a un caso de objeto d¡e contacto 402 (Figura 4) asociado con el emisor. El receptor del mensaje de suscribir presencia puede recuperar la información de contactó del emisor con el servicio de manejo de contacto 304 (Figura 3). En el caso 2106, se puede determinar si se ha establecido una política de suscripción para el emisor del mensaje de suscripción de presencia Por ejemplo, la información de contacto asociada con el emisor que es manejada por el servicio de manejo de contacto 304 (Figura 3) puede incluir una asociación entre el emisor y la política de suscripción para el emisor Alternativamente, se puede colocar una política de suscripción para todos los suscpptores, o para cierto grupo de suscpptores del cual el emisor es miembro Los ejemplos de políticas de suscripción simples incluyen bloquear y permitir Es decir, la suscripción de bloqueo se solicita del contacto, o permitir solicitudes de suscripción del contacto En una modalidad de la invención, la política de suscripción para el emisor e's determinada por el grupo de casos de objeto de contacto 402 (Figura 4) referenciados por el elemento de suscpptores autorizados 906 (Figura 9) del caso de objeto de MiContacto 406 asociado con el receptor Si un caso de objeto de contacto 402 asociado con el emisor está fijado haciendo referencia por el elementó de suscpptores autorizados 906, entonces el emisor es permitido, de otra manera el emisor es bloqueado Eni una modalidad de la invención, son posibles políticas de suscripción más sofisticadas Por ejemplo, las políticas de suscripción mas sofisticadas pueden bloquear y/o permitir la suscripción a uno o más subgrupos de la información de presencia del suscpptor Al permitir la suscripción al estado de agregación 606 (Figura 6) y a la descripción rica en texto 602 del objeto de presencia 600 y al bloquear la suscripción a otros elementos de objeto de presencia 604, 608, 610, es un ejemplo posible Cualquier subgrupo; adecuado, incluyendo todos los elementos de objeto de presencia 602, 604, 606, 608 y 610 y/u objetos programáticos 410, 412, 418; referenciados por los elementos de objeto de presencia 602, 604, 606, 608 y 610 pueden ser el tema de una política de suscripción y/o una suscripción. Si una política de suscripción está en su lugar para el emisor del mensaje de suscripción, el procedimiento puede progresar al paso 2108. De otra manera, el procedimiento puede progresar al paso 211 ¡O . En el paso 2110, el usuario de la plataforma de servicio de colaboración 302 (Figura 3) asociado con la presencia de colaboración que es el tema de la suscripción, puede ser consultado para una política de suscripción con respecto del mensaje de suscripción de presencia. Por ejemplo, el servicio de publicación 306 puede presentar una interfase de usuario (por ejemplo, una interfase de usuario gráfica o GUI) que presenta información de contacto asociada' con el emisor y opciones de política de suscripción tales como bloquear y permitir. El usuario después puede seleccionar la política de suscripción para el emisor con la interfase de usuario. En el paso 2112, la política de suscripción seleccionada por el usuario puede ser fijada para el emisor. Por ejemplo, la política de suscripciión puede ser asociada con el emisor a través del servicio de manejo de contacto 304 (Figura 3) de la plataforma de servicios de colaboración 302, o una referencia al caso del objeto de contacto 402 (Figura 4) asociada con el emisor puede ser agregada al grupo de referencias mantenidas por el elemento de suscriptores autorizadas 906 (Figura 9) del caos de objeto de MiContacto 406 asociado con el receptor. En el paso 2108, con una política de suscripción con respecto al emisor establecido, se puede determinar si la política de suscripción va a bloquear suscripciones. Si la política de suscripción es para bloquear suscripciones del emisor, entonces el procedimiento puede progresar al paso 2114. De otra manera, el procedimiento puede progresar al paso 2116. En ¡el paso 2116, la suscripción de presencia de colaboración puede s r aceptada Por ejemplo, la suscripción especificada por el mensaje de suscripción de preferencia puede ser asociada con el objeto de MiContacto 406 asociado con el receptor a través del servicio de manejo de contacto 304 (Figura 3). En una modalidad de la invención, la suscripción especificada por el mensaje de suscripción de presencia es aceptada agregando el caso de objeto de contacto, 402 (Figura 4) asociado con el emisor al grupo de caso de objetos ' de contacto 402 referenciados por el elemento de suscriptores activos 908 (Figura 9) del caso de objeto de MiContacto 406 asociado con el receptor. Cuando las suscripciones son más sofisticadas que las de permitir y bloquear, las suscripción especificada por el mensaje de suscripción de presencia puede ser filtrada con respecto a la política de suscripción asociada con el emisor antes de ser aceptada. Por ejemplo, si la suscripción es para toda la información de presencia, pero la política de suscripción limita l suscripción al estado de agregación, entonces la suscripción aceptad'a será solamente para el estado de agregación. En conjunto, los pasos 2108 y 2116 pueden asegurar que la suscripción sea aceptada de acuerdo con la política de suscripción. En bl paso 2114, se puede determinar si el emisor del mensaje de suscribir presencia es un contacto de clase en parejas del receptor.! Por ejemplo, el grupo de casos de objeto de contacto 402 (Figura 4) referenciados por el elemento en parejas 904 (Figura 9) del objeto de MiContacto 900 asociado con el receptor, puede ser verificado para un caso de objeto de contacto 402 asociado con el emisor del mensaje de suscribir presencia. El servicio de publicación 306 (Figura 3) puede determinar si el emisor del mensaje de suscribir; presencia es un contacto de clase en parejas del receptor con el servidor de manejo de contacto 304. Si el emisor del mensaje de suscribir presencia es un contacto de clase en parejas del receptor, entonces el procedimiento puede proseguir al paso 2118. De otra manera, el procedimiento puede progresar al paso 2120. Habiendo determinado que el emisor del mensaje de suscribir presencia es un contacto de clase en parejas del receptor, en el paso 2118, se puede determinar si el receptor de mensaje de suscribir presencia actualmente está suscrito a la presencia del emisor. Por ejemplo, la interfase de programación de aplicación del servicio de publicación 306 (Figura 3) puede tener un elemento de enumerar suscripciones que permite la enumeración de un grupo de suscripciones colocado por un contacto específico, y el grupo de suscripciones puede ser verificado para una suscripción colocada a la presencia del emisor. Alternativamente, o además, la información de contacto referenciada por el elemento de parejas 904 (Figura 9) del caso.de objeto de MiContacto 406 (Figura 4) asociado con el receptor ¡puede incluir una indicación, a cada contacto de clase en parejas, como si la suscripción de presencia ha sido aceptada por el contacto. Si se determina que el receptor del mensaje de suscribir presencia está actualmente suscrito a la presencia del emisor, entonces el procedimiento puede progresar al paso 2120. De otra manera, él receptor puede suscribirse a la presencia del emisor en el paso 212,2. Por ejemplo, puede ser que el receptor del mensaje de suscribir presencia ha realizado previamente los pasos descritos antes con referencia a la Figura 20 buscando el emisor, pero que el emisor no estaba en línea y el receptor está esperando en el paso 2010 (Figura 20) antes de buscar de nuevo. Ahora el emisor ha entrado en línea y ha enviado mensajes de suscripción de presencia. En lugar de continuar esperando, y después gastar recursos computacionales y de red buscando de nuevo al emisor, en una modalidad de la emisión, el receptor puede responder al mensaje de suscribir presencia del contacto de clase en parejas con un mensaje de suscribir presencia recíproco. En el paso 2122, el mensaje de suscribir presencia recíproco puede ser enviado al contacto de clase en parejas como se describe anteriormente para el paso 2008 (Figura 20). En el paso 2120, uno o más mensajes de notificar presencia pueden ser enviados al emisor de mensaje de suscribir presencia de acuerdo con la suscripción de presencia aceptada en el paso 2116.
Un mensaje de notificar presencia es inicial puede contener toda la información de presencia coincidente con la suscripción aceptada o, por ejerrjiplo, un grupo de diferencias de presencia sobre la informaci¡ón de presencia que el receptor sabe que ya posee.
Después !del mensaje de notificar presencia inicial, se pueden enviar mensajes de notificar presencia adicionales para notificar a los suscriptolres de actualizaciones de presencia de colaboración. Por ejemplo, ' después de una o más actualizaciones a la presencia de colaboración de un usuario de plataforma de servicios de colaboración particular 302 (Figura 3), uno o más mensajes de notificar presencia pueden ser enviados al servicio de publicación 306 (Figura 3). Para cada suscripción a la presencia del usuario, el servicio de publicación 306 puede determinar si uno o más subgrupos de infocmación de presencia referenciados por el mensaje de notificar presencia, coinciden con la suscripción. Para cada suscripción coincidente, el servicio de publicación 306 puede propagar el mensaje de notificar presencia al usuario de la plataforma de servicios de colaboración 302 que colocó la suscripción. Toldas las referencias, incluyendo publicaciones, solicitudes de patente; y patentes citadas aquí, se incorporan aquí por referencia al mismo ' grado como si cada referencia fuera individual y específicamente indicada como incorporada por referencia y se establecen en su totalidad.
El uso de los términos "uno" y "una, un" y "el, la, los, las" y referenci s similares en el contexto de describir la invención (específicamente en el contexto de las siguientes reivindicaciones) están construidos para cubrir tanto la forma singular como la plural, a menosjque se indique otra cosa aquí o se contradiga claramente por el contexto Los términos "que comprende", "que tiene", "que incluye" y "que contiene" son construidos como términos de extremo abierto ( s decir, que significa "que incluye pero no se limita a") a menos que se indique otra cosa La cita de escala de valores aquí meramente pretende servir como un método abreviado de hacer referencia individualmente a cada valor separado para que caiga dentro de la escala, a menos que se indique otra cosa aquí, y cada valor separado se incorpora en la especificación como si fuera individuajlmente citado aquí Todos los métodos descritos aquí pueden ser realizados en cualquier orden adecuado a menos que se indique otra cosa aquí o de otra manera claramente se contradiga por el contexto El uso de cualquiera y todos los ejemplos, o lenguaje i ilustrativo (por ejemplo, "tal como") provisto aquí, pretende meramente ilustrar mejor la invención y no posee una limitación en cuanto al alcance de la invención a menos que se reclame otra cosa Ningún lenguaje en la especificación debe ser construido como indicando cualquier elemento no reclamado como esencial para la práctica e la invención En la presente se describen modalidades preferidas de esta invención, incluyendo el mejor modo conocido para los inventores para llevar a cabo la invención Las variaciones de aquellas modalidades preferidas pueden ser evidentes para aquellos expertos en la técnica después de leer la descripción anterior Los inventores esperan que los expertos en la técnica empleen dichas variaciones según sea apropiado, y los inventores pretenden que la invención sea practicada de otra forma a la específicamente descrita aquí Por consiguiente, esta invención incluye todas las modificaciones y equivalentes de la materia objeto presentada en las reivindicaciones anexas aquí según permitido por la ley aplicable Además, cualquier combinación de los elementos antes descritos en todas sus variaciones posibles está abarcada por la invención a menos que se indique otra cosa aquí o que se contradiga claramente por el contexto

Claims (1)

  1. REIVINDICACIONES 1 Un medio legible por computadora que tiene en el mismo, instrucciones ejecutables por computadora para invitación de colaboración, que comprende seleccionar por lo menos un contacto con una interfase de usuario de invitación, determinar si una invitación va a ser enviada a por lo menos un contacto de la interfase de usuario de invitación, si se determina que la invitación va a ser enviada de la interfase de usuario de invitación entonces, por lo menos lanzar una aplicación de colaboración, y enviar la invitación de la interfase de usuario de invitación, de otra manera, por lo menos lanzar la aplicación de colaboración, y enviar la invitación de la aplicación de colaboración 2 El medio de acuerdo con la reivindicación 1, en donde la interfase de usuario de invitación es una interfase de usuario gráfica de un servicio de invitación 3 El medio de acuerdo con la reivindicación 1, en donde las instrucciones ademas comprenden seleccionar una actividad de colaboración con la interfase de usuario de invitación, y lanzar la aplicación de colaboración que comprende lazar una aplicación de colaboración asociada con la actividad de colaboración 4 El medio de acuerdo con la reivindicación 1, que comprende ademas almacenar detalles de invitación para su recuperación por la aplicación de colaboración 5 El medio de acuerdo con la reivindicación 1, en donde el envío de la invitación comprende enviar la invitación con un elemento de enviar invitación de una interfase de programación de aphcacio'n de un servicio de invitación 6 El medio de acuerdo con la reivindicación 5, en donde la interfase de programación de aplicación del servicio de invitación comprende el elemento de enviar invitación, una respuesta al elemento de invitación para responder a la invitación, y un elemento de cancelar invitación para cancelar la invitación 7 El medio de acuerdo con la reivindicación 1, en donde el envío de invitación comprende, para cada uno de por lo menos un contacto determinar un grupo de puntos finales para el contacto, y para cada punto final en el grupo de puntos finales, por lo menos establecer una conexión de comunicación al punto final, y enviar la invitación al punto final a través de la conexión de comunicación 8 El medio de acuerdo con la reivindicación 7, en donde una, representación de cada contacto incluye un caso de objeto programático de contacto que hace referencia a un grupo de casos de objeto! programático de punto final; y determinar un grupo de puntos finales para el contacto, comprende: consultar el caso de objeto programático de contacto que corresponde al contacto para el grupo de casos de objeto programático de punto final; y si el grupo de casos de objeto programático de punto final está vacío, determinar el grupo de puntos finales para el contacto con un servicio de ubicación de contacto. 9. ¡Un medio legible por computadora que tiene en el mismo, instrucciones ejecutables por computadora para la invitación de colaboración, que comprende: recibir una invitación para participar en una actividad de colaboración; presentar la invitación a un usuario de un plataforma de servicios de colaboración junto con la habilidad de seleccionar uno de aceptar, rechazar o ignorar en respuesta a la invitación; recibir la selección del usuario; y enviar una respuesta al emisor de la invitación, la respuesta incluyendo una indicación de la selección del usuario. 10!. El medio de acuerdo con la reivindicación 9, en donde: . la invitación es recibida en un punto final de la plataforma de servicios en colaboración; y las instrucciones además comprenden determinar si el punto final es capaz de participar en la actividad de colaboración 11 El medio de acuerdo con la reivindicación 10, en donde la invitación incluye una especificación de un grupo de capacidades requeridas para poder participar en la actividad de colaboración, la plataforma de servicios de colaboración incluye un registro de capacidades del punto final, determinar si el punto final es capaz de participar en la actividad de colaboración que comprende comparar el grupo de capacidades especificadas por la invitación por las capacidades registradas del punto final 12 El medio de acuerdo con la reivindicación 9, en donde la invitación es recibida en uno de un puerto de comunicaciones estándar para la plataforma de servicios de colaboración y un puerto de comunicaciones no estándar específico para una aplicación de colaboración, si la invitación es recibida en el puerto de comunicaciones estándar y el usuario selecciona aceptar la invitación, las instrucciones ademas comprenden almacenar por lo menos algo de la información contenida en la invitación para recuperación por la aplicación de colaboración, lanzar la aplicación de colaboración, y comenzar la actividad de colaboración, y si la invitación es recibida en el puerto de comunicaciones no estándar, y el usuario selecciona aceptar la invitación, las instrucciones ademas comprenden iniciar la actividad de colaboración 13 El medio de acuerdo con la reivindicación 12, que comprende además lanzar la aplicación de colaboración, y crear un oyente de invitación en un puerto de comunicaciones no estándar para la aplicación de colaboración 14 El medio de acuerdo con la reivindicación 9, en donde el envío de respuesta al emisor de la invitación comprende enviar la respuesta con una respuesta al elemento de invitación de una interfase de programación de aplicación de un servicio de invitación 15 Un servicio legible por computadora que tiene en el mismo, instrucciones ejecutables por computadora que implementan una interfase de programación de aplicación para un servicio de invitación de colaboración, que comprende un elemento de invitación para proporcionar acceso a datos de invitación que corresponden a una invitación a participar en una actividad de colaboración, un elemento de enviar invitación para enviar la invitación a por lo menos un contacto de un usuario de una plataforma de servicios de colaboración, una respuesta al elemento de invitación para responder a la invitación, y un elemento de cancelar la invitación para cancelar la invitación 16 El medio de acuerdo con la reivindicación 15, en donde los datos de invitación comprenden un ¡dentificador de invitación, y por, lo menos un identificador de capacidad 17 El medio de acuerdo con la reivindicación 15, en donde el elemento de enviar invitación comprende un ' elemento de enviar invitación segura para enviar con seguridad la invitación, y la ínterfase de colaboración de aplicación además comprende un elemento de enviar invitación no segura para enviar en forma no segura lá invitación 18 El medio de acuerdo con la reivindicación 15, en donde el elemento de enviar invitación comprende un elemento de enviar invitación asincrónico para enviar asincrónicamente la invitaciójn, y la interfase de programación de aplicación además comprende una elemento de enviar invitación sincrónico para enviar sincrónicamente la invitación 19. El medio de acuerdo con la reivindicación 15, que comprende además un elemento oyente de crear invitación para iniciar un oyente de invitación en un punto final de colaboración. 201 El medio de acuerdo con la reivindicación 15, que comprende además un elemento de capacidad de registro para registrar capacidades de colaboración con el servicio de invitación de colaboración; un elemento de capacidad de no registro para no registrar capacidades de colaboración con el servicio de invitación de colaboración; y un elemento de enumerar capacidades para enumerar capacidades registradas con el servicio de invitación de colaboración.
MX2007013353A 2005-04-25 2005-08-01 Sistema y metodo de invitacion colaborativa. MX2007013353A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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 (1)

Publication Number Publication Date
MX2007013353A true MX2007013353A (es) 2008-01-11

Family

ID=37188608

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007013353A MX2007013353A (es) 2005-04-25 2005-08-01 Sistema y metodo de invitacion colaborativa.

Country Status (11)

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

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7534169B2 (en) 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
US20070060358A1 (en) 2005-08-10 2007-03-15 Amaitis Lee M System and method for wireless gaming with location determination
US10510214B2 (en) * 2005-07-08 2019-12-17 Cfph, Llc 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
US9306952B2 (en) 2006-10-26 2016-04-05 Cfph, Llc System and method for wireless gaming with location determination
US8645709B2 (en) 2006-11-14 2014-02-04 Cfph, Llc Biometric access data encryption
US9411944B2 (en) 2006-11-15 2016-08-09 Cfph, Llc Biometric access sensitivity
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
WO2009092483A1 (en) * 2008-01-23 2009-07-30 Telefonaktiebolaget L M Ericsson (Publ) Communication arrangement
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
WO2010065887A2 (en) 2008-12-05 2010-06-10 Social Communications Company Pervasive realtime framework
US10356136B2 (en) 2012-10-19 2019-07-16 Sococo, Inc. Bridging physical and virtual spaces
WO2010123553A1 (en) * 2009-04-21 2010-10-28 Acp Interactive, Llc Mobile grid computing
US20100274852A1 (en) * 2009-04-28 2010-10-28 Nokia Corporation Method and Apparatus for Sharing Context to One or More Users
US8893000B2 (en) * 2009-08-26 2014-11-18 International Business Machines Corporation Relocation between virtual environments based upon promotional and alert conditions
US20110055135A1 (en) 2009-08-26 2011-03-03 International Business Machines Corporation Deferred Teleportation or Relocation in Virtual Worlds
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 (zh) * 2009-11-05 2012-10-10 中兴通讯股份有限公司 一种移动终端及建立端对端互联网协议连接的方法和系统
KR101059658B1 (ko) * 2010-07-01 2011-08-25 엔에이치엔(주) 개발자 인터페이스 제공 방법 및 시스템
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
WO2013106490A1 (en) * 2012-01-09 2013-07-18 Nielsen Christine Marie System and methods for an improved communication and interactive news forum
TWI627987B (zh) 2012-02-28 2018-07-01 Cfph有限責任公司 提供遊戲服務的方法及裝置
CN103312587A (zh) * 2012-03-13 2013-09-18 腾讯科技(深圳)有限公司 约会管理方法、装置和终端
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
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
CN104685489A (zh) * 2012-08-22 2015-06-03 诺基亚技术有限公司 用于在协作的同时交换状态更新的方法和装置
CN102946418B (zh) * 2012-10-26 2015-12-09 北京奇虎科技有限公司 一种终端设备、一种图片提供系统和一种图片传输方法
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US9462429B2 (en) 2013-12-12 2016-10-04 Futurewei Technologies, Inc. Missed call notification by notifying contacts of the called party
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
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 (ru) * 2014-10-08 2016-04-14 Вячеслав Васыльовыч Полиновськый Способ и система для создания трансфера технологий
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
US11836679B2 (en) * 2021-02-18 2023-12-05 Microsoft Technology Licensing, Llc Object for pre- to post-meeting collaboration
US11962427B2 (en) 2021-02-18 2024-04-16 Microsoft Technology Licensing, Llc Auto-generated object for impromptu collaboration
CN113709406B (zh) * 2021-10-27 2022-03-08 广州朗国电子科技股份有限公司 鸿蒙会议一体机的软件协同方法、系统和存储介质

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242213A (ja) * 1992-03-02 1993-09-21 Casio Comput Co Ltd 線図作成装置
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 (de) 1999-09-11 2001-03-15 Daimler Chrysler Ag System und Verfahren zur Unterstützung der Gruppeninteraktion (GIA) in hypermedialen Informationsräumen
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
WO2001098936A2 (en) 2000-06-22 2001-12-27 Microsoft Corporation Distributed computing services platform
US6968179B1 (en) * 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6714966B1 (en) 2000-07-31 2004-03-30 The Boeing Company Information delivery service
US6701344B1 (en) 2000-07-31 2004-03-02 The Boeing Company Distributed game environment
JP3946426B2 (ja) * 2000-09-28 2007-07-18 株式会社日立製作所 内燃機関の可変動弁装置
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
US6791582B2 (en) 2000-12-29 2004-09-14 International Business Machines Corporation Method and system for identifying and displaying information that is new or has been updated in a place
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 (ja) * 2001-09-14 2010-04-07 富士通株式会社 コラボレーション方法、システム、プログラム及び記録媒体
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 (ja) 2001-12-28 2007-08-29 富士通株式会社 広告配信方法及び広告配信装置
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 Corp 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
KR100991221B1 (ko) * 2002-07-30 2010-11-04 소니 주식회사 프로그램이 기록된 컴퓨터로 읽을 수 있는 매체, 정보 처리 방법 및 장치
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 (ja) * 2002-09-06 2004-04-02 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
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
WO2004059550A1 (en) 2002-12-20 2004-07-15 Arthur Mitchell 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
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 (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> ネットワークコミュニティシステム及びネットワークコミュニティの構成方法並びに該システムに用いる端末装置
JP4389450B2 (ja) * 2003-02-24 2009-12-24 富士ゼロックス株式会社 作業空間形成装置
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
US20060242235A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Presence monitoring in a serverless peer-to-peer system
US20060242236A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation System and method for extensible computer assisted collaboration
US8036140B2 (en) 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7617281B2 (en) 2005-04-25 2009-11-10 Microsoft Corporation System and method for collaboration with serverless presence

Also Published As

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

Similar Documents

Publication Publication Date Title
US7752253B2 (en) Collaborative invitation system and method
US7617281B2 (en) System and method for collaboration with serverless presence
US8036140B2 (en) Application programming interface for inviting participants in a serverless peer to peer network
US7756924B2 (en) Peer communities
EP1974501B1 (en) Ad-hoc creation of group based on contextual information
US7660851B2 (en) Meetings near me
CN101517963B (zh) 分布式、可缩放、可插入的会议体系结构
US20070008987A1 (en) Capturing contacts via people near me
JP2008539504A5 (es)
US10404631B2 (en) Creating groups in a messaging system
US20060239234A1 (en) Application programming interface for discovering endpoints in a serverless peer to peer network
US20080250149A1 (en) Methods And System For Providing Concurrent Access To A Resource In A Communication Session
Ådahl Shared resource for collaborative editing over a wireless network
US20060242236A1 (en) System and method for extensible computer assisted collaboration
US20070050450A1 (en) Interfacing an applet with a collaboration program
WO2018132304A1 (en) Creating groups in a messaging system
DONG Application group support infrastructure for octopus: A multimedia communication middleware