使用被优化用于不同通信类型的多个服务器的设备监测的制作方法_2

文档序号:8909179阅读:来源:国知局
阳性词、阴性词或两者。附图不是按比例绘制的。
[0043] 在【具体实施方式】的许多部分中,已经就被盗设备解释了所述主题,但是本领域的 技术人员当然清楚,它同样适用于丢失的设备。
[0044]B.示例性实施方案
[0045] 在图1中示出了快速联系系统10的优选实施方案的符号框图。系统10旨在通过 提供一种用于迅速地联系电子设备并且远程地控制电子设备的有效的装置,来保护电子设 备诸如设备12。实际上,系统中可W存在最多达几百万或更多的该样的设备12。设备12 通过网络18连接到RCS30和主服务器52。网络18可W是互联网或包括互联网,或可W是 电信网络或包括电信网络。设备12和网络18之间的连接可W是有线的或无线的,并且该 设备可W持续地或者间歇地连接至网络。
[0046] 每个电子设备12中的代理14使得设备常规地或近似常规地呼叫RCS30。RCS30 包括处理器32,该处理器32可包括一个或多个处理核34,所述RCS30连接至数据库35和 存储器36,并且所述RCS30被配置成在固定的、相对小的线程42的池40中处理计算机可 读指令。在本实施例中,线程的数目是处理器核的数目的两倍。例如,在具有24核处理器 的系统中,在线程池40中可W存在48个线程。在其他实施方案中,其他的比率是可能的。 可例如约每30分钟进行呼叫,或可W任何其他合适的时间周期进行呼叫。一些实施方案中 的呼叫包括将单个小包20发送至RCS30的输入/输出完成端口(completionport) 24, 所述单个小包20包含设备的电子序列号巧SN) 16。ESN16可W加密的形式(诸如W令牌 17)包括在小包20中。发送至RCS30的单个包的数据中的每个通常包含总共10-100字 节。小包20成为将被每个线程42处理的任务44。
[0047] 当在线程42中由RCS30处理任务44时,从小包20中除掉任何剩余的头和校验 和等,并且由处理器32解释HTTP命令,W揭示发送该包的设备12的ESN16,该可设及将令 牌17解密,如果ESN16W被加密在令牌17内的方式发送。然后,处理器32根据已经揭示 的ESN16而采取或不采取动作。ESN和相应的等待动作可存储在数据库35中。该样的动 作例如可W用来请求会话的建立,在该种情况下会话将是短会话。在该样的快速联系会话 中,其中可交换约700字节或更少的数据,RCS30可发送一个呼叫主服务器52的指令至设 备12,该主服务器52被建立用于与设备进行相对长的通信。相对于与主服务器52通信,代 理可使用不同的、对应的通信协议与RCS30通信。例如,相对于用于与主服务器进行通信 的协议,用于RCS通信的协议可被优化(例如,通过减少的握手和较小的消息大小)用于相 对短的、频繁的通信。
[0048] 例如,设备12可在系统10中被标记为被盗。设备12的拥有者可使用计算机61或 另一电子设备访问主服务器52W将设备12的状态输入为被盗来进行此操作。该样的设备 状态被存储在数据库55和数据库35中,所述数据库55处于主服务器52之内或可被主服 务器52访问,所述数据库35可被RCS30访问。在该种情况下,当该设备呼叫RCS30时将 被指令呼叫主服务器52 (主服务器52之后将指令该设备向主服务器提供它的位置),W更 频繁地呼叫主服务器,或进入冻结状态。作为另一个实施例,快速联系会话可被用于将已更 新的参数(诸如已更新的快速呼叫间隔)从RCS30发送至设备12。替代地,设备12可在 系统10中被标记为待被发送一个消息,该消息可在与主服务器52的呼叫期间被发送。如 果设备12未被标记为被盗,并且未被标记为其他需要常规呼叫的任何事情,则RCS30可不 向设备发送任何响应,因为没有必要并且会浪费网络带宽。然而,系统10可替代地被配置 成RCS30向设备发送HTTP状态200 (即,接收的消息OK)响应,或其他合适的确认。仍替 代地,如果不存在等待设备12的动作,RCS30可向该设备发送回断开连接消息,或简单地 断开连接。
[0049] 设备12和RCS30之间的快速联系会话还可被用于设置新的授权令牌,其中该设 备或该设备中的代理14还没有授权令牌、有一个无效的授权令牌,或应该有一个由于安全 策略的内容而被替换的授权令牌。快速联系会话还可被用于设置针对至主服务器52的下 一次排定的常规呼叫的时间。快速联系会话可被用于将常规代理呼叫重定向至不同的主服 务器,诸如用于特定地管理数据删除操作的主服务器,或用于管理加密的主服务器。如果设 备12已经被盗,则快速联系会话可重定向代理W呼叫特定地处理被盗设备的一个不同的 主服务器。快速联系会话还可被用于改变快速呼叫之间的时间间隔,或用于重定向快速呼 叫值另一个RCS。快速联系会话还可被用于报告代理14或设备12中字段(field)的内容。 在一些情况下,可传递最多达约4KB的数据。在快速联系会话期间还可实施其他过程,主要 要求是会话足够短从而不需要专用的处理线程,并且足够短从而不会明显干扰RCS30与 对该RCS30做出快速呼叫的其他设备12的有效运作。大多数时间,设备12做出的至RCS 30的呼叫不被应答或无需动作。
[0050]-旦电子设备12被RCS30命令呼叫主服务器52,则电子设备12可该样做。设备 12还可常规地、近似常规地、半周期性地、半随机地、或由于检测到触发器的结果、或根据任 何期望的可编程方案来呼叫主服务器52。主服务器52包括处理器54,该处理器54连接到 数据库55和存储器56,并且该主服务器52可被配置成在相对大数目的线程58中处理计算 机可读指令。线程58优选地不形成池的一部分。与RCS30相反,优选地,存在专用于每个 会话60的至少一个线程58。可例如约每24. 5小时,或W任何其他合适的时间周期来 做出呼叫。从设备12至主服务器52的通信50通常比至RCS30的通信长至少10-10000 倍(即,1至4个数量级)。该样的通信会话通常包含在10-500个包51之间,每个包最多 达1500字节长。与在RCS30中处理的任务44相比,每个会话60中的、被相应的线程58 处理的任务62通常大。在典型的系统中,多达8000个或更多个会话可被同时保持在主服 务器52中,每个会话具有至少一个专用的线程。会话的数目受限于RAM或存储器56的量。
[0051] 数据库55存储待被通信到每个设备12的任务、更新和命令等。每当设备12的拥 有者或管理员需要改变设备的状态的记录、强制进行立即常规呼叫、或获得该设备的当前 参数等时,该些都可使用连接至网络18的计算机61或其他合适的设备来完成。如果应从设 备12删除数据,或应冻结设备,该些命令也可经由计算机61而被通信至主服务器52。设备 可w组成组,并且快速呼叫可共同地被请求w由一组该样的设备的管理员(例如经由计算 机61)启用或禁止。主服务器52可将关于所讨论的设备12的快速呼叫状态的信息传输至 计算机61。该样的信息可W是设备12当前是否被启用用于快速呼叫、该设备当前是在呼叫 还是离线,W及最后快速呼叫的时间。主服务器52时常与RCS30通信,使得RCS中的数据 库35可随着设备在随后的快速呼叫期间的动作而被更新。例如,可更新RCS的数据库35, W使得RCS指令设备12呼叫主服务器52 ;该设备可通过立即地呼叫主服务器、或在其下一 次至主服务器的排定的常规呼叫之前的某一其他点时呼叫主服务器来响应该样的指令。
[0052] 设备12和主服务器52之间的单次通信可导致创建能够运行在并行运行的线程中 的多个任务。例如,由于与主服务器52的单次通信50,可W使用两个、S个或更多个专用的 线程58。
[0053] 主服务器52负责与设备12进行主通信,主通信可包括来自服务器的消息,W命令 该设备向服务器提供其位置、删除数据、发送其部件的一些或全部标识、或采取任何类型的 安全动作。主服务器52还可向设备12传输升级。由于主服务器52接受相对长的通信并且 执行相对长的任务(在相对长的任务中,会话60持续保持化eepalive)并且维持其上下 文或状态),所W-个或更多专用的线程被用于每个通信会话。与之相反,RCS30不保持跟 踪状态或极少地保持跟踪状态,因此非专用的线程可被用在RCS中。对于快速呼叫和快速 联系会话,情况仍是如此,快速联系会话可被RCS30请求,并且在该样的快速联系会话中, 被设备12发送至RCS的随后的包可被线程42中的任何线程处理。
[0054] 为了使快速联系会话具有预定义的状态,应支持例如读和写516字节的整个数 组,并且在RCS30内执行所有必要的修改。代理14可允许在安全的快速联系会话期间进 行该样的设置改变,或可使用化ICopyMemo巧Windows?API(应用程序接口)W将设置 写入存储器并且然后将它们拷贝到设置地址。前一种方法比较快,因为它只需要一个事务 (transaction)。在后一种方法中,代理应在快速联系会话开始之前检测化ICopyMemcxry例 程的地址。
[00巧]从设备12至RCS30的快速呼叫和该两者之间的快速联系会话比至主服务器52 的常规呼叫更为简单,并且可能短若干数量级。该些快速呼叫的目的是使RCS30知晓设备 的在线可用性,并且如果需要的话,为快速联系系统10提供用于迅速建立设备12和主服务 器52之间的常规呼叫的方式。例如,被盗的电子设备可在快速联系系统10中并且更具体 地在RCS30和主服务器52中被标记成被盗。当被盗的设备12呼入至RCS30时,RCS将 指令它立即呼叫主服务器52W得到更大量的指令,该些指令可包括数据删除命令、锁定命 令等。该避免用长的任务阻塞RCS30,同时消除如果是设备等待直至它下一次排定的时间 W呼叫主服务器52时该设备将通常经受的等待时段。线程池40中的相对低数目的线程 42适合于处理来自大数目的设备12中的相对大数目的小任务44,适合于用于状态不需要 被保持的通信,或适合于状态的可预测值如此之少W至于无需专用于会话的线程就可被跟 臣示。
[0056]线程池40被用在RCS30中,因为在处理器的使用率方面,线程创建并非特别便 宜,且因为具有等待就绪(ready-waiting)的线程池使得输入任务44的分配和处理更有效 率,尤其是如果线程的数目被优化。为了最大化RCS30中的处理器32的效率,用于处理小 包20的代码应当理想上保持为最小,并且应当与主服务器52中的、用于处理常规通信的代 码分开。该允许RCS30根据操作系统资源和网络吞吐量来处理尽可能多的同时呼叫。
[0057] 设备和RCS30之间的通信利用完成端口 24,其允许线程唤醒用于任何I/O操作的 处理。每个会话上下文(sessioncontext)被保持在线程安全字典中,并且一旦相应的1/ 0操作完成,每个会话上下文就变成有效的(active)。会话上下文维持当前会话的状态,其 允许RCS30继续当前会话。在当前会话的处理期间,所有阻断操作化lockingoperation) (包括至数据库
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1