CN104885094A - 使用被优化用于不同通信类型的多个服务器的设备监测 - Google Patents

使用被优化用于不同通信类型的多个服务器的设备监测 Download PDF

Info

Publication number
CN104885094A
CN104885094A CN201380068353.9A CN201380068353A CN104885094A CN 104885094 A CN104885094 A CN 104885094A CN 201380068353 A CN201380068353 A CN 201380068353A CN 104885094 A CN104885094 A CN 104885094A
Authority
CN
China
Prior art keywords
server
electronic equipment
session
equipment
rcs
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.)
Granted
Application number
CN201380068353.9A
Other languages
English (en)
Other versions
CN104885094B (zh
Inventor
W·D·戈登
A·柴伍德诺夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Absolute Software Corp
Original Assignee
Absolute Software Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Absolute Software Corp filed Critical Absolute Software Corp
Publication of CN104885094A publication Critical patent/CN104885094A/zh
Application granted granted Critical
Publication of CN104885094B publication Critical patent/CN104885094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Abstract

一种电子设备监测系统,使用两种不同类型的服务器以与使用者的电子设备通信。一种类型的服务器可以是快速联系服务器,被优化或被配置成用于与电子设备进行相对短且频繁的通信。另一种类型的服务器被优化或被配置成用于与电子设备进行较不频繁但(通常)较长的通信。在一些实施方案中,电子设备被配置成与快速联系服务器进行相对频繁的(例如,每几分钟)通信。当电子设备被报告为丢失或被盗时,快速联系服务器可指令该电子设备联系另一种类型的服务器,以获得有关安全的指令。

Description

使用被优化用于不同通信类型的多个服务器的设备监测
技术领域
本公开内容涉及保护电子设备以防丢失或被窃,并且具体地涉及用于监测这样的设备并且能够频繁地且一得到通知马上就(on shortnotice)联系它们的系统和方法。
背景技术
个人电子计算或通信设备常常会丢失或被盗。由于所有人信息惯常存储在这样的设备上,所以需要保护这样的所有人数据或敏感数据并且重新找到这样的设备是不言而喻的。
膝上电脑以及越来越多的其他电子设备诸如蜂窝电话、PDA、智能电话(例如,BlackberryTM、iPhoneTM)、记忆棒、个人媒体设备(例如,iPodTM)、游戏设备、平板电脑、电子书和个人电脑常常被远程跟踪,使得它们在被窃的情况下可以被重新找到。这样的跟踪可通过将位置信息发送至远程存储站点、邮件服务器或个人移动电子设备来实现。
在与被跟踪设备的通信期间,命令可被发送用于数据删除、加密、密钥删除、更新软件、取回(retrieve)数据、取回屏幕截图、取回摄像头拍摄等。
跟踪通常间歇地发生,以避免过多的带宽使用率并且使偷窃者注意到的风险最小化。当设备在两次这样的跟踪通信之间被盗时,设备的拥有者或使用者需要等待直到下一次跟踪通信以在设备上触发安全动作,诸如数据删除。
发明内容
电子设备监测系统使用两种不同类型的服务器以与使用者的电子设备通信。一种类型的服务器(可以是快速联系服务器(rapid contactserver))被优化或被配置成用于与电子设备进行相对短且频繁的通信。另一种类型的服务器被优化或被配置成用于与电子设备进行较不频繁但(通常)较长的通信。在一些实施方案中,电子设备被配置成与快速联系服务器进行相对频繁的(例如,每几分钟)通信。当电子设备被报告为丢失或被盗时,快速联系服务器可指令该电子设备联系另一种类型的服务器,以获得有关安全的指令。通过有区别地优化这两种服务器,可以说电子设备被配置成根据不同的协议与每个服务器通信,其中每个协议对于特定的服务器被优化。
本发明内容不是旨在描绘本文所描述且要求保护的主题的范围的广泛概览。作为下面呈现的具体实施方式的前序,本发明内容以简化形式呈现了主题的多个方面,以提供对其基本理解。发明内容、附图或下面的具体实施方式都不意在限定或限制本发明;本发明仅由权利要求限定。
附图说明
为了更全面地理解所公开的主题的本质和优点以及使用所公开的主题的优选模式,应结合附图阅读参考下面的具体实施方式。在附图中,相同的参考数字代表相同或相似的步骤或部分。
图1是根据所公开的主题的实施方案的快速联系系统的基本框图。
图2是被设备发送至快速联系服务器的快速联系包的示意图。
图3是在设备和主服务器之间所传输的常规包(regular packet)的示意图。
图4是根据所公开的主题的实施方案的快速联系系统中由设备所执行的过程的流程图。
图5是由快速联系服务器所执行的过程的流程图。
图6是用于将认证令牌(authentication token)从快速联系服务器传输至设备的流程图。
图7是用于在设备上启用(enable)快速呼叫的顺序图。
图8是当不存在用于设备的未决动作时的顺序图。
图9是示出了快速呼叫和常规呼叫的顺序图。
图10是用于更新快速呼叫设置的顺序图。
图11是用于强制代理呼叫主服务器的顺序图。
图12是用于调用安全动作的顺序图。
图13是具有整合服务(consolidation service)的快速联系系统的替代实施方案的基本框图。
图14是用于设备配置的顺序图。
图15是用于设备参数更新的顺序图。
图16是用于快速联系服务器的启动的顺序图。
图17是用于等待设备参数更新的轮询或用于强制呼叫的轮询的顺序图。
图18是在不存在未决参数更新或不存在强制呼叫指令时的快速呼叫的顺序图。
图19是当存在未决参数更新或强制呼叫时的快速呼叫的顺序图。
图20是具有多个整合服务器的快速联系系统的替代实施方案的基本框图。
具体实施方式
A.术语
代理如本文所使用的,代理是一个理想上持久并且隐秘的软件、硬件或固件代理。通常,代理包括驻留在计算机或其他电子设备的处理器可读存储器中的可执行指令,或由驻留在计算机或其他电子设备的处理器可读存储器中的可执行指令组成。代理通常提供要求与远程服务器进行通信的服务功能。优选地,代理是防篡改的,并且可被启用以支持和/或提供各种服务,诸如数据删除、防火墙保护、数据加密、位置跟踪、消息通知、软件部署和更新。代理的示例性实施方案出现在市售的产品Computrace AgentTM中。Computrace AgentTM名下的技术已经在美国和其他国家被公开并被授予专利,这些专利已经共同受让给Absolute软件公司。参见,例如,美国专利No.5,715,174、No.5,764,892、No.5,802,280、No.6,244,758、No.6,269,392、No.6,300,863、No.6,507,914、No.7,818,803、No.7,945,709以及相关的外国专利。在公开号为US2005/0216757和US2006/0272020的美国专利申请中公开了代理的持久功能的细节。这些文献的技术公开内容通过全文引用的方式纳入本文,如同完全在本文中陈述一样。可行的是,使用与Computrace AgentTM相当的代理,或较不优选地,可使用具有较少功能的替代的代理。出于本公开内容的目的,代理的最小功能属性是便于电子设备和监测中心或其他远程计算机或服务器之间的通信。通信一般由代理发起。
设备这是要保护的电子设备。设备的实施例包括膝上电脑、蜂窝电话、个人数字助理、智能电话、记忆棒、个人媒体设备、游戏设备、个人电脑、平板电脑、电子书和上网本。代理驻留在设备中,设备还可被称作代理的主机。设备还可被称作客户端。
电子序列号(ESN)标识设备或设备内的代理的唯一号码。ESN可被存储在设备中的存储器中和/或寄存器中。
令牌、公共令牌或认证令牌这是一个加密的ESN,并且可通过哈希码(hash)保护。
快速联系服务器(RCS)计算机或计算机系统,大量远程设备与其进行频繁并简短地联系以接收等待命令(awaiting command)(如果存在的话)而没有明显的延迟。RCS可以是监测中心的一部分,并且可被称为快速联系服务器或FC服务器。通常,RCS具有小的处理线程池(pool of processing threads),它们都并非专用于通信会话。
主服务器监护服务器(guardian server)或其他计算机或计算机系统,(与RCS相比)与远程设备进行较不频繁且较长的通信以接收等待命令(如果存在的话)。例如,假设互联网连接对于该设备可用,代理可一天呼叫一次(或以某一其他选定的合适间隔)主服务器,以报告该设备的位置、下载软件更新(如果存在的话)并且修复已经安装或应该安装在该设备上的任何安全模块。如果设备从低风险区域移动到高风险区域中,或如果设备丢失或被盗,可修改(例如,减少)呼叫之间的间隔。至主服务器的通信可以是,例如,经由互联网(有线的或无线的)、经由有线的或无线的电话网络、经由电缆或经由卫星。主服务器可接收来自已经丢失或被盗的电子设备的拥有者的通知,因此主服务器可向丢失或被盗的电子设备传输发起某种安全动作的消息。该动作可以是例如锁定设备、响起警报、删除数据和/或提供位置信息。该动作可以是提供设备上的文件列表、从该设备上取回文件、调用基于处理器的防窃功能、对设备上的数据加密、或删除密钥等。一般而言,受保护的设备发起至主服务器的呼叫。
监测中心在优选的实施方案中,这是一个包括RCS和主服务器的系统。它可包括邮件服务器,或可以是服务器或其他计算机的组或分布。在本文所公开的实施方案中,代理发送设备标识信息和位置信息至位于监测中心内的或可由监测中心访问的远程电子存储器,和/或代理发送任何其他期望传递的数据。监测中心的功能可被纳入到电子社交网络服务器中或关联于电子社交网络服务器。监测中心可接收来自已经丢失或被盗的电子设备的拥有者的通知。一般而言,受保护的设备向监测中心发起呼叫,但是监测中心还可被配置成向受保护的设备发起呼叫,例如经由SMS(如果设备配备了SMS)。
快速呼叫设备和RCS之间的通信,可以是从设备至RCS的单向通信。快速呼叫可以引起或不引起来自RCS的响应。它可引起快速联系会话(rapid contact session),快速联系会话是设备和RCS之间的短会话。快速呼叫还可被称作迅速呼叫或FC。
快速联系会话或短会话这是在设备和快速联系服务器之间建立的短通信会话,并且通常仅几个包长,诸如最多达四或五个包,或最大具有四或五个包。
常规呼叫设备和主服务器之间的通信,在此通信期间一般交换较大量的信息。
排定的(scheduled)常规呼叫在所排定的时间发生的常规呼叫。
立即(immediate)常规呼叫或强制呼叫在与RCS通信期间所请求的常规呼叫,且在并非用于所排定的常规呼叫的时间发生。
下面的详细描述主要是在发明方法或过程、操作的符号表达、功能和特征方面得以呈现。这些方法说明和表达是本领域技术人员使用的、以将其工作的实质最有效地传达给本领域的其他熟练技术人员的方式。软件实施的方法或过程在这里一般认为是被设想成导致期望结果的前后一致的一系列步骤。这些步骤涉及物理量的物理操控。常常,但不是必须,这些量可以采用能够被存储、传递、合并、比较以及以其他方式操控的电气信号或磁信号形式。还应理解,硬件、软件和固件之间的界线(line)并非总是清晰的,本领域技术人员理解,软件实施的过程可通过硬件、固件或软件以编码指令的形式(诸如以微码和/或所存储的程序指令)体现。一般而言,除非另有指示,单数元件可能是复数的,反之亦然,而不失一般性。阳性词的使用可指的是阳性词、阴性词或两者。附图不是按比例绘制的。
在具体实施方式的许多部分中,已经就被盗设备解释了所述主题,但是本领域的技术人员当然清楚,它同样适用于丢失的设备。
B.示例性实施方案
在图1中示出了快速联系系统10的优选实施方案的符号框图。系统10旨在通过提供一种用于迅速地联系电子设备并且远程地控制电子设备的有效的装置,来保护电子设备诸如设备12。实际上,系统中可以存在最多达几百万或更多的这样的设备12。设备12通过网络18连接到RCS 30和主服务器52。网络18可以是互联网或包括互联网,或可以是电信网络或包括电信网络。设备12和网络18之间的连接可以是有线的或无线的,并且该设备可以持续地或者间歇地连接至网络。
每个电子设备12中的代理14使得设备常规地或近似常规地呼叫RCS 30。RCS 30包括处理器32,该处理器32可包括一个或多个处理核34,所述RCS 30连接至数据库35和存储器36,并且所述RCS 30被配置成在固定的、相对小的线程42的池40中处理计算机可读指令。在本实施例中,线程的数目是处理器核的数目的两倍。例如,在具有24核处理器的系统中,在线程池40中可以存在48个线程。在其他实施方案中,其他的比率是可能的。可例如约每30分钟进行呼叫,或可以任何其他合适的时间周期进行呼叫。一些实施方案中的呼叫包括将单个小包20发送至RCS 30的输入/输出完成端口(completion port)24,所述单个小包20包含设备的电子序列号(ESN)16。ESN 16可以加密的形式(诸如以令牌17)包括在小包20中。发送至RCS 30的单个包的数据中的每个通常包含总共10-100字节。小包20成为将被每个线程42处理的任务44。
当在线程42中由RCS 30处理任务44时,从小包20中除掉任何剩余的头和校验和等,并且由处理器32解释HTTP命令,以揭示发送该包的设备12的ESN 16,这可涉及将令牌17解密,如果ESN 16以被加密在令牌17内的方式发送。然后,处理器32根据已经揭示的ESN 16而采取或不采取动作。ESN和相应的等待动作可存储在数据库35中。这样的动作例如可以用来请求会话的建立,在这种情况下会话将是短会话。在这样的快速联系会话中,其中可交换约700字节或更少的数据,RCS 30可发送一个呼叫主服务器52的指令至设备12,该主服务器52被建立用于与设备进行相对长的通信。相对于与主服务器52通信,代理可使用不同的、对应的通信协议与RCS 30通信。例如,相对于用于与主服务器进行通信的协议,用于RCS通信的协议可被优化(例如,通过减少的握手和较小的消息大小)用于相对短的、频繁的通信。
例如,设备12可在系统10中被标记为被盗。设备12的拥有者可使用计算机61或另一电子设备访问主服务器52以将设备12的状态输入为被盗来进行此操作。这样的设备状态被存储在数据库55和数据库35中,所述数据库55处于主服务器52之内或可被主服务器52访问,所述数据库35可被RCS 30访问。在这种情况下,当该设备呼叫RCS 30时将被指令呼叫主服务器52(主服务器52之后将指令该设备向主服务器提供它的位置),以更频繁地呼叫主服务器,或进入冻结状态。作为另一个实施例,快速联系会话可被用于将已更新的参数(诸如已更新的快速呼叫间隔)从RCS 30发送至设备12。替代地,设备12可在系统10中被标记为待被发送一个消息,该消息可在与主服务器52的呼叫期间被发送。如果设备12未被标记为被盗,并且未被标记为其他需要常规呼叫的任何事情,则RCS 30可不向设备发送任何响应,因为没有必要并且会浪费网络带宽。然而,系统10可替代地被配置成RCS 30向设备发送HTTP状态200(即,接收的消息OK)响应,或其他合适的确认。仍替代地,如果不存在等待设备12的动作,RCS 30可向该设备发送回断开连接消息,或简单地断开连接。
设备12和RCS 30之间的快速联系会话还可被用于设置新的授权令牌,其中该设备或该设备中的代理14还没有授权令牌、有一个无效的授权令牌,或应该有一个由于安全策略的内容而被替换的授权令牌。快速联系会话还可被用于设置针对至主服务器52的下一次排定的常规呼叫的时间。快速联系会话可被用于将常规代理呼叫重定向至不同的主服务器,诸如用于特定地管理数据删除操作的主服务器,或用于管理加密的主服务器。如果设备12已经被盗,则快速联系会话可重定向代理以呼叫特定地处理被盗设备的一个不同的主服务器。快速联系会话还可被用于改变快速呼叫之间的时间间隔,或用于重定向快速呼叫值另一个RCS。快速联系会话还可被用于报告代理14或设备12中字段(field)的内容。在一些情况下,可传递最多达约4KB的数据。在快速联系会话期间还可实施其他过程,主要要求是会话足够短从而不需要专用的处理线程,并且足够短从而不会明显干扰RCS 30与对该RCS 30做出快速呼叫的其他设备12的有效运作。大多数时间,设备12做出的至RCS 30的呼叫不被应答或无需动作。
一旦电子设备12被RCS 30命令呼叫主服务器52,则电子设备12可这样做。设备12还可常规地、近似常规地、半周期性地、半随机地、或由于检测到触发器的结果、或根据任何期望的可编程方案来呼叫主服务器52。主服务器52包括处理器54,该处理器54连接到数据库55和存储器56,并且该主服务器52可被配置成在相对大数目的线程58中处理计算机可读指令。线程58优选地不形成池的一部分。与RCS 30相反,优选地,存在专用于每个会话60的至少一个线程58。可以以例如约每24.5小时,或以任何其他合适的时间周期来做出呼叫。从设备12至主服务器52的通信50通常比至RCS 30的通信长至少10-10000倍(即,1至4个数量级)。这样的通信会话通常包含在10-500个包51之间,每个包最多达1500字节长。与在RCS 30中处理的任务44相比,每个会话60中的、被相应的线程58处理的任务62通常大。在典型的系统中,多达8000个或更多个会话可被同时保持在主服务器52中,每个会话具有至少一个专用的线程。会话的数目受限于RAM或存储器56的量。
数据库55存储待被通信到每个设备12的任务、更新和命令等。每当设备12的拥有者或管理员需要改变设备的状态的记录、强制进行立即常规呼叫、或获得该设备的当前参数等时,这些都可使用连接至网络18的计算机61或其他合适的设备来完成。如果应从设备12删除数据,或应冻结设备,这些命令也可经由计算机61而被通信至主服务器52。设备可以组成组,并且快速呼叫可共同地被请求以由一组这样的设备的管理员(例如经由计算机61)启用或禁止。主服务器52可将关于所讨论的设备12的快速呼叫状态的信息传输至计算机61。这样的信息可以是设备12当前是否被启用用于快速呼叫、该设备当前是在呼叫还是离线,以及最后快速呼叫的时间。主服务器52时常与RCS 30通信,使得RCS中的数据库35可随着设备在随后的快速呼叫期间的动作而被更新。例如,可更新RCS的数据库35,以使得RCS指令设备12呼叫主服务器52;该设备可通过立即地呼叫主服务器、或在其下一次至主服务器的排定的常规呼叫之前的某一其他点时呼叫主服务器来响应这样的指令。
设备12和主服务器52之间的单次通信可导致创建能够运行在并行运行的线程中的多个任务。例如,由于与主服务器52的单次通信50,可以使用两个、三个或更多个专用的线程58。
主服务器52负责与设备12进行主通信,主通信可包括来自服务器的消息,以命令该设备向服务器提供其位置、删除数据、发送其部件的一些或全部标识、或采取任何类型的安全动作。主服务器52还可向设备12传输升级。由于主服务器52接受相对长的通信并且执行相对长的任务(在相对长的任务中,会话60持续保持(keep alive)并且维持其上下文或状态),所以一个或更多专用的线程被用于每个通信会话。与之相反,RCS 30不保持跟踪状态或极少地保持跟踪状态,因此非专用的线程可被用在RCS中。对于快速呼叫和快速联系会话,情况仍是如此,快速联系会话可被RCS 30请求,并且在这样的快速联系会话中,被设备12发送至RCS的随后的包可被线程42中的任何线程处理。
为了使快速联系会话具有预定义的状态,应支持例如读和写516字节的整个数组,并且在RCS 30内执行所有必要的修改。代理14可允许在安全的快速联系会话期间进行这样的设置改变,或可使用RtlCopyMemory WindowsTM API(应用程序接口)以将设置写入存储器并且然后将它们拷贝到设置地址。前一种方法比较快,因为它只需要一个事务(transaction)。在后一种方法中,代理应在快速联系会话开始之前检测RtlCopyMemory例程的地址。
从设备12至RCS 30的快速呼叫和这两者之间的快速联系会话比至主服务器52的常规呼叫更为简单,并且可能短若干数量级。这些快速呼叫的目的是使RCS 30知晓设备的在线可用性,并且如果需要的话,为快速联系系统10提供用于迅速建立设备12和主服务器52之间的常规呼叫的方式。例如,被盗的电子设备可在快速联系系统10中并且更具体地在RCS 30和主服务器52中被标记成被盗。当被盗的设备12呼入至RCS 30时,RCS将指令它立即呼叫主服务器52以得到更大量的指令,这些指令可包括数据删除命令、锁定命令等。这避免用长的任务阻塞RCS 30,同时消除如果是设备等待直至它下一次排定的时间以呼叫主服务器52时该设备将通常经受的等待时段。线程池40中的相对低数目的线程42适合于处理来自大数目的设备12中的相对大数目的小任务44,适合于用于状态不需要被保持的通信,或适合于状态的可预测值如此之少以至于无需专用于会话的线程就可被跟踪。
线程池40被用在RCS 30中,因为在处理器的使用率方面,线程创建并非特别便宜,且因为具有等待就绪(ready-waiting)的线程池使得输入任务44的分配和处理更有效率,尤其是如果线程的数目被优化。为了最大化RCS 30中的处理器32的效率,用于处理小包20的代码应当理想上保持为最小,并且应当与主服务器52中的、用于处理常规通信的代码分开。这允许RCS 30根据操作系统资源和网络吞吐量来处理尽可能多的同时呼叫。
设备和RCS 30之间的通信利用完成端口24,其允许线程唤醒用于任何I/O操作的处理。每个会话上下文(session context)被保持在线程安全字典中,并且一旦相应的I/O操作完成,每个会话上下文就变成有效的(active)。会话上下文维持当前会话的状态,其允许RCS 30继续当前会话。在当前会话的处理期间,所有阻断操作(blockingoperation)(包括至数据库55的通信)都应被避免,或被卸载到RCS 30中的其他特定的线程或线程池中,以确保用于快速联系会话的线程40尽快地变为可用于另一已完成的I/O操作。
RCS 30可支持持续活动会话(keep-alive session)和非持续活动会话(non-keep-alive session),并且使用会话ID来标识会话。为了控制当前会话列表,一个特殊看门狗线程应间或地执行对过期的非持续活动会话的核查。
除了I/O和快速联系会话处理线程之外,RCS 30应具有一个回呼接口,可用于在特定的端口上使用TCP通信在特殊线程上从外部数据库(例如,数据库35,如果包含在与RCS 30分立的服务器中)被呼叫。RCS 30还可在启动、登录等期间支持性能计数器、报告、查询外部数据库。
参照图2,示出了从设备12发送至RCS 30的小包20的实施例。小包20具有头部分63,该头部分63例如可包括互联网协议头、TCP头和多种校验和。根据用于传输的协议,头部分63可以是20字节长。在头部分63之后存在数据部分和标识部分65,所述数据部分由HTTP请求64(例如,POST请求)形成,所述标识部分65可包含设备12的ESN16。根据特定的情况,HTTP请求64可以是例如156字节长,并且标识部分65可以是24字节长。总之,包20因此可以是200字节长。根据所选定的配置,其他实施方案中的小包可具有不同的部分长度和不同的总长度。主要要求是包20是小包(尤其当与和主服务器52进行通信的包51相比时),并且包含最小的信息,通常仅足以标识正呼叫的设备12。
标识部分65可以是基于设备12的ESN生成的并存储在RCS 30处的公共令牌。RCS 30存储密钥以使令牌有效,并且将它翻译成ESN。
例如,小包20中的数据部分(即,HTTP请求64和标识部分65)可以是如下内容:
POST/HTTP/1.1..User-Agent:Moxilla/5.0(compatible;MSIE8.0;)..
Host:a.fc.namequery.com..Content-Length:24..Connection:Keep-Alive..Pragma:
no-cache...1.Δ.Λ..^Esè3/4dO1/4..μGu..
参照图3,示出了从设备12发送至主服务器52的常规包51的实施例,或者反之亦然。常规包51具有头部分67,该头部分67例如可包括互联网协议头、TCP头和多种校验和。根据用于传输的协议,头部分67可以是20字节长。在头部分67之后存在数据部分68,数据部分68可包含设备12中的部件的详细标识、设备位置、存储在设备上的文件、设备的状态、安装在设备上的软件的细节等,以及设备的ESN 16。根据特定的情况,包51的数据部分68可例如最多达约1500字节长。主要点是包51可以是并且一般是大的(尤其当与和RCS 30进行通信的包20相比时),并且可以包含大量的信息和命令。
参照图4,示意性地示出了一个功能流程图,该功能流程图表示针对设备还未被建立用于做出至RCS 30的快速呼叫但是被建立用于做出至主服务器的呼叫的情形,可由系统10进行以建立快速呼叫设施的过程。事先在主服务器52的数据库55中标记建立设备12用于快速联系的动作项(action item)。在步骤70中,通过设备12做出至主服务器52的常规呼叫。在步骤72中,设备12从主服务器接收一个命令以开始呼叫RCS 30,RCS 30的URL以及用于代理14的任何所必需的升级代码也被提供给该设备。快速呼叫率还可以在接连的快速呼叫之间应当消逝的时间间隔的形式向设备12被提供。然后在步骤74中,设备12中的代理14启用设备做出至RCS 30的快速呼叫。例如,这可通过在代理中设置一比特的标记以指示应当做出快速呼叫来实施。在步骤76中,设备12做出至RCS 30的快速呼叫。在步骤78中,RCS 30确定是否应当打开与设备12的快速联系会话。如果不应当打开快速联系会话,例如如果没有对做出常规呼叫的立即需求,则在步骤80中,设备12中的代理14确定是否到了至主服务器52的排定的常规呼叫的时间。如果未到这样的排定的常规呼叫的时间,则过程返回至步骤76,在步骤76中在用于快速呼叫的设置时间间隔已经过去之后,做出至RCS 30的随后的快速呼叫。如果到了排定的常规呼叫的时间,则在步骤82中做出至主服务器的常规呼叫。返回到步骤78,如果将要打开与RCS 30的快速联系会话,则在步骤84中RCS请求设备12打开会话。如果在快速联系会话期间,在步骤86中没有做出立即常规呼叫,则过程返回到步骤80,在步骤80中代理确定是否无论如何也要做出排定的常规呼叫。然而,如果在快速联系会话期间,在步骤86中设备12将要呼叫主服务器52,则过程移动到步骤82,在步骤82中设备做出至主服务器的立即呼叫。
反之,设备12的拥有者和管理员可通知主服务器52快速联系特征将被禁用。该信息之后可从主服务器52传递至RCS 30,RCS 30在随后的来自设备12的快速呼叫期间则将请求快速联系会话的建立,在所述快速联系会话中,一个命令将被发送到设备以停止呼叫RCS。
当报告设备12被盗时,一旦设备12呼叫了主服务器52,则它被命令更频繁地呼叫主服务器,可能地每15分钟或以某一其他合适的间隔。由于设备12将更经常地呼入主服务器,所以将不需要呼叫RCS 30,因此可指令代理14停止呼叫RCS。
参照图5,示出了在RCS 30接收到快速呼叫时在RCS 30处发生的过程的流程图。在步骤90中,RCS 30接收快速呼叫,然后在步骤92中,基于在快速呼叫中所接收的ESN来确定针对具有相应的ESN的设备12是否存在任何更新。更新可以是待呼叫的新的RCS、待呼叫的新的主服务器、新呼叫时间或间隔等。如果不存在需要的更新,则在步骤94中,RCS 30忽略快速呼叫且不响应,并且在步骤96处该过程结束。然而,如果存在针对设备的更新,则在步骤98中RCS 30请求设备打开会话,在该会话期间,在步骤99中,RCS向设备发送(一个或多个)更新。在已经发送了更新之后,该过程在步骤96处结束。对于每个随后的快速呼叫,重复整个过程。
C.授权令牌
代理14可与RCS 30以两种模式通信:第一种是认证模式,当代理具有公共RCS认证令牌17或能够获得公共RCS认证令牌17时,公共RCS认证令牌17已经被RCS 30创建并且被发送回设备12;第二种模式是非认证模式,用于当代理不具有这样的令牌17时或用于当要做出改变时。如果代理14具有令牌17或能够获得令牌17时,令牌17可存储在注册表中以在重启动期间持久地(persistently)存储。在认证模式中,数据可被不加密地发送,因为令牌17已经是代理标识的加密表示从而是设备标识的加密代表,设备标识将仅由RCS 30知晓。
如果代理14不具有令牌17或不能够获得令牌17,则代理14发送不具有数据的包,并且从RCS 30接收作为响应的一个打开会话命令。如果RCS不能认证令牌,或者令牌已经被认证但存在一些所需要的改变并且代理的行为和/或策略应通过改变代理设置中的数据被更新,则将给出相同的响应。在接收了打开会话命令之后,代理14和RCS 30建立加密密钥和初始向量,并且用它们来使通信安全。在加密会话期间,可通过RCS 30从数据库35取回设备的ESN 16,并且针对未决的动作核查设备的ESN 16,并且如果存在任何未决的动作,则可根据需要做出必要的改变,例如待呼叫的主服务器的URL、下一次常规呼叫时间、待呼叫的RCS的URL、至RCS的默认回呼时间等。还可发布安全令牌17。如果加密会话是针对代理14呼叫RCS 30的初始设定,则这些改变可从空的或默认值改变。当已经发布了新的令牌时,代理将它存储在注册表中,以在随后的快速呼叫中使用。
为了生成令牌17,RCS 30获得设备的ESN作为消息和RCS特定的认证标签(例如,计算机名、来自注册表的数据、工作文件夹名称等),并且使用基于特定时间表(诸如每个月一次)的RCS所生成的并且存储在RCS注册表中的RCS密钥将ESN加密。该令牌(即,加密ESN)之后被发送至设备12,作为在随后的快速呼叫中待发送回RCS的数据。当RCS 30在随后的快速呼叫中接收数据时,它使用认证标签将数据解密,以揭示设备12的ESN。每当RCS的认证标签改变时,将期望来自所有设备12的快速呼叫将导致快速联系会话的建立,直到重建了所有令牌17。
参照图6,示出了快速联系系统10的流程图,针对首次建立令牌17或针对改变现有的令牌的过程。在步骤110中,代理14核查是否到了做出至RCS 30或至主服务器52的呼叫的时间。如在步骤112所确定的,如果未到做出呼叫的时间,则过程返回至步骤110,以核查在稍后时间处是否到了做出至这两个服务器中的任一个的呼叫的时间。
如果在步骤112中,到了做出呼叫的时间,则代理在步骤114中确定是否应该做出快速呼叫。如果不是快速呼叫,则在步骤116中做出至主服务器的常规呼叫。如果在步骤114中应该做出快速呼叫,则代理在步骤120中确定它是否能够获得令牌17。如果代理14不能够获得令牌17,则它在步骤122中向RCS 30发送空包(即,没有数据、没有ESN,或者空ESN)。然而,如果代理14能够获得令牌17,则它在步骤124中向RCS发送包含该令牌的包20。在已经发送了令牌17之后,代理14在步骤126中确定通信是否结束。可由RCS 30向代理14发送确认响应、断开连接命令或不响应来向代理14表明(signify)通信的结束。如果在步骤126中,并非是通信的结束,则代理14在步骤128中确定它是否已经从RCS 30接收“打开会话”命令。如果它还未接收到打开会话命令,则代理14在步骤130中从RCS 30断开连接。如果在步骤128中,代理14从RCS 30接收到打开会话命令,则它在步骤131中打开会话。代理还可在步骤122之后到达步骤128,在步骤122中代理向RCS发送空包。在步骤132中,代理确定在设备中是否存在有效的加密DLL,并且如果存在有效的加密DLL,则在步骤134中交换代理和RCS之间的密钥。如步骤136中所确定的,如果密钥交换不成功,则代理在步骤130中从RCS 30断开连接。如步骤136中所确定的,如果密钥交换成功,则代理在步骤138中向RCS发送包。所发送的包包括(如果可用):设备的ESN、设备所呼叫的主服务器的URL、至主服务器的下一次呼叫时间、RCS的URL和呼叫RCS的间隔。作为响应,RCS 30向设备12发送经更新的数据(可选的)和新令牌17。如果在步骤140中,代理已经接收到新数据,则它在步骤142中更新设备设置。在此之后或者如果在步骤140中不存在被代理接收的新数据,代理14在步骤144中将新认证令牌17存储在设备12中。之后,在步骤130中代理断开连接。
注意,通常在与RCS 30的快速联系会话期间,加密DLL和公共RSA密钥将存在于设备中。如果它们两者中的任一个都不存在,或加密DLL不能被加载,则代理可被配置成立即自动地呼叫主服务器52。替代地,它可能像平常一样作用并且按排定呼叫主服务器。
D.顺序图
参照图7,示出了用于在已经启用至主服务器(例如,监护服务器(guardian server))的常规呼叫的设备上启用快速呼叫的顺序图。由于从代理至主服务器的常规代理呼叫200,在设备和主服务器之间所设立的通信会话期间建立202快速呼叫(FC,或迅速呼叫)特征。在快速呼叫特征建立之后,代理则做出至RCS 30的快速呼叫204。RCS用一个确认206来响应,因为没有要做的。短时间之后,代理做出另一快速呼叫208,并且再次接收一个确认210,因为仍没有要做的。
参照图8,示出了当不存在用于设备的未决动作时的系统操作的顺序图。代理向RCS提交(POST)一个HTTP请求220。RCS用一个确认222来响应,因为没有要做的。短时间之后224,代理做出另一快速呼叫226,并且再次接收一个确认228,因为仍没有要做的。
参照图9,示出了当代理做出常规呼叫时发生的事件的顺序图,所述代理也被配置成用于快速呼叫。代理向RCS提交(POST)一个HTTP请求250。RCS用一个确认252来响应,因为没有要做的。短时间之后,代理做出另一快速呼叫254,并且再次接收一个确认256,因为仍没有要做的。接下来,在排定的常规呼叫时间时,到了用于至主服务器的常规呼叫260的时间,涉及会话的建立和与常规呼叫相关联的数据的交换。在常规呼叫之后,代理返回以做出至RCS的快速呼叫264。
参照图10,示出了在至RCS的呼叫期间如何更新快速呼叫设置的顺序图。首先,代理向RCS发送一个HTTP包270。RCS用一个请求272响应,以打开会话。代理之后向RCS发送其当前设置274,之后RCS将经更新的设置276发回至代理。然后,会话终止。假设RCS未发送一个设置从而关闭了快速呼叫,则代理在通常的超时间隔已经过去之后,再次呼叫RCS 278。
参照图11,示出了可如何强制代理呼叫主服务器的顺序图。这使用仅例如五个包来实现。首先,代理向RCS发送HTTP包300,之后RCS向代理发送一个请求302,以打开会话。然后,代理向RCS发送其设置304,RCS之后将经更新的设置306发送回至代理(如果存在任何代理的话),并且RCS之后立即发送回一个用于代理呼叫主服务器的命令308。在与RCS的快速联系会话被断开连接之后,代理立即地、在其正常计划之外的呼叫310主服务器,并且与它建立会话。当与主服务器的会话已经终止时,在快速呼叫间隔已经逝去后,代理则像平常一样呼叫312RCS。
参照图12,示出了安全动作的性能的顺序图。如上所述,在向代理发送322一个命令以发起至主服务器的立即呼叫期间,做出至RCS的快速呼叫320。这是因为已经在RCS处针对特定的代理设置了标记,以强制至主服务器的呼叫。在与主服务器的会话330期间,代理接收一个指令334,以开始从设备删除数据。与主服务器的会话结束,且设备继续数据删除操作。在数据删除操作已经完成之后,快速呼叫之间的时间间隔逝去。由于存在将由代理实行的另一高优先级的动作,所以在至RCS的随后的快速呼叫340期间,呼叫主服务器的命令342再一次从RCS传输至代理。在本实施例中,在至主服务器的呼叫344期间,发送命令346以冻结设备。尽管设备被冻结,它仍保持呼叫RCS的能力,在内部呼叫间隔224已经逝去之后它这样做。这时,由于不存在针对代理的未完成的动作并且RCS处的标记已经被复位,则与主服务器的会话不被请求。
E.另一实施方案,具有整合服务器
参照图13,示出了快速联系系统的另一实施方案。它示出了经由路由器380连接至多个RCS(FC服务器)30的多个设备12。主服务器52被示出为CTSrv。示出了客户中心服务器(CC)390,其实施一个网络应用,所述网络应用允许客户浏览有关快速联系的信息,并且启用和禁用快速呼叫特征。它可示出哪些设备已经启用了快速联系以及哪些设备未启用快速联系。它能示出来自每个设备的最后快速呼叫的时间,并且能够突出最近的呼叫,因为它们更可能是在线的。CC可被用于强制至主服务器的常规呼叫。CC可示出哪些设备具有未完成的参数更新,或相对于它们进行的强制代理呼叫动作,以及已经完成的动作的历史。如果用户在启用了快速联系的设备上请求终端用户消息(End UserMessage)、设备冻结(Device Freeze)或数据删除(Data Delete),则CC将通知整合服务400(见下面)设备应在它下一次呼叫时建立常规的代理呼叫。
EMS 395是ESN管理服务器(还被实施为网络服务),具有一些类似于CC 390的功能。这将允许使用者在一个计算机上或同时在一组计算机上设置有关快速联系的参数。所述计算机可以是公共订单或公共账户。它可被用于请求至主服务器的强制呼叫。EMS 95可示出哪些设备已经启用了快速联系,以及哪些设备未启用快速联系。它能示出来自每个设备的最后快速呼叫的时间,并且能够突出最近的呼叫,因为它们更可能是在线的。EMS可示出哪些设备有突出的参数更新或相对于它们进行的强制代理呼叫动作,以及已经对它们执行的任何动作的历史。
RCS从整合服务400获得了关于特定的代理是否需要做出至主服务器的常规呼叫的信息。当设备呼入时,RCS向设备发送该信息,并且之后关于该呼叫以及所做出的任何改变通知整合服务。
整合服务400通知RCS关于对更新代理的参数的任何新的请求。当RCS通知整合服务关于已完成的代理参数改变时,整合服务将关于所述改变的信息写至外部数据库410。整合服务还向CC和EMS提供信息,所述信息为诸如关于连接到整合服务的RCS的状态信息,以及具体的设备呼入至RCS的最后时间。对于小的快速联系系统,整合服务可仅被实施作为接口和/或API,但对于较大的系统,比较好的是被实施作为独立的服务器。
快速联系数据405存储用于需要在设备的下次呼叫时被更新的设备的参数更新的列表。当RCS启动时,它们直接查询快速联系数据库405,以抽选(seed)它们的本地缓存35。CC和EMS直接查询数据库410,以获得关于哪些动作已被完成的信息。数据库415还维护每个设备何时最后呼入至它的易失性历史,使得EMS和CC能够示出哪些设备更可能当前在线。
F.另一实施方案的过程
参照图14,示出了用于设备配置的顺序图。EMS 395被用于设置500用于设备的快速联系参数,并且将所需的参数发送至CTData数据库420(图13)。它还发送502参数至整合服务400。
在图15中,示出了用于设备参数更新的顺序图。代理做出至主服务器的常规呼叫,在此期间通常的消息被交换。此外,在该呼叫期间,主服务器从CTData数据库取回522用于设备的快速联系参数。快速联系参数在设备上被设置524,并且在这些设置之后,通过主服务器52经由EMS 395将已完成动作的通知发送526至整合服务400。在此之后,在设备和主服务器之间可能存在更多的所交换的标准消息528。
在图16中,示出了用于RCS启动的顺序图。作为开始,RCS从快速联系数据库405获得540任何未决动作。然后,它将任何未决动作写542至本地动作表缓存35,并且向整合服务400注册544。
在图17中,示出了用于新参数更新的轮询或用于强制呼叫的轮询的顺序图。在定时器560到期之后,整合服务400从数据库405中的动作表获得新动作562,在此之后,它通知RCS新的动作。
在图18中,示出了在不存在未决参数更新或不存在强制呼叫指令时,用于至RCS 30的快速代理呼叫的顺序图。首先,代理做出至RCS的快速呼叫580。RCS发送582针对设备至整合服务的最后呼叫时间,所述整合服务之后发送584所述最后呼叫时间至存储器内的数据库415中的最后呼叫表。然后,RCS在本地数据库缓存35中查找586任何可能用于设备12未决的动作。由于不存在未决的动作,所以RCS简单地向设备发送回一个确认。
在图19中,示出了当存在未决参数更新或强制呼叫时,用于至RCS30的快速呼叫的顺序图,首先,代理呼叫600RCS,RCS发送602最后呼叫时间至整合服务器,整合服务器转而发送604所述最后呼叫时间至数据库中的最后呼叫表。RCS获得606用于该设备的任何未决动作,在这种情况下,所述任何未决动作是将要设置的新参数。新参数被发送608至代理,然后已经完成的动作从等待设备的动作的列表中被删除610。之后,已经完成的动作在整合服务器处被设置为已完成612,然后整合服务器在动作表中将该动作设置为已完成614,并且在动作表历史中做一个条目616。
G.规模
快速联系系统10可包括经由负载均衡器700连接至网络18的多个RCS,如图20中所示。如果达到整合服务器400的最大容量,则可增加一个或多个另外的整合服务器702,每个整合服务器负责一组给定的RCS 30,并且每个整合服务器具有相应的数据库705、710,所述相应的数据库705、710被配置以存储被配置成呼叫所述整合服务器的、用于设备12的数据和动作。对于每个附加的整合服务器或整合服务器组,可以增加另一个负载均衡器,该负载均衡器自身具有用于待呼叫的相应的设备12的公共IP地址。可使用高性能分布式的数据存储,诸如ApacheCassandraTM、Microsoft VelocityTM或Microsoft ServerAppFabricTM,使得所有整合服务器可针对本质相同的数据工作。
H.工业适用性
快速联系系统可为设备的管理员或拥有者减少在远程设备上调用安全手段(诸如,数据删除、设备冻结等)所消耗的时间。此外,受保护的设备和监测服务器之间的通信信道的可用性是间歇地但频繁地被维持而不引入成本,并且使用维持连续连接原本需要的资源和带宽。
I.变化
可使用不同的至RCS 30的呼叫间隔。例如,如果RCS每分钟可处理100000次呼叫,那么30分钟的系统宽呼叫间隔将允许管理三百万个设备。替代地,如果呼叫间隔被设置成5分钟,那么可管理500000个设备。
当被请求读取字段或标记时,代理14可被配置成仅读取相关的那些,而不是一组字段或标记(字段或标记中的一些可能不被需要)。
设备可被配置成根据它们是否被连接到它们的家庭网络而以不同的时间间隔做出快速呼叫。由于一般认为设备在它们的家庭网络上更安全,则较长的快速呼叫间隔(诸如一个小时)是可接受的。当设备离开办公室或家庭时,则认为不太安全,并且快速呼叫间隔可被减少至例如5分钟。可在代理或RCS内实施该特征。
在主RCS故障或它的操作中有问题的情况下可采用备份RCS。
在一些实施方案中,可实践所公开的架构背后的基本原理,而无需使用技术意义上的快速联系服务器。因此,例如,在一些实施方案中,监测中心可包括第一服务器和第二服务器,它们中的每一个使用对应的不同协议与电子设备通信,使得第二服务器(它可以是但不必须是快速联系服务器)更适合处理与电子设备进行相对短的、频繁的通信。例如,当报告电子设备被盗时,第二服务器可指令电子设备(使用第二协议)联系第一服务器;电子设备然后可联系第一服务器(使用第一协议)并且取回如上所述的一个或多个安全指令。
可行的话,一个服务器所执行的快速联系系统的功能可在分立的服务器之间分割,并且可在相同的服务器上合并在多个服务器上所执行的功能。还可在系统中采用中间服务器。数据库还可被布置在与本文所示的架构不同的架构中。
设备12可基于随机、或半随机、或在逐渐变化的时间段上呼叫服务器中的一个或两个。
如果快速联系系统10被配置成当接收到快速呼叫时在没有动作待被进行的情况下用于向设备12发送确认,则代理14可被配置成在做出预定数目的连续的未被确认的快速呼叫之后立即呼叫主服务器52。
快速联系系统10可被配置成如果RCS命令代理仅做出至主服务器的呼叫,则使得代理仅做出至主服务器的呼叫。如果不存在用于设备的未完成动作,则将不需要呼叫主服务器。
至RCS 30的快速呼叫不同于心跳,是因为快速呼叫的缺失未必表明一个问题,而相同方式的心跳的缺失却表明一个问题,并且在快速呼叫中并未传送关于设备12的状态的任何信息,像平常心跳一样。快速呼叫也不同于ping,因为来自RCS 30的响应不是必需的,而ping需要响应。快速呼叫更多的是“拨动(poke)”,它表明在一定距离处做联系而无需响应。
代理可被配置成根据连接是否更可能被计量而以不同的速率联系RCS。例如,是否通过移动宽带进行。
可按不同于所例示的次序执行流程图中的步骤,或者在单独示出的地方将它们合并。在都不脱离本发明的范围内,步骤可被忽略且其他步骤可被增加,并且不同流程图的步骤可被互换。本文所描述的由“代理”所执行的任务可通过在代理控制之下的相关联的设备执行,诸如代理的程序代码的执行。
还可设想不同的数量、相对数量、尺寸、时间间隔、包长度、包的数目、序列号格式和其他直接的变化。
本说明书是目前设想的实施本文所公开的和所要求保护的主题的最佳方式。说明书是出于例示主题的总体原理的目的,而不应认为是限制的意义;如本领域技术人员在理解主题深层的原理之后将明了的,在不偏离所做的公开内容的范围的前提下,主题在多个实施方案中可找到实用性。

Claims (31)

1.一种用于监测电子设备的监测系统,所述系统包括:
第一服务器,被配置成根据第一协议与所述电子设备通信,所述第一服务器被配置成将安全指令传输至被报告为丢失或被盗的电子设备,所述安全指令包括保护存储在电子设备上的数据的安全指令;以及
第二服务器,被配置成根据第二协议与所述电子设备相对频繁地通信,所述第二服务器被配置成指令被报告为丢失或被盗的电子设备联系所述第一服务器,使得所述电子设备能够从所述第一服务器取回安全指令;
其中所述第二协议被优化用于与所述第一协议相比相对短的、低数据传送通信。
2.根据权利要求1所述的系统,其中与假如所述电子设备仅用所述第一服务器与监测中心的通信相比,所述第二服务器使得所述电子设备与所述监测系统能够更频繁地通信。
3.根据权利要求1所述的系统,其中与假如所述电子设备仅用所述第一协议与监测中心的通信相比,所述第二协议使得所述电子设备与所述监测系统能够更频繁地通信。
4.根据权利要求1所述的系统,其中与所述第一服务器的软件线程架构相比,所述第二服务器使用一种被优化用于处理与所述电子设备的相对大数目的短通信的软件线程架构。
5.根据权利要求4所述的系统,其中所述第二服务器使用非特定会话的线程池来与所述电子设备通信,并且所述第一服务器使用专用于与所述电子设备的特定通信会话的线程来与所述电子设备通信。
6.根据权利要求1所述的系统,其中所述第二服务器与至少500000个电子设备通信。
7.根据权利要求1所述的系统,其中使用所述第二协议的每个通信由从多个电子设备中的一个电子设备发送至所述第二服务器的单个包组成。
8.根据权利要求7所述的系统,其中所述包包括所述一个电子设备的标识。
9.根据权利要求8所述的系统,其中所述标识被加密。
10.根据权利要求8所述的系统,其中响应于接收所述包,所述第二服务器基于所述标识和与所述标识相关联的标记来确定是否应该与所述一个电子设备建立会话。
11.根据权利要求10所述的系统,其中如果所述第二服务器确定不应该建立所述会话,则所述第二服务器对所述一个电子设备不做出响应。
12.根据权利要求10所述的系统,其中如果所述第二服务器确定不应该建立所述会话,则所述第二服务器向所述一个电子设备发送一个确认。
13.根据权利要求10所述的系统,其中如果所述第二服务器确定不应该建立所述会话,则所述第二服务器向所述一个电子设备发送一个断开连接指令。
14.根据权利要求10所述的系统,其中如果所述第二服务器确定不应该建立所述会话,则所述第二服务器从所述一个电子设备断开连接。
15.根据权利要求10所述的系统,其中如果所述第二服务器确定应该建立所述会话,则所述第二服务器向所述一个电子设备发送一条消息请求所述一个电子设备打开所述会话。
16.根据权利要求8所述的系统,其中所述包除了包括所述标识之外,不包括有关所述一个设备的任何信息。
17.根据权利要求7所述的系统,其中所述包小于2×102字节长。
18.根据权利要求1所述的系统,其中使用所述第二协议的另一个通信经由具有最多达五个包的短会话发生。
19.根据权利要求18所述的系统,其中所述短会话具有最多达四个包。
20.根据权利要求18所述的系统,其中使用所述第一协议的通信经由长会话发生,所述长会话比所述短会话在所通信的字节数目方面大至少一个数量级。
21.根据权利要求20所述的系统,其中使用所述第一协议的通信经由长会话发生,所述长会话比所述短会话在所通信的字节数目方面大1-4个数量级。
22.根据权利要求1所述的系统,其中使用所述第一协议的通信包括所述第一服务器指令电子设备停止与所述第二服务器通信。
23.根据权利要求1所述的系统,还包括一个代理,所述代理被配置成安装在所述电子设备上,以使得所述电子设备能够分别使用所述第一协议和所述第二协议与所述第一服务器和所述第二服务器通信,所述代理被配置成以第一速率呼叫所述第一服务器,并且以高于所述第一速率的第二速率呼叫所述第二服务器。
24.一种存储可执行代理的非暂态计算机可读介质,所述可执行代理包括指引电子设备执行一个过程的指令,所述过程包括:
根据第一协议与监测系统的第一服务器通信,以及根据第二协议与所述监测系统的第二服务器通信,其中所述第二协议被优化用于相对于所述第一协议的短通信;
在基于所述第二协议的会话中从所述第二服务器接收指令以联系所述第一服务器;
响应于所述指令,根据所述第一协议发起与所述第一服务器的通信会话,其中在所述通信会话期间,所述电子设备从所述第一服务器接收安全指令,所述安全指令指定与所述电子设备的被盗或丢失相关联的安全动作;以及
执行所述安全指令。
25.根据权利要求10所述的非暂态计算机可读介质,其中所述代理指令所述电子设备以第一循环呼叫速率呼叫所述第一服务器,并且以大于所述第一循环呼叫速率的第二循环呼叫速率呼叫所述第二服务器。
26.根据权利要求23所述的非暂态计算机可读介质,其中所述第二协议被优化用于比使用所述第一协议的通信短1-4个数量级的通信。
27.一种用于监测电子设备的方法,包括以下步骤:
在第一服务器中接收电子设备具有等待安全指令的通知;
在第二服务器中接收所述电子设备应该联系所述第一服务器的通知;
在第二服务器中从所述电子设备接收一个单独的包,所述包包括所述电子设备的标识;
确认所述标识被标记以联系所述第一服务器;
在所述第二服务器和所述电子设备之间建立短会话,在所述短会话期间,所述第二服务器指令所述电子设备联系所述第一服务器;以及
在所述第一服务器和所述电子设备之间建立长会话,在所述长会话期间,所述第一服务器将所述安全指令通信至所述电子设备。
28.根据权利要求27所述的方法,其中所述长会话在所通信的字节数目方面比所述短会话长1-4个数量级。
29.根据权利要求27所述的方法,其中所述第二服务器使用线程池以与所述电子设备通信,并且所述第一服务器使用专用于特定会话的线程与所述电子设备通信。
30.根据权利要求27所述的方法,其中所述短会话具有最多达5个包。
31.根据权利要求27所述的方法,其中所述包具有2×102字节或更少。
CN201380068353.9A 2012-10-26 2013-10-28 使用被优化用于不同通信类型的多个服务器的设备监测 Active CN104885094B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261719259P 2012-10-26 2012-10-26
US61/719,259 2012-10-26
PCT/CA2013/000923 WO2014063240A1 (en) 2012-10-26 2013-10-28 Device monitoring using multiple servers optimized for different types of communications

Publications (2)

Publication Number Publication Date
CN104885094A true CN104885094A (zh) 2015-09-02
CN104885094B CN104885094B (zh) 2018-04-24

Family

ID=50543813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380068353.9A Active CN104885094B (zh) 2012-10-26 2013-10-28 使用被优化用于不同通信类型的多个服务器的设备监测

Country Status (10)

Country Link
US (1) US9646180B2 (zh)
EP (1) EP2912599B9 (zh)
JP (1) JP6349319B2 (zh)
KR (1) KR102093173B1 (zh)
CN (1) CN104885094B (zh)
AU (1) AU2013334438B2 (zh)
CA (1) CA2909898C (zh)
MX (1) MX352123B (zh)
RU (1) RU2647687C2 (zh)
WO (1) WO2014063240A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496291B2 (en) 2015-12-18 2019-12-03 Sap Se Maintaining data integrity during data migration
US11032762B1 (en) * 2018-09-18 2021-06-08 Amazon Technologies, Inc. Saving power by spoofing a device
US11496575B2 (en) * 2020-09-10 2022-11-08 T-Mobile Usa, Inc. Enhanced messaging as a platform
US11863320B2 (en) 2021-02-26 2024-01-02 Dialog Semiconductor US Inc. Communication media sharing among devices having dissimilar physical layer waveforms

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138194A1 (en) * 2003-12-23 2005-06-23 Texas Instruments Incorporated Methods and systems for multi-protocol communication
US20110076986A1 (en) * 2009-09-25 2011-03-31 Duncan Glendinning Theft deterrent techniques and secure mobile platform subscrition for wirelessly enabled mobile devices
CN102089764A (zh) * 2007-01-16 2011-06-08 绝对软件公司 具有与主代理协调的辅助代理的安全模块
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04290102A (ja) * 1991-03-19 1992-10-14 Mitsubishi Electric Corp サーボ機構への情報伝送装置
US5715174A (en) * 1994-11-15 1998-02-03 Absolute Software Corporation Security apparatus and method
JPH09215057A (ja) * 1996-02-01 1997-08-15 Hitachi Ltd 携帯端末および携帯端末情報保護方法
US6038223A (en) * 1997-10-22 2000-03-14 Telefonaktiebolaget Lm Ericsson (Publ) Access scheme for packet data in a digital cellular communication system
US7025209B2 (en) * 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
WO2002019121A1 (en) * 2000-09-01 2002-03-07 Lucira Technologies, Inc. Method and system for tracking and controlling a remote device
JP2002209030A (ja) * 2001-01-10 2002-07-26 Fujitsu Ltd 端末装置及び通信サービスの課金方法
WO2002056548A1 (fr) * 2001-01-16 2002-07-18 Sony Corporation Procede de transmission de donnees, emetteur de donnees, support d'enregistrement et programme
JP2003070070A (ja) * 2001-08-29 2003-03-07 Sharp Corp 通信機能付携帯情報端末およびその不正使用防止方法ならびにシステム
GB0229759D0 (en) * 2002-12-20 2003-01-29 Becrypt Ltd Security device
US7590837B2 (en) * 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
US20050186954A1 (en) * 2004-02-20 2005-08-25 Tom Kenney Systems and methods that provide user and/or network personal data disabling commands for mobile devices
US8548429B2 (en) * 2004-03-08 2013-10-01 Rafi Nehushtan Cellular device security apparatus and method
FR2885246B1 (fr) * 2005-04-29 2007-06-15 Thales Sa Terminal nomade de transactions electroniques securise et systeme de transactions electroniques securise
US7584201B2 (en) * 2005-08-10 2009-09-01 Qwest Communications International, Inc Management of mobile-device data
KR100723700B1 (ko) * 2005-08-31 2007-05-30 에스케이 텔레콤주식회사 원격에서 이동통신 단말기의 작동을 제어하는 방법 및시스템
GB0603836D0 (en) * 2006-02-25 2006-04-05 Ibm A theft detection component
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US20080120707A1 (en) * 2006-11-22 2008-05-22 Alexander Ramia Systems and methods for authenticating a device by a centralized data server
US20090287895A1 (en) * 2008-05-15 2009-11-19 Advanced Micro Devices Secure Memory Access System
CA2771208C (en) * 2009-11-17 2013-01-22 Absolute Software Corporation Multiple device loss status retrieval without id provision
KR101825653B1 (ko) * 2011-01-03 2018-02-05 삼성전자 주식회사 통신 단말기의 분실 모드 수행 방법 및 장치
US20130335223A1 (en) * 2012-06-18 2013-12-19 International Business Machines Corporation Electronics theft deterrent system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138194A1 (en) * 2003-12-23 2005-06-23 Texas Instruments Incorporated Methods and systems for multi-protocol communication
CN102089764A (zh) * 2007-01-16 2011-06-08 绝对软件公司 具有与主代理协调的辅助代理的安全模块
US20110076986A1 (en) * 2009-09-25 2011-03-31 Duncan Glendinning Theft deterrent techniques and secure mobile platform subscrition for wirelessly enabled mobile devices
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法

Also Published As

Publication number Publication date
CA2909898C (en) 2020-10-13
EP2912599B1 (en) 2018-12-12
JP2016500969A (ja) 2016-01-14
AU2013334438B2 (en) 2018-06-14
CA2909898A1 (en) 2014-05-01
CN104885094B (zh) 2018-04-24
JP6349319B2 (ja) 2018-06-27
RU2647687C2 (ru) 2018-03-16
EP2912599B9 (en) 2019-05-22
KR20150079724A (ko) 2015-07-08
US20150294124A1 (en) 2015-10-15
RU2015119638A (ru) 2016-12-20
AU2013334438A1 (en) 2015-05-07
MX2015005317A (es) 2015-10-30
KR102093173B1 (ko) 2020-03-26
WO2014063240A1 (en) 2014-05-01
EP2912599A4 (en) 2016-03-30
EP2912599A1 (en) 2015-09-02
MX352123B (es) 2017-11-09
US9646180B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
US9330514B2 (en) Systems and methods for locking device management
US10353689B2 (en) Method for transferring a file via a mobile device and mobile device for performing same
EP2280580A1 (en) Data transfer with wirelessly powered communication devices
KR20130129429A (ko) 이동 단말기의 신분을 관리하는 방법 및 장치
MXPA04005736A (es) Sistema y metodo para descargar informacion usando un representante.
CN102223354B (zh) 一种网络支付鉴权方法、服务器及系统
CN103095457A (zh) 一种应用程序的登录、验证方法
CN104885094A (zh) 使用被优化用于不同通信类型的多个服务器的设备监测
CN113162973B (zh) 一种ssl vpn的ip接入方法及装置
CN109729000B (zh) 一种即时通信方法及装置
CN104468825B (zh) 远程授权方法及系统
CN103208043A (zh) 一种提供酒店服务的方法及系统
EP3041188B1 (en) Method, device and system for controlling presentation of application
KR20120128158A (ko) 라이센스 발행 시스템, 클라이언트 단말기, 서버, 및 라이센스 발행 방법
CN103401931A (zh) 一种下载文件的方法和系统
US20110258690A1 (en) Secure handling of identification tokens
CN104660484A (zh) 一种用于即时通讯客户端的数据传输方法以及装置
EP2981148B1 (en) Device management method, apparatus and system
EP1774424B1 (en) A method and apparatus for delivering keys
EP1547416B1 (en) Method for calculating hashing of a message in a device communicating with a smart card
KR101440419B1 (ko) 전자금융서비스 상호 모니터링 시스템 및 방법
CN103973699A (zh) 数据加密、解密方法和装置
WO2018107248A1 (en) System of secure client side data storage
CN103561053B (zh) 一种移动终端管理系统和管理方法
KR101369782B1 (ko) 복수 개의 이동 단말기를 이용한 유심 데이터 복원 방법

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant