用于网络电子函件同步的系统及方法

文档序号:6415795阅读:164来源:国知局
专利名称:用于网络电子函件同步的系统及方法
技术领域
本发明领域本发明一般涉及计算机网络,更具体说本发明提供一种可用于网络电子函件同步的系统及方法。
背景技术
描述数据一致性受到计算机用户的严重关切。比如,在维护文档的可独立修改的多份拷贝时,用户要冒使用过时版本的危险。到用户发觉不一致性时,可能已经造成同线内部的通信出错或数据丢失。用户就必须花费更多的时间来尝试协调不一致的版本和解决任何出错通信。
当文档的拷贝不可访问时,数据不一致性问题就更为加重。比如,当文档的多份拷贝在网络的不同位置维护时,网络安全系统,比如通常的防火墙技术,会损害数据的可访问性。就是说用户能访问的可能只是这些网络位置中的某一个。由于不能访问其他站点,用户无法肯定在可访问站点的版本是否是最新版本。
数据一致性及可访问性问题发生在电子函件(e-mail)领域。比如,用户可能在工作场所维护电子函件数据库。根据由工作场所的企业内部网实施的安全系统,用户可能无法访问数据库并从而在返回工作场所之前不能阅读或电子函件对其作出反应。另外,当前在远程终端上工作的旅行用户可能不具有通过内联网安全防护所必需的专用应用程序,另外还有,当维护数个站点时,旅行用户要维护所有的程序过程和密码的记录来克服每一个站点的安全系统负担太重。
这些问题在使用不同软件供应商的电子函件程序并且这些程序采用不同的协议时就更加严重。比如,Netscape NavigatorTM电子函件客户机及Outlook ExpressTM电子函件客户机各自通过计算机网络管理电子函件。然而,各电子函件客户机使用不同的格式,以不同的格式存储电子函件并采用不同的协议。这样,电子函件并非很容易互相交换。
因此,需要一种可向用户提供电子函件一致性及通过计算机网络的可访问性的系统和方法。
本发明简介本发明提供一种包含可利用适合的协议从第一函件存储器检索电子函件的电子函件引擎系统。即电子函件引擎和第一函件存储器实施同一协议,比如POP3协议,来在其间进行通信。在接到要求时,第一函件存储器可向电子函件引擎发送指明合适协议的配置数据,该引擎就可适宜地配置其自身。
此系统还包含利用预定标准判断是否将电子函件发送到第二函件存储器的电子函件同步模块。比如,如果电子函件先前已经发送,电子函件同步模块就不需要将电子函件发送到第二函件存储器。第二函件存储器可能在全局服务器上,该服务器经过适当的识别和确认可为漫游用户提供对其内容的HTML访问。
此系统还包含用于建立与第二函件存储器通信信道的通信模块。如果第二存储器由防火墙保护,通信模块可得到授权通过防火墙与第二存储器建立安全的通信链路。此系统还包含Web引擎用来利用HTML通过通信信道向第二函件存储器发送电子函件。此系统可存储于计算机可读的媒体中。
具体实现本发明的另一个系统大致可包含从第一函件存储器检索电子函件的装置,与检索装置连接用来利用预定标准判断是否将电子函件发送到第二函件存储器的判断装置,与判断装置连接用来建立与第二函件存储器的通信信道的装置,以及与建立装置连接用来将电子函件发送到第二函件存储器的装置。
与此类似,具体实现本发明的方法包含从第一函件存储器检索电子函件的步骤,利用预定标准判断是否将电子函件发送到第二函件存储器的步骤,建立与第二函件存储器的通信信道的步骤,以及将电子函件发送到第二函件存储器的步骤。
此系统和方法利用可信的第三方来使网络电子函件同步是有利的。据此,维护比如工作站点、本地站点和全局服务器站点的用户可在所有三个站点之间同步电子函件。于是漫游的用户就可以远离访问站点来访问和回复电子函件。因为此系统和方法是通过因特网运行,所以同步可越过任何距离发生。由于此系统和方法包含格式转换,所以可以在不同的应用程序和不同平台之间归并电子函件。另外,因为同步是在防火墙内部启动并利用公用协议,如HTTP,所以防止一般的入站通信和某些出站协议的典型防火墙不会成为电子函件同步的障碍。同时,由于用户的优选项可能事先已经设定,现在的系统和方法可无需客户用户关注自动运行。
附图简介

图1为示出根据本发明的计算机网络框图;图2为示出图1的服务器的详细结构的框图;图3为示出图1的桌面计算机的详细结构的框图;图4为示出图1的基本系统的详细结构的框图;图5为示出图1的同步代理的详细结构的框图;图6为全局格式书签示例的图示;图7为示出安全网络内工作空间单元的多份拷贝的同步方法的流程图;图8为示出根据本发明的计算机网络框图;图9为示出图8的客户机的详细结构的框图;图10为示出图9的基本系统的详细结构的框图;图11为示出图8的全局服务器的详细结构的框图;图12为示出图8的同步代理的详细结构的框图;图13为示出图8的远程终端的详细结构的框图;图14为示出计算机网络内电子函件同步方法的流程图;而图15为示出从图8的服务器访问电子函件的方法的流程图。
优选实施例详述图1是示出计算机网络100的框图,其构成包括比如经由通信信道104(如因特网)与全局服务器106连接的远程计算机终端102的第一节点。全局服务器106又经由通信信道108(如因特网)与第二节点局域网(LAN)110连接。全局服务器106由全局防火墙112保护,而局域网110由局域网防火墙114保护。
局域网110包含系统总线126,该系统总线126将局域网防火墙114连接到电子函件服务器128,该电子函件服务器128具有内含电子函件的电子函件文件夹138,连接到具有内含文件的文件文件夹142的文件服务器132,连接到具有内含日历数据的日历文件夹140的日历服务器130,及还连接到具有内含书签的Web浏览器152和书签文件夹144的桌面计算机134。电子函件文件夹138,文件文件夹142,日历文件夹140及书签文件夹144或其部分可存储于不同的位置,比如在桌面计算机134中。电子函件文件夹138,文件文件夹142,日历文件夹140及书签文件夹144是将相类数据分组集合的示例,此处将其总称为“工作空间数据”136。本领域技术人员会理解,工作空间数据136可能包含其他类型的数据,如应用程序(如微软的Word 6.0.1)和利用应用程序示出的文档。还可理解电子函件文件夹138,文件文件夹142,日历文件夹140及书签文件夹144每一个都可划分为工作空间单元,其中每个工作空间单元文件夹或每个工作空间单元单独都根据某一具体版本信息255识别(下面参考图2描述)。据此,每个电子函件或电子函件文件夹,文件或文件文件夹,日历或日历文件夹,书签或书签文件夹,文档或文档文件夹等等可称为“工作空间单元”。
在局域网110中的工作空间数据136的每个工作空间单元是以称为格式A的预定格式维护,该格式是以生成该格式的服务引擎245(图2)为基础。比如,桌面计算机134上的Web浏览器152可以是Netscape NavigatorTMWeb浏览器,而由其生成的书签文件夹144中的书签是以格式A维护的。虽然格式A被描述成一种单一格式,但本领域技术人员知道格式A实际上包含针对每一种信息类型的格式,比如将会有书签格式A,文件格式A,日历数据格式A,电子函件格式A等等。
远程终端102存储用于维护工作空间数据116的服务引擎154,数据可能包含公用信息及工作空间数据136中的信息。工作空间数据116以称为格式B的格式维护,该格式可能不同于格式A。格式B也是以生成该格式的服务引擎154(图2)为基础。比如,如服务引擎154之一是因特网ExplorerTMWeb浏览器(图中未示出),则由其生成的书签(图中未示出)以格式B维护。虽然格式B被描述成一种单一格式,但本领域技术人员知道格式B实际上包含针对每一种信息类型的格式。另外,工作空间数据116也包含与下面参考图2描述的版本信息255类似的版本信息150。
可以理解,远程终端102可能包含智能电话机,个人数据助理(PDA),如美国Robotics公司的PalmPilot系统,膝上型计算机等等。作为智能电话机,工作空间数据116可能包含电话号码及电子函件。作为个人数据助理,工作空间数据116可能包含地址,日历数据及电子函件。作为膝上型计算机,工作空间数据116可能包含与工作空间数据136同一类型的信息。
全局服务器106用作为第三方管理员。全局服务器106存储工作空间数据136和116的选定部分的可独立修改的拷贝,此处将其总称为工作空间数据120。据此,工作空间数据120包含工作空间数据136和116的选定部分中的每个工作空间单元的一个可独立修改的拷贝及每个相应版本信息255(图2)和150的一个可独立修改的拷贝。此处将版本信息拷贝总称为版本信息148,并且也参考图2进行描述。
全局服务器106以称为“全局格式”的一种格式维护工作空间数据120,选择该格式是为了易于利用全局转换器122转换为格式A和格式B或反之。虽然全局格式被描述成一种单一格式,但本领域技术人员知道全局格式实际上包含针对每一种信息类型的全局格式,比如将会有书签全局格式,文件全局格式,日历数据全局格式,电子函件全局格式等等。下面参考图6详细描述一种全局格式的书签工作空间单元。
网络100的构成还包括同步装置,该装置包含存储于局域网110中及,比如,在桌面计算机134中的基本系统。网络100还包含存储在局域网防火墙114外部并且最好是在全局服务器106上的同步代理124。基本系统146和同步代理124协作以使工作空间数据136的选定部分与工作空间数据120的选定部分同步。同步装置可个别地同步工作空间单元,比如具体的字处理文档,或同步工作空间单元文件夹,比如书签文件夹。一般讲,基本系统146管理局域网110中的工作空间数据136的选定部分,并且同步代理124管理全局服务器106中的工作空间数据120的选定部分。可以理解,全局转换器122与同步装置协作以使数据格式与全局格式相互转换。正如下面将参考图4更详细地描述那样,最好是基本系统190启动并控制数据同步。
同步装置也可包含存储于远程终端102中以类似基本系统146的方式运行的基本系统118。在远程终端102上的基本系统118与同步代理124协作以使工作空间数据116的选定部分与工作空间数据120的选定部分同步。正如下面将参考图4更详细地描述那样,最好是远程终端102上的基本系统118启动并控制数据与全局服务器106的同步。还有,请注意远程终端102中的基本系统118和全局服务器106中的同步代理124之间的分工可能变化。有时,主要是当远程终端102是计算能力相对较差的装置(比如智能电话机或个人数据助理)时,多数实际计算密集的工作量是发生在全局服务器106的同步代理124之中。在其他情况下,比如,当远程终端102是充分配置的个人计算机时,多数实际计算密集的工作量将发生在远程终端102中的基本系统118本地。
据此,同步装置可独立地使工作空间数据116和136的选定部分与工作空间数据120的选定部分同步。这样,同步装置可间接使工作空间数据136与工作空间数据116同步。
图2为示出图1的服务器200的详细结构的框图,其中每一个电子函件服务器145,文件服务器150,日历服务器155及桌面计算机160是其例子。服务器200包含中央处理单元(CPU)205,如Intel的Pentium微处理器或Motorola的Power PC微处理器。输入装置210,如键盘及鼠标,和输出装置215,如阴极射线管(CRT)显示器经由信号总线220连接到中央处理单元205。通信接口225(如Ethernet端口),数据存储装置230(如磁盘)以及随机存储器(RAM)235也经由信号总线220连接到中央处理单元205。
操作系统240包含控制由中央处理单元205进行的处理工作的程序,并且通常存储于数据存储装置230中并装载到随机存储器(RAM)235之中执行。服务引擎245包含执行某一具体服务(如维护电子函件数据库,文件数据库,日历数据库或书签数据库)的程序。服务引擎245也可存储于数据存储装置230之中并装载到随机存储器(RAM)235中执行。
为了进行服务,服务引擎245生成根据预定协议以格式A记录的服务数据250(比如电子函件或包含电子函件的电子函件文件夹138,文件或包含文件的文件文件夹142,日历数据或包含日历数据的日历文件夹140,书签或包含书签的书签文件夹144等等)。服务引擎245在数据存储装置230中存储服务数据250。服务数据250包含指明最后修改日期及时间的版本信息255及直到与全局服务器106进行最后交互作用的状态。
例如,如果生成服务数据250选定其与全局服务器工作空间数据120归并,则用于服务数据250的版本信息255可能包含最后修改日期及指明直到最后与全局服务器106进行交互作用的状态的空集。根据版本信息255,基本系统146判断服务数据250整体尚未与全局服务器工作空间数据120归并。与此类似,如服务数据255曾包含最后修改的单元1,2和3,则直到前次交互作用的状态将指明服务数据255曾包含单元1,2和3。如服务数据255当前包含单元2,3和4,则基本系统140将判断从最后同步起单元1已经删除并添加了单元4。
可以理解,全局服务器106上的版本信息148包含与版本信息255类似的信息。即版本信息148将包含指明最后修改版本的日期和时间的信息及直到与各客户机最后进行交互作用的状态。服务引擎245在最后修改完成及同步发生之前更新版本信息255。
图3为示出图1的桌面计算机160的详细结构的框图,包括中央处理单元305,输入装置310,输出装置315,通信接口325,数据存储装置330及随机存储器335,每一个都与信号总线320连接。
操作系统340包含控制由中央处理单元305进行的处理工作的程序,并且通常存储于数据存储装置330中并装载到随机存储器(RAM)335之中执行。Web浏览器152(即专门服务引擎245,图2)包含用于管理书签文件夹144的格式A服务程序(即专门服务数据250,图2),其中包含版本信息350(即具体版本信息255,图2)。Web浏览器152也可存储于数据存储装置330之中并装载到随机存储器(RAM)235中执行。书签文件夹144可存储于数据存储装置330中。如前面参考图1时所述,运行基本系统146使工作空间数据136(包含书签文件夹144)与工作空间数据120同步。基本系统146也可存储于数据存储装置330之中并装载到随机存储器335之中执行。
图4为示出图1的基本系统400的详细结构的框图,其中的示例为基本系统146和118。基本系统400包含通信模块405,用户接口模块410,定位器模块415,同步开始(“synch-start”)模块420,通用同步模块425及基于内容的同步模块430。为简单起见,示出的每个模块都表示成为经由信号总线440互相通信。
通信模块405包含压缩数据的例程和经由通信接口325(图3)与同步代理124(图1)进行通信的例程。通信模块405还可包含应用安全套接(字)协议层(SSL)技术和用户识别和确认技术(即数字鉴定)的例程以便通过全局防火墙112建立安全通信信道。通信模块405的例子可包含TCP/IP协议堆或Apple Talk协议。
用户接口模块410包含与用户通信的例程,也可包含通常的图形用户接口(GUI)。如此处所述,用户接口模块410与其他的系统部件协同工作。
定位器模块415包含用于识别工作空间数据136或116及工作空间数据120中的工作空间单元的存储器位置的例程。工作空间单元存储器位置识别可利用智能软件实现,即预置存储器地址或系统注册表,或利用对话框询问用户。更具体说,基本系统146中的定位器模块415判断电子函件文件夹138,文件文件夹142,日历文件夹140及书签文件夹144的存储器地址及其中的工作空间单元的存储器地址。定位器模块415也判断工作空间数据120中的相应文件夹的相应存储器地址及其中的相应工作空间单元。与此类似,基本系统118中的定位器模块415判断工作空间数据116的存储器位置及工作空间数据120中相应工作空间单元的存储器位置。
可以理解,定位器模块415可包含各文件夹或工作空间单元类型专用定位器模块415。即定位器模块415可包含书签定位专用模块415,电子函件定位专用模块415,文件定位专用模块415,日历约定定位专用模块415等等。还可以理解,定位器模块415可在系统启动或在与全局服务器120的每一次通信之后执行工作空间单元存储器位置识别以维护工作空间单元中更新过的存储器地址。
同步开始模块420包含用于判断何时启动工作空间数据136或116与工作空间数据120的同步的例程。例如,同步开始模块420启动数据同步可在用户请求之时,在具体的时日,在经过预定时期之后,经过预定次数的更改,经过用户的行动之后(如用户退出系统或类似条件时)。同步开始模块420通过指示通用同步模块425(下述)开始执行其例程来启动数据同步。可以理解,与同步代理124的通信最好是从局域网110启动,因为局域网防火墙114可防止入站通信并允许出站通信。
通用同步模块425包含用于从同步代理124(图1)接收修改版的版本信息148的例程及对照最后同步签名435(如最后同步日期和时间)检查版本信息255或150以判断哪些版本经过修改的例程。通用同步模块425还包含用于检查版本信息148及版本信息255或150以判断是否是一个专门工作空间单元或工作空间单元文件夹的一个或两个版本都经过修改的例程。
另外,通用同步模块425包含用于执行适当的同步响应动作的例程。适当的同步响应动作可包含,如只有工作空间数据136或116的一个版本经过修改,将修改版本(作为优选版本)转发到其他存储器或判断并只转发进行的更改。计算进行的更改可通过对照最后同步的前面的状态检查当前的状态执行或通过比较两个版本执行。可以理解,不需要对更改进行基于内容的审查。可以理解,一个存储器最好是只将更改转发到另一存储器以求优化处理器能力的使用并使通过通信信道108或104的数据通信最小化。
其他适当的同步响应动作可包含,如工作空间单元的两个版本经过独立的修改,将指示基于内容的同步模块430(下述)执行其例程。即如果通用工作空间单元的两个版本经过独立的修改,最好就对更改进行基于内容的审查。在数据同步完成时,通用同步模块425更新最后同步签名435。
基于内容的同步模块430包含用于协调工作空间单元的两个或更多个版本的例程。例如,如自最后同步起用户独立地修改了工作空间单元原件和拷贝,则基于内容的同步模块430确定合适的响应动作。基于内容的同步模块430可请求用户选择修改版的优选版本或基于预设的优选项进行响应,即通过在两个存储器中将两个版本都进行存储或最好是将修改版集成为一个优选版本来代替在两个存储器之中的每一个修改版。
基于内容的同步模块430检查各版本的更改情况并判断是否存在矛盾。当实施版本集成时,如修改不一致,比如在一种版本中删除一段,而在另一版本中对同一段进行了修改,就会发生矛盾。如存在矛盾,则基于内容的同步模块430尝试协调该矛盾,比如要求用户选择或将两个版本存储于两个存储器中。另外,如无矛盾存在,则基于内容的同步模块430集成对各版本的更改并相应更新版本信息148,150和255。
图5为示出图1的同步代理1214的详细结构的框图,包含通信模块505(与上面参考图4描述的通信模块405类似)和通用同步模块515(与上面参考图4描述的通用同步模块425类似)。
通信模块505包含压缩数据的例程和经由通信接口108与基本系统146进行通信或经由通信信道104与基本系统118通信的例程。通信模块505还可包含通过全局防火墙112和局域网防火墙114与通信模块405建立安全通信信道。
与通用同步模块425类似,通用同步模块515包含用于检查版本信息148和最后同步签名435(图4)以判断哪些版本经过修改和进行过更改的例程。可以理解,通用同步模块515可维护其自身的最后同步签名435的拷贝(图中未示出)或者可向基本系统146或118要求最后同步签名435。通用同步模块515还包含用于将判断为经过修改的工作空间数据120向通用同步模块425转发的例程以及用于从通用同步模块425接收工作空间数据136或116或就是更改的例程。
图6为全局格式书签示例的图示。全局转换器122将两种格式(格式A和格式B)都需要的所有信息合并生成全局格式。例如,如格式A的书签需要单元X,Y和Z并且格式B的书签需要单元W,X和Y,则全局转换器122将W,X,Y和Z合并而生成全局格式的书签。另外,全局转换器122合并同步装置所需要的信息,如最后修改日期。据此,全局格式的书签包含用户标识605,入口标识610,父标识615,文件夹标识标志620,名称625,描述630,统一资源地址(URL)635,位置640,删除的ID标志645,最后修改日期650,生成日期655以及分隔ID标志660。
图7为示出利用全局转换器122使安全网络100内工作空间单元的多份拷贝同步的方法700的流程图。方法700在步骤705以用户接口模块410开始,在该步骤是用户能够选择工作空间数据136的工作空间单元和118供同步装置同步。在步骤710中定位器模块415识别工作空间数据136和116中的工作空间单元的存储器位置及工作空间数据120中相应的存储器位置。如选择的工作空间单元没有对应的存储器位置,如在向全局服务器106添加新工作空间单元的场合,则选择一个。所选择的存储器位置可能是预先存在的工作空间单元或新工作空间单元。如上所述,工作空间单元存储器位置识别可利用智能软件或对话框实现。通用同步模块425及通用同步模块515在步骤715中将工作空间单元先前的状态设定等于空集。将先前的状态设定等于空集表示工作空间单元的所有信息已经添加。
同步开始模块420在步骤720中判断是否符合预定的标准,该标准指示在步骤705中所选择的工作空间单元的同步应当开始。如不符合,则同步开始模块420在步骤725中等待并返回步骤720。否则,在步骤730中通信模块405和通信模块505在其间建立安全通信信道。
通用同步模块425和通用同步模块515在步骤735中判断是否有工作空间单元被修改。即通用同步模块425在步骤740中对照最后同步签名435检查工作空间数据136或116中所选择的每个工作空间单元的版本信息255或150以便定位修改的工作空间单元。这种比较可包含比较最后修改日期与最后同步日期,或包含在当前状态与直到最后交互作用的先前的状态之间的比较。与此类似,通用同步模块515检查工作空间数据120中每个相对应的工作空间单元及最后同步签名435以便定位修改过的工作空间单元。
如在步骤735中未找到经过修改的工作空间单元或文件夹,则通用同步模块425和515在步骤760中更新最后同步签名435并且方法700结束。否则,通用同步模块425在步骤740判断是否工作空间单元有一个以上的版本自最后同步起经过修改。
如只有一个版本经过修改,则相应的通用同步模块425或515在步骤745判断进行的更改。如前所述,判断进行的更改可通过将当前状态对照作为其间的直到最后交互作用的先前状态之间的比较而实现。如更改只是对工作空间数据120中的版本进行,则全局转换器122在步骤750将更改转换为其他存储器所使用的格式,并且通用同步模块515在步骤755中将转换的更改转发到通用同步模块425以便更新工作空间数据136或116中的过时的工作空间单元。如更新版本是工作空间数据136或116中的工作空间单元,则通用同步模块425将对更新版本的更改发送到全局转换器122进行转换并在之后发送到通用同步模块515以便更新工作空间数据120中的过时工作空间单元。通用同步模块425和通用同步模块515在步骤757中更新先前状态以便反映直到这一交互作用的当前状态。之后,方法700返回步骤735。
如通用同步模块425在步骤740中判断有多个版本经过修改,则通用同步模块425在步骤765中计算每个版本的更改并在步骤770中指令基于内容的同步模块430检查内容以判断是否存在矛盾。比如,如果在一种版本中删除一段,而在另一版本中对同一段进行了修改,基于内容的同步模块430就可能判断存在矛盾。如用户在每个版本中删除不同的段,则基于内容的同步模块430就可能判断不存在矛盾。如未发现矛盾,则方法700跳转到步骤750将各版本中的更改转换并发送到其他存储器。然而,如发现矛盾,则基于内容的同步模块430在步骤775中协调修改的版本。如前所述,协调可能包含要求用户发出指令或基于预先选择的优选项完成响应行动,如将两个版本存储于两个存储器中。之后方法700转向步骤750。
可以理解,在步骤710中新工作空间单元和新工作空间单元将与其归并的预先存在的工作空间单元设定为“修改”的并将先前的状态设定为空集。这样,通用同步模块425在步骤740中将判断有一个以上的版本经过修改并且基于内容的同步模块430在步骤770中将判断无矛盾存在。每个更改将经过转换并发送到其他存储器。据此,两个版本将有效地归并并存储到每个存储器中。
比如,如第一书签文件夹是由桌面计算机134上的Web浏览器152生成的,第二文件夹是由远程终端102上的Web浏览器(图中未示出)生成的,在全局服务器106上无预先存在的文件夹存在并且用户选择这些文件夹中的每一个进行同步,则同步装置将有效地归并第一和第二文件夹。即桌面计算机134上的通用同步模块425将判断第一文件夹经过修改并且先前的状态等于空集。通用同步模块425将判断并发送更改,即第一文件夹中所有的工作空间单元,到全局服务器106上的新的全局文件夹。与此类似,远程终端102上的通用同步模块425将判断直到其最后的交互作用第二和全局文件夹的每一个的先前的状态都是空集。通用同步模块425将指示基于内容的同步模块430检查对每个文件夹进行的更改以便判断是否存在矛盾。由于将不存在矛盾,通用同步模块425将把更改转发到第二存储器,从而将全局和第二文件夹中的第一和第二文件夹的工作空间单元归并。通用同步模块515将通知通用同步模块425相对最后的交互作用全局文件夹已经修改,并且将把新的更改转发到第一文件夹。这样,第一和第二文件夹将归并并存储于各存储器中。
第二个例子是用户可能选择局域网110中的一份示例性文档进行同步。通用同步模块425将把此文档转发到全局服务器106。与此类似,用户可选择同一文档在远程终端102上进行同步。通用同步模块515将把此文档转发到远程终端102。如更改是独立地对文档进行的,则基于内容的同步模块430将检查文档的内容以判断是否存在矛盾。如无矛盾存在,则如上所述,通用同步模块425和515将归并文档。否则,如矛盾的确存在,基于内容的同步模块430将协调更改并在其后通用同步模块425和515将把经过协调的更改互相转发。
图8为示出根据本发明的计算机网络800的框图,其构成包括经由通信信道815连接到计算机网络820(如因特网)的局域网810。计算机网络820又经由通信信道825连接到全局服务器830,经由通信信道893连接到因特网服务提供商(ISP)函件服务器894。因特网服务提供商函件服务器894又连接到另一个客户机897。全局服务器830由全局防火墙880保护,并且局域网810由局域网防火墙870保护。
局域网810包含将局域网防火墙870经由系统总线855连接到客户机840和函件服务器850网络服务器845。函件服务器850接收来自计算机网络820并且寄送地址为客户机840的客户电子函件875(e-mail)并存储于一个或多个文件结构中。客户机840包含一个电子函件同步系统860用来从函件服务器850下载客户电子函件875并将其作为“下载的电子函件865”在本地存储于一个或多个文件夹结构中。为了在其间通信,函件服务器850和电子函件引擎965两者必须利用同一传输协议,如POP3(电子函件通信协议)第三版本,Lotus公司开发的VIM(与供应者无关的报文)协议或微软公司开发的MAPI(报文应用编程接口)协议。局域网810中的每一个电子函件以称为格式A的预定格式存储,该格式由局域网810上的电子函件引擎965(图9)确定。
可以理解,在下载之后,对应于下载的电子函件865的客户电子函件875可从函件服务器850删除。电子函件同步系统860还将使下载的电子函件865,客户电子函件875或可能是专门文件夹结构的仅有的电子函件(比如用户未回复函件文件夹或玩笑文件夹)与全局服务器835同步。下面参考图9对电子函件同步系统860进行更详细的描述。
因特网服务提供商函件服务器894和客户机897运行方式与函件服务器850和客户机840类似。一般讲,因特网服务提供商函件服务器894从计算机网络820接收寄送给客户机897的函件并将其作为“客户机电子函件896”在本地存储于一个或多个文件夹结构中。客户机897的电子函件同步系统898利用电子函件引擎965(图9)下载客户机电子函件896并作为“下载的电子函件899”将其在本地存储于一个或多个文件夹结构中。客户机897的电子函件引擎965以格式B存储电子函件,格式B可能与格式A不同。之后,电子函件同步系统898使客户电子函件876,下载的电子函件899或可能是专门文件夹结构的电子函件与全局服务器835同步。
每一封电子函件,无是存储于函件服务器850,客户机840,因特网服务提供商函件服务器894(下述)还是客户机897(下述)都可包含源标识符(比如源地址),生成日期,函件服务器850或894接收的日期以及下载到客户机840或897的日期。下载到客户机840或897的日期可以是电子函件同步系统860或898下载客户电子函件875或896与全局服务器835同步的日期。
全局服务器835包含用来与电子函件同步系统860协作的同步代理885或使其间的电子函件同步的电子函件同步系统898。根据其配置的不同,电子函件同步系统860或898将下载的电子函件865或899或客户电子函件875或896的拷贝和原件(即不保持拷贝)转换并发送到同步代理885。全局服务器835将下载的电子函件865或899的拷贝或原件在一个或多个文件夹结构中作为“下载的电子函件832”存储,并将客户电子函件875或896的拷贝或原件在一个或多个文件夹结构中作为“客户机电子函件895”存储。全局服务器835以全局格式存储电子函件,该格式可能与格式A或格式B相同或是包含两种格式的组合元素。可以理解,电子函件同步系统860或898可能发送并且全局服务器835可能存储客户电子函件875或896及下载的电子函件865或897,一起并且不加区别。还有,客户电子函件875或896及相应的专门文件夹的下载的电子函件865也是一起并且不加区别。另外还有,全局服务器835可配置成为一起存储客户机840及客户机897电子函件而不加区别。全局服务器835还包含可使基于HTTP的Web引擎访问其中的内容的Web引擎接口890,该访问包含访问客户机电子函件895,下载的电子函件832及存储它们的文件夹结构。
如前面参考图4及下面参考图10所详细描述的,电子函件同步系统860最好是启动并控制数据同步。全局服务器835的其他部件和功能其中也有描述。
远程终端1505包含Web引擎833,用于阅读包含电子函件的因特网文件。远程终端102可包含智能电话机,个人数据助理(PDA),如美国Robotics公司的PalmPilot系统,膝上型计算机等等。这样,只要远程终端1505的用户可通过识别并可访问全局服务器835,用户就可以访问电子函件895或897。另外,只要客户机电子函件895或832与电子函件865,875,896及899同步,用户就可以访问所有的寄送给客户机840和客户机897的电子函件。
图9为示出客户机900的详细结构的框图,其示例为客户机840或客户机897。客户机900包含CPU 905,如Intel的Pentium微处理器或Motorola的Power PC微处理器。输入装置910,如键盘及鼠标,和输出装置915,如阴极射线管(CRT)显示器经由信号总线920连接到中央处理单元905。通信接口925(如Ethernet端口),数据存储装置930(如磁盘)以及随机存储器(RAM)935也经由信号总线920连接到中央处理单元905。通信接口925与系统总线855(图8)相连接。
操作系统950包含控制由中央处理单元905进行的处理工作的程序,并且通常存储于数据存储装置930中并装载到随机存储器(RAM)935之中执行。RAM 935存储电子函件同步系统953(其示例为电子函件同步系统860或电子函件同步系统898),该系统具有下载客户电子函件875或896的装置,阅读下载的电子函件943的装置(其示例为下载的电子函件865或899),使电子函件865,875,896或899(它们已经下载)与全局服务器835同步的装置以及使专门文件夹结构的电子函件同步的装置。例如,电子函件同步系统953包含Web引擎955用来与Web服务器通信。Web引擎955包含电子函件模块960用来阅读和书写电子函件。电子函件同步系统953还包含电子函件引擎965用来与函件服务器850或894通信以便下载,阅读和书写电子函件。电子函件引擎965利用通常的POP3,VIM或MAPI进行通信。下载的电子函件943存储于数据存储装置930中(图9)。电子函件引擎965也提供对包含电子函件地址条目的地址簿945的访问,该地址簿945也存储于数据存储装置930中。
电子函件同步系统953还包含基本系统970用来将电子函件从格式A或格式B转化为全局格式,以及用来启动和控制电子函件与全局服务器835的同步。转换可包含将按函件服务器格式化的电子函件包含到HTTP包中。参考图10及在援引的专利说明书中对基本系统970进行了更详细的描述。
可以理解,用来接收电子函件的装置可解释为包含操作系统950(在检索下载的电子函件865或899时),或是电子函件引擎965(在检索客户电子函件875或896时),或是Web引擎955的电子函件模块960(在从计算机网络820中的地点检索电子函件时),或是其组合系统。
图10为示出基本系统970的详细结构的框图。基本系统970包含通信模块1005,用户接口模块1010,定位器模块1015,同步开始(“synch-start″)模块1020及电子函件同步模块1025。为简单起见,示出的每个模块都表示成为经由信号总线1030互相通信。
通信模块1005包含压缩数据的例程和经由通信接口925(图9)与同步代理885(图8)进行通信的例程。通信模块1005还可包含应用安全套接(字)协议层(SSL)技术和用户识别和确认技术(即数字鉴定)的例程以便通过全局防火墙880建立安全通信信道。因为同步是在防火墙内部启动并利用公用协议,如HTTP,所以防止一般的入站通信和某些出站协议的典型防火墙不会成为电子函件同步的障碍。通信模块1005的例子可包含TCP/IP协议堆或Apple Talk协议。
用户接口模块1010包含与用户通信的例程,也可包含通常的图形用户接口(GUI)。如此处所述,用户接口模块1010与其他的系统部件协同工作。
定位器模块1015包含用于识别图8的局域网810中的电子函件的存储位置(如函件服务器850中的客户电子函件875和客户机840中的电子函件865),在因特网服务提供商函件服务器894中的电子函件896的存储器位置,在客户机897中的电子函件899的存储器位置,在全局服务器835中的电子函件的存储器位置(如客户机电子函件895和下载的电子函件832)以及其中存储电子函件的文件夹结构的存储器位置的例程。电子函件存储器位置识别可利用智能软件实现,即预置存储器地址或系统注册表,或利用对话框询问用户。可以理解,定位器模块1015可在系统启动或在与全局服务器835的每一次通信之后执行电子函件存储器位置识别以维护更新过的存储器地址。
同步开始模块1020包含用于判断何时启动电子函件同步的例程。例如,同步开始模块1020启动电子函件同步可在用户请求之时,在具体的时日,在经过预定时期之后,经过接收预定次数的电子函件,经过用户的行动(如用户退出系统或类似条件时)。同步开始模块1020通过指令通用同步模块1025(下述)开始执行其例程来启动数据同步。可以理解,与同步代理885的通信最好是从局域网810启动,因为安全系统,如通常的防火墙870可防止入站通信并允许出站通信。同步开始模块1020可指示通信模块1005与全局服务器835的同步代理885建立通信链路。
电子函件同步模块1025和包含用于对照最后同步签名1035比较每个下载的电子函件865或899的接收日期的例程(如最后同步日期和时间)以判断哪些电子函件尚未发送到全局服务器835。可以理解,在从函件服务器850或894下载后删除客户电子函件875或896的实施例中,电子函件同步模块1025在进行同步时不需要对下载的客户电子函件875或896执行比较试验。在此实施例中这些客户电子函件875或896根本未发送。
电子函件同步模块1025还包含用于执行适当的同步响应动作的例程。适当的同步响应动作可包含指令通信模块1005与全局服务器835的同步代理885建立通信链路,将每一封电子函件的拷贝发送给全局服务器835,只将客户电子函件875或896改发(即不留拷贝发送)到全局服务器835,或将下载的电子函件865或899和客户电子函件875或896改发到全局服务器835。
为了发送电子函件的拷贝或原件,电子函件同步模块1025包含用来将格式A或格式B转换为全局格式的转换器1040。于是电子函件同步模块1025指令Web引擎955的电子函件模块960将经过转换的电子函件发送到全局服务器835。
电子函件同步可包含与电子函件相对应的其他信息的同步。比如,电子函件同步模块1025可包含用来检查地址簿945和使其与全局服务器835上的地址簿1130(图11)同步的例程。地址簿条目的检查和同步如下面参考图1-7的描述。一般讲,电子函件同步模块1025可检查指明客户机900上的地址簿945的最后修改的日期和时间的版本信息和全局服务器835上的地址簿1130(图11)的最后同步的日期和时间的版本信息。根据检查的情况,电子函件同步模块1025执行适当的响应同步动作,如将更新的电子函件地址条目发送到其他存储器。电子函件同步模块1025可包含通用同步模块425(图4)及基于内容的同步模块430(图4)。
图11为示出全局服务器835的详细结构的框图,其中包含中央处理单元1105,通信接口1110,数据存储装置1120及RAM 1125,每一个都与信号总线1115连接。通信接口1110经由全局防火墙880(图8)连接到通信信道825。
操作系统1135包含控制由中央处理单元1105进行的处理工作的程序,并且通常存储于数据存储装置1120中并装载到随机存储器(RAM)1125之中执行。Web引擎接口890是用来与Web引擎833或Web引擎955通信的程序并提供对预定内容的访问,其中可包含客户机电子函件895,下载的电子函件832及地址簿1130。Web引擎接口890包含用于与电子函件模块960通信的电子函件模块接口1140或电子函件模块1355(图13)并且提供电子函件的阅读及书写功能。
在图12中清楚示出的同步代理885也存储于数据存储装置1120中并装载到RAM 1125中执行。同步代理885与电子函件同步模块1025通信以使电子函件,专门文件夹结构的电子函件同步并可能使地址簿945同步。参考图12及在援引的专利说明书中对同步代理885进行了更详细的描述。
图12为示出同步代理885的详细结构的框图,其中包含通信模块1205(类似于上面参考图10所描述的通信模块1005)及电子函件同步模块1210(也类似于上面参考图10所描述的通信模块1005)。
通信模块1205包含包含压缩数据的例程和经由计算机网络820(图8)与通信模块1005(图10)进行通信的例程。通信模块1205还可包含通过全局防火墙880并通过局域网防火墙870建立与通信模块1005的安全通信信道。
与电子函件同步模块1025(图10)类似,电子函件同步模块1210包含用来检查信息以判断是否有所添加或修改并且未与客户机840(图8)同步的例程。据此,电子函件同步模块1210可判断地址簿1130(图11)中是否有任何地址需要复制并发送到客户机900。另外,如系统1500使各客户机地点的电子函件同步,则电子函件同步模块121同样也判断是否有任何客户机电子函件895或832添加或修改并且未与客户机900同步。
可以理解,电子函件同步模块1210可保持其本身的最后同步签名1035拷贝(图中未示出)可能向基本系统970要求最后同步签名1035。电子函件同步模块1210还包含用来发送判断为经过修改的信息或就将更改发送到电子函件同步模块1025。
图13为示出图8的远程终端1505的详细结构的框图。远程终端1505包含中央处理单元1305,如Intel的Pentium微处理器或Motorola的Power PC微处理器。输入装置1310,如键盘及鼠标,和输出装置1315,如阴极射线管(CRT)显示器经由信号总线1320连接到中央处理单元1305。通信接口1325(如Ethernet端口),数据存储装置1330(如磁盘)以及随机存储器(RAM)1335也经由信号总线1320连接到中央处理单元1305。通信接口1325与系统总线835(图8)相连接。
操作系统1350包含控制由中央处理单元1305进行的处理工作的程序,并且通常存储于数据存储装置1330中并装载到随机存储器(RAM)1335(如图所示)之中执行。Web引擎833通常也存储于数据存储装置1330之中并装载到随机存储器(RAM)1335(如图所示)之中执行。Web引擎833包含电子函件模块1355用来阅读及书写电子函件。在远程终端1505与全局服务器835连接之后,电子函件模块1355与电子函件模块接口1140通信来选择并下载客户机电子函件895或下载的电子函件832。电子函件模块1355将从全局服务器835下载的电子函件作为“下载的电子函件1340”存储到数据存储装置1330。另外的方法是电子函件模块1355可只将电子函件1340存储于RAM1335中以使在话路结束时电子函件1340的拷贝不会保留在远程终端1505上。电子函件模块1355使用户可以阅读,回复,转发,改发…电子函件1340。与此类似,Web引擎833使得可以对地址簿945进行访问而使用户能够访问否则只将存储于局域网810中的他或她的电子函件地址条目。
图14为示出计算机网络1500内电子函件同步方法1400的流程图。方法1400在接收寄送到客户机840或897的电子函件的步骤1405中以函件服务器850或894开始。函件服务器850或894在步骤1410中将接收到的电子函件作为客户电子函件875存储到一个或多个文件夹结构中或作为客户机电子函件896(图8)存储到个或多个文件夹结构中。电子函件引擎965在步骤1415中使用户可以从函件服务器850或896选择客户电子函件875或894下载。如选择电子函件,则电子函件引擎965在步骤1420中下载所选择的客户电子函件875或894并作为下载的电子函件899(图8)存储于一个或多个文件夹结构中。如在步骤1415中未选择电子函件,则方法1400跳转到步骤1425。
在步骤1425中,同步开始模块1020判断预定的开始标准是否满足而指明是使电子函件同步的时候了。如前面参考图4所述,在经过一段具体时间之后,在接收预定数目电子函件之后,在具体的时日,在经过预定事件之后等等预定的开始标准可以满足。如果不到同步的时候,则电子函件同步模块1025在步骤1435中指令电子函件引擎965下载客户电子函件875或896或专门文件夹结构的客户电子函件875或896。
电子函件同步模块1025在步骤1440中判断是否尚有任何下载的电子函件865或899(其中包含最近下载的客户电子函件875或896)未发送到全局服务器835。这种比较可对照指明最后同步的日期和时间的最后同步签名1035检查接收电子函件的日期来进行。比如,如电子函件是在最后同步日期和时间之后接收,则该电子函件就尚未发送。可以理解,在从函件服务器850或894下载后删除客户电子函件875或896的实施例中,电子函件引擎965可自动得出结论,这些电子函件未发送到全局服务器835。
如所有的电子函件(打算进行同步的)都已经发送到全局服务器835,则方法1400结束。否则,如有至少一封电子函件未发送,则电子函件同步模块1025在步骤1445中利用转换器1040将未发送的电子函件865或899从格式A或格式B转换为全局格式。电子函件同步模块1025在步骤1450中指令Web引擎955将经过转换的电子函件发送到全局服务器835供Web引擎接口890存储。于是方法1400结束。
图15为示出从全局服务器835访问电子函件的方法1500的流程图。方法1500在从客户机840或897接收电子函件的步骤1505中以电子函件同步模块1210开始。电子函件同步模块1210在步骤1510中将电子函件作为客户机电子函件895和下载的电子函件832以一个或多个文件夹结构存储于数据存储装置1120中。
Web引擎接口890在步骤1515中利用HTML使电子函件模块访问全局服务器835的选定内容。下面参考图1-7对访问选定内容进行更详细的描述。
上面对本发明的优选实施例进行的描述只是通过示例进行的,并且本发明提供了上述实施例和方法的其他变化。比如,虽然全局服务器106是作为单个装置示出,全局服务器106可以包含联网的数个计算机。本发明的部件可利用编程的通用数字计算机,利用应用软件专用集成电路或利用将通常的部件和电路连接成网而实现。此处所描述的实施例是示例性质,并不企图穷尽或限制。在前述的叙述的基础上可以有多种变化和修改。本系统只受下面的权利要求的限制。
权利要求
1.一种系统,包括从第一函件存储器检索电子函件的装置;与检索装置连接用来利用预定标准判断是否将电子函件发送到第二函件存储器的判断装置;与判断装置连接用来建立与第二函件存储器的通信信道的装置;以及与建立装置连接用来将电子函件发送到第二函件存储器的装置。
2.如权利要求1的系统,其中第一函件存储器实施第一协议。
3.如权利要求2的系统,其中第一函件存储器位于函件服务器之中。
4.如权利要求1的系统,其中第一函件存储器将电子函件存储于文件夹结构,并且其构成还包括用来为其中所有的电子函件的同步选择文件夹结构的装置。
5.如权利要求3的系统,其中检索装置包含用来与函件服务器通信的电子函件引擎。
6.如权利要求5的系统,其中电子函件引擎实施函件服务器使用的第一协议。
7.如权利要求6的系统,其中电子函件引擎识别函件服务器使用的第一协议。
8.如权利要求1的系统,其中预定的标准包含判断电子函件是否已经发送到第二函件存储器。
9.如权利要求8的系统,其中判断是通过检查与电子函件相应的接收日期及指明最后同步日期的最后同步签名而解决。
10.如权利要求1的系统,其中建立装置包含通信模块。
11.如权利要求10的系统,其中第二函件存储器由防火墙保护,并且通信模块包含用来通过防火墙通信的安全装置。
12.如权利要求1的系统,其中发送装置包含We引擎。
13.如权利要求1的系统,其构成还包括用来利用开始标准判断何时启动同步的同步开始模块。
14.一种系统,包括从第一函件存储器检索电子函件的装置;与电子函件引擎连接用来利用预定标准判断是否将电子函件发送到第二函件存储器的电子函件同步模块;与电子函件同步模块连接用来建立与第二函件存储器的通信信道的通信模块;以及与通信模块连接用来将电子函件发送到第二函件存储器的Web引擎。
15.如权利要求14的系统,其中第一函件存储器实施第一协议。
16.如权利要求14的系统,其中第一函件存储器位于函件服务器之中。
17.如权利要求16的系统,其中第一函件存储器将电子函件存储于文件夹结构中,并且其构成还包括用来为其中所有的电子函件的同步选择文件夹结构的装置。
18.如权利要求16的系统,其中电子函件引擎实施函件服务器使用的用来与函件服务器通信的第一协议。
19.如权利要求16的系统,其中其中电子函件引擎识别第一协议。
20.如权利要求14的系统,其中预定的标准包含判断电子函件是否已经发送到第二函件存储器。
21.如权利要求20的系统,其中判断是通过检查与电子函件相应的接收日期及指明最后同步日期的最后同步签名而解决。
22.如权利要求14的系统,其中第二函件存储器由防火墙保护,并且通信模块包含用来通过防火墙通信的安全装置。
23.如权利要求14的系统,其构成还包括用来利用开始标准判断何时启动同步的同步开始模块。
24.一种存储使计算机执行如下步骤的程序代码的计算机可读存储媒体从第一函件存储器检索电子函件;利用预定标准判断是否将电子函件发送到第二函件存储器;建立与第二函件存储器的通信信道;以及将电子函件发送到第二函件存储器。
25.一种方法,包括从第一函件存储器检索电子函件;利用预定标准判断是否将电子函件发送到第二函件存储器;建立与第二函件存储器的通信信道;以及将电子函件发送到第二函件存储器。
26.如权利要求25的方法,其中第一函件存储器实施第一协议。
27.如权利要求26的方法,其中第一函件存储器位于函件服务器之中。
28.如权利要求27的方法,其中第一函件存储器将电子函件存储于文件夹结构中,并且其构成还包括用来为其中所有的电子函件的同步选择文件夹结构的装置。
29.如权利要求28的方法,其中检索步骤包含使用第一协议。
30.如权利要求29的方法,其中检索步骤包含识别第一协议。
31.如权利要求25的方法,其中使用预定标准的步骤包含判断电子函件是否已经发送到第二函件存储器。
32.如权利要求31的方法,其中判断的步骤包含通过检查与电子函件相应的接收日期及指明最后同步日期的最后同步签名。
33.如权利要求28的方法,其中第二函件存储器由防火墙保护,并且通信模块包含用来通过防火墙通信的步骤。
34.如权利要求25的系统,其中第二函件存储器位于远方并且发送步骤包含通过计算机网络传送电子函件。
35.如权利要求25的系统,其构成还包括用来利用开始标准判断何时启动同步的同步开始模块。
36.一种从实施专门协议的函件服务器自动下载发送给具体客户机的电子函件的系统,包括识别函件服务器所使用的专门协议的装置;与识别装置连接用来利用专门协议下载电子函件的装置;与利用专门协议的装置相连接用来下载寄送给具体客户机的电子函件的装置。
37.如权利要求36的系统,其中用于识别的装置包含用来从函件服务器接收配置信息的装置。
全文摘要
一种系统(800),其构成包括利用合适的协议从第一函件存储器(850)检索电子函件(875)并将电子函件(875)存储到一个或多个文件夹结构(138,140,142,144)中的电子函件引擎。接到要求时,第一函件存储器(850)可向电子函件引擎发送指明合适协议的配置数据,该引擎就可适宜地配置其自身。电子函件同步模块(885)利用预定标准判断电子函件(875)先前是否已经发送以及是否使电子函件(875)与第二函件存储器(895)同步。电子函件同步模块(885)也可使电子函件与专门文件夹结构同步。第二函件存储器(895)可位于全局服务器(830)之上,该全局服务器(830)经过适当的识别和确认可令漫游用户(805)对其内容进行访问。通信模块穿过任何防火墙(880)与第二函件存储器建立通信信道。Web引擎(890)经由通信信道将电子函件发送到第二函件存储器(895)。
文档编号G06Q10/00GK1268233SQ98808393
公开日2000年9月27日 申请日期1998年7月21日 优先权日1997年7月22日
发明者丹尼尔·J·门德斯, 马克·D·里金斯, 普雷塞德·韦格尔, 克里斯蒂·英 申请人:维斯托公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1