本公开总体上涉及基于用户设备可操作耦合生成用户的社交网络,尤其涉及基于用户设备耦合的位置、持续时间和/或频率来确定用户之间的关系的类型。
背景技术:
确定人们之间的关系会是有用的。例如,在特定餐厅吃饭的人可能具有口味相似的好友。因此,餐厅的所有者可能希望向作为常客的人的好友发送广告。然而,确定作为常客好友的人的身份和联系人信息是非常困难的。此外,餐厅的所有者可能希望更具选择性。例如,不同于向常客的所有好友发送广告,餐厅所有者可能想要仅向与所述常客在相同区域生活或工作的好友发送广告。
收集联系人信息也是困难的。诸如餐厅顾客之类的用户未必访问公司并且提供他们的好友、家人和同事的联系人信息。因此,公司可能要为该数据而寻找其它来源,诸如社交网络网站。然而,社交网络网站未必具有该数据或者未必允许公司有权访问该数据。
社交网络存储基于用户自愿提供的信息来表明哪些用户彼此相关的数据。例如,社交网络网站可以为用户提供界面以在社交网络网站上指定谁是他们的家人、好友、同学或同事。社交网络网站可以为用户提供界面以上传存储在他们的电话上的联系人。那些联系人包括姓名、电话号码或电子邮件地址,而并没有任何表明所述联系人与任何特定用户如何相关的数据。因此,社交网络网站可以通过网站或移动应用请求用户与所述用户所上传的一个或多个联系人如何相关。可替换地,社交网络网站可以通过从文档提取数据来确定用户之间的关系。例如,社交网络网站可以为用户提供界面以提交简历或履历(cv)。社交网络网站能够通过解析所述简历或cv来确定用户在哪里工作过,并且询问用户是否认识声称在相同的一个或多个地方工作过的一个或多个其它用户。
以上所列出的方法的缺陷在于,用户必须自愿向社交网络网站提供与他们自身和其他人相关的个人信息。用户常常并不情愿提供该数据。即使在用户提供一些数据时,一些用户也可能隐瞒他们并不要公众获知的数据。然而,当用户没有提供他们的个人信息时,社交网络网站的效用就会受限。因此,即使公司或公司所有者有权访问存储在社交网络中的数据,所述数据也可能并不完整。
该部分所描述的方法是能够继续演化的方法,而并不一定是之前已经想到或演化的方法。因此,除非另外表明,否则并不应当仅由于该部分所描述的任何方法包括在该部分之中就假定它们构成现有技术。
附图说明
在附图中:
图1图示了示例实施例中的用于基于用户所使用的计算机或设备之间的交互来确定他们之间的关系类型的网络拓扑。
图2图示了示例实施例中的用于基于表明第一用户计算机和第二用户计算机可操作耦合或曾经可操作耦合的遥测数据来确定或细化分别对应于该第一用户计算机和该第二用户计算机的第一用户和第二用户之间的关系的流程。
图3图示了示例实施例中的用于从用户接收有效载荷并且向一个或多个目标用户计算机发送该有效载荷的流程。
图4图示了实施例中的用于向一个或多个目标用户计算机发送目标消息的系统。
图5图示了示例实施例中的服务器计算机可以确定移动设备在诸如商场的店铺群组中被携带的示例路径。
图6是图示可以在其上实施本发明实施例的计算机系统的框图。
虽然每个附图出于图示出清楚示例的目的而图示了特定的实施例,但是其它实施例可以对附图中所示的任何要素进行省略、添加、重新排序和/或修改。出于图示出清楚示例的目的,一个或多个附图可以参考一个或多个其它附图进行描述,但是在其他实施例中并不要求使用所述一个或多个其它附图中所图示的特定排列形式。
术语、含义和示例
出于图示出本公开所讨论主题的清楚示例的目的,贯穿本公开,一个或多个含义或示例可以与一个或多个术语相关联。然而,与每个术语相关联的每个含义或示例并非意在是排他性的。此外,除非另外明确指出,否则诸如“或者”之类的词语可以是包含性或排他性的。以下是贯穿本公开所使用的特定术语的含义和示例的非排他性列举,下述列举中的一个或多个术语可以与本文稍后所讨论的一个或多个另外含义或示例相关联。
“计算机”或“设备”可以是一个或多个物理计算机、虚拟计算机和/或计算设备。作为示例,计算机可以是一个或多个台式计算机、膝上计算机、移动设备、电话、腕带、手表、其它可穿戴设备、信标、路由器、基于云的计算机,以及基于云的计算机集群,诸如虚拟处理器、存储和存储器的虚拟计算机实例或虚拟计算机元件,和/或任意其它专用计算设备。除非另外明确指出,否则本文对“计算机”的任何引用都可以意味着一个或多个计算机。
“交互”是一个计算机耦合至另一个计算机的时间段。例如,交互可以分别在第一计算机和第二计算机之间的连续连接开始和结束时开始和结束。而且,例如,交互可以在第一计算机确定其通过特定网络、网络类型、协议或协议类型耦合至第二计算机时开始;并且交互可以在第一计算机确定其不再通过特定网络、网络类型、协议或协议类型耦合至第二计算机时结束。注意,交互并不需要是单个连续的连接。例如,交互可以在第一计算机向第二计算机发送针对数据的第一请求时开始,所述第一请求诸如针对目录中的文件列表的请求;贯穿所述交互,第一计算机可以向第二计算机发送针对诸如目录中的文件的一个或多个相关资源(asset)的一个或多个附加请求;并且所述交互可以在第一计算机从第二计算机接收到目录中的文件列表以及目录中的文件时结束,或者在第一计算机和第二计算机之间通过特定协议的所有连接都终止时结束。而且,例如,交互可以在第一计算机开始从第二计算机流传输或请求诸如电影、音频书或幻灯片的媒体标题的一部分时开始;所述交互可以在客户端计算机完成媒体标题的流传输,不再请求媒体标题的任何另外部分,或者停止呈现媒体标题时结束。
本文的表示形式<j,k>描述了彼此相关联的数值的集合或矢量。例如,<bluetooth,10m>是具有两个数值的集合:“bluetooth”表示特定协议的名称,且“10m”表示与蓝牙(bluetooth)协议相关联的距离。数值可以由空格、逗号或任意其它(多个)字符所隔开从而提高阅读和理解该描述的能力。每个集合可以是数据结构中的条目,所述数据结构诸如数据库表格、散列表、阵列,或者任意其它计算机数据结构。
具体实施方式
在以下描述中,出于解释的目的给出了许多具体细节以便提供对本发明的整体理解。然而,将会显而易见的是,本发明可以在没有这些具体细节的情况下实施。在其它实例中,以框图形式示出了公知的结构和设备以避免不必要地混淆本发明。
总体概述
本文描述了用于基于人们的设备之间的连接来确定他们之间的关系的类型的技术。人们经常使用或随身携带一个或多个计算机,所述计算机能够通过一个或多个计算机网络,使用一种或多种协议,在各种持续时间内,根据一种或多种频率,在一个或多个位置等可操作地耦合在一起。在第一计算机能够直接地或间接地通过诸如路由器的一个或多个其它计算设备或者互联网服务提供方检测到第二计算机、与之进行通信或者以任何其它方式与之交互的情况下,第一计算机可以可操作地耦合至所述第二计算机。
设备的两个用户之间的关系的类型能够基于用来可操作地耦合所述设备的(多种)协议和(多个)网络接口进行推导。例如,第一移动电话可以随着时间过去而向服务器计算机发送数据,其表明第一移动电话在每周特定数量的晚上的每晚通过802.11wi-fi网络耦合至第二移动电话。服务器计算机可以使用用户之间的相对距离分析(rdp)和统计关系来确定这些用户生活在彼此附近,这是因为通过802.11wi-fi连接的计算机通常处于短的半径之内并且每周特定数量的晚上可能表明用户处于相同房间或建筑物或者相邻建筑物之中。
两个用户之间的关系的类型能够随时间利用小幅用户交互——如果存在的话——进行增补或更新。继续之前的示例,如果第一移动电话向服务器计算机发送数据,表明所述第一移动电话通过同步手势协议或近场通信(nfc)协议耦合至第二移动电话,则所述服务器计算机可以确定第一电话和第二电话的用户是熟人。而且,例如,如果第二移动电话向服务器计算机发送数据,该数据表明所述第二移动电话在超过一天的时间内通过近场通信(nfc)协议向第一移动电话发送了一个或多个文件,则所述服务器计算机可以确定第一用户和第二用户是好友或邻居。nfc协议被设计用于通过通常为10cm或以下非常短的距离传输数据;因此,在一天或多天内通过nfc传输多个文件表明第一用户和第二用户面对面地待在一起一段时间。
用户之间的关系的类型可以被存储在数据库中并且被其它用户所使用。出于说明清楚的示例的目的,作出如下假设:
·服务器计算机所维护的数据库中的记录表明第一设备的第一用户是第二设备的第二用户的熟人,所述熟人是一种关系;
·第一用户是餐厅的所有者;
·第一设备是位于餐厅中的计算机;
·第一用户经由第一设备向服务器计算机提交了有效载荷,以将所述有效载荷传递至目标设备,该目标设备位于第一设备的特定范围之内并且与被认为是第二用户的好友或熟人的一个或多个用户相关联;
·所述目标设备由目标用户进行操作;以及
·所述有效载荷是表明所述目标用户认识的某人已经多次访问过该餐厅的文本消息。
如果服务器计算机从第一设备或第三设备接收到表明所述第三设备处于第一设备的特定距离内的信息,则所述服务器计算机查询数据库以确定第三用户是否是第二用户的好友或熟人,如果是,则将所述有效载荷发送至第三设备。
示例网络拓扑
图1图示了示例实施例中的用于基于用户所使用的计算机或设备之间的交互来确定他们之间的关系类型的网络拓扑。在图1中,系统100包括服务器计算机110、计算机122、移动设备132、计算机142、计算机152和移动设备162。为了便于表达,计算机122-162表示计算机122、移动设备132、计算机142、计算机152和移动设备162。本文出于进一步说明清楚的示例的目的,计算机122-162中的每个计算机与不同的用户相关联;然而,用户可以与多于一个的设备相关联,或者设备可以与多于一个的用户相关联。虽然两个计算机可以通过诸如路由器或互联网的一个或多个其它计算设备或计算机网络进行耦合,但是两个计算机可以通过直接对等交互进行耦合,诸如通过所述两个计算机中的每一个中的nfc、蓝牙、wi-fidirect或ltedirect接口。
用户计算机
“用户计算机”是与用户相关联的计算机或者在计算机上运行的处理(例如,应用)。用户计算机可以与一个或多个标识符相关联,诸如用户所输入的用户名、ip地址、mac地址、国际移动设备标识码(internationalmobilestationequipmentidentity)、唯一设备标识符,或者由在计算机上运行的应用所指定的标识符。用户计算机可以通过一个或多个计算机网络或协议耦合至一个或多个其它用户计算机,并且共享诸如文件、游戏、电影或支付信息之类的各种类型的数据。例如,在系统100中,计算机122是通过指定计算机网络或协议耦合至并且可以检测以下用户计算机的用户计算机:
·使用诸如iso/iec或gsma的规范、协议或标准通过近场通信(nfc)网络130耦合至并可检测的移动设备132;
·使用诸如超声、zigbee或蓝牙的规范、协议或标准通过短距离网络140耦合至并可检测的计算机142;以及
·使用诸如802.11wi-fi或wi-fidirect的规范、协议或标准通过局域网(lan)150耦合至并可检测的计算机152。
·使用诸如http或lte的规范、协议或标准通过互联网160耦合至并可检测的计算机162。
用户计算机通过一个或多个计算机网络或协议从一个或多个其它计算机请求数据或者向所述一个或多个其它计算机发送数据。例如,计算机122通过互联网160耦合至服务器计算机110。计算机122可以使用蜂窝网络或者一个或多个其它网络或者互联网服务提供方(isp)连接至互联网160。
用户计算机可以生成遥测数据。除其它之外,遥测数据可以表明以下的一个或多个事件:
·第一用户计算机耦合至一个或多个其它计算机;
·第一用户计算机如何耦合至一个或多个其它计算机(即,第一计算机通过什么样的(多种)协议或(多个)网络接口可操作地耦合至一个或多个其它计算机);
·第一计算机和一个或多个其它计算机之间发生什么(多种)类型的(多个)交互,诸如合作游戏、文件传输、媒体传输、联系人列表传输、支付传输或协议握手;
·针对每次交互,第一用户计算机耦合至一个或多个其它计算机的(多个)时间;
·针对每次交互,第一用户计算机耦合至一个或多个其它计算机的持续时间;
·第一用户计算机在每次交互期间与一个或多个其它计算机中的每一个有多么接近;
·第一用户计算机或一个或多个其它计算机在每次交互期间的地理位置。
以下的表格——表1——图示了在示例实施例中由计算机122所生成,被发送至服务器计算机110,并且被存储在数据存储115中的示例遥测数据。所述遥测数据描述了计算机122与其它用户计算机所进行过的11次交互。以下表格或者在本公开的其它部分中所列出的时间可以示出在提交所述遥测数据的用户计算机或者与所述遥测数据相关联的一个或多个用户计算机的时区中。在一个实施例中,时间可以是诸如gmt的世界时间。用户计算机可以包括其本地时区,具有所生成的遥测数据。所述数据可以与本文进一步讨论的计算机或用户简档标识符相关联。
用户计算机向服务器计算机发送所述遥测数据。出于说明清楚的示例的目的,假设在计算机122从移动设备132接收音频文件时在特定时间开始的30秒内,其通过nfc网络130耦合至移动设备132。作为响应,计算机122生成第一遥测数据集合,其表明计算机122在特定时间开始的30秒内通过nfc网络(或者特别地通过nfc网络130)耦合至移动设备132以便进行特定交互,以及接收到音频文件(或者具体音频文件)。计算机122将所述第一遥测数据集合发送至服务器计算机110。
用户计算机可以在本地存储遥测数据。例如,如果计算机122并未耦合至服务器计算机110,或者服务器计算机110由于其它原因而不可用,则计算机122可以在本地存储所述第一遥测数据集合。如果在一个或多个附加交互中,计算机122耦合至移动设备132或另一个计算机,则计算机122可以生成描述所述一个或多个附加交互的一个或多个附加遥测数据集合,并且在本地存储所述一个或多个附加遥测数据集合。当计算机122可操作地耦合至服务器计算机110时,则计算机122向服务器计算机110发送所述第一遥测数据集合以及附加的一个或多个遥测数据集合——如果存在的话。
用户计算机能够从所述遥测数据集合得出本文进一步讨论的量度,诸如频率,并且向服务器计算机发送表明特定频率的遥测数据。例如,计算机122可以确定其在工作时间期间每个工作日耦合至计算机152并且平均与之具有1.2次交互。计算机122可以将描述所述频率的数据发送至服务器计算机110。从遥测数据所得出的量度或其它数据也可以被称之为遥测数据。
服务器计算机
“服务器计算机”可以是接收、处理或者响应于来自一个或多个计算机的一个或多个请求的计算机。例如,在系统100中,服务器计算机110可以接收并存储遥测数据,其表明在如本文所描述的两个或更多计算机之间已发生或正在发生的一个或多个交互。
服务器计算机110可以将数据存储在数据存储115中。在系统100中,数据存储115是服务器计算机110的一部分。然而,在一个实施例中,数据存储115可以可操作地耦合至服务器计算机110,但并不需要是服务器计算机110的一部分。
服务器计算机可以生成用户简档,诸如包括识别用户或用户计算机或者与用户或用户计算机相对应的数据的数据库记录。例如,用户可以向在计算机122上执行的程序中输入用户名和密码;作为响应,计算机122向服务器计算机110发送用户名和密码。在尚未创建相对应的用户简档的情况下,服务器计算机110创建包括该用户名和密码的新的用户简档。除此之外或可替换地,服务器计算机110可以接收计算机标识符,诸如计算机122的mac地址;服务器计算机110可以生成识别或对应于计算机122的计算机简档。服务器计算机110可以将用户简档与计算机标识符进行关联。在一个实施例中,每个计算机被假设具有单个用户。因此,用户简档和计算机简档是相同的简档。为了便于表达,简档可以是用户简档或计算机简档,并且简档可以与用户或计算机相对应。
服务器计算机存储遥测数据并且将所述遥测数据与一个或多个简档进行关联。例如,如果服务器计算机110从计算机122接收遥测数据,则服务器计算机110将所述遥测数据存储在数据存储115中,并且将所述遥测数据与对应于计算机122的简档进行关联。服务器计算机110可以将所述遥测数据或者所述遥测数据的一部分与所述遥测数据中引用的一个或多个其它简档进行关联。
服务器计算机可以汇总并存储从一个或多个用户计算机接收的遥测数据。例如,针对在每个位置的、计算机122与之进行交互的每个用户计算机以及针对每个交互类型,服务器计算机110确定以下汇总数据:
·计算机122和用户计算机进行交互的频率;
·计算机122和用户计算机进行交互的最长、最短、中间和/或平均时间;
·计算机122和用户计算机进行交互的最长、最短、中间和/或平均持续时间;
·计算机122和用户计算机进行交互的最长、最短、中间和/或平均距离。
服务器计算机110将汇总数据存储在数据存储115中并且将所述汇总数据与所述汇总数据所识别或与之对应的每个简档进行关联。以下表格——表2——图示了在一个实施例中识别计算机122与其它用户计算机所进行的多次交互的汇总遥测数据(由服务器计算机110所生成,存储在数据存储115中)。该表格中的数据将在本文进一步讨论。
服务器计算机可以接收查询或有效载荷并且将有效载荷发送至满足所述查询的一个或多个用户计算机。出于说明清楚的示例的目的,假设计算机122向服务器计算机110发送查询和有效载荷,所述查询限定了一个或多个参数,在目标用户计算机满足所述参数的情况下使得服务器计算机110将有效载荷发送至所述目标用户计算机。如果服务器计算机110从满足所述该一个或多个参数的计算机142接收遥测数据,则服务器计算机110可以将有效载荷发送至计算机142。作为响应,用户计算机142通过显示器向使用计算机142的用户显示(或以其它方式呈现)所述有效载荷。
相对距离分析
确定两个设备之间的距离在本文称作相对距离分析(rdp)。两个设备之间的相对距离能够使用一个或多个因素来确定,诸如两个设备通过其进行耦合的(多种)协议或(多个)计算机接口。例如,计算机122或数据存储115可以维护具有以下条目的表格,其中每个条目将计算机接口或协议与接近度或距离进行关联:
·<mobilebasestations,1kilometer>,
·<wi-fi,50meters>,
·<wi-fidirect,50meters>,
·<bluetooth,10meters>,
·<acoustic(speakersandmicrophone),10meters>,
·<visual(displayandcamera),1meter>,
·<nfcchip,4centimeters>.
用户可以添加、移除或修改任意协议、网络接口或有关所述协议的距离。声音计算机接口或协议可以是经由音调传送数据的专有接口或协议。例如,第一计算机可以经由来自耦合至所述第一计算机的一个或多个扬声器的、表示一个或多个数据值的超声音调发送数据,并且第二计算机可以通过耦合至所述第二计算机的一个或多个麦克风来接收所述数据,反之亦然。
响应于从计算机122接收数据,表明计算机122使用耦合至计算机122的蓝牙无线电通过短距离网络140耦合至计算机142,服务器计算机110能够确定计算机142处于计算机122的10米之内。除此之外或可替换地,用户计算机可以包括距离映射或其它量度,确定用户计算机与另一个用户计算机之间的距离,或者将所确定的相对距离发送至服务器计算机112。
地理位置
两个计算机之间的相对距离可以基于诸如经纬度坐标之类的地理位置来确定。除此之外或可替换地,地理位置可以是地区,诸如与邮政地址相关联的距离或者与经纬度相关联的半径。
服务器计算机110可以将限定在遥测数据或诸如地图库集之类的其它来源中所接收到的一个或多个地理位置的数据存储在数据存储115中。出于说明清楚的示例的目的,假设服务器计算机110从计算机122或移动设备162接收表明计算机122通过互联网160耦合至移动设备162的遥测数据。响应于确定计算机122和移动设备162通过互联网160进行耦合,服务器计算机110可以请求计算机122和移动设备162的地理位置以确定计算机122和移动设备162之间的距离。除此之外或可替换地,计算机122或移动设备162可以在没有来自服务器计算机110的请求的情况下发送计算机122或移动设备162的地理位置。
一个计算机的地理位置可以基于另一个计算机的地理位置以及确定用来耦合两个计算机的(多个)计算机接口或(多种)协议来确定。出于说明清楚的示例的目的,作出如下假设:
·计算机122并不包括全球定位系统(gps)芯片,或者并不允许一
个或多个应用或服务有权访问gps芯片或从gps芯片确定地理位置;
·移动设备132确实包括gps芯片并且允许在移动设备132上运行的
应用或服务有权访问gps芯片且从gps芯片确定地理位置;
·移动设备132通过与特定距离相关联的nfc网络向计算机122发送
金融信息;
·移动设备132使用gps芯片确定其特定地理位置。
移动设备132确定特定距离与nfc网络相关联,因此计算机122处于距特定地理位置的特定距离之内。移动设备132向服务器计算机110发送遥测数据,其表明移动设备132耦合至计算机122,向计算机122发送金融信息,并且计算机122处于距特定地理位置的特定距离之内。除此之外或可替换地,移动设备132向服务器计算机110发送遥测数据,其表明移动设备132耦合至计算机122,通过nfc网络向计算机122发送金融信息。作为响应,服务器计算机110确定计算机122处于距特定地理位置的特定距离之内的地理地区之内。服务器计算机110可以从移动设备132接收包括经纬度的地理位置,并且在数据存储115中将所述经纬度存储在与移动设备132相关联的简档中。服务器计算机110可以在数据存储115中存储描述计算机122位于其中的地理地区的数据,并且将所述数据与关联于计算机122的简档进行关联。
将社交位置关联至物理位置
本文所讨论的一个或多个因素可以被用来将诸如家庭、工作或学校之类的社交位置关联至一个或多个物理位置。例如,响应于确定两个或更多设备以每周超过4次的频率,以至少等于或大于10小时的平均会面持续时间,在5:00pm或之后以平均会面时间进行耦合,服务器计算机110可以确定所述特定物理位置是家庭。出于说明另一个清楚的示例的目的,作出以下假设:
·表2图示了移动设备132的汇总遥测数据;
·计算机或用户简档标识符263591617b02对应于计算机142;
·计算机或用户简档标识符14290224f20d对应于计算机152;
·存储在数据存储115中的一个或多个办公室参数的第一集合表明以下阈值:设备以一个或多个小时的平均持续时间每周耦合三次或更多次;
·存储在数据存储115中的一个或多个办公室参数的第二集合表明以下阈值:设备以2.5或更多小时的平均持续时间每周耦合两次或更多次。
服务器计算机110将所述阈值与表2中的数据进行比较以为一个或多个所列出位置指定社交位置的类型。例如,服务器计算机110可以出于以下一个或多个原因而确定位置#2是办公室:
·表2的第二行中的遥测数据满足办公室参数的第一集合:移动设备132平均以等于或大于第一办公室频率阈值(每周三次)的频率(4.8/周)且以等于或大于第一办公室持续时间阈值(一小时)的平均持续时间(3小时10分钟)耦合至计算机142(计算机或用户简档id263591617b02);
·表2的第三行中的遥测数据满足办公室参数的第二集合:移动设备132平均以等于或大于第二办公室频率阈值(每周两次)的频率(2.9/周)且以等于或大于第二办公室持续时间阈值(2.5小时)的平均持续时间(4小时40分钟)耦合至计算机152(计算机或用户简档id14290224f20d)。
响应于确定满足办公室参数的一个或多个集合,服务器计算机110将相对应类型的社交位置——“办公室”——关联至位置#2。在本文的一个或多个示例中,阈值是单个数值;然而,阈值可以是数值范围,诸如最小阈值和最大阈值。因此,服务器计算机110可以基于遥测数据或者从遥测数据得出的数据小于或等于或大于特定阈值或处于特定阈值范围之内而作出一个或多个确定或者执行一个或多个动作。
位置可以具有多于一个的社交位置。例如,公寓可位于特定建筑物中的店铺上方;因此,所述建筑物的位置可以与两种类型的社交位置相关联:“住所”和“店铺”。
在先前的示例中,频率和平均会面持续时间用来将特定类型的社交位置(办公室)关联至位置#2;然而,可以使用一个或多个其它因素。出于说明清楚的示例的目的,假设一个或多个家庭参数的集合表明以下阈值:设备在下午5:00之后及第二天的上午3:00之前的平均会面时间、以8小时或更多的平均会面持续时间进行耦合,并且交互包括共享一个或多个文件。响应于服务器计算机110确定第8行中的汇总遥测数据满足一个或多个家庭参数,服务器计算机110将相对应类型的社交位置——“家庭”——关联至位置#6。
社交位置的类型能够基于对等交互而被指定给特定位置。例如,如果在特定位置以特定频率或高于所述特定频率进行了游戏,则服务器计算机110可以将该位置与“家庭”、“休息室”、“网络咖啡店”、“通勤站”或“通勤路线”相关联,而并不与“办公室”相关联。与位置相关联的特定类型的位置可以进一步基于平均会面时间或平均会面持续时间来确定。
社交位置的类型可以基于用来耦合两个设备的(多个)计算机网络或(多个)协议的类型以及所交换信息的类型而被指定给特定位置。例如,响应于处理表明特定计算机在特定位置以特定频率或高于所述特定频率通过nfc协议接收信用卡信息的遥测数据,服务器计算机110可以确定处于特定位置的第一计算机是店铺的收银机。因此,服务器计算机110可以将所述特定位置与“店铺”进行关联。
指定给地理位置的社交位置的类型可以基于处于该位置的用户之间的一种或多种关系。出于说明清楚的示例的目的,假设一个或多个办公室参数的集合表明如果至少两对用户被确定为职业同事,则所述位置是办公室。因此,响应于确定使用计算机或用户简档标识符263591617b02的用户是使用移动设备132的用户的第一工作职业同事且使用计算机或用户简档标识符14290224f20d的用户是使用移动设备132的用户的第二工作职业同事,这满足一个或多个办公室参数的特定集合,则服务器计算机110将相对应类型的社交位置——“办公室”——关联至位置#2。
在一个实施例中,如果服务器计算机110基于遥测数据确定诸如计算机122的特定计算机满足以下一个或多个参数,则服务器计算机110可以确定所述计算机处于店铺中:
·计算机122固定于被限定为“公共场所”的地理位置;
·计算机122通过nfc网络与若干设备进行交互;
·计算机122接收购买或信用卡/借记卡数据;
·计算机122能够被访问或路过计算机122所在地理位置的移动设备所发现。
在这些示例中,服务器计算机110接收遥测数据并且将一种或多种类型的社交位置关联至一个或多个地理位置。然而,用户计算机可以将一种或多种类型的社交位置与一个或多个物理位置进行关联,并且向服务器计算机110发送遥测数据,其表明哪种或哪些种类型的社交位置被指定给所述一个或多个物理位置。
确定用户计算机的用户之间的关系
两个用户之间的相对社交距离或关系类型可以基于一种或多种因素来确定,诸如用户的日常事务、一个或多个物理位置、一个或多个社交位置、遥测数据或者从遥测数据得出的数据。图2图示了示例实施例中的用于基于表明第一用户计算机和第二用户计算机可操作地耦合或曾经可操作地耦合的遥测数据来确定或细化分别对应于所述第一用户计算机和第二用户计算机的第一用户和第二用户之间的关系的流程。在步骤210,服务器计算机接收表明第一设备和第二设备通过第一协议根据第一频率可操作地耦合达第一时间量的第一数据集合。出于说明清楚的示例的目的,作出以下假设:
·计算机122正在执行文件共享程序,所述文件共享程序通过第一专有协议创建具有特别格式化的名称的专设(ad-hoc)wi-fi网络lan150;
·移动设备132正在执行相同的文件共享程序,并且所述文件共享程序通过第一协议定期检查具有特别格式化的名称的wi-fi网络;
·响应于确定lan150具有特别格式化的名称,移动设备132通过第一协议定期从计算机122请求可下载文件的列表而耦合至计算机122并与之进行交互;
·计算机122被第一用户使用;
·移动设备132被第二用户使用。
移动设备132每次检测到所述wi-fi网络并耦合至计算机122时,移动设备132就生成遥测数据。除其它之外,所述遥测数据可以包括以下内容:
·移动设备132何时发现或耦合至计算机122;
·移动设备132与计算机122交互了多久;
·使用何种协议;
·移动设备132是何种类型的设备;
·计算机122是何种类型的设备;
·移动设备132的地理位置;
·所共享文件的数量;
·如果有的话,所共享文件的类型;
·音频数据,诸如移动设备132在计算机122和移动设备132进行交互或耦合时所录制的音频录音或平均分贝水平。
移动设备132将所述遥测数据发送至服务器计算机110。移动设备132可以在移动设备132生成遥测数据时、在特定时间量之后、在生成特定数量的遥测数据之后或者根据另一种调度安排,将所述遥测数据发送至服务器计算机110。
基于从移动设备132所接收的遥测数据,除其它之外,服务器计算机110可以确定以下量度:
·计算机122耦合至移动设备132或者与之交互的第一频率;
·每次交互持续的第一平均时间量;
·每次交互开始的平均时间;
·计算机122和移动设备132之间的使用rdp的第一距离;
·一周中计算机122耦合至移动设备132或者与之交互的特定天数集合;
·计算机122或移动设备132的物理位置;
·所述物理位置的社交位置;
·每次交互所共享的文件的平均数量;
·交互期间所录制的平均分贝水平。
在步骤220,服务器计算机基于第一时间量、第一频率和/或一个或多个其它因素确定第一用户和第二用户之间的第一关系类型。例如,服务器计算机110可以在所述第一频率为1的情况下确定第二用户仅是访问第一用户。还例如,服务器计算机110可以在以下一个或多个为真的情况下确定第一用户和第二用户是“职业同事”:
·与物理位置相关联的社交位置的类型是“办公室”;
·在两个计算机之间平均共享至少一个文件;
·文件的类型是文字处理或演示文档。
在第一频率大于每周4次但是没有文件被共享的情况下,服务器计算机110可以确定第一用户和第二用户在彼此附近工作(“办公室邻居”)。在所传送文件或数据的类型是金融记录或者具有信用卡号的记录的情况下,服务器计算机110可以确定第一用户是第二用户的“顾客”。在每次交互开始的平均时间处于中午和下午1点之间、其平均持续时间小于一小时且频率为每周至少一次的情况下,服务器计算机110可以确定第一用户是第二用户的顾客。
服务器计算机110可以在所共享文件的类型包括照片、音乐或视频的情况下确定第一用户和第二用户是“好友”。服务器计算机110可以在以下一个或多个为真的情况下确定第一用户和第二用户是同学:如果平均开始时间在特定时间的五分钟以内且标准方差低于特定阈值;特定时间是均匀时间,诸如整点;每周的特定天数集合是工作日而不是周末;与物理位置相关联的社交位置的类型是“学校”。
在服务器计算机110确定第一用户和第二用户是同学之后,服务器计算机110接着可以确定第一用户和第二用户所在的教室设施的类型。例如,如果平均分贝水平低于或等于特定阈值,则服务器计算机110确定第一用户和第二用户在图书馆中会面。除此之外或可替换地,如果分贝水平高于特定阈值,则服务器计算机可以确定第一用户和第二用户是在学校自助餐厅中。除此之外或可替换地,如果音频数据或语音识别处理数据表明与其它设备相关联的其它用户处于相同位置,则服务器计算机110可以确定第一学生和第二学生在教室中会面。除此之外或可替换地,如果交互的平均频率等于或大于诸如6的特定阈值,且每次交互的平均持续时间大于诸如10小时的特定阈值,则服务器计算机110可以确定第一用户和第二用户是室友。
在步骤230,服务器计算机随时间接收有关第一用户和第二用户的附加数据。出于说明清楚的示例的目的,假设来自步骤210和步骤220的示例的事实并且作出以下假设:
·响应于接收到表明用户从来自计算机122的可下载文件列表中选择了特定文件的输入,移动设备132经由移动设备132中的nfc芯片生成nfc网络130,通过nfc协议经由计算机122中的nfc芯片从计算机122请求所述特定文件,并且根据nfc协议通过nfc网络130接收所述特定文件;
·所述文件是歌曲文件;
·移动设备132生成表明移动设备132通过nfc网络130经由nfc芯片接收音乐文件的遥测数据,并且计算机122基于所使用的计算机接口和协议处于移动设备132的10cm之内;
·服务器计算机110已经确定第一用户和第二用户是同学。
因此,移动设备132生成表明以上所讨论事件的新遥测数据,并且将所述新遥测数据发送至服务器计算机110。服务器计算机110可以从所述新遥测数据得出附加数据或量度并且将所述新遥测数据连同任何所得出的数据或量度一起存储在数据存储115中。
在步骤240,服务器计算机更新第一用户和第二用户之间的关系。例如,响应于确定移动设备132从计算机122接收到音乐文件,服务器计算机110确定第一用户和第二用户至少是熟人而不仅仅是同学。作为另一个示例,服务器计算机110可以基于移动设备132和计算机122之间缺少交互而确定将关系类型从熟人改变为同学或前同学。
服务器计算机110可以重复步骤230和240。例如,在接收附加的遥测数据之后,如果计算机120频繁通过nfc接口或协议向移动设备132发送文件或者从其接收文件,则服务器计算机110可以确定该频率是否高于特定阈值,如果是,则将关系类型更新为“好友”。
响应于确定第一用户具有的与第二用户的关系类型,服务器计算机110可以在数据存储115中存储表明两个用户之间的关系类型的数据。例如,服务器计算机110可以在数据存储115中存储表明对应于计算机122的简档和对应于移动设备132的简档相关的数据,特别是对应于这两个简档的用户是好友的数据。
向用户计算机发送有效载荷
服务器计算机可以接收基于一个或多个条件向目标用户或用户计算机发送有效载荷的请求。有效载荷可以是文本、数字存储的多媒体,或者用于电子传递的任意其它内容。图3图示了示例实施例中的用于从用户接收有效载荷并且向一个或多个目标用户计算机发送有效载荷的流程。图4图示了实施例中的用于向一个或多个目标用户计算机发送目标消息的系统。在图4中,系统400包括跨地理地区分布的三个店铺计算机:店铺计算机410、店铺计算机420和店铺计算机430,它们在本文中共同称作店铺计算机。系统400包括两个移动设备:移动设备452和移动设备454。所述店铺计算机中的每个店铺计算机能够无线耦合至店铺计算机周围的虚线圆所标定的圆形地区之内的一个或多个设备。因此,在系统400中,移动设备452可操作地耦合至店铺计算机410和店铺计算机420,但是并不耦合至店铺计算机430;移动设备454则可操作地耦合至店铺计算机420和店铺计算机430,但是并不耦合至店铺计算机410。
系统400中的每个计算机可以生成并向服务器计算机——诸如服务器计算机110(图4中未示出)——发送遥测数据。虽然店铺计算机并未被标记为移动设备,但是店铺计算机可以是诸如移动设备的用户计算机。一个或多个店铺计算机可以处于店铺中或不同店铺中。除此之外或可替换地,一个或多个店铺计算机可以处于相同店铺中的不同通道。
在步骤310,服务器计算机接收有效载荷,以在与目标用户相关联的一个或多个条件得到满足的情况下向所述目标用户传递。例如,具有店铺计算机410的店铺的经理可以通过店铺计算机410上传有效载荷,其包括以下消息:“您有好友在这里购物”。该经理还可以上传表明所述消息应当发送至目标用户计算机的数据,所述目标用户计算机确定为距店铺计算机410特定距离之内,并且所述目标用户计算机与和关联于所述店铺的计算机——诸如店铺计算机410——具有“顾客”关系类型的用户具有“好友”关系类型。将目标用户连接至想要向所述目标用户发送有效载荷的用户的一个或多个用户在本文中可以被称作中间用户。
在步骤320,服务器计算机搜索满足一个或多个条件的一个或多个简档。例如,服务器计算机110可以搜索本文所讨论的简档、遥测数据、汇总遥测数据、rdp数据或任意其它数据,以找出满足条件的一个或多个简档。如果一个或多个简档满足条件,则服务器计算机110进行至步骤350。出于说明清楚的示例的目的,作出以下假设:
·服务器计算机110确定对应于移动设备454的简档与店铺计算机410具有第一目标关系类型——顾客;
·服务器计算机110确定对应于移动设备454的简档和对应于移动设备452的简档具有第二目标关系类型——好友;以及
·基于表明移动设备452通过店铺连接域412耦合至店铺计算机410的遥测数据,服务器计算机410确定移动设备452处于对应于店铺计算机410的店铺中。
因此,服务器计算机110确定对应于移动设备452的简档满足条件。控制进行至步骤330。
在步骤330,服务器计算机向满足一个或多个条件的用户简档——如果存在的话——发送有效载荷。继续之前的示例,服务器计算机110向移动设备452发送有效载荷。服务器计算机110可以经由短消息系统(sms)、电子邮件、经由移动设备452上执行的操作系统的推送通知,或者一种或多种其它电子传递方法来发送有效载荷。
在一个实施例中,有效载荷中的消息可以包括令牌,所述令牌能够被替代,以生成更为个人的消息。例如,有效载荷可以包括诸如“\\name\\”的令牌,其表明目标用户的名称应当替代有效载荷中的该令牌。有效载荷可以包括另外的令牌。例如,有效载荷可以包括诸如的“\\friend’sname\\”的另一个令牌,其表明目标用户好友的名称应当替代有效载荷中的该令牌。因此,如果目标用户的名称是brad,该目标用户的好友的名称是jim,并且有效载荷是“hi\\name\\,yourfriend,\\friend’sname\\shopsatxyzstore.”,则服务器计算机110可以向移动设备452发送以下消息:“hibrad,yourfriend,jim,shopsatxyzstore.”在这种情况下,jim在本文中称作中间用户。
无论一个或多个简档是否满足一个或多个条件,服务器计算机都可以继续针对满足该一个或多个条件的新简档监视遥测数据或者本文所讨论的任意其它数据。因此,如果在步骤320,服务器计算机确定没有简档满足该一个或多个条件,或者在执行步骤330之后,控制可以进行至步骤340。在步骤340,服务器计算机确定一个或多个关系或简档已经发生变化,并且作为响应,控制返回至步骤320。例如,服务器计算机110可以接收附加的遥测数据,相应地更新一个或多个简档,并且返回步骤320。
基于标签生成更具体的消息
服务器计算机可以将一个或多个标签与简档进行关联。标签是描述相对应用户或用户计算机的一个或多个属性的元数据。服务器计算机可以从遥测数据生成标签。例如,如果服务器计算机接收表明特定用户计算机以高于阈值频率的特定平均频率耦合至游戏服务器的遥测数据,则服务器计算机可以将称作“游戏玩家”的标签与对应于所述特定用户计算机或所述特定用户计算机的用户的简档进行关联。
向目标用户或用户计算机发送有效载荷的请求可以基于标签。出于说明清楚的示例的目的,作出以下假设:
·店铺计算机410和店铺计算机420处于购物商场内部,但是每个计算机处于不同店铺中;
·店铺计算机410在游乐场中;
·店铺计算机420在鞋匠的店铺中;
·在用户计算机对应于玩视频游戏的简档并且处于店铺计算机410的特定范围之内的情况下,服务器计算机110通过店铺计算机410从第一管理员接收由服务器计算机110向所述用户计算机发送有效载荷消息的请求;
·在用户计算机对应于频繁购买鞋子的简档并且处于店铺计算机420的特定范围之内的情况下,服务器计算机110通过店铺计算机420从第二管理员接收由服务器计算机110向所述用户计算机发送有效载荷消息的请求;
·与移动设备452关联的简档与“游戏玩家”标签相关联。
如果移动设备452向服务器计算机110发送表明移动设备452耦合至店铺计算机410和店铺计算机420的遥测数据,则服务器计算机110将响应于确定与移动设备452关联的简档与“游戏玩家”标签相关联而将第一有效载荷发送至移动设备452,而并不发送第二有效载荷。
基于店铺内的位置生成更具体的消息
基于用户计算机与多于一个的其它用户计算机耦合或与之接近,服务器计算机可以发送更具体的消息。出于说明清楚的示例的目的,作出以下假设:
·店铺计算机410、店铺计算机420和店铺计算机430位于相同店铺的不同通道分区;
·服务器计算机110接收表明具有店铺计算机410的第一通道分区与具有店铺计算机420的第二通道分区之间的区域称作通道a的数据;
·服务器计算机110接收表明具有店铺计算机420的第二通道分区与具有店铺计算机430的第三通道分区之间的区域称作通道b的数据;
·通道a是健康食品通道;
·通道b是糖果通道;
·服务器计算机110从店铺的管理员接收通道a中频繁购买蔬菜的人应当接收到表明胡萝卜在促销的第一有效载荷的第一请求;
·服务器计算机110从店铺的管理员接收位于通道b中一次超过不间断的三分钟的人应当接收表明糖果在促销的第二有效载荷的第二请求。
在服务器计算机110从移动设备452(或者诸如店铺计算机410的任意其它计算机)接收表明移动设备452正从店铺计算机410和店铺计算机420接收最强无线信号的遥测数据的情况下,服务器计算机110可以确定移动设备452处于通道a中。在服务器计算机110从移动设备454(或者诸如店铺计算机420的任意其它计算机)接收表明移动设备454正从店铺计算机420和店铺计算机430接收最强无线信号的遥测数据的情况下,服务器计算机110可以确定移动设备454处于通道b中。响应于接收表明移动设备452处于通道a且移动设备452与具有“素食者”标签的简档相关联的遥测数据,服务器计算机110向移动设备452发送第一有效载荷。响应于接收到表明移动设备452已经在通道a中至少连续三分钟的遥测数据,服务器计算机110向移动设备452发送第一有效载荷。
除此之外或可替换地,服务器计算机110可以接收在用户计算机处于目标店铺、位置或地区的目标接近度以内时传递有效载荷的请求。例如,服务器计算机110可以从店铺的管理员接收第一请求,其表明处于通道b的目标接近度之内——其包括店铺计算机430所覆盖的区域——的人应当接收第二有效载荷。因此,响应于从诸如店铺计算机430或移动设备454的用户计算机接收表明店铺计算机430和移动设备454可操作地耦合的遥测数据,服务器计算机110可以向移动设备454发送第二有效载荷。服务器计算机110可以通过诸如店铺计算机430的一个或多个计算机向移动设备454发送第二有效载荷。
有效载荷请求可以包括一个或多个标签,以与简档进行关联。例如,针对处于通道b中超过连续三分钟的用户的有效载荷请求可以包括新的“垃圾食品行家”标签,以与接收有效载荷的用户或简档进行关联。因此,服务器计算机110可以将“垃圾食品行家”标签关联至与移动设备454或者触发相对应有效载荷得以被发送的任意其它设备相关联的简档。
服务器计算机110可以基于与用户计算机相关联的标签来确定统计。例如,如果店铺具有店铺计算机410和店铺计算机430,并且店铺计算机410具有“男士服饰”标签且店铺计算机430具有“女士服饰”标签,则服务器计算机110可以确定具有移动设备和各种其它标签的用户访问店铺中的男士分区(与店铺计算机410更接近的区域)和店铺中的女士分区(与店铺计算机430更接近的区域)的频率和持续时间。
附加使用
使用本文所讨论的一种或多种方法,服务器计算机可以确定哪些区域的人群最为密集。继续上述示例,服务器计算机110可以接收表明每天平均有200个用户计算机处于通道a以及50个用户计算机处于通道b的遥测数据。服务器计算机110可以在电子邮件中向店铺经理发送所述数据。作为响应,店铺经理可以在通道a中摆放更贵的物品,或者将通道a中的物品遍布店铺进行摆放从而降低通道a中的拥堵。
服务器计算机110可以从移动设备接收表明在当前店铺购物之前或之后哪个或哪些地理位置被访问的遥测数据。服务器计算机110可以向店铺经理提供与所述一个或多个地理位置相关联的社交位置,以及在当前店铺之前或之后最频繁访问的社交位置明细。店铺经理可以基于社交位置的明细,更新一个或多个地理位置或相关联的社交位置的店铺,以包含所述的产品或服务。
在以上的商场示例中,服务器计算机110可以向商场经理发送表明顾客在店铺之间的惯常路径、顾客在各个店铺中停留多久或者一个或多个其它量度的数据。图5图示了示例实施例中的服务器计算机可以确定移动设备在诸如商场的店铺群组中被携带的示例路径。商场中每个店铺中所图示的计算机可以是移动设备、信标、路由器或其它计算机。服务器计算机可以向店铺或商场经理发送针对一个或多个用户计算机的数据。例如,服务器计算机可以向店铺3的所有者发送表明访客经常在访问店铺3之前访问店铺2的数据。作为另一个示例,店铺5的所有者可以选择囤积更多与店铺3中的产品或服务相似或作为其补充的产品或服务。
如果服务器计算机确定用户计算机以频率阈值或持续时间阈值或更高的频率或更长的持续时间访问店铺,则服务器计算机可以将标签与表明相对应用户是该店铺的忠实顾客的相对应简档进行关联。店铺经理可以向服务器计算机发送有效载荷请求,这使得服务器计算机发送有效载荷,诸如优惠券,以发送至与已经被确定为对应于忠实顾客的简档相关联的用户计算机。
硬件概述
根据一个实施例,本文所描述的技术由一个或多个专用计算设备所实施。所述专用计算设备可以是硬件连接的以执行所述技术,或者可以包括诸如一个或多个专用集成电路(asic)或被永久编程的现场可编程门阵列(fpga)的数字电子设备,以执行所述技术,或者可以包括被编程为以固件、存储器、其它存储或者组合形式依照程序指令来执行所述技术的一个或多个通用硬件处理器。这样的专用计算设备还可以将定制硬件连接逻辑、asic或fpga与定制程序进行组合以实现所述技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、网络设备或者整合硬件连接和/或程序逻辑来实施所述技术的任意其它设备。
例如,图6是图示可以在其上实施本发明实施例的计算机系统600的框图。计算机系统600包括总线602或者用于通信信息的其它通信机制,以及与总线602进行耦合以便处理信息的硬件处理器604。硬件处理器604例如可以是通用微处理器、微处理器和协同处理器,或者是多个微处理器的阵列。
计算机系统600还包括主存储器606,诸如随机存取存储器(ram)或其它动态存储设备,其耦合至总线602以便存储要由处理器604所执行的信息和指令。主存储器606还可以用于在由处理器604所执行的指令的执行期间存储临时变量或其它中间信息。这样的指令在其存储于能够由处理器604访问的非瞬态存储介质中时将计算机系统600呈现为被定制为执行所述指令中所规定的操作的专用机器。
计算机系统600进一步包括只读存储器(rom)608或其它静态存储设备,其耦合至总线602以便存储用于处理器604的静态信息和指令。诸如磁盘或光盘的存储设备610被提供并耦合至总线602以便存储信息和指令。
计算机系统600可以经由总线602耦合至用于向计算机用户显示信息的显示器612,所述显示器612诸如液晶显示器(lcd)。包括字母数字和其它按键的输入设备614耦合至总线602以便向处理器604通信信息和命令选择。另一种类型的用户输入设备是光标控制616,诸如鼠标、轨迹球、触摸板、触摸屏或光标方向按键,其用于向处理器604通信方向信息和命令选择并且用于控制显示器612上的光标移动。该输入设备通常具有两条轴线——第一轴线(例如,x)和第二轴线(例如,y)——的两个自由度,这允许该设备指定平面中的位置。
计算机系统600可以使用定制硬件连接逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实施本文所描述的技术,所述程序逻辑与计算机系统相结合而使得计算机系统600成为或者将其编程为专用机器。根据一个实施例,本文的技术由计算机系统600响应于处理器604执行主存储器606中所包含的一个或多个指令的一个或多个序列来实行。这样的指令可以从诸如存储设备610的另一个存储介质读入主存储器606。主存储器606中所包含的指令序列的执行使得处理器604执行本文所描述的处理步骤。在可替换实施例中,可以替代或结合软件指令使用硬件连接电路。
如本文所使用的术语“存储介质”是指存储使得机器以具体方式进行操作的数据和/或指令的任何非瞬态介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质例如包括光盘或磁盘,诸如存储设备610。易失性介质包括动态存储器,诸如主存储器606。存储介质的常见形式例如包括软盘、柔性盘、硬盘、固态硬盘、磁带或者任意其它磁性数据存储介质,cd-rom,任意其它光学数据存储介质,具有穿孔图案的任意物理介质,ram、prom和eprom、flash-eprom、nvram,任意其它存储器芯片或卡盒。
存储介质不同于传输介质但是可以结合传输介质一起使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴线缆、铜线和光纤,包含包括总线602在内的线路。传输介质也可以采用声或光波的形式,诸如在无线电波和红外数据通信期间所生成的。
在将一个或多个指令的一个或多个序列送至处理器604以便执行时可能涉及到各种形式的介质。例如,所述指令最初可以承载于远程计算机的磁盘或固态驱动上。所述远程计算机能够将指令加载到其动态存储器中并且使用调制解调器通过电话线发送所述指令。计算机系统600本地的调制解调器能够在电话线上接收数据并且使用红外发射器将所述数据转换为红外信号。红外检测器能够接收所述红外信号中携带的数据并且适当电路能够将所述数据置于总线602上。总线602将数据送至主存储器606,处理器604从那里获取并执行指令。主存储器606所接收的指令可选地可以在被处理器604执行之前或之后存储在存储设备610上。
计算机系统600还包括耦合至总线602的通信接口618。通信接口618提供耦合至网络链路620的双向数据通信,所述网络链路620连接至本地网络622。例如,通信接口618可以是综合业务数字网(isdn)卡、线缆调制解调器、卫星调制解调器,或者用于向相对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口618可以是用于向兼容lan提供数据通信连接的局域网(lan)卡。也可以实施无线链路。在任意这样的实施方式中,通信接口618发送并接收承载表示各种类型的信息的数字数据流的电、电磁或光学信号。
通信接口618可以提供耦合至广域网(wan)链路619的双向数据通信,所述wan链路619连接至wan621。例如,通信接口618可以是综合业务数字网(isdn)卡、线缆调制解调器、卫星调制解调器,或者用于向相对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口618可以是用于通过广域网(wan)链路619向兼容广域网wan621提供数据通信连接的无线网卡或调制解调器。也可以实施无线链路。在任意这样的实施方式中,通信接口618发送并接收承载表示各种类型的信息的数字数据流的电、电磁或光学信号。
网络链路620通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路620可以通过本地网络622向主机计算机624或者互联网服务提供方(isp)所操作的数据设备626提供连接。isp626进而通过现在一般称之为“互联网”628的广域分组数据通信网络提供数据通信服务。本地网络622和互联网628都使用承载数字数据流的电、电磁或光学信号。承载往来于计算机系统600的数字数据的、处于网络链路620上且通过通信接口618的信号以及通过各种网络的信号是传输介质的示例形式。
计算机系统600能够通过(多个)网络、网络链路620和通信接口618发送消息并接收包括程序代码的数据。在互联网的示例中,服务器630可能通过互联网628、isp626、本地网络622和通信接口618来传送用于应用程序的所请求的代码。
所接收的代码可以在其被接收时由处理器604所执行,和/或存储在存储设备610或其它非易失性存储中以便后续执行。
在上述说明书中,已经参考可能随实施方式的不同而有所变化的很多具体细节对本发明的实施例进行了描述。说明书和附图因此要以说明性而非限制性的含义来理解。申请人所意属的本发明范围以及本发明的范围的单纯且排他性指示是本申请所提出的权利要求集合的字面和等同范围,其为这样权利要求所提出的具体形式,包括任何后续的修正。