示例性实施例的详细描述
本发明总的来说涉及一种系统和方法,用于管理移动计算装置和中央数据存储系统之间的同步操作。通常,移动计算装置包括可软件实现的商务程序或应用,其允许移动计算装置的用户筛选中央数据存储系统中可用的数据,以便在同步操作的过程中将数据的子集上载到移动计算装置中。此外,本发明给用户提供了关于上载数据的能力,以便在同步操作的过程中将用户预定的数据上载到移动计算装置。提供上述信息给用户优先于同步操作的执行,因而允许用户避免由试图向移动计算装置上载超出其存储容量的数据而引起的溢出错误。在讨论本发明的更多细节之前,将讨论可以使用本发明的示例性环境的一个实施例。
计算环境
附图1示出了适当的计算系统环境100的一个例子,本发明可以在其中实现。计算系统环境100只是适当的计算环境的一个例子,并没有想要提出任何作为本发明的使用或功能性的范围的限定。既不能将计算环境100解释为具有对任何一个的任何依赖性或需求,也不能将其解释为示例性操作环境100中所示出的组件的组合。
本发明可以以许多的其它通用目的或特定目的计算系统环境或配置而运行。适用于本发明的公知的计算系统、环境和/或配置包括,但不限于个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器系统、机顶盒、可编程电子消费品、网络PC、微型计算机、大型机、包括任何上述系统或装置的分布式计算环境等。
本发明可以在计算机可执行指令的通用环境中描述,例如计算机可执行的程序模块。通常,程序模块包括例行程序、程序、对象、组件、数据结构等,其执行特殊的任务或实现特殊的抽象数据类型。本发明还可以在分布式计算环境中实施,其中任务由通常通信网络连接的远程处理装置来执行。在分布式计算环境中,程序模块可以位于包括存储装置的本地和远程计算机存储媒介中。
参照附图1,一个用于实现本发明的示例性系统包括以计算机110的形式存在的通用计算装置。计算机110的部件可以包括,但不限于,处理单元120、系统存储器130、将多个系统部件连接到处理单元120的系统总线121,上述系统部件包括系统存储器。系统总线121可以是总线结构的多个类型中的任意一种,包括使用多种总线构造中任一种的存储器总线或存储控制器、外围总线和本地总线。上述结构包括例如,但不限于,工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展工业标准结构(EISA)总线、视频电子标准协会(VESA)本地总线和又名为Mezzanine总线的周边元件扩展接口(PCI)总线。
计算机110典型地包括多个计算机可读媒介。计算机可读媒介可以是计算机110能够访问的任何可读媒介,并且包括易失性和非易失性媒介、可移动和非可移动媒介。计算机可读媒介包括例如,但不限于,计算机存储媒介和通信媒介。计算机存储媒介包括以任何用于存储信息的方法或技术实现的易失性和非易失性、可移动和不可移动媒介,上述方法或技术包括计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒介包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用光盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储装置、或其它任何可以用于存储想要的信息并且可以由计算机110访问的媒介。通信媒介典型地包括计算机可读指令、数据结构、程序模块或其它模块化数据信号中的数据,例如载波或包括任何信息传输媒介的传送机构。“模块化数据信号”的形式意味着一个信号,其具有一个或更多自身特征设置,或以例如对信号中的信息编码的方式而被改变。通信媒介包括例如,但不限于,有线媒介,例如有线网络或单线连接,以及无线媒介,例如声音的、RF、红外连接或其它无线媒介。上述任何组合也可以包括在计算机可读媒介的范围中。
系统存储器130包括易失性和/非易失性存储器形式的计算机存储媒介,例如只读存储器(ROM)131和随机访问存储器(RAM)132。基本输入/输出系统133(BIOS)包括基本例行程序,其有助于在例如启动时在计算机110的部件之间传送信息,基本输入/输出系统典型地存储在ROM131。RAM132典型地包括可以直接地访问的数据和/或程序模块,和/或处理单元120正在操作的数据和/或程序模块。附图1示例性地示出,但不限于,操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可以包括其它可移动/不可移动易失性/非易失性计算机存储媒介。附图1示例性地示出,但不限于,硬盘驱动器141,可以从中读出或向其中写入不可移除、非易失性磁性数据;可以从中读出或写入可移动、非易失性磁盘152的磁盘器151;可以从中读出或写入可移动、非易失性光盘156的光盘驱动器155,上述光盘156可以是例如CD ROM或其它光盘媒介。其它可以使用在示例性环境中的可移动/不可移动、易失性/非易失性计算机存储媒介包括,但不限于盒式磁带、闪存瞳、数字通用光盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动器141典型地通过例如接口140的不可移动存储接口,连接到系统总线121,并且磁盘驱动器151和光盘驱动器155典型地通过例如接口150的可移动存储器接口,连接到系统总线121。
上面讨论过并在附图1中示出的驱动器和与其连接的计算机存储媒介,提供了计算机可读指令、数据结构、程序模块和用于计算机110的其它数据的存储。在附图1中,例如,所示的硬盘驱动器141存储了操作系统144、应用程序145、其它程序模块146和程序数据147。需要注意的是,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被给予了不同的数字,是为了说明在最小数量的情况下,它们是不同的复件。
用户可以通过输入装置将命令和信息输入计算机110,上述输入装置可以是例如键盘162、麦克风163、例如一个鼠标、跟踪球或接触垫的点击装置161。其它输入装置(未示出)可以包括一个操纵杆、游戏手柄、卫星天线、扫描仪等。上述和其它输入装置通常通过用户输入接口160连接到处理单元120,上述用户输入接口160连接到系统总线,但是上述和其它输入装置还可以通过其它接口和总线结构连接,例如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示装置也通过例如视频接口190的接口连接到系统总线121。除了监视器,计算机还可以包括其它外围输出装置,例如扬声器197和打印机196,其可以通过输入外围接口195连接。
在网络环境中运行的计算机110使用本地连接到一个或更多个远程计算机,例如远程计算机180。远程计算机180、可以是一个个人计算机、手持装置、服务器、路由器、网络PC、对等装置或其它普通网络节点,并且典型地包括多个或所有上述与计算机110相关的部件。附图1所述的本地连接包括一个本地局域网(LAN)171和广域网(WAN)173,但是还可以包括其它网络。上述网络环境在办公室、企业级计算机网络、企业内部互联网和因特网。
当使用在LAN网络环境中时,计算机110通过网络接口或适配器170连接到LAN171。当使用在WAN网络环境中时,计算机110典型地包括调制解调器172或用于在WAN173之上建立通信的其它装置,例如互联网。调制解调器172可以是内置的或外置的,其通过用户输入接口160或其它适当机构连接到系统总线121。在网络环境中,被描述为与计算机110或其中的部分相关的程序模块可以存储在远程存储装置。附图1示例性地示出了,但是不限于,存储在远程计算机180中的远程应用程序185。可以理解的是,所示的网络连接是示例性的,还可以使用在计算机之间建立通信连接的其它装置。
软件可实现的商务程序或应用
本发明的方法和系统的一方面总地来说涉及定制软件可实现商务程序或应用,其利用对象相关(或实体相关)数据存储系统。上述定制希望能够制造负担得起的商务应用,其足够详尽,以提高商务生产率,然而与此同时,其足够大众化,以吸引广泛的客户基础。
当用于提供商务解决方案实体定制和商务应用的筛选时,例如移动计算装置上的客户关系管理(CRM)应用,本发明的方法和系统尤其有用。上述应用被配置为提供多种方式的商务支持。例如,CRM应用通过允许例如销售和服务雇员共享例如销售引导、客户历史和可搜索的知识库等信息,帮助建立有利可图的客户关系。例如,汽车销售人员可能会对客户的汽车的里程数感兴趣,然而保险销售人员会想要知道客户的年龄和健康历史。本发明提供了定制应用所必需的工具,以适应汽车和保险销售人员、农民和其它销售人员的需求。
附图2示出了根据本发明实施例的标识为200的一个系统的例子。系统200总地来说包括服务器204上的中央数据存储系统202,其具有一个中央商务应用205和一个或多个移动计算装置206,它们每个都包括一个移动商务应用208和移动数据存储系统210。
商务应用208是优选为由包括在移动关系数据库或数据存储器214中的元数据212所驱动的,根据本发明的一个实施例,其是包括在中央数据存储系统202中的关系数据库或数据存储器218中的定制元数据216的一个子集。上述元数据(212和216)一般确定系统202和210的数据结构的元素,并且控制应用208如何运行并显示其自身。
该方法的一个优点是移动计算装置206上的元数据驱动应用208可以由管理员定制,该管理员不理解如何编码使用例如图像用户接口工具。此外,可以很容易地将定制配置到服务器204,作为定制元数据216,以及配置到移动计算装置206(例如,个人数字助理(PDA)、移动电话等),作为移动元数据212,而无需再编译用于应用208的码。此外,可以通过安装服务包升级应用208,而不丢失任何已做好的定制。结果,应用208可以很容易地与商务的需求一起发展,而不需要商务应用的开发者的干涉。
数据存储系统202和210优选为实体关系(E-R)存储系统。然而,应当注意的是本发明可以使用其它类型的数据存储系统,并且,因而不限于E-R系统。数据存储系统202和210分别包括一组实体(或对象)220和222,其相应于存储在对应的数据库或数据存储器218和214中的关系数据224和226。数据存储系统202和210还包括数据访问系统228和230,其分别通过使用实体关系(E-R)映射232和234,匹配数据和实体220和222,提供对关系数据224和226的访问。可能在CRM商务应用的环境中使用的实体的类型的例子包括帐目、接触、活动性、机会、提示、更多地址和其它类型的实体,这些实体在商务应用中可能会是有用的。虽然本发明同样适用于利用其它类型的实体的商务应用,为了简化讨论,将会参照CRM商务应用来描述本发明的实施例。
数据存储系统202和210可以包括附加的映射,例如确定实体220和222的对象之间的关系的一个映射。因此,帐目实体记录可以映射到相关的接触、活动性和机会实体记录或对象。
可以根据元数据216和212来实施数据存储系统202和210的实体220和222。因而,元数据216和212可以包括单个元数据实体,它们中的每个确定系统202和210的实体220和222中的一个。元数据216和212为实体220和222确定内容的基本种类,包括数据内容和用户接口内容。数据内容表现了系统存储的信息。例如,数据内容可以包括客户、存货项目、订单等,它们中的每个都定义为一个数据域。用户接口内容包括用户在屏幕或报告上看到的内容。其可以包括版面信息、讯息、数据域标签等。内容的上述类型与其它类型一样,可以根据本发明的多个实施例而定制。
元数据216可以使用基于输入242的定制工具240而定制,上述输入242是来自系统200的管理员或定制者(customizer)。定制工具240一般提供图形用户接口,其通过定制元数据216的程序来辅助定制者242。最初,每个新元数据实体可以由一个基本元数据实体组成,其包括默认数据和用户接口内容设置。定制工具240的用户接口优选为允许定制者添加、删除和修改基本元数据实体的数据和用户接口内容。一旦定制者提供了定制的元数据216,它将被用作定制移动计算装置206的应用208。当升级了应用208或在移动计算装置206上安装了新的软件包时,就安装了定制并且自动地将其应用,而不受用户的干涉。
附图3示出了根据本发明的元数据结构。上述元数据结构是由元数据结构树250的一部分所示出的。不难看出附图3所示的树250的部分是示例性的,但是其是为系统200定义定制元数据216的一个非常庞大的树的非常小的一部分。元数据结构树的部分定义元数据实体,例如元数据实体252,其相应于数据存储系统202中的实体220。
附图3所示的元数据结构树250的部分示出了元数据包括表格部分(用户接口内容),其自身包括一个Customer_Maintenance_Screen。Customer_Maintenance_Screen包括域(数据内容),其具有多个列表控制。列表控制1具有与之相关联的域1。域1具有多个属性,包括域名、域的背景色、域是否可用、域的长度以及域的数据类型(在这种情况中是MaxValue)。当然,域最好具有多个附加属性。
商务解决方案实体220可以包括可搜索域,如相应的元数据实体252所定义。例如,相应于CRM商务解决方案的商务解决方案实体可以包括一个实体类型域(例如,帐目、接触等)、邮递区号域、状态域、数据域、相关实体域和其它域,其可以配置为包括可搜索数据。如下面更详细的细节将要描述的,上述域可以用作标识特殊的商务解决方案实体220,其中移动计算装置206的用户希望预定一个上载到上述装置206。
为了定制元数据结构250,定制者242通过定制工具240输入定制的详细说明。可以通过直接输入设置或增加一个节点来实现元数据216的定制。例如,用于该域的背景色具有名“foo”,其在元数据结构250中是黄色的。假定定制者希望将背景色改成蓝色。假如这样的话,定制者通过定制工具240提供的图形用户接口,通过直接输入颜色改变成蓝色,来达到这个改变。
可选地,元数据216的定制可以由使用Δ来实现。Δ表示在元数据结构250中从其原始表格的一个改变。定制可以包括Δ的任意数字,n,每个Δ表示与基本结构的已知例子相关的特定改变。此外,Δ不仅表示一个已存在节点的改变,还表示在元数据结构250中添加一个新节点。
例如,为了达到上述改变,参照如上所述的名为“foo”的域,定制者会做出一个包括单个Δ的和6简单定制。上述定制与Customer_Maintenance_Screen的列表1之下的域“foo”相关。该定制可以存储在元数据存储器(数据库或数据存储器218)的一个单独的部分,或存储在映射到相关数据库218的一个元数据定制实体252中。关系数据库218中的元数据定制表格254包括一个元数据ID,其标识表格中Customer_Maintenance_Screen部分中的域的列表1之下的域1的背景颜色属性。表格254还包括标识Δ的Δ信息,其表示域的背景色改变成蓝色。上述Δ不是已修改的源的复件,而它仅仅是一个说明,其中应当改变结构250的值。仅通过跟踪Δ,就有可能将很多修改动态地应用到目标实体中。
附图4-6示出了通过元数据定制的应用208的定制的一个例子。在附图4-6所示的例子中,假定一个汽车经销商MortensAutos购买了一个财政软件包。在安装并运行该应用包之后,Mortens Autos定制该产品来添加域(数据内容)以跟踪每个客户的汽车偏爱(例如颜色、引擎、构造/模型等)。假定Mortens Autos还添加了新的域到用于客户的汽车偏爱的客户屏幕,并且移除了许多未使用的域。
附图4示出了Mortens Autos所购买的财政程序包已根据默认值或基本元数据实体而生成时,所显示默认客户屏幕的屏幕截图260。可以看出屏幕260包括订单摘要域,其一般不在汽车经销工业中使用。附图4还示出了对元数据实体的定制已实现后的相同客户屏幕262。初始的订单摘要域已经被表示客户的最后一次购买和最后一次购买目期的域所代替。此外,已添加了一个汽车偏爱列表以显示客户的汽车偏爱。如上所述,这都是由仅使用系统200的定制工具240定制相关的元数据216而实现的。
接下来,假定另一个商务解决方案提供者,Consoto,为服务提醒提出电子邮件通知。进一步假定由Consoto提供的客户实体还添加了一个字符串到客户实体,用于客户喜欢的技术人员的名字,以及添加了一个文字框到客户屏幕,用于一个新的域。Consoto的客户屏幕的一个例子如附图5所示。假定Mortens从Consoto处购买一个软件包以运行服务部门。
在安装后,所有在先的定制仍然有效,除非手动干涉或改写。这如附图6所示。例如,客户的汽车偏爱域显示在屏幕上,初始订单域从屏幕上移除。相似地,还提供了Consoto的改变到客户屏幕。清楚地,包括了客户实体上的新域以及客户屏幕上的文字框。如上所述,当安装了新软件包后,除非用户干涉,定制不会自动生效。
本发明的一个方面涉及在远程或移动计算装置206上的商务应用208的预定服务应用模块300(附图2)。预定服务应用300允许用户避免向移动计算装置206上载大量不必要的数据,与例如膝上型计算机的非移动计算装置相比,其一般具有有限的数据存储容量。此外,本发明的上述方面允许用户只选择与他或她的商务实践相关的那些实体。
本发明的预定方面还允许用户选择如何在移动计算装置206观看实体和对象。一般而言,要减少用户观看的实体数量的作为筛选的预定只操作那些相关的实体。实体和特定实体对象的上述筛选通过避免了不得不挑选移动计算装置206上与他们的当前实践无关的大量实体,允许用户更有效率地操作移动应用208。
预定302一般标识实体220,相应于在同步操作过程中,要从中央存储系统202传送到移动计算装置206的元数据216和数据224,以分别作为实体222、元数据212和数据226存储在移动数据存储系统210中。如下面将要更详细地解释的,可以通过例如,直接从实体220的列表中选择来定义预定302,或通过选择实体220的多个种类,或通过定义形成了用于想要的实体220的请求的多个筛选询问(关系数据库语句,例如SQL语句)。一旦定义了预定302,就优选地生成必要的关系数据库语句,以使服务器202返回想要的或确定的实体220,用于在同步操作过程中存储在移动计算装置206中。
预定接口
预定服务应用模块300生成一个预定接口304,用户通过预定接口304定义预定302。可以根据从服务器提供到移动计算装置206的预定元数据306而生成预定接口304。预定元数据306是由服务器的管理员或定制者242使用例如,定制工具240,通过选择可利用实体220和相应的对象类型而配置的。可选地,元数据216可以包括预定元数据306,并且,因而,可以用来生成预定接口304。
定制工具240响应于由管理员242所选择的实体,生成预定元数据306,该实体包括帮助字符串、用户可定义参数、条件类型(文本、数字等)、用户接口内容和其它用于在移动计算装置206上动态地生成预定接口304的信息。
预定接口304优选为包括图形用户接口,通过其用户可以定义多个参数,该参数用于将想要的预定指定到子实体级上的数据集或记录。最初,用户可以观看商务应用208的启动屏幕310,附图7示出了其的示例性屏幕截图。启动屏幕310提供给用户通过预定选项312而激活预定服务应用模块302的选项。
预定选项312的选择生成了预定设置视图314,其示例性的屏幕截图如附图8所示。预定设置视图314优选为由预定元数据306所定义,其自动地表现实体220的全部和改正的(升级的)列表,所述实体220是用户的预定可用的。
根据本发明的一个实施例,实体220分成多个实体类型。如上所述,用于CRM商务解决方案的上述实体类型可以包括,例如,帐目、接触、机会、活动性和其它可以由预定元数据306定义的实体的类型。此外,实体220的每个类型可以分成作为由实体220的域所定义的多个种类,上述实体220的域是由定制的元数据216所定义的,例如有效实体、非有效实体、邮递区号码、状态实体和其它种类。用于给定实体类型的种类的选择生成预定302,该预定302相应于该选择所确定的相应实体220。可以通过复选相应的框,例如框316,制造上述选择,该框用于附图8所示的用于邮政区号码种类的帐号。还可以使用其它选择可利用种类的适合的方法。
在附图8所示的示例性设置视图314中,只示出了用于示例性帐目实体类型的可利用种类的一部分。可以在帐目实体类型列表之下提共剩余的实体的可利用类型以及它们的相应种类,并使用滚动条318观看。还可以使用显示多种实体类型和种类的可选方法,例如用于每个实体类型的单个标识页。
如上所述,商务解决方案实体220可以包括多个可搜索域。根据本发明的实施例,预定302可以配置为定义一个参数化滤波器,其用作根据由预定元数据306所定义的选项来提取相应的实体。例如,用户可以定义参数化的筛选选项以确定或搜索商务解决方案实体220的域,例如邮政区号码域、状态域和其它域。上述实体220匹配预定302的搜索标准,并可以在同步操作过程中被确定并上载到移动计算装置206。下面将更详细地描述种类和筛选选项的例子,上述种类和筛选选项对于其中提供的示例性商务解决方案实体来说是可用的。
帐目实体类型预定选项
对于帐目实体类型,种类选择或筛选操作可以包括预先确定的预定,例如,所有帐目、我的有效帐目、有效帐目和无效帐目(未示出),对它们的选择可以相应地定义预定302。因而,所有帐目种类或筛选选项的选择会导致在与服务器204同步的同步操作过程中,所有可用帐目实体220或帐目实体记录被上载到移动装置206。相似地,我的有效帐目、有效帐目和无效帐目(未示出)的选择会导致当移动装置206与服务器204同步时,所有帐目的分别上载,上述所有帐目包括对用户有效的帐目、所有有效的帐目、所有无效的帐目。
如上所述,种类或筛选选项可以包括用户可定义或参数化筛选选项,例如邮政区号码的帐目和状态的帐目、相关对象(未示出)和其它筛选选项。移动计算装置206的用户可以访问多个视图,其中用户可定义筛选选项的参数是可定义的。上述视图是由预定元数据306所定义的,一般包括帮助字符串或用户使用的指令,以及筛选参数入口或选择操作。
例如,用于邮政区号码的图标320的选择导致邮政区号码视图330的生成,其示例性的屏幕截图如附图9所示。用户可以在视图330中生成一个邮政区号码的列表,用于用户希望预定的帐目实体类型的记录。
相似地,用于状态选项的帐目的图标332的选择(附图8)访问状态视图334的帐目,其示例性的屏幕截图如附图10所示。用户可以使用状态视图334的帐目来预定具有如列表336中包括的状态中的帐目类型的实体。可以通过选择列表338中的状态并按下箭头340来向列表336中添加状态。相似地,可以通过选择列表336中的状态并按下箭头342来从列表336中移除状态。以这种方式,用户可以生成想要的状态336的列表,因而定义预定302以标识具有某一帐目实体类型的实体220,该帐目实体类型相应于列表336中包括的状态。
根据本发明的实施例,提供给用户一个选择对象或实体的选项,该选择对象或实体具有特定的类型,该类型与包含在预定302中的已选择实体或实体种类相关或关联。上述关系可以由E-R映射数据或已选择实体或实体种类的元数据来定义。
例如,相关对象种类或筛选选项可以为一个帐目实体种类而选择,该帐目实体种类开启了一个帐目相关对象设置视图344,其示例性的屏幕截图如附图11所示。相关对象选项包括实体的相关联的接触、活动性机会类型。附加的相关对象,例如提示(例如,与预定的帐目实体记录相关的提示)、更多地址(例如,与预定帐目实体记录相关的地址)以及其它还可以提供的相关对象。通过相邻的复选框,例如用于相关接触实体类型的框346,选择任何相关实体类型,会导致标识上述实体或对象的订购302,上述实体或对象与所选择的实体类型相关联,并且相应于所选择的实体种类的实体。因而,如果用户为预定选择了帐目实体类型的一个实体种类,并且选择包括对相关接触实体的预定,则可以定义预定302以标识接触类型的实体,该接触类型与包括在所选择种类中的帐目类型的实体相关联。
再次参照附图8,用户还可以选择相应于帐目实体类型的图标348,该帐目实体类型可以为用户开启一个视图,其中示出了帐目实体类型的记录或对象。优选地,只示出已预定的帐目实体的记录。可选地,示出帐目实体类型的所有可选实体220或记录。然后可以提供向单个实体记录添加或移除预定的操作给用户。
接触实体类型预定选项
对于接触实体类型,筛选选项可以包括预先定义的预定,例如,所有接触、我的有效接触和我的无效接触,对其的选择会导致预定302标识所有对于用户有效的接触,以及对于用户无效的所有接触。当移动装置206与服务器202同步时,由预定302标识的所有实体220上载到移动装置206。
此外,筛选选项可以包括用户可定义、或参数化的筛选选项,例如通过邮政区号码的接触和通过状态的接触、相关对象和其它筛选选项。用户可以访问不同的视图,其中用户可定义筛选选项的参数可以通过选择相应的箭头图标来定义,如上面所讨论的帐目实体。上述视图是由预定元数据306所定义的,一般包括帮助字符串或对于用户的指令,以及筛选参数实体或选择选项。
附图12示出了接触相关对象视图350的示例性屏幕截图,其中用户可以添加相关活动(选择的)、提示和机会对象。附图13提供了通过状态视图352的接触的示例性屏幕截图。用户可以以与如上所述相同的方式为通过状态视图的帐目预定想要的接触。通过邮政区号码视图的接触以上述的用于通过邮政区号码视图的方式运行。
活动实体类型预定选项
与上述相同的预定选项还可以为活动实体类型而提供,例如所有活动和我的开放活动预定选项。附加的预先确定的机会预定选项包括关闭的活动、在一个时间周期(例如,一个星期、一个月等)内的预期活动(Activities Due)、在一个时间周期(例如,一个星期、一个月等)内关闭活动、新的活动以及其它预先确定的用户想要的预定选项。
与上述相同的用户可定义或参数化的预定选项可以为活动实体类型而提供,例如通过邮政区号码的活动、状态的活动、与对象相关的活动和其它筛选选项,如上所述,用户可以通过多个视图对其访问并定义。还可以提供用于活动实体的附加的用户可定义预定选项,例如基于活动的过去和未来几周的选择的预定,以及活动的类型,如附图14所示的示例性屏幕截图。
机会实体类型预定选项
与上述相同的预定选项可以为机会实体类型而提供,例如所有机会和我的有效机会预定选项。附加的预先定义机会预定选项包括关闭的机会、在一个时间周期(例如,下一星期或月)内关闭机会、新的机会、下一星期或月新的机会、上一星期和月新的机会,以及其它预先定义的用户想要的预定选项。
相似地,与上述相同的用户可定义或参数化的预定选项可以为机会实体类型而提供,例如通过邮政区号码的机会、状态的机会和其它筛选选项,如上所述,用户可以通过多个视图对其访问,其中可定义用户可定义预定选项的参数。还可以提供与对象预定选项相关的机会,例如包括相关活动和提示对象的选项,如附图15所示的示例性屏幕截图。
无实体特定预定选项
根据本发明的另一方面,用户可定义预定选项被提供给用户,而不考虑任何实体类型(即,帐目、接触等)。作为代替,通过设置多个域和条件来定义预定302,使其通过一个用户可定义筛选询问来标识实体。例如,用户可以基于条件和域来预定实体记录,该条件和域具有日期的数据类型(附图16)、整数(附图17)、字符串(附图18)、值(附图19)或其它日期类型。此外,可以通过用户设置更复杂的域,例如“Owner”和相关条件,来得到想要的预定,如附图20所示。
同步操作
在用户满意了他或她的预先定义和用户定义的预定选择和设置后,用户选择附图8所示的“OK”按钮360,其规定了用户预定302,并且开始了一个同步操作,其中移动计算装置与中央数据存储系统202通信,用户还改变了他或她的预定,由于最后的同步或新数据对于用户的当前预定是可用的。
在中央和移动数据存储系统202和210之间的同步操作过程中,用户预定302被发送到中央数据存储系统202,并且同中央应用程序205读出以确定实体220和相应的元数据216和数据224被发送到移动计算装置206。该数据传输是使用附图2所示的同步装置370执行的。同步装置370包括同步引擎372和374,其配置为在中央和移动数据存储系统202和210之间形成通信连接,并且允许系统200根据公知的方法执行中央和移动数据库218和214之间的同步操作。上述同步操作优选为在该背景中充分地执行,以允许移动计算装置206的用户无干扰地访问并操作应用程序208。
在预定列表276中标识的实体220(包括元数据216)被发送到移动计算装置206,并随后存储在数据存储器214中。优选地,该数据224相应于在用户预定302中标识的实体220,数据224也被发送到移动计算装置206,并且通过数据访问系统230存储在数据存储器214中,作为数据226。应用程序208然后使用包括在数据存储器214中相应发送数据226,提取或增加由定制的元数据实体212所定义的实体222。该增加或提取的实体222可以随后根据表格或由相应元数据212所定义的视图,为用户显示在移动计算装置206上。一个分别地传送定制的元数据216和相应的数据224到移动计算装置206的可选方法是,发送预先构建的表格(增加的实体220)和视图,其相应于用户预定302中标识的定制实体202。
定制方法
上述的本发明的系统可以用来实现一个在移动计算装置206上定制一个软件可实现商务程序的方法。一般来说,系统200可以用于定义预定302到由元数据216所定义的CRM实体220,并且将该实体220上载到由预定302所标识的移动计算装置206。本发明的不同实施例与该方法相关,其中定义了预定302。
根据本发明的一个方面,为用户显示可利用实体220。接下来,选择至少一个可利用实体220,并且将预定302定义为标识所选择的实体。
实体220可以具有一个相关联的邮政区号码。根据本发明的一个方面,定义预定302的步骤包括选择一个邮政区号码,并且定义该预定302为标识与所选择的邮政区号码相关的实体220,参照附图8或9所述。
实体220还可以具有相关联的状态。根据定义预定302的步骤的另一个实施例,选择一个状态,并且定义预定302为标识与所选择的状态相关联的实体220,如参照附图8、10和13所述。
实体220还可以具有一个相关联的日期。根据定义预定302的步骤的另一个实施例,选择日期或日期的范围,并且定义预定302为标识与所选择的日期或在一个日期范围中的日期相关联的实体,如参照附图14和16所述。
实体220还可以与多个种类相关联。根据本发明的另一个实施例,定义预定302的步骤包括显示可利用的实体种类、选择一个种类,并且定义预定302为标识相应于所选择的种类的实体220,如参照附图8所述。该种类可以包括有例如效实体、无效实体、通过邮政区号的实体和通过状态的实体。
此外,实体220可以与一个实体类型相关联。实体类型可以包括例如帐目、接触、机会和活动。根据本发明的一个方面,定义预定302的步骤包括为每个实体类型显示一个或多个种类、为每个实体类型选择一个种类,并且定义预定302为标识相应于所选择种类的实体220,如参照附图8、11、12所述。
上述的多个方法可以由附图2所示的系统200通过执行一个指令而实现,该指令存储在计算机可读媒介中并且可以由微处理器执行。上述指令一般相应于包括预定服务模块300的移动应用程序208。
存储量计算机
分布式商务应用程序通常具有丰富的数据存储器。在很多例子中,用户的单个数据存储器或用户已访问的单个存储器可以在大小上超过十亿字节或更多。数据的体积典型地超过了移动计算装置206的本地存储容量,尤其是移动手机。在绝大多数情况中,用户很难快速地确定他或她可以把多少数据同步到他们的移动计算装置206,以及多大尺寸的数据(通过实体或数据记录)能优先执行一个同步操作。提供上述信息给用户将会有益于防止溢出错误,溢出错误是由试图向移动计算装置206上载的数据大于它的容量所造成的。
本发明的一个方法涉及存储量计算机部件,其通知用户移动计算装置206会剩余的数据存储容量,以便使用户使用相应于用户可定义预定302的商务解决方案数据或实体,升级移动计算装置。存储量计算机一般执行附图21所示的方法。在方法的步骤400,用户以上述的方式初始化定义预定302(附图2)。预定302标识在与中央数据存储系统202同步的操作过程中,要上载到移动计算装置206的实体220,例如上载到移动数据存储器214中。接下来,在步骤402,计算移动计算装置(例如,移动数据存储器214)的剩余数据存储容量。然后在步骤404估计或计算预定数据数量。预定数据的数量对应于一个数据空间的数量,需要该数据空间来存储由预定302标识的实体。最后,在步骤406,预定302数量与剩余数据存储容量作比较。然后使用该比较来估定移动计算装置206的能力,该能力是关于移动计算装置206能否通过接收由预定302所标识的实体220,实现与中央数据存储系统202的一个同步操作。
上述的计算或估计步骤402和404,以及比较步骤406,可以由预定装置应用模块300在例如移动计算装置206中执行,也可以由中央应用程序205在远程系统中执行,或由两者联合执行。
根据本发明的一个实施例,剩余数据存储容量能够用于接收预定数据,估计剩余数据存储容量的步骤402,通过初次确定相应于商务解决方案实体222和相关数据(元数据212和数据226)的数据量,开始一个同步操作,上述商务解决方案实体222和相关数据当前存储在移动计算装置206中。当估计剩余数据存储容量时,优选为不考虑上述实体数据,因为同步操作的执行一般会导致将附加实体或预定数据上载到移动装置206,或将存储在移动装置206中的实体或预定数据移除或替换(升级)。存储在移动装置206中的实体数据的数量可以由移动应用程序208或中央应用程序205保存,作为对象跟踪数据410,存储在移动装置206之外的远程存储器,如附图2所示,或存储在移动装置206。
当实体数据的数量是已知的时,可以通过从存储在移动计算装置206中的数据的全部数量中提取存储在移动计算装置206中的实体数据的数量,来确定存储在移动计算装置206中的非实体数据的数量。然后通过从移动装置206的数据存储容量中提取非实体数据,例如数据存储器214,来估计移动装置206的剩余数据存储容量。
在移动计算装置206的用户继续进行选择新的预定302或调整已有的预定302设置(方面的步骤400)时,可以估计预定数据数量。一般来说,通过将预定302传送到中央商务应用程序205,这样得到了基于那里的预定数据数量,来估计预定数据数量。
如上所述,通过比较预定数据数量和移动装置206的剩余数据存储容量,来评估是否可以开始一个同步操作而没有溢出错误,这样完成了步骤406。方法的该步骤的开始响应于由移动装置206的用户发出的请求,例如通过按下预定设置视图314(附图8)的估计按钮412,或通过执行一个同步命令。可选地,每次用户改变预定302时,在移动计算装置206和中央应用程序205之间进行必要的传送,以更新在同步操作之后移动计算装置206中剩余的估计存储容量,
本发明的另外的实施例涉及为用户显示信息,该信息是关于用当前预定302执行同步操作的能力,以及如果可以执行同步操作,在移动计算装置中会剩余数据存储容量的数量。
根据本发明的一个实施例,在执行了比较步骤406之后,通知用户移动装置206是否具有可以用当前预定302处理同步操作的数据存储容量。以警告消息的方式,或显示同步操作之后移动计算装置206会剩余的数据存储容量,以及通过其它通知方法,将该通知提供给用户。例如,移动计算装置206中的可利用存储量可以用数字表示(例如,425.6MB或70%),也可以用图形表示(条形图、圆形分格图等),或两者的结合,如附图8中的数据计量器414。
还可以提供关于用户预定的特殊实体220的大小的细节。根据本发明的一个实施例,上述细节信息可以由用户通过选择细节按钮416(附图8)来访问,这打开了空间使用细节视图418,如附图22中所示的示例性屏幕截图。空间使用细节视图418优选为通过显示数字表示的值、图形表示或两者的结合,提供给用户在同步操作之后,移动计算装置206会剩余的存储量信息。此外,还可以提供给用户每个实体类型(即,帐目、接触、活动、机会等)的预定的大小的显示,例如帐目实体100MB,如附图8中的预定设置视图314。上述信息提供给用户一个快速认识,即预定数据是如何分配的。可以理解,和数字表示的预定的数据大小相比,往往会使用图形表示。例如,条形图或数据计量器能够为特殊实体预定示出同步操作的数据的全部数量的百分比。
附图23示出了根据本发明的一个实施例,如果用户选择继续进行同步操作,移动计算装置206会剩余的存储容量的估计的显示420。显示420会代替数据计量器414提供在附图8的预定设置视图314中。优选地,显示420提供给用户对于每个实体类型的预定的大小的详细信息,同时还有在同步操作完成后,移动计算装置206会剩余的估计的存储容量。
根据本发明的一个实施例,移动装置206的剩余存储容量估计由完整的条形图422示出。被提议的同步操作的全体数据进一步分成实体类型部分,其大小表示相应数据的数量。附图23所示的例子中,全部条形分成帐目部分424、接触部分426、机会部分428和活动部分430。条形422的每个部分阴影深度不同,以彼此分辨。可选地,全部条形的部分可以使用不同的颜色、标签或其它可分辨特征来彼此分辨。
如果在同步操作后,移动计算装置206会剩余的存储容量的估计(附图21的方法的步骤406)表示,移动计算装置206不具有足够的容量以完成被提议的同步操作,优选为不执行同步操作,并且提醒用户这个问题。此外,可以提供给用户已超出移动计算装置206的存储容量的数量的估计。然后用户有机会调整预定302,直到预定数据的数量减少到移动计算装置206可管理的数量。结果,本发明避免了数据容量溢出,并且消除了多次尝试同步操作的需要。
虽然参照特定实施例描述了本发明,本领域技术人员可以认识到,在不背离本发明的精神和范围的情况下,有可能在形式或细节上作出改变。