CN1792069A - 用于提供包括多种电子设备的虚拟工作区的技术 - Google Patents

用于提供包括多种电子设备的虚拟工作区的技术 Download PDF

Info

Publication number
CN1792069A
CN1792069A CNA200480013459XA CN200480013459A CN1792069A CN 1792069 A CN1792069 A CN 1792069A CN A200480013459X A CNA200480013459X A CN A200480013459XA CN 200480013459 A CN200480013459 A CN 200480013459A CN 1792069 A CN1792069 A CN 1792069A
Authority
CN
China
Prior art keywords
electronic equipment
data
service
route
electronic
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.)
Granted
Application number
CNA200480013459XA
Other languages
English (en)
Other versions
CN100466633C (zh
Inventor
D·F·班茨
P·戈帕拉克里希南
D·M·格伦
L·M·赫格尔
N·J·李
D·G·谢伊
M·S·比韦罗斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1792069A publication Critical patent/CN1792069A/zh
Application granted granted Critical
Publication of CN100466633C publication Critical patent/CN100466633C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Navigation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Casings For Electric Apparatus (AREA)
  • Filters And Equalizers (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Abstract

为具有多个电子设备的用户提供了虚拟工作区,其中可以通过所述电子设备之间的多个连接在所述电子设备之间交换信息。通过确定服务位于何处和所述服务的类型、确定与可由一个或多个所述电子设备访问的数据关联的一个或多个数据格式来提供所述虚拟工作区。所述数据的一部分具有一个或多个数据格式中的一个给定数据格式。至少根据预定准则和所述给定的数据格式来选择电子设备。通过所述连接到所述选择的电子设备的路由被确定,其中所述路由可以包括给定的一个或多个所述连接。与所述给定的数据格式关联的所述数据的至少所述部分被路由到所述选择的电子设备。当被所述选择的电子设备接收到时,所述数据的所述部分可被所述选择的电子设备使用以便进行呈现。

Description

用于提供包括多种电子设备的虚拟工作区的技术
技术领域
本发明涉及电子设备之间的通信,更具体地说,涉及由许多不同的电子设备进行的通信。
背景技术
如今,人们趋向于拥有多个电子设备。例如,一个人可能拥有蜂窝电话、个人数字助理(PDA)以及膝上型计算机,它们可能都位于同一位置,或者不都位于同一位置。这些电子设备通常工作在独立模式并可以与单个其他电子设备同步(通常在用户的请求和介入下)。但是,存在在许多电子设备之间提供更多连接性的趋势。例如,一些电子设备被设计成与多个电子设备进行通信。但是,通常在预定的电子设备组之间和共享相同数据格式的电子设备之间实现共享。
此外,当两个或更多的人(每个人都携带他或她自己的多个电子设备组)希望使用电子设备来通信时,传统的进行通信的方法是在两个相同类型的电子设备之间。例如,一个人可以将文件从一个PDA传输到另一个人拥有的PDA。但是,如果用户想在两个随机地选择的电子设备之间共享信息,则配置选择的电子设备彼此通信不是那么直截了当的,除非两个电子设备正在运行公共程序和公共物理链路。因此,尽管单个个人所使用的电子设备的数量不断地增加,但是当试图实现电子设备之间的通信时仍存在问题。
因此,需要在电子设备之间共享信息以便使电子设备能够通信的改进的技术。
发明内容
本发明提供了用于在包含数据的电子设备与最适合代表当前情况下的数据的动态选择的电子设备之间交换所述数据的技术,因此向用户提供了所述用户看来是一个虚拟工作区的一组设备。
在本发明的一个方面中,公开了用于为多个电子设备提供虚拟工作区的技术,其中可以通过所述电子设备之间的多个连接在所述电子设备之间交换信息。通过确定与可由一个或多个所述电子设备访问的数据关联的一个或多个数据格式来提供所述虚拟工作区。所述数据的一部分具有一个或多个数据格式中的一个给定格式。至少部分地根据预定的准则和所述给定数据格式来选择电子设备。通过所述连接到达所述选择的电子设备的路由被确定,其中所述路由包括给定的一个或多个所述连接。与所述给定的数据格式关联的所述数据的至少所述部分被通过至少一个所述给定连接来路由。当被所述选择的电子设备接收到时,所述数据的所述部分可被所述选择的电子设备使用以便进行呈现。
所述数据可以位于所述电子设备中的一个电子设备上或位于不是所述电子设备之一的远程电子设备上。此外,所述数据部分可以是全部所述数据或少于全部所述数据。
所述数据可以在所述选择的电子设备上被呈现。应当指出,在任何时刻都可以存在多个选择的设备,每个电子设备呈现所述数据的一个或多个部分。
所述预定的准则还可以包括设备准则,例如屏幕分辨率、应用程序以及所述设备能够呈现的音频、视频和其他格式。所述预定的准则可以包括用户准则,例如使某一类型的数据格式始终在一个特定的电子设备上显示。可以通过使用多维分数来应用用户首选项。可以通过添加多个项来确定所述多维分数,每个项都具有通过将变量乘以权重来计算的值。所述权重可以对应于用户首选项,并且所述变量可以指示与电子设备有关的某些可量化信息,诸如重现保真度或用户注意接近度。
可以通过文件扩展名、诸如标记语言标签之类的标记或任何其他数据格式指示符来确定所述数据格式。
在所述数据部分可以在所述选择的电子设备上呈现之前,所述数据部分可能需要被转换。如果这样的话,可以从所述电子设备上可用的数据转换器中选择一个数据转换器。所述数据部分可以通过所述电子设备被路由到所述数据转换器,然后被路由到所述选择的电子设备。应当指出,多个数据部分可以被路由到多个数据转换器并由多个设备来呈现。所述数据部分可以被从一种数据格式转换成另一种数据格式,可以被译码以便所述数据部分被重定格式,或同时进行两者。在被路由到所述选择的电子设备之前,所述数据还可以通过电子设备被路由。
为了判定电子设备符合预定的准则,可以执行服务发现。可以通过访问服务目录来执行服务发现。所述服务目录可以包括与每个所述电子设备有关的属性以及每个所述电子设备之间的连接。所述服务目录可以在每个所述电子设备、一个或多个所述电子设备或者不是所述电子设备之一的远程电子设备上被创建并驻留在其上。
在本发明的另一个方面中,提供了用于为多个电子设备提供虚拟工作区的技术,其中可以通过所述电子设备之间的多个连接来在电子设备之间交换信息。为所述工作区中的一个或多个所述电子设备确定一个或多个属性,并且所述属性可以存储在一个或多个服务目录中。所述属性可以包括所述电子设备的能力、电子设备之间的连接的连接类型、所述电子设备的设备类型、所述电子设备能够提供的应用和服务,以及由电子设备提供的每种服务的访问权限。一个或多个数据格式被确定,其中一个或多个所述数据格式与可由至少一个所述电子设备访问的数据相关联。所述数据的一部分具有一个或多个数据格式中的一个给定格式。至少部分地根据所述属性和所述给定的数据格式来选择电子设备。通过所述连接到达所述选择的电子设备的路由被确定,所述路由包括所述连接中的一个或多个给定连接。与所述给定的数据格式关联的至少所述数据部分通过一个或多个所述连接被路由到所述选择的电子设备。当被所述选择的电子设备接收到时,所述数据的所述部分可被所述选择的电子设备使用以便进行呈现。
通过为第二多个电子设备确定第二服务目录可以形成第二虚拟工作区。所述第二服务目录可以被访问以便选择所述第二虚拟工作区的电子设备。通过将一个或多个电子设备从所述第一虚拟工作区连接到所述第二虚拟工作区中的一个或多个电子设备,所述第一和第二工作区可以被连接。
通过参考以下详细说明和附图,可以获得对本发明的更完整的理解以及本发明的进一步的特征和优点。
附图说明
图1是根据本发明的一个优选实施例的通过网络通信的两组电子设备的图示,其中每组电子设备都被分组到一个个人工作区中;
图2到图4是根据本发明的一个优选实施例的用来说明个人工作区中的电子设备的示例性特征和连接的方块图;
图5是根据本发明的一个优选实施例的在工作区中通信的四个电子设备的实例的方块图;
图6是示出了展示本发明的实施例如何被实现的软件层的方块图;
图7A和7B是根据本发明的一个优选实施例的用于选择电子设备并动态地将数据路由到选择的电子设备的方法的详细流程图;
图8是用于添加最新可用的服务目录的示例性发现目录建立方法的流程图;
图9是用于删除不再可用的服务目录的示例性发现目录建立方法的流程图;
图10到15分别示出了在具有图2到图4中的标识11、12、13、21、22和23的电子设备中创建的示例性服务目录;以及
图16示出了根据本发明的一个优选实施例的用于选择电子设备并动态地将数据路由到选择的电子设备的概述的方法。
具体实施方式
本发明的诸方面允许电子设备被连接到一起并交换数据。一组这样的电子设备可以被聚集到一个虚拟工作区中。另一组电子设备也可以被聚集到另一个虚拟工作区中。每个所述虚拟工作区都可以可选地通过诸如因特网、内联网或专用网络之类的网络进行通信。
用户可以选择访问存在于与该用户关联的虚拟工作区或与其他用户关联的虚拟工作区中的某一电子设备上的数据。本发明允许从与一个或多个用户关联的虚拟工作区中的所有电子设备来选择电子设备,以便将所述数据呈现给所述用户。根据多个预定的准则和与所述数据关联的一个或多个数据格式来选择所述选择的电子设备。
虚拟工作区可以有益地提供数据的永久和一致的呈现并使得看起来仿佛正在使用一个计算平台。例如,当用户将一组电子设备连接到一起并在特定条件下访问特定数据时,所述数据应在一个或可能多个电子设备上被呈现。只要数据、条件以及电子设备没有改变,则所述数据应在相同的一个或多个设备上被呈现。因此,使用本发明的诸实施例可以提供数据的永久和一致的呈现。
现在转到图1,其中示出了通过网络111通信的两组电子设备的图示。每组电子设备被分组到个人工作区104、120中。个人工作区104中的这组电子设备包括平板电脑101、蜂窝电话102和PDA 103(总体地、电子设备101到103)。个人工作区120中的这组电子设备包括PDA 112、蜂窝电话113和膝上型计算机114(总体地、电子设备112到114)。
携带多种电子设备101到103的个人可能希望在这些电子设备之间具有一个永久和一致的工作区104。为了提供所述永久和一致的工作区104,电子设备101到103应在它们自身之间协作以便共享数据和资源,有利地形成一个虚拟计算平台。对此人而言,个人工作区104应提供个人方便地完成他或她的任务将需要的一切。这些电子设备101到103在它们自身之间通信并提供永久性的呈现(不管使用哪个电子设备)是有益的。还希望将数据路由到被认为是呈现所述数据的“最佳”电子设备的电子设备。
在本发明的一个实施例中,根据准则(包括数据的数据类型、用户首选项、电子设备的呈现能力和电子设备的显示能力)来定义“最佳”电子设备。例如,PDA 103、112能够呈现(例如,如标号106所示)显示日历和地址簿数据、授权的个人信息管理器(PIM)信息107以及语音邮件108。同时,蜂窝电话102、113能够呈现(例如,如标号105所示)语音邮件108和简单的电子邮件119。另一方面,平板电脑101和膝上型计算机114能够呈现(例如,如标号121所示)数据(例如语音邮件108和简单的电子邮件119)和更加计算密集的数据(例如传真117和视频118)。
根据用户首选项以及电子设备101到103的显示和呈现能力,PIM信息107、语音邮件108、电子邮件119、传真117和视频118中的数据在个人工作区104中被路由到一个或多个选择的电子设备。此路由优选地是动态的,因为当前条件可能符合用来选择电子设备的特定准则,但是将来的条件可能符合用来选择不同电子设备的其他准则。例如,如果用户正在使用平板电脑101,则平板电脑101可以被选择为所述选择的电子设备以便呈现语音邮件108。如果用户关闭平板电脑101,则可以使用PDA 103来呈现语音邮件108。
携带他或她自己的一组个人电子设备112到114的第二个人将具有他或她自己的个人工作区120。在个人工作区120中,每个电子设备112到114都有利地工作以处理特定的任务。
当个人工作区104和个人工作区120需要进行通信时,它们首先应被连接。第一个人携带的电子设备101到103的子集可以通过网络111与第二个人携带的电子设备112到114的子集相连,网络111可以是因特网、内联网、通过形成专用网络来创建的直接连接或任何其他网络。当这两个个人工作区104、120相连时,每个个人工作区104、120优选地用作一个实体,并且两个个人工作区104、120通过使用特定准则来确定电子设备101到103和电子设备112到114中的“最佳”电子设备。即使使用有限的可用连接性,每个个人工作区104、120也可以根据路由准则(包括数据转换和到所述电子设备的路由能力)来动态地确定到所述最佳电子设备的合适的路由。
现在将给出另一个实例。蜂窝电话113可以是呈现来自PDA103的PIM信息107的最佳电子设备,而平板电脑101可以是呈现来自膝上型计算机114的演示图表(未示出)的最佳电子设备。这些数据被路由到蜂窝电话113和平板电脑101,在一个实施例中,这在每个电子设备101到103和112到114都检查了每个用户的用户首选项和设备能力之后,后者包括例如显示能力、视频能力以及音频能力。但是,PDA103可能无法与蜂窝电话113直接通信。类似地,膝上型计算机114可能无法与平板电脑101直接通信。
但是,假设PDA103可以与平板电脑101通信,并且平板电脑101与蜂窝电话113相连。在此情况下,PDA103可以将平板电脑101用作代理以便将数据路由到蜂窝电话113。在此实例中,如果来自PDA103的PIM信息107不能被蜂窝电话113所理解,但是平板电脑101恰好理解PDA103和蜂窝电话113所要求的格式,则被用作代理路由器的平板电脑101还可以对PIM信息107执行数据格式的转换。另一方面,如果平板电脑101不理解PIM信息107的数据格式,但是蜂窝电话102理解所述数据格式,则蜂窝电话102可以用作数据转换器。因此,在PIM信息107被路由到平板电脑101之前,将PIM信息107路由到蜂窝电话102以便进行数据转换。
出于同样的原因,假设膝上型计算机114没有与平板电脑101相连。在此情况下,膝上型计算机114将试图使用PDA112作为代理以便与平板电脑101通信,假定PDA112与膝上型计算机114相连的话。另一方面,如果膝上型计算机114能够直接与平板电脑101通信,则膝上型计算机114能够直接与平板电脑101通信。此外,如果通信要求转换数据格式,则将在同一工作区或其他工作区内搜索合适的数据转换器并且如先前描述的那样,数据可以通过数据转换器被路由。也可能有不止一个电子设备参与数据转换。
此外,尽管图1中未示出,数据可以包含多种数据格式。例如,视频118可以同时包含音频数据和视频数据。音频数据可以被路由到膝上型计算机114,而视频数据可以被路由到平板电脑101。
现在参考图2,其中示出了两个个人工作区201、207。个人工作区201、207被用来说明用于个人工作区201中的电子设备202、203、213以及个人工作区207中的电子设备206、211和209的示例性特征和连接。
在此实例中,形成第一个个人工作区201的三个电子设备202、203、213通过具有设备ID11的电子设备202在它们自身之间相连。换言之,具有设备ID11的电子设备202同时用作具有设备ID12的电子设备203和具有设备ID13的电子设备213的路由器。连接电子设备202和203的连接215的连接类型是CT1。连接电子设备202和213的连接214的连接类型是CT2。另一方面,在第二个个人工作区207上,每一个电子设备都通过连接205、208和210与同一工作区内的所有其他电子设备206、211和209相连。具有设备ID22的电子设备211与具有设备ID23的电子设备209之间的连接210的连接类型可以是CT1,也可以是CT2。到具有设备ID21的电子设备206的连接205、208是CT1类型。
电子设备202和电子设备209是D1类型的电子设备并支持连接类型CT1和CT2以及运行AT1类型和AT2类型的应用。AP1应用是AT1类型的应用并支持输入格式F1、F2和F4以及输出格式F1和F2。AP8应用也是AT1类型的应用并支持输入格式F1、F2和F3以及输出格式F1和F2,而AP2应用是AT2类型的应用并支持输入格式F3、F4和F5以及输出格式F1和F3。电子设备202具有128×160像素分辨率的彩色显示并且还能够支持音频格式连续可变斜率增量调制(CVSD)8KHz。电子设备202、203、213、206、211和209的这些特征在图2中列表示出。
在图2中,第一个个人工作区201通过电子设备202与第二个个人工作区207相连。电子设备202分别使用连接204和212(每一个都具有连接类型CT1或CT2)与电子设备211和电子设备209相连。数据可以通过连接204和212被路由。
现在转到图3,其中以不同的配置示出了工作区201和207。图3在两个工作区201和207之间具有三个连接304、312、316。在图3中,数据可以通过连接304、312、316被路由。选择哪个路由可以取决于例如所选择的电子设备、是否需要数据转换以及连接类型。在图4中,工作区201和207在它们之间只有一个连接404。在图4的实例中,所有在工作区201、207之间传输的数据都通过连接404被路由。
现在转到图5,其中示出了四个电子设备505-1到505-4的示意图。每个电子设备505都包括软件堆栈510和处理器/硬件部分550。每个处理器/硬件部分550都可以包括单独的处理器、适合于嵌入和实现指令以及与其他处理器/硬件部分550通信的硬件,或处理器和硬件的某些组合。此外,如图5所示,处理器/硬件部分550还包括通信设备(未示出)以提供物理链路560。每个软件堆栈510包括多个应用520、个人协作中间件层530以及操作系统(OS)540。每个个人协作中间件530包括服务目录535。电子设备505-1和505-2在物理链路560-1上通过媒体流570-1来传递数据。类似地,电子设备505-2和505-3在物理链路560-2上通过媒体流570-2来传递数据,而电子设备505-3和505-4通过媒体流570-3传递数据并通过物理链路560-3相连。在此实例中,物理链路560是诸如无线以太网链路之类的物理硬件连接,而媒体流570是在诸如传输控制协议/因特网协议(TCP/IP)之类的较高通信协议层或诸如超文本传输协议(HTTP)之类的更高通信协议层处被发送的数据流。在物理链路上执行较高层通信。
应当指出,处理器/砸件部分550和软件堆栈510可以被集成到一个半导体设备上或被分布到多个半导体设备中。此外,软件堆栈510可以通过一个或多个存储器来实现,其中每个存储器包括一个或多个存储设备。所述存储设备可以包括磁盘或光盘、随机存取存储器、只读存储器、电可擦写只读存储器、闪存、后备电池存储器、磁带或其他存储装置。作为一个实例,存储器可以包括包含OS540的一部分的只读存储器、包含个人协作中间件530的一部分和OS540的另一部分的随机存取存储器(RAM),以及包含整个软件堆栈510的非易失性随机存取存储器。
OS540具有何种特征将取决于何者应在个人协作中间件530中被实现。个人协作中间件530执行方法700、800、900和1600(下面将更详细地描述),并可以包含参考图10到15更详细地示出的服务目录535(以及用户首选项)。个人协作中间件530实现电子设备505之间的协作。协作是在电子设备之间交换信息以便将数据路由到选择的电子设备以用于呈现目的、用户输入目的或两者。通常,第一电子设备会将与第一电子设备有关的属性发送到第二电子设备,以便于第二电子设备判定第一电子设备是否是呈现数据的最佳电子设备。如果第一电子设备是呈现数据的最佳电子设备,则第二电子设备将数据传送到第一电子设备。如图5所示,每个电子设备的属性被存储在服务目录535中。此外,还可以存在其他信息(例如,消息)交换。
在此示例性实施例中,每个电子设备505都在OS540的顶部运行个人协作中间件层530,其提供例如共享信息和处理数据以及呈现信息和处理连接和用户首选项的功能以便实现本发明。由于在许多工作区中,OS540与个人协作中间件530之间没有明显的分界,这些功能中的某些功能可以在OS540或个人协作中间件530中运行。
每个服务目录535包括多个图5中未示出但参考图10到15更详细地示出的块节点。广泛地,服务目录提供了有关电子设备505如何被连接以及它们具有何种能力的信息。通常,每个服务目录包括多个块节点(图5中未示出),其中每个块节点包含与某一电子设备505有关的信息。每个块节点还包括链路信息,所述链路信息示出了与两个块节点对应的两个电子设备505是如何被连接的。参考图10到图15更详细地说明了服务目录和块节点。
在图5的实例中,每个电子设备505都包括服务目录535。如参考图10到图15所说明的,由于每个电子设备505与其他电子设备505相连的方式,每个服务目录535将有细微的不同。但是,可以存在一个用于电子设备505的服务目录535。例如,单个服务目录535可以被存储在电子设备505-1上,并且每个电子设备505-2、505-3、505-4都将连接到存储在电子设备505-1上的服务目录535。
此处描述的本发明可以被实现为一件制品,所述制品包括计算机可读介质(作为软件堆栈510的一部分),所述计算机可读介质例如包含一个或多个当被执行时实现本发明的诸实施例的程序。例如,所述计算机可读介质可以包含这样的程序,所述程序被配置成执行由个人协作中间件530所采取的步骤。所述计算机可读介质可以是例如可记录介质,例如硬盘驱动器、光盘或磁盘、电子存储器或其他存储设备。
图6是如何为一个或多个电子设备构造层600的一个实例。标号628示出了包括OS层630、个人协作中间件层631、应用层632以及用户界面和呈现层633的软件层的高级视图。用户界面和呈现层633的用户界面部分处理用户输入(如键盘、鼠标、语音识别和笔输入),并且还处理计算机输出或对用户的响应(如显示装置、打印机和扬声器)。用户界面和呈现层633的呈现部分处理计算机输出,组织如何将信息组显示到输出设备。此外,还示出了处理器/硬件层629。处理器/硬件层629包括工作区中的电子设备可能包括的物理硬件。此硬件可以包括实际数据被存储以供使用的位置、应用运行的位置以及进行物理连接的位置。
层615指示哪些功能通常与OS层630关联,层613指示哪些功能通常与个人协作中间件层631关联,而层609指示哪些功能通常与应用层632关联。但是,这只是实例并且在某些实现中,与一个块关联的某些功能可以在另一个层中实现。作为一个实例,如果需要的话,特定数据管理功能616可以在个人协作中间件层631中实现,而不是在OS层630中实现。
每个电子设备都可以在OS层630中运行其自己的操作系统。OS层630可以包括处理数据转换的数据管理功能616,而使用数据的呈现管理器612可以在个人协作中间件层631上运行。数据转换在图6中被示为译码和/或变换模块617。译码重定数据的格式,通常将数据从一种屏幕大小和分辨率转换到另一种屏幕大小和分辨率。译码通常需要进行某些“编码”,例如信号处理。例如,用于膝上型计算机的因特网网页可以被译码以便通过按比例缩放来适合PDA的小得多的屏幕。变换指将数据从一种数据格式转换成另一种数据格式。例如,格式为用于一种字处理器的文档可以被重定格式以便在另一个字处理器上被呈现。
数据管理功能616还可以包括电子设备之间的数据的同步618。此外,OS层630通常将包括处理服务发现627和连接管理625的中间/内部工作区通信管理器623。OS层630中示出的功能(如数据管理616和中间/内部工作区通信管理器623)是有益的附加功能并且是除常规OS功能(如存储器管理、文件管理、调度、通信管理以及输入/输出管理)之外的功能。如上所述,这些功能的一部分或全部也可以在个人协作中间件层631中被实现。
在这些功能的上方,呈现管理器612、对等交互管理器611、服务目录645、搜索引擎636、访问控制管理器635以及用户监督功能和首选项614都在与个人协作中间件层631对应的层613中实现。呈现管理器612处理数据应如何被呈现给用户。对等交互管理器611处理与对等电子设备的通信以及远程服务调用,并且在接收到此类远程服务请求时调用应用。访问控制管理器635验证服务是否可由服务的请求者来访问。搜索引擎636可以搜索工作区中的电子设备以确定设备的属性以及数据位于哪个电子设备上。用户监督功能和首选项614处理用户策略和首选项并可以包含用户首选项。
在个人协作中间件层631之上,如层609示例性地所示,存在应用层632。层609包括以下应用:日历610;下一代电子邮件605;通知602;以及任务管理634。这些应用可以使用工作区内任何选择的和有能力的电子设备来将数据呈现给用户。在某些情况下,信息的一部分将显示在一个电子设备中而其他部分将显示在另一个电子设备上。优选的和有能力的电子设备还将用于接受工作区的用户输入。图6中的每个功能块如何被划分和实现并不是本发明的主题,但是图6示出了适合于允许电子设备之间的通信以便通过数据转换器(如果需要,如在本发明的一个优选实施例中那样)将数据路由到一个或多个最适合的电子设备的示例性功能。
图7A和7B示出了用于选择电子设备并动态地将数据路由到所选择的电子设备的示例性方法700。方法700通常由个人协作中间件来执行并示出为在一个电子设备上执行。因此,在一个电子设备上的个人协作中间件执行方法700并可以创建或修改其服务目录、传送数据、转换数据、接收数据或执行这些功能的组合。
步骤702是等待步骤,其中等待被执行直到事件发生为止。当事件发生时,执行步骤704、703、718和717。
在个人工作区内,每个电子设备通常在步骤701中创建一个服务目录。每个服务目录都被称为所述电子设备的“块节点”。块节点通常包含各种属性,例如描述电子设备的能力的信息、连接类型、设备类型、可以由电子设备提供的应用或服务以及每种服务的访问权限。参考图10到15示出了示例性服务目录和块节点。当请求信息时,确定块节点可以被动态地执行,或者在请求信息之前,确定块节点可以被执行。
服务目录可以像单独一则信息(例如,可由地址簿应用读取的电话号码)一样简单。当新的电子设备进入或离开工作区时,分别通过添加最新可用的块节点或移除块节点来更新服务目录。只要电子设备进入或离开工作区,工作区中的一个或多个电子设备就生成一则消息来更新服务目录(步骤704)。例如,如果电子设备被关闭,该电子设备将发送一则消息来更新服务目录。此外,轮询可以被用于移除电子设备,如果该电子设备没有应答轮询的话。此外,如果电子设备具有新的服务(如添加了应用),则该电子设备可以发送消息以便更新服务目录。
当存在服务目录更新时(步骤704=是),来自最新加入的电子设备或最新更新的电子设备的服务目录被更新以包括新的块节点。这发生在步骤705和图8的方法800中。此外,如果服务目录的块节点将被删除(例如当电子设备离开工作区并且不能与工作区中的其他设备通信或被关闭时),则在步骤705和图9的方法900中删除块节点。最新添加的电子设备或删除的电子设备也应更新其自己的服务目录,这也发生在步骤705中。如果没有服务目录更新(步骤704=否),方法700在步骤702中继续以等待另一个事件。应当指出,事件可以被排队。
如果没有来自电子设备的传送数据的请求(步骤703=否),则方法700在步骤702中继续以等待另一个事件。如果出现来自电子设备的传送数据的请求(步骤703=是),则在步骤706中,根据例如用户首选项(如参考图16所描述的)、设备能力和服务可用性来确定“最佳的”目的地电子设备。在步骤707中,判定是否需要数据转换器。如果需要(步骤707=是),则根据例如用户首选项、设备能力和服务可用性来确定“最佳”数据转换器。这发生在步骤708中。在步骤709中,判定是否找到了数据转换器。如果所述转换器存在于另一个电子设备上,则可以向其他设备发送一个远程过程调用请求。
如果找到(步骤709=是),则根据连接可用性和连接要求来确定到数据转换器(其通常是电子设备上的应用)的“最佳”路由。这发生在步骤754中。然后数据被传递给数据转换器。传递数据包括通过一个或多个电子设备来路由数据,直到到达带有所述数据转换器的电子设备。
如果没有找到数据转换器(步骤709=否),则在步骤755中通知请求者没有合适的数据转换器不能执行所请求的传送。
如果不需要数据转换器(步骤707=否),则根据连接可用性和连接要求来确定到目的地电子设备的“最佳”路由。这发生在步骤751中。在步骤753中,将数据传递给目的地电子设备。传递数据包括通过一个或多个电子设备来路由数据,直到到达被选为目的地电子设备的电子设备。
在步骤718中,判定是否需要数据转换。可以通过判定是否接收到远程过程调用以便代表其他电子设备执行所述转换来执行此步骤。例如,JAVA语言允许远程过程调用(RPC)请求。如果数据转换器在本地可用,也可以在包含所述数据的电子设备中本地地请求所述转换。如果无需数据转换(步骤718=否),则方法700在步骤702中继续以等待另一事件。如果需要(步骤718=是),则在步骤719中,判定电子设备是否能够实际地执行数据转换,这通过判定将被用来执行数据转换的应用是否能够执行所述转换和应用是否被启用来完成。如果步骤719为否,则步骤720判定特定的数据转换是否可以被执行。如果执行(步骤720=是),则应用执行部分转换(步骤722)并且数据转换的输出被传递给下一个数据转换器(步骤711)。如果不执行(步骤720=否),则电子设备查找代理数据转换器(步骤723)并通知代理数据转换器的数据发送者(步骤712)。
如果步骤719=是,则在步骤721中通过应用来执行数据转换,并且在步骤710中将数据转换的输出传递给目的地电子设备。方法700返回步骤702以等待下一个事件。
在步骤717中,判定是否将接收数据。如果不接收(步骤717=否),则方法700在步骤702中继续。如果将接收数据(步骤717=是),则判定呈现数据的应用是否能够呈现数据并被启用以便呈现数据。这发生在步骤716中。如果步骤716=是,则数据被接收(步骤713)并被呈现(步骤745)。如果步骤716=否,则查找另一个可能的接收者(步骤715),并且通知发送者该可能的接收者(步骤715)。方法700返回步骤702以等待另一个事件。
现在转到图8,其中示出了用于添加最新可用的服务目录的示例性发现目录建立方法800。图8代表步骤702、步骤705以及被添加或修改的更新连接(步骤705的一部分)。方法800通常也由电子设备中的个人协作中间件来执行。步骤801是步骤702中所示的等待步骤,其中事件将导致进一步的操作。在步骤802中,判定是否需要服务目录更新。如果不需要(步骤802=否),则方法800在步骤801中继续。直接连接到最新添加的电子设备的电子设备通常将执行步骤以启用电子设备之间的连接。例如,在步骤803中,判定是否有新的设备(即,“设备(N)”)将连接到执行方法800的设备(即,“设备(I)”)。如果没有(步骤803=否),则方法800在步骤801中继续。如果有(步骤803=是),则使用网络内的可用连接类型在当前设备与新设备之间建立物理连接,如果该物理连接尚不存在的话。在步骤805中,使用任何可用的服务发现协议来运行服务发现。此类协议可以包括链路级服务发现,如蓝牙服务发现协议(如果连接类型恰好是蓝牙无线连接),或者包括任何更高层的服务发现协议,如服务定位协议(SLP)、Jini、Salutation或通用描述、发现以及集成(UDDI)(如果使用传送控制协议/因特网协议(TCP/IP)的话)。
在步骤813中,判定是否接收到用于新添加的电子设备的“添加”通知。如果接收到(步骤813=是),则方法800在步骤806中继续。如果没有接收到(步骤813=否),则方法800在步骤801中继续。步骤812和813为电子设备和服务的添加提供了消息系统类型的通知。
新添加的电子设备可能与其他电子设备相连并因此包括来自服务目录中的这些其他电子设备的服务。结果,在新添加的电子设备的服务目录中可以有多个块节点。因此,列举来自新添加的电子设备的服务目录的所有块节点以及添加任何直接或间接地可用的新服务是有益的。为了实现此目的,执行步骤806到810。在步骤806中,变量x被初始化为初始值,其在数组下标或链接列表的开始部分的情况下通常为零。在步骤807中,判定新添加的电子设备的服务目录中的块节点是否已经存在于执行方法800的当前电子设备的服务目录中。如果不存在(步骤807=否),则新添加的电子设备的块节点作为链接列表表项被附加到当前电子设备的服务目录。这发生在步骤810中。所述方法在步骤808中再次继续,当步骤807=是时也将到达步骤808。步骤808判定新添加的电子设备的服务目录中是否有更多的块节点。如果有(步骤808=是),则在步骤809中递增变量x并且在步骤807中继续方法800。所述新添加的电子设备也应经历相同的过程以便直接或间接地添加所有最新可用的服务。
当新的服务被添加到直接连接的电子设备时,间接连接到新电子设备的所有其他电子设备通常将获得来自直接连接的电子设备的通知。这有益地按照以下描述来执行。在步骤808中,当新添加的电子设备的服务目录中没有更多的块节点时(步骤808=否),如果已对当前服务目录做出了改变(步骤811=是),则使用所述更新来通知当前工作区中连接的所有电子设备(步骤812)。如果当前服务目录没有改变(步骤811=否),则方法800在步骤801中继续。
现在转到图9,其中示出了用于删除不再可用的服务目录的示例性发现目录建立方法900。图9代表步骤702、步骤704以及步骤705的一部分(指由于删除电子设备而更新服务目录)。当电子设备离开个人工作区时,任何通过离开的电子设备直接或间接地可用的服务都必须被从服务目录中删除。步骤901是等待步骤(也在图7的步骤702中示出),其等待事件。在步骤902中,判定是否已经发生了服务目录更新。如果没有(步骤902=否),则方法900在步骤901中继续。如果已经发生(步骤902=是),则直接连接到离开的电子设备的电子设备将检测到该电子设备被断开连接(步骤903),并且其他间接连接的电子设备将在步骤910中获得删除通知。删除的电子设备将通过步骤904和907删除块节点,并将通过步骤908和909通知其他电子设备。也可能存在间接通过被断开连接的电子设备仅从其他电子设备可用的服务。因此,每一个电子设备都应该检查其服务目录以确定是否有任何块节点通过断开连接的电子设备而可用。这在步骤905和906中发生。
由于在服务目录方法800和900完成之后每个电子设备都应最终包括相同数量的块节点,所以也可以采用一个中央服务目录服务器,其中新添加的服务或删除的服务或两者被报告和维护。对于许多服务发现协议(例如UDDI),此类中央服务发现目录服务器模型是更适合的。这种方法的可能局限是无论中央发现目录服务器是在个人工作区内还是在远程位置,到中央发现目录服务器的连接应始终被维护。有时,采用冗余的中央发现目录服务器以确保在动态环境下它们中的至少一个被连接。在采用了中央服务目录服务器的情况下,物理链路连接信息应被添加到服务属性以便电子设备可以确定到服务的最优路由。
图10示出了在图2到图4的个人工作区201中的具有设备ID11的电子设备202中创建的示例性服务目录。为电子设备202中可用的服务创建块节点1001。如链路信息1002、1003所示,块节点1004和块节点1005是直接连接的服务。如“树末端”标记1006、1007所指示,块节点1004和1005不提供任何其他间接可用的服务。
类似地,图11示出了在图2到4中示出的具有设备ID12的电子设备203中创建的示例性服务目录。如链路信息1102所示,第一个块节点1101用于电子设备203的服务,而第二个块节点1103用于直接连接的服务。第三个块节点1105用于通过链路信息1104间接可用的服务,并且如到树末端标记1106和1107的链路所指示的,除这些块以外,没有更多间接可用的服务。这意味着如果删除中间块节点1103,则第三个块节点1105也将被自动删除。但是,在第二个工作区207中,使用同一实例,主要的区别在于所有服务是直接连接的。因此,没有树末端标记。结果,即使一个电子设备离开工作区,也不会有随后将被删除的任何间接可用的服务。
图12示出了在图2到4中示出的具有设备ID 13的电子设备213中创建的示例性服务目录。如链路信息1202所示,第一个块节点1201用于电子设备213的服务,而第二个块节点1103用于直接连接的服务。第三个块节点1205用于通过链路信息1204间接可用的服务,并且如到树末端标记1206和1207的链路所示,除这些块以外,没有更多间接可用的服务。
转到图13到15,这些图分别示出了在如图2到4所示的电子设备206(设备ID21)、211(设备ID22)和209(设备ID23)中创建的服务目录。用于各个电子设备的服务的块节点被示为块节点1301、1401和1501,并且通过直接连接的电子设备可用的服务被示为块节点1304、1306、1404、1406、1504和1506。块节点之间的连接链路被示为链路信息1302、1303、1402、1403、1502和1503。重要的是注意到,与使树末端标记处于次级块节点1304、1306、1404、1406、1504和1506的末端相反,块节点通过链路信息1305、1405、1505在彼此之间链接。
每个包含服务属性的块节点应具有有关电子设备的能力、应用类型、数据及其支持的数据格式的信息。支持的数据格式将被用来确定所述电子设备是否是执行数据格式转换的候选者。物理连接及其类型也是确定最佳路由的关键信息。其实例包括电子设备类型信息、电子设备ID、应用名称和连接的电子设备以及用于所述连接的物理链路。
现在转到图16,其中示出了用于选择电子设备并将数据动态地路由到选择的电子设备的概述的方法1600。在方法1600中,有益地在每个具有用户输入的电子设备上创建个人首选项简档,以便所述个人简档可以被用作确定最佳电子设备和到该最佳电子设备的最佳路由的策略。这发生在步骤1601。当个人工作区形成时,如先前所讨论的,执行服务发现以创建服务目录。这发生在步骤1602中。一旦每个电子设备知道了所有可用服务以及如何到达这些服务,则加入协作会话现在已准备就绪。如步骤1603中所示,来自同一工作区中的任何电子设备的所有可用服务都将被提供给用户。
当用户请求访问来自其个人工作区中的某个电子设备的特定数据时(这发生在步骤1604中),该个人工作区的电子设备应查找信息源以及使用该信息的应用被存储在何处(步骤1605)。所述个人工作区的电子设备还需要验证所述数据可以被与请求者共享。这也发生在步骤1605中。
在步骤1606中,根据用户首选项和电子设备的能力来确定呈现数据的“最佳”电子设备。用户首选项可以有许多不同的准则,例如数据是应只在运行相同应用程序的电子设备上被显示,还是应在任何支持类似应用类型并能够正确呈现信息的电子设备上被显示。此外,用户首选项可以是诸如显示首选项(例如信息是应在具有最大屏幕的电子设备上被显示,还是应在具有彩色屏幕的电子设备上被显示)之类的准则。其他用户首选项包括是否应根据媒体类型或标记语言标签类型来分离信息,以便信息的一部分可以在一个电子设备上显示,而信息的其他部分可以在其他电子设备上显示。
假设通过多维分数来确定“最佳”电子设备。可以使用多项式来确定多维分数。例如,可以使用变量f和p,其中f=重现保真度,p=用户注意接近度。所述变量对应于与设备有关的可量化信息,例如显示能力。所述变量还可以对应于应用能力。例如,如果两个应用都能够呈现一种数据类型,但一个应用优先于另一个应用,则该应用可以具有与之关联的更高的用户首选项。然后可以使用多项式a0f+a1p+....=S来计算多维分数,其中S是多维分数。权重a0、a1,...,代表用户首选项。任何能够确定哪个用户首选项应用到数据格式以及根据用户首选项从一组电子设备中确定最佳电子设备的技术都可以被使用。
一旦选择了最佳电子设备,则判定是否应执行数据格式转换以便将数据呈现给(步骤1607)被选为“最佳”电子设备的电子设备。可以有多个可以执行数据转换的电子设备。如上所述,数据转换包括译码、变换或两者。如果需要数据转换,则在步骤1607中,尝试查找用来转换数据的数据转换器。使用例如用户指定的数据转换器为特定类型的数据和电子设备的数据转换能力(包括“最佳”电子设备的数据转换能力)确定一个或多个数据转换器。也可能需要多个数据转换器来将数据转换成最佳电子设备所需的最终格式。如果所需的一个或多个数据转换器不可用(步骤1608=否),则在步骤1606中选择下一个最佳电子设备。如果没有找到能够转换数据的电子设备,则通知用户信息不能被访问(参见例如图7B的方法700的步骤755),或根据例如用户首选项将数据的一部分以任何格式显示在任何电子设备上。
另一方面,如果找到了执行数据转换的所需电子设备(步骤1608=是),则找到了到最佳电子设备的“最佳”路由。这发生在步骤1609中。此最佳路由经过具有数据转换器的电子设备并可以根据例如用户指定的准则(例如带宽要求和可用性、功率损耗、最短路由以及等待时间和连接类型)来选择。在步骤1609中将数据路由到数据转换器。如果无需数据转换器,则步骤1609在不经过数据转换器的情况下确定到最佳电子设备的最佳路由。一旦确定了路由,数据就应通过此路由被发送,如必要的话,在通往最终目的地的途中调用一个或多个适当的数据转换器。这发生在步骤1610中。可以使用任何可用的远程过程调用(例如简单对象访问协议(SOAP)请求)来远程地调用数据转换服务。作为另一个实例,在发送数据之前,可以发送专用消息分组来建立数据转换器。虽然从另一个电子设备的角度来看,一个电子设备似乎能够执行数据转换,但是是被选择为执行解码的电子设备来实际确定能否在该电子设备上执行所请求的数据转换。
如以上参考图7A和7B所描述的,选择的电子设备可能只能执行部分数据转换。如果所述电子设备不能执行任何数据转换,则其可以建议一个能够进行数据转换的代理并通知发送者。如果所述电子设备能够执行请求的数据转换,或者能够完成部分数据转换,则其将按照请求执行数据转换并将结果传递给最佳电子设备。最佳电子设备也可以拒绝数据,将数据继续传递给其他电子设备并将此通知发送者。
最后,当数据到达最佳电子设备时,接收到的数据被呈现给用户。这发生在步骤1611。能够呈现数据的适当应用应被调用,除非该应用已经执行并准备接收数据。还希望通知发起电子设备上的用户数据在何处被呈现。
通过遵循上述步骤来选择的最佳路由将确定哪些电子设备会参与协作会话。经过最佳路由的特定数据流形成了协作流。由于每个数据流可能需要通过不同的数据转换器并且不同的数据流可以在不同的电子设备中找到它们的最终目的地,所以协作会话中可能具有多个协作流。例如,一个数据流可以是MPEG视频流,而另一个数据流可以是与该视频流一起发送的聊天消息。音频流也可以通过不同于以上路由的路由来发送,并且可以在具有最佳扬声器的电子设备上被播放,而视频流可以在具有最佳显示单元的电子设备上被观看。
在一个实施例中,参与协作会话的电子设备形成了一个提供个人工作区的大型虚拟计算机。当两个个人工作区被连接时,所述两个个人工作区再次提供了更大的虚拟计算机。但是,对其他用户可用的服务的数量可能受通过用户首选项来设置的访问权限的限制。
应当理解,此处示出和描述的实施例和变化只是用于说明本发明的原理,在不偏离本发明的范围和精神的情况下,本领域的技术人员可以实现各种修改。例如,所述用户首选项和服务目录可以被置于工作区中的单个设备上。

Claims (34)

1.一种用于提供包括多个电子设备的虚拟工作区的方法,其中可以通过所述电子设备之间的多个连接在所述多个电子设备之间交换信息,所述方法由所述虚拟工作区中的一个或多个所述电子设备来执行并包括以下步骤:
确定所述虚拟工作区内可用的服务;
确定所述虚拟工作区内能够访问感兴趣的数据的电子设备;
确定与所述数据关联的一个或多个数据格式,其中所述数据的一部分具有一个或多个数据格式中的一个给定格式;
至少部分地根据多个预定准则和所述给定的数据格式来选择所述多个电子设备中的一个适合于通过使用所述服务中的一个服务来呈现所述数据的至少所述部分的电子设备;
确定通过所述多个连接到所述选择的电子设备的路由;以及
通过所述路由的至少一部分来路由与所述给定的数据格式关联的所述数据的至少所述部分。
2.根据权利要求1的方法,其中所述数据位于所述多个电子设备中的一个电子设备上或位于不是所述电子设备之一的远程电子设备上。
3.根据权利要求1的方法,其中所述虚拟工作区是第一虚拟工作区并且其中所述选择的电子设备是来自第二虚拟工作区的多个第二电子设备中的一个电子设备,所述第一和第二虚拟工作区通过至少一个附加连接来连接。
4.根据权利要求1的方法,其中所述数据的所述部分是以下之一:全部所述数据或少于全部所述数据。
5.根据权利要求1的方法,其中当电子设备被添加到所述虚拟工作区或被从所述虚拟工作区删除时,所述选择的电子设备从第一选择的电子设备变为第二电子设备。
6.根据权利要求1的方法,其中所述选择步骤由用户来执行。
7.根据权利要求1的方法,其中根据用户请求来再次执行所述选择步骤。
8.根据权利要求1的方法,其中所述选择步骤选择执行所述方法的电子设备,所述确定路由的步骤确定不包括所述多个连接中的任何一个连接的路由,并且所述路由步骤包括将所述数据的所述部分路由到执行所述方法的所述电子设备上的服务。
9.根据权利要求1的方法,还包括由所述选择的电子设备来呈现所述数据的至少所述部分的步骤。
10.根据权利要求9的方法,还包括调用用来呈现所述数据的至少所述部分的应用的步骤。
11.根据权利要求1的方法,其中所述确定一个或多个数据格式的步骤还包括通过确定与所述数据关联的文件扩展名来确定与所述数据关联的所述一个或多个数据格式的步骤。
12.根据权利要求1的方法,其中所述确定一个或多个数据格式的步骤还包括通过确定与所述数据关联的标记来确定与所述数据关联的所述一个或多个数据格式的步骤。
13.根据权利要求12的方法,其中所述标记是标记语言标签。
14.根据权利要求1的方法,其中所述用户首选项包括一个或多个重现保真度和用户注意接近度。
15.根据权利要求1的方法,其中所述预定准则包括用户首选项,并且其中所述选择步骤还包括根据至少使用所述用户首选项确定的多维分数来选择所述电子设备的步骤。
16.根据权利要求15的方法,还包括通过添加两个或更多个项来确定所述多维分数的步骤,每个项具有通过将变量乘以权重来确定的值,其中每个权重对应于一个用户首选项。
17.根据权利要求1的方法,其中所述确定路由的步骤还包括根据路由准则来确定所述给定的一个或多个连接以便路由与所述给定的数据格式关联的数据的至少所述部分的步骤,其中所述路由准则包括一个或多个性能准则、功率损耗准则以及连接类型。
18.根据权利要求1的方法,其中所述预定准则还包括设备准则。
19.根据权利要求18的方法,还包括通过服务发现来确定所述设备准则的步骤。
20.根据权利要求19的方法,其中所述通过服务发现来确定所述设备准则的步骤还包括访问服务目录的步骤,所述服务目录包括一个或多个与至少一个所述电子设备对应的属性。
21.根据权利要求20的方法,还包括通过访问所述多个电子设备中的每个电子设备以确定所述一个或多个属性来创建所述服务目录的步骤。
22.根据权利要求20的方法,其中所述服务目录被存储在一个或多个所述电子设备上。
23.根据权利要求20的方法,其中所述服务目录被存储在不是所述多个电子设备之一的远程电子设备上。
24.根据权利要求1的方法,其中所述路由步骤还包括根据所述用户访问所述数据的权限或对试图访问所述数据的用户的认证来阻止访问所述数据的至少所述部分的步骤。
25.根据权利要求1的方法,还包括转换所述数据部分的步骤。
26.根据权利要求25的方法,其中所述转换步骤执行所述数据的所述部分从所述给定的数据格式到另一数据格式的一次或多次变换并译码所述数据的所述部分。
27.根据权利要求25的方法,其中所述转换步骤由所述多个电子设备中的一个或多个电子设备来执行。
28.根据权利要求25的方法,其中所述转换步骤由不是所述选择的电子设备的特定电子设备来执行,并且其中所述确定路由的步骤还包括确定通过所述多个连接以及通过所述特定电子设备到所述选择的电子设备的路由的步骤,所述路由包括所述多个连接中的所述一个或多个给定连接。
29.一件用于提供包括多个电子设备的虚拟工作区的制品,其中可以通过所述电子设备之间的多个连接在所述多个电子设备之间交换信息,所述制品包括:
包含一个或多个程序的计算机可读介质,当所述程序被执行时实现以下步骤:
确定所述虚拟工作区内可用的服务;
确定所述虚拟工作区内能够访问感兴趣的数据的电子设备;
确定与所述数据关联的一个或多个数据格式,其中所述数据的一部分具有一个或多个数据格式中的一个给定格式;
至少部分地根据多个预定准则和所述给定的数据格式来选择所述多个电子设备中的一个适合于通过使用所述服务中的一个服务来呈现所述数据的至少所述部分的电子设备;
确定通过所述多个连接到所述选择的电子设备的路由;以及
通过所述路由的至少一部分来路由与所述给定的数据格式关联的所述数据的至少所述部分。
30.一种用于提供包括多个电子设备的虚拟工作区的装置,其中可以通过所述电子设备之间的多个连接在所述多个电子设备之间交换信息,所述装置包括:
存储器;
至少一个连接到一个或多个所述连接的通信设备;以及
至少一个连接到所述存储器并可执行以下操作的处理器:
确定所述虚拟工作区内可用的服务;
确定所述虚拟工作区内能够访问感兴趣的数据的电子设备;
确定与所述数据关联的一个或多个数据格式,其中所述数据的一部分具有一个或多个数据格式中的一个给定格式;
至少部分地根据多个预定准则和所述给定的数据格式来选择所述多个电子设备中的一个适合于通过使用所述服务中的一个服务来呈现所述数据的至少所述部分的电子设备;
确定通过所述多个连接到所述选择的电子设备的路由;以及
通过所述路由的至少一部分来路由与所述给定的数据格式关联的所述数据的至少所述部分。
31.一种用于提供包括多个电子设备的虚拟工作区的方法,其中可以通过所述电子设备之间的多个连接在所述多个电子设备之间交换信息,所述方法包括以下步骤:
为所述多个电子设备中的至少一个电子设备确定一个或多个属性;
确定所述虚拟工作区内能够访问感兴趣的数据的电子设备;
确定所述数据的一个或多个数据格式,其中所述数据的一部分具有一个或多个数据格式中的一个给定格式;
至少部分地根据所述属性和所述给定的数据格式来选择所述多个电子设备中的一个电子设备;
确定通过所述多个连接到所述选择的电子设备的路由,所述路由包括所述多个连接中的一个或多个给定连接;以及
通过所述路由的至少一部分来路由与所述给定的数据格式关联的所述数据的至少所述部分。
32.根据权利要求31的方法,其中所述确定一个或多个属性的步骤还包括访问服务目录以确定所述一个或多个属性的步骤,其中所述服务目录包括以下各项中的一个或多个:至少一个所述电子设备的能力、电子设备之间的连接的连接类型、至少一个所述电子设备的设备类型、可由至少一个所述电子设备提供的应用和服务,以及由所述至少一个电子设备提供的每个服务的访问权限。
33.根据权利要求31的方法,其中所述选择步骤还包括至少部分地根据所述属性、所述给定的数据格式和用户首选项来选择所述多个电子设备中的一个电子设备的步骤。
34.根据权利要求31的方法,其中所述电子设备是第一电子设备并且所述虚拟工作区是第一虚拟工作区,所述方法还包括以下步骤:
确定多个第二电子设备中的每个电子设备的一个或多个属性,由此所述多个第二电子设备形成第二虚拟工作区;
将至少一个所述第一电子设备连接到至少一个所述第二电子设备;以及
执行所述确定一个或多个数据格式、选择电子设备、确定路由以及路由的步骤以便从所述第一和第二多个电子设备来选择电子设备。
CNB2005100800474A 2003-05-20 2004-04-12 用于提供包括多种电子设备的虚拟工作区的技术 Expired - Fee Related CN100466633C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/442,218 2003-05-20
US10/442,218 US7406500B2 (en) 2003-05-20 2003-05-20 Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices

Publications (2)

Publication Number Publication Date
CN1792069A true CN1792069A (zh) 2006-06-21
CN100466633C CN100466633C (zh) 2009-03-04

Family

ID=33450147

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100800474A Expired - Fee Related CN100466633C (zh) 2003-05-20 2004-04-12 用于提供包括多种电子设备的虚拟工作区的技术

Country Status (9)

Country Link
US (2) US7406500B2 (zh)
EP (1) EP1636952B1 (zh)
KR (1) KR100754310B1 (zh)
CN (1) CN100466633C (zh)
AT (1) ATE381835T1 (zh)
DE (1) DE602004010807T2 (zh)
IL (1) IL172052A0 (zh)
TW (1) TWI330023B (zh)
WO (1) WO2004105325A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662971A (zh) * 2012-03-09 2012-09-12 盛乐信息技术(上海)有限公司 基于虚拟盘的互联网信息展示方法及系统

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343566B1 (en) 2002-07-10 2008-03-11 Apple Inc. Method and apparatus for displaying a window for a user interface
US7406500B2 (en) * 2003-05-20 2008-07-29 International Business Machines Corporation Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices
US20050132264A1 (en) * 2003-12-15 2005-06-16 Joshi Ajit P. System and method for intelligent transcoding
US20060047819A1 (en) * 2004-05-14 2006-03-02 Caddes Scott A Simultaneous transfer of database updates between multiple clients and a server
GB2415325A (en) * 2004-06-15 2005-12-21 Mitel Networks Corp Spontaneous discovery of remote service profiles
KR100703754B1 (ko) * 2005-04-15 2007-04-06 삼성전자주식회사 웹서비스 처리 장치 및 방법
US20080147886A1 (en) * 2006-12-14 2008-06-19 Andrew Rodney Ferlitsch Methods and Systems for Providing Peripheral Device Services
US20080162628A1 (en) * 2007-01-03 2008-07-03 Peter Hill Simultaneous visual and telephonic access to interactive information delivery
US8321449B2 (en) * 2007-01-22 2012-11-27 Jook Inc. Media rating
US8839142B2 (en) * 2007-06-08 2014-09-16 Apple Inc. Desktop system object removal
US20090019120A1 (en) * 2007-07-13 2009-01-15 International Business Machines Corporation Metadata-enhanced instant-messaging applications
US8108494B1 (en) * 2007-07-31 2012-01-31 Sutus, Inc. Systems and methods for managing converged workspaces
US20100146506A1 (en) * 2008-12-08 2010-06-10 Electronics And Telecommunications Research Institute SYSTEM AND METHOD FOR OFFERING SYSTEM ON DEMAND (SoD) VIRTUAL-MACHINE
US20110066712A1 (en) * 2009-04-17 2011-03-17 Prem Jothipragasam Kumar User-defined services in a personal distributed network
US8588693B2 (en) * 2009-11-06 2013-11-19 Blackberry Limited Device, system and method for selecting, sharing and displaying electronic content
US20110111697A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Device, system and method for selecting, sharing and displaying electronic content
US20110246340A1 (en) * 2010-04-02 2011-10-06 Tracelink, Inc. Method and system for collaborative execution of business processes
US8898567B2 (en) * 2010-04-09 2014-11-25 Nokia Corporation Method and apparatus for generating a virtual interactive workspace
US9235268B2 (en) * 2010-04-09 2016-01-12 Nokia Technologies Oy Method and apparatus for generating a virtual interactive workspace
US9407718B2 (en) * 2010-07-01 2016-08-02 Broadcom Corporation Method and system for service discovery and deployment in an IP multimedia network
US9542202B2 (en) * 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US10740117B2 (en) * 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9658732B2 (en) * 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
US9292196B2 (en) * 2010-10-19 2016-03-22 Apple Inc. Modifying the presentation of clustered application windows in a user interface
US8676908B2 (en) * 2010-11-25 2014-03-18 Infosys Limited Method and system for seamless interaction and content sharing across multiple networks
KR20120066529A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 가상 전자제품 제공 시스템
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
US8873618B2 (en) * 2011-02-28 2014-10-28 Blackberry Limited Device to transmit data by displaying a coded image generated according to a selectable encoding scheme and associated methods
US20130290835A1 (en) * 2012-04-30 2013-10-31 James Paul Hudetz Method and Apparatus for the Selection and Reformat of Portions of a Document
WO2015139026A2 (en) 2014-03-14 2015-09-17 Go Tenna Inc. System and method for digital communication between computing devices
KR102463405B1 (ko) 2015-05-21 2022-11-04 삼성전자주식회사 전자 장치, 그 동작 방법 및 기록 매체

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0472854A (ja) 1990-07-12 1992-03-06 Oki Electric Ind Co Ltd データ収集方式
US5485634A (en) * 1993-12-14 1996-01-16 Xerox Corporation Method and system for the dynamic selection, allocation and arbitration of control between devices within a region
AU714336B2 (en) * 1996-07-25 1999-12-23 Clearway Acquisition, Inc. Web serving system with primary and secondary servers
US6233318B1 (en) 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
JP3180745B2 (ja) 1997-11-07 2001-06-25 日本電気株式会社 Pon伝送システム及びその帯域割当方法
SE516122C2 (sv) * 1999-02-11 2001-11-19 Ericsson Telefon Ab L M Anordning och förfarande relaterande till paketdatakommunikation och ett paketdatakommunikationssystem
WO2000078018A1 (en) 1999-06-14 2000-12-21 Wilshire Cellular, Inc. Method and apparatus for communicating via virtual office telephone extensions
JP2001022690A (ja) 1999-07-09 2001-01-26 Canon Inc 装置間のデータ通信方法及びそのシステム
US6498835B1 (en) * 2000-02-29 2002-12-24 Ameritech Corporation Method and system for providing visual notification in a unified messaging system
US7324226B2 (en) * 2000-05-31 2008-01-29 National Semiconductor Corporation Method, and arrangement in a communications network
WO2002009458A2 (en) * 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
JP2002101104A (ja) * 2000-09-21 2002-04-05 Toshiba Corp 無線通信システム及び電子機器検索方法
US7356347B1 (en) * 2000-09-28 2008-04-08 Palmsource, Inc. Efficient discovery of devices in a bluetooth environment
US20020059377A1 (en) * 2000-11-14 2002-05-16 Jagadish Bandhole Collaborative computing systems using dynamic computing environments
US6954790B2 (en) * 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
US7164885B2 (en) * 2000-12-18 2007-01-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for selective service access
KR100374189B1 (ko) * 2000-12-20 2003-03-04 한일시멘트 (주) 토질안정 처리재의 제조방법
US8126982B2 (en) * 2001-02-16 2012-02-28 International Business Machines Corporation Method, network device and computer program product for performing service discovery in a pervasive network
US7092740B1 (en) * 2001-04-20 2006-08-15 Trilogy Development Group, Inc. High density information presentation using space-constrained display device
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US7099871B2 (en) * 2001-05-04 2006-08-29 Sun Microsystems, Inc. System and method for distributed real-time search
US7013303B2 (en) * 2001-05-04 2006-03-14 Sun Microsystems, Inc. System and method for multiple data sources to plug into a standardized interface for distributed deep search
US7340438B2 (en) * 2001-05-21 2008-03-04 Nokia Corporation Method and apparatus for managing and enforcing user privacy
US7194760B2 (en) * 2001-05-21 2007-03-20 Nokia Corporation Method for protecting privacy when using a Bluetooth device
US7668144B2 (en) * 2001-06-04 2010-02-23 Taylor Rebecca S Dynamically extensible communications device
FI20011239A (fi) * 2001-06-12 2002-12-13 Nokia Corp Tiedonsiirtomenetelmä ja -järjestely
MXPA03011976A (es) * 2001-06-22 2005-07-01 Nervana Inc Sistema y metodo para la recuperacion, manejo, entrega y presentacion de conocimientos.
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20020049817A1 (en) * 2001-07-12 2002-04-25 Eatamar Drory Storageless system and method for unified messaging on existing mail accounts via standard internet mail protocols
US7089298B2 (en) * 2001-08-20 2006-08-08 Nokia Corporation Naming distribution method for ad hoc networks
US20030069989A1 (en) * 2001-10-05 2003-04-10 Silvester Kelan C. Extending bluetooth personal area networks
GB0126650D0 (en) * 2001-11-06 2002-01-02 Mitel Knowledge Corp System and method for the selection of electronic services from a set of resources using infrared communication
US7209705B2 (en) * 2001-11-14 2007-04-24 Samsung Electronics Co., Ltd. Method and apparatus for optional automatic configuration of wireless communications device behavior within small area transmitter service regions
US7340214B1 (en) * 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7249182B1 (en) * 2002-02-27 2007-07-24 Nokia Corporation Personal profile sharing and management for short-range wireless terminals
US7102640B1 (en) * 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US7324462B1 (en) * 2002-07-25 2008-01-29 3Com Corporation Methods for discovering devices within a wireless network
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7406500B2 (en) * 2003-05-20 2008-07-29 International Business Machines Corporation Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662971A (zh) * 2012-03-09 2012-09-12 盛乐信息技术(上海)有限公司 基于虚拟盘的互联网信息展示方法及系统

Also Published As

Publication number Publication date
ATE381835T1 (de) 2008-01-15
WO2004105325A3 (en) 2005-02-03
US20080256259A1 (en) 2008-10-16
CN100466633C (zh) 2009-03-04
TW200515178A (en) 2005-05-01
DE602004010807T2 (de) 2008-12-04
US7406500B2 (en) 2008-07-29
TWI330023B (en) 2010-09-01
IL172052A0 (en) 2009-02-11
DE602004010807D1 (de) 2008-01-31
EP1636952A2 (en) 2006-03-22
WO2004105325A2 (en) 2004-12-02
EP1636952B1 (en) 2007-12-19
KR20060018820A (ko) 2006-03-02
KR100754310B1 (ko) 2007-09-03
US7720909B2 (en) 2010-05-18
US20040236818A1 (en) 2004-11-25

Similar Documents

Publication Publication Date Title
CN100466633C (zh) 用于提供包括多种电子设备的虚拟工作区的技术
JP4727730B2 (ja) 無線ネットワークにおける近傍サービスの発見
US8934435B2 (en) Method and system for managing information among personalized and shared resources with a personalized portable device
RU2411682C2 (ru) Способ, устройство, сетевой элемент, система и компьютерный программный продукт для обеспечения совместного доступа к контенту
US6310889B1 (en) Method of servicing data access requests from users
JP3822559B2 (ja) 移動体のサービスをネゴシエートする方法及び装置
CN101036365A (zh) 用于将与数据文件相关联的可利用数据提供给存在服务的用户的方法、设备、系统和计算机程序产品
CN1866258A (zh) 数据共享系统和数据共享方法
CN1455570A (zh) 无线权标发现和协议协商的方法及包含该协议的无线装置
CN101444053A (zh) 用于经由在数据分组网络上广播的请求来定位和获取服务连接的系统和方法
CN1729468A (zh) 数据同步
CN1764171A (zh) 将资源请求与对应的资源会合
US9119020B2 (en) Method and apparatus for discovering wireless devices
EP1657939A1 (en) System and Method for facilitating distribution of information in a network
CN1993962A (zh) 在上下文信息上构建的社区中支持基于sip事件的发现服务和内容的方法、系统和计算机程序
CN1492637A (zh) 元服务选择器、元服务选择器协议、网络接入服务器和系统
CN1976322A (zh) 一种实现多媒体即时通讯的方法、系统和控制流程
CN1764217A (zh) 用于分配vxml能力以便在客户设备上执行的系统
CN1518290A (zh) 可扩展通信控件
US7743091B2 (en) Context management system for a network including a heterogenous set of terminals
JP2004015692A (ja) 通信アプリケーション間の状態情報共有・処理方法およびそのシステム
US7746834B1 (en) Method of dynamically locating and connecting to a wireless device
CN1250534A (zh) 分布式业务网
JP2004128793A (ja) ネットワーク電話システムおよびプログラム
JP2001024691A (ja) サーバシステム及びサーバシステムにおけるアドレス情報提供方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090304