Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2009076843 - PARTAGE D'OBJETS PARMI PLUSIEURS UTILISATEURS DE MI

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ ZH ]
说明书

多 IM用户的对象共享

[1] 技术领域

[2] 本发明涉及即吋通讯(IM ) 领域,特别涉及实现多个 IM

用户之间共享对象的方法和装置。

[3] 背景技术

[4] 网络即吋通讯工具发展到今天,

已经成为用户必不可少的软件工具,不但在休闲娱乐吋,而且在用户的工作中 都得到广泛的使用。在用户使用 IM

工具吋,既需要个人对个人的即吋会话,也需要能够同吋与多个 IM

用户进行交流与沟通的会话方式。例如,在不同地点的用户常常不能在一起面 对面地进行项目的交流或工作讨论。但是通过 IM

工具提供的多人会话功能,在不同地点的用户就可以对某些问题进行实吋的讨 论。这样就给多个用户提供了同吋进行交流与沟通的平台,满足了用户的多人 对多人的交流体验。

[5] 发明内容

[6] 在本申请中,将能够在 IM用户的客户端(以下简称 IM客户端或 IM

客户端设备)中表示并可被 IM

客户端用户共享和进行诸如编辑、修改、删除等操作的内容(例如文本、图片 或者音频内容等)统称为对象或共享对象。

[7] 当多个 IM客户端用户需要对某个共享对象分别进行不同的操作,并在多个 IM 客户端中实吋反映对该共享对象的操作结果以实现多个 IM

客户端对操作结果的共享吋,现有的即吋通讯手段尚不能满足这一需求。

[8] 因此,根据本发明的一个方面,提出了一种用于在多个 IM

客户端之间实现对象的共享的方法,包括:在通信连通的多个 IM

客户端表示至少一个共享对象;多个 IM客户端中的任一 IM

客户端对该至少一个共享对象进行操作,根据该操作在多个 IM

客户端中将经过操作的共享对象更新。

根据本发明的另一方面,提供一种 IM客户端设备,包括:

共享对象发起模块,发出其所属的 IM客户端设备与其它至少一个 IM 客户端设备共享对象的请求;共享对象窗口管理模块,为其所属的 IM

客户端设备提供共享对象窗口,将共享对象表示在该共享对象窗口中。其中, 共享对象窗口管理模块根据 IM

客户端设备对所述共享对象的操作,更新其所属的 IM

客户端设备中的共享对象的表示。

根据本发明的又一方面,提供一种用于与多个 IM

客户端设备协作以实现对象共享的 IM

服务器,包括:共享服务模块,其被配置成从 IM

客户端设备接收共享对象,并将接收到的共享对象发送到多个 IM客户端设备。 根据本发明的又一方面,提供一种实现对象的共享的系统,包括多个 IM 客户端设备和与多个 IM客户端设备通信连通的 IM服务器。其中, IM

客户端设备包括共享对象窗口管理模块,其被配置成通过 IM

服务器将共享对象表示在多个 IM客户端设备中。

以上所述的这些方面可以通过适当的系统、设备、方法、计算机程序或其组合 来实施。

根据以上的这些方面,在 IM

客户端对共享对象进行操作(例如修改、添加、部分删除等处理)后,可以实 现多个 IM客户端用户对操作结果的实吋共享。

附图说明

图 1(a)和(b)分别为根据本发明在多个 IM

客户端之间实现对象的共享的用户界面例的示意图;

图 2为根据本发明一个实施方式的在多个 IM

客户端之间实现对象的共享的系统示意图;

图 3为根据本发明一个实施方式的 IM客户端框图;

图 4更详细地示出了如图 3所示的共享对象窗口管理模块 330的一例;

[19] 图 5为根据本发明另一个实施方式的 IM客户端框图;

[20] 图 6为根据本发明一个实施方式的 IM服务器的框图;

[21] 图 7所示为根据本发明一个实施方式的实现多个 IM

用户实吋共享对象的方法的流程图;

[22] 图 8为图 7所示步骤 S10的子步骤的流程图;

[23] 图 9为图 7所示步骤 S20的子步骤的流程图;以及

[24] 图 10为图 7所示步骤 S30的子步骤流程图。

[25] 具体实施方式

[26] 参照图 1(a)和 (b),其分别为将要说明的 IM客户端设备(在说明书中简称 IM 客户端)共享对象的方法和装置中所呈现的用户界面示例。图中 10

表示共享区域, 11表示共享对象, 12表示会话窗口, 13表示切换标签, 14 表示共享对象窗口, 15所指的图标示例表示操作共享对象的工具。

[27] 参考图 2,其示出了由多个 IM客户端 300以及与这些 IM客户端 300

通信连通的 IM服务器 600构成的能够实现对象的共享的系统。

[28] 参考图 3,在一种实施方式中, IM客户端 300可包括共享对象发起模块 320 和共享对象窗口管理模块 330。

[29] 共享对象发起模块 320向 IM服务器 600

发起共享对象的请求,将本地的原始共享对象发送到 IM服务器 600

后启动共享对象窗口管理模块 330。共享对象发起模块 320也可以根据来自 IM 服务器 600的发起共享对象的请求,启动共享对象窗口管理模块 330。

[30] 共享对象窗口管理模块 330实现向 IM客户端 300提供共享对象窗口 14

、将共享对象显示在共享对象窗口 14

中、执行用户对所显示的共享对象的操作、和在其所属的 IM客户端 300 反映被操作后的共享对象 11 。

[31] 再参考图 3,在一种实施方式中, IM客户端 300还包括讨论组管理模块 310

[32] 多个 IM

客户端的用户可以组成讨论组,讨论组中的成员(用户)可以进行实吋的会话 及对共享对象的共享和 /

或操作。讨论组可包括管理员,管理员可以是讨论组的发起者,也可以是该讨 论组中的其它成员。管理员的 IM客户端 300中的讨论组管理模块 310为多个

IM客户端 300创建讨论组,并实现对讨论组中各个 IM

客户端的管理,例如添加、删除等。讨论组管理模块 310

还能够为讨论组中成员发出的对共享对象操作的请求生成和管理请求列表,并 且可以分配各成员的操作权限,和 /或确定允许更新共享对象的成员等。

[33] 如图 4所示,共享对象窗口管理模块 330包括共享对象窗口提供单元 331 、共享对象操作单元 332、共享对象更新单元 333

。在其它的例子中,还可以包括共享对象权限管理单元 334

。在另外的例子中还可以包括请求列表管理单元 335。

[34] 共享对象窗口提供单元 331提供共享对象窗口 14,并将共享对象 11

显示在共享对象窗口 14中。共享对象窗口提供单元 331

提供的共享对象窗口处于会话窗口管理模块 310提供的会话窗口 12

的一侧。这样,会话窗口 12和共享对象窗口 14可以同吋显示。虽然在图 1(a) 、(b)中只示出了一个共享对象,但是可以包括任意多的共享对象。

[35] 共享对象操作单元 332可被配置成执行用户通过例如图 1(a)、 (b)

所示的操作共享对象的工具 15对共享对象 11

进行的操作,例如编辑、修改、删除等。

[36] 共享对象更新单元 333可配置成将经过操作的共享对象 11在其所属的 IM 客户端中更新。在一种实施方式中,共享对象更新单元 333

还可将经过操作的共享对象传送给后文将要描述的 IM服务器 600,从而更新各 IM

客户端的共享对象窗口中的共享对象。共享对象可以由讨论组的发起者启动, 也可以由讨论组的其它成员启动。

[37] 1. 作为一例,显示在共享对象窗口 14中的共享对象 11

可以被存储在存储单元(图中未示出)中。共享对象更新单元 333 可以每隔预定吋间间隔判断共享对象窗口 14中当前显示的共享对象 11 与存储单元已存储的该共享对象是否一致。若不一致,则将存储单元中 的该共享对象更新为当前显示的共享对象,并将更新后的共享对象 11 发送到 IM服务器 600以更新其它客户端中的该共享对象 11

这将在下面进行详细的描:

[38] 作为另一例,共享对象更新单元 333还可对共享对象设立操作标记(flag

) 。在共享对象被操作后,该标记被置位。这样,通过检査共享对象所对应的 操作标记可以判断该共享对象是否被执行了操作。若是,则将当前显示的共享 对象 11更新为经过操作后的内容。

[39] 还可以有另外的方式,例如,讨论组成员的 IM客户端 300

可以实吋检测对共享对象 11的操作情况。如果该成员对共享对象窗口 14 中的共享对象 11进行了操作,则该成员的 IM客户端 300请求与 IM服务器 600 的连接,从而将对当前共享对象 11的操作通过 IM服务器 600

反映在讨论组其它成员的 IM客户端 300上。

[40] 共享对象窗口管理模块 330可以进一步包括请求列表管理单元 334

。在这种情况下,该共享对象窗口管理模块 330所属的 IM

客户端的用户可作为 '管理员'。具体地,当某个 IM客户端 300

的用户为讨论组的管理员吋,该 IM客户端 300的请求列表管理单元 334 可以将来自讨论组的其它成员的 IM客户端 300

的占用共享对象的请求加入到请求列表中,并对多个 IM客户端 300

的请求进行排序。排序可以按照例如发起请求的吋间先后进行。根据排序的先 后确定在当前允许哪个 IM

客户端占用共享对象以便进行操作。需要说明,虽然在本实施方式中,请求列 表管理单元 334是包含在 IM客户端 300中,但是请求列表管理单元 334 也可以设置于与 IM客户端 300通信连通的服务器(例如 IM服务器 600 ) 中。

[41] 在共享对象窗口管理模块 330包括共享对象权限管理单元 335

吋,可以进一步控制其所属的 IM客户端 300的权限。例如,在该 IM客户端 300被允许操作共享对象吋,该 IM客户端 300的共享对象权限管理单元 335 会将共享对象窗口 14设置为可操作状态;否则,将其设置为只读状态。

[42] 另外,当共享对象权限管理单元 335所属的 IM客户端 300

为管理员吋,它还可被配置成能够分配讨论组中其它成员的 IM客户端 300 对共享对象的操作权限。当管理员确定了当前允许占用共享对象的 IM客户端 300吋,就向 IM服务器 600发送携带该 IM客户端 300

的唯一用户标识以及讨论组标识的消息。 IM服务器 600则向该讨论组的各个 IM客户端 300广播该消息。

[43] 当该讨论组中的 IM客户端 300收到该广播消息吋,共享对象权限管理单元

335

判断该消息中的唯一用户标识与自身的唯一用户标识是否一致。在判断为一致 吋,确定自己当前被允许对共享对象进行操作。该 IM客户端 300

的共享对象权限管理单元 335会将该 IM客户端 300

的共享对象窗口设置为可操作状态;否则,将其设置为只读状态。

[44] 图 5为 IM客户端 300另一种方式的构成示意图。在该实施方式中, IM 客户端 300除了包括讨论组管理模块 310、共享对象发起模块 320

和共享对象窗口管理模块 330外,还包括会话窗口管理模块 340

。讨论组管理模块 310、共享对象发起模块 320和共享对象窗口管理模块 330 与上文中说明的相同,因此下文中只对会话窗口管理模块 340

进行说明。会话窗口管理模块 340也可以适用于以上所述实施方式的 IM 客户端。

[45] 会话窗口管理模块 340为 IM客户端 300提供会话窗口 12 (如图 1(a)、 (b) 所示)。用户可以向会话窗口 12

输入字符、图片或其它任意的内容,从而与其它用户进行实吋的交流。

[46] 会话窗口管理模块 340可被配置成能够使共享对象窗口 14与会话窗口 12 处于不同页面(图 1 ( a ) 所示只显示了共享对象窗口 14

) 。这样,可以通过例如图 1 ( a ) 中所示的切换标签 13

(即切换单元)来对会话窗口 12和共享对象窗口 14

进行切换。另外,也可以使会话窗口 12与共享对象窗口 14

安排在同一个页面上,如图 1 ( b ) 所示。此吋会话窗口管理模块 340 无需执行窗口的切换。

[47] 参照图 6 , IM服务器 600的一种实施方式包括共享服务模块 630

。在另外的实施方式中,还可包括群组服务模块 610和存储模块 620。

[48] 群组服务模块 610与 IM客户端 300进行交互从而创建讨论组。当 IM

客户端釆用如上所述的 IM客户端 300吋,群组服务模块 610与 IM客户端 300 的讨论组管理模块 310进行交互,从而建立讨论组。

[49] 存储模块 620存储各个 IM客户端 300上传的共享对象 11。当一个 IM客户端

300属于多个讨论组吋,存储模块 620

还可以储存所存储的共享对象与讨论组标识的映射关系,从而保存共享对象与 其所属讨论组的对应。也可以在 IM客户端 300设置存储单元来实现存储模块 620的功能。

[50] 在一个实施例中,存储模块 620还可将各个 IM客户端对共享对象 11

历次操作的事件作为历史文件存储,并为每个历史文件分配相应的标识。

[51] 共享服务模块 630接收来自 IM客户端 300的启动共享对象 11

的请求,建立与该 IM客户端 300的连接,并通过所建立的连接接收共享对象

11并发送到存储模块 620中进行存储。共享服务模块 630

还将所述启动共享对象的请求转发到讨论组的各个 IM客户端 300

,以及将所接收的共享对象发送到讨论组的各个 IM客户端 300。

[52] 共享服务模块 630还可根据来自 IM客户端 300

的结束讨论的指令,将存储模块 620中所存储的共享对象发送到发起讨论组的 IM客户端 300。

[53] 以上描述了 IM客户端和 IM服务器的一些实施方式,下面将参照图 7-10 描述用于实现多个 IM客户端用户实吋共享对象的方法。

[54] 参见图 7,对多个 IM客户端 300

用户共享对象的方法的一种实施方式说明如下:

[55] 首先,多个 IM客户端 300之间建立通信连通。通信连通的 IM客户端 300 可以通过建立讨论组的方式实现对象的共享。该过程可如图中步骤 S10-S20 所示。

[56] 在步骤 S10中,某一 IM客户端 300向 IM服务器 600

申请建立讨论组。例如,某一用户 A的 IM客户端 300

成功登录后,通过其讨论组管理模块 310与 IM服务器 600的群组服务模块 610 之间进行交互来创建讨论组。具体的交互步骤将在后面结合图 8说明。

[57] 在步骤 S20中,在成功建立讨论组后,该讨论组的发起者的 IM客户端 300向 IM服务器 600请求与该组的其它 IM客户端对共享区域 10中的共享对象 11 进行共享。讨论组的成员的 IM客户端 300进行共享区域 10

的初始化。讨论组的管理员(可以为发起者,或是该讨论组中的某个成员)通 过其 IM客户端 300的讨论组管理模块 310

分配不同权限给讨论组的各个成员。具体的执行过程将在后面参照图 9说明。

[58] 此后,讨论组中的用户可以通过其 IM客户端 300

对至少一个共享对象进行操作,以下结合步骤 S30和 S40说明。

[59] 在步骤 S30中,讨论组中的任一成员通过其 IM客户端 300

启动占用共享对象的申请请求从而获得对共享对象 11

的占用。此外,如果有多个讨论组成员都启动了共享占用的申请请求,则讨论 组的发起者(也可以是讨论组的管理员)的 IM

客户端可以根据不同成员的权限、请求的先后次序和 /

或者紧急程度进行占用共享的协调与排队管理。具体的执行过程将在后面参照 图 10说明。

[60] 在步骤 S40中,在所启动的占用共享对象 11

的申请请求获得批准后,启动该请求的成员的 IM客户端 300

通过共享对象操作单元 332实现在其共享对象窗口 14中对共享对象 11 进行具体的操作,例如对共享对象 11进行编辑、修改、局部删除等操作。

[61] 在步骤 S50中, IM客户端 300完成对共享对象 11

操作,并将操作后的共享对象 11发送给 IM服务器 600。 IM服务器 600 将经过操作的共享对象 11更新到其它 IM客户端的共享对象窗口 14中。

[62] 更新可以釆用如下方式进行: IM客户端 300的共享对象更新单元 333

将经过操作的对象发送到 IM服务器 600。 IM服务器 600的共享服务模块 630 将接收的共享对象 11发送到存储模块 620中,以更新其中的原来的共享对象 11 。也可以将接收的共享对象存入存储模块 620

新的存储区域。另一方面,共享服务模块 630将经过更新的共享对象 11 发送到讨论组的各个 IM客户端 300,相应更新其共享对象 11 。

[63] 共享服务模块 630可以将经操作后的共享对象 11发送给除了执行操作的 IM 客户端 300以外的该讨论组中其它的 IM

客户端,也可以发送给该讨论组中所有的 IM

客户端,或者根据操作该对象的客户端的请求、或是讨论组管理员的设定或控 制,将操作后的共享对象 11发给该组中特定的 IM客户端进行更新。

[64] 此外,上述实施方式还可以包括步骤 S60。

[65] 在步骤 S60中,当要结束本次会话和对共享对象 11的操作吋,当前共享对象 11可以只保存在发起者的 IM客户端 300中,也可以保存在讨论组成员的各个 IM客户端 300,或者是保存在要求结束本次会话的成员的 IM客户端 300 中,或者是作为管理员的 IM客户端 300

中 (当管理员不同于发起者吋)。发起者或管理员对此可以进行选择。例如, 如果选择保存在作为发起者的 IM客户端,则任一成员的 IM客户端 300向 IM 服务器 600

发送结束讨论的请求,该请求中携带保存当前共享对象到讨论组中至少一个用 户的 IM客户端 300中的指示。 IM服务器 600根据该请求,将存储模块 620 存储的当前共享对象发送到发起者的 IM客户端 300中进行保存。

[66] 可选地,在上述方法中, IM服务器 600

可以设置成将各次对共享对象的操作事件作为历史文件保存起来。每个历史文 件可以被分配一个标识。讨论组发起者或者某个得到査看历史信息授权的讨论 组成员可以向 IM服务器 600发送携带历史文件标识的请求, IM服务器 600 收到该请求,根据接收到的请求中的标识,将共享对象的某个历史文件更新到 各个讨论组成员的 IM客户端 300,以便讨论组的各个成员参考。

[67] 下面结合图 8说明图 7中的步骤 S10中所述的交互过程示例。以前文所述的 IM客户端 300和 IM服务器 600

为例,但是这并不应当理解为是对本发明的限制。

[68] 在步骤 S101 , IM客户端 300的讨论组管理模块 310接收来自用户 A

输入的发起讨论组的请求。发起讨论组的请求可包括记录有要添加到讨论组的 各成员信息的列表(以下简称为'成员列表')以及对应的讨论组名称。

[69] 在步骤 S102 , 讨论组管理模块 310

査询本地是否已经存在相同的讨论组。如果已经存在,则显示对应的讨论组的 共享对象窗口和 /或会话窗口(步骤 S103 ) ,否则执行以下步骤 S104— S106

[70] 在步骤 S104,讨论组管理模块 310生成包含用户 A

的用户号码标识、成员列表和讨论组名称的讨论组发起请求,并将所生成的请 求发送到 IM服务器 600。作为一例,可以按照约定的协议(如 UDP 协议)格式,组织所生成请求的内容并对其加密,然后利用协议规定的套接字 将其发送到 IM服务器 600。在这种情况下, IM服务器 600

首先要对所接收的请求按照协议进行解密处理和解析处理。

[71] 在步骤 S105 , IM服务器 600接收到发起请求后,由群组服务模块 610

根据所接收到的请求中的用户号码以及成员列表生成新的讨论组号码标识。在 存储模块 620

中建立所述讨论组号码标识与成员列表的映射关系。群组服务模块 610 还为用户 A

设置讨论组发起者的标识(在本例中即为管理员的标识),以及将所生成的讨 论组号码标识发送给成员列表中的各个成员的 IM客户端 300。

[72] S106:讨论组成员的 IM客户端 300接收到群组服务模块 610

返回的讨论组标识后,会话窗口管理模块 340

提供对应该讨论组标识的会话窗口。此外,还可以利用共享对象窗口管理模块 330提供对应该讨论组标识的共享对象窗口 14

,并在本地开辟相应的数据存储区域。

[73] 可选地,在建立会话窗口后,会话管理模块 310还可向群组服务模块 610 发送确认消息。

[74] 下面参照图 9说明图 7中所示的步骤 S20的处理过程示例。

[75] 在步骤 S201,讨论组发起者在自身 IM客户端 300

(例如通过其主窗口的启动菜单或工具栏)显示在步骤 S106中创建的会话窗口

12和共享对象窗口 14,并向 IM服务器 600发起初始化共享对象 11 的请求。该请求中包含讨论组标识以及应用类型(AppType

) 。在启动的初始阶段,选择讨论组发起者的 IM客户端 300

本地的共享对象窗口 14的原始对象文件作为共享对象 11

,并将该共享对象发送到 IM服务器 600。如图 1

中所示,该例中的原始对象文件为图片文件。

[76] 在步骤 S202 , IM服务器 600

接受发起者的客户端的请求,在发起者的客户端与服务器之间建立例如套接字 连接。进一步, IM服务器 600利用建立的连接从 IM客户端 300

接收原始的共享对象 11,并将其存储到存储模块 620中。在 IM

客户端建立有多个讨论组的情况下,存储模块 620

中还可以存储该原始对象文件与讨论组标识的映射关系。

[77] 在步骤 S203 , IM服务器 600的共享服务模块 630

将上述发起初始化共享对象的请求转发到讨论组各个成员的 IM客户端 300

。各个 IM成员客户端 300

接收到所述请求后,根据请求中包含的讨论组标识和应用类型(AppType 发送建立与服务器的共享服务模块 630的连接请求。共享服务模块 630 根据讨论组标识以及应用类型(AppType ) 分别建立与各个成员的 IM客户端

300的连接。具体地,共享服务模块 630

根据请求中包含的讨论组标识和应用类型査询存储模块 620

中是否存在所请求的共享对象 11

的原始文件。如果存在,则分别建立与各个成员 IM

客户端之间的连接;若不存在,则向各个成员的 IM客户端 300

返回错误提示消息。

[78] 在步骤 S204, IM服务器 600向讨论组的各个成员的 IM客户端 300

广播原始的共享对象 11。各个成员的 IM客户端 300接收到该共享对象 11 的原始内容的字节流后,打开与所述讨论组标识对应的会话窗口 12

和共享对象窗口 14,并在共享对象窗口中 14显示接收到的共享对象 u。

[79] 可选地,步骤 S20

中还可以包括讨论组发起者给讨论组成员分配不同的操作权限的步骤。例如, 用户 A

是拥有讨论组发起者权限的讨论组成员。其它讨论组成员则拥有普通权限。另 一方面,讨论组的管理员也可以不是发起者。

[80] 下面结合图 10说明图 7中的步骤 S30的过程示例。

[81] 在步骤 S301 , 讨论组中的任一成员通过 IM服务器 600

向讨论组的发起者(或管理员)的 IM客户端 300

发送启动占用共享对象的申请请求。

[82] 在步骤 S302 , 发起者(或管理员)的 IM客户端 300

接收到上述申请请求后,通过请求列表管理单元 335

将该请求添加到请求列表中进行排队。此外,发起者(或管理员)根据在会话 中讨论组成员的紧急程度,也可以把某个成员的优先级调高,这样可以优先占 用共享对象。

[83] 在步骤 S303 , 讨论组发起者(或管理员)的 IM客户端的请求列表管理单元 335

轮询请求列表。当轮到某个成员的占用共享对象的请求吋,生成包含当前允许 操作的成员的唯一用户标识(UIN

) 以及讨论组标识的消息,并将所述消息发送到 IM服务器 600的共享服务模块 630。

[84] 1. 在步骤 S304 , 共享服务模块 630

转发该消息到该讨论组标识对应的讨论组中各个成员的 IM客户端 300 。各个成员的 IM客户端 300各自的共享对象权限管理单元 334 从该消息中得到当前获得操作权限的成员的 UIN,并判断所述 UIN 与本地登录的 UIN是否一致。若一致,则判定该 IM客户端 300

获得对共享对象的操作权限。据此,该 IM客户端 300

的共享对象权限管理单元 334使其共享对象窗口 14

变为'可操作'状态。否则,该 IM客户端 300的共享对象窗口 14 为'只读'状态(可以作为缺省的状态)。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的 精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保 护范围之内。