信标化时间输入系统的制作方法

文档序号:18748081发布日期:2019-09-24 20:29阅读:197来源:国知局
信标化时间输入系统的制作方法

本发明涉及计算系统,并且更具体而言,涉及信标化时间输入系统(beaconizedtimeentrysystem)。



背景技术:

许多就业场所跟踪雇员的工作时间。用于跟踪雇员工作时间的现有技术处理可以采用手动时间输入系统,其中雇员可以通过由计算机系统提供的用户界面手动输入时间条目。遗憾的是,手动时间输入可能容易出错并且不精确,诸如用户输入错误的时间条目数据或忘记输入时间条目数据。其它现有技术处理可以利用射频识别(rfid)系统来控制建筑物中不同位置的雇员的安全访问。具体而言,雇员被要求携带rfid标签,该rfid标签在用户试图通过工作场所中的安全点时被扫描。因为使用单个扫描仪来识别rfid标签,所以rfid系统无法确定该雇员是进入还是离开工作处所,而仅仅是扫描了rfid标签。因此,用于跟踪雇员工作时间的现有技术处理遭受容易出错、不精确和/或要求雇员携带附加rfid标签的技术问题。



技术实现要素:

在一方面,本公开公开了一种存储计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由计算设备的处理器执行时使得处理器:控制计算设备的无线接收器监听由位于工作场所的不同位置的信标设备发送的信标信号;响应于由无线接收器从位于工作场所的第一信标设备接收到第一信标信号:(i)解析第一信标信号,以识别第一信标设备的第一信标标识符;以及(ii)使用第一信标标识符查询将信标标识符映射到对应信标设备的位置的数据结构,以确定第一信标设备的第一位置;响应于由无线接收器从位于工作场所的第二信标设备接收到第二信标信号:(i)解析第二信标信号,以识别第二信标设备的第二信标标识符;以及(ii)使用第二信标标识符查询所述数据结构,以确定第二信标设备的第二位置;基于相对于第二位置的第一位置以及接收到第一信标信号和第二信标信号的顺序,确定计算设备是进入了工作场所还是离开了工作场所;以及通过网络将时间输入命令发送到远程计算系统,用于基于时间输入命令为计算设备的用户创建时间条目,其中时间输入命令指示用户是进入了工作场所开始工作还是离开了工作场所停止工作。

附图说明

结合在本说明书中并构成其一部分的附图图示了本公开的各种系统、方法和其它实施例。将认识到的是,图中所图示的元件边界(例如,方框、方框的组,或者其它形状)表示边界的一个实施例。在一些实施例中,一个元件可以被实现为多个元件,或者多个元件可以被实现为一个元件。在一些实施例中,示为另一个元件的内部部件的元件可以被实现为外部部件,并且反之亦然。此外,元件可能不是按比例绘制的。

图1图示了与信标化时间输入相关联的系统的实施例。

图2图示了与信标化时间输入相关联的方法的实施例。

图3a图示了与信标化时间输入相关联的系统的实施例,其中计算设备从第一信标接收信标信号。

图3b图示了与信标化时间输入相关联的系统的实施例,其中计算设备从第二信标接收信标信号。

图3c图示了与信标化时间输入相关联的系统的实施例。

图3d图示了与信标化时间输入相关联的系统的实施例,其中计算设备从第二信标接收信标信号。

图3e图示了与信标化时间输入相关联的系统的实施例,其中计算设备从第一信标接收信标信号。

图4图示了非瞬态计算机可读介质的实施例。

图5图示了配置有所公开的示例系统和/或方法的计算系统的实施例。

图6图示了在其中可以实现本发明的实施例的集成业务系统和企业网络的实施例。

图7图示了多租户分布式计算服务平台的实施例。

具体实施方式

本文描述了提供信标化时间输入的计算机化系统和方法。具体而言,采用启用信标的系统来确定用户何时进入工作场所以开始工作以及何时用户离开工作场所以停止工作。启用信标的系统通过设置位于工作场所的不同位置的信标设备来改进用于跟踪雇员工作时间的现有技术处理。信标设备被配置为发送由计算设备(诸如雇员的移动电话)接收和评估的信标信号,以确定计算设备是进入了工作场所还是离开了工作场所。以这种方式,计算设备可以将时间条目数据发送到远程计算系统(诸如企业资源规划(erp)系统),用于跟踪计算设备的用户何时进入工作场所以开始工作以及离开工作场所以停止工作。因此,这种信标系统通过解决与时间条目的手动输入的错误、用户忘记输入时间条目的时间条目不精确性、以及要求雇员携带附加的rfid标签相关的技术问题来改进用于跟踪雇员工作时间的现有技术处理。

参考图1,图示了与信标化时间输入相关联的系统100的一个实施例。系统100可以被实现为托管在计算设备110(诸如移动电话、平板电脑、膝上型电脑、可穿戴设备或诸如图5的计算机515之类的任何其它计算机)上的通信模块105。系统100被配置为与放置在工作场所115(诸如办公楼、仓库、零售商店、建筑工地、装备、车辆或雇员可以执行工作的任何其它室内或室外位置)周围的不同位置处的信标设备一起操作。信标设备包括能够发射信标信号的发送器硬件,该信标信号可以由诸如计算设备110之类的其它计算设备检测。信标设备可以发送信标信号,该信标信号递送基于接近度和环境感知的消息,该基于接近度和环境感知的消息可以被接收设备用来识别信标设备并确定它们与信标设备的接近度。因此,当计算设备110足够接近信标设备时,计算设备110可以“看到”信标设备,以接收从信标设备发送的信标信号。信标设备可以被配置为重复发送信标信号,使得计算设备110可以在计算设备110在工作场所115附近移动时实时地检测信标设备。在一个实施例中,信标设备可以利用蓝牙技术来发送信标信号,使得具有蓝牙功能的任何计算设备都可以接收信标信号。

在一个实施例中,计算设备110上的应用实现用于与启用信标的系统进行通信的通信模块105。通信模块105被配置为控制计算设备110的无线接收器,以监听由位于工作场所115的信标设备发送的信标信号。在一个实施例中,无线接收器是蓝牙收发器。在工作场所115,信标设备120定位在工作场所115的第一位置处。在一个实施例中,信标设备120安装在工作场所115的入口150处,例如在入口150外部的方位处的墙上或天花板上。信标设备120被配置为发射信标信号125,信标信号125可以包括标识信标设备120的字符序列或其它数据。在一个实施例中,信标信号125被编码为具有包括信标设备120的第一信标标识符的第一部分数据、包括工作场所115的场所标识符的第二部分数据和/或可以用于确定计算设备110是已经进入了还是离开了工作场所115的其它信息。

第二信标设备130相对于工作场所115定位在第二位置处。在一个实施例中,信标设备130安装在工作场所115的入口150处,例如安装在偏离第一信标设备120的方位处的墙上或天花板上(例如,在入口150的内部)。信标设备130被配置为发射信标信号135,信标信号135可以包括字符序列或其它数据。信标信号135被编码为具有、包括信标设备130的第二信标标识符的第一部分、包括工作场所115的场所标识符的第二部分、和/或可以用于确定计算设备110是进入了还是离开了工作场所115的其它信息。

信标设备120和信标设备130相对于彼此定位,使得计算设备110的通信模块105将顺序地检测到不同的信标信号。检测信标设备的次序确定工作人员正在行进的方向,该方向是进入或离开入口150。在一个实施例中,当计算设备110(通过携带计算机设备110的工作人员)进入工作场所115时,通信模块105通过无线接收器将首先接收和检测到由信标设备120发射的信标信号125。通信模块105基于接收到信标信号125而确定计算设备110在信标设备120的通信范围内。随着计算设备通过入口150进入工作场所115,通信模块105接下来将通过无线接收器接收和检测到由第二信标设备130发射的信标信号135。通信模块105基于接收到信标信号135而确定计算设备110在信标设备130的通信范围内。

通信模块105可以使用信标标识符来查询诸如表之类的数据结构,以识别信标设备相对于彼此和工作场所115的位置。通信模块105基于检测不同信标信号的顺序以及信标设备120相对于信标设备130相对于工作场所115(诸如入口150)的第二位置的第一位置来确定计算设备110是进入了工作场所115还是离开了工作场所115。在一个实施例中,通信模块105确定计算设备110进入了工作场所115,因为来自信标设备120的信标信号125在来自信标设备130的信标信号135之前被检测到并且因为信标设备120定位在入口150的外部并且信标设备130定位在入口150的内部。类似地,在来自信标设备120的信标信号125在来自信标设备130的信标信号135之后被检测到并且因为信标设备120定位在入口150的外部并且信标设备130定位在入口150的内部的情况下,通信模块105将确定计算设备110离开了工作场所115。

在确定计算设备110进入了工作场所115时,通信模块105通过网络将第一时间输入命令发送到远程计算系统140(诸如erp系统),以更新用户时间条目数据145。时间输入命令可以包括各种信息,诸如计算设备110进入工作场所115的时间、计算设备110的标识符、指派给计算设备110的雇员的雇员标识符等。例如,该命令使计算系统140在用户时间条目数据145中为工作人员生成表示工作开始时间的时间条目。

类似地,在确定计算设备110离开了工作场所115时,通信模块105通过网络将第二时间输入命令发送到远程计算系统140,以更新用户时间条目数据145。例如,第二时间输入命令指示工作人员离开了工作场所并因此停止工作。例如,该命令使计算系统140在用户时间条目数据145中为工作人员生成表示工作停止时间的时间条目。在任何给定的一天期间,工作人员可以多次进入和离开工作场所115。因此,本系统可以使用与信标设备120、130一起操作的电子系统来跟踪工作人员的物理存在,并且可以记录不依赖于手动输入数据的更准确的工作开始和停止时间。

以这种方式,通过使用启用信标的系统和通信模块105来确定雇员何时进入和离开工作场所,来改进用于跟踪雇员工作时间的现有技术处理。基于工作人员(和他/她的计算设备)相对于信标设备120、130的物理存在来控制和生成开始时间条目和停止时间条目,这产生更准确的工作数据。然后,本系统可以避免或减少对手动输入开始和停止时间的依赖,开始和停止时间的手动输入容易出错和/或易受有意的错误信息的影响。

参考图2,图示了与启用信标的时间输入相关联的计算机实现方法200的一个实施例。在一个实施例中,方法200由通信模块105利用计算机515或其它计算机的各种计算资源(诸如处理器520)执行,用于执行与控制无线接收器、评估信标信号和发送时间输入命令相关联的指令。存储器535和/或盘555用于存储信标设备数据和/或其它数据的数据结构。网络硬件用于通过网络在计算机515和远程计算机之间传送时间输入命令和/或其它数据,诸如用于将时间输入命令发送到远程erp系统。在计算设备110上执行实现通信模块105的应用时,触发方法200。

如图3a的示例系统300所示,在工作场所115处采用启用信标的系统。在一个实施例中,工作场所115包括建筑物。在另一个实施例中,工作场所115包括建筑物内的房间,诸如雇员的办公室。在另一个实施例中,工作场所包括公司车辆或其它公司装备。以这种方式,可以将启用信标的系统部署到各种室内位置、室外位置和/或诸如车辆之类的物体,以跟踪雇员工作时间。启用信标的系统可以包括单个信标设备、两个信标设备或任何其它数量的信标设备。信标设备可以定位在工作场所115的各个位置,诸如靠近建筑物的入口、雇员办公室的入口、公司车辆内等。信标设备可以是独立的、附接到或安装在墙壁或结构内、实现为独立设备、结合到另一个设备中、附接到或安装在公司资产或其它物体内等。

在启用信标的系统的一个实施例中,信标设备120定位在第一位置,诸如在雇员办公室的入口外。信标设备130定位在第二位置,诸如雇员办公室内并且靠近入口。信标设备120和信标设备130可以定位在任何位置,使得从一个信标设备发射的信标信号将在从另一个信标设备发射的信标信号之前或之后被通信模块105检测到。例如,两个信标设备可以接连地定位在雇员办公室的入口内。以这种方式,通信模块105可以使用检测到信标信号的顺序来确定计算设备110是进入了雇员办公室还是离开了雇员办公室。

在一个实施例中,信标设备彼此相距一定距离定位,使得信标信号125和信标信号135不会造成干扰。在另一个实施例中,信标设备彼此相距一定距离定位,使得信标信号125和信标信号135二者不会被通信模块105同时检测到。在另一个实施例中,信标设备彼此相距一定距离定位,使得当计算设备110处于某些位置(诸如信标设备之间)时,可以同时检测到信标信号125和信标信号135。在一个实施例中,信标信号125和信标信号135的信号强度被配置为使得信标信号125和信标信号135不造成干扰。

信标设备120被配置为发射被编码为具有信标设备120的第一信标标识符和工作场所115的场所标识符的信标信号125。信标设备130被配置为发射被编码为具有信标设备130的第二信标标识符和工作场所115的场所标识符的信标信号135。可以创建数据结构并用将信标标识符映射到信标的位置的信息和/或其它信息来填充该数据结构。以这种方式,通信模块105可以使用信标标识符来查询数据结构,以确定什么对应信标设备在附近以及该信标设备的位置。

在205处,通信模块105控制计算设备110的无线接收器,以监听由位于工作场所115的不同位置处的信标设备发送的信标信号。在一个实施例中,通信模块105(诸如在计算设备110上执行的应用)使用安装在计算设备110的操作系统内的蓝牙驱动程序访问和控制计算设备110的蓝牙接收器。蓝牙驱动程序的命令和功能可以被通信模块105用来获得蓝牙接收器接收的信标信号。以这种方式,通信模块105控制无线接收器,以接收信标信号并向通信模块105提供对接收到的信标信号的访问。

携带计算设备110的雇员可以走向雇员办公室的入口,如图3a所示。当计算设备110进入信标设备120的通信范围内时,通信模块105接收从信标设备120发射的信标信号125。在210处,通信模块105解析信标信号125,以识别信标设备120的第一信标标识符125。在一个实施例中,信标信号125作为可以使用解析功能解析的字符序列或其它数据被接收。解析字符序列的第一部分,以识别信标设备120的第一信标标识符。解析字符序列的第二部分,以识别工作场所115的场所标识符。

在215处,通信模块105使用第一信标标识符来查询将信标标识符映射到对应信标设备的位置的数据结构,以确定信标设备120的第一位置。在一个实施例中,第一信标标识符在数据结构内映射到第一位置,该第一位置指定信标设备120位于工作场所115的入口之外。

数据结构可以指定用于第一信标标识符的其它信息,诸如以下指示:如果来自信标设备120的信标信号125在信标设备130的信标信号135之前被检测到那么计算设备110正在进入工作场所115。数据结构还可以将场所标识符映射到工作场所。因此,通信模块105可以使用场所标识符来查询数据结构,以确定雇员位于工作场所115处。

通信模块105还可以使用雇员的雇员标识符来查询数据结构,以确定雇员是否在工作场所115工作。以这种方式,通信模块105可以确定计算设备110正在进入/离开工作场所115以使用户开始工作或停止工作,而不是仅仅进入雇员不在其处工作的另一个工作场所(因此不应当记录工作时间条目)。通信模块105可以存储在特定时间点检测到具有第一信标标识符并且位于第一位置的信标设备120的第一条目305。

雇员可以通过入口进入雇员的办公室,如图3b所示。当计算设备110进入信标设备130的通信范围内时,通信模块105接收从信标设备130发射的信标信号135。在一个实施例中,通信模块105可以不再从信标设备120接收信标信号125,因为计算设备110不在信标设备120的通信范围内。在220处,通信模块105解析信标信号135,以识别信标设备130的第二信标标识符。在一个实施例中,信标信号135作为可以使用解析功能解析的字符序列或其它数据被接收。解析字符序列的第一部分,以识别信标设备130的第二信标标识符。解析字符序列的第二部分,以识别工作场所115的场所标识符。

在225处,通信模块105使用第二信标标识符来查询将信标标识符映射到对应信标设备的位置的数据结构,以确定信标设备130的第二位置。在一个实施例中,第二信标标识符在数据结构内映射到第二位置,该第二位置指定信标设备130位于工作场所115的入口内。数据结构可以指定用于第二信标标识符的其它信息,诸如以下指示:如果来自信标设备130的信标信号135在信标设备120的信标信号125之后被检测到那么计算设备110正在进入工作场所115。数据结构还可以将场所标识符映射到工作场所。因此,通信模块105可以使用场所标识符来查询数据结构,以确定雇员位于工作场所115处。

通信模块105还可以使用雇员的雇员标识符来查询数据结构,以确定雇员是否在工作场所115工作。以这种方式,通信模块105可以确定计算设备110正在进入/离开工作场所115以使用户开始工作或停止工作,而不是仅仅进入雇员不在其处工作的另一个工作场所(因此不应当记录工作时间条目)。通信模块105可以存储在检测到来自信标设备120的信标信号125之后的特定时间点检测到具有第二信标标识符并且位于第二位置的信标设备130的第二条目310。

在230处,通信模块105评估第一条目305和第二条目310以确定计算设备110是进入了工作场所115还是离开了工作场所115。具体而言,通信模块105基于检测到信标信号125和信标信号135的顺序确定遇到信标设备的顺列。在一个实施例中,第一条目305指示在第一时间检测到由信标设备120发射的信标信号125。第二条目310指示在第一时间之后的第二时间检测到由信标设备130发射的信标信号135。因此,通信模块105确定在信标设备130之前遇到了信标设备120。

通信模块105相对于信标设备130的第二位置评估信标设备120第一位置。在一个实施例中,通信模块105评估第一条目305和第二条目310内的位置信息,以确定信标设备120位于工作场所115的入口之外,并且信标设备130位于工作场所115的入口内。以这种方式,通信模块105可以确定计算设备110进入了工作场所115开始工作,因为在信标设备130之前遇到了信标设备120。

通信模块105基于确定计算设备110进入了工作场所115来创建时间输入命令315。在一个实施例中,仅在计算设备110保持在工作场所115内达到指示雇员执行工作的阈值时间量(例如,与仅仅顺路来拿夹克或做其它非相关工作任务相反)的情况下才创建时间输入命令315。通信模块105创建时间输入命令315,作为指示远程计算系统140(诸如erp系统)在用户时间条目数据145内为雇员创建时间条目的指令。时间输入命令315可以包括雇员的雇员标识符、工作场所115的场所标识符,以及计算设备110进入工作场所115的时间。该时间可以与检测到信标信号125的时间、检测到信标信号135的时间或者从信标设备检测到信标信号的时间导出的某个其它时间对应。

在235处,通信模块105通过诸如无线网络之类的网络将时间输入命令发送到远程计算系统140,用于在用户时间条目数据145内为雇员创建指示雇员进入了工作场所115开始工作的时间条目。在一个实施例中,通信模块105调用代表性状态转移(rest)应用编程接口(api)以将时间输入命令发送到erp系统。

如图3c所示,雇员可以留在雇员的办公室内工作4小时,然后离开雇员的办公室去吃午餐。雇员在携带计算设备110的同时可以朝雇员办公室的入口移动,以便离开雇员的办公室去吃午餐,如图3d所示。当计算设备110进入信标设备130的通信范围内时,通信模块105从信标设备130接收信标信号135。

通信模块105解析信标信号135,以识别信标设备130的第二信标标识符和工作场所115的场所标识符。通信模块105使用第二信标标识符查询数据结构,以确定计算设备110已经进入定位在工作场所115的入口内的第二位置处的信标设备130的通信范围内。因而,通信模块105创建第三条目320,第三条目320指定计算设备110在第三时间遇到在第二位置处的信标设备130。

如图3e所示,雇员可以穿过入口并走出雇员办公室。当计算设备110进入信标设备120的通信范围内时,通信模块105从信标设备120接收信标信号125。通信模块105解析信标信号125,以识别信标设备120的第一信标标识符和工作场所115的场所标识符。通信模块105使用第一信标标识符查询数据结构,以确定计算设备110已进入定位在工作场所115的入口外的第一位置处的信标设备120的通信范围内。因而,通信模块105创建第四条目325,第四条目325指定计算设备110在第四时间遇到在第二位置处的信标设备130。

通信模块105基于确定计算设备110离开了工作场所115而创建第二时间输入命令330。在一个实施例中,仅在计算设备110保持在工作场所115内达到指示雇员执行工作的阈值时间量的情况下才创建第二时间输入命令330。通信模块105创建第二时间输入命令330,作为指示远程计算系统140(诸如erp系统)在用户时间条目数据145内为雇员创建第二时间条目的指令。第二时间输入命令330可以包括雇员的雇员标识符、工作场所115的场所标识符,以及计算设备110离开工作场所115的时间。该时间可以与检测到信标信号125的时间、检测到信标信号135的时间、或者从信标设备检测到信标信号的时间导出的某个其它时间对应。

在信标化时间输入的一个实施例中,通信模块105不在计算设备110每次进入或离开工作场所115时发送单独的时间输入命令。相反,通信模块105创建本地地存储在计算设备110上的时间条目,直到触发事件使得通信模块105将时间条目和/或工作的总小时数发送到远程计算系统140。例如,通信模块105在工作时段期间(诸如雇员的工作日或工作周)从多个信标设备接收多个信标信号。触发事件可以是当前时间与工作日或周或其它时间跨度的末尾对应。触发事件可以与其它触发对应,诸如计算设备110的当前位置(例如,计算设备在雇员的家)、接收到从远程计算设备140接收的对时间条目数据的请求等。通信模块105在存储在计算设备110的存储设备内的数据结构内创建多个时间条目。这多个时间条目指定雇员在工作时段期间进入工作场所115开始工作和在工作时段期间离开工作场所115停止工作的时间。

通信模块105处理数据结构以分析时间条目,以计算用户在工作时段期间在工作场所115工作的总工作小时数。例如,可以将总工作小时数计算为用户进入工作场所115的时间条目与用户离开工作场所115的对应后续时间条目之间的时间的总和。通信模块105通过网络向远程计算系统140发送总工作小时数,用于在用户时间条目数据145内记录用户的工作时间段条目。通信模块105还可以将各个时间条目发送到远程计算系统140。模块105可以通过计算设备110的显示器呈现总工作小时数和/或时间条目。

在信标化时间输入的一个实施例中,通信模块105可以基于计算设备110是进入了还是离开了工作场所115来在计算设备110的显示器上呈现各种消息和/或信息。在一个实施例中,通信模块105确定计算设备110进入了工作场所115。因而,通信模块105查询erp系统以识别用户要在工作场所执行的任务,诸如修理膝上型计算机。以这种方式,通信模块105在计算设备110的显示器上呈现任务的描述。

在另一个实施例中,通信模块105确定计算设备110进入了工作场所115。因而,通信模块105查询消息的消息数据结构,以识别映射到进入工作事件的消息(例如,“早上好”、“欢迎吃完午餐回来”,等等)。以这种方式,通信模块105在计算设备110的显示器上呈现该消息。

在另一个实施例中,通信模块105确定计算设备110离开了工作场所115。因而,通信模块105查询消息的消息数据结构,以识别映射到离开工作事件的消息(例如,“安全到家”、“享受你的晚上”,等等)。以这种方式,通信模块105在计算设备110的显示器上呈现该消息。

在另一个实施例中,通信模块105识别当前日期。因而,通信模块105评估可以由erp系统维护的雇员的用户简档,以针对当前日期识别与用户关联的事件。该事件可以对应于指派给用户的任务、庆祝活动、工作周年纪念日、生日事件、同事的生日、工作中的食物日(foodday)、工作中的便装日或者与该雇员、工作场所,其他雇员等相关的任何其它事件。使用该事件来查询消息数据结构,以识别映射到事件的消息。以这种方式,通信模块105在计算设备110的显示器上呈现消息。类似地,通信模块105可以查询erp系统以识别在工作场所115发生的事件,诸如访客访问、项目会议、计划的消防演习等。通信模块105在计算设备110的显示器上呈现关于事件的信息。

在另一个实施例中,通信模块105确定计算设备110离开了工作场所115并且当前时间是雇员的午餐时间。因而,通信模块105查询消息的消息数据结构,以识别映射到午餐餐厅建议的消息。以这种方式,通信模块105在计算设备110的显示器上呈现午餐餐厅建议。

在另一个实施例中,通信模块105确定计算设备110离开了工作场所。因而,通信模块105查询用户简档,以识别用户的家的位置。通信模块105查询交通服务,以识别与用户到家位置的通勤相关联的交通信息。以这种方式,通信模块105在计算设备110的显示器上呈现交通信息。响应于确定计算设备110离开了工作场所115,通信模块105还可以呈现填充有交通信息和从工作场所115到家位置的路线的地图用户界面。

图4是涉及示例非瞬态计算机可读介质405的场景400的图示。在一个实施例中,本文所述的部件中的一个或多个被配置为存储在非瞬态计算机可读介质405中的程序模块,诸如通信模块105。程序模块配置有存储的指令,诸如处理器可执行指令420,这些指令当由至少一个处理器(诸如处理器440)执行时,使计算设备执行如本文所述的(一个或多个)对应功能。在一个实施例中,存储在非瞬态计算机可读介质405中的通信模块405的功能可以作为处理器可执行指令420由处理器440执行,以执行图2的方法200的实施例425。

非瞬态计算机可读介质405包括处理器可执行指令420,这些指令在由处理器440执行时使得执行本文中的至少一些规定(provision)。非瞬态计算机可读介质405包括存储器半导体(例如,利用静态随机存取存储器(sram)、动态随机存取存储器(dram)和/或同步动态随机存取存储器(sdram)技术的半导体)、硬盘驱动器的盘片、闪存设备或者磁盘或光盘(诸如紧凑盘(cd)、数字通用盘(dvd)或软盘)。示例非瞬态计算机可读介质405存储计算机可读数据410,当数据由设备430的读取器435(例如,硬盘驱动器的读取头或在固态存储设备上调用的读取操作)读取415时,表达处理器可执行指令420。

在一些实施例中,处理器可执行指令420在被执行时使得操作被执行,例如诸如图2的示例方法200的至少一些。在一些实施例中,处理器可执行指令420被配置为使得系统被实现,例如诸如图1的示例系统100中的至少一些。

图5图示了利用本文所述的示例系统和方法中的一个或多个和/或等同物来配置和/或编程的示例计算设备500。示例计算设备500可以是计算机515,计算机515包括通过总线525可操作地连接的处理器520、存储器535和i/o端口545。在一个实施例中,计算机515可以包括被配置为促进图1-2中所示的系统100和/或方法200的通信模块105的逻辑。在不同的实施例中,通信模块105的逻辑可以用硬件、具有存储的指令的非瞬态计算机可读介质505、固件和/或其组合来实现。虽然通信模块105的逻辑被示为附接到总线525的硬件部件,但是应当认识到的是,在其它实施例中,通信模块105的逻辑可以在处理器520中实现、存储在存储器535中、或存储在盘555中。

在一个实施例中,通信模块105或计算机515的逻辑是用于执行所描述的动作的部件(例如,结构:硬件、非瞬态计算机可读介质、固件)。在一些实施例中,计算设备可以是在云计算系统中操作的服务器、以软件即服务(saas)体系架构配置的服务器、智能电话、笔记本电脑、平板计算设备等。

例如,这些部件可以被实现为专用集成电路(asic),其被编程为实现用于分配的基于规则的源序列。这些部件还可以被实现为存储的计算机可执行指令,其作为数据510呈现给计算机515,数据510临时存储在存储器535中,然后由处理器520执行。

通信模块105的逻辑还可以提供用于执行基于规则的源序列以进行分配的部件(例如,硬件、存储可执行指令的非瞬态计算机可读介质505、固件)。

一般性地描述计算机515的示例配置,处理器520可以是各种处理器,包括双微处理器和其它多处理器体系架构。存储器535可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如只读存储器(rom)、可编程只读存储器(prom)等。易失性存储器可以包括例如随机存取存储器(ram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)等。

盘555可以经由例如i/o接口540(例如,卡、设备)和i/o端口545可操作地连接到计算机515。盘555可以是例如磁盘驱动器、固态盘驱动器、软盘驱动器、带驱动器、zip驱动器、闪存卡、记忆棒等。此外,盘555可以是cd-rom驱动器、cd-r驱动器、cd-rw驱动器、dvdrom等。例如,存储器535可以在诸如非瞬态计算机可读介质505内存储处理,和/或数据510。盘555和/或存储器535可以存储控制和分配计算机515的资源的操作系统。

计算机515可以经由i/o接口540和i/o端口545与输入/输出(i/o)设备交互。i/o设备可以是例如键盘、麦克风、定点和选择设备、相机、视频卡、显示器、盘555、网络设备550等。i/o端口545可以包括例如串行端口、并行端口和usb端口。i/o控制器530可以将i/o接口540连接到总线525。

计算机515可以在网络环境中操作,因此可以经由i/o接口540和/或i/o端口545连接到网络设备550。通过网络设备550,计算机515可以与网络交互。通过网络,计算机515可以在逻辑上连接到远程计算机(例如,计算机515可以驻留在客户端可以连接到的分布式计算环境中)。计算机515可以与之交互的网络包括但不限于局域网(lan)、新区域网络(wan)和其它网络。

图6是图示可以在其中实现本发明的实施例的系统600的图。企业网络604可以与业务企业(诸如零售商、商家、服务提供商或其它类型的业务)相关联。可替代地,并且根据应用服务提供商(asp)托管的集成业务系统(诸如多租户数据处理平台)的优点,业务企业可以包括更少或不包括专用设施或业务网络,只要其最终用户可以访问互联网浏览器并且具有互联网连接。

为了解释的简化和清楚,企业网络604由多个个人计算机608连接到的现场局域网606以及示例性远程用户计算机610表示,其中每个个人计算机608一般专用于特定的最终用户,诸如服务代理或其他雇员(虽然不需要这种专用性),示例性远程用户计算机610可以是例如通过公共wi-fi接入点或其它互联网接入方法可以访问互联网的旅行雇员的膝上型计算机或平板计算机。与计算机608和610相关联的最终用户(消费者)可以拥有启用互联网的智能电话或者具有无线互联网访问或其它同步能力的其它电子设备(诸如pda、平板电脑、膝上型计算机)。企业网络604的用户跨互联网612或另一个合适的通信网络或网络的组合与集成业务系统602接口。

可以由专用的第三方托管的集成业务系统602可以包括如图6所示耦合的集成业务服务器614和web接口服务器616。应当认识到的是,即使在图6中表示为单个单元,集成业务服务器614和web接口服务器616中的任一个或两者可以在一个或多个不同的硬件系统和部件上实现。

在系统602由第三方操作以利用多个账户所有者/租户(其中每个所有者/租户在运营业务)的益处的典型示例中,集成业务服务器614包括erp模块618并且还包括crm模块620。在许多情况下,期望erp模块618与crm模块620共享方法、库、数据库、子例程、变量等,并且实际上erp模块618可以与crm模块620交织成集成业务数据处理平台(其可以是单租户的,但通常是多租户的)。

erp模块618可以包括但不限于财务和会计模块、订单处理模块、时间和计费模块、库存管理和分销模块、雇员管理和工资单模块、日历和协作模块、报告和通信模块,以及其它与erp相关的模块。

crm模块620可以包括但不限于销售人员自动化(sfa)模块、营销自动化模块、联系人列表模块(未示出)、呼叫中心支持模块、基于web的客户支持模块、报告和通信模块,以及其它与crm相关的模块。

集成业务服务器614(或多租户数据处理平台)还可以提供其它业务功能,包括web商店/电子商务模块622、合作伙伴和供应商管理模块624,以及集成报告模块630。scm(供应链管理)模块626和plm(产品生命周期管理)模块628也可以被提供。web接口服务器616被配置为并适于与集成业务服务器614接口,以向企业网络604的最终用户提供一个或多个基于web的用户接口。

图6中所示的集成业务系统可以托管在由至少一个但可能是多个“服务器”组成的分布式计算系统上。服务器是专用于为一个或多个软件应用或服务提供数据存储和执行环境的物理计算机,旨在服务于例如经由诸如互联网或私人“内联网”网络之类的公共网络与服务器进行数据通信的其它计算机的用户的需求。服务器及其提供的服务可以被称为“主机”,并且被服务的远程计算机和在远程计算机上运行的软件应用可以被称为“客户端”。取决于服务器提供的(一个或多个)计算服务,它可以被称为数据库服务器、数据存储服务器、文件服务器、邮件服务器、打印服务器、web服务器等。web服务器最经常的是硬件和软件的组合,其有助于通常通过托管网站向经由互联网访问web服务器的客户端web浏览器提供内容。

图7是图示在其中可以实现本发明的实施例的示例操作环境700的元件或部件的图。如图所示,结合和/或结合到各种计算设备中的各种客户端702可以通过一个或多个网络714与分布式计算服务/平台708通信。例如,客户端可以结合和/或结合到至少部分地由一个或多个计算设备实现的客户端应用(例如,软件)中。

合适的计算设备的示例包括个人计算机、服务器计算机704、台式计算机706、膝上型计算机708、笔记本计算机、平板计算机或个人数字助理(pda)710、智能电话712、蜂窝电话,以及结合一个或多个计算设备部件(诸如一个或多个电子处理器、微处理器、中央处理单元(cpu)或控制器)的消费电子设备。合适的网络714的示例包括利用有线和/或无线通信技术的网络以及根据任何合适的网络和/或通信协议操作的网络(例如,互联网)。在涉及递送客户支持服务的用例中,所提到的计算设备表示客户支持递送处理的端点,即,消费者的设备。

分布式计算服务/平台(也可以称为多租户业务数据处理平台)708可以包括多个处理层,包括用户界面层716、应用服务器层720和数据存储层724。用户界面层716可以维护多个用户界面718,包括图形用户界面和/或基于web的界面。用户界面可以包括用于为服务的用户或“租户”提供对应用和数据的访问(在图中描绘为“服务ui”)的针对服务的缺省用户界面,以及已经根据用户的具体要求进行专门化/定制的一个或多个用户界面(例如,在图中由“租户aui”,......,“租户zui”表示,并且可以经由一个或多个api访问)。

缺省用户界面可以包括使租户能够管理租户参与由服务平台提供的功能和能力(诸如访问数据、导致执行具体的数据处理操作等)的部件。图中所示的每个处理层可以用一组计算机和/或包括计算机服务器和处理器的计算机部件来实现,并且可以执行由执行软件应用或指令集所确定的各种功能、方法、处理或操作。数据存储层724可以包括一个或多个数据存储库,其可以包括服务数据存储库725和一个或多个租户数据存储库726。

每个租户数据存储库726可以包含特定于租户的数据,该数据被用作提供一系列特定于租户的业务服务或功能的一部分,包括但不限于erp、crm、电子商务、人力资源管理、工资单等。数据存储库可以用任何合适的数据存储技术实现,包括基于结构化查询语言(sql)的关系数据库管理系统(rdbms)。

根据本发明的一个实施例,分布式计算服务/平台708可以是多租户的,并且服务平台708可以由实体操作,以便为多个租户提供一组业务相关的应用、数据存储和功能。这些应用和功能可以包括企业用于管理其操作的各个方面的应用和功能。例如,应用和功能可以包括提供对业务信息系统的基于web的访问,从而允许具有浏览器和互联网或内联网连接的用户查看、输入、处理或修改某些类型的业务信息。

如上所述,这样的业务信息系统可以包括企业资源规划(erp)系统,erp系统将若干历史上独立的业务计算系统的能力集成到共同的系统中,目的是简化业务处理并在业务范围水平提高效率。例如,erp系统的能力或模块可以包括(但不要求包括,也不限于仅包括):会计、订单处理、时间和计费、库存管理、零售销售点(pos)系统、电子商务、产品信息管理(pim)、需求/物料需求计划(mrp)、采购、内容管理系统(cms)、专业服务自动化(psa)、雇员管理/工资单、人力资源管理以及雇员日历和协作,以及与这些功能相关的报告和分析功能。这些功能或业务应用通常由软件代码/指令的一个或多个模块实现,这些模块由作为平台的应用服务器层720的一部分的一个或多个服务器722维护和执行。

可以作为集成数据处理和服务平台的一部分提供的另一个业务信息系统是集成客户关系管理(crm)系统,其被设计为协助更好地理解客户、增强对现有客户的服务,并协助获得新的和有利可图的客户。例如,crm系统的能力或模块可以包括(但不要求包括,也不限于仅包括):销售人员自动化(sfa)、营销自动化、联系人列表、呼叫中心支持、退货管理授权(rma)、忠诚度计划支持和基于web的客户支持,以及与这些功能相关的报告和分析功能。

除了erp和crm功能之外,业务信息系统/平台(诸如图7的元素708)还可以包括以下当中的一个或多个:集成合作伙伴和供应商管理系统、电子商务系统(例如,虚拟店面应用或平台)、产品生命周期管理(plm)系统、人力资源管理系统(其可以包括医疗/牙科保险管理、工资单等)或供应链管理(scm)系统。这些功能或商业应用通常由软件代码/指令的一个或多个模块实现,这些模块由作为平台的应用服务器层720的一部分的一个或多个服务器722维护和执行。

要注意的是,可以通过使用包括erp、crm和其它业务能力的集成业务系统来获得功能优势和战略优势,例如,其中集成业务系统与商家的电子商务平台和/或“网络商店”集成。例如,搜索特定产品的客户可以被指引到商家的网站,并且可以从他们的家用计算机,甚至他们的移动电话中获得各种产品和/或服务。当客户经由基于浏览器的界面发起在线销售交易时,集成业务系统可以处理订单、更新应收账款、更新库存数据库和其它基于erp的系统,并且还可以自动更新战略客户信息数据库和其它基于crm的系统。这些模块及其它应用和功能可以有利地在必要时由访问一个或多个集成数据库的单个代码库集成和执行,从而形成集成业务管理系统或平台(诸如图7的平台708)。

如关于图6所指出的,图7中所示的集成业务系统可以托管在由至少一个但通常是多个“服务器”组成的分布式计算系统上。服务器是专用于为一个或多个软件应用或服务提供数据存储和执行环境的物理计算机,旨在满足例如经由诸如互联网之类的公共网络或私有“内联网”网络与服务器进行数据通信的其它计算机用户的需求。

企业可以利用由第三方提供的系统,而不是自己构建和维护这样的集成业务系统。这种第三方可以在多租户平台的上下文中实现如上所述的集成业务系统/平台,在多租户平台的上下文中,单个综合的集成业务系统的各个实例被提供给各个租户。这种多租户平台的一个优点是每个租户能够根据该租户的具体业务需求或操作方法来定制他们的集成业务系统的实例。每个租户可以是使用多租户平台向多个用户提供业务数据和功能的企业或实体。这多个用户中的一些可以在企业或实体内具有不同的角色或职责。

在一些情况下,租户可以期望通过向应用引入扩展来修改或补充现有平台应用的功能,其中将使得该扩展被租户的雇员和/或客户可用。在一些情况下,这种扩展可以应用于处理驻留在平台上的租户的业务相关数据。扩展可以由租户或由第三方开发人员开发,然后使得该扩展对租户可用以用于安装。平台可以包括可用扩展的“库”或目录,其可以由租户访问并搜索以识别感兴趣的扩展。在对提议的扩展进行适当验证后,可以允许软件开发人员“发布”对库或目录的扩展。

因此,为了允许租户获得他们期望的服务和功能(其可以包括向他们的最终客户提供某些服务,诸如与电子商务平台相关联的功能),多租户服务平台可以允许租户配置(一个或多个)可用服务的某些方面,以更好地适应其业务需求。以这种方式,服务平台的各方面可以是可定制的,从而使租户能够配置平台的各方面,以向其各自的用户或这些用户的组提供区别服务。例如,使用服务平台的业务企业可能想要向其雇员和/或客户提供附加的功能或能力,或者根据为他们的业务需求定制的既定工作流程以具体方式处理其业务数据等。

对平台的租户定制可以包括在较低级操作系统功能之上构建的定制功能(诸如执行特定于租户或用户的功能、数据处理或操作的能力)。一些多租户服务平台可以提供在服务平台的多个不同级别定制功能或操作的能力,从对图形用户界面的美学修改,到提供由独立第三方供应商开发的部件和/或整个应用的集成。这可以是非常有益的,因为通过允许使用由第三方供应商开发的部件和/或应用,多租户服务可以显著增强租户可用的功能并增加租户对平台的满意度。

如所指出的,除了用户定制之外,独立软件开发人员还可以创建对通过多租户数据处理平台可供用户使用的特定应用的扩展。扩展可以向底层应用添加新功能或能力。平台的一个或多个租户/用户可能希望将扩展添加到底层应用以便能够利用对应用的增强,这些增强是通过扩展而成为可能的。另外,开发人员可能希望升级或提供扩展的补丁,因为他们认识到对于结合到扩展中将是有利的修复或附加功能的需要。在一些情况下,开发人员(至少最初)可能更愿意进行仅对选定的一组用户可用的升级,以便获得改进扩展的新版本的反馈、测试扩展的稳定性,或协助他们针对其(一个或多个)扩展划分市场。

在另一个实施例中,所描述的方法和/或它们的等同物可以用计算机可执行指令来实现。因此,在一个实施例中,非瞬态计算机可读/存储介质被配置为具有存储的算法/可执行应用的计算机可执行指令,该指令在由(一个或多个)机器执行时使该(一个或多个)机器(和/或相关联的部件)执行所述方法。示例机器包括但不限于处理器、计算机、在云计算系统中操作的服务器、用软件即服务(saas)体系架构配置的服务器、智能电话等等。在一个实施例中,计算设备用被配置为执行任何所公开的方法的一个或多个可执行算法来实现。

在一个或多个实施例中,所公开的方法或它们的等同物由以下任一项执行:被配置为执行所述方法的计算机硬件;或者,存储在非瞬态计算机可读介质中的模块中体现的计算机指令,其中指令被配置为可执行算法,可执行算法被配置为在由计算设备的至少一个处理器执行时执行所述方法。

虽然为了简化说明的目的,图中图示的方法被示出和描述为算法的一系列方框,但是应该认识到的是,这些方法不受方框的顺序的限制。一些方框可以以与所示出和描述的不同的顺序出现和/或与其它方框同时发生。而且,可以使用比全部图示的方框少的方框来实现示例方法。方框可以被组合或分成多个动作/部件。此外,附加的和/或替代的方法可以采用未在方框中图示的附加动作。本文所述的方法限于援引35u.s.c§101的法定主题。

以下包括本文所采用的所选择术语的定义。定义包括属于术语的范围并且可以用于实现的部件的各种示例和/或形式。示例并不旨在是限制性的。术语的单数和复数形式都可以在定义之内。

对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示如此描述的(一个或多个)实施例或(一个或多个)示例可以包括特定的特征、结构、特性、性质、元素或限制,但并非每个实施例或示例都必然包括该特定的特征、结构、特性、性质、元素或限制。此外,短语“在一个实施例中”的重复使用不一定指代相同的实施例,但是可以指代相同的实施例。

如本文所使用的,“数据结构”是计算系统中存储在存储器、存储设备或其它计算机化系统中的数据的组织。数据结构可以是例如数据字段、数据文件、数据阵列、数据记录、数据库、数据表、图、树、链表等中的任何一个。数据结构可以由许多其它数据结构形成以及包含许多其它数据结构(例如,数据库包括许多数据记录)。根据其它实施例,数据结构的其它示例也是可能的。

如本文所使用的,“计算机可读介质”或“计算机存储介质”是指存储被配置为当被执行时执行所公开的功能中的一个或多个功能的指令和/或数据的非瞬态介质。在一些实施例中,数据可以用作指令。计算机可读介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。计算机可读介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其它磁性介质、专用集成电路(asic)、可编程逻辑器件、紧凑盘(cd)、其它光学介质、随机存取存储器(ram)、只读存储器(rom)、存储器芯片或卡、存储棒、固态存储设备(ssd)、闪存驱动器、以及计算机、处理器或其它电子设备可以利用其工作的其它介质。如果每种类型的介质在一个实施例中被选择用于实现,则其可以包括被配置为执行所公开的和/或所要求保护的功能中的一个或多个功能的算法的存储指令。本文所述的计算机可读介质限于援引35u.s.c§101的法定主题。

如本文所使用的,“逻辑”表示利用计算机或电气硬件、具有存储的可执行应用或程序模块的指令的非瞬态介质和/或这些的组合实现的部件,以执行如本文公开的任何功能或动作,和/或使得来自另一逻辑、方法和/或系统的功能或动作如本文所公开的那样被执行。等同的逻辑可以包括固件、利用算法编程的微处理器、离散逻辑(例如,asic)、至少一个电路、模拟电路、数字电路、编程的逻辑器件、包含算法的指令的存储器设备等,其中任何一个可以被配置为执行所公开的功能中的一个或多个功能。在一个实施例中,逻辑可以包括一个或多个门、门的组合、或者被配置为执行所公开的功能中的一个或多个能够的其它电路部件。在描述多个逻辑的情况下,有可能将多个逻辑合并到一个逻辑中。类似地,在描述单个逻辑的情况下,有可能在多个逻辑之间分配那单个逻辑。在一个实施例中,这些逻辑中的一个或多个是与执行所公开的和/或所要求保护的功能相关联的对应结构。选择实现哪种类型的逻辑可以基于期望的系统条件或规范。例如,如果考虑更高的速度,则将选择硬件来实现功能。如果考虑更低的成本,则将选择存储的指令/可执行应用来实现功能。逻辑限于援引35u.s.c§101的法定主题。

“可操作的连接”或实体通过其“可操作地连接”的连接是可以在其中发送和/或接收信号、物理通信和/或逻辑通信的连接。可操作的连接可以包括物理接口、电气接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体可以可操作地连接,以直接或者通过一个或多个中间实体(例如,处理器、操作系统、逻辑、非瞬态计算机可读介质)彼此传送信号。逻辑通信信道和/或物理通信信道可以被用于创建可操作的连接。

如本文所使用的,“用户”包括但不限于一个或多个人、计算机或其它设备、或者这些的组合。

虽然已经相当详细地图示和描述了所公开的实施例,但并不旨在将所附权利要求的范围限制或以任何方式限定到这样的细节。当然,不可能为了描述主题的各个方面而描述部件或方法的每种预期的组合。因此,本公开不限于所示出和描述的特定细节或说明性示例。因此,本公开旨在涵盖落入所附权利要求的范围内的变更、修改和变化,所附权利要求满足35u.s.c§101的法定主题要求。

就术语“包含”在具体实施方式或权利要求书中被采用的程度而言,它旨在以类似于当术语“包括”作为过渡词在权利要求中被采用时所解释的方式是包含性的。

就术语“或”在具体实施方式或权利要求书中被采用的程度而言(例如,a或b),其旨在意味着“a或b,或两者”。当申请人旨在指示“仅a或b但不是两者”时,那么将使用短语“仅a或b但不是两者”。因此,术语“或”在本文的使用是包含性的,而不是排他性使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1