用于创建个人化和定制的移动设备的系统的制作方法

文档序号:6495818阅读:252来源:国知局
用于创建个人化和定制的移动设备的系统的制作方法
【专利摘要】本发明提供了与针对其所有参与者的现有选项相比更简单的移动设备生态系统,而不论这些参与者的角色或业务模型如何。该生态系统包括移动设备和操作软件开发包和存储体,二者都被实现为基于web的服务,以使得定制移动设备的创建、测试和分发及其发现、研究和交付都能够使用标准web浏览器执行。
【专利说明】用于创建个人化和定制的移动设备的系统
[0001]相关申请的交叉引用
本申请要求提交于2011年5月5日的共同待审美国申请N0.12102032的优先权并且是该共同待审美国申请的PCT国际提交,该共同待审美国申请以其整体通过引用合并于此,并且该共同待审美国申请N0.12102032是提交于2009年12月30日的共同待审申请N0.12649947的部分继续申请,该共同待审申请N0.12649947以其整体通过引用合并于此。
【技术领域】
[0002]本发明总体上涉及移动设备硬件和操作系统软件的个人化和定制。本发明特别地涉及使终端用户和其他人(诸如品牌组织或支持人员)能够创建具有专用于其需要的硬件和操作软件的移动设备。
【背景技术】
[0003]现今存在通常被称为移动因特网设备的许多种小型(典型地,手持)电子器械,特别包括通常被称为移动电话和平板的大量产品。在当前现有技术中,所有这种设备被其制造商设计成包括由制造商选择以应对尽可能多的潜在客户的多种硬件能力(诸如,摄像机或定位系统接收器)。类似地,制造商确定每个产品的形态因素(form factor),即大小、形状、重量、颜色和其他物理属性,目的在于用最少的特定组合来满足最多可能数量的用户。最后,制造商将其设备的操作软件配置成提供多种功能,以使得特定功能或相关功能组以完全相同的方式在尽可能多的设备模型上执行。
[0004]限制硬件和软件组合的数量的实施通过降低他们用于产品开发、制造、销售和客户支持的各种系统和过程的复杂度,对设备制造商有益。当前制造商用于确定特定新产品确切地应该看起来像什么以及做什么的主要机制是复杂的功能,其中,其现有能力的成本和收益与客户的期望相互作用。然而,通常,终端用户的期望被认为在整体上合计,如诸如无线运营商和大型零售商之类的批发客户所提出,并且间或如通过以看起来合理但最终任意的属性对人进行分类的观察研究所解释。
[0005]制造商认识到单独的终端用户和终端用户的较小组趋向于具有特定需要,对于所述特定需要,上述大规模生产过程不能提供有成本效益的点解决方案。因此,当前和新兴的移动设备通过提供软件应用或如其通常被称为的“应用(app)”来提供大量可编程性。这些应用允许人们将许多种软件功能添加到其移动设备。名称为“System for Creationand Distribution of Software Applications Usable on Multiple Mobile DevicePlatforms”且通过引用合并于此的美国专利申请09/12649947公开了使得能够由包括终端用户在内的许多种人创建这种应用的综合系统。
[0006]然而,应用通常不提供调谐特定类的移动设备的基本操作软件的能力。也就是说,对于在操作软件中提供的功能,制造商通常限制外观和感觉、功能交互、以及移动设备的基本行为,以使得可能除了少数偏好设置之外,即使利用应用,这些功能也不变。例如,提供诸如地址簿、电话服务和短消息服务之类的常见能力的移动电话设备将根据制造商的风格和软件开发历史来提供对这些能力的具体呈现以及在它们之间交互的具体方式。执行这些功能的操作软件将通常提供少数可配置性选项,诸如,是使用文本标签还是图形图标来识别和选择每个功能,但是,该操作软件通常不提供对所述能力及其关联的功能如何与彼此或其他应用交互做出显著改变的任何能力。
[0007]此外,附加(add-on)软件应用固有地不能提供改变内建于移动设备中的具体硬件的任何能力。尽管大多数移动设备提供了用于添加或连接提供可选能力的硬件模块的连接器和槽,并且与软件应用相耦合,这些硬件附加物可以是十分精密的,但是这里也一样,这种实施被限制于添加不处于基本设备中的模块。这不能移除不想要的内建设备。
[0008]最后,附加软件应用和插件硬件模块都不提供完全改变设备的形态因素的任何能力。有多种特殊需要或有简单地不与大众市场对齐的偏好的终端用户通常仍不满足于可用的选项。
[0009]那么,所需要的是一种系统,由此终端用户或代表终端用户组进行操作的其他人可以创建移动设备的个人或定制配置,并使其被大量制造得与单个单元一样小。这种系统还将优选地提供一种分发机制,以使得可能具有类似需要的其他人能够找到并购买现有定制配置或进一步修改现有定制配置。

【发明内容】

[0010]因而,本发明的主要目的在于:创建一种移动设备制造和分发系统,该系统使得能够对硬件(包括形态因素属性和内建模块)和操作软件二者进行极端定制。相应地,本发明的优势在于:移动设备开发包(kit)和存储体被提供为基于web的服务,以使得所定制的移动设备的创建、测试和分发以及其发现、研究和交付都能够使用标准web浏览器执行。进一步的优势在于根据本发明的移动设备开发包提供了以下能力:设计并配置专用于终端用户(可以是或可以不是专业软件工程师)的需要的统一的一套操作软件能力,并使其安装在所选择的移动设备中。进一步的优势在于根据本发明的移动设备开发包提供了以下能力:通过从多种硬件模块中选择形状因素、颜色和其他可配置属性来设计满足特定具体需要的移动设备,然后使该移动设备被制造、被加载有期望的操作软件并被交付。本发明的另一个优势在于其还提供了以下能力:保存特定移动设备设计并使其可用于供具有类似具体需要或偏好的其他用户使用以及在必要时进一步修改。本发明的最后的优势在于其在应用开发和分发系统所提供的基础上构建,该应用开发和分发系统在下文中被称为在美国专利申请 12/30/2009 "System for Creation and Distribution of Software ApplicationsUsable on Multiple Mobile Device Platforms, 〃 (下文中被称为“foneClay 应用专利申请”)中描述的“foneClay应用系统”,并因此合并该系统所提供的许多其他优势。
[0011]本发明的上述和其他优势以一种形式由协作元件的系统执行,下文将详细描述所述协作元件中的每一个。
【专利附图】

【附图说明】
[0012]通过结合附图阅读下面的详细描述,将更好地理解本发明,在附图中,相似的附图标记用于标识相似的元素,并且在附图中: 图1图示根据本发明的移动设备定制系统的高级框图;
图2图示根据本发明的移动设备组成工作室(composition studio)的详细功能框图; 图3图示根据本发明的移动设备分发中心的详细功能框图;
图4图示根据本发明的移动设备构建引擎的详细功能框图;
图5图示根据本发明的移动设备验证引擎的详细功能框图;
图6图示根据本发明的移动设备组成工作室的优选实施例所呈现的示例性图形用户界面;
图7图示支持本发明的系统的软件元件的优选实施例的示例性物理实现架构;以及 图8图示根据本发明的移动设备制造设施或设备工厂的详细功能框图。
【具体实施方式】
[0013]图1的高级图描绘了本发明的主要元件以及其与之交互的关键外部元件,所述主要元件包括主系统、其主要子系统和关键内部元件。在该图中,移动设备定制系统1000体现了如上文的
【发明内容】
部分中概述且在下文的系统描述中详述的功能。移动设备定制系统1000的功能被分配在五个主要子系统当中,其中这些主要子系统之间的交互如所示的那样。此外,示出了六个关键内部元件,其首先体现了存在移动设备定制系统1000的原因。
[0014]还应该注意的是,作为在foneClay应用专利申请中描述的移动应用工厂系统100的扩展,设备定制系统1000合并有foneClay应用系统的许多元件。除了本文所指之处以夕卜,名称和号码与foneClay应用系统中的元件的名称和号码相匹配的元件与如foneClay应用专利申请中描述的元件相同。作为foneClay应用系统的扩展,设备定制系统1000还可以被称为foneClay设备系统。
[0015]设备定制系统1000将移动设备操作软件封装1001、移动设备组件模型1002和定制移动设备模型1004添加到foneClay应用系统的四个关键内部元件:其为移动设备应用101、移动设备应用组件102、通用移动设备模型103和专用移动设备模型104。
[0016]每个操作软件封装1001是被开发者创建以执行对移动设备的用户来说可用的所有期望功能的逻辑和数据的完整集合。通过示例而非限制的方式,操作软件封装1001可以提供基本电话和地址簿功能且不允许其他功能,其可以给典型移动设备的每个传统功能提供替代用户界面,或者其可以在每个传统功能中间提供任何组合。操作软件封装1001可以通过设计来合并专用应用101和应用组件102,并且其可能允许或可能不允许终端用户通过使用foneClay应用系统下载并运行应用101来扩展其功能。应该注意的是,尽管图1描绘了仅四个操作软件封装1001,但是在优选实施例中,实际数量本质上不受限制。
[0017]每个设备组件模型1002体现了可用在移动设备的设计和构造中的硬件或软件组件的表示,不仅包括其功能、行为和界面,而且包括其物理属性,诸如大小、重量、引出线、电磁性质等。可由组件模型1002表示的实际组件的示例包括本领域技术人员公知的许多项目,诸如但不限于:用于与蜂窝网络、Wifi热点和蓝牙设备无线连接的模块;对诸如信令、电路呼叫以及分组发射和接收之类的通信模式的支持;用于与附近设备(诸如耳机插孔和USB连接器)有线连接的端口 ;各种人机界面设备,包括主要和可选的辅助视频显示屏、数字和字母键区、键区背光灯、激活诸如扬声器音量控制等的功能的各种各样的按钮、触摸板和多触摸手势输入板、扬声器和麦克风;环境传感器和受动器(effector),诸如加速度计或运动和定向传感器、摄像机或光传感器、全球定位系统(GPS)接收器和其他位置传感器、机械振动生成器和其他触觉受动器、以及温度计和其他温度传感器。再一次,应该注意的是,尽管图1描绘了仅五个组件模型1002,但是在优选实施例中,这些元件的实际数量本质上不受限制。
[0018]在本发明的优选实施例中,组件模型1002被首要地预加载,并仅表示可向移动设备的任何制造商购买的现货供应(off-the-shelf)组件。在替代实施例中,在下文描述的对组成工作室120的适当扩展的情况下,可能在设备定制系统1000内实现新组件模型1002的开发。
[0019]组件模型1002的实现使得能够使用如下文所述对设备定制系统1000的其余子系统的扩展来开发实际设备,而不仅是应用。在设计阶段中,这种实际设备在系统1000中由定制移动设备模型1004来表示,所述定制移动设备模型1004超出了体现foneClay应用可在其上运行的现货供应设备的foneClay应用系统的专用移动设备模型104,以体现完整定制设备的整个设计,所述完整定制设备能够被制造并交付给客户作为个人化移动设备198或者甚至被大量生产为大规模定制移动设备199。
[0020]第一主要子系统(组成工作室120)体现了与开发环境关联的功能,从而提供了不仅开发如在foneClay应用系统中的应用101和应用组件102的能力,而且在该设备定制系统1000中,其还提供了开发完整的操作软件封装1001、如组件模型1002所表示的实际组件以及如定制设备模型1004所表示的实际完整设备的能力。组成工作室120支持多个编程和建模范例,在本机上至少包括适合于新手开发者165的新手模式以及适合于专家开发者175的专家模式。还可以通过将非本机模式导入到组成工作室120中来支持非本机模式。例如,可以如foneClay应用专利申请中所描述的那样扩展编程模式,并且可以通过合并计算机辅助设计(CAD)和计算机辅助制造(CAM)工具(诸如,Pro/E、Autodesk或SpaceClaim)来扩展建模模式。如foneClay应用专利申请中描述的用户级选项适用于此处设置的编程模式和设置的建模模式二者。
[0021]如在foneClay应用系统中,组成工作室120的用户使用计算机工作站或个人计算机来访问其能力,如在这种工具中典型且本领域技术人员公知的那样。在图1中,新手开发者165出于该目的采用计算机160,而专家开发者175类似地采用计算机170。在任一种情况下,组成工作室120的实际实现本身是在计算机中执行的软件程序。在foneClay应用专利申请中描述的两种执行模式也适用于此,所述两种执行模式分别使用嵌入126和127并且经由网络连接162和172进行通信。在图2的描述中提供了关于专用于设备定制系统1000的组成工作室120的附加元件的细节。
[0022]第二主要子系统(分发中心130)体现了与如在foneClay应用系统中的应用储藏库(“应用存储体”)关联的功能,但在设备定制系统1000中,其还充当对于操作软件封装1001、组件模型1002和定制设备模型1004的储藏库。分发中心130继续支持对在foneClay应用系统和foneClay设备系统二者中生产的各种项目的发现、教育、示范、实验和最终获取。
[0023]分发中心130分别使用网络连接183和193 (在后一种情况下连同嵌入139)来与因特网客户185、其计算机180和移动设备181以及移动客户195及其移动设备191进行交互,如在foneClay应用专利申请中所述。应用下载108和109被保留在设备定制系统1000中,且除应用101外还适用于下载操作软件封装1001。对操作软件封装1001的支持也通过交互132和组成工作室120而被扩展到开发者165和175,如在foneClay应用专利申请中所述。
[0024]类似地,分发中心130的各种社区、等级和声望能力(如foneClay应用专利申请中所述)在本发明中被扩展到操作软件封装1001、组成模型1002和定制设备模型1004。
[0025]设备定制系统1000的创新在于分发中心130实现对个人化和大规模定制设备198和199的订购的能力。这经由与设备工厂190的交互196而进行,在下文中描述。
[0026]在图3的描述中提供了关于分发中心130的更多细节。
[0027]在本发明中,第三主要子系统(构建引擎140)将其编译和链接服务扩展超出应用101和应用组件102,以还包含操作软件封装1001。此外,在设备定制系统1000中,构建引擎140还提供在CAD/CAM软件中典型的支持组成工作室120的布局和组成能力,以便准备组件模型1002和定制设备模型1004。其继续分别经由交互142、143和154来与组成工作室120、分发中心130和验证引擎150协作,如在foneClay应用专利申请中所述。
[0028]在图4的描述中提供了关于构建引擎140的更多细节。
[0029]移动设备定制系统1000的第四主要子系统是验证引擎150,验证引擎150提供了在任何foneClay应用系统或foneClay设备系统产品的开发、构建或制造期间开发者和其他子系统所使用的移动设备仿真和测试能力。其继续分别经由交互152、153和154以及经由嵌入125来与组成工作室120、分发中心130和构建引擎140协作,如在foneClay应用专利申请中所述,其中,下文描述的扩展支持本发明的新产品。设备定制系统1000的创新在于:验证引擎150还经由交互159与设备工厂190协作以支持在开发期间定制设备模型1004和设备组件模型1002的可制造性测试并支持设备198和199在其交付之前的工厂测试。
[0030]在图5的描述中提供了关于验证引擎150的更多细节。
[0031]移动设备定制系统1000的第五和最后主要子系统是设备工厂190,设备工厂190在经由交互196通信时代表分发中心130提供个人化设备198和大规模定制设备199的物理制造。设备工厂190还在经由交互159通信时代表验证引擎150支持定制设备模型1004和设备组件模型1002的可制造性测试。
[0032]在图8的描述中提供了关于设备工厂190的更多细节。
[0033]图2更详细地描绘了组成工作室120,示出体现图1描述中概述的功能的主要功能模块。如图1中那样,还示出了重要的外部接口和组成工作室120外对应的协作元件。在图2中示出的分发中心130、构建引擎140、验证引擎150、服务交互132、142和152、嵌入124和125、计算机160和170、网络连接162和172以及嵌入126和127基本上如已经在图1的上下文和foneClay应用专利申请中描述的那样。
[0034]开始于该图底部的是通常见于任何现代软件程序中的基础模块。网络通信支持模块201提供与设备定制系统1000的其他子系统的连接,并且用户界面支持模块202提供用于在视觉上给组成工作室120的用户(诸如,新手开发者165)呈现信息的工具。这些模块正如在foneClay应用专利申请中所描述的那样。
[0035]作为组成工作室120 (作为用于不仅创建应用101而且创建操作软件封装1001和定制设备模型1004的环境)的基础的是视觉和基于XML的表示语言210。其为下述这种语言:其中,开发者将针对foneClay应用系统或foneClay设备系统产品表达他们思想的逻辑的、结构的、时间的、图形的、物理的和其他的元素。该语言基本上如在foneClay应用专利申请中所述的那样,该语言在本发明中被扩展成使用与在公共CAD/CAM软件中使用的语言元素类似的语言元素来表达物理属性和组件部分。
[0036]因而,视觉和基于XML的表示语言210构成组成工作室的所有组件的基础并使这些组件交错,作为在其中表达任何应用101、应用组件102、操作软件封装1001、组件模型1002或定制设备模型1004的所有各种方面的一般形式。
[0037]视觉编程设计工具包220和多媒体用户界面(UI)设计工具包230继续成为主要模块并保持如在foneClay应用专利申请中所描述的那样。在本发明中,它们还支持操作软件封装1001的设计,操作软件封装1001与应用101非常类似,只是其被设计成独立作为设备的基本操作软件而不是加强其现有操作软件。
[0038]本发明的创新是物理设计工具包250,物理设计工具包250提供与较旧的工具包相同类型的能力,特别保留用于工作流的调色板和帆布隐喻(metaphor),但被具体设计成在物理帆布259上表达物理设计。形状调色板251提供了用于定义定制设备模型1004的形态和形态因素的工具,而颜色调色板254和标签调色板255实现了其装饰。组件调色板252提供了用于选择和布置内部和外部部分(特别是由如上所述的设备组件模型1002表示的部分)的工具。连接调色板253实现了在所选择的组件之间的交互的放置以及与软件元件(诸如,用于构造应用101、应用组件102和操作软件封装1001的用户界面和服务对象)的交互的放置。
[0039]类似地,此处保留了来自foneClay应用系统组成工作室的各种库高速缓存,包括可嵌入应用库高速缓存211、服务对象库高速缓存212和UI对象库高速缓存213。它们在本发明中通过形状库高速缓存217和组件库高速缓存218而连结,这提供了在物理设计工具包250中使用的对象。
[0040]设备选择器214、库客户端215和提交客户端216基本上如在foneClay应用专利申请中所述的那样,被扩展成支持本发明的新产品。
[0041 ] 验证工具包240仍然是组成工作室210的必要部分。如同其他模块,其在本发明中被扩展成对设计的物理方面进行仿真和测试。通用模型模块241与来自foneClay应用专利申请的通用设备模型测试模块241相同,其中其名称被缩短以更好地适合于该图上。界面仿真器242类似于来自foneClay应用系统的通用移动设备界面仿真器242,但在本发明中,其在两个方向上被扩展。首先,其提供用于对专用移动设备模型104的用户界面外观和感觉以及任何所选择的操作软件封装1001的用户界面外观和感觉进行仿真的变体。其次,其提供用于对任何专用移动设备模型104或定制移动设备模型1004的形态、布局和装饰进行仿真的皮肤。同样地,组件仿真器243类似于来自foneClay应用专利申请的通用移动设备能力仿真器243,再次在本发明中被扩展成支持任意组件模型1002的测试。
[0042]构建引擎客户端244和验证引擎客户端245基本上与其前身相同,再一次被扩展成携带由物理设计工具包250、组件模型1002和定制设备模型1004提供的附加设计信息。
[0043]在本发明中,验证工具包204是通过添加用于处理设计的物理元素的仿真环境来增强的。机械仿真器246提供用于对热、结构和其他机械方面进行建模和验证的工具。电磁仿真器247类似地提供用于对设计的电气、电子、磁和射频方面进行建模和验证的工具。这两个元件在优选实施例中都通过以下方式实现:合并普遍的现有工具,其被修改成与foneClay外观和感觉相匹配,在必要时被简化和集成以满足新手开发者165和专家开发者175 二者的需要,并在必要时通过验证引擎客户端245与验证引擎150集成以最小化终端用户计算机160或170上的计算需求。
[0044]将组成工作室120的所有面向用户的功能联系在一起的是图形用户界面260。其为针对已经描述的每个功能提供图形和交互支持的设计模块。其是以与功能模块集成且依赖于用户界面支持模块202的特征的方式、使用本领域技术人员公知的技术来实现的。在图6中示出了本发明优选实施例中的可被用于用户界面260的示例布局。
[0045]图3更详细地描绘了分发中心130,示出体现图1描述中所概述的功能的主要功能模块。如图1中那样,还示出了重要的外部接口和在分发中心130外对应的协作元件。在图3中示出的组成工作室120、构建引擎140、验证引擎150、服务交互132、143和153、因特网客户的计算机180和网络连接183、因特网客户的移动设备180、移动客户的移动设备191、网络连接193和嵌入139、以及应用下载108和109基本上如已经在图1的上下文中所描述的那样。类似地,网络通信支持模块301、用户界面支持模块302、用户数据库模块303、web应用服务器304、用户交互服务340和分发服务350都基本上如在foneClay应用专利申请中所描述的那样。
[0046]在分发中心130的核心处的是以下能力:存储应用101、应用组件102、操作软件封装1001、设备组件模型1002和定制设备模型1004连同关于每一个的信息或元数据。库服务模块310体现了该功能集合。搜索工具包311给用户提供了使用所存储的项目的各种属性作为搜索键来在各种储藏库中浏览和搜索特定项目的能力。应用储藏库312、SO储藏库313和UO储藏库314都相对于foneClay应用系统不变。在本发明中,它们通过设备组件模型储藏库315、定制设备模型储藏库316和OS (操作软件)储藏库317而连结,这些储藏库分别存储可用的设备组件模型1002、定制设备模型1004和操作软件封装1001。
[0047]按需订购服务320是foneClay应用专利申请中描述的按需下载服务320的扩展。该模块提供了与获取存储在库服务模块310中的项目关联的功能。其专用移动设备选择器321、构建引擎客户端322、电子商务引擎323和移动设备OTA (无线电)交付模块324与foneClay应用系统中的那些模块相同。本发明中的创新在于设备工厂客户端329,设备工厂客户端329经由交互196将分发中心150链接到设备工厂190,以便实现按个人化和大规模定制设备198和199的请求的制造。
[0048]移动设备和应用示范器330是在foneClay应用专利申请中描述的移动应用示范器330的扩展。其继续通过提供客户可借以与foneClay应用系统和foneClay设备系统产品交互的机制来提供自教育的手段。在本发明中,其被扩展成不仅支持应用101而且支持操作软件封装1001,从而在通用移动设备模型103的上下文中经由通用示范器331以及在专用移动设备模型104和现在的定制移动设备1004 二者的上下文中经由专用设备选择器和仿真器332提供实况仿真。
[0049]将分发中心130的所有面向用户的功能联系在一起的是图形用户界面370。其为针对已经描述的每个功能提供图形和交互支持的设计模块。其是以与功能模块集成且依赖于用户界面支持模块302的特征的方式、使用本领域技术人员公知的技术来实现的。在优选实施例中,图形用户界面370的布局将根据客户和开发者的偏好而动态变化,并一般可以与通常见于常用的社交联网、应用存储体和开发计划支持系统中的特征的组合相似。
[0050]图4更详细地描绘了构建引擎140,示出体现图1描述中概述的功能的主要功能模块。如图1中那样,还示出了重要的外部接口和构建引擎140外对应的协作元件。在图4中示出的组成工作室120、分发中心130、验证引擎150、服务交互142、143和154以及嵌入124基本上如已经在图1的上下文中所描述的那样。类似地,网络通信支持模块401、计算资源管理模块402和构建服务420都基本上如在foneClay应用专利申请中所描述的那样。
[0051]在本发明中,构建引擎140包含来自foneClay应用系统的支持针对应用101、应用组件102和新操作软件封装1001的构建的软件构建栈以及支持针对设备组件模型1002和定制设备模型1004的构建的新硬件构建栈二者。软件栈大部分不变,不过一些名称已被缩短以在该图中让出空间,其吸纳了编译集411,进而使用通用构建工具包432、软件语言解释器433、设备选择器434、代码生成器43、预编译对象436以及目标设备SDK和工具链440,并产生目标可执行程序412。形成构建栈的核心的foneClay应用系统的服务适配框架430在本发明中被增强以提供与在软件构建栈中使用的工具类似的硬件开发工具。因此,在被扩展的情况下,其现在是服务/组件适配框架。
[0052]去往硬件构建栈的输入(模型集412)以视觉和基于XML的表示语言431表达被构建的设计的物理方面。这种语言是软件栈所使用的相同语言,被扩展成表达物理属性和组件部分;其还与在组成工作室120中所使用的语言210相同。
[0053]在服务/组件适配框架430内,硬件构建栈的变换元件开始于通用模型工具包462,通用模型工具包462包含实现如模型集412中表达的组件及其关系所需的公共元件和框架。对于本领域技术人员,这将可容易地识别为形成开发团队的公共基线的胶合逻辑和平台。接下来是硬件语言解释器,所述硬件语言解释器将如以语言431表达的设计变换成可能以专用于物理模型的不同方面(诸如机械、电气、电子和装饰)的若干标准语言表达的一组相关设计。元件选择器464控制从许多种可得的现货供应组件中选择兼容部分。模型合成器465然后被执行以正规化和完成实际构建设备所必需的深层细节,从而将开发者的如所表达和转化的设计与由卖方或其他开发者提供的详细的组件模型466进行组合。布局引擎467确定每个部分的最初精细放置,以便在符合开发者的意图的同时最优地使用空间。
[0054]产生于框架430,该设计被移交给设备专用硬件组件CAD/CAM开发包和工具链450,如对该设计的每个段来说适当的那样。该步骤执行最终合成和确证,包括诸如定时分析、干扰分析、热分析和如本领域技术人员将公知的其他分析之类的关键步骤。到对功能内聚(cohesion)和处理负载分发来说适当的程度,该步骤经由构建服务420内的验证引擎客户端423、与验证引擎150结合进行。在这点处特别感兴趣的是对验证引擎150委托给设备工厂190且然后传递回到构建引擎140的可制造性的验证。
[0055]在该漫长过程的结尾处的是完整的定制设备硬件模型415,该定制设备硬件模型415可以被存储在分发中心130中并进而被递交给设备工厂190以用于制造。
[0056]图5更详细地描绘了验证引擎150,示出体现图1描述中概述的功能的主要功能模块。如图1中那样,还示出了重要的外部接口和验证引擎150外对应的协作元件。在图5中示出的组成工作室120、分发中心130、构建引擎140、设备工厂190、服务交互152、153、154和159、以及嵌入125基本上如在图1的上下文中已经描述的那样。类似地,网络通信支持模块501、计算资源管理模块502、验证服务560和交互式验证框架530都基本上如在foneClay应用专利申请中所描述的那样。
[0057]在本发明中,验证引擎150被增强以提供如在foneClay应用系统中的支持应用101、应用组件102和新操作软件封装1001的测试的软件验证以及支持测试设备组件模型1002和定制设备模型1004的硬件验证工具二者。要验证的对象510继续表示针对验证交易而设置的输入:在本发明中,利用包含软件组件和物理模型二者的能力来增强要验证的对象510。软件部分大部分不变,不过测试规划数据库550的所有模块中的测试的数量和种类有必要更大以支持操作软件封装1001。设备测试用例551和应用/组件测试552在本发明中被扩展成包括与处于测试下的项目的物理方面相关的测试。服务适配框架测试553仍然聚焦于测试继承自框架430的软件侧的设计方面,而组件适配框架测试554提供聚焦于继承自框架430的硬件侧的物理方面的测试。类似地,在自动验证框架520内,测试用例执行驱动器521、成功分析器522和设备接口 523都被扩展成除软件方面外还支持测试设计的物理方面。在测试设备库540内,通用模型仿真器541、专用模型选择器542和专用模型仿真器543仍然本质上不变,而专用设备544的集合被扩展成包括每个大规模定制设备199的实例;一次性(one-off)个人化设备198未被包括在库中。然而,单独的组件模型545被添加到测试设备库540中,无论由外部卖方提供还是在foneClay设备系统内设计,因为他们被广泛地重用。
[0058]验证引擎150的完全创新在于可制造性测试555和可制造性验证器客户端529,它们一起工作并经由交互159与设备工厂190 —起工作来验证设备模型1004或组件1002是否能够可行地从生产线产生。
[0059]图6相对于foneClay应用专利申请不变。一般地,由于其保留调色板、帆布和工具包隐喻,组成工作室120的新元件平滑地配合到⑶I 260对应元件。因此,在foneClay应用专利申请中对该图的描述是足够的,并通过引用合并于此。
[0060]图7描绘了移动设备定制系统1000的计算元件及其交互元件的物理实现架构,由此,在图1中描绘的每个功能元件可以被执行和互连。该图覆盖了系统的所有方面,除了图8中描述的设备工厂190中的制造线的物理组件。因此,在foneClay应用专利申请中对图7的描述是足够的,并通过引用合并于此。
[0061]图8更详细地描绘了设备工厂190,示出体现图1描述中概述的功能的主要功能模块。如图1中那样,还示出了重要的外部接口和设备工厂190外对应的协作元件。在图8中示出的分发中心130、验证引擎150以及服务交互159和196基本上如在图1的上下文中已经描述的那样。
[0062]开始于该图底部的是通常见于至少部分地依赖于软件控制的任何现代子系统中的基础模块。网络通信支持模块901提供了与设备定制系统1000的其他子系统的连接,并包含适于在其上设备工厂190的软件元件运行的计算机硬件的诸如过程间消息传递软件总线、消息结构解析工具包、TCP/IP协议栈实现和联网硬件驱动器之类的公共和公知的组件。作为后台服务,设备工厂190不具有可与组成工作室120和分发中心130中的用户界面支持模块相比的用户界面支持模块。然而,设备工厂190确实合并有提供其其他模块的操作的计算资源902,所述其他模块中的一些被实现为服务器软件并且一些具有自动化方面。
[0063]作为后台服务,为了支持与系统1000的其余部分的交互,设备工厂190的活动模块是制造服务920。在制造服务模块920内,服务响应器模块921负责分别经由服务交互196和159从分发中心130的设备工厂客户端329和验证引擎150的可制造性验证器客户端529接收请求,所述服务交互196和159将这些请求传递到其适当的处理机并向其返回结果。
[0064]订购处理服务923是支持与分发中心130的交互159的制造服务920的子集。其职责是处理来自设备工厂客户端329的构造和交付一个或多个专用设备198或199的请求。订购以要制造的对象的描述器910的形式出现,其包含精确地描述生产什么硬件、要在所生产的项目中安装的一个或多个操作软件封装1001以及关于生产多少实例和将它们运往何处的信息的一个或多个定制设备模型1004。订购处理服务923与设备工厂190的其他模块交互以实现所请求的订购。特别地,针对特定订购的各种生产过程从制造规则数据库930中推出,并被用于驱动下文描述的生产线元件。
[0065]可制造性验证器服务925是支持与验证引擎150的交互196的制造服务920的子集。其职责是处理来自可制造性验证器客户端529的关于是否能够可行地生产经由要制造的对象的描述器910传达的特定定制设备模型1004或设备组件1002进行判断的请求。可制造性验证器服务925使用来自制造规则数据库930 (特别是可制造性测试935)的信息来执行必要的分析。
[0066]如上文中所暗示的那样,对于制造服务920的操作来说所必需的是制造规则数据库930。该模块包含驱动设备工厂190的物理部分所需的所有信息以及将定制设备模型1004或设备组件模型1002变换成实际物理项目所需的所有信息。制造规则数据库930合并有多个信息元件,包括但不限于下述各项:
组件配合规则931描述了设备组件模型1002和在特定定制设备模型1004中包括的组件如何能够配合在一起,包括其形态因素、电气和机械接口规范、以及兼容性信息。也就是说,通常见于组件数据单或应用向导中的任何信息被体现在该模块中。该信息被用在判断可制造性以及指导项目的生产时。
[0067]操作软件(OS)兼容性规则932体现了特定定制设备模型1004所需的硬件组件与操作软件封装1001之间所允许的关系。制造服务920将不继续其中模型1004和OS 1001不兼容的订购。
[0068]组装规则933描述了用于组装特定项目的操作的过程和次序。这包括特定组件的详细组装过程以及用于对各个过程进行排序并制定生产个人化设备198或大规模定制设备199作为最终项目所需的端到端过程的逻辑。
[0069]工厂测试934体现了在最终项目从设备工厂190释放之前要在该最终项目上执行的测试过程。
[0070]如前所述,可制造性测试935描述了用于在不实际生产模型1002或模型1004的情况下确定是否能够生产模型1002或模型1004的规则。这是减少与尝试生产不可行最终项目相关联的浪费和费用的重要设计时(design-time )活动。
[0071]设备工厂190的其余部分是构成其生产线的元件。这些元件主要是由制造服务920根据规则数据库930中的过程驱动的自动化和机器人机器。它们被本发明需要以供本发明操作,但它们的具体实现不必对本发明来说唯一。事实上,本发明的优选实施例合并有用于实现设备工厂190的该部分的现货供应现有制造装置和过程。还应该注意的是,在系统1000下预期的最终项目的制造中,不是所有过程都可以被可行地自动化。因此,无论到适应这种过程所必需的什么程度,人类操作者都还可以被合并到这些模块中的任一个中。
[0072]组件供应940体现了下述两项:工厂的外部供应链;以及内部机制,其确保包括复杂项目和原始材料二者的正确部分且被选择和合并到特定订购中。仓库存储器、输送机和本领域技术人员公知的其他普通工具包括该模块。
[0073]加工设施950由制造和成形诸如定制外壳、按钮和其他金属或塑料件之类的项目的机器工具构成。
[0074]组装设施960由诸如拾取和放置机器之类的机器人工厂工具和常见于任何电子设备生产线上的其他站构成。
[0075]OS安装设施970将所生产的硬件与针对订购而指定的操作软件封装1004结合在一起。许多方法可用于完成该步骤,诸如在闪存设备合并到最终项目中之前加载闪存设备,或者将最终项目附着到计算机工作站并执行下载过程。本发明不限制此处要使用哪个过程。事实上,根据在系统1000的任何特定实例中实现的组件部分和设计能力的种类,多个这种过程可能在设备工厂190中是必要的。
[0076]工厂测试设施980提供了根据在制造规则数据库930中找到的工厂测试934进行操作的完整最终项目的预交付验证。多个方面被测试。视觉检查器981验证形态因素和装饰。机械测试器982检验健壮性并确保任何联系或移动部分的合适运转。电子测试器983检验正确的上电和OS执行,并验证电气和电磁接口(包括射频发射)操作于合法、安全且功能上正确的包装内。
[0077]最后,当个人化设备198准备好或者一批大规模定制设备199完成时,交付设施990将其发送出门到等候的客户、批发经销商或零售设施。
[0078]已经在上文中参考优选实施例描述了本发明。并不意图将本发明限制于所示出和描述的特定实施例,而是本发明在范围上仅由所附权利要求限定。对本领域技术人员来说将显而易见的是,可以对所述实施例以及实施例中所利用的各种技术作出各种替代、修改和扩展。本领域技术人员还将认识到,这种替代、修改和扩展落在本发明的精神和范围内,并且意图是,如所附权利要求中所阐述的本发明包括所有这种替代、修改和扩展。
【权利要求】
1.一种用于创建、管理和分发移动设备操作软件封装的计算机实现方法,所述方法包括: 接收对以下各项中的至少一个的选择:用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件;以及用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件; 使用通用设备模型测试模块来测试移动设备操作软件封装; 将移动设备操作软件封装提交到分发中心;以及 将移动设备操作软件封装分发到移动设备。
2.根据权利要求1所述的计算机实现方法,进一步包括: 将移动设备操作软件封装编译成适合于目标移动设备的可执行操作软件; 将移动设备操作软件封装提交到构建引擎,以用于使用多个专用移动设备模型的构建;以及 使用专用移动设备模型来验证移动设备操作软件封装。
3.根据权利要求2所述的计算机实现方法,进一步包括: 使用通用构建工具包来接收移动设备操作软件封装的编译集; 使用软件语言解释器和代码生成器来转化编译集,其中所述代码生成器是至少部分地基于由设备选择器确定的目标设备来选择的; 将转化后的编译集与一个或多个预编译对象进行组合;以及 使用从目标设备专用软件开发包和工具链中选择的专用移动设备模型来生产目标设备专用可执行操作软件。
4.根据权利要求3所述的计算机实现方法,其中所述接收、转化、组合和生产由构建引擎执行。
5.根据权利要求1所述的计算机实现方法,其中测试移动设备操作软件封装包括: 从测试规划数据库获取设备测试用例集合; 从测试规划数据库获取应用和组件测试集合; 从测试规划数据库获取服务适配框架测试集合;以及 使用通用设备模型测试模块来执行设备测试用例集合、应用和组件测试集合以及服务适配框架测试集合。
6.根据权利要求5所述的计算机实现方法,其中验证移动设备操作软件封装包括: 从专用移动设备选择器接收专用移动设备的选择; 从专用实际移动设备实例的集合中获取与专用移动设备相对应的专用设备实例;以及 使用专用移动设备模型仿真器以使用专用设备实例验证移动设备操作软件封装。
7.根据权利要求6所述的计算机实现方法,其中使用通用设备模型测试模块测试移动设备操作软件封装和使用专用移动设备模型仿真器验证移动设备操作软件封装由验证引擎执行。
8.一种计算机程序产品,包括其中体现有计算机可读程序代码的计算机可使用介质,所述计算机可读程序代码被适配成被执行以实现用于创建、管理和分发移动设备操作软件封装的方法,所述方法包括:接收对以下各项中的至少一个的选择:用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件;以及用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件; 使用通用设备模型测试模块来测试移动设备操作软件封装; 将移动设备操作软件封装提交到分发中心;以及 将移动设备操作软件封装分发到移动设备。
9.根据权利要求8所述的计算机程序产品,进一步包括: 将移动设备操作软件封装编译成适合于目标移动设备的目标可执行软件; 将移动设备操作软件封装提交到构建引擎,以用于使用多个专用移动设备模型的构建;以及 使用专用移动设备模型来验证移动设备操作软件封装。
10.根据权利要求8所述的计算机程序产品,其中将移动设备操作软件封装提交到分发中心包括: 将移动设备操作软件封装发送到分发中心;以及 将移动设备操作软件封装存储在由分发中心维护的操作软件储藏库中。
11.根据权利要求8所述的计算机程序产品,其中分发移动设备操作软件封装包括: 接收移动设备操作软件封装的选择; 从操作软件储藏库中获取移动设备操作软件封装;以及 将移动设备操作软件封装发送到设备工厂以供制造移动设备集合时使用。
12.根据权利要求11所述的计算机程序产品,其中接收移动设备操作软件封装的选择包括: 确定对用户来说可用的所存储的移动设备操作软件封装的集合; 将所存储的移动设备操作软件封装的集合提供给用户;以及 允许用户使用所存储的移动设备操作软件封装的属性来搜索所存储的移动设备操作软件封装的集合。
13.根据权利要求12所述的计算机程序产品,其中所述提供和允许是使用图形用户界面来执行的。
14.根据权利要求8所述的计算机程序产品,进一步包括将移动设备操作软件封装发送到设备工厂。
15.一种移动设备操作软件封装,其是通过以下操作来制作的: 接收对以下各项中的至少一个的选择:用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件;以及用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件; 使用通用设备模型测试模块来测试移动设备操作软件封装; 将移动设备操作软件封装提交到分发中心;以及 将移动设备操作软件封装分发到移动设备。
16.根据权利要求15所述的通过操作而制作的移动设备操作软件封装,进一步包括以下操作: 将移动设备操作软件封装编译成适合于目标移动设备的目标可执行软件; 将移动设备操作软件封装提交到构建引擎,以用于使用多个专用移动设备模型的构建;以及 使用专用移动设备模型来验证移动设备操作软件封装。
17.根据权利要求16所述的通过操作而制作的移动设备操作软件封装,进一步包括以下操作: 使用通用构建工具包来接收移动设备操作软件封装的编译集; 使用软件语言解释器和代码生成器来转化编译集,其中所述代码生成器是至少部分地基于由设备选择器确定的目标设备来选择的; 将转化后的编译集与一个或多个预编译对象进行组合;以及 使用从目标设备专用软件开发包和工具链中选择的专用移动设备模型来生产目标设备专用可执行操作软件。
18.根据权利要求17所述的通过操作而制作的移动设备操作软件封装,其中所述接收、转化、组合和生产由构建引擎执行。
19.根据权利要求 15所述的通过操作而制作的移动设备操作软件封装,其中将移动设备操作软件封装提交到分发中心包括以下操作: 将移动设备操作软件封装发送到分发中心;以及 将移动设备操作软件封装存储在由分发中心维护的操作软件储藏库中。
20.根据权利要求15所述的通过操作而制作的移动设备操作软件封装,其中分发移动设备操作软件封装包括以下操作: 接收移动设备操作软件封装的选择; 从操作软件储藏库中获取移动设备操作软件封装;以及 将移动设备操作软件封装发送到设备工厂以供制造移动设备集合时使用。
21.一种用于创建、管理和分发移动设备操作软件封装的系统,所述系统包括: 移动设备操作软件封装; 通用移动设备模型; 组成工作室;以及 分发中心。
22.根据权利要求21所述的系统,进一步包括: 专用移动设备模型; 构建引擎;以及 验证引擎。
23.一种用于创建、制造和分发定制或个人化的移动设备的计算机实现方法,所述方法包括: 接收对用于添加到物理帆布以形成定制移动设备模型的来自形状、组件、连接、颜色和标签调色板中的至少一个的至少一个物理设计元件的选择; 接收对以下各项中的至少一个的选择: 用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件, 用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件,以及来自库的现有移动设备操作软件封装; 使用通用移动设备模型测试模块、机械仿真器和电磁仿真器来测试移动设备操作软件封装; 将定制移动设备模型和移动设备操作软件封装提交到分发中心; 将定制移动设备模型发送到设备工厂; 根据由定制移动设备模型指定的设计来自动制造定制移动设备; 将移动设备操作软件封装安装在定制移动设备中;以及 交付定制移动设备。
24.根据权利要求23所述的计算机实现方法,进一步包括至少部分地基于组件配合规贝U、组装规则和可制造性测试的数据库来验证定制移动设备模型的可制造性。
25.根据权利要求23所述的计算机实现方法,进一步包括: 将移动设备操作软件封装编译成适合于定制移动设备的可执行操作软件;以及使用验证引擎、定制 移动设备模型和操作软件兼容性规则的数据库来验证移动设备操作软件封装。
26.根据权利要求23所述的计算机实现方法,其中自动制造包括: 如定制移动设备模型所指定且根据组件配合规则的数据库来加工部件;以及 如定制移动设备模型所指定且根据组装规则的数据库来组装机械和电子组件。
27.根据权利要求23所述的计算机实现方法,其中自动制造包括使用工厂测试设施和工厂测试的数据库来自动确认定制移动设备符合定制移动设备模型。
28.根据权利要求27所述的计算机实现方法,进一步包括: 对定制移动设备进行视觉检查; 验证定制移动设备的机械方面;以及 验证定制移动设备的电子和电磁方面。
29.一种计算机程序产品,包括其中体现有计算机可读程序代码的计算机可使用介质,所述计算机可读程序代码被适配成被执行以实现用于创建、制造和分发定制或个人化的移动设备的方法,所述方法包括: 接收对用于添加到物理帆布以形成定制移动设备模型的来自形状、组件、连接、颜色和标签调色板中的至少一个的至少一个物理设计元件的选择; 接收对以下各项中的至少一个的选择: 用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件, 用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件,以及来自库的现有移动设备操作软件封装; 使用通用移动设备模型测试模块、机械仿真器和电磁仿真器来测试定制移动设备模型和移动设备操作软件封装;将定制移动设备模型和移动设备操作软件封装提交到分发中心;以及 将定制移动设备模型发送到设备工厂。
30.根据权利要求29所述的计算机程序产品,进一步包括: 将移动设备操作软件封装编译成适合于定制移动设备模型的可执行操作软件;以及使用验证引擎、定制移动设备模型和操作软件兼容性规则的数据库来验证移动设备操作软件封装。
31.根据权利要求29所述的计算机程序产品,进一步包括使用组件配合规则、组装规则和可制造性测试的数据库来验证定制移动设备模型的可制造性。
32.—种被配置成根据从计算机实现的分发中心接收的定制移动设备模型生产定制移动设备的自动工厂,所述工厂根据包括以下操作的方法进行操作: 如定制移动设备模型所指定且根据组件配合规则的数据库来加工部件; 如定制移动设备模型所指定且根据组装规则的数据库来组装机械和电子组件; 将移动设备操作软件封装安装在定制移动设备中; 使用工厂测试设施和工厂测试的数据库来自动确认定制移动设备符合定制移动设备模型;以及 分发定制移动设备。
33.根据权利要求32所述的自动工厂,其中所述操作方法进一步包括: 对定制移动设备进行视觉检查; 验证定制移动设备的机械方面;以及 验证定制移动设备的电子和电磁方面。
34.一种定制移动设备,其是通过以下操作来制作的: 接收对用于添加到物理帆布以形成定制移动设备模型的来自形状、组件、连接、颜色和标签调色板中的至少一个的至少一个物理设计元件的选择; 接收对以下各项中的至少一个的选择: 用于添加到数据和逻辑帆布的来自形状、组件、连接、颜色和标签调色板中的至少一个的逻辑和数据元件, 用于添加到多媒体用户交互帆布以形成移动设备操作软件封装的来自图形、小部件、音频/视频或触觉调色板中的至少一个的用户交互元件,以及来自库的现有移动设备操作软件封装; 使用通用移动设备模型测试模块、机械仿真器和电磁仿真器来测试定制移动设备模型和移动设备操作软件封装; 将定制移动设备模型和移动设备操作软件封装提交到分发中心; 将定制移动设备模型发送到设备工厂; 根据由定制移动设备模型指定的设计来自动制造定制移动设备; 将移动设备操作软件封装安装在定制移动设备中; 使用工厂测试设施和工厂测试的数据库来自动确认定制移动设备符合定制移动设备模型;以及 将定制移动设备交付给客户。
35.一种用于创建、制造和分发定制移动设备的系统,所述系统包括:移动设备操作软件封装;移动设备组件模型;定制移动设备模型;通用移动设备模型;组成工作室;分发中心;以及设备工厂。
36.根据权利要求35所述的系统,进一步包括:构建引擎;以 及验证引擎。
【文档编号】G06F9/44GK103842961SQ201280033188
【公开日】2014年6月4日 申请日期:2012年4月25日 优先权日:2011年5月5日
【发明者】I.埃特米南, M.卡罗西, H.尚蒂库马, J.比肖普, V.普蒂亚科维拉卡姆 申请人:福尼克莱公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1