CN103929343B - 一对多数据投影系统和方法 - Google Patents

一对多数据投影系统和方法 Download PDF

Info

Publication number
CN103929343B
CN103929343B CN201410135540.0A CN201410135540A CN103929343B CN 103929343 B CN103929343 B CN 103929343B CN 201410135540 A CN201410135540 A CN 201410135540A CN 103929343 B CN103929343 B CN 103929343B
Authority
CN
China
Prior art keywords
demonstration
equipment
projector
attendant
user
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201410135540.0A
Other languages
English (en)
Other versions
CN103929343A (zh
Inventor
R·古普塔
T·R·曼尼恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103929343A publication Critical patent/CN103929343A/zh
Application granted granted Critical
Publication of CN103929343B publication Critical patent/CN103929343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Abstract

信息或演示投影的系统和方法允许用户在不需要额外的电缆的情况下向单个或多个屏幕演示信息。通用即插即用(UPnP)用于广告、找出并控制显示设备。反向终端服务(TS)会话用于将显示连接到用户机器。通过订购模型从演示者端和出席者端对演示的出席和接收方进行寻址。通过使用会议邀请方便了该订购模型并解决了演示的安全性。这些邀请由演示者生成,并可由出席者请求。

Description

一对多数据投影系统和方法
本发明专利申请是申请日为2004年10月20日、申请号为200410088277.0、名称为“一对多数据投影系统和方法”的发明专利申请的分案申请。
技术领域
本发明一般涉及信息演示,尤其涉及用于从一个演示者到多个出席者和投影设备的信息投影的系统和方法。
背景技术
尽管在近几年来实现了技术的进步,然而许多传统的商业活动在当今的工作场所中仍具有突出的位置。一个这样的活动是会议或讨论会。通常,这类协作性工作将涉及由一个参与者对多个其他的参与者所进行的材料演示。演示信息的传统手段包括在屏幕上投影、在监视器或其它光学活动设备上显示、或硬拷贝形式的演示,如白板、黑板或画架。尽管就成本、复杂性和有效性方面而言,这些方法各有其优点和缺点,然而投影和显示通常最适合快速变化的数据,如通过幻灯片或视频来演示。另外,投影和显示对从计算机或其它计算装置的屏幕共享信息也是理想的,如在微软品牌的PowerPoint幻灯片演示过程中。
不幸的是,对于投影技术用户和参与者,从计算装置建立信息投影和显示的传统机制通常是复杂的,尽管一旦启动之后即高度有效,需要连接软线,如VGA电缆,并需要设置各种参数。这一复杂性可导致演示之前和演示过程中出现新的困难,并经常导致演示的延迟开始。另外,这一机制不允许将演示控制从一个演讲者简单且快速地转移到另一个演讲者。由此,例如,如果第一演讲者在使用PC来演示POWER POINT幻灯片,并希望将讲坛让给第二个演讲者,第二个演讲者通常必须物理地离开其座位,并走到第一个演讲者的PC的旁边,在这一段时间内,将对其他参与者造成不连续性、延迟、和分心。
另一问题涉及在这样的会议过程中所演示的信息的安全性。具体地,一旦出席者物理地处在房间里,或能够观察演示进行中的房间,则无法限制该出席者察看所演示的信息的能力。尽管可采用物理方法来防止对演示的物理位置的初始访问,然而这些方法不能解释为当如上所述在同一位置给出多个演示时的安全性。即,一旦一个人处于演示位置内,则他能够观察该位置内给出的所有演示。
为解决这一关切,许多研讨会位置使用了多个不同、更小的演示位置或房间。以这一方式,进入每一演示的个体能够被更仔细地筛选。然而,尽管这解决了演示者的安全关切,但它通常令出席者出席这些演示时发生困难。这些出席者现在必须物理地从一个位置移动到另一个位置来观看期望的演示,必须在每一位置处收拾、打开他们的材料。此外,残疾出席者会错过演示的开始或不得不提早离开演示以移动物理位置。当出席者进入错误的房间或无法找到特定演示的位置时,将错过另外的材料。
因此,本领域需要一种解决演示者和出席者的需求和期望、为演示提供安全性保障、并允许在演示过程中控制信息共享的一对多(1:M)信息投影系统和方法。
发明内容
本发明提供了一种向多个出席者显示信息的新的、改进的系统和方法。更具体地,本发明提供了一种向多个出席者传送演示的新的、改进的系统和方法。较佳地,可在投影仪和/或多个出席者的显示设备上显示演示。演示可以是开放的,或在“容许”出席者察看该演示之前需要执行安全验证。
在本发明的一个较佳实施例中,演示和出席者都符合通用即插即用标准,使得他们能够被在网络上发现。通过终端服务会话作出连接。从演示者的观点来看,发现投影仪和出席者允许控制是谁和是什么被接纳进了演示。这可通过需要用演示者生成的邀请来获取对演示的允许来实现。也可通过需要密码来添加安全性。演示者也可将演示指定为开放,并可自动为请求进入演示的任一出席者生成邀请。从出席者的观点来看,他们可通过执行网络上演示设备的搜索来发现可用的演示。他们然后可选择希望观看哪一(些)演示,并可请求进入的许可。当演示者希望停止演示时,它只要通知演示管理器停止该演示。演示管理器然后将断开所有的连接并清除任何状态。
在本发明的一个实施例中,提供了应用编程接口(API)。这些API包括用于观看演示的方法和用于给出演示的方法。观看API包括注册和取消注册显示设备的方法,以及出席演示的方法。给出演示API包括用于开始和停止演示、邀请和断开出席者、过滤演示者的屏幕、检索个别用户和投影仪的列表、检索投影仪的能力、状态和连接列表、以及检索并设置投影仪显示设定和模式的方法。
附图说明
结合在内并形成说明书的一部分的附图示出了本发明的若干方面,并与描述一起解释了本发明的原理。附图中:
图1是一般示出本发明所驻留的示例性计算机系统的框图;
图2所示是两个代码片断之间的编程接口的简化框图;
图3所示是两个代码片断之间的编程接口的替换实施例的简化框图;
图4所示是具有分裂成多个离散的通信的通信的两个代码片断之间的编程接口的简化框图,展示出了分解的概念;
图5所示是具有分裂成多个离散的通信的通信的两个代码片断之间的编程接口的替换实施例的简化框图,示出了分解的概念;
图6所示是某些方面被忽略、添加或重定义的两个代码片断之间的编程接口的简化框图,示出了重定义的概念;
图7所示是某些方面被忽略、添加或重定义的两个代码片断之间的编程接口的替换实施例的简化框图,示出了重定义的概念;
图8所示是具有合并两个代码模块使得其之间的接口改变形式的功能的两个代码片断之间的编程接口的简化框图,示出了内嵌代码的概念;
图9所示是具有合并两个代码模块使得其之间的接口改变形式的功能的两个代码片断之间的编程接口的替换实施例的简化框图,示出了内嵌代码的概念;
图10所示是通过将通信分裂成多个离散的通信来间接地实现通信的两代码模块之间的编程接口的简化框图,示出了脱离的概念;
图11所示是通过将通信分裂成多个离散的通信来间接地实现通信的两代码模块之间的编程接口的替换实施例的简化框图,示出了脱离的概念;
图12所示是动态地重写代码以用达到同一结果的其它东西来替换编程接口的简化框图,示出了重写的概念;
图13所示是动态地重写代码以用达到同一结果的其它东西来替换编程接口的替换实施例的简化框图,示出了重写的概念;
图14A和14B所示是可实现本发明的一个实施例的网络系统的替换体系结构的示意图,包括多个计算机,包括投影计算机和多个投影目标计算机,以及电子会议房间显示屏幕或投影仪;以及
图15是详细地示出了本发明的一个实施例中投影应用程序组件和相关的组件的放置和互连接的示意图。
尽管将结合某些较佳实施例描述本发明,它并不意味着将其局限在这些实施例上。相反,描述旨在覆盖包括在所附权利要求书定义的本发明的精神和范围之内的所有的替换、修改和等效方案。
具体实施方式
转向附图,其中,相同的标号标识相同的元件,示出本发明在合适的计算环境中实现。尽管并非所需,但本发明将在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如由个人计算机执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明可以使用其它计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、大型机等等。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如由计算机执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储媒质中,包括存储器存储设备。
参考图1,用于实现本发明的示例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的局部总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM131中。RAM132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和定位设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口195连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN171。当在WAN网络环境中使用时,计算机110可包括调制解调器172或其它装置,用于通过WAN173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
在以下描述中,将参考由一个或多个计算机执行的行动和操作的符号表示来描述本发明,除非另外指明。由此,可以理解,这类行动和操作,有时称为计算机执行的,包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,从而以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是存储器的物理位置,具有数据的格式所定义的具体属性。然而,尽管在上述的上下文环境中描述本发明,它并不意味着限制,如本领域的技术人员所理解的,后文所描述的行动和操作的各方面也可以硬件实现。
的确,编程接口(或简称之为接口)可以被视为用于令代码的一个或多个片断能与由代码的一个或多个其它片断提供的功能进行通信或对其进行访问的任一机制、过程、协议。可选地,编程接口可以被视为能够通信地耦合至其它计算机的一个或多个机制、方法、函数调用、模块等的系统的组件的一个或多个机制、方法、函数调用、模块、对象等。上述语句中的术语“代码片断”意在包括代码的一个或多个指令或代码行,并包括,如,代码模块、对象、子例程、函数等等,无论应用的术语是什么、或代码片断是否被单独编译、或代码片断是否被提供为源码、中间码或对象代码、代码片断是否在运行时系统或进程中使用、或它们是否位于同一或不同机器上或跨多个机器分布、或由代码片断表示的功能是否完全由软件、完全由硬件或硬件和软件的组合来实现。
概念上,编程接口可以被一般地察看,如图2或图3所示的。图2示出了接口“接口1”为管道,第一和第二代码片断通过该管道进行通信。图3示出的接口包括接口对象I1和I2(可以是或不是第一和第二代码片断的部分),它们令系统的第一和第二代码片断能通过媒质M进行通信。在图3中,可以认为接口对象I1和I2为同一系统的单独接口,并且也可以认为对象I1和I2加上媒质M构成了接口。尽管图2和3示出了双向流程以及该流程的每一侧上的接口,某些实现可仅具有一个方向上的信息流(或如下所述没有信息流),或仅具有一侧的接口对象。作为示例而非局限,诸如应用编程或程序接口(API)、入口点、方法、函数、子例程、远程过程调用和组件对象模型(COM)接口等术语包含在编程接口的定义之内。
这类编程接口的方面可包括第一代码片断向第二代码片断发送信息的方法(其中,“信息”以其最广泛的意义使用,并包括数据、命令、请求等等);第二代码片断接收信息的方法;以及该信息的结构、序列、语法、组织、模式、时序和内容。在这一点上,只要信息以接口所定义的方式传输,底层传输媒质本身对接口的操作可能并不重要,无论该媒质是有线还是无线,或两者的组合。在某些情况下,在常规意义上,当一个代码片断仅访问由第二代码片断执行的功能时,信息可不在一个或两个方向上传输,因为信息传输可以是或者通过另一机制(如,信息被放置在与代码片断之间的信息流分离的缓存、文件等中)或者不存在。这些方面的任一个或所有可以在给定的情况下重要,如,取决于代码片断是否是松散耦合或紧密耦合配置的系统的一部分,并且因此该列表应当被认为是说明性的而非限制。
编程接口的这一概念对本领域的技术人员是已知的,并且可以阅读上述本发明的详细描述而清楚这一概念。然而,有其它方法来实现编程接口,并且除非明显地排除,这些方法也由所附权利要求书包含在内。这些其它方法可能看似比图2和3的视图更精密或复杂,但是它们仍执行类似的功能来完成同一整体结果。现在简要描述编程接口的某些说明性替换实现。
A.分解(Factoring)
可以通过将通信分裂成多个离散通信来间接地实现从一个代码片断到另一个的通信。这在图4和5中示意性地描述。如图所示,可以按照功能的可分组来描述某些接口。由此,可以分解图2和3的接口功能来达到相同的结果,如同可以在数学上提供24,或2乘2乘3乘2一样。因此,如图4所示,可以细分由接口“接口1”提供的功能以将该接口的通信变换成多个接口“接口1A”、“接口1B”、“接口1C”等,而达到相同的结果。如图5所示,由接口I1提供的函数可以被细分成多个接口I1a、I1b、I1c等,而达到相同的结果。类似地,从第一代码片断接收信息的第二代码片断的接口I2可以被分解成多个接口I2a、I2b、I2c等。当分解时,包括在第一代码片断中的接口的数量不需要匹配包括在第二代码片断中的接口的数量。在图4或5的任一情况下,接口“接口1”和I1的功能性精神分别与图2和3的保持相同。接口的分解也可遵从联合、通信和其它数学性质,使得分解较难识别。例如,操作的顺序可以是不重要的,因此,由接口完成的功能可以早在达到该接口之前由另一段代码或接口完成,或者由系统的另一组件执行。此外,编程领域的普通技术人员可以理解有各种方式来作出不同的函数调用而达到相同的结果。
B.重定义
在某些情况下,可能忽略、添加或重定义编程接口的某些方面(如参数),而仍达到预期的结果。这在图6和7中示出。例如,假定图2的接口“接口1”包括函数调用Square(input,precision,output)(平方),它包括三个参数,input(输入)、precision(精度)和output(输出),并且由第一代码片断向第二代码片断发布。如果中间参数precision在给定的情形下无关紧要,如图6所示,它也可以被忽略或甚至由meaningless(无意义)(在这一情况下)参数来替换。也可以添加无关紧要的additional(另外)参数。在任一情况下,只要在输入由第二代码片断平方之后返回输出,就可以达到square(平方)的功能。Precision也有可能对计算系统的某一下游或其它部分是极有意义的参数;然而,一旦认识到precision对计算平方这一有限目的不是必需的,它可以被替换或忽略。例如,不是传递一个有效的pricision值,而是传递诸如出生日期等无意义的值,而不对结果产生不利地影响。类似地,如图7所示,接口I1由接口I1'替换,它被重新定义来忽略或向接口添加参数。接口I2可类似地被重定义为接口I2',它被重定义来忽略不必要的参数,或可在别处处理的参数。此处的要点是在某些情况下,编程接口可包括对某一目的而言所不需要的方面,诸如参数,因此可以忽略或重定义它们,或在别处处理它们用于其它目的。
C.内嵌代码(inline coding)
合并两个单独的代码模块的一些或全部功能也是可行的,使得它们之间的“接口”改变形式。例如,图2和3的功能性(functionality)可以被分别转化到图8和9的功能性。在图8中,图2的先前的第一和第二代码片断被合并成包含两者的模块。在这一情况下,该代码片断仍可以彼此通信,但是该接口可以适用于更适合单个模块的形式。由此,例如,正式的调用(Call)和返回(Return)状态将不再必需,但是依照接口“接口1”的类似的处理或响应仍是有效的。类似地,如图9所示,图3的部分(或所有)接口I2可以内嵌地写入接口I1来形成接口I1''。如图所示,接口I2被划分成I2a和I2b,并且接口部分I2a内嵌在接口I1中书写代码来形成接口I1''。对于具体的示例,考虑图3的接口1执行函数调用square(input,output),它由接口I2接收,在由第二代码片断处理传递到input的值(对其求平方)之后,它被使用output传递回已求平方的结果。在这一情况下,由第二代码片断执行的处理(对input求平方)可以由第一代码片断在不调用该接口的情况下执行。
D.脱离(divorce)
可以通过将通信分裂成多个离散的通信来间接地完成从一个代码片断到另一个的通信。这在图10和11中示意性地描述。如图10所示,提供了中间件的一个或多个片断(脱离接口(Divorce Interface),因为它们从原始的接口脱离功能和/或接口函数),以转化第一接口“接口1”上的通信,使得它们符合不同的接口,在本情况下为“接口2A”、“接口2B”和“接口2C”。这可以在这样一种情况中完成,例如,依照“接口1”协议设计应用的已安装基础与如操作系统进行通信,但是然后改变该操作系统来使用不同的接口,在本情况下为接口“接口2A”、“接口2B”和“接口2C”。要点是改变了由第二代码片断使用的原始接口,使得它不再与第一代码片断所使用的接口兼容,因此使用中间物来令旧接口和新接口兼容。类似地,如图11所示,可以使用脱离接口DI1引入第三代码片断以从接口I1接收信息,并使用脱离接口DI2引入第三代码片断以向例如接口I2a和I2b发送接口功能,重新设计接口I2a和I2b以使用DI2,但是提供相同的功能性结果。类似地,DI1和DI2可共同工作以将图3的接口I1和I2的功能翻译成一新操作系统,而提供相同或类似的功能性结果。
E.重写
再一种可能的变化是动态地重写代码,使用别的东西来替换接口的功能,而仍达到相同的总体结果。例如,可以有一种系统,其中,向执行环境(如由.Net框架提供的环境、Java运行时环境或其它类似的运行时刻类型环境)中的及时制(Just-in-Time)(JIT)编译器或解释器提供了以中间语言(如Microsoft IL、Java ByteCode等)呈现的代码片断。可以书写JIT编译器以动态地将通信从第一代码片断转化到第二代码片断,即,令它们符合第二代码片断(原始或不同的第二代码片断)所需要的不同接口。这在图12和13中有描述。如图12中所见,这一方式类似于上述的脱离情形。它可以在这样一种情况下完成,例如,依照“接口1”协议设计应用的已安装基础操作系统进行通信,然后改变该操作系统以使用不同的接口。JIT编译器可以用于令已安装基础应用的空中通信符合操作系统的新接口。如图13所描述的,可以应用这一动态重写接口的方法以进行动态分解,或者改变接口。
应当注意,上述通过替换实施例实现与接口相同或相似的结果的情形也可以以各种方式串行、并行或与其它干预代码组合。由此,上文呈现的替换实施例并非相互排除,并且可以被混合、匹配和组合以产生与图2和3中所呈现的一般情形相同或等效的情形。也应当注意,如同大多数编程构造,本发明可能未描述达到与接口相同或相似的功能的其它类似的方式,但是它们仍由本发明的精神和范围来表示,即,应当注意,它至少部分地是由作为接口的值的基础的接口表示的功能或由其启用的有利结果。
理解了这一概念之后,现在将注意力针对图14A。该图示意性地示出了可实现本发明的网络环境。具体地,图中所示的网络环境包括投影设备或投影仪201,它可以是任一计算装置,如参考图1所描述的,用于将信息投影到一个或多个投影目标设备或出席者203、205、207和209。投影目标设备或出席者203-207也称为用户,并示作类似于投影仪201的非专用计算装置。在这一情况下,例如,出席者(用户)201-207可以是,或使用,作为示例而非局限,膝上计算机、台式计算机、手持式计算设备、任一其它多用途计算设备或这些类型的设备的任一组合。用户不需要使用或者是传统的计算设备,并且可以是例如电视系统。网络211可用于在出席者203-207和投影仪201之间传输信息。
类似地,出席者可另外或可选地包括专用投影设备,如电子会议室投影仪或显示设备209,并可被称为投影仪。对于其它出席者(用户)203-207,出席者(投影仪)209较佳地通过网络211与投影仪201(也是用户)进行通信。网络211可以是任一类型的网络,但是通常包括演示者201和网络211之间,以及网络211和出席者(用户)203-207之间的无线接口。此外,网络211和出席者(投影仪)209之间的接口可期望是有线或无线的。例如,由于投影仪209可在长时间内保留在特定位置,如会议室,因此通过具有从投影仪209到网络211的有线接口不会显著地降低设备的效用。网络211本身一般-尽管并非所需-是有线基础结构,如企业LAN、WAN或其它传统的全部或部分有线的网络。
图14B示意性地示出了一个替换网络环境。具体而言,演示者201和出席者203-209通过包括无线链路213-225的特别(ad hoc)无线网络互相连接。注意,并非所有的连接213-225都是必需的,因为特别网络不需要每一节点到每一其它节点的直接连接。例如,节点可通过到另一节点的单个连接间接地连接到特别网络的所有节点。由此,如需要,特别拓扑包括环、线、网、集线器-辐条、和/或其它拓扑。通常,特定设备从其它设备的物理距离将确定该特定设备将直接连接到特别网络的哪一或哪些设备,如果有的话。
在继续到结构的交互的详细描述之前,后文将先简要描述上述组件的使用和交互场景。通常在讨论会室或会议室背景中,演示者201为希望将感兴趣的材料投影到接收个体的演示个体所占有,尽管本发明的系统也可在非商业背景,如家庭环境中使用。感兴趣的材料可以是图形的,如图像或视频,或文本的,如文档、图表等,并也可包括音频元素。在本发明的一个实施例中,感兴趣的材料完全是音频信息。尽管感兴趣的材料并不需要是计算机生成的,它较佳地以计算机可读格式对本地或远程演示者201可访问。出席者(用户)203-207可以是接收个体的膝上计算机,而出席者(投影仪)209可以是专用投影系统,如会议室投影仪或大屏幕监视器或通常不与任一用户物理关联的其它显示屏,不像移动的膝上或手持式设备。
出席者203-209之间的网络连通性通常在每一设备进入与演示用户关联的演示者201的通信范围时开始。由此,例如,假定投影仪209永久地驻留在会议室中。当演示用户进入拥有演示者201的会议室时,在投影仪209和演示者201之间形成无线连接,该无线连接要么是特别网络,要么通过网络基础结构。演示用户然后能够从其设备201将材料投影到投影仪209的屏幕,用于接收个体进行观察。以这一方式,演示用于在不物理连接任何电缆或软线的情况下实现了演示,并可类似地结束演示,或在不断开任何电缆或软线的情况下将其控制转移到使用另一投影设备的另一演示个体。
以大致同一方式,演示用户可向多个目标设备,如出席者(用户)203-207演示感兴趣的材料。例如,在本发明的一个实施例中,演示者201和用户203-209之间的网络连接可以在自动化发现之后自动执行,而不需要用户查找并操纵物理连接。在这一情况下,材料的演示从演示者201发向出席者的屏幕,出席者可以是属于接收个体的膝上计算机。这一特定结构将在后文更完整地讨论,并讨论其关联的各种安全方面。
图15示出了本发明的系统和方法中存在的不同组件和二元(binary)。创建演示设备500并在演示者的机器上注册。该设备注册了UPnP,并且一旦注册,它即能够通过SSDP来发现。较佳地,该设备由UPnP在注册过程中创建的其唯一设备名(UDN)来标识。该设备包含一UPnP服务,称为演示服务(presentationserevice)。创建用户显示设备502并在出席者的机器上注册。该设备也注册了UPnP,并且一旦注册,它可以使用SSDP来发现。该设备也由其UDN标识,并包含一UPnP服务,称为用户显示服务(userdisplayservice)。图15中的这三个二元包括CRP presentation.dll504、CRP attendee.dll506以及Microsoft.CRP.dll508。CRP presentation.dll包括演示设备(presentationdevice),它是UPnP演示设备。另外,该二元为演示设备注册和取消注册提供了功能性。这些方法用于注册和取消注册演示设备。所包括的还有控制功能。这些方法用于控制投影仪,如获取投影仪能力、显示模式等。最后,CRP presentation.dll包括出席者控制功能性。这些方法用于向出席者发送邀请。
二元CRP attendee.dll为用户显示设备提供了功能,用户显示设备是用于用户显示的UPnP设备。也为用户显示设备注册和取消注册提供了功能性。这些方法用于注册和取消注册用户显示设备。最后,CRP attendee.dll二元包括用于演示控制的功能性。这些方法用于从演示者请求邀请。
Microsoft.CRP.dll二元是在CRP.attendee.dll和CRP presentation.dll二元上提供的包装(wrapper)。它向应用程序展现了用户友好管理接口。该Microsoft.CRP.dll也实现了控制并创建终端服务会话510的功能性。
本发明的会议室投影仪(CRP)系统和方法依赖于三个部分。第一部分是向应用程序提供的用户接口。第二部分是终端服务(TS)。为把演示投影到另一机器(投影仪或出席者),使用了终端服务协作API。终端服务允许一个或多个终端服务客户机连接到终端服务服务器,并观看由TS服务器(通常是桌面)放映的会话。演示者担当了终端服务服务器,并且出席者和投影仪担当了终端服务客户机。第三,CRP依赖于UPnP。UPnP具有设备的概念,它展现了可由本地或远程机器上的任一应用程序调用的一组行动。UPnP也为UPnP设备的发现提供了SSDP。
在典型的设置中,演示、出席者和投影仪都是UPnP设备。通过使用SSDP,用户可找到本地网络上存在的演示设备、出席者设备和投影仪设备。为使TS客户机连接到TS服务器,TS客户机需要TS服务器生成的邀请。为将邀请从服务器传输到客户机,使用UPnP设备提供的行动。有UPnP设备上可调用的行动,如演示设备将具有请求邀请的行动,而出席者设备将具有可用于邀请出席者的行动。
当演示者希望给出演示时,它将创建终端服务会话510。如果有它想要邀请的出席者和投影仪存在,它将创建终端服务票并向出席者和投影仪发送该邀请。为邀请出席者,要调用出席者设备上的邀请行动。为连接到投影仪,要调用UPnP设备上的连接行动。一旦投影仪和出席者具有了邀请,他们将向终端服务客户机提供邀请。终端服务客户机然后将联系终端服务会话。
如本领域众所周知的,TS服务器是COM组件。它由上述Microsoft.CRP.dll二元使用。最新的TS协作API用于创建会话。与其它COM组件一样,它必须注册了再使用。如本领域众所周知的,TS客户机是Active X控件。Active X控件具有与其关联的某些属性,如控件的宽度、高度、邀请以及如需要使用邀请的密码。Active X控件必须注册来使用。发现机制通常是SSDP,以发现CRP系统中的设备。然后将这些设备的UDN作为输入提供。
本发明的一个示例性实施例中,这些设备的状态变量包括用于表示具体值或列表的属串A_String,以及作为显示设备的名字或标识串的A_Name。
在两种状态都介绍了之后,现在简要描述行动。这些行动包括邀请方法、演示者友好的名字方法以及演示友好的名字方法。GetName方法返回出席者的标识串。如果指定的值无效,该方法返回InvalidValue错误描述。
在本发明的一个实施例中,用户可执行两种操作,即用户可给出演示或观看演示。当给出演示时,演示者可希望在投影仪和/或另一用户的显示设备上显示演示。当期望给出演示时,演示者将执行以下步骤。首先,演示者开始演示会话。这将创建可由其它用户发现的演示设备。它也将创建终端服务会话。
演示者还会希望发现邻近的投影仪,并连接到这些投影仪。为完成这一过程,演示者对投影仪执行SSDP搜索。SSDP搜索将返回投影仪的列表。演示者然后将从列表中选择一个或多个投影仪。然后如需要,提供投影仪的UDN和密码用于建立连接。基于该密码使用TS会话的邀请管理器为投影仪创建邀请。然后通过调用投影仪显示设备上的连接行动将该邀请发送到投影仪。
用户还会希望邀请其它用户观看演示。为完成这一过程,演示者将执行其它用户的搜索。搜索将提供用户的显示设备的UDN。一旦发现了UDN,终端服务邀请管理器将为被邀请者创建邀请(仅为服务邀请,否则使用一般邀请)。然后通过调用用户显示设备上的邀请行动将该邀请发送到被邀请者。
演示者还会希望当另一用户希望出席演示时被通知到。将由希望加入演示的用户调用上述演示设备上的行动RequestInvitation(请求邀请)。在该情况下,给予演示者具有关于该用户的信息的回叫。演示者然后可使用该信息来如同任一其它用户一样邀请该用户。可选地,演示者可能不希望操心什么邀请书,只是单纯地希望允许任何人加入演示,而不需要任何验证和密码。在这两种情况下,只要在演示者的演示设备上调用了RequestInvitation行动,将直接向用户发送该邀请。如果演示是安全的,则该邀请是密码保护的。
当演示者想要停止演示时,它只要取消注册演示设备并关闭TS会话。
用户执行的其它操作是观看演示。在这一情况下,出席者会希望首先发现可用的演示。可使用本领域众所周知的SSDP来容易地完成这一过程。出席者将接收演示的UDN,然后用相关的信息调用演示设备上的行动RequestInvitation。这仅在演示允许通过这一请求来访问的情况下是有效的。如果演示者允许出席者观看演示,出席者将用邀请调用显示设备上的行动Invite(邀请)。然后将该邀请给予TS客户机以建立连接。TS客户机然后连接到演示者的TS会话。万一演示者想要在不被请求邀请的情况下邀请出席者,演示者将如上所述直接调用显示设备上的行动Invite。
一旦建立了连接,依照2002年7月25日提交的名为“改进数据投影系统和方法(IMPROVED DATA PROJECTION SYSTEM AND METHOD)”的共同待批的申请号10/179,431,可向出席者-用户和投影仪-提供演示,该申请转让给本发明的受让人,并且其教导和揭示通过引用整体结合于此。如该共同待批的申请中所描述的,可通过其提供演示的网络包括在基础结构模式或作为特别网络的一部分操作的802.11适应无线链路。当然,本领域的技术人员将认识到,也可以使用其它无线网络以及有线网络。同样如该共同待批的申请中所描述的,可通过标准通用即插即用通知机制来实现用户位置的通知,其中,出席者的通用即插即用组件向演示者的通用即插即用组件通知其存在和能力。可选地,演示者的通用即插即用组件可肯定地搜索并查找出席者的通用即插即用组件。该过程还可被倒转,演示者通告其存在和其演示,使得出席者可如上所述找到演示并请求准许进入。
如上所述,Microsoft.CRP.dll二元展现了管理接口。该CRP系统中提供的主类包括演示类(presentation)、出席者设备类(attendee device)、投影仪类(protector)和出席者类(attendee)。演示类是演示者使用的主要类。为开始演示,演示者必须例示该类。出席者设备类用于观看演示。即,为观看演示,必须例示该类。它创建出席者设备,并提供演示的邀请。投影仪类表示投影仪。它与投影仪设备进行通信以获取关于投影仪的信息。最后,出席者类表示出席者。它提供方法和属性来给予控制或断开出席者。现在提供这些类的每一个的更详细讨论。
以下表1示出了Microsoft.CRP.presentation类的概述。
表1
如表1中所见到的,演示类包括两个构造函数。第一个是演示构造函数(Presentation),它创建一个新的演示。在内部,它首先例示终端服务会话。该终端服务会话是RDP会话类型。第二,它打开该会话。第三,该类从TS会话对象检索邀请管理器。邀请管理器提供创建邀请的功能。第四,该构造函数创建一般邀请。它然后与事件挂钩以使出席者连接和断开。最后,该方法通过调用CRP presentation.dll二元中的注册方法来注册演示设备。该注册方法将返回到该演示的句柄。第二个演示构造函数与第一个完全一样起作用,唯一的差异是在生成一般邀请的过程中,提供密码作为输入。
该演示类的属性包括仅限邀请属性(InvitationOnly),它控制演示是否是仅限邀请演示。如果演示仅限于邀请,则对邀请的任何请求将被拒绝。如果该演示不仅限于邀请,则如果没有为请求邀请事件提供委托,则向请求邀请的调用者提供一般邀请创建构造,或者如果为请求邀请事件提供了委托,则给予应用程序以回叫。
由该演示类展现的方法包括用于邀请由出席者设备的UDN标识的出席者的邀请方法(Invite)。该方法仅调用CRP presentation.dll二元提供的邀请出席者API。使用构造演示对象过程中创建的一般邀请。也提供了第二邀请方法来邀请由出席者设备的UDN标识的出席者。通过该方法向出席者提供的邀请是密码保护的。该方法中调用的步骤是使用TS邀请管理器创建邀请。邀请具有仅可被使用一次的属性,并且该邀请由出席者UDN标识。由于两个邀请不能具有相同的名字,一旦为该出席者UDN创建了一个邀请,不能为同一出席者创建新邀请。该方法中的第二个步骤是用第一个步骤中创建的邀请调用CRPpresentation.dll二元提供的邀请出席者API。
该演示类也包括将演示连接到投影仪的连接投影仪方法(ConnectProjector)。涉及的步骤包括为投影仪创建邀请。能做到这一点是因为TS不对出席者和投影仪加以区别,而只是用TS出席者对象提出未连接事件。TS出席者对象具有三个属性,ID、名字和邀请。ID由TS会话生成,并且本地唯一。名字仅是友好名,邀请是最初发送到出席者的邀请。唯一将邀请的用户从连接的用户链接的是邀请。因此,为从出席者区分出投影仪,该方法为每一投影仪生成单独的邀请。当连接的事件被激发时,核实是否向投影仪提供了刚连接的TS出席者的邀请。如果是这样,则投影仪连接事件被激发,否则,出席者连接事件被激发。该方法中的第二个步骤创建具有仅可被使用一次的属性的邀请,并且该邀请的名字是该投影仪的UDN。通过完成这一过程,对于给定的会话对一个投影仪只能创建一个邀请。第三步,一旦创建了邀请,调用CRP presentation.dll二元展现的ConnectProjector API。该API返回该投影仪的会话令牌。第四,然后将该投影仪的会话令牌和邀请与投影仪对象关联。最后,将投影仪对象添加到投影仪列表。投影仪列表是包含被邀请的所有投影仪的数组列表。如果投影仪断开连接,则它被从该列表中移除。由于系统可根据回叫对投影仪列表进行操作,它由锁来保护。也提供了第二连接投影仪方法,该方法和先前的连接投影仪方法之间的唯一差异是以提供的密码作为输入生成票。
演示类也包括断开投影仪的断开投影仪方法(DisconnectProjector)。断开投影仪中涉及的步骤包括搜索投影仪和投影仪列表、调用CRP presentation.dll二元提供的断开投影仪API以断开投影仪,以及调用与投影仪关联的TS出席者对象上的断开方法。该类也包括用于处置演示对象的关闭/处置方法(Close/Dispose)。处置演示对象中涉及的步骤包括通过调用CRP presentation.dll二元展现的取消注册方法来取消注册PNP演示设备。最后,关闭TS会话。
演示类还提供了各种事件。首先,当出席者列表改变时,发信号通知出席者列表改变事件(AttendeeListChanged)。出席者列表可在出席者连接或断开时改变,并且该事件与TS会话生成的连接和断开的事件链接。事件自变量包括两个:即出席者对象以及发生的改变类型(连接/断开)。当在构造演示对象的过程中应用程序从TS会话注册了连接和断开事件时,生成该事件。TS会话然后在任一用户(出席者或投影仪)建立连接时生成这些事件。TS会话生成事件具有TS出席者对象作为参数(TS出席者有三个属性,即早先讨论的ID、名字和邀请)。由于需要将投影仪和出席者区别开,如先前所讨论的为投影仪创建单独的邀请。为断定是否是由于投影仪而创建了TS事件,基于连接的用户使用的邀请搜索投影仪列表。如果该投影仪在列表中存在,则生成投影仪列表改变事件(ProjectorListChanged),否则生成出席者列表改变事件。当投影仪连接或断开连接时,发信号通知投影仪列表改变事件。如上所述,该事件基于TS的连接/断开事件。如果用户作为投影仪连接,则TS出席者对象与投影仪列表中存在的投影仪对象关联。投影仪列表改变事件的事件自变量具有两个属性,即投影仪对象(使用投影仪列表中存在的对象)以及发生的改变类型(连接/断开)。
演示类也具有当出席者请求邀请时发信号通知的邀请请求事件(InvitationRequested)。如果演示是仅限邀请的,则不发信号通知该事件。邀请是基于由CRP presentation.dll二元提供的回叫。当出席者联系演示设备来请求邀请时生成回叫。邀请请求事件自变量具有以下属性。首先是请求邀请的出席者的友好名,其次是出席者设备的UDN。如果应用程序正在倾听这一事件,并决定向请求邀请的出席者提供邀请,则它应当用邀请请求事件自变量中提供的UDN调用presentation.invite。重要的是理解此处的安全含义。出席者的UDN是不可信的。由此,调用UDN标识的出席者设备上的行动并不理想,除非由用户明确地授权。因此,如果没有应用程序在倾听该事件,则立刻返回一般邀请,而非调用UDN所标识的出席者设备上的行动邀请。然而,如果有应用程序正在倾听该事件,则提出该事件并返回空白邀请。
以下表2示出了Microsoft.CRP.projector类的概述。
表2
如表2中所见的,该投影仪类包括单个构造函数。该投影仪构造函数(ProjectorConstructor)仅用UDN设置创建投影仪对象。该类的属性包括能力(Capabilities)、显示设置(DisplaySettings)和状态(State)。能力方法检索投影仪的能力。该方法基本上是CRP presentation.dll二元展现的GetCapabilities API外的包装。get(获取)和set(设置)基本上是CRP presentation.dll二元展现的GetDisplay设置和SetDisplay外的包装。仅当演示连接到投影仪时,可获取/设置显示设置(DisplaySettings)。状态(State)方法获取投影仪的状态。该方法基本上是CRPpresentation.dll二元展现的GetState API外的包装。由该类展现的方法是关闭/处置(Close/Dispose)方法,以及ToString(到串)方法。关闭/处置方法用于处置投影仪对象。该对象执行的唯一主操作是调用TS出席者对象上的断开来确保投影仪已断开。ToString方法返回投影仪的友好名。
以下表3示出了Microsoft.CRP.attendeedevice类。
表3
如表3所见的,该类包括单个构造函数。出席者设备构造函数(AttendeeDevice)创建出席者设备对象。为观看演示,必须创建该对象。构造函数作出对CRP attendee.dll二元提供的注册API的调用。注册API注册出席者的UPnP设备。该类展现的方法包括关闭/处置方法(Close/Dispose),以及请求邀请方法(RequestInvitation)。关闭/处置方法用于处置出席者对象。该对象执行的唯一主操作是调用CRP attendee.dll二元展现的取消注册方法以取消注册UPnP设备。请求邀请方法用于从提供演示UDN的演示者请求邀请。该方法基本上调用CRP attendee.dll二元展现的RequestInvitation API。演示者可立即提供邀请,或可调用出席者设备上的邀请API。如果演示者立即提供邀请,则该方法返回邀请,否则该方法返回string.empty(空串)。该类提供的单个事件是邀请可用事件(InvitationAvailable)。当演示者邀请出席者时发信号通知该事件。邀请可用事件自变量类中可用的信息包括邀请本身、演示友好名以及演示者友好名。如果出席者希望使用该邀请,它应当向TS Active X控件提供该邀请,并调用该控件上的连接。控件然后建立到服务器的TS会话。
以下表4示出了Microsoft.CRP.Attendee类的概述。
表4
该类的属性包括名字(Name)和控制级别(ControlLevel)。名字方法返回出席者的友好名。控制级别方法获取/设置(get/set)出席者的控制级别。出席者可具有的控制级别包括交互式(即,出席者可控制演示者的鼠标指针)和观看(出席者只能观看演示)。该类也展现Disconnect(断开)和ToString(到串)方法。Disconnet方法断开出席者,而ToString方法返回出席者的友好名。
在本发明的一个示例性实施例中,应用编程接口(API)用于启用观看演示的场景并给出演示。这些API通常对用户可用,并且通常对投影仪不可用。投影仪端上的实现通常取决于投影仪制造商,尽管这并非对本发明范围的局限。依照本发明构造的这类API的示例性实施例在后文讨论。在一个较佳实施例中,这些API包括管理代码。尽管如此,应当理解这些API被呈现为示例性实施例,而非本发明的范围的局限。
讨论的第一组API是启用演示观看的那些API。使用这些API的典型情形是当用户想要通过明确地发现演示并通过适当的邀请加入演示来出席演示时,或者当用户想要令其本身变得可发现并然后获得出席演示的邀请时。支持这一功能的API和回叫方法是Register(注册)API、Unregister(取消注册)API和RequestInvitation(请求邀请)API。
以下表5提供了讨论的第一个API,即Register API的示例性实施例。
表5
该API注册UserDisplayDevice(用户显示设备)。一旦注册了设备,它可被演示者发现。这些演示者然后可向用户发送邀请用于出席该演示。该API的参数是显示设备的友好名以及当演示者邀请出席者时调用的回叫函数。输出参数是稍后应当用于取消注册的句柄。如果成功,该API的返回值是S_OK,或者如果没有足够的存储器来完成这一操作,则返回E_OUTOFMEMORY。
以下表6呈现了Unregister API的一个示例性实施例。
表6
该API移除显示设备的注册。一旦运行了该API,所有活动的会话将被终止,并且用户不能被其它出席者或演示者发现。它需要从Register函数返回的句柄作为参数,在该实施例中不提供任何返回值。
以下表7呈现了RequestInvitation API的一个示例性实施例。
表7
如上所述,在本发明的一个实施例中,演示是UPnP设备。当调用RequestInvitation API时,该设备的UDN被提供为输入。基于该UDN,获取演示设备。在演示设备处,然后用关于用户的信息调用行动RequestInvitation。如果演示者决定允许用户出席演示,则演示者将发送回邀请。该API的参数是Register方法返回的句柄、演示的UDN以及作为输出的邀请。演示者可决定立即提供邀请。如果演示者不提供邀请,则将包含空串。该API提供成功的指示,或者如果存储器不足或无效自变量则提供失败的指示。
以下表8呈现了为上述Register方法提供的回叫方法,即Invite回叫的一个示例性实施例。
表8
当某一演示者邀请用户观看演示时调用该方法。回叫中提供的邀请然后可用于终端服务API最终建立实际观看演示所必需的连接。该回叫方法的参数包括演示者提供的邀请。该邀请可用于加入演示。其它参数包括演示的友好名以及演示者的友好名。该回叫方法提供成功的指示。
将讨论的下一组API是当用户希望给出演示时所使用的那些API。在本发明的一个实施例中,这些API包括Register(注册)API、Unregister(取消注册)API、InviteAttendee(邀请出席者)API、DisconnectProjector(断开投影仪)API、GetState(获取状态)API、GetCapabilities(获取能力)API、GetDisplaySetting(获取显示设定)API以及SetDisplaySettings(设置显示设定)API。
现在转向演示API的讨论,以下表9呈现了Register API的一个示例性实施例。
表9
当演示者希望开始演示时调用该方法。当使用该方法创建这一会话时,执行以下步骤:创建演示设备并向UPnP注册。如上所述,这允许任何人发现该演示。用于该方法的参数包括演示的友好名、演示者的友好名以及如果用户请求观看演示所涉及的呼叫函数。该API还提供创建的演示会话的句柄。该API返回成功或失败的指示,失败由存储器不足或参数无效引起。
以下表10呈现了Unregister API的一个示例性实施例。
表10
当演示者希望取消注册演示时调用该API。当取消注册演示时,设备在UPnP中取消注册。本实施例中该API的唯一参数是要停止的演示。
以下表11呈现了InviteAttendee API的一个示例性实施例。
表11
当演示者希望邀请出席者接收演示时调用该API。当调用该方法时,演示者使用UDN检索设备。下一步,用该邀请调用给定UDN的显示设备上的Invite方法。该方法的参数包括到该演示的句柄、被邀请的出席者显示设备的UDN以及向出席者提供的邀请。该API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表12提供了ConnectProjector API的一个示例性实施例。
表12
当检索投影的UDN时调用该API。然后用该邀请在给定UDN的投影设备上调用Invite方法。如果该函数成功地完成,则检索会话令牌。其参数是到演示的句柄、向投影仪提供的邀请以及作为输出的会话令牌。API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表13提供了DisconnectProjector API的一个示例性实施例。
表13
调用该API来终止到指定设备的连接。该API的参数包括到演示的句柄、要断开的投影仪的UDN以及要断开的会话。该API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表14呈现了GetProjectorCapabilities API的一个示例性实施例。
表14
当演示者希望获取投影仪的能力时调用该方法。通过调用投影设备上的GetCapabilities方法获取投影的能力。演示者输入投影仪的UDN,并且该方法输出与该投影仪关联的能力。该API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表15呈现了GetProjectorState API的一个示例性实施例。
表15
当演示者希望检索投影仪的当前状态时调用该方法。通过调用投影设备上的GetState方法获取这一投影仪状态。演示者输入投影仪的UDN,并且该方法输出投影仪的状态。该API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表16呈现了GetProjectorDisplaySettings API的一个示例性实施例。
表16
当演示者希望检索投影仪的显示设定时调用该方法。通过调用投影仪上的GetProjectionSettings方法获取这一投影仪显示设定。演示者输入投影仪的UDN、当ConnectProjector成功时获得的会话令牌,并且该方法输出投影仪的显示设定。该API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
以下表17呈现了SetProjectorDisplaySettings API的一个示例性实施例。
表17
当演示者希望设置投影仪的显示设定时调用该方法。通过在投影仪设备上作出SetDisplaySettings设置显示设定。演示者输入投影仪的UDN、当ConnectProjector成功时获取的会话令牌以及要为投影仪设置的显示设定。API返回成功或失败的指示。失败可由没有足够的存储器来完成操作、无效自变量或句柄无效引起。
如上文所介绍的,StartPresentation API包括回叫函数。以下表18示出了PFN_REQUEST_INVITATION回叫函数的一个实施例。
表18
当用户调用了演示设备上的RequestInvitation方法时调用该回叫函数。回叫可返回邀请本身作为输出参数,或仅返回空串。该方法的参数是请求邀请的出席者的友好名、请求邀请的出席者的UDN以及作为输出的要向出席者提供的邀请。该方法返回成功的指示。
此处所述的所有引用,包括专利、专利申请和出版物都通过引用整体结合于此。即,每一这类引用的每一部分被认为是本揭示的一部分,并且因此本陈述或本揭示中的其它陈述都不排除任何这类引用的任何部分作为本揭示的一部分。
本发明的各种实施例的以上描述为说明和描述目的而呈现。它并不意味着穷尽或精确地将本发明局限在所揭示的实施例上。鉴于以上教导,可作出许多修改或变化。选择并描述所讨论的实施例来提供本发明的原理机器实际应用的最好说明,由此令本领域的普通技术人员能够以各种实施例并用适合所考虑的具体使用的各种修改来使用本发明。当依照对其公平、合法并公正命名的宽度来揭示时,所有这类修改和变化都处于所附权利要求书所确定的本发明的范围之内。

Claims (14)

1.一种从第一计算设备向联网环境中的多个出席者给予演示的方法,所述多个出席者分别与相应的第二计算设备相关联,其特征在于,所述方法包括:
在所述第一计算设备上开始演示会话,包括:
在所述第一计算设备上注册可由所述第二计算设备发现的演示设备;以及
在所述第一计算设备上创建终端服务会话,所述演示设备继续担当终端服务服务器并允许所述多个出席者通过使用终端服务客户机来观看所述演示,所述终端服务客户机能经由所述终端服务会话将所述第二计算设备连接到所述第一计算设备,
其中所述出席者包括投影仪。
2.如权利要求1所述的方法,其特征在于,开始演示会话的所述步骤包括指定演示会话类型的步骤。
3.如权利要求1所述的方法,其特征在于,它还包括以下步骤:
发现至少一个投影仪;
选择所述至少一个投影仪的至少一个;
建立与所选择的投影仪的连接;
为所选择的投影仪创建邀请;以及
向所选择的投影仪发送所述邀请。
4.如权利要求3所述的方法,其特征在于,发现至少一个投影仪的所述步骤包括执行所述至少一个投影仪的SSDP搜索的步骤。
5.如权利要求3所述的方法,其特征在于,它还包括启动所选择的投影仪上的连接方法的步骤,由此,其上的终端服务客户机建立与所述终端服务会话的连接。
6.如权利要求1所述的方法,其特征在于,它还包括以下步骤:
发现多个用户;
选择所述多个用户的至少一个;
建立与所选择数量的用户的连接;
为所选择数量的用户的每一个创建邀请;以及
向所选择的用户的每一个发送邀请。
7.如权利要求6所述的方法,其特征在于,发现所述多个用户的步骤包括执行所述多个用户的简单服务发现协议SSDP搜索的步骤。
8.如权利要求6所述的方法,其特征在于,它还包括启动所选择数量的用户上的连接方法的步骤,由此其上的终端服务客户机建立与所述终端服务会话的连接。
9.如权利要求1所述的方法,其特征在于,它还包括停止所述演示的步骤。
10.如权利要求9所述的方法,其特征在于,停止所述演示的所述步骤包括断开任何连接并清除任何状态的步骤。
11.如权利要求1所述的方法,其特征在于,它还包括以下步骤:
从出席者接收准许进入请求;
生成对所述演示的邀请;
向所述出席者提供所述邀请。
12.如权利要求11所述的方法,其特征在于,它还包括在生成并提供所述邀请的步骤之前核实所述出席者提供的密码的步骤。
13.一种加入从联网环境中的第一计算设备投影的演示的方法,其特征在于,所述方法包括:
在第二计算设备上注册用户显示设备;
发现网络上的至少一个演示设备,所述演示设备被注册在所述第一计算设备上;
从所述用户显示设备向所述至少一个演示设备发送准许进入请求;
从所述演示设备接收邀请;
启动连接方法以建立与所述演示设备的终端服务会话的连接,所述用户显示设备被配置成担当终端服务客户机并经由使用终端服务协作应用编程接口在所述第二计算设备上接收来自所述第一计算设备的演示,
其中所述第二计算设备包括投影仪。
14.如权利要求13所述的方法,其特征在于,发现至少一个演示设备的所述步骤包括执行所述至少一个演示设备的SSDP搜索的步骤。
CN201410135540.0A 2003-10-23 2004-10-20 一对多数据投影系统和方法 Active CN103929343B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/692,384 US8260857B2 (en) 2003-10-23 2003-10-23 One to many data projection system and method
US10/692,384 2003-10-23
CNA2004100882770A CN1610308A (zh) 2003-10-23 2004-10-20 一对多数据投影系统和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2004100882770A Division CN1610308A (zh) 2003-10-23 2004-10-20 一对多数据投影系统和方法

Publications (2)

Publication Number Publication Date
CN103929343A CN103929343A (zh) 2014-07-16
CN103929343B true CN103929343B (zh) 2019-02-05

Family

ID=34423320

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2004100882770A Pending CN1610308A (zh) 2003-10-23 2004-10-20 一对多数据投影系统和方法
CN201410135540.0A Active CN103929343B (zh) 2003-10-23 2004-10-20 一对多数据投影系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2004100882770A Pending CN1610308A (zh) 2003-10-23 2004-10-20 一对多数据投影系统和方法

Country Status (10)

Country Link
US (1) US8260857B2 (zh)
EP (1) EP1528505B1 (zh)
JP (1) JP5060018B2 (zh)
KR (1) KR101099194B1 (zh)
CN (2) CN1610308A (zh)
AU (1) AU2004214576B2 (zh)
BR (1) BRPI0404405A (zh)
CA (1) CA2482220C (zh)
MX (1) MXPA04010032A (zh)
RU (1) RU2412478C2 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3707407B2 (ja) * 2001-08-28 2005-10-19 セイコーエプソン株式会社 パスワードを投写するプロジェクタ
US7293071B2 (en) * 2002-05-27 2007-11-06 Seiko Epson Corporation Image data transmission system, process and program, image data output device and image display device
US7613812B2 (en) 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
JP2004287160A (ja) * 2003-03-24 2004-10-14 Seiko Epson Corp 画像表示システム、プロジェクタ、画像表示方法、プロジェクタ制御方法、画像表示プログラムおよびプロジェクタ制御プログラム
US8261062B2 (en) * 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7496648B2 (en) * 2003-10-23 2009-02-24 Microsoft Corporation Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking
US7949996B2 (en) 2003-10-23 2011-05-24 Microsoft Corporation Peer-to-peer identity management managed interfaces and methods
US8260857B2 (en) 2003-10-23 2012-09-04 Microsoft Corporation One to many data projection system and method
US7716273B2 (en) * 2003-10-24 2010-05-11 Microsoft Corporation Systems and methods for projecting content from computing devices
US20050091595A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Group shared spaces
KR100554101B1 (ko) * 2004-01-15 2006-02-22 김석우 다중 화면 전송을 위한 빔프로젝터 서버단말기 및 그전송방법
JP2005208823A (ja) * 2004-01-21 2005-08-04 Seiko Epson Corp プロジェクタのネットワークシステム
US8688803B2 (en) 2004-03-26 2014-04-01 Microsoft Corporation Method for efficient content distribution using a peer-to-peer networking infrastructure
US7929689B2 (en) * 2004-06-30 2011-04-19 Microsoft Corporation Call signs
US7620902B2 (en) * 2005-04-20 2009-11-17 Microsoft Corporation Collaboration spaces
US8036140B2 (en) 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7571228B2 (en) * 2005-04-22 2009-08-04 Microsoft Corporation Contact management 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
US7752253B2 (en) * 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
US7617281B2 (en) * 2005-04-25 2009-11-10 Microsoft Corporation System and method for collaboration with serverless presence
US7660851B2 (en) * 2005-07-06 2010-02-09 Microsoft Corporation Meetings near me
US20070011232A1 (en) * 2005-07-06 2007-01-11 Microsoft Corporation User interface for starting presentations in a meeting
CN100581226C (zh) * 2005-08-05 2010-01-13 三星电子株式会社 用于提供多屏幕的设备以及动态配置多屏幕的方法
US8243198B2 (en) 2005-08-05 2012-08-14 Samsung Electronics Co., Ltd. Apparatus for providing multiple screens and method of dynamically configuring multiple screens
US20070200920A1 (en) * 2006-02-14 2007-08-30 Walker Mark R Digital communications adaptor
JP5040341B2 (ja) 2006-04-04 2012-10-03 セイコーエプソン株式会社 プロジェクタシステム
US7439937B2 (en) * 2006-04-14 2008-10-21 Microsoft Corporation Appropriately rendering terminal server graphical data at multiple client side monitors
US8086842B2 (en) * 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8069208B2 (en) * 2006-04-21 2011-11-29 Microsoft Corporation Peer-to-peer buddy request and response
JP2007323732A (ja) * 2006-05-31 2007-12-13 Toshiba Corp 再生制御装置、再生制御方法、及び再生装置
WO2007147163A2 (en) * 2006-06-16 2007-12-21 Cardax Pharmaceuticals, Inc. Compositions comprising carotenoid analogs or derivatives and methods for synthesis
JP4692529B2 (ja) * 2007-08-07 2011-06-01 セイコーエプソン株式会社 グラフィカルユーザインタフェース装置
US8200520B2 (en) 2007-10-03 2012-06-12 International Business Machines Corporation Methods, systems, and apparatuses for automated confirmations of meetings
US8819132B2 (en) * 2009-05-27 2014-08-26 Microsoft Corporation Real-time directory groups
CA2707286A1 (en) * 2009-06-11 2010-12-11 X2O Media Inc. System and method for generating multimedia presentations
CN102148842B (zh) * 2010-02-08 2014-06-04 联想(北京)有限公司 一种远程桌面体系的音频处理方法和设备
JP5402775B2 (ja) * 2010-03-26 2014-01-29 セイコーエプソン株式会社 プロジェクター装置および接続確立方法
US8806352B2 (en) * 2011-05-06 2014-08-12 David H. Sitrick System for collaboration of a specific image and utilizing selected annotations while viewing and relative to providing a display presentation
US11611595B2 (en) 2011-05-06 2023-03-21 David H. Sitrick Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
US8914735B2 (en) 2011-05-06 2014-12-16 David H. Sitrick Systems and methodologies providing collaboration and display among a plurality of users
US8990677B2 (en) 2011-05-06 2015-03-24 David H. Sitrick System and methodology for collaboration utilizing combined display with evolving common shared underlying image
US9224129B2 (en) 2011-05-06 2015-12-29 David H. Sitrick System and methodology for multiple users concurrently working and viewing on a common project
US10402485B2 (en) 2011-05-06 2019-09-03 David H. Sitrick Systems and methodologies providing controlled collaboration among a plurality of users
US8918724B2 (en) 2011-05-06 2014-12-23 David H. Sitrick Systems and methodologies providing controlled voice and data communication among a plurality of computing appliances associated as team members of at least one respective team or of a plurality of teams and sub-teams within the teams
US9330366B2 (en) 2011-05-06 2016-05-03 David H. Sitrick System and method for collaboration via team and role designation and control and management of annotations
US8875011B2 (en) 2011-05-06 2014-10-28 David H. Sitrick Systems and methodologies providing for collaboration among a plurality of users at a plurality of computing appliances
US8918723B2 (en) 2011-05-06 2014-12-23 David H. Sitrick Systems and methodologies comprising a plurality of computing appliances having input apparatus and display apparatus and logically structured as a main team
US8918721B2 (en) 2011-05-06 2014-12-23 David H. Sitrick Systems and methodologies providing for collaboration by respective users of a plurality of computing appliances working concurrently on a common project having an associated display
US8826147B2 (en) 2011-05-06 2014-09-02 David H. Sitrick System and methodology for collaboration, with selective display of user input annotations among member computing appliances of a group/team
US8924859B2 (en) 2011-05-06 2014-12-30 David H. Sitrick Systems and methodologies supporting collaboration of users as members of a team, among a plurality of computing appliances
US8918722B2 (en) 2011-05-06 2014-12-23 David H. Sitrick System and methodology for collaboration in groups with split screen displays
JP6236938B2 (ja) * 2012-07-10 2017-11-29 株式会社リコー 出力システム、操作端末及びプログラム
EP2880104A1 (en) 2012-08-01 2015-06-10 Chromatic Technologies, Inc. Interactive coating for end printing
US9047244B1 (en) 2012-09-11 2015-06-02 Google Inc. Multi-screen computing device applications
US20140173442A1 (en) * 2012-12-18 2014-06-19 Microsoft Corporation Presenter view in presentation application
US20140214504A1 (en) * 2013-01-31 2014-07-31 Sony Corporation Virtual meeting lobby for waiting for online event
CN106060492B (zh) * 2016-06-28 2018-11-13 联想(北京)有限公司 一种投影方法及装置
CN112312060B (zh) * 2020-08-28 2023-07-25 北京字节跳动网络技术有限公司 屏幕共享方法、装置和电子设备
CN112837561B (zh) * 2020-12-29 2022-08-23 河南库课数字科技有限公司 一种提高专注力的幼儿学前教育系统及使用方法

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509048A (en) 1993-07-26 1996-04-16 Meidan; Reuven Radio transceiver with interface apparatus which visually displays information and method therefor
US5944794A (en) 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5835715A (en) 1995-10-06 1998-11-10 Dawber & Company, Inc. Interactive theater and feature presentation system
US5790785A (en) 1995-12-11 1998-08-04 Customer Communications Group, Inc. World Wide Web registration information processing system
US6148323A (en) 1995-12-29 2000-11-14 Hewlett-Packard Company System and method for managing the execution of system management
JPH11506595A (ja) * 1996-03-29 1999-06-08 ノーザン・テレコム・リミテッド マルチメディア文書の会議参加システム
US6088451A (en) 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US6052717A (en) 1996-10-23 2000-04-18 Family Systems, Ltd. Interactive web book system
AU6882998A (en) * 1997-03-31 1998-10-22 Broadband Associates Method and system for providing a presentation on a network
US5995102A (en) 1997-06-25 1999-11-30 Comet Systems, Inc. Server system and method for modifying a cursor image
JPH1131059A (ja) 1997-07-11 1999-02-02 Canon Inc 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
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
JP4676060B2 (ja) 1997-11-14 2011-04-27 マイクロソフト コーポレーション 多数のクライアント−サーバ・セッションおよび以前のセッションへのユーザのダイナミック再接続をサポートするサーバ・オペレーティング・システム
US6094189A (en) 1998-04-17 2000-07-25 Quillen; Wendell A. Visual echo remote laser pointer
WO2000025199A1 (en) 1998-10-27 2000-05-04 Petersen Joel R Portable interactive presentation device
US6560637B1 (en) 1998-12-02 2003-05-06 Polycom, Inc. Web-enabled presentation device and methods of use thereof
JP2000222163A (ja) 1999-01-29 2000-08-11 Seiko Epson Corp データ表示システムおよびデータ表示システムにおけるデータ表示制御方法
WO2000057308A1 (en) 1999-03-23 2000-09-28 Frankel & Company Control of server-originated dynamic digital signage at client site using automated data acquisition
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6636888B1 (en) 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
JP4329174B2 (ja) 1999-07-23 2009-09-09 ソニー株式会社 プレゼンテーションシステム
WO2001008353A1 (en) 1999-07-27 2001-02-01 Bula Bay Corp. Interactive network presentation session management
JP3489498B2 (ja) 1999-07-30 2004-01-19 株式会社日立製作所 プラント制御システム、及び補助運転操作卓における通信先切替方法
US20030191816A1 (en) * 2000-01-11 2003-10-09 Spoovy, Llc System and method for creating and delivering customized multimedia communications
US6249281B1 (en) 2000-02-28 2001-06-19 Presenter.Com On-demand presentation graphical user interface
JP4568957B2 (ja) 2000-05-16 2010-10-27 ソニー株式会社 カード型ネットワークインタフェース,ネットワーク会議用端末装置及びネットワーク会議システム
EP2278451A1 (en) 2000-05-31 2011-01-26 Seiko Epson Corporation Projector, projection display system, and corresponding method and recording medium
JP2002064418A (ja) 2000-08-23 2002-02-28 Casio Comput Co Ltd プレゼンテーション装置、プレゼンテーション方法及び情報記録媒体
JP2002094531A (ja) 2000-09-20 2002-03-29 Casio Comput Co Ltd ネットワーク上のデバイス情報取得方法、ネットワーク上のデバイス情報取得装置及び記録媒体
JP2002099403A (ja) 2000-09-25 2002-04-05 Toshiba Corp コンピュータシステムおよび表示装置切り替え方法
US6943752B2 (en) 2000-09-28 2005-09-13 Matsushita Electric Industrial Co., Ltd. Presentation system, a display device, and a program
US20020051200A1 (en) 2000-11-01 2002-05-02 Chang William Ho Controller for device-to-device pervasive digital output
US6904451B1 (en) 2000-11-27 2005-06-07 Eastman Kodak Company Wireless networked presentation system
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US6675261B2 (en) 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
US7275102B2 (en) 2001-01-22 2007-09-25 Sun Microsystems, Inc. Trust mechanisms for a peer-to-peer network computing platform
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
KR100708467B1 (ko) * 2001-02-03 2007-04-18 삼성전자주식회사 홈네트워크내의 기기에 서비스를 제공하는 시스템 및 그방법
WO2002073926A1 (en) 2001-03-09 2002-09-19 Ascio Technologies, Inc. System and a method for managing digital identities
US6999912B2 (en) 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US6725219B2 (en) * 2001-03-13 2004-04-20 Seiko Epson Corporation Internet presentation system
US6981043B2 (en) 2001-03-27 2005-12-27 International Business Machines Corporation Apparatus and method for managing multiple user identities on a networked computer system
US7065587B2 (en) 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7180475B2 (en) 2001-06-07 2007-02-20 Infocus Corporation Method and apparatus for wireless image transmission to a projector
US20030013438A1 (en) 2001-07-12 2003-01-16 Darby George Eugene Pocket concierge system and method
US20030023681A1 (en) 2001-07-26 2003-01-30 International Business Machines Corporation Sharing messaging device information among network users
US20030028637A1 (en) 2001-07-31 2003-02-06 Gross Curtis T. Method and apparatus for providing network access to a shared image projection device
US7047308B2 (en) 2001-08-31 2006-05-16 Sharp Laboratories Of America, Inc. System and method for simultaneous media playout
US7493363B2 (en) 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US7299351B2 (en) 2001-09-19 2007-11-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7068789B2 (en) 2001-09-19 2006-06-27 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
WO2003058476A1 (en) 2001-09-28 2003-07-17 Infocus Corporation Network projector interface system
AU2002363055A1 (en) 2001-10-19 2003-05-06 Bank Of America Corporation System and method for interative advertising
GB0126649D0 (en) * 2001-11-06 2002-01-02 Mitel Knowledge Corp System and method for facilitating the selection of electronic services using infrared and a network address identification
US7006055B2 (en) 2001-11-29 2006-02-28 Hewlett-Packard Development Company, L.P. Wireless multi-user multi-projector presentation system
US8417827B2 (en) * 2001-12-12 2013-04-09 Nokia Corporation Synchronous media playback and messaging system
JP3707433B2 (ja) 2001-12-25 2005-10-19 セイコーエプソン株式会社 プロジェクタの制御システム及び制御方法
JP2003198870A (ja) 2001-12-25 2003-07-11 Seiko Epson Corp プロジェクタのワイヤレス制御システム及びワイヤレス制御方法
US6830340B2 (en) 2001-12-26 2004-12-14 Infocus Corporation Image-rendering device
US7044605B2 (en) 2001-12-26 2006-05-16 Infocus Corporation Image-rendering device
US20030140344A1 (en) 2002-01-21 2003-07-24 Ghulam Bhatti Wireless control for universal plug and play networks and devices
JP2003218877A (ja) 2002-01-22 2003-07-31 Sony Corp ネットワークシステム、端末及び通信制御方法
US7197562B2 (en) 2002-04-05 2007-03-27 Infocus Corporation Projector device management system
US6912622B2 (en) 2002-04-15 2005-06-28 Microsoft Corporation Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
US20030225621A1 (en) 2002-04-17 2003-12-04 Hadi Nurcahya System, apparatus and method for advertising through product or service previews
US7899915B2 (en) 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US20030236889A1 (en) 2002-06-25 2003-12-25 Microsoft Corporation Data projection system and method
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US7027035B2 (en) 2002-10-07 2006-04-11 Hewlett-Packard Development Company, L.P. Image copy to a second display
US8037202B2 (en) 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
CH696355A5 (de) 2002-11-14 2007-05-15 Clariant Speciality Fine Chemi Katalytisches Verfahren zur Herstellung von Carbonyl-Verbindungen.
US7430747B2 (en) 2002-12-04 2008-09-30 Microsoft Corporation Peer-to peer graphing interfaces and methods
US7613812B2 (en) 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US20040128344A1 (en) * 2002-12-30 2004-07-01 Nokia Corporation Content and service registration, query and subscription, and notification in networks
US7596625B2 (en) 2003-01-27 2009-09-29 Microsoft Corporation Peer-to-peer grouping interfaces and methods
US7437440B2 (en) 2003-01-27 2008-10-14 Microsoft Corporation Peer-to-peer networking framework application programming interfaces
US7965837B2 (en) 2003-04-30 2011-06-21 Sony Corporation Method and system for wireless digital video presentation
US7434166B2 (en) 2003-06-03 2008-10-07 Harman International Industries Incorporated Wireless presentation system
US8260857B2 (en) 2003-10-23 2012-09-04 Microsoft Corporation One to many data projection system and method
US20050091359A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Systems and methods for projecting content from computing devices
US20060147791A1 (en) 2004-12-30 2006-07-06 Debe Mark K Platinum recovery from fuel cell stacks

Also Published As

Publication number Publication date
KR20050039531A (ko) 2005-04-29
RU2412478C2 (ru) 2011-02-20
JP2005129029A (ja) 2005-05-19
CN103929343A (zh) 2014-07-16
MXPA04010032A (es) 2005-04-28
CA2482220C (en) 2014-03-18
JP5060018B2 (ja) 2012-10-31
EP1528505A1 (en) 2005-05-04
AU2004214576A1 (en) 2005-05-12
CN1610308A (zh) 2005-04-27
EP1528505B1 (en) 2013-02-27
CA2482220A1 (en) 2005-04-23
RU2004131035A (ru) 2006-04-10
BRPI0404405A (pt) 2005-06-21
US20050102356A1 (en) 2005-05-12
AU2004214576B2 (en) 2010-07-08
KR101099194B1 (ko) 2011-12-27
US8260857B2 (en) 2012-09-04

Similar Documents

Publication Publication Date Title
CN103929343B (zh) 一对多数据投影系统和方法
US11588763B2 (en) Virtual area communications
CN100461109C (zh) 语义任务计算
Dey et al. A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications
CN102750270B (zh) 扩充的对话理解代理
Dey Providing architectural support for building context-aware applications
US8909702B2 (en) System and method for coordination of devices in a presentation environment
US7702729B2 (en) Event heap: a coordination infrastructure for dynamic heterogeneous application interactions in ubiquitous computing environments
CN112769582A (zh) 用于会议的电子工具和方法
US6567844B2 (en) Coordinative work environment construction system, method and medium therefor
US8103363B2 (en) Device control system
US10956868B1 (en) Virtual reality collaborative workspace that is dynamically generated from a digital asset management workflow
JP2019128958A (ja) Arコンテンツを配信するためのシステムおよび方法
CN108351766A (zh) 从移动设备创建和修改应用
US20210125192A1 (en) Methods for monitoring communications channels and determining triggers and actions in role-based collaborative systems
Shurtz Application Sharing from Mobile Devices with a Collaborative Shared Display
CN102651692A (zh) 网络会议服务器与进行网络会议的方法
US20070050450A1 (en) Interfacing an applet with a collaboration program
Roa Designing mobile instant messaging for collaborative health data management in Rwanda
WO2004014059A2 (en) Method and apparatus for processing image-based events in a meeting management system
Fraschetti Designing mobile instant messaging for collaborative health data management in Rwanda
Kaidesoja Kast-Watch Together Android application
Görke et al. Development of a Next-Generation Endpoint Driver for Collaboration
de Sousa et al. Business oriented applications for Android platform
Brand et al. MACS-A Modular Collaboration Environment.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant