模块化地构造软件定义的无线电的利记博彩app

文档序号:6569107阅读:207来源:国知局
专利名称:模块化地构造软件定义的无线电的利记博彩app
模块化地构造软件定义的无线电祖旦 疼私术语软件定义的无线电("SDR")和软件无线电("SR")广泛地应 用于使用软件来定义和实现先前已使用自定义构建的硬件来实现的无线电系 统的各部分的技术。通用处理器和可用软件配置的硬件的能力稳定地提升到其 可执行由无线电系统执行的许多计算密集型数字信号处理("DSP")功能的 水平,并且SDR利用了这一能力的提高。SDR软件组件通常是由软件配置的 硬件设备(例如,现场可编程门阵列),或者是在通用计算机上执行的程序。 该SDR软件组件通常经由数据通信信道接口到提供支持不能由所使用的可重 新配置的硬件模块或通用计算机完成的SDR任务(例如,无线电信号的模拟 发射和接收以及所接收的模拟信号的模拟滤波)所必需的功能的SDR硬件组 件。在现代SDR系统中,SDR硬件组件通常提供总的SDR功能中的极少一部 分,因为大多数DSP工作当前能够使用软件来完成。SDR允许由软件定义的 功能在不需要替换硬件组件的情况下被重新定义。相反,仅定义这些功能模块 的软件被替换。软件定义的功能越多,所得的SDR就变得越灵活且可重新配 置。SDR硬件组件和SDR软件组件的组合可用于通过对每一实现标准运行一 不同的SDR软件组件来支持各种各样无线电标准。由于所存在的大量无线电标准的复杂性和各种细微差别,实现这些无线电 标准的SDR软件组件可由同样大量的第三方供应商来提供。尽管其相对简单, 但是也可获得大量且各种具有不同能力的SDR硬件组件。每一 SDR软件组件 必需配备为与SDR硬件组件以及利用SDR来发送或接收数据的客户机应用程 序接口。许多可用的SDR硬件组件支持供客户机应用程序用于连接到SDR软 件组件的每一方法,并且因此迅速成为对于提供SDR软件组件的供应商的令 人生畏的任务,从而使其注意力从核心关注领域和能力分散。此外,提供这种 支持的所必需的大多数工作由SDR软件组件的每一供应商重复。这些因素当前限制了 SDR系统的通用性和实用性。概述发明人认识到对于模块化地构造SDR的需求,并且此处公开了一种这样 做的发明。模块化地构造SDR的本发明的一方面提供了从SDR的所有其它组 件,诸如平台专用和协议相关输入/输出接口组件(例如,用于接口到运行 Microsoft WindoWs 操作系统的x86通用计算机上的USB的组件),以及从 特定的SDR硬件组件中对SDR的软件定义的信号处理组件(此处称为SDR 内核)的定义的抽象。模块化地构造SDR的上述方面隐含地提供了对SDR内 核和SDR的其余部分之间的简单接口定义的建立的支持。由此,SDR内核的 开发者可将注意力从支持大量的协议/硬件平台/操作系统/SDR硬件组件组合 移向开发用于已有的许多无线电标准以及可能会形成的更多标准的SDR内核。模块化地构造SDR使系统能够利用由各种发布者提供的SDR内核来有效 地成为一通用通信设备。支持无线电标准的过程因此被縮减为获得描述用于实 现无线电标准的SDR内核组件的SDR内核和构造用于在特定系统上执行该 SDR内核组件的SDR软件组件之一。如此处所公开的,SDR内核可用各种方 式来获得,并且在本发明的一方面,SDR内核是通过从基于互联网的服务下载 来获得的。在模块化地构造SDR的另一方面,使用包括对一个或多个地点的政府规 章的规章来防止构造将违反由该规章数据所描述的规章的SDR。在本发明的另 一方面,用用于确保当SDR正在执行时没有将导致SDR违反由规章数据描述 的规章的控制数据从SDR软件组件发送到SDR硬件组件的规章组件来构造 SDR软件组件。本发明的各方面利用规章数据有助于确保模块化地构造的SDR 如"好巿民" 一样表现。附图简述注意,出现在多幅图中并且功能相同的组件在每一附图中被给予相同的标号。

图1是如本领域中已知的SDR系统的框图。图2是示出根据本发明的某些方面的系统的示例的框图。图3是用于构造SDR软件组件的过程的示例的流程图。 图4是示出涉及SDR软件组件的构造的更多细节的框图。 图5是示出根据本发明的某些方面的系统的示例的框图。 图6是用于向客户机系统发送SDR内核的示例例程的流程图。详细描述在讨论本发明之前,首先研究如本领域中已知的典型SDR系统的一个实 施例。图1是示出如本领域中己知的典型SDR系统的框图。运行在主机(例如, 通用计算机或用软件配置的硬件)上的SDR软件组件10通过允许以下传输的 一个或多个数据通道连接到SDR硬件组件20:将数字基带输出数据从SDR软 件组件10传输到SDR硬件组件20、将数字基带输入数据从SDR硬件组件20 传输到SDR软件组件10、以及将控制数据从SDR软件组件10传输到SDR硬 件组件20。 SDR软件组件10从SDR客户机15接收客户机输入数据,并将客 户机输出数据发送到SDR客户机15。数字基带输出通常从SDR软件组件10所得,SDR软件组件10执行准备 来自SDR客户机15的客户机输入数据以供SDR硬件组件20传输所必需的一 系列DSP功能。这些功能可包括信源编码、加密、纠错编码以及基带调制。 该数字基带输出在被传输之前必须被转换成模拟形式。这是通过使用数模转换 器("DAC" ) 22来完成的。 一旦被转换,该模拟基带输出即被发送到基本 无线电收发机26以供进一步处理,这些进一步处理可包括将该基带信号上变 频到适当的发射频率并放大。在被适当地处理之后,该信号被发送到天线30 以供发射。由天线30接收的信号由基本无线电收发机26处理,在基本无线电收发机 26处,这些信号被滤波以获得期望的频率范围、被下变频到适当的基带频率调 制、并被发送到模数转换器("ADC" ) 24以从模拟基带数据转换成数字基 带数据。该数字基带数据然后被发送到SDR软件组件10,在SDR软件组件 10处,执行一系列DSP功能,包括基带解调、纠错、解密以及源解码。所得的数据流然后可作为客户机输出数据被发送到SDR客户机15。从SDR软件组件10发送到SDR硬件组件20的控制数据允许SDR软件 组件10向SDR硬件组件20发送命令。这些命令可用于调整诸如中心频率和 带宽等感兴趣的重要参数,并可定义基本无线电收发机20可调谐到的频率范 围。其它命令可影响例如如何对输入信号进行滤波以及如何调用诸如将SDR 硬件组件20断电等基本动作。数字基带输入、数字基带输出、控制数据、客户机输入和客户机输出通常 在利用专门的硬件和传输协议(例如,USB、 PCI和SCSI)的数据通道上传输。 由此,SDR软件组件10必须隐含地具有与这些通道以及支持它们的任何软件 组件接口的能力。图2是示出根据本发明的某些方面的系统的示例的框图。该系统支持给定 各种数据情况下的SDR软件组件的模块化构造。SDR硬件组件60以与先前公 开的SDR硬件组件20相同的方式来配置,除了其具有发送详细描述其能力的 规范的附加能力之外。这些规范的发送能以各种各样的方式进行,诸如当 SDR硬件组件60被通电时、周期性地、或作为请求要发送的规范的控制数据 的结果。SDR工厂(factory)组件45读取SDR内核50、接口束(interface harness) 53,并可任选地输入规章数据55,并且可以例如被实现为硬件或运行在通用计 算机上的程序。当存在时,DRM组件43提供DRM策略的强制实施,DRM策 略可以存在于SDR内核50中并且可以在将其发送到SDR工厂组件45以供读 取之前对SDR内核50的部分或全部内容进行解密。SDR内核50包括诸如信号处理元件和控制元件等组件的配置和排列的定 义。SDR内核还提供了一简单接口定义,该定义例如可指定用于SDR客户机 输入、SDR客户机输出、SDR硬件组件输入、SDR硬件组件输出和控制数据 输出的连接。该简单接口无需提供用于在出现在典型主机中的特定数据通道 (例如,USB、 PCI、 SCSI、串行、并行和以太网)上通信的组件定义。SDR 内核50可作为软件(例如,目标代码、源代码)或非软件(例如,XML、非 结构化文本数据、二进制数据)来提供,并且还可包括防篡改数据,诸如SDR 内核50中的数据的数字地签署的校验和(用于确保内容未被破坏或更改)、 来自发布者的数字签名、以及带有SDR内核中的数据的校验和的数字地签署的测试证书(用于确保内容被可信方认为是安全的)。尽管给出数字签名作为 用于保护该数据的安全的防篡改技术的一个示例,但是可以理解,提供类似功能的任何技术也适用于本发明的该方面。如上所述,SDR内核50可由用于强 制实施由其发布者设置的使用策略的DRM来保护。如果SDR内核50不包括 目标代码,则它可由SDR工厂组件45转换成包括适用于配置主机来实现所定 义的无线电标准的一系列指令的SDR内核组件。接口束53包括用于将SDR内核组件(即,实现从SDR内核50构造的无 线电标准的平台专用指令)接口到SDR客户机15和SDR硬件组件60的所有 必需的软件组件。通过使用单独的接口束53, SDR内核50只需实现单个(可 能是主机无关的)接口。规章数据55包括诸如对一个或多个地点的许可和未许可频带和关于某些 频带的发射功率限制等规章信息。当存在时,规章数据可由SDR工厂组件40 以至少两种方式来使用,这些方式可一起使用或单独使用。使用规章数据55的一种方式是防止构造将违反规章数据55内描述的规章 的SDR软件组件,并且仅在可确定SDR内核50的操作规范(例如,带宽、 所使用的频率、信号功率)时才适用。确定这些规范可在其在SDR内核50内 明确提供时容易地完成。如果规范未明确提供,则可通过分析SDR内核50中 的描述来确定这些规范。 一旦确定了规范,可执行与规章数据55的比较以确 定是否可能发生任何违规。如果是,则可引发一出错,并且停止SDR软件组 件40的构造。使用规章数据55的另一种方式是构造作为已构造的SDR软件组件40的 一部分的规章组件。该规章组件质疑发送到SDR硬件组件60的控制数据以确 保SDR硬件组件60中所得的设置不会违反任何规章。当控制数据指示SDR 硬件组件60以使得将违反任何规章的方式来配置其自身时也可在不停止控制 数据的发送的情况下引发警告。SDR内核50、接口束53和规章数据55各自可被储存在任何计算机可读 介质(例如,CD、 DVD、硬盘、闪存、RAM)上,并且也可使用任何适当的 协议(例如,HTTP、 TCP/IP、 FTP、 SOAP)通过任何数据通信网络(例如, 互联网、LAN)来传输。SDR内核50和规章数据55也可被组合以形成单个文件或分开储存。SDR工厂组件45使用由SDR内核50提供的定义以及任何所提供的规章 数据55来构造并可任选地执行SDR软件组件40。如果SDR内核50是由DRM 策略来保护的,则SDR工厂组件45本身可强制实施该DRM策略,或通过强 制实施该策略的DRM组件43来读取SDR内核50。 DMR策略可在SDR工厂 组件45被构造时强制实施,并且SDR软件组件40可另外构造SDR软件组件 40的一子组件以在SDR软件组件40的执行期间强制实施DRM策略。在大多 数情况下,由DRM策略保护的SDR内核50将具有不能被SDR工厂组件45 读取的内容。使得SDR内核50的内容不可读可例如通过使用加密来扰乱该内 容来实现。SDR内核50的加密部分因此必须在SDR软件组件40构造过程能 够继续之前被解密。该解密可由SDR工厂组件45通过其可读取SDR内核50 的DRM系统43来执行,或者由SDR工厂组件45自己执行。尽管已指出SDR工厂组件45构造一单独的SDR软件组件40,但是可以 认识到,SDR工厂组件45可替换地将其自己的至少一部分变换成SDR软件组 件而非构造一单独的SDR软件组件40。一旦SDR软件组件40在主机上执行,SDR客户机15和SDR硬件组件 60即可开始与其通信。注意,SDR客户机15可包括一个或多个硬件和软件组 件,并且可经由任何通信手段与SDR软件组件40通信,这些通信手段包括但 不限于导线、光纤、网络接口卡、串行端口、 PS2端口、并行端口、 USB端 口、 PCI总线和SCSI通道。数字基带输出、数字基带输入以及控制数据可使 用适用于与执行SDR软件组件40的主机接口的任何接口方法来传输,并且无 需全部使用相同的方法。主机是通用计算机时,例如这些方法可包括USB、 PCI、火线、串行端口、并行端口、网络接口卡以及SCSI。注意,只需数字基 带输入和数字基带输出之一来支持系统,这对于某些应用是有用的。还注意, 当在SDR硬件组件60中使用高性能ADC 24和DAC 22组件时,基带输入和 基带输出可传递具有尚未被下变频的调制的数据。从SDR硬件组件60传输到SDR软件组件40的规范可包括SDR硬件组 件60的操作限制(例如,最大可允许带宽和频率)。该信息允许SDR软件组 件40确定SDR硬件组件60是否能支持它所蕴含的标准。SDR硬件组件60还可任选地被配置成向SDR软件组件40返回一出错代码而非提供规范数据。为 何SDR硬件组件60不能支持SDR软件组件40的一个示例是它所使用的一个 或多个频率可能落在基本无线电收发机66的范围之外。另一示例是所需带宽 对于ADC 64或DAC 62的能力可能太宽。如果SDR硬件组件60不能支持SDR 软件组件40,则SDR软件组件40可生成一有意义的出错消息并终止。当SDR软件组件40正在执行时,它可将控制数据传递到SDR硬件组件 60。该控制数据可包括以下命令将SDR硬件组件60断电、指定所关注的频 率及其相应的带宽、以及设置滤波器设置。这些控制命令允许SDR软件组件 40动态地改变SDR硬件组件60的操作参数,并且对于支持多个无线电标准是 重要的。可被发送的精确的一组控制数据可取决于所使用的特定SDR硬件组 件60。SDR内核50还可包括指定SDR硬件组件60能够支持由SDR内核50描 述的无线电标准所需的最小必需规范的数据。SDR工厂组件45可直接从SDR 硬件组件60、通过从储存规范的计算机可读介质中读取规范来操作上、或通过 任何其它手段来访问SDR硬件组件60的规范。SDR工厂组件45审阅SDR硬 件组件60的规范以在构造SDR软件组件40之前确定SDR硬件组件60是否 可支持由SDR内核50描述的标准。如果SDR硬件组件60被确定为不能支持 该标准,则SDR工厂组件45终止SDR软件组件40的构造,并可任选地指出 一出错。如果SDR工厂组件45不能从SDR内核50中确定最小的必需规范, 则SDR工厂组件45可构造一规范强制实施组件,该组件从SDR硬件组件60 读取规范数据,并质疑传出的控制数据以防止SDR硬件组件60不能支持的命 令被发送到SDR硬件组件60,并且可在某些情况下防止设备损坏。图3是用于构造SDR软件组件的过程的示例的流程图。在301, DRM组 件43或SDR工厂组件45中的任一个读取SDR内核50的内容。如上所述, SDR内核50可从包括任何数据通信网络在内的任何计算机可读介质中读取。在302, DRM组件43或SDR工厂组件45中的任一个读取嵌入在SDR 内核50中的任何DRM策略,并查看当前是否满足策略的条件。这些策略可包 括确保SDR内核50是在特定主机上被读取的,以及确保当前的日期时间在特 定的日期时间范围内。如果在302处确定不满足一个或多个DRM策略,则在303处引发一出错,并且终止SDR软件组件的构造。另一方面,如果确定满足 DRM策略,则如有必要,在304处解密SDR内核50。这允许SDR内核50的 其余内容被读取并在SDR软件组件40构造过程中被进一步使用。在305, SDR工厂组件45利用储存在SDR内核50内的数据来确定自从 发布者或可信第三方最后以此验证内容以来是否对SDR内核50作出了任何改 变。该动作例如可通过从SDR内核50的内容中读取诸如数字地签署的校验和 等数据、验证签名的真实性、然后对SDR内核50执行校验和计算以确保两个 校验和匹配来实现。执行这一动作的一个原因是要确保SDR内核50的内容未 被存储或传输中的出错破坏,并进一步确保第三方没有修改SDR内核50来以 发布者未预期的方式执行。如果确定SDR内核50的内容己从其预期的状态修 改,则在306处引发出错。在引发出错之后,SDR工厂组件45终止,并且不 从SDR内核50构造SDR软件组件。如果在305处确定SDR内核50未被破坏或修改,则SDR工厂组件45利 用在SDR内核50内提供的信息来标识SDR内核50的发布者。接着可例如通 过对照可信发布者列表检查发布者的身份来确定发布者是否是可信发布者。或 者,可确定一信任链的存在,由此以较不直接的方式确定发布者是可信的。当 发布者不能被验证为是可信的时候,这不一定是SDR内核50不应被使用的情 况。在308处,在SDR工厂组件45无法找到发布者可信性之后,SDR工厂组 件45引发一警告。该警告可包括关于发布者的标识信息(例如,公司名称), 并且提出以下任一选择l)即使发布者不被认为是可信的也继续使用SDR内核 50,或者2)放弃其使用。如果在307处确定SDR内核50的发布者是可信的,或者在308处决定即 使发布者没有被确定是可信的也继续使用SDR内核50,则SDR工厂组件45 接着执行309。在309, SDR工厂组件45使用来自SDR内核50的信息来检查 可能存在的任何测试证书。这些证书例如可包括SDR内核50中的数据的校验 和,并且可由己知表示SDR内核50己通过了一系列测试来确保质量的证书来 签署。如果SDR内核50缺少所需证书,则SDR工厂组件45在310处引发一 警告。该警告可包括关于缺少所需证书的信息,并且提出以下任一选择l)即 使缺少所需证书也继续使用SDR内核50,或者2)放弃其使用。如果在309处确定SDR内核50具有所有所需证书,或者如果在310处决 定即使不存在所需证书也继续使用SDR内核50,则SDR工厂组件45接着执 行311。在311, SDR工厂组件45读取详细描述SDR硬件组件60的能力的规 范数据。这可例如通过直接向SDR硬件组件60请求数据、读取包含该信息的 文件、或提示输入该信息来完成。关于SDR硬件组件60的规范信息可包括略 述对与SDR硬件组件60的可配置操作有关的每一参数所支持的范围的数据。一旦获得,则可在312处使用该规范数据来确定SDR硬件组件60是否能 够支持SDR内核50的要求。如果包括在SDR内核50中的数据指示其操作范 围,则可在该数据与规范数据之间进行比较以确定SDR内核50的数据的任何 范围是否落在SDR硬件组件60的能力的范围之外。如果在312处确定SDR 内核50的要求超出了如规范数据中给出的SDR硬件组件60的能力,则在313 处引发一出错,并且SDR工厂组件45终止SDR组件的构造。该动作是有用 的,因为它防止构造将试图超出其能力来驱动SDR硬件组件60的SDR软件 组件40。这有助于降低设备损坏的可能性,并减少调试因不能支持给定SDR 内核50的SDR硬件组件60而不能正确工作的SDR所花费的时间。如果确定SDR硬件组件60能够支持SDR内核50,则SDR工厂组件45 移至314。在314, SDR工厂组件45读取规章数据55。如上所述,规章数据 55包括与一个或多个地点中的与政府规章有关的数据。这些规章可包括与许可 和未许可频率的分配和这些频率的使用以及对某些频率范围的最大可允许广 播功率有关的数据。 一旦SDR工厂组件45在314处读取了规章数据,SDR工 厂组件45在315处确定SDR内核50中的操作参数是否会违反规章数据55所 提供的任何规章。SDR工厂组件45可首先通过提示输入信息或通过诸如使用 GPS信息作出推论等自动过程来确定SDR将操作的位置。如果在315处确定 SDR内核指定了可能会违反规章数据55略述的相关规章的操作范围,则在316 处引发出错,并且停止构造SDR组件的过程。如果确定SDR内核50不会违反规章数据55,则SDR工厂组件45在317 处读取接口束53,该接口束53如上所述包括用于操作上将由SDR内核50描 述的简单接口连接到用于与SDR客户机15或SDR硬件组件60通信的更复杂 接口的组件。例如,如果SDR硬件组件60通过USB连接来连接到通用计算机,则接口束53将包括用于通过USB连接将数据发送到所使用的特定SDR 硬件组件60的一个或多个组件。SDR内核50可提供用于发送数据的基本接口 , 但是可以没有用于通过USB发送数据的描述或用于支持特定SDR硬件组件60 的任何特定命令。当必要时,接口组件还可在SDR内核50和SDR硬件组件 60使用的格式之间双向转换控制数据和规范数据。在318, SDR工厂组件45构造SDR软件组件40。图4示出了带有涉及 SDR工厂组件45对SDR软件组件40的构造的更多细节的框图。SDR内核50 被转换成SDR内核组件,它是适用于指示诸如通用处理器或现场可编程门阵 列("FPGA")等处理器如何执行的SDR内核的软件描述(例如,目标代码)。 如果SDR内核50是以适用于指示所需目标主机的目标代码格式来提供的,则 可以不必执行任何显式转换。如果SDR内核50是作为编程语言的源代码来提 供的,则可在转换过程的各部分中使用编译和链接。当以数据格式(例如,XML) 提供时,SDR内核50例如可由SDR工厂组件45中的代码生成组件进行语法 分析和转换。如果提供了规章数据55,则对该数据进行语法分析并生成目标代码以确 保从SDR内核组件发送到SDR硬件组件60的控制数据不会违反规章。该规 章组件包括该生成的目标代码。同一过程应用于包含SDR硬件组件60的能力 的规范数据。该规范数据用于生成组成规范强制实施组件的目标代码。 一旦生 成了每一单独组件,将它们适当地链接在一起以便一起用作一系统并形成SDR 软件组件40。所使用的链接方法可包括静态链接和动态链接,并且定义SDR 软件组件的目标代码可物理地驻留在多个文件或单个文件中。己经公开了涉及使用诸如来自SDR硬件组件的规章数据、SDR内核、接 口束和规范等各种数据来构造SDR软件组件的本发明的各方面。现在将注意 力转向涉及获得规章数据和SDR内核的本发明的各方面。图5是示出根据本发明的某些方面的系统的示例的框图。该系统通过提供 一服务来支持SDR的模块化构造,通过该服务,可使用万维网通过因特网获 得先前所公开的规章数据和SDR内核。服务器系统530包括各种网页531、服 务器引擎532、 DRM引擎533、以及SDR内核数据库534、规章数据库535、 用户数据库536、地点数据库537和支付引擎538。服务器引擎532接收访问由URL标识的网页或web服务监听程序 (listener)的HTTP请求,并向各个客户机系统提供网页或SOAP响应。另夕卜, 服务器引擎532可接收对要通过HTTP来传输的文件的请求。如果服务器引擎 批准该请求,则它将该文件发送给客户机系统。DRM引擎533向SDR内核应 用DRM策略,并且可在将其发送到客户机系统之前加密SDR内核的部分或全 部内容。DRM策略可包括复制保护、对SDR内核的使用设置时间限制、以 及将SDR内核绑定到特定主机。SDR内核数据库534包含SDR内核,每一 SDR内核如上所述提供用于实 现一无线电标准的组件的描述。SDR内核数据库534另外包含每一 SDR内核 的定价信息、每一SDR内核的唯一标识符、以及该SDR内核所描述的无线电 标准的标识符。规章数据库535包含适用于对其规章数据可用的每一地点的规 章的描述。用户数据库536包含注册用户的列表。对于每一注册用户,用户数 据库536另外可包含认证信息(例如,用户名和口令)、订阅信息以及默认 地点偏好。地点数据库537包含地点列表,以及可在该地点使用的无线电标准的标识 符。另外,地点数据库537可具有用于允许将地点的命名地理分组定义为任意 深度的树形分层结构的标识符。例如,可以有关于地球的分组、关于北半球的 子分组、关于北美洲的另一子分组、关于美国的另一子分组、关于马萨诸塞州 的另一子分组、以及最终波士顿地点。该示例仅意味着说明性的,并不用于定 义地点的粒度,也不用于定义命名地理分组的范围。支付引擎538提供取得客 户机系统510的用户所提供的帐户信息并处理支付交易的能力。这些交易可包 括从信用卡帐户、借记卡、或任何其它合适的帐户接收资金。客户机系统510包括用于请求并显示网页的web浏览器511,并且可任选 地包括SDR工厂组件45和DRM组件43。客户机系统510还可如上所述连接 到SDR硬件组件60。客户机系统510和服务器系统530通过经由通信链路540 交换信息来通信,通信链路540可包括互联网上的传输。本领域的普通技术人员将理解,以上所提出的技术可在除万维网之外的其 它各种环境中使用。例如,可使用采用用于交换信息的另一协议的另一应用程 序(包括SDR工厂组件本身),而非使用web浏览器511来与服务器系统530通信。文件可使用各种协议,诸如通过电子邮件和文件传输协议("FTP") 来传送。也可采用不使用诸如局域网和点对点拨号等互联网的各种通信链路。 客户机和服务器系统都可包括用于提供上述功能的硬件和软件的任意组合。图6是用于向客户机系统发送SDR内核的示例例程的流程图。在601, 服务器系统530接收来自客户机系统510的连接到服务器系统530的请求并接 受该请求。在一个实施例中,客户机系统510还发送指示该系统的用户已向服 务器系统530提供的服务注册的认证信息。注意,用户不一定是操作人员,而 可以是被配置成与服务器系统530通信的软件程序或硬件设备。在602,然后 对照用户数据库536检査该信息以确定所提供的认证信息是否匹配已知用户。 如果信息不匹配,则在603处指示用户注册。注意,在该过程的其它动作中, 服务器系统530维持到客户机系统510上的web浏览器511的有操作状态的连 接(即,不将来自一个web浏览器511的请求与来自另一浏览器的请求混淆)。 当使用HTTP (无状态协议)时,这可通过使用浏览器cookie或追加到web浏 览器511发送的请求的URL的数据来实现。在604,服务器系统530生成标识地点数据库537中包含的地点的地点标 识符的列表。此处,标识符可以是适用于标识一特定项目的任何数据(例如, 串或数字)。可以理解,可对一给定项目使用多个标识符,包括使人类易于阅 读的标识符以及对万维网标准起较好作用的标识符(例如,URL编码)。还可 以理解,可生成地理分组的列表并将其发送到客户机系统510而非生成地点本 身。 一旦用户选择一特定地理分组,服务器系统530然后可返回到分组树中较 低的下一层,直到达到一组叶(即,地点)。客户机系统510的用户然后选择 地点标识符之一并将其返回给服务器系统530,服务器系统530在605处接收 该选择。用户在605处接收的地点标识符被保持在用户数据库536中以供稍后 使用。一旦接收到地点标识符,服务器系统可在606处向地点数据库537查询标 识在所标识的地点中使用的无线电标准的无线电标准标识符的列表。该列表然 后可被收集并被发送给客户机系统510。客户机系统510的用户然后选择一所 需的无线电标准标识符并将该选择返回给服务器系统530,在607处服务器系 统接收该选择。在608,服务器系统生成描述用于实现所指定的无线电标准的SDR内核组件的SDR内核的SDR内核标识符的列表,并将该列表发送给客户 机系统510。服务器系统530还可随SDR内核标识符一起发送关于每一 SDR 内核的发布者和定价信息。发布者信息可包括诸如发布者名称、发布日期、版 本和分级等数据。一旦用户从列表中选择一 SDR内核标识符,服务器系统530在609处接 收该选择。如果从SDR内核数据库534中的定价信息确定所选SDR内核是免 费的(即,没有任何金钱成本),则服务器系统530将所请求的SDR内核发 送给客户机系统510。可任选地,关于在605处从用户接收的所标识的地点的 规章数据可随SDR内核一起发送。该规章数据可通过使用储存在用户数据库 536中的地点标识符查询用于所涉及的规章数据的规章数据库535来获得。如 上所述,SDR内核和规章数据可被组合成单个文件或分开保存。服务器系统 530可在将SDR内核和规章数据发送给客户机系统510时使用任一方法。如果在610处确定所选SDR内核不是免费的,则服务器系统530从储存 在SDR内核数据库534中的支付信息生成可用于所选SDR内核的支付选项的 列表。或者,该支付选项列表可以对不是免费的所有SDR内核是相同的。可 构想各种支付选项。支付选项的一个示例是以固定价格对SDR内核的无限制 使用持续时间。另一示例是支付固定价格来得到有限的使用持续时间。还可构 想用户可支付固定的每月订阅费用来获得对部分或全部SDR内核的无限制访 问。 一旦用户选择了所需的支付选项,服务器系统530在613处接收该选择。 服务器系统还可任选地在614处从用户接收指示应被收费来完成交易的帐户的 帐户信息的帐户信息。或者,该信息可在用户在603处注册时提供,并被储存 在用户数据库636中。在这一情况下,614处所接收的帐户信息可以是应使用 储存在用户数据库中的数据的指示。在615,服务器系统使用支付引擎538收集在指定支付选项下对使用所选 SDR内核进行的支付。在616,在接收金融交易成功的通知之后,服务器系统 530从SDR内核数据库534中检索指定的SDR内核并将其随所选支付选项的 细节一起传递给DRM引擎533。 DRM引擎533使用例如加密技术保护SDR 内核的内容的安全,并向加密的SDR内核追加防篡改DRM策略,该策略反映 了服务器系统530提供的服务的条款以及所选支付选项略述的特定条款。 一旦DRM引擎533完成了将DRM应用于SDR内核,服务器系统530将SDR内核 返回给客户机系统510。可任选地,关于在605处从用户接收到的地点的规章 数据可随SDR内核一起发送。该规章数据可通过使用储存在用户数据库536 中的地点数据向规章数据库535查询相关规章数据来获得。如上所述,SDR内 核和规章数据可被组合成单个文件或分开保存。服务器系统530可在向客户机 系统510发送SDR内核和规章数据时使用任一方法。此处己公开了用于模块化地构造SDR的本发明的各实施例。已经公开了 用于生成SDR软件组件的方法,某些方法支持核心DSP和实现特定无线电标 准的SDR软件组件的控制元素(即,SDR内核组件)的定义与主机相关接口 组件的分离。相反SDR内核组件实现可以是完全主机中立的简单接口。这些 方法允许SDR软件组件的开发者将注意力集中在实现无线电标准上,而非浪 费资源来构建用于特定主机上的特定通信信道的接口。另外,随着所有SDR 内核组件开发者实现一公共的简单接口,可能更容易地将一 SDR内核组件与 另一 SDR内核组件交换同时重复使用相同的接口组件。此外,已经公开了特定主机上的核心SDR软件组件(即,SDR内核组件) 实现与其描述(即,SDR内核)之间的分离。这一区分是重要的,因为在某些 实施例中,SDR内核可用独立于特定主机的格式来表达,而SDR内核组件包 括用于实现无线电标准的主机专用指令。该分离在其允许主机有效地成为一通 用通信器、从而使用另一 SDR内核从一种无线电标准切换到另一种无线电标 准时甚至更有用。这种对SDR的不费力的模块化构造由所公开的基于互联网 的服务进一步支持,从而允许用户以各种方式从多个SDR内核中进行选择。
权利要求
1.一种用于模块化地构造软件定义的无线电(“SDR”)软件组件的方法,包括以下动作(a)读取一SDR内核,所述SDR内核包括用于实现一无线电标准的SDR内核组件的定义;(b)读取一接口束,所述接口束包括用于操作上将所述SDR内核组件连接到多个通信信道和设备的接口组件,所述设备包括SDR硬件组件;以及(c)使用所述SDR内核和所述接口束来构造所述SDR软件组件。
2. 如权利要求l所述的方法,其特征在于,所述SDR内核还包括数字权 限管理("DRM")策略,所述方法还包括以下动作(d) 确定是否满足所述DRM策略;以及(e) 如果在动作(d)中确定不满足所述DRM策略,则终止所述SDR软件组件的构造。
3. 如权利要求2所述的方法,其特征在于,所述SDR内核的一部分被加 密,所述方法还包括以下动作(f) 如果在动作(d)中确定满足所述DRM策略,则解密所述SDR内核的加密部分。
4. 如权利要求l所述的方法,其特征在于,所述SDR内核还包括用于确 定所述SDR内核是否从预期状态被修改的数据,所述方法还包括以下动作(g) 确定所述SDR内核是否从所述预期状态被修改;以及(h) 如果在动作(g)中确定所述SDR内核已从所述预期状态被修改,则终 止所述SDR软件组件的构造。
5. 如权利要求l所述的方法,其特征在于,所述SDR内核还包括用于标 识所述SDR内核的发布者的数据,所述方法还包括以下动作(i) 确定所述SDR内核的发布者是否是可信发布者;(j)如果在动作(i)中确定所述发布者不是可信发布者,则请求继续所述 SDR软件组件的构造的授权;以及(k)如果接收到对动作(j)的所述授权请求的否定响应,则终止所述SDR软件组件的构造。
6. 如权利要求l所述的方法,其特征在于,所述SDR内核还包括表示第 三方给予所述SDR内核的证书的数据,所述方法还包括以下动作(1)确定所述SDR内核是否包括特定证书;(m)如果在动作(l)中确定所述特定证书不存在,则请求继续所述SDR软 件组件的构造的授权;以及(n)如果接收到对动作(m)中的所述授权请求的否定响应,则终止所述 SDR软件组件的构造。
7. 如权利要求l所述的方法,其特征在于,所述SDR内核还包括描述用 于支持由所述SDR内核描述的SDR内核组件的最小要求的数据,所述方法还包括以下动作(O)读取规范数据,所述规范数据描述一SDR硬件组件的能力; (P)确定动作(O)的所述能力是否足以满足所描述的最小要求;以及 (q)如果在动作(p)中确定动作(o)的所述能力不足以满足所描述的最小要 求,则终止所述SDR软件组件的构造。
8. 如权利要求l所述的方法,其特征在于,还包括以下动作(r)读取规范数据,所述规范数据描述一SDR硬件组件的能力;以及 其中,所述SDR软件组件的构造还使用所述规范数据来构造一用于防止 所述SDR软件组件指示SDR硬件组件超出动作(r)的所描述能力来操作的规范强制实施组件。
9. 如权利要求l所述的方法,其特征在于,还包括以下动作 (S)读取规章数据,所述规章数据包括关于一地点的规章的描述;(t)分析所述SDR内核以确定所构造的SDR软件组件是否有可能违反动 作(S)的所述规章;以及(u)如果在动作(t)中确定所构造的SDR软件组件有可能违反动作(s)的所 述规章,则终止所述SDR软件组件的构造。
10. 如权利要求l所述的方法,其特征在于,还包括以下动作(v)读取规章数据,所述规章数据包括关于一地点的规章的描述;以及 其中,所述SDR软件组件的构造还使用所述规章数据来构造一用于防止所述SDR软件组件违反所描述的规章的规章组件。
11. 一种储存定义指令的计算机可读信号的计算机可读介质,所述指令因 被计算机执行而将所述计算机配置成执行一种用于模块化地构造软件定义的无线电("SDR")软件组件的过程,所述过程包括以下步骤(A) 读取一 SDR内核,所述SDR内核包括用于实现一无线电标准的SDR 内核组件的定义;(B) 读取一接口束,所述接口束包括用于操作上将所述SDR内核组件连 接到多个通信信道和设备的接口组件,所述设备包括SDR硬件组件;以及(C) 使用所述SDR内核和所述接口束来构造所述SDR软件组件。
12. 如权利要求ll所述的计算机可读介质,其特征在于,所述SDR内核 还包括数字权限管理("DRM")策略,所述指令还包括用于执行以下动作的 指令(D) 确定是否满足所述DRM策略;以及(E) 如果在动作(D)中确定不满足所述DRM策略,则终止所述SDR软件组件的构造。
13. 如权利要求12所述的计算机可读介质,其特征在于,所述SDR内核 的一部分被加密,所述指令还包括用于执行以下动作的指令(F) 如果在动作(D)中确定满足所述DRM策略,则解密所述SDR内核的加密部分。
14. 如权利要求ll所述的计算机可读介质,其特征在于,所述SDR内核 还包括用于确定所述SDR内核是否从预期状态被修改的数据,所述指令还包 括用于执行以下动作的指令(G) 确定所述SDR内核是否从所述预期状态被修改;以及(H) 如果在动作(G)中确定所述SDR内核已从所述预期状态被修改,则终 止所述SDR软件组件的构造。
15. 如权利要求ll所述的计算机可读介质,其特征在于,所述SDR内核 还包括用于标识所述SDR内核的发布者的数据,所述指令还包括用于执行以 下动作的指令(I) 确定所述SDR内核的发布者是否是可信发布者;(J)如果在动作(I)中确定所述发布者不是可信发布者,则请求继续所述 SDR软件组件的构造的授权;以及(K)如果接收到对动作(J)的所述授权请求的否定响应,则终止所述SDR 软件组件的构造。
16. 如权利要求ll所述的计算机可读介质,其特征在于,所述SDR内核 还包括表示第三方给予所述SDR内核的证书的数据,所述指令还包括用于执 行以下动作的指令(L)确定所述SDR内核是否包括特定证书;(M)如果在动作(L)中确定所述特定证书不存在,则请求继续所述SDR软 件组件的构造的授权;以及(N)如果接收到对动作(M)中的所述授权请求的否定响应,则终止所述 SDR软件组件的构造。
17. 如权利要求ll所述的计算机可读介质,其特征在于,所述SDR内核 还包括描述用于支持由所述SDR内核描述的SDR内核组件的最小要求的数 据,所述指令还包括用于执行以下动作的指令(O)读取规范数据,所述规范数据描述一SDR硬件组件的能力;(P)确定动作(O)的所述能力是否足以满足所描述的最小要求;以及(Q)如果在动作(P)中确定动作(O)的所述能力不足以满足所描述的最小要 求,则终止所述SDR软件组件的构造。
18. 如权利要求11所述的计算机可读介质,其特征在于,还包括用于执行以下动作的指令(R)读取规范数据,所述规范数据描述一SDR硬件组件的能力;以及 其中,所述SDR软件组件的构造还使用所述规范数据来构造一用于防止 所述SDR软件组件指示SDR硬件组件超出动作(R)的所描述能力来操作的规范强制实施组件。
19. 如权利要求11所述的计算机可读介质,其特征在于,还包括用于执 行以下动作的指令(S)读取规章数据,所述规章数据包括关于一地点的规章的描述;(T)分析所述SDR内核以确定所构造的SDR软件组件是否有可能违反动作(S)的所述规章;以及(U)如果在动作(T)中确定所构造的SDR软件组件有可能违反动作(S)的所 述规章,则终止所述SDR软件组件的构造。
20.如权利要求11所述的计算机可读介质,其特征在于,还包括用于执行以下动作的指令(V)取规章数据,所述规章数据包括关于一地点的规章的描述;以及 其中,所述SDR软件组件的构造还使用所述规章数据来构造一用于防止所述SDR软件组件违反所描述的规章的规章组件。
全文摘要
提供了用于模块化地构造软件定义的无线电(“SDR”)的系统和方法。给定一SDR内核(即,对实施实现特定无线电标准的软件定义的无线电的核心部分所必需的数字信号处理功能和控制操作的可能平台中立的定义)、可任选的关于一特定地点的政府规章的描述、以及提供用于接口到特定通信信道和设备(包括SDR硬件组件)的必需组件的接口束,一SDR工厂组件执行构造用于在特定主机上实现特定无线电标准的SDR软件组件的过程。该SDR软件组件还可构造限制所得的SDR软件组件的操作的组件。该SDR内核可由一个或多个数字权限管理策略来保护,这些策略可在构造SDR软件组件时以及在其操作时强制实施。
文档编号G06F15/16GK101278275SQ200680036359
公开日2008年10月1日 申请日期2006年10月2日 优先权日2005年9月30日
发明者A·A·哈桑, C·休特玛, V·M·帕里克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1