实时检测和解决共享资源的冲突的系统

文档序号:1409736 发布日期:2020-03-06 浏览:7次 >En<

阅读说明:本技术 实时检测和解决共享资源的冲突的系统 (System for real-time detection and resolution of conflicts in shared resources ) 是由 葛文豪 于 2018-12-29 设计创作,主要内容包括:一种管理共享资源的方法,包括:在接收到用于延长对共享资源的当前使用的请求时,检测当前使用的所请求的结束时间与后续使用的较早的开始时间之间的资源数据的冲突。在一个示例中,共享资源可以是会议室,使用是相邻地安排的会议。该方法还包括:响应于检测到冲突,(1)接收关于请求的准许指示,以及(2)响应于标识对请求的接受的准许指示,(a)计算当前使用的许可的延长时间,以及(b)更新资源数据,以将许可的延长时间加到当前使用的安排的结束时间和后续使用的安排的开始时间,以便能够在不冲突的情况下使用共享资源。(A method of managing shared resources, comprising: upon receiving a request to extend a current use of a shared resource, a conflict of resource data between a requested end time of the current use and an earlier start time of a subsequent use is detected. In one example, the shared resource may be a conference room, and the usage is a adjacently arranged conference. The method further comprises the following steps: in response to detecting a conflict, (1) receiving a grant indication for the request, and (2) in response to the grant indication identifying acceptance of the request, (a) calculating a permitted extension time for the current use, and (b) updating the resource data to add the permitted extension time to a scheduled end time for the current use and a scheduled start time for a subsequent use to enable use of the shared resource without conflict.)

实时检测和解决共享资源的冲突的系统

技术领域

本公开涉及例如日历应用中的资源管理的领域,该日历应用提供对诸如会议室之类的共享资源的安排,本文中会议室也称为“会议厅”。

发明内容

本公开总体上涉及用于管理共享资源以避免其使用中的冲突的技术。在一个示例中,本公开包括一种智能通知和工作流机制,其能够实现更好的协作和高效的资源利用。参考基于会议数据的特定应用示例来描述该总体方面,其中会议数据描述共享会议资源(例如,会议室)的使用。本领域技术人员将理解,可以以多种其他方式来利用所公开的技术。

关于共享会议资源的示例,在当今的企业中,通过使用客户端协作应用(例如,

Figure BDA0002349844850000011

)预留特定的会议室来安排会议。基于该安排,针对该会议和会议室指派开始时间和结束时间。然后,在会议开始之前(例如,提前15分钟),应用可以向会议所有者和与会者发送提醒以参加即将进行的会议。

在一些情况下,当即将进行的会议的与会者到达时,会议室可能仍被先前的会议占用,并且先前的会议继续(经过准许或未经准许)超过即将进行的会议的安排的开始时间。即将进行的会议的开始被推迟,并且因此可能会浪费生产时间。这种场景代表降低的组织效率。它部分地是由于现有资源安排技术的局限性而产生的,这些技术既不能识别这些类型的冲突,也不能为解决这些冲突提供任何支持。而使与会者自己识别和解决冲突,其中,参会是低效的。

在公开的技术中,在资源安排中提供智能通知和工作流,以减少对诸如会议室之类的共享资源的这种低效交互的发生。公开的技术使用新的决策方法向资源所有者发送通知,以确认延长对共享资源的当前使用,并更新资源数据以反映该延长,从而主动通知资源使用者关于安排的使用的变化,从而不需要使使用者自行了解冲突并解决冲突。资源数据是表示对共享资源的安排的使用的数据,例如电子日历或类似的安排数据。另外,公开的技术可以在许可对资源使用的时间延长时使用上下文信息(例如,会议室/使用者行为等的历史信用)和分配策略。

更具体地,公开了一种管理共享资源的方法。该方法总体上包括:响应于接收到用于延长对共享资源的当前使用的请求,检测当前使用的请求的结束时间与共享资源的后续使用的开始时间之间的资源数据的冲突。在这种情况下,请求的结束时间晚于后续使用的安排的开始时间。在一个示例中,共享资源是会议室,并且由于会议室中的会议的安排的相邻性而产生冲突。

所公开的方法还包括:响应于检测到冲突,(1)接收关于请求的准许指示,以及(2)响应于标识对请求的接受的准许指示,(a)计算当前使用的许可的延长时间,以及(b)更新资源数据,以将许可的延长时间加到当前使用的安排的结束时间和后续使用的安排的开始时间,以便能够在不冲突的情况下使用共享资源。

附图说明

根据对附图中所示的特定实施例的以下描述,前述和其他目的、特征和优点将变得显而易见,在附图中,相似的附图标记贯穿不同的视图指代相同的部分。

图1是提供对共享资源的管理的系统的框图;

图2是图1的系统的某些操作的流程图;

图3是作为图1的一般系统的具体示例的分布式日历系统的框图;

图4是图3的系统中的日历服务器设备的框图;

图5是图3的系统中的日历客户端设备的框图;以及

图6是图3的系统的某些操作的消息图。

具体实施方式

图1示出了包括资源管理器10的系统,该资源管理器10通过相应的通信链路14耦接到一组资源客户端12。通常,资源管理器10和资源客户端12是执行专用软件以实现本文所述的功能的计算机化设备。具体地,在一个示例中,资源管理器10可以被实现为资源管理器服务器(RM服务器),并且资源客户端12可以被实现为相应的客户端设备,例如,个人计算机、智能电话、平板计算机等。因此,这些计算机化设备通常包括一个或多个处理器、存储器、输入/输出(I/O)接口电路以及用于存储和执行计算机程序指令和相关数据以及与外部设备进行交互的非易失性辅助存储设备,如本领域通常已知的。

在另一个更具体的示例中,图1的系统可以以分布式日历应用或相关应用的分布式日历功能的形式来实现,例如

Figure BDA0002349844850000031

的日历功能。在这种情况下,资源客户端12可以被实现为运行客户端Outlook应用的实例的计算机化设备,而资源管理器10可以被实现为集中式电子邮件服务器,例如Microsoft

Figure BDA0002349844850000032

备选地,可以以不采用集中式服务器的对等方式来实现该系统,在这种情况下,资源管理器10的功能分布在通常也包括资源客户端12的功能的某一组对等设备上。

图2示出了高层次的图1的系统的某些操作。这些功能被描述为由资源管理器10结合涉及资源客户端12的数据和通信来执行。具体地,所示的操作在资源客户端12的共享资源使用的上下文中发生,其中资源管理器10协助安排对共享资源的使用。在本文详细描述的一个示例中,共享资源是用于在日历或类似应用中安排的会议的会议室。在这种设置中,所示的操作解决了上述类型的潜在问题,即,会议室使用的潜在冲突,以及对改进会议数据和与其相关的通信的管理的需求。本领域技术人员将理解,通常可能存在可以应用所示的技术的许多其他类型的资源和情况。

在20处,响应于接收到用于延长对共享资源的当前使用的请求,资源管理器检测在共享资源的当前使用的请求的结束时间与后续使用的开始时间之间的资源数据的冲突,其中请求的结束时间晚于针对后续使用的安排的开始时间。例如,可以从资源的当前使用者的资源客户端12接收该请求。资源数据是表示对资源的安排的使用的数据,例如电子日历或类似的安排数据。资源管理器10询问或以其他方式查询资源数据,以标识对资源的下一个或后续使用,并将后续使用的开始时间与当前使用的请求的结束时间进行比较。如果请求的结束时间更晚,则检测到冲突,即,根据请求延长当前使用将导致其延长超过后续使用的开始。

在22处,响应于检测到冲突,资源管理器(1)接收关于请求的准许指示,并且(2)响应于标识对请求的接受的准许指示,而(a)计算用于当前使用的许可的延长时间(b)更新资源数据,以将许可的延长时间加到当前使用的安排的结束时间和后续使用的安排的开始时间,以便能够在不冲突的情况下使用共享资源。继续以上示例,资源管理器10可以通过首先向与后续使用相关联的后续使用者(例如,会议组织者)的资源客户端12发送通知消息来接收准许指示。通知消息传达延长当前使用的请求。基于使用者的输入,资源客户端12然后发送包括准许指示的回复消息,该准许指示是否定的(对请求的拒绝)或肯定的(对请求的接受)。

在22处对准许的延长时间的计算使得资源管理器10能够对资源使用施加某种独立控制,尤其是针对冲突条件下的使用。例如,当前使用者可能请求额外的半小时,但由于各种原因(包括来自后续使用者的输入)中的任何原因,仅某一较短的延长是可能的或期望的。在下面讨论示例。因此,该计算可以采用包括历史使用数据、策略等在内的各种输入,并据此生成许可的延长时间。

对资源数据的更新通常以某种方式对当前和后续资源使用者可见,从而实现根据许可的延长,在当前使用和较晚时间的后续使用之间的无冲突的过渡。例如,在日历应用中,当前会议和后续会议的安排均被调整,以反映当前会议的推迟的结束时间和下一个会议的推迟的开始时间。资源客户端12可以通过向使用者发布本地通知或其他动作来自动响应该变化。另外,在一些实施例中,除了资源数据的更新之外,资源管理器10还可以向受影响的资源客户端12发布显式通信,以向它们通知该变化。

图3示出了图1的总体布置的特定应用,即具有日历服务器设备30和一组日历客户端设备32的分布式日历系统。这些可以如上所述实现,即,作为执行专门的日历相关软件的计算机化设备,其包括例如如上所述的分布式电子邮件系统。日历服务器设备30提供与外部管理员(Admin)34的专门接口和通信,该管理员34可以将某些策略和其他配置数据编程到系统中,用于影响本文所述的操作的某些方面。可以由管理员34提供策略数据,该策略数据显示地描述用于许可延长的相关联的策略,并且该数据用于对许可的延长的计算。

图4示出了一个实施例中的日历服务器设备30。这是示出了由执行专用日历软件的计算机电路实现的组件的功能框图。这些组件包括日历服务器功能组件40、日历服务器数据库42和通信组件44。

日历服务器功能组件40通常是实现日历程序的功能的那些例程、链接库等,日历程序的功能即为安排会议(即,在日历服务器数据库42中创建对应条目)、监视冲突、参与通信等能力。出于该描述的目的,将它们划分为会议控制(Cntl)组件46和其他组件48,其中会议控制组件46提供本文具体描述的会议相关的功能,而其他组件48提供日历应用的所有其他功能,如本领域中公知的。

日历服务器数据库42存储日历数据50,该日历数据是系统在其上操作的日历范式(paradigm)的基础-即,表示时间段(天、小时等)、安排的项目(例如,会议)、使用者、资源(例如,会议室)等的数据。在下面示出了示例数据和组织。将理解的是,日历数据50是本文也称为“会议数据”的内容的具体示例。

通信组件44执行与日历客户端设备32的消息交换和/或通知的细节,并且为此目的,它采用将日历系统的使用者与那些使用者的对应的日历客户端设备相关联的使用者设备(user-dev)表52。应当理解,在高层次上,典型的日历系统关于使用者进行操作(例如,维护使用者的日历、标识与会者等),因此需要用于与使用者通信的机制。通过经由user-dev表52将使用者与设备32相关联,通信组件44提供了这种机制。

图5示出了具有与日历服务器设备30类似的组织的日历客户端设备32。它包括日历客户端功能组件60、日历客户端数据存储设备62和通信组件64。日历客户端功能组件包括实现如本文所述的会议相关功能的会议功能66,以及实现本领域公知的其余的客户端侧日历组件的其他组件68。日历客户端数据存储设备62包括日历数据70,如本领域公知的,日历数据70与日历服务器数据库42(图4)的日历数据50同步地被维护。通信组件64提供与日历服务器30的通信(消息和/或通知)。

下表提供了日历会议数据50的内容和组织的简化示例。第一个表是安排的会议的表示。第二个表是对给定会议室的安排的使用的表示,其是从第一个表中的安排信息得出的。这些表示出了示例,在该示例中,被标识为N的第一会议被安排在从12:00到1:00,第二会议M被安排在从1:00到2:00,两个会议都在同一会议室X中。

表1-会议

ID 所有者 主题 开始时间 结束时间 房间 参与者
N 使用者N 主题N 12:00 1:00 X {列表N}
M 使用者M 主题M 1:00 2:00 X {列表M}

表2-房间使用

时隙 会议
12:00-1:00 N
1:00-2:00 M

在操作中,会议控制器46可以定期扫描房间表(表2)以得到所示的情况(即,两个相邻的会议),作为如下描述的与会议所有者进行通信并更新会议数据以调整安排的过程的触发(参考图6)。

图6是在一个示例中示出了图3的系统的操作的消息图。参与者被示为日历服务器(Cal Svr)30、被称为“当前会议所有者”设备(CMO Dev)32-C和“下一个会议所有者”设备(NMO Dev)32-M的第一客户端设备32。CMO设备32-C与被称为“当前会议所有者”的使用者(即,当前正在进行的第一会议的组织者)相关联。NMO设备32-N与被称为“下一个会议所有者”的使用者相关联,即,在安排上跟随在当前会议之后的第二会议的组织者,该第二会议通常立即跟随在当前会议之后(即,下一个会议的开始时间在当前会议结束时间之后的几分钟内)。在此消息图中,时间向下进展。

通过在日历服务器30处发生触发(Trigger)而开始操作。在一个示例中,日历服务器30连续扫描日历数据50(图4)以得到即将到来的会议结束时间,并且在当前时间在某个窗口内遇到一个时,将该条件视为随后的操作的触发。作为示例,日历服务器30可以每分钟扫描所有会议室的安排,并且在遇到在当前时间的10分钟之内的安排的结束时间时发生触发。在备选实施例中,触发条件可能不仅需要即将到来的会议结束时间,而且还要求在其之后的某个窗口内(例如,在接下来的15或30分钟内)存在下一个会议开始时间。

日历服务器30然后将通知或其他类型的查询消息(需要延长?(Ext.Needed?))发送给CMO设备32-C,询问是否需要延长对会议室的当前使用的时间。然后,CMO设备32-C在与本地使用者的交互中执行一个或多个用户界面动作(UI动作),该本地使用者被假定为CMO使用者。例如,CMO设备32-C可以呈现带有来自日历服务器30的询问消息的弹出窗口,并且接收指示CMO使用者对询问的响应的按钮按压或其他用户输入。该响应可以是不需要附加时间或请求附加时间的指示,并且其可以包括使用者输入所请求的特定延长值(例如,15分钟)。基于UI动作,CMO设备32-C生成延长请求消息(延长请求(Ext Request))作为响应消息,并将其发送给日历服务器30。假设当前使用者已请求延长,并且延长请求消息传达了CMO使用者的将当前使用延长到新的结束时间的请求。备选地,CMO设备32-C可以生成并发送指示不需要延长请求的消息,在这种情况下,对于该特定会议室和当前会议不执行如下所述的图6的其余步骤。

接下来,日历服务器30执行冲突检测操作(检测冲突(Det.Confilt)),以基于日历数据50(图4)中的安排,确定延长请求是否对会议室的使用造成冲突。通常,如果请求的延长将导致当前会议的结束时间超过(在时间上晚于)下一个会议的开始时间,则会发生冲突。如果检测到冲突,则日历服务器30生成通知消息(通知(Notify))并将其发送给NMO设备32-N,以将请求的延长通知给下一个会议所有者。然后,在NMO设备32-N处发生UI动作,向NMO使用者通知该请求并且从NMO使用者接收指示他们是否接受该请求的输入。基于UI动作,NMO设备32-N生成准许指示消息(准许指示(Permission Indication)),并将其发送给日历服务器30。准许指示消息指示NMO使用者是否同意由延长请求表示的对安排的改变。例如,如果延长请求是额外的10分钟,这可能导致将下一个会议开始时间变化多达10分钟。准许指示消息指示对延长和安排变化的接受或拒绝。

日历服务器30然后执行延长计算(延长计算(Ext.Calc.))以计算许可的延长时间,该时间通常可能与请求的延长时间不同。例如,该计算可以使用各种数据和方法来促进某些操作目标或策略,并且该计算可以结合历史数据以反映CMO使用者过去的经验。下面描述具体示例。在计算了许可的延长之后,日历服务器执行对服务器日历数据50的本地更新(更新(Update)),并通过将延长许可消息(延长许可(Ext.Granted))发送给CMO设备32-C来通知CMO使用者,并向当前会议和下一个会议参与者的设备70发布相应的日历更新(日历更新(Cal.Updates)),以更新其相应的客户端日历数据70。通常,日历更新反映了将许可的延长时间加到当前会议的安排的结束时间和下一个会议的安排的开始时间,从而将这些时间相应地后移。一旦完成,每个客户端设备32处的任何本地自动化动作,例如本地提醒等,都是基于调整后的时间的。因此,下一个会议的参与者基于调整后的下一个会议的开始时间而不是基于原始安排的开始时间来接收会议提醒。这样,避免了下一个与会者必须在会议室外等待当前会议结束的上述问题,从而提高了组织效率。

作为上述方法的备选,可以在通知NMO设备32-N和与之进行准许交流之前执行延长计算,以便向NMO使用者通知要许可的实际延长时间,而不是请求的延长时间。

应该理解,存在递归发生的可能性,即,如果基于调整后的会议结束时间可能发生新的触发,则可能针对同一当前会议第二次或更多次执行图6的过程。因为需要NMO使用者的准许,所以这种迭代不会导致当前会议的无限的延长。但是,可能甚至希望避免重复图6的过程的初始消息传递(通知(Notify)、准许指示(Permission Indication)),在这种情况下,日历服务器30可以实现附加逻辑来将结束时间标识为调整后的时间并禁止响应于此对过程的任何触发(即,仅允许一次延长)。

以下是一个实施例中的对延长计算的描述。假设如下所述在服务器日历数据50中存储了各种数据,其中一些是静态的(例如,会议室标识符),而其他是动态的。此外,随着时间的推移而跟踪一些数据以创建历史记录,该记录将按所述方式使用。假没当前会议所有者已请求延长,该延长在以下描述中被表示为预期推迟时间(ExpectedDelayTime)。

a.房间ID(RoomId):具体的会议室i。

b.开始时间(StartTime):会议室i中会议的正常开始时间;

c.结束时间(EndTime):会议室i中会议的正常结束时间;

d.提醒时间(TimeForReminder):提前提醒下一个会议所有者在会议室i中开始会议的时间;

e.提前频率(PriorFrequency):所有者在会议室i中提前完成会议的历史累积时间,由变量n标识;

f.推迟频率(DelayFrequency):所有者在会议室i中推迟会议(将会议延长超出安排的结束时间)的历史累积次数,由变量m标识;

g.提前完成时间(PriorCompleteTime):房间i中与结束时间(EndTime)相比会议提前完成的持续时间,被标识为PriorTimek。这里,k等于1、2、...、n,其中n是上面说明的PriorFrequency。

h.推迟完成时间(DelayCompleteTime):房间i中与EndTime相比会议被推迟的持续时间,被标识为DelayTimej。这里,j等于1、2、...、m,其中m是上述的DelayFrequency。

i.最大提前时间(MaxPriorTime):当所有者相比于EndTime提前结束该会议室中的会议时最大的剩余持续时间,对于特定的房间i,被标识为TPMAXi。通常,对于特定房间,这可以是大于PriorCompleteTime的常数。因此,在某些时隙请求场景中,PriorTimek始终不超过TPMAXj

j.最大推迟时间(MaxDelayTime):会议室i中与EndTime相比所有者可以请求的最大的持续时间,对于特定的房间i,被标识为TDMAXi。通常对于特定房间,这可以是大于DelayCompleteTime的常数。因此,在某些时隙请求场景中,DelayTimej始终不超过TDMAXi

k.提前(Prior)时的与会者数量(NumberOfAttendees):在Prior场景中,房间i中下一个会议的参与者的数量,在历史记录中标识为PNumk

i.推迟(Delay)时的与会者数量(NumberOfAttendees):在Delay场景中,房间i中下一个会议的参与者的数量,在历史记录中标识为DNumj

m.惩罚因子(PunishmentFactor):归一化的权重因子(介于0.0-1.0之间),用于计算许可的延长时间,并表示先前的Delay事件的影响。

其可以通过以下公式来计算:

Figure BDA0002349844850000101

n.奖励因子(RewardFactor):与PunishmentFactor类似,但表示先前的Prior事件的影响。其可以通过以下公式来计算:

Figure BDA0002349844850000102

o.平均因子(MeanFactor):这是用于计算许可的延长时间GrantedDelayTime的平均因子,如下所述。在一个实施例中,“信用”类型的方法用于许可时间延长。对于给定会议厅的MeanFactor,可以为会议所有者给定初始信用值,例如1.0。根据上述定义和公式,关于会议厅i,该所有者的Delay越多,PublishingFactor就越大。关于RewardFactor,该所有者完成的Prior事件越多(提早完成会议),RewardFactor就越大。然后可以将MeanFactor计算如下:

MeanFactori=1.0-PunishmentFactori+RewardFactori

下面说明如何使用上述值来确定实际的许可的延长时间GrantedDelayTime。

1.基于存储在服务器日历数据50中的会议所有者的历史数据,计算RewardFactori和PunishmentFactori

2.计算会议厅i的MeanFactori

3.将GrantedDelayTime计算如下:

a)如果MeanFactori<=0,则将GrantedDelayTime设置为0.0;

a)如果MeanFactori>=1,则将GrantedDelayTime设置为ExpectedDelayTime(当前会议所有者请求的量);

c)否则,按如下计算GrantedDelayTime,其表示用MeanFactor对ExpectedDelayTime进行缩放:

GrantedDelayTime=ExpectedDelayTime*MeanFact0ri

备选方案

除了上述功能外,还可以引入其他方法,以基于上下文信息以外的配置的策略来明智地决定何时提示所有者是否需要预留额外的时间,并许可适当的额外时间量。例如,这种方法可以包括用于检测与会者的声音和视频信息的行为的深度学习技术。

可以将该技术与物联网(IoT)硬件或用于会议室的供给结合以建立智能工作区。例如,如果当前会议所有者过度推迟会议并且没有适当地响应通知,则会议控制器可以自动禁用对会议室的使用(例如,关闭显示器/禁用电缆)。

除了管理会议厅的冲突以外,通常还可以以其他方式来使用公开的技术。在一个示例中,它可以与其他会议相关的共享资源(例如,会议服务)或设备(例如,会议音频/视频设备、会议电话线等)结合使用。更一般地,其可以与不一定与会议有关的其他类型的共享资源结合使用。这些可以包括办公环境中的高需求设备,例如复印机或扫描仪;在工厂或商店环境中的测试设备或其他专用工具等等。

尽管已经具体示出和描述了各种实施例,但是本领域技术人员将理解,在不脱离所附权利要求限定的范围的情况下,可以在形式和细节上进行各种改变。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于第三方购买的方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!