CN1921485B - 在客户端-服务器环境中管理电子邮件的方法和系统 - Google Patents
在客户端-服务器环境中管理电子邮件的方法和系统 Download PDFInfo
- Publication number
- CN1921485B CN1921485B CN2006100578303A CN200610057830A CN1921485B CN 1921485 B CN1921485 B CN 1921485B CN 2006100578303 A CN2006100578303 A CN 2006100578303A CN 200610057830 A CN200610057830 A CN 200610057830A CN 1921485 B CN1921485 B CN 1921485B
- Authority
- CN
- China
- Prior art keywords
- identifier
- local part
- address list
- encoded
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/301—Name conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/37—E-mail addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
根据本发明的一些实施例,电子邮件可通过在服务器处将地址列表与电子邮件相关联在客户端-服务器环境中加以管理。可生成能够用来在服务器处取回与电子邮件相关联的地址列表的标识符。可对该标识符进行编码以生成所截断的地址列表的本地部分。可对该标识符进行编码以生成该截断的地址列表的域部分。电子邮件中的地址列表可以由包括本地部分和域部分的截断地址列表来取代。
Description
技术领域
本发明涉及数据处理方法、系统和计算机程序产品,更特别地涉及用于在客户端-服务器环境中管理电子邮件的数据处理方法、系统和计算机程序产品。
背景技术
电子客户端设备,比如个人数字助理、蜂窝电话等,可用来接收、发送以及通常管理电子邮件。这样的设备常常与还可存储用户电子邮件的主机服务器设备结合使用。结果,同步服务器可用来将客户端设备上存储的电子邮件与主机服务器设备上存储的电子邮件进行同步。遗憾的是,客户端设备可能具有有限的存储器空间,这可能造成需要截断多个电子邮件字段,比如“To”、“CC”和/或“BCC”列表。然而,由于数据完整性以及防止数据损失是同步的目标,所以截断字段的重建是服务器-客户端同步交互的一部分。由于客户端设备对于在它们的字段中能够存储的信息量具有有限、严格和/或不可改变的限制,所以在允许无损重建的方式下用于截断的方法可以用于一个或多个字段。
一种截断电子邮件字段的方法涉及同步服务器和客户端设备对于全球唯一标识符(GUID)的使用。同步服务器控制着截断过程,并且为每个单独的邮件跟踪在同步服务器的GUID与客户端设备的GUID之间的映射信息。具体来说,同步服务器能够将一个或多个字段截断到需要的大小,并且在同步期间在服务器上保存与已截断的字段有关的信息。如果电子邮件项目在客户端设备上更新,则同步服务器能够利用GUID将修改的电子邮件与在主机服务器设备处存储的电子邮件进行关联。然后,同步服务器可拒绝客户端设备的修改或者可以使用一种算法以保证客户端设备上的电子邮件的版本和主机服务器设备上的电子邮件的版本一致。然而,为了使该方式有效,同步服务器必须能够使用映射信息来取回截断信息。当客户端通过使用了与先前GUID无关的不同GUID的方式在客户端设备处进行修改时,该方法可能并不有效。例如,如果客户端要对电子邮件中截断的To/CC/BCC列表或者截断的日历事件参加者列表执行“答复全部”,则同步服务器可能无法分辨该截断以重建它。
常规的同步服务器可通过防止用户执行这样的操作来解决该问题。例如,可将电子邮件的To/CC/BCC列表完全地截断,从而不可能进行答复,或者可将电子邮件地址列表向下截断到不存在的地址,比如truncated@truncated。答复该截断的电子邮件地址会导致递送失败。这样的方式已经证明是合理的,因为一般来说,被响应的大多数邮件是仅有数个收信人的电子邮件,因此不需要截断。而且,确实包含多个收信人的许多电子邮件通常是无益于“答复全部”响应的“广播的”电子邮件。
对于该问题的另一常规方案是使用联系人组,该组是由单个姓名描述的用户集合,因此使用较少的空间。同步服务器可获得需要截断的新邮件,并且以刚刚创建的新联系人组来取代To/CC/BCC列表。这可以允许用户通过客户端答复所有的收信人。然而,该方案可能具有一些缺陷。该方案采取了电子邮件和联系人的原子同步,因此在仅有电子邮件的环境中将是不适用的。该方案还涉及同步服务器创建联系人组。最终用户可能发现这样的新联系人组令人惊讶、出乎意料和/或让人烦恼。而且,为了防止创建同一地址列表的多个联系人组,同步服务器可能需要遍历所有现存的联系人组以解析它们找出重复。每个额外的同步会话可能由于更多电子邮件被截断而创建额外的联系人组,这可能造成系统性能和最终用户满意度的下降。
发明内容
根据本发明的一个方面,提供了一种在客户端-服务器环境中管理电子邮件的方法。所述方法可以包括:在服务器处将地址列表与电子邮件相关联;生成能够用来在该服务器处取回与该电子邮件相关联的该地址列表的标识符;对该标识符进行编码以生成截断的地址列表的本地部分;对编码后的标识符进行编码以生成该截断的地址列表的域部分;以及以包括该本地部分和该域部分的该截断的地址列表来取代在该电子邮件中的该地址列表。
在根据本发明的一个实施例中,该标识符可以包括字节序列。
在根据本发明的另一实施例中,该标识符可以包括与该电子邮件相关联的数字。
在根据本发明的又一实施例中,对该标识符进行编码以生成该本地部分可以包括:使用Base64编码算法来对该标识符进行编码以生成该本地部分。
在根据本发明的再一实施例中,对该标识符进行编码以生成该本地部分可以包括:将该标识符编码成ASCII码串以生成该本地部分。
在根据本发明的另一实施例中,对该编码后的标识符进行编码以生成该域部分可以包括:对该本地部分进行编码以生成该域部分。
在根据本发明的又一实施例中,对该本地部分进行编码可以包括:使用Base64编码算法来对该本地部分进行编码以生成该域部分。
在根据本发明的再一实施例中,所述方法可以进一步包括:向该电子邮件添加显示名称,该显示名称指示该地址列表已经由截断的地址列表取代。
在根据本发明的另一实施例中,所述方法可以进一步包括:将记号追加到该本地部分。
在根据本发明的又一实施例中,所述方法可以进一步包括:检测客户端设备已经修改了该电子邮件;对该本地部分和该域部分进行解码;确定该解码的本地部分和该解码的域部分是否对应于该标识符;以及如果该解码的本地部分和该解码的域部分对应于该标识符,则使用该标识符在该服务器处取回该地址列表。
在根据本发明的再一实施例中,对该本地部分和该域部分进行解码可以包括:如果该本地部分具有向其追加的记号,则对该本地部分和该域部分进行解码。
根据本发明的另一方面,还提供了一种相应的系统。
根据本发明的一些实施例,可以通过在服务器处将地址列表与电子邮件进行关联来在客户端-服务器环境中管理电子邮件。可生成能够用来在服务器处取回与该电子邮件相关联的地址列表的标识符。可对该标识符进行编码以生成被截断的地址列表的本地部分。电子邮件中的地址列表可以用包括本地部分和域部分的已截断的地址列表来取代。
附图说明
在结合附图阅读时,本发明的其他特征通过下面对具体实施例的详细描述将会变得更容易理解,在附图中:
图1是图示了根据本发明一些实施例的客户端-服务器环境的框图;
图2是图示了根据本发明一些实施例可用来实现服务器的数据处理系统的框图;
图3是图示了根据本发明一些实施例可用来实现客户端设备的移动终端的框图;以及
图4和5是图示了根据本发明一些实施例用于在客户端-服务器环境中管理电子邮件的操作的流程图。
具体实施方式
尽管本发明容易受到各种修改和可取代的形式的影响,但是其具体实施例在附图中是以示例方式示出,并且将在此详细描述。然而,应当理解,并没有将本发明限制于所公开的特定形式的意图,相反地,本发明将覆盖落入如权利要求限定的本发明的精神和范围之内的所有修改、等效和取代。相似的参照标号在附图的整个描述中表示相似的单元。
除非明确地另外说明,如这里所用到的,单数形式“a”、“an”和“the”还旨在同时包括复数形式。应当进一步理解,术语“包括(comprises)”和/或“包括(comprising)”当在本说明书中使用时用来指定所述特征、整数、步骤、操作、单元和/或组件的存在,但是并不排除一个或多个其他特征、整数、步骤、操作、单元、组件和/或其组合的存在或添加。应该理解,当单元被称为“连接”或“耦合”到另一单元时,它可直接连接或耦合到其他单元或者可能存在的中间单元。而且,这里所用的“连接”或“耦合”可包括无线的连接或耦合。如这里所用到的,术语“和/或”包括一个或多个相关的列举项目的任何和所有的组合。
除非另外定义,这里所用的所有术语(包括技术和科学术语)具有本发明所归属的领域中的普通技术人员通常理解的相同含义。应该进一步理解,诸如在通常使用的词典中所定义的术语应当解释为具有与它们在相关技术的背景中的含义相一致的含义,并且除非这里明确地如此定义,将不应以理想化或过于形式化的意义进行解释。
本发明可实现为方法、系统和/或计算机程序产品。相应地,本发明可以在硬件中和/或软件(包括固件、常驻软件、微码等)中实现。而且,本发明还可采用计算机可用或计算机可读的存储介质上的计算机程序产品的形式,该介质具有用于由指令执行系统使用的或者与指令执行系统联系使用的、实现在该介质上的计算机可用或计算机可读程序代码。在本文的上下文中,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或运送用于由指令执行系统、装置或设备使用的或者与指令执行系统、装置或设备联系使用的程序的任何介质。
计算机可用或计算机可读介质可以例如是但不限于电子、磁、光、电磁、红外或半导体系统。计算机可读介质的更多具体示例(非穷举的列表)可以包括如下:具有一个或多个接线的电连接、便携式计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤和便携式光盘只读存储器(CD-ROM)。应该注意,计算机可用或计算机可读介质甚至可以是其上印有程序的纸或另一适当的介质,因为该程序可通过例如对该纸或其他介质进行光扫描来电子地捕获,然后加以编译、解译或者在必要时以适当的方式另外加以处理,然后存储于计算机存储器中。
根据本发明的实施例能够在逻辑上分离的客户端侧/服务器侧-计算环境中操作,下文有时称为客户端/服务器环境。如图1中所示,客户端10可在无线和/或有线通信介质30上与服务器20通信。该客户端/服务器环境是涉及从服务器进程(即服务器)请求服务的客户端进程(即客户端)的计算的构架。一般来说,该客户端/服务器环境维持进程之间的区别,尽管客户端和服务器进程可以在不同的机器上或者在相同的机器上操作。相应地,将客户端/服务器环境的客户端和服务器侧称为逻辑上分离的。通常,当客户端和服务器过程在分离的设备上操作时,可对于各过程的需要来定制每个设备。例如,服务器进程可“运行”于具有大量存储器和盘空间的系统上,而客户端进程常常“运行”于具有由高端视频卡和大屏幕显示器提供的图形用户界面的系统上。
客户端可以是例如网络浏览器的程序,该程序在用户的控制下从服务器请求比如网页的信息。客户端的示例包括浏览器,比如Netscape(弗吉尼亚州Dulles市的美国在线公司)和Internet(华盛顿州Redmond市的微软公司)。浏览器一般提供用于检索和查看网页、网络门户、应用程序以及由Web服务器提供的其他资源的图形用户界面。SOAP客户端可用于计划性地通过代替网络浏览器的程序来请求网络服务。由服务供应商提供的应用程序可在服务器上执行。该服务器可以是响应于来自客户端的请求的程序。服务器的一些示例是国际商业机器公司(IBM)的Lotus服务器系列、Apache服务器和Microsoft的因特网信息服务器(IIS)(华盛顿州Redmond市的微软公司)。
客户端和服务器可利用标准的通信模式,比如超文本传输协议(HTTP)和SOAP来通信。根据HTTP请求-响应通信模型,HTTP请求从客户端发送到服务器,并且HTTP响应响应于HTTP请求从服务器发送到客户端。在操作中,服务器等待客户端打开连接并且请求比如网页的信息。作为响应,服务器将所请求的信息的副本发送到客户端,关闭对客户端的连接,并且等待下一次连接。应该理解,服务器能够响应于来自多于一个客户端的请求。
图2图示了根据本发明一些实施例的数据处理系统100,该系统可例如用来实现同步服务器,并且可包括用于在客户端-服务器环境中管理电子邮件的模块。数据处理系统100包括与处理器120通信的输入设备105,比如键盘或小键盘、显示器110和存储器115。数据处理系统100可进一步包括也与处理器120通信的存储系统125、扬声器130和I/O数据端口135。存储系统125可包括可拆卸和/或固定的介质,比如软盘、ZIP驱动器、硬盘等等以及虚拟存储比如RAMDISK。I/O数据端口135可用来在数据处理系统100与另一计算机系统或网络(例如因特网)之间传送信息。这些组件可以是常规组件,比如在许多常规计算设备中使用的组件,并且它们在常规操作方面的功能通常是本领域的技术人员已知的。存储器115可配置有电子邮件管理模块140,该模块可用来为客户端设备的用户存储和管理电子邮件。例如,用户可具有便携式客户端设备,比如个人数字助理或移动终端,用户可从该设备发送和接收电子邮件。然而,用户可能由于服务器上可用的额外存储器资源而希望在该服务器上存储他的/她的电子邮件以便于长期保留。结果,用户会周期性地将客户端设备上存储的电子邮件与服务器上存储的电子邮件进行同步。根据本发明的一些实施例,电子邮件管理模块140可用来截断电子邮件的冗长电子邮件地址列表以节省客户端设备上的存储器,并且在依然保持对原始的、未截断的地址列表的访问的同时允许用户以他们选择的任何方式答复、转发和修改电子邮件。
现在参见图3,根据本发明一些实施例的示例性电子客户端设备,比如移动电话终端300,其包括与处理器314通信的键盘/小键盘302、显示器304、收发器306、存储器308、麦克风310、扬声器312和摄像/视频模块316。收发器电路306一般包括发射器电路和接收器电路,它们相互协作以通过天线318将射频信号发射到基站收发器并接收。此外,收发器306可包括蓝牙收发器电路,该电路可利用蓝牙协议促进与比如同步服务器的其他支持蓝牙的设备的无线通信。蓝牙协议是开放式标准,用于数字话音和数据在未许可的2.4GHz波段中进行短程(10米)和低速(上至1Mbps)无线传输,其同时支持点对点和多点应用。存储器308可代表存储器分级体系,其可包括易失性和/或非易失性存储器,比如可拆卸的闪存、磁存储器和/或光可改写的非易失性存储器。在移动终端300与基站收发器之间传输的射频信号可同时包括流量和控制信号(例如用于呼入呼叫的寻呼信号/消息),它们是用来建立和维持与另一方或目标的通信。射频信号还可包括分组数据信息,比如蜂窝数字分组数据(CDPD)信息。移动终端30的前述组件可包含于许多常规移动终端中,并且它们的功能一般是本领域的技术人员已知的。
存储器308可包括电子邮件应用模块320,该模块可用于发送和接收电子邮件、组织日程、接受和分配任务以及其他类似功能。电子邮件应用模块320还可与同步服务器上的电子邮件管理模块,比如图2中的电子邮件管理模块140进行通信,以对移动终端300上存储的电子邮件和同步服务器上存储的电子邮件进行同步。该同步可以在无线连接比如蓝牙连接上或者直接通过同步服务器上的端口经由有线连接来执行。
出于说明的目的,在此本发明的实施例是在客户端设备作为移动终端的背景中加以描述的。然而,应该理解,本发明不限于这样的实施例,并且可一般地实现为可以在客户端-服务器环境中起客户端设备作用的任何电子设备。
如这里所用到的,术语“移动设备”可包括:具有或没有多行显示器的卫星或蜂窝无线电话;可以将蜂窝无线电话与数据处理、传真和数据通信功能组合的个人通信系统(PCS)的终端;可包括无线电话、寻呼机、因特网/企业网接入、网络浏览器、管理器、日历和/或全球定位系统(GPS)接收器的PDA;以及包括无线电话收发器的常规膝上型和/掌上型接收器或其他电器。移动终端还可称为“普遍计算”设备。
尽管图2和3图示了可用来在客户端-服务器环境中管理电子邮件的示例性硬件/软件构架,但是应该理解,本发明不限于这样的配置,而是旨在于涵盖能够执行这里所述操作的任何配置。而且,根据本发明的各种实施例,图2的数据处理系统100和/或图3的移动终端300的功能可分别实施为单个处理器系统、多处理器系统或者甚至是单机计算机系统的网络。
为了便于开发,用于针对图2和3实现上面讨论的数据处理系统和移动终端的操作的计算机程序代码可以用高级编程语言比如Java、C和/或C++来编写。此外,用于实行本发明的操作的计算机程序代码还可以用其他编程语言比如但不限于解释性的语言来编写。一些模块或例程可以用汇编语言甚至是微码来编写以增强性能和/或存储器使用。应该进一步理解,任何或所有程序模块的功能还可以利用分立的硬件组件、一个或多个专用集成电路(ASIC)或编程的数字信号处理器或微控制器来实施。
本发明在这里参照图示了根据本发明示范实施例的方法、系统和计算机程序产品的流程图和/或框图来进行描述的。这些流程图和/或框图进一步说明了根据本发明一些实施例用于在客户端-服务器环境中管理电子邮件的示例性操作。应该理解,流程图和/或框图图示的每个方框以及流程图和/或框图图示中的方框组合可由计算机程序指令和/或硬件操作来实现。这些计算机程序指令可被提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置执行的这些指令,创建用于在流程图和/或框图的一个或多个方框中实现指定的功能的装置和/或电路。
这些计算机程序指令还可存储于计算机可用或计算机可读的存储器中,该存储器可指引计算机或其他可编程数据处理装置以特定方式工作,使得在计算机可用或计算机可读存储器中存储的指令产生包括指令的制造品,这些指令实现流程图和/或框图的一个或多个方框中指定的功能。
计算机程序指令还可加载到计算机或其他可编程数据处理装置上,以使一连串操作步骤在计算机或其他可编程装置上得以执行,从而产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的一个或多个方框中指定的功能的步骤。
图4图示了根据本发明一些实施例用于截断同步服务器上存储的消息的操作。操作从方框400开始,其中同步服务器对具有地址列表例如To/CC/BCC列表的电子邮件进行处理,该列表是适当冗长的,从而有利于加以截断以节省它可能随后被存储的、在客户端设备上的空间。在方框410,同步服务器可存储该电子邮件,使得原始的、未截断的地址列表与该电子邮件相关联。根据本发明的各种实施例,该电子邮件可存储于表或其他适当的数据结构中。
同步服务器在方框415处可以为该电子邮件生成显示名称,比如“15个截断的地址”,以向用户通告用于该特定电子邮件的地址列表已被截断。
同步服务器可使用全球唯一标识符(GUID)来访问电子邮件和它在存储有它的数据结构中的相关联的未截断的地址列表。因此,根据本发明的一些实施例,截断的电子邮件地址的本地部分,即电子邮件地址在@符号之前的部分,可以以一种依赖于用于该电子邮件的GUID类型的方式,在方框420处生成。例如,如果使用了字节序列(BGUID),则截断的电子邮件地址的本地部分,可按照本发明的一些实施例,通过使用Base64编码算法对BGUID进行编码来生成。然而,如果GUID是用整形或长整形来表示的数字表示,比如电子邮件的迭代计数,则同步服务器可将GUID编码成该串行数字的ASCII码串或Base64编码版本。编码的GUID可称为GUID(RGUID)的表示,并且可用作为截断的电子邮件地址的本地部分。可选地,同步服务器可将记号追加到RGUID,以立即标识该电子邮件地址为截断的电子邮件地址,这可以在反截断(untruncation)过程中保存同步服务器上的处理器资源。这样的记号的一个示例是^号,之所以选择它是因为很少的有效电子邮件地址以该字符作为开头。
在方框425,同步服务器通过对RGUID进行编码来生成所截断的电子邮件地址的域部分,即@符号之后的部分,以确保RGUID的完整性。按照本发明的一些实施例,单向加密算法、RGUID的检查和或者RGUID的Base64编码可用来生成编码的RGUID。应该理解,这些编码方案仅仅是示例性的,其他编码方案可按照本发明的各种实施例加以使用。
然后,在同步期间,在方框430处,同步服务器可将电子邮件连同可选的显示名称一起提供给客户端设备,其中电子邮件的冗长地址列表由截断的地址列表取代,且该截断的地址列表包括作为本地部分的RGUID和作为域部分的编码的RGUID,该显示名称可指示已经截断多少地址。
图5图示了按照本发明一些实施例用于反截断消息的操作。操作始于方框500,其中客户端设备答复、转发或者否则修改电子邮件消息。建立与同步服务器的通信,并且同步服务器解析地址列表。如果如同关于图4的方框420所讨论的那样在截断地址列表时使用了记号,则处理将只有在电子邮件地址包括所追加的记号时才继续。如果未使用记号,则同步服务器检查电子邮件地址以确定它是否为有效地址或者它是否对应于截断的地址列表。
如果地址列表是截断的地址列表,则同步服务器,在方框510,对RGUID,即截断的地址的本地部分进行解码,以获得GUID或BGUID,并且对编码的RGUID,即截断的地址的域部分进行解码,以检验其结果等于解码后的RGUID。
然后,在方框520,GUID或BGUID可用来经由同步服务器上存储的数据结构访问与该电子邮件相关联的完整的反截断的地址列表,以利用该完整的地址列表来重建原始的电子邮件消息。然后将电子邮件作为常规的电子邮件处理。
如果在图5的反截断过程期间出现错误,则同步服务器可调用任何可用的恢复机制,或者可经由客户端设备生成递送失败通知或者电子邮件拒绝通知给用户。
图4和5的流程图图示了用于在客户端-服务器环境中管理电子邮件的方法、系统和计算机程序产品的一些实施例的构架、功能和操作。在这点上,每个方框代表了代码的模块、分段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应当注意,在其他实现中,方框中记录的功能可能不以图4和/或图5中记录的顺序来进行。例如,取决于所涉及的功能,相继示出的两个方框实际可基本上同时地执行,或者这些方框有时可能以相反的次序来执行。
有利地,本发明的一些实施例可允许大的电子邮件地址列表压缩和截断成符合RFC 2822框架的形式,因此对于客户端设备是透明的。而且,最终用户可能以他的或她选择的任何方式来答复、转发和修改具有截断的地址列表的电子邮件。这是通过以单个的电子邮件地址取代原始电子邮件地址列表来实现的,该电子邮件地址包含可由服务器提取和使用以取回原始信息的内置信息。
本发明的一些实施例可提供这样的优点:对于任何电子邮件,而不管电子邮件地址列表的大小、客户端设备限制或有限的字段约束,实施“答复全部”的功能。最终用户的感受也可以与更高保真度环境中的相类似。用户可接收电子邮件、点击答复全部和点击发送,这与桌面电子邮件应用程序几乎是相同的。本发明的一些实施例将信息嵌入到大多数电子邮件应用程序通常使用的标准RFC 2822电子邮件地址中。截断和反截断过程通常是低开销和可伸缩的。截断过程包括检查已修改的电子邮件条目和解析地址列表以及将它们与已知的设备限制做比较。当确定地址列表过大,则同步服务器可对规定长度的至少一个串进行编码。反截断过程只需检查由客户端设备生成的电子邮件的新修改。检查电子邮件地址的本地部分以确定它是否包括记号。如果是,则该地址代表了截断的地址列表。然后同步服务器对截断的地址进行解码以获得与该电子邮件相关联的原始地址列表。
能够对优选实施例做出许多变形和修改,而基本上不脱离本发明的原理。所有这样的变形和修改在这里囊括于如所附权利要求限定的本发明的范围之内。
Claims (22)
1.一种在客户端-服务器环境中管理电子邮件的方法,包括:
在服务器处将地址列表与电子邮件相关联;
生成能够用来在该服务器处取回与该电子邮件相关联的该地址列表的标识符;
对该标识符进行编码以生成截断的地址列表的本地部分;
对编码后的标识符进行编码以生成该截断的地址列表的域部分;以及
以包括该本地部分和该域部分的该截断的地址列表来取代在该电子邮件中的该地址列表。
2.如权利要求1所述的方法,其中该标识符包括字节序列。
3.如权利要求1所述的方法,其中该标识符包括与该电子邮件相关联的数字。
4.如权利要求1所述的方法,其中对该标识符进行编码以生成该本地部分包括:使用Base64编码算法来对该标识符进行编码以生成该本地部分。
5.如权利要求1所述的方法,其中对该标识符进行编码以生成该本地部分包括:将该标识符编码成ASCII码串以生成该本地部分。
6.如权利要求1所述的方法,其中对该编码后的标识符进行编码以生成该域部分包括:对该本地部分进行编码以生成该域部分。
7.如权利要求6所述的方法,其中对该本地部分进行编码包括:使用Base64编码算法来对该本地部分进行编码以生成该域部分。
8.如权利要求1所述的方法,进一步包括:
向该电子邮件添加显示名称,该显示名称指示该地址列表已经由截断的地址列表取代。
9.如权利要求1所述的方法,进一步包括:
将记号追加到该本地部分。
10.如权利要求9所述的方法,进一步包括:
检测客户端设备已经修改了该电子邮件;
对该本地部分和该域部分进行解码;
确定该解码的本地部分和该解码的域部分是否对应于该标识符;以及
如果该解码的本地部分和该解码的域部分对应于该标识符,则使用该标识符在该服务器处取回该地址列表。
11.如权利要求10所述的方法,其中对该本地部分和该域部分进行解码包括:如果该本地部分具有向其追加的记号,则对该本地部分和该域部分进行解码。
12.一种用于在客户端-服务器环境中管理电子邮件的系统,包括:
用于在服务器处将地址列表与电子邮件相关联的装置;
用于生成能够用来在该服务器处取回与该电子邮件相关联的地址列表的标识符的装置;
用于对该标识符进行编码以生成截断的地址列表的本地部分的装置;
用于对编码后的标识符进行编码以生成该截断的地址列表的域部分的装置;以及
用于以包括该本地部分和该域部分的该截断的地址列表来取代在该电子邮件中的该地址列表的装置。
13.如权利要求12所述的系统,其中该标识符包括字节序列。
14.如权利要求12所述的系统,其中该标识符包括与该电子邮件相关联的数字。
15.如权利要求12所述的系统,其中用于对该标识符进行编码以生成该本地部分的装置包括:用于使用Base64编码算法来对该标识符进行编码以生成该本地部分的装置。
16.如权利要求12所述的系统,其中用于对该标识符进行编码以生成该本地部分的装置包括:用于将该标识符编码成ASCII码串以生成该本地部分的装置。
17.如权利要求12所述的系统,其中用于对该编码后的标识符进行编码以生成该域部分的装置包括:用于对该本地部分进行编码以生成该域部分的装置。
18.如权利要求17所述的系统,其中用于对该本地部分进行编码的装置包括:用于使用Base64编码算法来对该本地部分进行编码以生成该域部分的装置。
19.如权利要求12所述的系统,进一步包括:
用于向该电子邮件添加显示名称的装置,该显示名称指示该地址列表已经由截断的地址列表取代。
20.如权利要求12所述的系统,进一步包括:
用于将记号追加到该本地部分的装置。
21.如权利要求20所述的系统,进一步包括:
用于检测客户端设备已经修改了该电子邮件的装置;
用于对该本地部分和该域部分进行解码的装置;
用于确定该解码的本地部分和该解码的域部分是否对应于该标识符的装置;以及
用于如果该解码的本地部分和该解码的域部分对应于该标识符,则使用该标识符在该服务器处取回该地址列表的装置。
22.如权利要求21所述的系统,其中用于对该本地部分和该域部分进行解码的装置包括:用于如果该本地部分具有向其追加的记号,则对该本地部分和该域部分进行解码的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/211,241 | 2005-08-25 | ||
US11/211,241 US7844672B2 (en) | 2005-08-25 | 2005-08-25 | Methods, systems, and computer program products for managing email in a client-server environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1921485A CN1921485A (zh) | 2007-02-28 |
CN1921485B true CN1921485B (zh) | 2010-08-25 |
Family
ID=37779056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100578303A Expired - Fee Related CN1921485B (zh) | 2005-08-25 | 2006-03-01 | 在客户端-服务器环境中管理电子邮件的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7844672B2 (zh) |
CN (1) | CN1921485B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288298A1 (en) * | 1999-08-12 | 2006-12-21 | Robert Haitani | System, method and technique for enabling users to interact with address fields of messaging applications |
US20070260693A1 (en) * | 2006-05-05 | 2007-11-08 | International Business Machines Corporation | Method and apparatus for utilizing portable e-mail addresses |
US8250132B2 (en) * | 2007-07-06 | 2012-08-21 | International Business Machines Corporation | Managing messages related to workflows |
KR101431260B1 (ko) * | 2007-07-23 | 2014-08-20 | 삼성전자주식회사 | 휴대 방송에서 구매 서비스 목록 관리를 위한 메시지 구성방법 |
CN101616102A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 自动创建联系人组及建议电子邮件发送列表的方法和装置 |
US20110145336A1 (en) * | 2009-12-14 | 2011-06-16 | Carroll Martin D | Electronic mail server and method for automatically generating address lists |
US9531660B2 (en) * | 2011-06-23 | 2016-12-27 | International Business Machines Corporation | Dynamic encoding of email addresses |
US8930689B2 (en) * | 2011-09-28 | 2015-01-06 | Mcafee, Inc. | Securing email conversations |
KR20140119555A (ko) * | 2013-04-01 | 2014-10-10 | 삼성전자주식회사 | 메시지 전송 장치 및 방법 |
WO2014205669A1 (zh) * | 2013-06-26 | 2014-12-31 | 华为技术有限公司 | 网络设备及电子邮件请求处理方法 |
US10951703B1 (en) * | 2019-10-15 | 2021-03-16 | Microsoft Technology Licensing, Llc | Peer-to-peer email content replication and synchronization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1093250A1 (en) * | 1999-10-12 | 2001-04-18 | Alcatel | Device and method to compress destination addresses of a multicast message |
CN1366415A (zh) * | 2001-08-06 | 2002-08-28 | 颜元甲 | 传真、电话E-Mail |
CN1482775A (zh) * | 2002-09-11 | 2004-03-17 | ��ʿͨ��ʽ���� | 邮件处理系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253256B1 (en) * | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
US6816884B1 (en) * | 2000-01-27 | 2004-11-09 | Colin T. Summers | System and method for creating conversationally-styled summaries from digesting email messages |
US6745232B1 (en) * | 2000-08-23 | 2004-06-01 | Rockwell Automation Technologies, Inc. | Strobed synchronization providing diagnostics in a distributed system |
US6775689B1 (en) * | 2000-06-07 | 2004-08-10 | International Business Machines Corporation | System for restructuring selected parts of email messages prior to transmission to plurality of recipients |
US6816885B1 (en) * | 2000-09-21 | 2004-11-09 | International Business Machines Corporation | Method and system to handle large volume of E-mail received from a plurality of senders intelligently |
JP2002108788A (ja) | 2000-10-03 | 2002-04-12 | Matsushita Commun Ind Co Ltd | 電子メールシステム、電子メール分解方法および記録媒体 |
US7941486B2 (en) * | 2002-01-16 | 2011-05-10 | Xerox Corporation | Systems and methods for integrating electronic mail and distributed networks into a workflow system |
US7773106B2 (en) * | 2002-11-12 | 2010-08-10 | Microsoft Corporation | System and apparatus for sending complete responses to truncated electronic mail messages on a mobile device |
US7386590B2 (en) * | 2003-01-03 | 2008-06-10 | Microsoft Corporation | System and method for improved synchronization between a server and a client |
US7493550B1 (en) * | 2004-01-26 | 2009-02-17 | Marvell International Ltd. | Device and method for detecting and correcting errors in a data stream |
-
2005
- 2005-08-25 US US11/211,241 patent/US7844672B2/en not_active Expired - Fee Related
-
2006
- 2006-03-01 CN CN2006100578303A patent/CN1921485B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1093250A1 (en) * | 1999-10-12 | 2001-04-18 | Alcatel | Device and method to compress destination addresses of a multicast message |
CN1366415A (zh) * | 2001-08-06 | 2002-08-28 | 颜元甲 | 传真、电话E-Mail |
CN1482775A (zh) * | 2002-09-11 | 2004-03-17 | ��ʿͨ��ʽ���� | 邮件处理系统 |
Non-Patent Citations (2)
Title |
---|
P. Resnick."Internet Message Format".RFC2822,Network Working Group.2001,1-51. |
P.Resnick."Internet Message Format".RFC2822,Network Working Group.2001,1-51. * |
Also Published As
Publication number | Publication date |
---|---|
US20070050454A1 (en) | 2007-03-01 |
CN1921485A (zh) | 2007-02-28 |
US7844672B2 (en) | 2010-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1921485B (zh) | 在客户端-服务器环境中管理电子邮件的方法和系统 | |
US7966387B1 (en) | System and method for provisioning personalized data into mobile device | |
US8019818B2 (en) | Communications network system and methods for using same | |
KR100841352B1 (ko) | 국제 메시지 전송 시스템 및 상기 시스템을 운용하는 방법 | |
US8369327B2 (en) | Application interface for global message delivery | |
US7505777B2 (en) | System and method for sending internet message in mobile communication terminal | |
CN102567299A (zh) | 使用文本消息与电子表格交互 | |
EP1919174A1 (en) | Presence information delivery apparatus and method for mobile communication network | |
US20110016190A1 (en) | Method and apparatus for realizing message service | |
US10257671B2 (en) | System and method of creating and providing SMS HTTP tagging | |
CN105027587A (zh) | 利用结构化实体扩充的消息 | |
KR101229951B1 (ko) | 통신망을 통한 푸시메시지 발송 방법 | |
CN1503544A (zh) | 显示关联电子邮件的便携式终端、电子邮件显示方法及程序 | |
CN116996491A (zh) | 一种业务消息通知可配置实现方法 | |
TWI523557B (zh) | 處理sms訊息之方法和相關通訊系統 | |
US8385951B2 (en) | SMS wrapper/dewrapper and mobile devices embedded with the SMS wrapper/dewrapper | |
KR20160019267A (ko) | 문자메시지 인증 방법, 시스템, 서버 및 컴퓨터 판독 가능 매체 | |
CN105659537A (zh) | 已发送电子消息和已接收电子消息的关联 | |
US10728191B2 (en) | Method for establishing communication within a closed network | |
KR20120116196A (ko) | 모바일에서 메시지에 대한 키워드 광고 기반의 메시지 커뮤니케이션 방법 및 시스템 | |
CN101272401B (zh) | 移动传送框架中用于内容处理协调的方法和系统 | |
CN104581654A (zh) | 一种名片信息的交换方法和装置 | |
KR100800448B1 (ko) | 이동통신단말기 및 이동통신단말기의 유해 미디어 차단방법 | |
KR101476169B1 (ko) | 메시지 서비스 제공 방법 | |
CA2592211C (en) | Device transfer of a server stored data based on item id and determined nature of intended destination |
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: 20100825 Termination date: 20210301 |