具体实施方式
这里说明的多种实施例使得遍及扩展式企业分布的资源之间的合作成为可能。在一个实施例中,遍及扩展式企业的合作可通过基于web的合作工具在因特网上出现。扩展式企业是分布在分散的合作企业中的多种功能资源的联系和/或合作。如前所述,合作是多个团队通过合作努力来实现共同目标的交互。在一个实施例中,购买组织及其供应商的功能资源形成扩展式企业。功能资源可包括购买组织或供应商的采购(购买)、工程、销售、市场、管理、运营以及财务资源。正如这里使用的,供应商可包括:与组织有关系的销售商、合同工程师、分销商以及制造商。供应商还向组织提供项目或服务。由供应商提供的项目和/或服务包括冲压、铸造、电路板装配、封装、通用装配、加工、成型、焊接以及通常与项目的设计、制造和分发相关的多种其它服务。由形成分布式平台的计算机硬件和软件模块的多种实施例提供基于web合作的功能。模块使分布的资源可以在工作在共同工程时进行合作。在一个实施例中,工程包括从新产品设计工程到项目采购到产品制造阶段的任何活动。术语“项目”指任何机械装置、设备、产品、工具、机械、组装、子组装、部件、组件、部分、材料、服务、处理,和/或任何其它设计、制造、采购、建造、制造、组装和/或制作产品所需的材料货物或服务。
采购是选择供应商以及订约购买和提供项目的战略过程。采购还可包括与供应商按给定的数量在从项目被引入时刻开始贯穿项目的生命周期的固定时间内就项目的价格进行谈判。可使用一个或多个采购方法处理采购的谈判要素。采购方法的一个实例是可利用因特网(e-拍卖)并涉及一个买家和许多卖家的反向拍卖。大体意思是买家确定它要购买的东西并且邀请两个或更多的供应商来对卖家指定的项目递交出价(投标)。为了确保中标的供应商是适合的,买家可事先确定允许参与谈判的供应商的资格。这个过程通常将产生可能的最低价格。这里说明的模块的实施例为扩展式企业提供项目管理、采购管理、工程管理以及合作工具。这些模块处理从新项目的设计成本阶段贯穿到产品采购和项目批准的战略的采购活动以及产品生命周期管理。
这里说明的各个模块的多种实施例使得项目的电子采购(e-采购)在基于web的环境下成为可能。模块提供平台用于选择供应商并且向供应商授予合同,以及订约从供应商处购买项目。在一个实施例中,这些功能通过诸如因特网之类的广域网(WAN)激活环境中出现。E-采购使组织可以为了就项目价格谈判而快速地和全球化地向一个或多个它的扩展企业伙伴散发多种电子文件。电子文件包括任何私有的、授予专利的和/或授予版权的信息,这些信息包括多种二维(2-D)和三维(3-D)计算机辅助设计(CAD)格式的工程设计图、技术规范、项目规范、制造图、制造计划以及知识产权(IP)。电子文件还包括解释性的报价请求(RFQs)、投标请求(RFP)以及与项目相关的信息请求(RFI)。
在扩展式企业网络内部的组织可利用电子文件处理与供应链管理相关的技术或商业问题来合作完成工程。这些模块的实施例提供合作谈判环境来与多个供应商考虑价格与非价格因素就项目与服务的总费用值进行谈判并且有效地获得最佳谈判合同授予决定。
数字版权管理(DRM)技术可被应用于遍布扩展式企业的任何电子文件以保护可在合作和谈判过程中被交换的电子文件的私有属性。用户查看权限被嵌入在电子文件内部。如果用户缺乏授权,用户就不能够查看文件。DRM技术为了通过因特网在扩展式企业中安全的分发,对电子文件进行加密以防止未授权的访问、拷贝以及分发。加密的电子文件在它们被合作与谈判伙伴之间交换时可遍及扩展式企业被自由地分发。DRM技术的实施例使发布者可以保护、控制、跟踪和审查电子文件的数字化内容。在一个实施例中,DRM技术将电子文件的查阅限制给授许可的用户。在一个实施例中,DRM技术防止电子文件被复制和/或再分发给非用户。在一个实施例中,DRM技术可通过到发布者订阅服务的链接来指出未授权用户。在一个实施例中,DRM技术可通过为发布者识别所有试图非法查看被分发的电子文件拷贝的非授权用户以及所有非法转发文件的授许可用户来提供对未授权分发的粒度控制和跟踪。DRM技术使用户可以被限制对电子文件的访问。在一个实施例中,发布采购合同授予给一个或多个供应商,买家可利用DRM技术来对机密电子文件的访问限制给一个或多个被授予合同的供应商。正如这里所使用的,DRM技术的利用使遍及扩展式企业的安全合作环境成为可能。在一个实施例中,安全合作环境包括利用DRM技术对内容的加密、鉴权、授权以及审查。另外,安全合作环境还包括遍及扩展式企业的媒体信息的传送安全;媒体信息的存储安全;发送者的鉴权;接收者的鉴权;授权;只有发送者并且没有任何其它人发送消息情形下的不可否认性;防止篡改媒体信息以保持原始的完整性;时间标记;跟踪以及存档媒体信息的发送;严格鉴定访问媒体信息的特权;以及产生审查跟踪。
图1表示用于分布式合作与谈判的系统100的一个实施例。系统100包括通过网络130通信的多个节点110-1-a、120-1-b(这里a和b表示任何数字)、以及140。在一个实施例中,系统100代表在节点110-1-a、120-1-b、140之间无缝集成的扩展式企业网络。在一个实施例中,扩展式企业网络包括在节点110-1-a和120-1-b内的范围从个体到功能团队的资源。位于节点110-1-a和120-1-b的资源在由系统管理员给予对合作/谈判系统100访问的权限后可通过节点140在网络130上进行合作,系统管理员可位于节点110-1-a、120-1-b、140中的任意一个。在一个实施例中,系统管理员可通过在系统100注册每个资源并通过以资源名、功能位置、公司和/或公司内特定部门、e-mail地址、电话号、传真号和/或物理地址来识别每一资源,以准予位于节点110-1-a、120-1-b的资源对合作/谈判系统100进行访问。在注册这些资源时,管理员可向资源发送e-mail通知。在一个实施例中,e-mail包括访问系统100的超链接以及资源用户标识号和/或密码以向资源提供对系统100的访问。贯穿于整个说明书,功能资源、使用者和用户被可互换地使用来指示可位于节点110-1-a、120-1-b和140中任意一处的资源。在多种实施例中,功能资源、使用者和用户可位于节点110-1-a、120-1-b。
节点110-1-a可被称为第一客户节点。节点120-1-b可被称为第二客户节点。节点140可被称为主处理节点,主处理节点使得第一客户节点110-1-a与第二客户节点120-1-b之间可以安全合作。在一个实施例中,系统100包括,例如,一个或多个第一客户节点110-1-a以及一个或多个第二客户节点120-1-b。主处理节点140通过网络130提供平台和功能以无缝集成在第一客户节点110-1-a和一个或多个第二客户节点120-1-b之间的电子交易。主处理节点140以运行在专门平台上的多个硬件和软件模块的形式提供功能以使电子文件的交换以及管理工程活动成为可能。在一个项目开发例子中,电子文件包括用于说明机械设计(设计)或工程化项目模型的计算机辅助设计(CAD)文件。CAD文件包括2-D或3-D图像以及说明性数据(如此处定义的)。在一个实施例中,说明性数据说明项目,并被嵌入在电子文件中。在一个合作项目开发环境中,主处理节点140可使得在第一客户节点110-1-a和第二客户节点120-1-b之间经网络130可交换多个电子CAD文件。
在一个实施例中,第一客户节点110-1-a可代表一个或多个其功能为在系统100内从供应商购买项目的买家组织。第一客户节点110-1-a包括设计、开发、制造和采购项目的OEM企业。这些OEM企业有获得项目并向它们的消费者分发产品的需要。在本申请中,第一客户节点110-1-a可被称为“消费者”或“买家”节点。第二客户节点120-1-b可代表其功能为向买家组织销售项目的供应商组织。第二客户节点120-1-b可与一个或多个企业相关联,这些企业可向与第一客户节点110-1-a相关联的OEM企业提供项目。在本申请中,第二客户节点120-1-b可被称为“供应商”或“供应链”节点。在这个实例中,主处理节点140使得在第一客户节点110-1-a的任意一个与第二客户节点120-1-b的任意一个之间可电子交换与设计、制造和采购项目(例如数字化形式)相关联的信息。经扩展式企业系统100的合作电子信息交换替代了传统的经过诸如电话、传真、来自web网络入口站点的文件传输协议(FTP)以及文件之类的多种通信介质的信息交换形式,并且提供了用于在合作环境中交换电子文件的单一介质。
主处理节点140提供功能来使位于第一和第二客户节点110-1-a、120-1-b之间的资源可以合作。合作包括合作工程管理以及沟通设计、采购和与项目有关的制造信息。
正如此处使用的,第一和第二客户节点110-1-a、120-1-b中的每一个以及主处理节点140可包括用于在系统100中信息通信的任何物理或逻辑实体并且可根据给定的设计和/或系统参数或系统限制所希望的那样以硬件、软件或其任意组合来实现。虽然系统100作为实例,显示有限数目的节点,应了解为了给定的实现可使用附加的或更少的节点。
节点可包括任何在系统100中具有唯一地址的物理或逻辑实体。唯一地址包括例如诸如因特网协议(IP)地址之类的网络地址、诸如媒体访问控制(MAC)地址之类的设备地址等。具体实施方式不限于本申请文件。
系统100的第一和第二客户节点110-1-a、120-1-b以及主处理节点140包括和/或形成网络130的一部分,网络是诸如因特网、局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、万维网、电话网(如模拟、数字、有线、无线、PSTN、ISDN或xDSL)、无线电网络、电视网、同轴电缆网、卫星网络和/或其他被配置以传送数据的任意的有线或无线通信网络。网络130可包括一个或多个组件诸如,例如被配置以指示和/或传送数据给其他网络的中继节点、代理服务器、防火墙、路由器、交换机、集线器、适配器、套接口和有线或无线的数据通道。具体实施方式不限于本申请文件。
系统100的第一和第二客户节点110-1-a、120-1-b以及主处理节点140可被布置传递诸如媒体信息之类的一种或多种类型的信息。媒体信息指表现对使用者有意义的内容的任何数据,诸如图像信息、视频信息、图形信息、音频信息、语音信息、文本信息、数字信息、字母数字信息、字符信息等。在系统100上通信的其他媒体信息的实例包括例如包括私有的、授予专利的和/或授予版权的信息的电子文件,所述电子文件包括工程制图、机械设计、设计信息、制图和/或CAD文件,这些文件说明工程项目的设计或模型、项目的图像、说明性数据,所述说明性数据说明例如项目的属性、特性以及特征、2-D和3-D的CAD模型、技术规范、产品和项目规范、制造图、制造计划、包括一个或多个项目的材料清单(BOM)、知识产权(IP)以及其他私有的商业文件,所述商业文件包括例如在其他与项目的生命周期相关联的文件中定义RFQ、RFP、RFI的解释文件。这里媒体信息可被称为消费者信息、工程信息和/或供应商信息。消费者/买家信息包括例如图、零件列表、材料规范、精加工规范、过程规范、热处理规范、质量程序、质量表格、报价表以及其他定义项目及其属性的信息。工程信息包括例如任务、到期日、负责完成任务的人员、与工程相关的承诺日期、项目列表、定义项目和/或项目树(例如项目及其产品结构关系和/或与另一个项目关系的列表)的文档。在一个实施例中,这样的工程信息可涉及例如RFQ、新产品介绍(NPI)、费用支出、质量改进以及生产线合理化。供应商信息可包括例如第一商品检查、设备规范、生产能力文档、报价文档、容限、夹具文档以及控制图。CAD信息包括在任何CAD格式中格式化的信息,包括但不局限于光栅和/或向量格式,诸如AutoDesk Inventor、Bentley、AutoCAD、Catia、Ideas、Unigraphics、Solid Works、Solid Edge、Pro-Engineer文件等。媒体信息还包括例如智能文档中格式化的信息等。在一个实施例中,智能文档包括由写作程序读取的元数据和/或元标签。在一个实施例中,元数据和/或元标签代表例如文件格式、轨迹和/或动画。在一个实施例中,这样的智能文档包括例如MS-Word文件、MS-Excel文件、MS-Power Point文件、Word perfect文件、Lotus文件和打印机文档格式(PDF)文件。媒体文件还包括可扩展标记语言XML格式。媒体信息来源于或去往由主处理节点140平台启动的第一客户节点110-1-a和/或第二客户节点120-1-b中的任意一个。具体实施方式不限于本申请文件。
系统100的第一和第二客户节点110-1-a、120-1-b以及主处理节点140可被布置来传递诸如控制信息之类的一种或多种类型的信息。控制信息指对自动化系统有意义的代表命令、指令或控制字的任意数据。例如,控制信息可被用作在系统100中为媒体信息指定路由或指令第一和第二客户节点110-1-a、120-1-b以及主处理节点140来按照预定的方式处理媒体信息。控制信息可从和向许多不同装置或网络传输。具体实施方式不限于本申请文件。
系统100的第一和第二客户节点110-1-a、120-1-b以及主处理节点140可根据一个或多个协议传送媒体和控制信息。协议包括一组预定义的规则或指令以控制节点之间信息通信的方式。协议被一个或多个协议标准所定义,标准由诸如因特网工程工作组(IETF)、国际电信联盟(ITU)、国际电子电气工程师协会(IEEE)等标准化组织公布。例如,系统100可包括根据一个或多个分组协议信息通信的分组网络,分组协议例如一个或多个因特网协议,诸如传输控制协议(TCP)和因特网协议(IP)、TCP/IP、X.25、超文本传输协议(HTTP)以及用户数据报协议(UDP)。在另一个实例中,系统100可利用诸如由一个或多个IEEE 802以太网标准所定义的载波监听多路访问/冲突检测(CSMA/CD)之类的媒体访问控制协议来传送分组。在另一实例中,系统100可根据一个或多个异步传输模式(ATM)协议、帧中继、系统网络体系机构(SNA)等来传送分组。在一个实施例中,系统100可利用例如安全超文本传输协议(S-HTTP)和安全套接字层协议(SSL)来传送分组。在一个实施例中,系统100可利用例如高级加密标准(AES)联邦信息处理标准(FIPS)公开197(FIPS-197)加密方法来传送加密的信息。具体实施方式不限于本申请文件。
在多种实现中,主处理节点140被表示和说明具有多个单独的功能组件,诸如模块和/或方框。虽然以示例的方式说明某些模块和/或方框,应理解可使用更多或更少数量的模块和/或方框而仍然在实施例的范围内。进一步的说,虽然关于模块和/或方框对多种实施例进行描述有助于对它们的说明,这样的模块和/或方框也可由一个或多个硬件部件(例如处理器、DSP、PLD、ASIC、电路、寄存器)、软件部件(例如程序、子程序、逻辑)和/或它们的组合实现。
在一个实施例中,主处理节点140包括通过一种或多种通信介质连接的多个模块。通信介质通常包括任何能够传送信息信号的介质。例如,通信介质可根据给定的实现的需要包括有线通信介质、无线通信介质或两者的组合。有线通信介质的例子包括电线、电缆、印刷电路板(PCB)、底板、半导体材料、双绞线、同轴电缆、光纤等。无线通信介质的例子包括诸如射频(RF)频谱之类的无线频谱的一部分。具体实施方式不限于本申请文件。
模块根据给定的设计或性能限制所希望的,包括或被实现为一个或多个系统、子系统、装置、部件、电路、逻辑、程序或其任意的组合。例如,模块可包括在衬底上制作的电子组件。在多种实现中,电子组件可利用诸如互补型金属氧化物半导体(CMOS)、双极性、以及双极性CMOS(BiCMOS)加工之类的基于硅的IC加工来制造。具体实施方式不限于本申请文件。
在一个实施例中,第一和第二客户节点110-1-a、120-1-b以及主处理节点140的每一个可包括在通用计算装置中实现的可执行代码形式的模块。图2是计算环境的一个实施例的示意图,该计算环境中可实现第一和第二客户节点110-1-a、120-1-b以及主处理节点140的多种模块和子模块。本领域的技术人员应理解计算环境可包括图2中所示的所有部件,由特定的实现和实施例可能要求的这些部件的子集或附加的部件,具体实施方式不限于本申请文件。在多种实施例中,通用计算装置200的形式可以是个人计算机(PC)、服务器、路由器、交换机、网络PC、对等装置或其他常见的包括一个或多个处理单元210-1-p、系统存储器220以及将包括系统存储器220在内的多种系统部件耦合到一个或多个处理单元210-1-p的系统总线230的网络节点。系统总线230可以是利用多种总线体系结构中的任意一种包括存储器总线或存储器控制器、外围总线和局部总线的若干总线类型中的任意一种。系统存储器包括只读存储器240(ROM)以及随机存取存储器250(RAM)。
在ROM 240中存储有基本输入/输出系统260(BIOS),其包含基本的程序以帮助诸如启动期间在通用计算装置200内部的组件之间传输信息。通用计算装置200还包括硬盘驱动器270,用于从硬盘中读取或向硬盘中写入;磁盘驱动器,用于从可移动磁盘290中读取或向其写入;以及光盘驱动器291,用于从诸如CD ROM或其他光学介质之类的可移动光盘299中读取或向其写入。分别通过硬盘驱动器接口292、磁盘驱动器接口293和光盘驱动器接口294将硬盘驱动器270、磁盘驱动器280以及光盘驱动器291与系统总线230相连接。驱动器以及它们所关联的计算机可读介质提供计算机可读指令、数据结构、程序模块以及用于通用计算装置200的其他数据的非易失存储。
虽然这里说明的示意性环境使用硬盘、可移动磁盘290以及可移动光盘299,本领域的技术人员应理解在示例性操作环境中也可使用其它类型的可存储计算机可访问数据的计算机可读介质,诸如磁带、闪速存储卡、数字视频盘、伯努利存储器、RAM、ROM等。
许多模块可被存储在硬盘、磁盘290、光盘299、ROM 240或RAM250,包括操作系统295、一个或多个应用程序模块296、其他模块297以及程序数据298。OS 295、一个或多个应用程序模块296、其他模块297以及程序数据298可包括多种固件部件诸如软件、程序、数据、驱动、应用程序编程接口(API)等等。OS 295、一个或多个应用程序模块296、其他模块297以及程序数据298可被存储在处理节点102的非易失(NV)存储器中,诸如位屏蔽只读存储器(ROM)或闪速存储器。NV存储器可包括其它类型的存储器,包括例如可编程ROM(PROM)、可擦写可编程ROM(EPROM)、电子可擦写可编程ROM(EEPROM)或者诸如动态RAM(DRAM)、双数据率DRAM(DDRAM)和/或同步DRAM(SDRAM)之类的电源支持随机存取存储器(RAM)。具体实施方式不限于本申请文件。
在多种实施例中,OS 295可包括但不局限于Cisco互联网操作系统(IOS)、Juniper JUNOS、
OS(例如95、98、NT、ME、2000、XP、CE、Longhorn)、Apple Macintosh OS、IBMOS、Linux、Unix、Solaris、3Com Palm OS等。具体实施方式不限于本申请文件。
用户可通过诸如键盘201以及指示装置202(例如,诸如鼠标)之类的输入装置,向通用计算装置200输入命令和信息。其他输入装置(未示出)可包括麦克风、操纵杆、游戏垫、卫星盘、扫描仪等。这些以及其他输入装置通常通过耦合到系统总线的串行端口接口206被连接到一个或多个处理单元210-1-p,但也可通过诸如并口、游戏口或通用串行总线(USB)之类的其他接口连接。显示器207或其他显示装置也通过诸如视频适配器208之类的接口与系统总线230相连接。除显示器207之外,个人计算机通常包括诸如扬声器和打印机之类的其他周边输出装置(未示出)。
通用计算装置200可利用到一个或多个远程计算机209的逻辑连接而运行在网络环境中。远程计算机209可以是另一个通用计算装置、个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括上述说明的与通用计算装置200相关的许多或全部组件,虽然在图2中仅示出存储器存储装置211。图2中描述的逻辑连接可包括LAN 212和WAN 213。这样的网络环境在办公室、企业范围计算机网络、企业内部互联网以及因特网中是常见的。
当在LAN网络环境下使用的时候,通用计算设备200通过网络接口或适配器214连接到局域网212。当在WAN网络环境下使用的时候,通用计算设备200通常包括调制解调器215或其他用于建立经过诸如因特网之类的WAN的通信的装置。可为内置或外置的调制解调器通过串行端口接口206连接到系统总线230。在网络环境下,与通用计算装置200或其部分相关的说明的程序模块可被存储在远程存储器存储装置中。应理解显示的网络连接是示意性的并且也可使用用于在计算机之间建立通信链路的其他装置。
图3A表示代表图1中所示的系统100的一个实施例的扩展式企业网络300的一个实施例。在一个实施例中,扩展式企业网络300支持由主处理节点140启动的在第一和第二客户节点110-1和120-1之间的通信。为了简化说明,扩展式企业网络300被显示为包括单一的第一客户节点110-1和单一的第二客户节点120-1。然而,如图1所示,客户节点可包括多个第一客户节点110-1-a和多个第二客户节点120-1-b。具体实施方式不限于本申请文件。
例如,在一个实施例中,第一客户节点110-1包括计算机310以及数据库312。在一个实施例中,第二客户节点120-1包括计算机320和数据库322。在一个实施例中,计算机310、320每个包括包含有控制模块318与web浏览器314、324的应用程序框架348、349(此处说明)。在一个实施例中,计算机310、320可代表通过LAN或WAN互联的多个计算机。在一个实施例中,计算机310、320可代表图2显示的通用计算装置200并包括说明的与其相关的组件的全部或子集。在一个实施例中,网络130是因特网而应用程序框架348、349是合作/谈判系统100以及扩展式企业网络300的图形用户界面。根据这个实施例,应用程序框架348、349与处理节点140和功能模块172以及其中包括的主计算平台150进行通信。
在一个实施例中,位于第一客户节点110-1的诸如买家之类的功能资源可为位于第一和第二客户节点110-1和120-1的功能资源(即用户)建立一个或多个扩展式企业帐号。帐号准予用户访问处理节点140以及其中包含的软件模块。用户不能获得对处理节点140的访问除非用户从处理节点140接收到有效的登录用户名以及密码并且处理节点140已经成功地鉴权扩展式企业网络300上的计算机310、320。成功鉴权后,处理节点140对数字版权管理(DRM)模块500执行初始化(例如启动)来确定查看器模块420当前是否安装在计算机310、320上。如果在计算机310、320上没有安装查看器模块420,则处理节点140向计算机310、320发送对话要求在计算机310、320上安装查看器模块420。如果用户选择不在计算机310、320上安装查看器模块420,则计算机310、320将获得对应用程序框架348、349的访问但是不会获得对查看器模块420的访问并因此不会获得对由查看器模块420展示的媒体信息的访问。如果用户选择安装查看器模块420,则处理节点140在计算机310、320上下载查看器模块420。如果查看器模块420被安装在计算机310、320上,则处理节点140对查看器模块420执行检查并确定是否需要对查看器模块420的强制和/或可选更新。在一个实施例中,强制更新可包括在计算机310、320上卸载一个或多个查看器模块420的先前版本并安装查看器模块420的较新版本。在另一个实施例中,处理节点140可向计算机310、320发送对话来查询用户是否希望对在计算机310、320上存在的现有查看器增加功能。
在一个实施例中,计算机310、320上的应用程序框架348、349每个可包含控制模块318。Web浏览器314、324使第一和第二客户节点110-1、120-1可查看一个或多个web页面。每个web页面可能被分割为两个或更多的彼此独立运行的框架。参考图3B、3C、3D、3E和3F,表示了代表与应用程序框架348、349的一个实施例的多种实例相关的图形用户界面的多种实施例。参考图形用户界面350来说明应用程序框架348、349的特定实例的一个实施例。应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。在一个实施例中,可利用在计算机310、320上运行的脚本语言写入控制模块318来管理诸如例如JavaScript之类的web页面。控制模块318可被配置以在应用程序框架348、349中向和从客户端会话cookie中保存、存储和/或回显用户会话。用户会话可包括例如用户做出的最近导航和/或用户设定的窗口的位置和大小。
在一个实施例中,导航框架352可包括叫做树节点的分级对象的树形控制。在一个实施例中,每个树节点是用户可定义的和可扩展的。每个树节点包括图形化展示和程序化行为诸如例如放大/最小化子节点、在导航框架352和/或命令与控制框架354中展示树节点内容、初始化应用程序框架348、349之间的通信和/或启动/禁止应用程序370、应用程序查看372和/或工具栏框架356中的应用程序部件374。树节点的程序化行为还可包括执行商业逻辑来管理参数输入。参数输入与选择的应用程序370、应用程序查看372和/或应用程序部件374相关联。例如,如果DCM标签376被选择,则设计费用管理(DCM)模块700应用程序被启动,并且树节点接收项目的预报年度使用量数据和价格数据(例如报价、当前价格、应花费价格),并且执行涉及这些数据的算法。在另一个实施例中,如果采购标签378被选择,则采购模块600应用程序被启动,并且树节点接收项目的实际年度使用量数据和价格数据(例如报价、当前价格、应花费价格),并且执行涉及这些数据的算法。
树节点可以是一个或多个(1)单独节点379、(2)组节点380和/或(3)文件夹节点381的形式。文件夹节点381是用户定义的节点以组织一个或多个单独节点和/或组节点380。组节点380是存在两个或更多相同类型的单独节点379时自动地生成的节点。单独节点379是包含特定类型数据和/或内容的节点。
在一个实施例中,单独节点的类型可包括文档节点382;项目节点383;程序、工程、过程、任务和/或子任务节点384;功能资源节点385;信息节点386;排列项节点387;批次节点(lot node)388和/或合作BOM(CBOM)节点389。文档节点382是包括一种或多种媒体信息文件的节点,媒体信息文件有多种文件格式诸如例如安全中性格式(如此处定义的SNF)。项目节点383是包括一个或多个标识符的节点。标识符可代表诸如例如零件号、存储保存单元(SKU)、服务号和/或说明性数据之类的项目。程序、工程、过程、任务和/或子任务节点384是组织一个或多个功能资源动作的节点。程序节点是工程节点的集合。工程节点是过程节点的集合。过程节点是任务节点的集合。任务节点是动作节点的结合。动作节点是被指定的工作单元,包括被指定动作的说明、一个或多个被指定以完成动作的功能资源、动作将被完成的目标日期和/或被指定的功能资源承诺完成动作的承诺日期。功能资源节点385是包括一个或多个位置遍布扩展式企业网络300的人员名字的节点,为了特定的程序、工程、过程、任务和/或子任务,人员必须被授权访问扩展式企业网络300。消息节点386是包括一个或多个关于媒体信息的消息线程的节点。
在一个实施例中,排列项节点387节点是根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。用户可在命令与控制框架354中选择这样的项目和/或组装件。排列项节点387是包括项目定价信息的节点。遍及扩展式企业网络300的用户(例如位于第二客户节点120-1-b的外部供应商)提交对每个项目(排列项价格投标)的定价信息。在排列项节点级别处汇总排列项价格投标来就项目的集合进行合作和/或谈判。批次节点388是根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。用户可在命令与控制框架354中选择这样的项目和/或组装件。批次节点388是包括排列项节点387的内容和/或行为的节点,包括:(1)从遍及扩展式企业的用户接收在批次级别上的初始单一价格(批次价格投标)的能力,其中批次级别包括两个或更多的排列项;(2)从遍及扩展式企业300的用户随后接收排列项价格投标的能力;以及(3)接收扩展的企业用户调整排列项价格投标的输入直到批次中包括的所有排列项价格的汇总等于批次价格投标的能力。
在一实施例中,CBOM节点389根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。在一个实施例中,用户可在命令与控制框架354中选择这样的项目和/或组装件。该CBOM节点389包含两个子节点:(1)第一子节点(上层项目)390包括用户选择的上层项目和/或组装件以及上层项目或组装件需求的产品结构部分的项目;以及(2)第二子节点(成品)391包括自动生成的仅有成品报价的列表(省略买家不希望报价的中间产品结构层次);需要这样的成品来构造用户选择的上层项目和/或组装件(例如用户选择的项目和/或组装件所需求的成品)。CBOM节点389还包括批次节点的内容和/或行为,诸如例如成品子节点391可被组织进批次和排列项中并且因此被报价。在遍及扩展式企业网络300的用户在成品子节点391处提交定价后,上层项目子节点390自动地计算并将定价输入累计来达到这里包括的上层项目和/或组装件的总价。
在一个实施例中,一个或多个命令与控制框架354可包括包含有在浏览器314、324中指定的框架内执行的一个或多个Active X部件(例如独立的软件应用程序)的Active X控件容器对象。ActiveX部件可包括:例如(1)查看器模块420;(2)媒体信息上传/下载模块358;(3)压缩/解压缩模块360;以及(4)加密/解密模块362。Active X控件由
公司
提供。
在一个实施例中,查看器模块420包括从主处理节点140下载的在浏览器314、324中执行的专用应用程序。在一个实施例中,查看器模块420是基于web的或桌面查看以及标记工具,支持一个或多个包含诸如例如这里定义的媒体信息之类的数据的文件。例如,查看器模块420使遍及扩展式企业网络300的位于第一和第二客户节点110-1、120-1的用户使用计算机310、320和应用程序框架348、349来访问和查看安全中性格式文件604-1-f和/或其它文件格式,例如广泛使用的光栅、向量、CAD、智能文档和/或XML形式。正如贯穿本申请使用的,“查看器模块420”意味着与计算机310、320、应用程序框架348、349和/或主处理节点140结合运行的查看器模块420。在一个实施例中,查看器模块420显示机械设计、材料清单(BOM)以及与机械设计相关联的说明性数据,并且使用户可在那里做注释。在一个实施例中,查看器模块420提供图形用户界面以显示BOM结构并且以图形化的方式叙述机械设计中被选择的项目。在一个实施例中,查看器模块420显示媒体信息的图像,诸如CAD文件中机械设计的图像,无论查看这信息的用户是否访问了用于产生图像的软件。在一个实施例中,查看器模块420显示嵌入在CAD文件中的关于机械设计的描述性数据。下面提供关于查看器模块420的进一步说明。在一个实施例中,查看器模块420可由于其在管理和显示图形上的效率而采用C++编程语言实现。
在一个实施例中,媒体信息上传/下载模块358使得在第一和第二客户节点110-1、120-1以及主处理节点140之间进行上传/下载过程。这些过程可包括定位、选择(例如“点击”)、移动(例如“拖动”)和/或放置(例如“释放”)电子文件到由位于主处理节点140的web服务器160-1-c(c可以为任意数字)中的一个寄存的应用程序框架348、349中,并且选择web服务器160-1-c中的任意一个作为电子文件的目的地。在一个实施例中,应用程序框架348、349可包括DRM模块500、CN模块600、DCM模块700和/或EEC模块400中的任何一个,并与之通信和/或与之进行接口。例如,如图5所示,在一个实施例中,EEC模块400包括转换模块410、查看器模块420、合作模块430以及工程管理模块440。
压缩/解压缩模块360使得在上传/下载过程中进行文件压缩和解压缩。在一个实施例中,文件可在上传过程前或在上传过程中利用任何已知的压缩技术被压缩。在一个实施例中,位于主处理节点140,可由web服务器160-1-c的任意一个和/或应用程序服务器170-1-d(d可以是任何数字)的任意一个来解压缩上传的文件。
加密/解密模块362使得在上传/下载过程中能够进行文件的加密/解密。在一个实施例中,文件可在上传过程前或上传过程中被自动地加密。在一个实施例中,可利用FIPS-197加密法对格式文件进行加密。其他的加密方法也可应用于文件,具体实施方式不限于本申请文件。在一个实施例中,位于主处理节点140,可由web服务器160-1-c的任意一个和/或应用程序服务器170-1-d的任意一个来解密上传的文件。
由选择的应用程序370、选择的应用程序查看372、选择的应用程序部件374、导航框架352内选择的对象以及特定的用户许可来确定在导航框架352、控制框架354以及工具栏框架356中的被有条件地展示的任何查看。
在一个实施例中,浏览器314、324通常指web浏览器并且包括任何用于定位和显示web页面的软件应用程序。浏览器314、324分别在计算机310、320上运行,作为客户程序利用HTTP协议代表用户经过因特网130向web服务器发出请求。在一个实施例中,浏览器314、324可利用S-HTTP来安全地向因特网30上的多种web服务器提出请求。浏览器314、324使得它们的用户可以查看包括主处理节点140在内的万维网上可用的资源,并可与之交互。此外,浏览器314、324使它们的用户可以下载、上传、浏览或相反访问包括主处理节点140在内的万维网上的文档文件(例如页面)。在多种实施例中,浏览器314、324可包括Internet Explorer、Netscape和Mozilla。
在一个实施例中,控制模块318包括从主处理节点140下载的专用的应用程序,该程序与诸如浏览器314、324中嵌入的查看器模块420之类的预装模块无缝地结合。在一个实施例中,控制模块318可包括由
提供的核心技术组件Active X控件。核心技术组件Active X控件可从开放集团标准组织得到许可并可在多平台和计算环境中实现。在一个实施例中,Active X控件可以是基于
组件对象模型(COM)的软件模块。在因特网上,Active X控件可被链接到web页面并且由Active X兼容浏览器314、324下载。在一个实施例中,Active X控件模块318可提供对位于主处理节点140的资源和应用程序模块的全部访问。
在一个实施例中,主处理节点140包括主计算平台150。在一个实施例中,主计算平台150提供硬件或软件的框架以使软件应用程序模块执行。在一个实施例中,主计算平台150可包括计算机体系结构、操作系统、编程语言以及相关的运行库以实现扩展式企业平台。在一个实施例中,主计算平台150包括例如一个或多个web服务器160-1-c,一个或多个应用程序服务器170-1-d,以及一个或多个数据库服务器180-1-e(e可为任何数字)。数据库服务器180-1-e每个包括数据库管理系统180-1-e(DBMS)。Web服务器160-1-c响应于浏览器314、324的请求。应用程序服务器170-1-d提供e-mail功能并执行一个或多个功能模块172来处理数据。数据库服务器180-1-e执行DBMS系统182-1-e。数据库服务器180-1-e还存储有功能模块172、web服务器160-1-c以及应用功能程序服务器170-1-d所请求的数据。主计算平台150可适用于处理一个或多个功能模块172来处理信息。在一个实施例中,功能模块172可包括例如扩展式企业合作(EEC)模块400、数字版权管理(DRM)模块500、合作谈判(CN)模块600以及设计费用管理(DCM)模块700。在一个实施例中,DCM模块700可包括子模块702。这些功能模块172可被例如主计算平台150的多种组件单独地或同时地执行。具体实施方式不限于本申请文件。
在一个实施例中,主计算平台150可基于三层分布结构,该结构为web服务器160-1-c、应用程序服务器170-1-d以及数据库服务器180-1-e的功能性和可量测性提供单独的物理层。在多个实施例中,EEC模块400和主计算平台150可以是模块化的,以使得一层可被修改或替换而不影响其他的层。而且,web服务器160-1-c、应用程序服务器170-1-d以及数据库服务器180-1-e的每一个可通过将web服务功能以及应用程序功能与数据库功能相分离以在全部三层上负载平衡和伸缩。在一个实施例中,三层分布主计算平台150可包括客户/服务器体系结构,该结构包括三个独立的每个在不同平台上运行的过程。三个独立过程在web服务器160-1-c、应用程序服务器170-1-d以及数据库服务器180-1-e上执行。具体实施方式不限于本申请文件。
在一个实施例中,web服务器160-1-c可实现为多个单独执行的分布式负载平衡和可伸缩的web服务器。在一个实施例中,在两个或更多web服务器160-1-c之间的负载平衡可通过网络负载平衡集群实现。在一个实施例中,服务器170-1-d可实现为多个单独执行的分布式负载平衡和可伸缩的应用程序服务器。在一个实施例中,一个或多个应用程序服务器170-1-d可包括两个物理的和两个逻辑的多线程处理器以执行多达20个并行线程。在一个实施例中,例如,应用程序服务器170-1-d的每一个可适于执行超线程。本领域的技术人员应理解超线程是同时多线程技术在例如
公司
所提供的奔腾4微体系结构上的线程技术实现。超线程通常是指例如由
Xeon处理器和奔腾4处理器提供的超线程的形式。多线程技术通过向执行单元提供有效的工作(否则将处于空闲)来提高处理器在一定工作负载下的性能。
在一个实施例中,数据库服务器180-1-e可被实现为一个或多个运行在容错集群中作为数据库子系统的结构化查询语言(SQL)数据库服务器。容错集群实现提供备份操作,如果主系统出现故障或临时关闭用于维护,则备份操作能够自动地切换到备用数据库。容错是依赖于持续访问能力的系统的容忍错误的功能。对于用户,容错自动地和透明地将来自出现故障或禁用系统的请求重定向到模拟主系统操作的备用系统。在另一个实施例中,数据库服务器180-1-e可执行包括应用于存储在数据库190-1-e中的数据的复杂商业逻辑的软件。在一个实施例中,软件可影响SQL 2005(由
提供)用诸如C#之类的比SQL更高级语言写查询的能力。在一个实施例中,SQL数据库服务器180-1-e以及网络负载平衡集群可由例如
提供。
在一个实施例中,EEC模块400包括多个可被web服务器160-1-c或应用软件服务器170-1-d执行的可执行模块。EEC模块400的可执行模块在主处理节点140执行各种合作和采购处理操作。主处理操作可包括一个或多个操作,诸如产生、管理、通信、发送、接收、前向存储、访问、读取、写入、操作、编码、解码、压缩、解压缩、加密、过滤、流传输或对媒体或控制信息的其他处理。具体实施方式不限于本申请文件。
在一个实施例中,ECC模块400包括子模块来帮助在位于第一和第二客户节点110-1、120-1的合作资源之间经过扩展式企业网络300共享电子文件。EEC 400子模块可适于将上传到web服务器160-1-c的本来文件格式的原始文件转换为压缩的中性文件格式。利用查看器模块420,扩展式企业网络300上的用户可显示被转换为中性文件格式的文件的内容。正如此处使用的,原始文件格式指由软件应用程序生成并以应用程序指定的唯一格式存储的任何电子文件或文档。正如此处使用的,中性文件格式指任何这样格式的电子文件或文档,其中原始文件的原始内容已经被转换为可利用查看器模块420显示而不需要用于产生原始文件的原始软件应用程序的帮助。安全中性格式文件也可被压缩为比原始文件格式更小的文件大小和/或被加密。原始格式文件的实例在下面表1-5的实例中说明。
在一个实施例中,将文件经扩展式企业网络300发送之前,布置DRM模块500对电子文件加密以数字化地保护任何电子文件的内容。利用DRM模块500,原始格式文件和安全中性格式文件都可被加密。在一个实施例中,用户查看权限被嵌入在电子文件中。因此,未授权的用户不能够查看电子文件的内容,即使未授权的用户拥有该文件以及查看器模块420。在一个实施例中,加密算法例如是FIPS-197。
在一个实施例中,布置EEC模块400来使得媒体信息能在线共享,媒体信息是诸如例如包括机械设计的2-D和3-D CAD文件的文档以及嵌入在CAD文件中的机械设计的说明性数据。在一个实施例中,可布置EEC模块400使得对媒体信息能进行注释和标记,诸如例如被转换到中性文件格式并可被查看器模块420显示而不对电子文件的原始内容进行修改的电子图像文档。在一个实施例中,EEC模块400使得位于第一和第二客户节点110-1、120-1的资源之间能进行合作。
在一个实施例中,扩展式企业网络300的主处理节点140被实现为应用程序服务提供者(ASP)。ASP可被定义为向个人或企业提供经因特网(例如网络130)对应用程序和相关的服务的访问的组织,否则这些应用程序和相关服务就会存留在他们自己的个人或企业计算机中(例如计算机310、320)。作为ASP,主处理节点140被布置来提供一组与语言无关的协同工作能力技术,该技术使得以不同编程语言编写的软件部件可以遍及扩展式企业网络300一起工作。在一个实施例中,主处理节点140向第一和第二客户节点110-1、120-1提供应用程序框架348、349。在一个实施例中,主处理节点140的ASP实现是利用
提供的.NET技术实现的。因此,客户节点计算机310、320包括也由
提供的实现到ASP.NET(ActiveServer Page)技术中的web展示框架。可利用ASP.NET中内建的网页控制器机制来实现ASP.NET框架内EEC模块400的展示逻辑。在一个实施例中,在web服务器160-1-c、应用程序服务器170-1-d以及数据库服务器180-1-e上执行的软件代码被提交在浏览器314、324(例如服务器侧编码和页面调动)。
如前所述,在一个实施例中,控制模块318包括包含有COM核心技术组件的Active X控件。当网络130是因特网时,Active X控制模块318可被链接到web服务器160-1-c上驻留的web页。ActiveX控制模块318可通过Active X兼容浏览器314、324从web服务器160-1-c上下载。Active X控制模块318使浏览器314、324能够访问主处理节点140上可用的资源。
图4是表示EEC模块400的扩展式企业网络300的一个实施例的图,EEC模块400被逻辑地结构化为具有展示层402a和402b、商业层404以及数据层406的三层服务软件应用程序。在一个实施例中,EEC模块400被实现为将数据结构与功能结合以产生可再利用对象的面向对象的应用程序。术语面向对象被用作说明可处理不同类型对象和动作的应用程序,其中用户可执行的动作取决于用户使用何种类型的对象。在一个实施例中,展示层402a、b可包括也由
提供的实现到ASP.NET中的web展示框架。在一个实施例中,商业层404可包括.NET商业对象。在一个实施例中,数据层406可基于.NET框架中的ADO.NET(针对.NET的Active X数据对象)类来提供对数据库190-1-e的访问。
转换器模块410
图5是扩展式企业网络300的一个实施例的图,表示EEC模块400的多功能子模块以及它们与web服务器160-1-c和应用程序服务器170-1-d的交互。在一个实施例中,EEC模块400包括转换器模块410、查看器模块(查看器)420、合作模块430以及工程管理模块440。在一个实施例中,转换器模块410被利用由
提供的.NET和消息队列服务器来实现。控制器模块410被利用在应用程序服务器170-1-d上后台运行的一组.NET
Service来实现。在一个实施例中,布置转换器模块410将不同格式(例如如表示原始文件实例的表1-5中的实例所示)的不同原始文件转换(例如翻译)为能够被查看器模块420显示的安全中性格式(SNF)。在一个实施例中,转换器模块410提供可伸缩以及异步的消息并支持多种原始格式文件的大比例转换。无论在主处理节点140上是否执行或被下载到第一和第二客户节点110-1、120-1,查看器模块420都提供相同功能。在一个实施例中,安全中性格式文件可在转换后但在发送到第一和第二客户节点110-1、120-1之前被加密和压缩。
图6A是表示在扩展式企业网络300的一个实施例中从和向第一和第二客户节点110-1、120-1以及主处理节点140的原始格式文件流602-1-f(f可为任意数字)和安全中性格式文件流604-1-f的处理图的一个实施例。在主处理节点140,原始格式文件602-1-f被转换为安全中性格式文件604-1-f,安全中性格式文件可被存储在那里并对于遍及扩展式企业网络300的合作可用。原始格式文件602-1-f可驻留在位于第一和第二客户节点110-1、120-1的数据库312、322,或可驻留在主处理节点140。原始格式文件602-1-f包括在其原始文件格式下的媒体信息。原始文件格式包括任何包含多种格式内容的电子文件,包括:文本(ASCII、SGML、HTML)、图像(TIFF和GIF)、图形(诸如DAD/CAM以及GIS文件之类的向量)、音频(根据声音波形理论构建的比特集合)、视频(MPEG)、机械CAD设计文件格式、电气/电子CAD设计(EDA/ECAD/PCB)、基于向量的文档/图形文件格式、基于光栅的图形文件格式、智能文档以及表格(XML、HTML)。
原始格式文件602-1-f可来源于第一和第二客户节点110-1、120-1以及主处理节点140的任意一个中的储存库。在一个实施例中,原始格式文件602-1可来源于位于第一客户节点110-1的数据库312储存库。原始格式文件602-2可来源于位于第二客户节点120-1的数据库322储存库。第一和第二客户节点110-1、120-1以及主处理节点140的任意一个可包括多种格式的多种原始格式文件602-1-f。多种原始格式文件602-1-f及它们对应的原始文件格式、文件扩展名、版本以及文件类别(例如CAD、向量、光栅、智能办公文档、表格等)的实例在下面的表1-5的实例中表示。
在一个实施例中,位于第一或第二客户节点110-1、120-1的授权用户可初始化从它们分别的数据库312、322上传原始格式文件602-1、602-2。如图6B、6C、6D所示,位于第一客户节点110-1的用户例如利用应用程序框架348开始原始文件的上传。利用媒体信息上传/下载模块358,上传过程可包括定位、选择(例如“点击”)、移动(例如“拖动”)和/或放置(例如“释放”)原始格式文件602-1到驻留在一个web服务器160-1-c的基于web的应用程序中,并且选择位于主处理节点140的任意一个web服务器160-1-c作为原始格式文件602-1-f的目的地。在一个实施例中,基于web的应用程序可包括查看器模块420、合作模块430以及工程管理模块440中的任意一个。利用类似的上传过程和应用程序框架349,位于第二客户节点120-1的授权用户可选择原始格式文件602-2来上传到主处理节点140以转换成安全中性格式文件604-2。用户可选择一个或多个原始格式文件602-1上传。位于第一和第二客户节点110-1、120-1的所有用户或其中的任意一个可全体地选择和传输多个原始格式文件602-1-f到主处理节点140以转换为对应的安全中性格式文件604-1-f。
在上传过程中,用户可利用浏览器314、324提供附加的输入以指示原始格式文件602-1-f是否包括附加信息、内容或与其他文件相关。例如,用户可指示原始格式文件602-1-f是否包括任何配件或子配件。用户还可在与工程、项目、储存库、BOM或商业通信相关的商业环境中链接选择的原始格式文件602-1-f。在一个实施例中,服务器160-1-c可驻留基于web的应用程序,该应用程序提供与诸如报价、问题解决方案和/或新产品介绍之类的特定工程商业环境相关的合作环境。在一个实施例中,原始格式文件602-1-f与这样的工程特定商业环境相关联。
在一个实施例中,原始格式文件602-1-f在上传之前被加密。在一个实施例中,文件602-1-f可在上传过程之前或上传过程中被自动地加密。在一个实施例中,原始格式文件602-1-f可被利用FIPS-197加密法加密。因为具体实施方式不限于本申请文件,其他加密方法也可应用于原始格式文件602-1-f。在一个实施例中,可利用任何已知的压缩技术在上传过程前或上传过程中压缩原始格式文件602-1-f。
原始格式文件602-1-f可从客户节点110-1、120-1的任何一个经网络130(例如因特网)上传到位于主处理节点140的任何一个web服务器160-1-c。在一个实施例中,在主处理节点140,上传的原始格式文件602-1-f可由任何一个web服务器160-1-c和/或任何一个应用程序服务器170-1-d解密与解压缩。如需要,web服务器160-1-c可管理破损的上传。上传的原始格式文件602-1-f可存储在数据库190-1-e中。在一个实施例中,上传的原始格式文件602-1-f可从web服务器160-1-c直接被传输到应用程序服务器170-1-d以由转换器模块410进行格式转换处理。
随着扩展式企业网络300的扩张,web服务器160-1-c和应用程序服务器170-1-d可被负载平衡来处理大量输入的用以格式转换处理的原始格式文件602-1-f。因此,一个或多个应用程序服务器170-1-d可装载一个或多个转换器模块410的实例来转换上传的原始格式文件602-1-f。转换器模块410将每个原始格式文件602-1-f转换为对应的安全中性格式文件604-1-f。一旦被转换,安全中性格式文件604-1-f的内容就可以被查看器模块420显示,而与用于产生原始格式文件604-1-f的原始软件应用程序无关。在转换后,安全中性格式文件604-1-f可用于位于第一和第二客户节点110-1、120-1的用户的显示和合作。安全中性格式文件604-1-f可被存储在任何一个数据库190-1-e中或下载到和/或存储在第一和第二客户节点110-1、120-1以显示和合作。
一旦被应用程序服务器170-1-d调用,转换器模块410自动地确定输入的原始格式文件602-1-f的原始文件格式并将他们转换为对应的安全中性格式文件604-1-f。在一个实施例中,转换器模块410自动地将每个原始格式文件602-1-f转换为对应的安全中性格式文件604-1-f,准备由查看器模块420显示以及合作。在一个实施例中,转换器模块410可适于接收多种原始格式文件602-1-f。如下面的表1-5的实例所示,多种原始格式文件602-1-f的每一个具有不同的原始文件格式。
转换器模块410还将在一个或多个web服务器160-1-c中的任意一个上面结合内容运行基于web的应用程序转换和组装为用户可用来合作的环境特定商业应用程序,该内容使得位于第一和第二客户节点110-1、120-1的用户可下载安全中性格式文件604-1-f。下载安全中性格式文件604-1-f通常是在用户特定商业应用程序的环境中,并且因此不需要用户退出应用程序来显示安全中性格式文件604-1-f以及通过其进行合作。
转换器模块410提供转换功能以使得位于第一和第二客户节点110-1-a、120-1-b的多种终端用户利用安全中性格式文件604-1-f进行合作。在一个实施例中,合作发生在特定工程商业环境中。在一个实施例中,安全中性格式文件604-1-f还可被DRM模块500加密以在遍及扩展式商业网络300的第一和第二客户节点110-1、120-1、主处理节点140之间安全合作。加密的中性文件格式可被称为例如安全合作格式。
在操作中,转换器模块410读取原始格式文件602-1-f。在一个实施例中,转换器模块410可串行或并行地处理一个或多个原始格式文件602-1-f。简单起见,对于处理单一原始格式文件602-1而描述了转换器模块410的操作。然而,具体实施方式不限于本申请文件。转换器模块401独立于文件扩展名判断原始文件格式。原始格式并不能单独地仅根据文件扩展名确定,因为可能存在多种具有相同扩展名而拥有不同格式的文件。然而,在一个实施例中,转换器模块410首先确定文件扩展名来缩小用于确定原始文件格式的文件审查模板的范围。一旦根据文件扩展名,确定可能的原始文件格式的子集,在一个实施例中,转换器模块410利用基于文件审查技术的模板来检验原始格式文件602-1的结构和内容。同样,一旦检验了原始文件格式,转换器模块410确定实际的格式转换逻辑流程以将原始格式文件602-1转换为对应的安全中性格式文件604-1。转换器模块410然后提取出包含在原始格式文件602-1中的元数据。元数据描述原始格式文件602-1的文件属性。
在一个实施例中,原始格式文件602-1可被分类为2-D图形、光栅、向量、3-D向量、智能文档和/或表格(例如XML)文件格式中的一种。为了确定原始格式文件602-1的格式,文件格式审查模块解析原始格式文件602-1的头部和/或主体部分,搜寻嵌入在文件中的格式类型标识符。文件格式审查模块解析头部,搜寻字节模式、字符串和其他嵌入在原始格式文件602-1中的格式类型标识符。如果原始文件格式是例如3-D向量格式,则转换器模块410解析原始格式文件602-1的主体的内容,搜寻与3-D CAD模型相关联的关键字符串或字节模式。
利用对应于用于产生原始格式文件602-1的原始软件应用程序的应用程序编程接口(API),转换器模块410执行一个或多个子模块来将原始格式文件602-1转换为安全中性格式文件604-1。利用API,一个或多个子模块提取出与嵌入在原始格式文件602-1中和/或由其定义的项目相关联的说明性数据。说明性数据可包括属性、物理特性、项目特征和/或项目实体。项目属性可包括项目是否是金属片零件、电路板、束线、焊成件等。物理特性包括长度、宽度、厚度、高度、材料、光洁度以及其他指定该项目的特性。项目特征将项目与用于制造、构造、组装或相反装配该项目的制造过程相关。项目实体可包括标识项目是否由2-D或3-D CAD模型展示的标识符。一旦根据提取出的信息提取出和/或生成了项目属性、物理特性和/或项目特征,转换器模块410搜索数据库来将项目属性、物理特性、项目特征以及项目实体与能够采购和/或制造该设计的供应商和/或制造商相匹配。如果项目包括一个或多个组装件,转换器模块410提取出组装件的号码以及每个组装件内多种项目的层次关系,并提取出一个或多个组装件通用的特别项目的出现次数。根据被提取出的信息,转换器模块410可确定与项目相关的所有的原始格式文件是否在上传中被接收,并且如果有任何文件或数据丢失则通知用户。一旦从原始格式文件602-1中提取出项目属性、物理特性以及项目特征,转换器模块410生成对应的安全中性格式文件604-1。转换器模块410从原始格式文件602-1提取出说明性数据以生成可在应用程序框架348、349中利用查看器模块420显示的项目的图像以及项目属性、物理特性和项目特征的列表。如果原始格式文件602-1包含组装件,则安全中性格式文件604-1包括由应用程序框架348、349以组装件树形式显示的组装件视图的展示。组装件树视图显示了组装件内每个项目之间的关系,并且可包括项目、说明、修正、数量以及其他信息的显示。安全中性格式文件604-1包含关于项目的嵌入信息使查看器模块420能够图形化地显示项目查看,像原始地利用用作产生项目的原始CAD软件应用程序来显示一样。图形显示信息还可包括关于项目是否被链接到制造过程的信息,并且可产生作为原始项目一部分的没有被包含在原始格式文件中602-1的项目的附加的多种视图和/或附加的项目属性、物理特性和/或项目特征。附加的视图可包括例如金属片部件、焊成件和其他特性的展平和折叠。在一个实施例中,原始格式文件602-1的原始视图可被保存为一个中性格式文件604-1-f并且原始格式文件602-1的附加视图可被保存为单独的安全中性格式文件604-1-f。
附加的项目属性、物理特性和/或项目特征可包括例如与附加项目视图相关的长度、宽度和/或厚度。
下面的表1-5表示可通过转换器模块410转换为安全中性格式文件604-1-f的原始格式文件602-1的多个实例。对于每一个原始格式文件602-1,表1-5的实例表示用于生成它的原始软件应用程序、文件类型的简要说明、文件扩展名、版本以及文件类别。如此处所用,文件类别表示原始格式文件是否是CAD、向量或光栅格式化文件。应理解表1-5所示的实例是原始格式文件602-1的非详尽列表,并且不希望局限本文中实施例的范围。
下面的表1表示在一个转换器模块410的实施例中支持的机械CAD设计原始格式文件的实例。
表1
原始文件格式应用程序 | 说明 | 文件扩展名 | 版本 | 文件类别(CAD、向量、光栅) |
3DStudioTM | 3D Studiofiles | *.3ds | 任意 | CAD2D/3D |
AutoDeskDXF格式 | DXF(绘图交换格式) | *.dxf*.dxb | AutoDeskCompliant DXF R12到Autocad2005 | CAD2D/3D |
AutoDeskDWG格式 | 来自AutoDeskTM的DWG绘图与模型 | *.dwg | AutoDeskCompliant DWG R12到Autocad2005 | CAD2D/3D |
AutoDeskDWF格式 | 来自AutoDeskAutoCAD和AutoDeskInventor的DWF(绘图环球网格式)绘图文件 | *.dwf | 任意 | CAD2D |
AutoDeskMechanica | 来自AutodeskMechanical | *.dwg | 直到v6 | CAD2D/3D |
1DesktopTM | DesktopTM的NativeAutodeskMechanicalDesktopTM文件 | | | |
AutoDeskInventorTM | AutoDeskInventorTM零件、组装件以及绘图 | *.ipt*.iam*.idw | InventorR5、R5.3、R7、R8 | CAD2D/3D |
Auto-trol光栅 | Auto-trolRaster Cad存储 | *.dx | 任意 | CAD光栅 |
Auto-trolVector | Auto-trolVector Cad存储 | *.dg | 任意 | CAD向量 |
ACISTM SAT | 由SpatialTechnologiesACISTMAutode skAutocadTM、CadkeyTM、IronCADTM、Ashlar-Vellum、Alibre、CarlZeiss、Futaba、IronCAD、TraceSoftware生成的SAT文件 | *.sat | 直到ACISTM v5 | CAD2D/3D |
BentleyMicrostationTM | 支持Native DGN格式以及用于零件、组装件以及绘图的 | *.cit*.dgn*.dwg*.rle | 直到MicroStationTM V82004版 | CAD2D/3D |
| AutoCADTM | | | |
CADKEY | Kubotek | *.prt | 任意 | CAD2D/3D |
DassaultSyst è mesCatiaTM | CatiaTM的Windows和Unix版本产生的Native CatiaTM3D实体 | *.model*.exp | 输出:V3R25到V4.X模型:4R11到V5R13 | CAD2D/3D |
HP-CADME10 | HP-CAD ME10(直到v10)Co-Create文件格式 | *.cmi*.mi | 直到版本10 | |
IGES | (初始图形交换标准)IGES2D&3D。支持包括线框、修切的表面、文本、维数、颜色等所有实体。 | *.igs*.iges | 直到版本5.3 | CAD2D/3D |
PTCPro/EngineerTM | Native PTCPro/EngineerTM零件和组装件文件 | *.prt*.asm*.xpr*.xas | 从rel.18到rel.2001的零件和组装件 | CAD2D/3D |
SolidWorksTM | NativeSolidWorksTM零件、组装件、绘图以及金属片模型 | *.sldprt*.sldasm*.sldlfp*.slddrw | 从v.97+到v.2004 | CAD2D/3D |
STEP | 兼容AP203和AP214的STEP文件产品模型数据交换标准 | *.stp*.step | AP203AP214ISO10303 | CAD2D/3D |
STLStereolithography | 二进制和ASCII的STL文件 | *.st1 | 任意 | CAD3D |
UGS SDRCI-DEASTM | 支持包括组装件的I-DEASTMWeb访问文件。破碎的ASCII(*.MCA)文件也可从I-DEASTM导出 | *.idi*.idz*.mca | 任意 | CAD2D/3D |
UGSUnigraphicsTM | 来自原始UnigraphicsTM零件和组装件的Parasolid立体 | *.prt | 从v.13到v.18仅压缩的格式 | CAD2D/3D |
UGSSolidEdgeTM | 原始SolidEdgeTM零件、金属片、组装件以及绘图 | *.par*.asm*.psm*.dft | 直到Ver.13 | CAD2D/3D |
UGSParasolidTM | 由UnigraphicsTM、SolidEdgeTM、SolidWorksTM、PTCPro/DesktopTM | *.x_t*.xmt_txt | 直到v.15 | CAD3D |
| 以及若干其他CAD/CAM系统输出的Parasolid立体X_T文件 | | | |
VDA-FS | VDA-FS(Verband DerAutomobilindustrie FlachenSchnittstelle) | *.vda | V.2.0 | CAD2D/3D |
VRML | 所有的VRML(虚拟现实模型语言)1.0和2.0文件 | *.wrl*.wrml | V.1.0以及V.2.0 | CAD3D |
WavesoftTM | | *.mot | 任意 | CAD3D |
XGL/ZGL可扩展图形语言 | 微工作站、Rhino、HelixMicroCadam、Inventor、Okino | *.xgl*.zgl | 任意 | CAD3D |
下面的表2表示转换器模块410支持的电气/电子CAD设计原始格式文件的实例。
表2
原始格式文件应用程序 | 说明 | 文件扩展名 | 版本 | 文件类别(CAD、向量、光栅) |
Accel、PCAD 200xLayout | PCAD2000、Accel、EDA、Tango | *.pcb | AccelPCD直到2000 | 电子PCB |
Read | | | | |
Cadenceallegro | Cadenceallegro、印刷电路板布局图 | *.brd*.pad*.sym*.rte | 所有 | 电子PCB |
CadenceAllegro | 印刷电路板布局图 | *.ipf | 所有 | 电子PCB |
CalayPrismaLayout | 多种印刷电路板布局图中性交换格式 | *.pcb | PrismaV05 | 电子PCB |
DanskElectronics | DDE布局读取SuperMax DDE | *.dde | 所有 | 电子逻辑设计 |
EDIF V200to 400 | 多种印刷电路板布局图中性交换格式 | *.edif | 所有 | 电子PCB |
Technomatix | FABmaster FATFRead | *.fatf | 所有 | 电子PCB |
GenCADRead | Genrad GenCADData | *.cad | 所有 | 电子PCB |
GenCAM | 多种工业标准 | *.gcm | 工业标准 | 电子PCB |
Gerber | 工业标准RS-274、RS-274DGerbTools、ViewMate以及CamTastic | *.gbr*.plt*.plo | 工业标准 | 电子PCB |
IPC350/356/356A Read | 多种工业标准IPC-D-350IPC-D-356 | *.ipc | 工业标准 | 电子PCB |
MentorBoardStation V8Read | MentorGraphics BoardStation | *.prt*.net*.wir*.cmp | 所有 | 电子PCB |
MentorNeutralFile Read | MentorGraphics BoardStation | *.neu | 所有 | 电子PCB |
ODB++Read | Valor | *.odb | Genesis2000Enterprise 3000Trilogy5000 | 电子PCB |
OrCAD(.min)LayoutPlus Read | OrCAD、Masstek | *.min | 所有 | 电子PCB布局图 |
PADS(.asc)LayoutRead | Innoveda | *.asc | PADS PCBPADS ProPADS2000 | 电子PCB布局图 |
PCAD PDILayoutRead | Protel-PCADDesign | *.pdf | 所有 | 电子PCB布局图 |
ProtelText Read | Protel PCB | pcb | PCBV2.8/V3/V4 | 电子PCB布局图 |
Scicards/Encore(CII)Layout | Harris EDAEncoreScicards | *.cii | 所有 | 电子PCB布局图 |
Read | | | | |
Theda(.t1)Layout、Panel Read | Zuken、Incases、Theda | *.t1 | 所有 | 电子PCB布局图 |
UniCAM PDWRead | TechnomatixUniCAM | *.pdw | 所有 | 电子PCB布局图 |
VeribestEIF LayoutRead | Mentor图形 | *.eif | Veribest98及以前 | 电子PCB布局图 |
ZukenCR5000BoardDesignerRead | Zuken-RedacBoard Designer | *.ftf*.pcf | 所有 | 电子PCB布局图 |
Zuken PWS(CR3000/CR5000)LayoutRead | Zuken-RedacPWS | *.bsf*.udf*.mdf*.wdf*.wsf*.ccf*.pma | 所有 | 电子PCB布局图 |
下面的表3表示可被转换器模块410支持的基于向量的图形原始格式文件的实例。
表3
原始格式文件应用程序 | 说明 | 文件扩展名 | 版本 | 文件类别(CAD、向量、光栅) |
CADOverlay | 用于PDM存档的向量-光栅混合 | *.rlc | 所有 | CAD向量向量2D |
CalcompPlotters | Calcomp 906/907Plot文件 | *.906*.907 | 所有 | 向量2D |
计算机图形元文件 | CGM-计算机图形元数据ANSI/ISO8632.1-4) | *.cgm | 所有 | 向量2D |
DRW | MicrografxDesignerCAD/CAM/CAE | *.drw | | 向量3D 2D |
EPS | 封装后记文件 | *.eps | 所有 | 向量2D |
HPGL(HewlettPackard)PlotterFormat | HPGL(Hewlett-Packard图形语言)以及HPGL/2文件 | *.000*.gl*.g12*.hp*.hpg*.hgl*.hpgl*.plt | 所有 | 向量2D |
PCL(HewlettPackard) | 打印机命令语言格式(PCL) | *.pcl*.prn*.prt | 版本3.0和5.0 | 向量2D |
PDF-Adobe | Adobe-便携文档格式 | *.pdf | 所有 | 向量2D |
VWPG | Vector WordPerfect Graphics(VWPG)是CorelDraw 8支持的Corel产生的向量格式 | *.vwpg | 所有 | 向量2D |
WMF | Microsoft Windows元数据 | *.wmf*.emf | 所有 | 向量2D |
下面的表4表示转换器模块410支持的基于光栅的图形原始格式文件的实例。
表4
原始格式文件应用程序 | 说明 | 文件扩展名 | 版本 | 文件类别(CAD、向量、光栅) |
Bitmap | (MicrosoftWindows) | *.bmp | 所有 | 光栅 |
CALS(GroupIV) | CCITT第4工作组(压缩Tif)NavyRasterMIL-R-28002B | *.cal*.cg4*.gp4*.mil | 所有 | 光栅 |
CGM | 计算机图形元文件 | *.cgm | 所有 | 光栅 |
DCX(multipage) | DCX=3D多种PCX文件 | *.dcx | 所有 | 光栅 |
EDCARS USDept ofDefense | 工程数据计算机自动检索系统 | *.edc | 所有 | 光栅 |
FormtekRaster | Formtek RasterCALS兼容 | *.ftk | 所有 | 光栅 |
GIF | CompuServe图形交换格式 | *.gif | 所有 | 光栅 |
ISO-8613CALS | 开放文档交换格式ISO-8613 CALS | *.iso*.cal | 所有 | 光栅 |
JPEGCompressed Image | 联合图像专家组JPEG,JPEG-2000 | *.jpg*.jpeg | 所有 | 光栅 |
PCT-PCPaintbrush | ZSoft-行程编码(RLE) | *.pcx | 所有 | 光栅 |
PNG | 便携网络图形格式压缩的无损48比特格式 | *.png | 所有 | 光栅 |
DIF | GSA-RaytheonG4/Navy DIF | *.dif | 所有 | 光栅 |
TIF | 标签图像文件格式 | *.GIF*.GIFf | 所有 | 光栅 |
RAS | Sun Raster文件 | | 所有 | 光栅 |
FAX | CITT Group 3 Fax | *.fax | 所有 | 光栅 |
EDMICS | 工程数据管理信息与控制系统EDMICs也被称为CALS4 | *.edm*.tg4*.img | 所有 | CAD光栅 |
GTX GroupIII、IVGTX GroupIV Raster | Raster to VectorCad应用程序 | *.g3*.g4*.cg4 | 所有 | CAD光栅 |
GTXRunlength | Raster to VectorCad应用程序 | *.rnl | 所有 | 光栅 |
下面的表5表示转换器模块410支持的智能文档原始格式文件的实例。
表5
原始格式文件应用程序 | 说明 | 文件扩展名 | 版本 | 文件类别(CAD、向量、光栅) |
CDR | Corel Draw | *.cdr | 所有 | 向量 |
SHW | CorelPresentations | *.sjw | 所有 | 向量 |
HTML | 超文本标记语言 | *.html*.htm | 所有 | 向量 |
IAF-Interleaf | Broadvision-InterleafQuicksilver | *.iaf | 所有 | 向量 |
XLS | MicrosoftExcel | *.xls | 所有 | 向量 |
PPT | MicrosoftPowerPoint | *.pps*.ppt | 所有 | 向量 |
MPP | MicrosoftProject | *.mpp | 所有 | 向量 |
VSD | MicrosoftVisio | *.vsd | 所有 | 向量 |
DOC | MicrosoftWord | *.doc | 所有 | 向量 |
SXW | OpenOfficeText文档 | *.sxw | 所有 | 向量 |
SXC | OpenOfficeSpreadsheet文档 | *.sxc | 所有 | 向量 |
SXI | OpenOfficePresentation文档 | *.sxi | 所有 | 向量 |
SXD | OpenOfficeDrawing文档 | *.sxd | 所有 | 向量 |
SXM | OpenOfficeWord文档 | *.sxm | 所有 | 向量 |
PageMaker | | *.p65 | 所有 | 向量 |
WB1 | Quattro Pro | *.wb1*.wb2*.wq1 | 所有 | 向量 |
RTF | 丰富文本格 | *.rtf | 所有 | 向量 |
| 式 | | | |
SAM | Samna Word、LotusAmi-Pro | *.sam | 所有 | 向量 |
WRI | WindowsWrite | *.wri | 所有 | 向量 |
WPx | WordPerfect | *.wp5*.wp6*.wpd*.wpf | 所有 | 向量 |
WS | WordStar | *.ws | 所有 | 向量 |
图6B-D表示多种图形用户界面610、630、650的实施例。图形用户界面610、630、650中的每一个代表应用程序框架348、349的一个实例的一个实施例。应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。
图6B是应用软件框架348、349的一个实例的一个实施例的图形用户界面610,其利用媒体信息上传/下载模块358从第一和第二客户节点101-1-a、120-1-b向主处理节点140上传原始格式文件602-1-f。在命令与控制框架354内,用户可利用文件标签612浏览器来浏览文件或利用文件夹标签614浏览器浏览文件夹来访问用于上传的原始格式文件602-1-f。图形用户界面616在命令与控制框架354内显示。图形用户界面616用来例如选择用于从客户端计算机310、320上传的原始格式文件602-1-f。在说明的实施例中,用户选择九个(9)原始格式文件602-1-9来上传。当原始格式文件602-1-9被选择时,用户通过选择开始上传标签618来开始上传过程。
图6C是应用软件框架348、349的一个实例的一个实施例的图形用户界面630,利用媒体信息上传/下载模块358向主处理节点140上传原始格式文件602-1-f。一旦开始上传过程,用户可在用户计算机310、320上监视上传过程。在一个实施例中,图形用户界面632在命令与控制框架354中显示。在图形用户界面632中的第一指示栏634显示当前原始格式文件601-1的上传进度。在图形用户界面632中的第二指示栏636显示选择上传的所有原始格式文件602-1-9的总上传进度。
图6D是应用软件框架348、349的一个实例的一个实施例的图形用户界面650,利用媒体信息上传/下载模块358向主处理节点140上传原始格式文件602-1-f。一旦上传过程完成,用户可接收关于上传过程是否成功的反馈。因此,在一个实施例中,当上传过程成功完成时,图形用户界面652被显示在命令与控制框架354中。在显示的实施例中,图形用户界面652指示九个(9)原始格式文件602-1-9被成功地上传。
图7表示转换器模块410的一个实施例的示图。如图所示,转换器模块410包括分配器710、一个或多个队列720-1-g(g可为任意数字)以及一个或多个转换器服务模块730-1-j(j可为任意数字)。在一个实施例中,转换器服务模块730-1-j可被例如一个或多个负载平衡的应用程序服务器170-1-d执行。在一个实施例中,转换器服务模块730-1-j可代表将原始文件格式转换为中性文件格式的转换器服务模块的多种实例。
在一个实施例中,分配器710是用来识别将被转换的原始格式文件602-1-f(例如如表1-5的实例所示)的格式以及选择一个或多个转换器服务模块730-1-j来将原始文件格式转换为中性文件格式的模块。一旦输入原始格式文件602-1的原始文件格式被识别,分配器710向一个或多个转换器服务模块730-1-j发送原始格式文件602-1以转换为对应的安全中性格式文件604-1。在一个实施例中,如果有多种输入原始格式文件602-1-f,分配器710可向一个或多个队列720-1-g发送文件,队列适于以先进先出数据结构处理多种来自分配器710的需求。在一个实施例中,队列720-1-g适合这样:较晚到达的原始格式文件602-1-f被加在队列602-1-f的尾部,转换器服务模块730-1-j从队列720-1-g的头部取得较早到达的原始格式文件602-1-f。
在一个实施例中,分配器710包括文件审查模块740。文件审查模块740接收原始格式文件602-1-f并确定它们的文件格式。在一个实施例中,确定原始格式文件602-1的格式可包括对原始格式文件602-1应用一个或多个单独的规则引擎或其结合。规则引擎可包括这里合称为文件审查模块740的一个或多个可执行模块。在一个实施例中,文件审查模块740对原始格式文件602-1-f的头部和主体部分应用一系列的模板750-1-n。在一个实施例中,模板750-1-n可驻留在数据库190-1-e中。一旦原始文件格式被确定,文件审查模块740选择一个或多个转换器服务模块730-1-j来将原始格式文件602-1-f转换为对应的安全中性格式文件604-1-f。在一个实施例中,对于每一个原始格式文件602-1-f,转换器服务模块730-1-j装载用于产生原始格式文件602-1-f的软件应用程序的API。转换器服务模块730-1-j利用由原始软件应用程序提供的工具来提取出原始格式文件602-1-f的内容。例如,提取出图像和嵌入在原始格式文件602-1-f中的设计的说明性数据。
图8表示可在例如转换过程中使用的转换器服务模块730-1-j的实施例。然而,应理解可提供附加的或较少的转换器服务模块730-1-j而不限制这里说明的转换器模块410的多种实施例的范围。
在一个实施例中,DJVU转换器服务模块730-1可将Windows位图、图形交换格式(GIF)、JPEG文件交换格式、便携网络图形、标签图像文件格式(TIFF)、便携灰度映射文件、便携位图文件、便携像素映射文件、便携任意映射文件、Adobe便携文档格式(PDF)以及Apple McIntosh文件等原始文件格式转换为安全中性文件格式。
在一个实施例中,Spatial转换器服务模块730-2可将HewlettPackard图形语言文件格式(HPGL)、初始图形交换规范(IGES2-D)格式、计算机图形元文件、STEP 2-D、Stereolithography交换格式、Verband der Automobilindustrie(德国汽车工业协会)以及虚拟现实模型语言等原始文件格式转换为随后可被TIFF转换器服务模块730-3处理的TIFF中间文件格式。
在一个实施例中,TIFF转换器服务模块730-3可将Spatial730-2、LeadTools 730-14、Net Converter 730-15以及Batik文件730-16转换为可被DJVU转换器服务模块730-1处理的DJVU中间文件格式。
在一个实施例中,DJVU PDF转换器服务模块730-4可将TIFF以及PDF格式转换为安全中性文件格式。
在一个实施例中,Model Press转换器服务模块730-5可将初始图形交换规范(IGES 3D)、STEP 3-D、3D Studio文件、HOOPS Stream文件、可扩展图形语言以及ACIS原始文件格式转换为安全中性文件格式。
在一个实施例中,AutoCAD转换器服务模块730-6可将AutoCAD、AutoCAD绘图交换以及绘图交换原始文件格式转换为可随后被TIFF转换器服务模块730-3处理的HPGL中间文件格式。
在一个实施例中,HPGL转换器服务模块730-7可将AutoCAD730-6、DWF 730-8、Inventor 730-9、SolidWorks 730-11、SolidEdge730-12以及Pro/Engineeer 730-13格式转换为可随后被Spatial转换器服务模块730-2处理的Spatial中间文件格式。
在一个实施例中,DWF转换器服务模块730-8可将AutoDeskDesign Web原始文件格式转换为可随后被HPGL转换器服务模块730-7处理的HPGL中间文件格式。
在一个实施例中,Inventor转换器服务模块730-9可将AutoDesk Inventor Drawing原始文件格式转换为可随后被HPGL转换器服务模块730-7处理的HPGL中间文件格式。Inventor转换器服务模块730-9还可将AutoDesk Inventor零件和AutoDesk Inventor组装件原始文件格式转换为可随后被3DF转换器服务模块730-10处理的3DF中间文件格式。
在一个实施例中,3DF转换器服务模块730-10可将Inventor730-9、SolidWorks 730-11、SolidEdge 730-12以及ProEngineer 730-13转换为可随后被Model Press转换器服务模块730-5处理的Model Press中间文件格式。
在一个实施例中,SolidWorks转换器服务模块730-11可将SolidWorks Drawing原始文件格式转换为可随后被HPGL转换器服务模块730-7处理的HPGL中间文件格式。SolidWorks转换器服务模块730-11还可将SolidWorks零件以及SolidWorks组装件原始文件格式转换为可随后被3DF转换器服务模块730-10处理的3DF中间文件格式。
在一个实施例中,SolidEdge转换器服务模块730-12可将SolidEdge Draft原始文件格式转换为可随后被HPGL转换器服务模块730-7处理的HPGL中间文件格式。SolidEdge转换器服务模块730-12还可将SolidEdge零件、SolidEdge组装件、SolidEdge金属片零件以及SolidEdge焊成件原始文件格式转换为可随后被3DF转换器服务模块730-10处理的3DF中间文件格式。
在一个实施例中,Pro/Engineer转换器服务模块730-13可将Pro/Engineer Drawing原始文件格式转换为可随后被HPGL转换器服务模块730-7处理的HPGL中间文件格式。Pro/Engineer转换器服务模块730-13还可将Pro/Engineer零件以及Pro/Engineer组装件原始文件格式转换为可随后被3DF转换器服务模块730-10处理的3DF中间文件格式。
在一个实施例中,LeadTools转换器服务模块730-14可将JPEG-2000编码流位图、JPEG-2000 JP2、Windows元文件、Targa位图、计算机辅助采集与后勤支持光栅、图形多页PCX位图、ZSoft PCX位图以及Encapsulated Post Script等原始文件格式转换为随后可被TIFF转换器服务模块730-3处理的TIFF中间文件格式。
在一个实施例中,Net转换器服务模块730-15可将Windows元文件和Windows图标原始文件格式转换为随后可被TIFF转换器服务模块730-3处理的TIFF中间文件格式。
在一个实施例中,BatikFile转换器服务模块730-16可将Scalable Vector Graphics原始文件格式转换为随后可被TIFF转换器服务模块730-3处理的TIFF中间文件格式。
在一个实施例中,Image Magic转换器服务模块730-17可将Kodak PhotoCD Bitmap和Sun Raster Bitmap原始文件格式转换为安全中性文件格式。
在一个实施例中,Black ICE打印机驱动转换器服务模块730-18可将Microsoft Word、Excel、Power Point、Project以及VISI0等原始文件格式转换为随后可被EMF转换器服务模块730-20处理的EMF中间文件格式。
在一个实施例中,DJVU EMF转换器服务模块730-19可将Windows交换元文件原始文件格式转换为安全中性文件格式。
在一个实施例中,EMF转换器服务模块730-20可将来自BlackIce打印机驱动转换器服务模块730-18的输出转换为随后可被LeadTools转换器服务模块730-14处理的LeadTools中间文件格式。
可以使用任何数量的其他转换器服务模块730-j来实现从任何原始或中间文件格式到安全中性文件格式的转换。具体实施方式不限于本申请文件。
为了简化这里对转换器服务模块730-1-j的一个实施例的操作的描述,参考分别表示原始格式文件602-1以及安全中性格式文件604-1的文件结构的图9A、9B。图9A是原始格式文件602-1结构的一个实施例。如图所示,原始格式文件602-1包括头部910以及主体912。头部910与主体912每个可包括多种组件。头部910包括以字节模式、字符串和/或两者结合的形式的信息。头部910信息的一部分可与原始格式文件602-1的格式相关联并可包括例如文件扩展名914、用于产生原始格式文件602-1的原始应用程序916的名称、与原始应用程序相关的标识符918和/或原始应用程序的版本号920等。主体912可包括以字节模式、字符串和/或两者结合形式的信息。主体912信息的部分可与原始格式文件602-1的内容相关联。例如主体912可包含关于图像922以及指示设计对象是2-D还是3-D CAD设计的设计对象和/或实体926的说明性数据924的信息。
图9B是安全中性格式文件604-1的结构的一个实施例。如图所示,安全中性格式文件604-1包括头部950和主体952。头部950和主体952每个都包括多种组件。头部910包括签名组件954、文件版本号956、加密/压缩标志958、前置头部(pre-header)960、XML头部962,并且XML头部包括用户查看许可964。主体包括数据区966。在头部950部分,签名组件954表明它是安全中性格式文件604-1。查看器模块420读取签名954以确保它在读取安全中性格式文件604-1。加密/压缩标志958指示使用加密和压缩的类型。前置头部960说明在主体952中读取文件类型和数据区966大小的指令。在一个实施例中,前置头部960可包括安全中性格式文件604-1中所包含的文件数目、被转换的原始格式文件602-1的原始文件类型和格式、安全中性格式文件的类型(例如2-D、3-D、XML、表格)以及包含在数据区966中的每个文件的开始和大小。XML头部962说明安全中性格式文件604-1的属性,并且可包括图形图像、文件属性、图像属性以及离线高速缓存的查看状态。在主体952部分中,数据区966包括安全中性格式文件604-1中包含的二进制文件、文件数目以及每个文件的开始地址和长度。
图10表示将输入原始格式文件602-1-f转给转换器模块410并提供输出安全中性格式文件604-1-f的过程的文件转换流程图1000的一个实施例。在一个实施例中,转换器模块410接收一个或多个要被转换的原始格式文件602-1-f,其中每个文件可具有不同的原始文件格式。简单起见,关于处理单一原始格式文件602-1来说明转换器模块410的操作。通过在应用程序服务器170-1-d中调用多种转换器模块410的执行线程,可并行地转换剩余的原始格式文件602-2-f。在一个实施例中,剩余原始格式文件602-2-f可按照它们被接收的顺序转换、可为转换而被分类、可按照任何非特定顺序被转换和/或任何它们的组合。
原始格式文件602-1被转换器模块410接收,而且在一个实施例中,文件审查模块740识别(1110)文件扩展名。虽然转换原始格式文件602-1不要求文件扩展名,但识别文件扩展名减小了将应用于头部910和主体912的预定义模板750-1-n的数量。本领域的技术人员应理解文件扩展名单独不是用来选择转换器服务模块730-1-j中一个的足够的指示符。有许多原始格式文件602-1-f具有相同的文件扩展名但具有不同原始文件格式。作为实例,Cadence、Unigraphics以及ProEngineer CAD软件应用程序每一个都生成具有*.PRT扩展名的原始CAD文件。然而,这些原始应用程序的每一个具有不同的格式并且需要不同的转换器服务模块730-1-j来转换。不过,由于具有相同文件扩展名的原始格式文件602-1-f的数目是由转换器服务模块730-1-j支持的原始格式文件602-1-f的种群的子集,识别文件扩展名减少了要调用以识别文件格式的基于规则的模板750-1-n的总数。因此,文件审查模块740根据文件扩展名来选择和调用一个或多个规则模板750-1-n,并且选择合适的转换器服务模块730-1-j。一旦识别了文件扩展名,根据文件扩展名识别规则模板750-1-n的子集,并且这些规则模板750-1-j被应用于原始格式文件602-1。
在读取原始格式文件602-1的文件扩展名并识别规则模板750-1-n的子集之后,文件审查模块740在一个或多个应用程序服务器170-1-d上调用规则模板750-1-n子集的多线程实例。在一个实施例中,多种规则模板750-1-n可在一个或多个应用程序服务器170-1-d上被并行处理或被串行处理。在一个实施例中,例如一个或多个应用程序服务器170-1-d中的每一个可对每个处理器单元210-1-p(图2)执行五个线程来加速转换过程。文件审查模块740应用(1012)一个或多个预定义的模板750-1-n并将头部910和/或主体912的内容与模板加以比较。文件审查模块740读取原始格式文件602-1的头部910、主体912或两者的内容。随后对内容与多种预定义的模板750-1-n比较以识别原始文件格式。在多种实施例中,文件审查模块740包括多种规则引擎的应用程序,包括利用包含有关于原始文件格式的至少一些信息的模板并将头部910和主体912的内容与模板750-1-n中定义的信息加以比较。通常,为每个原始文件格式定义不同的模板。在一个实施例中,利用多种诸如字节模式、全局字符串、布尔逻辑函数之类的逻辑功能、基于内容的标识符之类的匹配规则和/或这些规则的任意组合或全部这些规则,文件审查模块740结合模板750-1-n来处理原始格式文件602-1。在一个实施例中,基于模板的规则引擎可以是例如基于可扩展标记语言(XML)的文件格式审查器。应理解这些规则仅仅被提供作为实例,转换器模块410的范围并不限于本申请文件。
在一个实施例中,在文件审查模块740确定原始格式文件602-1的格式之后,它根据识别的原始文件格式选择(1014)一个或多个转换器服务模块730-1-j。原始格式文件602-1可被分派给一个或多个队列720-1-g以进一步处理。分配器710将文件发送给一个或多个选择的转换器服务模块730-1-j以转换为对应的安全中性格式文件604-1。在一个实施例中,文件审查模块740可选择例如转换器服务模块730-1来执行直接转换。因此,转换器服务模块730-1被调用并以单线程或多线程方式执行来提取出原始格式文件602-1中需要用来生成对应安全中性格式文件604-1的想要的内容。
服务模块730-1-j调用原始API并将原始格式文件602-1转换(1016)为安全中性格式文件604-1。为执行转换,转换器服务模块730-1-j调用用于生成原始格式文件602-1的软件应用程序API,并提取出原始格式文件602-1-f的图形图像和说明性数据内容。原始格式文件602-1-f的图形图像和说明性数据内容可结合属性、特性以及制造特征来定义具有一定结构的项目。如前所述,术语“项目”指由组成原始格式文件602-1内容一部分的数字信息所代表的任何建造、构建、制造、组装或制作产品所需的机构、装置、工具、机器、机械或组装件或部件、组件、部分、材料或资源。例如,转换器服务模块730-1-j可提取出由原始格式文件602-1内容定义的与项目的多种属性相关的信息。例如,内容可定义项目结构。结构可由某些特性、属性以及制造特征定义。在一个实施例中,转换器服务模块730-1-j可提取由原始格式文件602-1内容定义的关于特征的信息。特征与用来制造项目的制造过程相关。制造过程可包括例如冲压、铸造、电路板装配、封装、通用装配、加工、成型、焊接以及通常与一个项目的设造、制造和分发相关联的多种其它服务。因为可能没有一个直接的转换器服务模块730-1-j来完成直接转换,所以在输出安全中性格式文件604-1之前,根据识别的文件信息服务模块730-1-j可将原始格式文件602-1转换(1016-1、1016-2、1016-j)为一个或多个中性文件格式。具体实施方式不限于本申请文件。
现在说明应用基于规则的模板750-1-n的若干实例。在一个实施例中,文件审查模块740可对输入原始格式文件602-1的头部910部分应用字节模式规则模板750-1。因此,文件审查模块740读取头部910的内容并将头部910内的预定位置处的内容与一个或多个预定义的与特定原始文件格式典型相关的字节模式相比较。例如与如表1-5中实例所表示的任何一个已知原始文件格式典型相关的字节模式。例如当字节模式规则模板750-1定义的字节模式与原始格式文件602-1的预定位置处头部910的内容相匹配时,文件审查模块740识别出原始格式文件602-1的格式。转换过程随后进行到对应于特定的识别出的格式的一个或多个转换器服务模块730-1-j。正如前面所讨论的,转换过程在到达对应于输入原始格式文件602-1的输出安全中性格式文件604-1之前,可包括一个或多个中间转换。
下面表示一个识别具有*.BMP扩展名的“Windows位图”类型光栅文件的基于XML的字节模式规则模板750-1的实例:
“Windows位图(*.BMP)XML模板规则”
<Rules>
<FrontBlock>
<Pattern><Bytes>424D</Bytes>
<ASCII>BM</ASCII>
<Pos>0</Pos>
</Pattern>
<Pattern><Bytes>0000000000</Bytes>
<Pos>5</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>12</Pos>
</Pattern>
<Pattern><Bytes>000000</Bytes>
<Pos>15</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>20</Pos>
</Pattern>
<Pattern><Bytes>00000100</Bytes>
<Pos>24</Pos>
</Pattern>
<Pattern><Bytes>0000000000</Bytes>
<Pos>29</Pos>
</Pattern>
<Pattern><Bytes>00</Bytes>
<Pos>37</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>40</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>44</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>48</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>48</Pos>
</Pattern>
<Pattern><Bytes>0000</Bytes>
<Pos>52</Pos>
</Pattern>
</FrontBlock>
</Rules>
如果利用字节模式规则模板750-1没有发现匹配,在一个实施例中,文件审查模块740可向输入原始格式文件602-1的头部910和主体920应用全局字符串模式规则模板750-2。因此,文件审查模块740读取头部910和主体920的内容并将内容与一个或多个预定义的与特定原始文件格式典型相关的字符串模式相比较。这些内容可包括与如表1-5中实例所表示的任何一个已知原始文件格式典型相关的字符串。当字符串模式规则模板750-2与原始格式文件602-1的头部910和/或主体920的内容相匹配时,文件审查模块740识别出原始格式文件602-1的格式。转换过程随后进行到对应于特定的识别出的格式的一个或多个转换器服务模块730-1-j。正如前面所讨论的,转换过程在到达对应于输入原始格式文件602-1的输出安全中性格式文件604-1之前,可包括一个或多个中间转换。
下面表示一个识别具有*.ASM扩展名的“SolidEdge Assembly”类型向量文件的基于XML的全局字符串模式规则模板750-2的实例:
“SolidEdge Assembly(*.ASM)XML模板规则引擎”
<FrontBlock>
<Pattern><Bytes>D0CF11E0A1B11AE1000000000000000000000000000000003E000300FeFF0900060000000000000000000000</Bytes>
<Pos>0</Pos>
</Pattern>
</Frontblock>
<GlobalStrings>
<String>Solid Edge</String>
</GlobalStrings>
</Rules>
如果利用字节模式规则模板750-1或全局字符串规则模板750-2没有发现匹配,在一个实施例中,文件审查模块740可向原始格式文件602-1的头部910和主体920应用诸如逻辑“或”功能之类的布尔逻辑函数模式规则模板750-3。因此,文件审查模块740读取头部910和主体920的内容并对一个或多个预定义的与特别原始文件格式典型相关的特定字节或字符串模式执行逻辑“或”运算。这些内容可包括与如表1-5中实例所表示的与任何一个已知原始文件格式典型相关的多个字节或字符串。当“或”功能产生一个布尔逻辑模式规则模板750-3与原始格式文件602-1的头部910和/或主体920的内容之间的字节或字符串模式匹配时,文件审查模块740识别出原始格式文件602-1的格式。转换过程随后进行到对应于特定的识别出的格式的一个或多个转换器服务模块730-1-j。正如前面所讨论的,转换过程在到达对应于输入原始格式文件602-1的输出安全中性格式文件604-1之前,可包括一个或多个中间转换。
下面表示一个识别具有*.DWG扩展名的“AutoCAD”类型向量文件的基于XML的布尔“或”规则模板750-3的实例:
“AutoCAD(*.DWG)XML模板规则引擎”
<FrontBlock>
<OrPatterns>
<OrPattern>
<Bytes>4143312E3530</Bytes>
<ASCII>AC1.50</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPatterns>
<Bytes>414331303036</Bytes>
<ASCII>AC1006</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPatterns>
<Bytes>414331303039</Bytes>
<ASCII>AC1009</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPatterns>
<Bytes>414331303132</Bytes>
<ASCII>AC1012</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPattern>
<Bytes>414331303134</Bytes>
<ASCII>AC1014</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPatterns>
<Bytes>414331303135</Bytes>
<ASCII>AC1015</ASCII>
<Pos>0</Pos>
</OrPattern>
<OrPattern>
<Bytes>414331303138</Bytes>
<ASCII>AC1018</ASCII>
<Pos>0</Pos>
</OrPattern>
</OrPatterns>
</FrontBlock>
</Rules>
如果利用字节模式准则模板750-1、全局字符串规则模板750-2或布尔逻辑规则模板750-3没有发现匹配,在一个实施例中,文件审查模块740可对原始格式文件602-1的头部910和主体920应用基于2-D内容的标识符(代码检查)规则模板750-4。因此,文件审查模块740读取头部910和主体920的内容并将内容与基于2-D内容的标识符相比较,标识符是与特定原始文件格式典型相关的特定字节或字符串模式的形式。这些内容可以是与如表1-5中实例所表示的与任何一个已知原始文件格式典型相关的字节或字符串。当基于2-D内容的标识符与头部910的字节或字符串模式匹配和/或主体920部分匹配于与原始格式文件602-1中的2-D设计相关的2-D绘图特定内容时,文件审查模块740识别出原始格式文件602-1的格式。转换过程随后进行到对应于特定的识别出的格式的一个或多个转换器服务模块730-1-j。正如前面所讨论的,转换过程在到达对应于输入原始格式文件602-1的输出安全中性格式文件604-1之前,可包括一个或多个中间转换。
下面表示一个识别具有*.IGES或*.IGS扩展名的2D“InitialGraphics Exchange Specification(IGES)”类型向量文件的基于XML2-D内容的标识符(这里指代码检查)规则模板750-4的实例:
“Initial Graphics Exchange Specification 2-D(*.IGES)XML模板规则引擎”
<FrontBlock>
<Pattern>
<Bytes>53</Bytes>
<ASCII>S</ASCII>
<Pos>72</Pos>
</Pattern>
<Pattern>
<Bytes>31</Bytes>
<ASCII>1</ASCII>
<Pos>79</Pos>
</Pattern>
</FrontBlock>
<CodeCheck>
<AssemblyName>Function.2D</AssemblyName>
<ObjectName>Function.2D.2DRule</ObjectName>
</CodeCheck>
</Rules>
如果利用字节模式准则模板750-1、全局字符串规则模板750-2、布尔逻辑规则模板750-3或基于2-D内容的标识符规则模板750-4没有发现匹配,在一个实施例中,文件审查模块740可对原始格式文件602-1的头部910和主体920应用基于3-D内容的标识符(代码检查)规则模板750-5。因此,文件审查模块740读取头部910和主体920的内容并将内容与基于3-D内容的标识符相比较,标识符是与特定原始文件格式典型相关的特定的字节或字符串模式的形式。这些可以是与如表1-5中实例所表示的与任何一个已知原始文件格式典型相关的字节或字符串。当基于3-D内容的标识符与头部910的字节或字符串模式匹配和/或主体920部分匹配于与原始格式文件602-1中的3-D设计相关的3-D绘图特定内容时,文件审查模块740识别出原始格式文件602-1的格式。转换过程随后进行到对应于特定的识别出的格式的一个或多个转换器服务模块730-1-j。正如前面所讨论的,转换过程在到达对应于输入原始格式文件602-1的输出安全中性格式文件604-1之前,可包括一个或多个中间转换。
下面表示一个识别具有*.IGES或*.IGS扩展名的3-D“InitialGraphics Exchange Specification(IGES)”类型向量文件的基于XML 3-D内容的标识符(这里指代码检查)规则模板750-5的实例:
“Initial Graphics Exchange Specification 3-D(*.IGES)XML模板规则引擎”
<FrontBlock>
<Pattern>
<Bytes>53</Bytes>
<ASCII>S</ASCII>
<Pos>72<Pos>
</Pattern>
<Pattern>
<Bytes>31</Bytes>
<ASCII>1</ASCII>
<Pos>79</Pos>
</Pattern>
</FrontBlock>
<CodeCheck>
<AssemblyName>Function.3D</AssemblyName>
<ObjectName>Function.3D.3DRule</ObjectName>
</CodeCheck>
</Rules>
在代码检查过程中,为了确定文件是2-D还是3-D文件,文件审查模块740可查找与3-D文件相关的被称为3-D实体的基于内容的标识符。如果没有3-D实体匹配,文件审查模块740默认为2-D文件。这些3-D实体可包括例如下列为2-D和3-D几何判定与属性提取而映射的IGES实体。例如,文件审查模块740可解析与项目相关的代码实体属性,诸如:例如角度、直径尺度、通用标签、通用注释、线性尺度、半径尺度、通用符号、截面、绘图以及查看。文件审查模块740还可分析与项目相关的3-D实体的代码,诸如:例如参量样条面、规则面、旋转面、表列面、有理B样条面、表面曲线、限界面、展平面、平面、右圆圆锥面以及超环面。文件审查模块740还可分析例如与诸如多面立体物体之类的项目相关的立体3-D实体的代码。
其它规则模板750-6-n可被应用于识别上面没有讨论的多种格式类型。具体实施方式不限于本申请文件。
下面是两个一旦文件扩展名被识别即可被应用的附加的规则模板750-6、750-7的实例。如前所述,Pro/Engineer与Unigraphics CAD应用程序每个都生成扩展名为*.PRT的原始文件,即使这两种CAD文件的原始文件格式不同并且不能被利用相同的转换器服务模块进行转换。
下面表示一个利用字节模式和全局字符串匹配技术来识别具有*.PRT扩展名的“Pro/Engineer Part File”类型向量文件的基于XML规则的模板750-6的实例:
“Pro/Engineer Part File(*.PRT)XML模板规则引擎”
<FrontBlock>
<Pattern><Bytes>235547433A322050415254</Bytes>
<ASCII>#UGC:2 ASSEMBLY</ASCII>
<Pos>0</Pos>
</Pattern>
</FrontBlock>
<GlobalStrings>
<String>#END_OF_UGC</String>
</GlobalStrings>
</Rules>
下面表示一个利用字节模式和全局字符串匹配技术来识别具有*.PRT扩展名的“Unigraphics Part File”类型向量文件的基于XML规则的模板750-7的实例:
“Unigraphics Part File(*.PRT)XML模板规则引擎”
<FrontBlock>
<Pattern><Bytes>D0CF11E0A1B11AE1000000000000000000000000000000003E000300FeFF0900060000000000000000000000</Bytes>
<Pos>0</Pos>
</Pattern>
</FrontBlock>
<GlobalStrings>
<String>UGII</String>
<String>folderContents</String>
<String>folderProperties</String>
</GlobalStrings>
</Rules>
如前所述,原始格式文件602-1可采用许多形式,包括:例如文本(ASCII、SGML、HTML)、图像(TIFF和GIFF)、图形(诸如DAD/CAM、GIS文件之类的向量集合)、音频(根据声音波形理论构建的比特集合)、视频(MPEG)、CAD机械设计文件格式、CAD电子设计EDA/ECAD/PCB文件格式、基于向量的文档/图形文件格式、基于光栅的图形文件格式以及智能办公文档文件格式等。由原始格式文件602-1所定义的说明性数据可包括例如项目属性、汇总信息、用户定义属性以及由原始格式文件602-1定义的项目的面积属性。下面表7提供多种与由原始文件格式中的原始格式文件602-1的内容所定义的项目相关的属性的实例。
表7
属性 |
项目属性 |
数量 |
类型 |
修正 |
说明 |
|
汇总信息 |
标题 |
主题 |
作者 |
关键词 |
注释 |
最后保存者 |
最后保存 |
生成日期 |
|
用户定义属性 |
设计者 |
材料 |
下一组装件 |
重量 |
绘图标题 |
修正 |
工程号 |
完成 |
装配 |
设计日期 |
|
面积属性 |
区域 |
量 |
面积 |
在一个实施例中,除了项目结构特性和属性以外,转换器服务模块730-1可提取出与项目相关的附加的信息,诸如,例如关于任何丢失零件的信息、装配图、金属片碾平以及与例如碾平、焊接和子文件类型相关的附加特性。
图11A-C是用于将具有多种原始文件格式1110的原始格式文件602-1-f转换为对应的具有安全中性文件格式1150(SNFF)的安全中性格式文件604-1-f的原始格式文件转换处理流程1100的一个实施例的示图。每个原始文件格式1110可被分类为诸如光栅1112、向量1114、CAD 1116、智能文档1118以及表格1120之类的四个文件类别中的一个。原始文件格式1112-1120具有与之相关联的文件扩展名1130。如前所述,不能单独地利用文件扩展名1130来确定原始文件格式1112-1120,因为它不是原始文件格式的唯一标识符。多种原始格式文件602-1-f可具有相同的扩展名1130却具有不同的原始文件格式1112-1120。图表1100还说明可能需要的中间转换步骤以及可能需要以将原始文件格式1112-1120转换为中性文件格式1150的中间转换器服务模块730-1-j。正如前面所讨论的,转换器服务模块730-1-j可执行任意数目的中间转换以到达安全中性格式文件1150。
一些原始文件格式可直接转换为中性文件格式1150。例如,在一个实施例中,原始文件格式1110-1-10可被直接转换为中性文件格式1150。因此,由DJVU转换器服务模块730-1可将Windows位图(1110-1)、图形交换格式(1110-2)(GIF)、JPEG文件交换格式(1110-3)、便携网络图形(1110-4)、标签图像文件格式(1110-5)(TIFF)、便携灰度映像文件(1110-6)、便携位图文件(1110-7)、便携像素映像文件(1110-8)、便携任意映像文件(1110-9)、Adobe便携文档格式(1110-10)(PDF)以及Apple McIntosh文件(1110-50)直接转换为中性文件格式1150。因此,文件审查模块740可选择DJVU转换器服务模块730-1来将这些格式直接转换为安全中性文件格式1150。
在一个实施例中,由Model Press转换器服务模块730-5将初始图像交换规范(IGES 3-D)(1110-13)、STEP 3-D(1110-35)、3D Studio File(1110-41)、HOOPS Stream File(1110-42)、扩展图像语言文件(1110-46)以及ACIS文件(1110-70)原始文件格式直接转换为中性文件格式1150。
然而,正如前面所讨论的,如果单一的转换器服务模块730-1-j不能够执行直接转换,就可能存在一个或多个从一种格式到另一种格式的中间转换。中间转换的数目取决于输入的原始文件格式1110。转换器模块410可利用图8中所示的多种转换器服务模块730-1-j来执行一次或多次中间转换。
因此,由Spatial转换器服务模块730-2转换Hewlett Packard图形语言文件格式(1110-11)(HPGL)、原始图形交换规范(2-D)(1110-12)、计算机图形元文件(1110-14)、STEP 2-D(1110-34)、Stereolithography接口格式(1110-43)、Verband derAutomobilindustrie(德国汽车工业协会)(1110-44)以及虚拟现实模型语言(1110-45)等原始文件格式。在一个实施例中,Spatial转换器服务模块730-3的输出被TIFF转换器服务模块730-3转换。在一个实施例中,TIFF转换器服务模块730-2的输出被DJVU PDF转换器服务模块730-4和/或DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,由AutoCAD转换器服务模块730-6将AutoCAD文件(1110-15)、AutoCAD绘图交换格式(1110-16)以及绘图交换格式(1110-17)等原始文件格式首先转换为HPGL中间文件格式。在一个实施例中,HPGL转换器服务模块730-7的输出被Spatial转换器服务模块730-2转换。在一个实施例中,Spatial转换器服务模块730-2的输出被TIFF转换器服务模块730-3转换。在一个实施例中,TIFF转换器服务模块730-3的输出被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,由DWF转换器服务模块730-8首先转换AutoDesk Design Web格式(1110-18)原始文件格式。在一个实施例中,DWF转换器服务模块730-8的输出被HPGL转换器服务模块730-7转换。在一个实施例中,输出被Spatial转换器服务模块730-2转换。在一个实施例中,输出继而被TIFF转换器服务模块730-3转换。在一个实施例中,TIFF转换器服务模块730-3的输出被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,首先由Inventor转换器服务模块730-9首先转换AutoDesk Inventor Part文件(1110-19)以及AutoDeskInventor Assembly文件(1110-20)原始文件格式。在一个实施例中,输出被3DF转换器服务模块730-10转换。在一个实施例中,3DF转换器服务模块730-10的输出被Model Press转换器服务模块730-5转换。在一个实施例中,输出被继而转换为中性文件格式1150。
在一个实施例中,由Inventor转换器服务模块730-9转换AutoDesk Inventor Drawing文件(1110-21)原始文件格式。在一个实施例中,输出被HPGL转换器服务模块730-7转换。在一个实施例中,输出被Spatial转换器服务模块730-2转换。在一个实施例中,输出继而被TIFF转换器服务模块730-3转换。在一个实施例中,TIFF转换器服务模块730-3的输出被DJVU转换器服务模块730-1转换为中性文件格式1150。
在一个实施例中,由SolidWorks转换器服务模块730-11转换SolidWorks Part文件(1110-23)以及SolidWorks Assembly文件(1110-24)原始文件格式。在一个实施例中,输出随后被3DF转换器服务模块730-10转换。在一个实施例中,输出继而被ModelPress转换器服务模块730-5转换为中性文件格式1150。
在一个实施例中,首先由SolidWorks转换器服务模块730-11转换SolidWorks Drawing文件(1110-25)原始文件格式。在一个实施例中,输出被HPGL转换器服务模块730-7转换。在一个实施例中,HPGL转换器服务模块730-7的输出被Spatial转换器服务模块730-2转换。在一个实施例中,输出被TIFF转换器服务模块730-3转换。在一个实施例中,TIFF转换器服务模块730-3的输出被DJVU转换器服务模块730-1转换为中性文件格式1150。
在一个实施例中,由SolidEdge转换器服务模块730-12转换SolidEdge Part文件(1110-26)、SolidEdge Assembly文件(1110-27)、SolidEdge Sheet Metal Part(1110-29)以及SolidEdgeWeldment文件(1110-30)等原始文件格式。在一个实施例中,输出继而被3DF转换器服务模块730-10转换。在一个实施例中,3DF转换器服务模块730-10的输出继而被Model Press转换器服务模块730-5转换为安全中性文件格式1150。
在一个实施例中,首先由SolidEdge转换器服务模块730-12将SolidEdge Draft文件(1110-28)原始文件格式转换为HPGL中间文件格式。在一个实施例中,输出被HPGL转换器服务模块730-7转换。在一个实施例中,输出继而被Spatial转换器服务模块730-2转换。在一个实施例中,Spatial转换器服务模块730-2的输出被TIFF转换器服务模块730-3转换。在一个实施例中,输出继而被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,由Pro/Engineer转换器服务模块730-13转换Pro/Engineer Part文件(1110-31)以及Pro/Engineer Assembly文件(1110-32)原始文件格式。在一个实施例中,输出继而被3DF转换器服务模块730-10转换。在一个实施例中,输出被Model Press转换器服务模块730-5转换为安全中性文件格式1150。
在一个实施例中,由Pro/Engineer转换器服务模块730-13转换Pro/Engineer绘图文件(1110-33)原始文件格式。在一个实施例中,输出被HPGL转换器服务模块730-7转换。在一个实施例中,输出继而被Spatial转换器服务模块730-2转换。在一个实施例中,输出被TIFF转换器服务模块730-3转换。在一个实施例中,输出继而被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,首先由LeadTools转换器服务模块730-14转换JPEG-2000 Code Stream位图(1110-36)、JPEG-2000 JP2文件格式(1110-37)、Windows元文件(旧的Win3.x格式)(1110-39)、Targa位图(1110-48)、计算机辅助采集后勤支持光栅格式(1110-51)、图形多页面PCX位图(1110-53)、ZSoft PCX位图(1110-54)以及封装后记(1110-57)等原始文件格式。在一个实施例中,输出继而被TIFF转换器服务模块730-3转换并且DJVU转换器服务模块730-1将其转换为安全中性文件格式1150。
在一个实施例中,首先由Net转换器服务模块730-15转换Windows元文件(1110-38)以及Windows图标文件(1110-40)原始文件格式。在一个实施例中,输出被TIFF转换器服务模块730-3转换。在一个实施例中,输出继而被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,首先由BatikFile转换器服务模块730-16转换可伸缩的向量图形文件(1110-47)原始文件格式。在一个实施例中,输出被TIFF转换器服务模块730-3转换。在一个实施例中,输出继而被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
在一个实施例中,由Image Magic转换器服务模块730-17将Kodak PhotoCD位图(1110-55)和Sun光栅位图(1110-56)原始文件格式直接转换为中性文件格式1150。
在一个实施例中,由DJVu PDF转换器服务模块730-4将AdobePostScript(1110-58)原始文件格式直接转换为中性文件格式1150。
在一个实施例中,由Black Ice打印机驱动器转换器服务模块730-18转换Microsoft Word文档(1110-59)、Microsoft Excel文档(1110-60)、Microsoft PowerPoint文档(1110-61)以及Microsoft Project文件(1110-62)等原始文件格式。在一个实施例中,输出被EMF转换器服务模块730-20转换。在一个实施例中,输出继而被LeadTools转换器服务模块730-14转换。在一个实施例中,输出被TIFF转换器服务模块730-3转换。在一个实施例中,输出继而被DJVU转换器服务模块730-1转换为安全中性文件格式1150。
如前所述,图8中所示的转换器服务模块730-1-j是可能的转换器服务模块的典型实例而不是在任何一个应用程序中可能被利用的转换器服务模块730-1-j的穷尽列表。因此,应了解转换器模块410不局限于此范围。另外,选择合适的执行转换的转换器服务模块730-1-j的转换/转化过程是自动的并且是基于文件审查模块740的输出的。
查看器模块420
在多种实施例中,查看器模块420使用户可以查看媒体信息,查看器模块420包括使得在遍及扩展式企业网络300的资源之间能进行合作的功能,以及使得XML数据具有输入能力。在一个实施例中,查看器模块420显示包括在安全中性格式文件604-1-j中的2-D和3-D CAD图形图像。查看器模块420从主处理节点140接收被转换的安全中性格式文件604-1-f并在显示器207上显示文件604-1-f的内容。查看器模块420可适于接收和显示多种安全中性格式文件604-1-f,文件内容系利用多种文档、图像、CAD以及其他原始文件类型应用程序原始地生成,每个应用程序具有如上表1-5所示的自己的私有文件格式。
为了查看安全中性格式文件604-1-f中的图形图像,用户可在计算机310、320上通过使用指示装置202选择文件夹中或计算机桌面上的文件604-1的图像来调用查看器模块420。这会启动查看器模块420作为web浏览器314、324中的单独应用程序。当查看器模块420被调用时,它从嵌入在安全中性格式文件604-1-f中的XML头部中读取图形图像的查看状态。查看器模块420应用当前查看状态并在显示器207上显示图形图像。
在一个实施例中,查看器模块420使得位于第一和第二客户节点110-1和120-1处的资源之间经诸如例如工程设计和办公文档之类的媒体信息能进行合作。在一个实施例中,查看器模块420使位于第一和第二客户节点110-1和120-1处的资源通过RFQ文档交换和合作以从买家向供应商传送项目需求。项目需求包括构成设计的项目。当项目代表组装件时,需求可包括共同形成项目的单独组件。例如,为了获得用于给定设计的项目,RFQ可包括尺寸绘图、3-D立体模型以及其他传送给供应商的可被使用以对买家所要求的项目充分地报价的技术规范的所有必需细节的文档。
查看器模块420可包括DRM模块500所启动的DRM技术来使得这类文档进行安全交换。在一个实施例中,遍及扩展式企业网络300,在利用AES FIPS-197加密标准的安全合作格式中可使用安全中性格式文件604-1-f。安全中性格式文件604-1-f可被实现为全压缩文件格式以使得文件大小最小。在一个实施例中,查看器模块420使对在显示器207上显示的图像和绘图进行注释。注释包括在具有与合作相关的消息的用户界面查看上的红线标记覆盖图。在任何一个数据库190-1-e中,红线标记覆盖图连同合作消息线程一起被保存为XML。
可利用
Visual C++、
基础类库(MFC)以及Active模板库(ATL)实现查看器模块420。可在用户计算机310、320上执行查看器模块420代码。在一个实施例中,查看器模块420可被实现为Active X控件,用在包括例如Interent Explorer浏览器(例如浏览器314、324)以及从软件开发工具到终端用户生产工具的其他容器的多种不同的容器中。在一个实施例中,查看器模块420还可被实现为基于XPCOM的Netscape插件以支持基于Gecko的浏览器(例如浏览器314、324)。
图12A-D分别表示多种图形用户界面1200、1220、1240以及1260的实施例。图形用户界面1200、1220、1240以及1260中的每一个分别代表应用程序框架348、349的一个实例的一个实施例。如前面所讨论的,应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。
图12A表示应用程序框架348、349的一个实例的一个实施例的图形用户界面1200。图形用户界面1200可在例如客户节点计算机310、320的计算机显示器207上显示。图形用户界面1200包括图形图像窗1202、设计属性窗1204、项目结构窗1206以及项目树窗1207。在所说明的实施例中,图像窗1202显示嵌入在被转换的安全中性格式文件604-1中的装配设计的图形图像1208(例如机械设计的高分辨率3-D模型)。在一个实施例中,查看器模块420可显示由主处理节点140提供的中性文件格式的多种设计图形图像和文档。因此,查看器模块420能够显示多个由诸如2-D drawing之类的不同CAD软件工具原始生成的多种格式的图形图像。
在一个实施例中,设计属性窗1204显示与图形图像1208相关联的说明性数据。在设计属性窗1204中显示的说明性数据是从原始格式文件602-1中提取出来并被嵌入在转换的安全中性格式文件604-1中的说明性数据。设计属性窗1204可包括例如项目属性1210、汇总信息1212以及面积属性1216。在设计属性窗1204中显示的信息来源于与图形图像1208相关联的说明性数据924。如前面所讨论的,说明性数据924是在如前所述的转换过程中由转换器模块410从原始格式文件602-1中提取出来的。
在项目结构窗1206中,查看器模块420显示与图形图像1208相关联的项目结构树1218。项目结构树1218上被选择的项目1222-2涉及对应的被选择的项目1222-2的图形图像1208视图。项目结构树1218包括定义与图形图像1208相关联的项目的文件。项目可以是单个的单独对象,或可形成包括多种项目的组装件的一部分,或者项目可包括多种组件。在一个实施例中,项目结构树1218中显示的文件可定义两个或更多项目以及两个或更多项目之间的结构关系。定义项目或两个或更多项目之间结构关系的文件包括一个或多个中性文件格式的可查看文件。在一个实施例中,项目结构树1218中所显示的文件被嵌入在安全中性格式文件604-1的数据966部分内。项目结构树1218中所显示的文件包括能够以多种视图显示的项目结构特性的图形图像1208文件以及与图形图像1208的所有视图相关联的所有说明性数据。
在说明的实施例中,图形图像1208代表组装件。因此,项目结构树1218的最上层是组装件视图1220。组装件视图的下面一层是多种组装部件1222-1、1222-2、1222-3的子组装级视图。在子组装件视图1222-2下面一层是多种子组装部件1224-1、1224-2的组件级视图。使用指示装置202在项目结构窗1206内选择文件会启动图像窗1202中与该文件相关联的图形图像。根据存储在安全中性格式文件604-1的XML头部962中的查看状态显示对应的图形图像。在说明的实施例中,指示装置202的选择是子组装文件1222-2。根据在XML头部962中最近存储的查看状态,在图像窗1202中显示对应于子组装文件1222-2的图形图像1208。
查看模块420使用户可通过例如工具栏框架356和/或导航框架352以多种方式与图形图像1208交互。在多种实施例中,与一个或多个功能模块172(例如EEC模块400)耦合的查看器模块420使位于第一和第二客户节点110-1、120-1的用户可以在位于处理节点140的数据库190和/或位于客户节点110、120的数据库312、322之中的安全中性格式文件604-1的XML头部962中保存一个或多个查看状态。在一个实施例中,查看状态可包括裁剪图像1208、向图像1208应用记事簿、移除图像1208的背景层(例如从蓝图中移除蓝色层)、向图像1208应用橡皮图章效果和/或对图像1208加注释。查看器模块420从安全中性格式文件604-1的XML头部962提取出查看器指示,并相应地显示图形图像1208。在其它的实施例中,查看器模块可旋转图像1208、将组装件项目的图像1208分解为部件、将部件的图像1208组装为组装件项目、对图像1208自动尺度变换、连通图像1208组装件的零件、斜视/去斜视图像1208和/或通过视觉字符识别(OCR)在图像1208中搜寻文本。另外在其它实施例中,查看器模块420可使位于第一和第二客户节点110-1、120-1的用户进行合作。在一个实施例中,图像1208是合作的主题。在一个实施例中,安全中性格式文件604-1的XML头部962包括定义图形图像1208当前查看状态的查看器指示。XML头部962指示查看器模块420如何显示图形图像1208。查看器模块420根据XML头部962中查看状态指示的最近版本来显示图形图像1208。查看状态指示修改图形图像1208被显示的方式而不修改根本的安全中性格式文件604-1基本数据966部分。此外,在一个实施例中,如果查看状态被修改,查看器模块420不修改数据966、不覆盖写入当前安全中性格式文件604-1或先前保存的查看状态,并且不产生和存储具有修改视图的安全中性格式文件604-1的新拷贝。新的查看状态连同先前被保存在相同安全中性格式文件604-1的XML头部962中的一个或多个其他查看状态,被保存在一个或多个数据库190、312、322的XML头部962中。
图12B表示应用程序框架348、349的一个实例的一个实施例的图形用户界面1200。图形用户界面1200说明机械装置的二值图形图像1222。二值图形图像1222包括具有第一色调的前景层1224以及具有一个或多个色调的一个或多个背景层1226。在说明的实施例中,二值图形图像1222的背景层1226被开启,因此它对用户可见。如前面所讨论的,借助于查看器模块420,用户可移除任何一个背景层(例如从蓝图中移除蓝色)。
图12C表示应用程序框架348、349的一个实例的一个实施例的图形用户界面1240。图形用户界面1240表示移除背景层1226而仅有前景层1124显示的二值图形图像1222。在说明的实施例中,图形图像1242是“蓝色”背景层被移除的蓝图图像。这样,当显示图形图像1242时,它对于用户更加清晰可见。
现在参考图12B和12C说明查看器模块420查看状态图形用户界面1250的一个实施例。根据这个实施例,结合EEC模块400的查看器模块420可生成并保存查看状态。在一个实施例中,查看状态涉及从图像1222中移除背景层(例如从蓝图中移除蓝色)。在一个实施例中,通过选择润色按钮1252,位于第一或第二客户节点110-1、120-1的用户可开始应用程序框架348、349以及EEC模块400来从图像1222中移除背景层。扫描的工程绘图“蓝图”被作为彩色文档处理并被划分为前景层与背景层。前景层包括被压缩为最大分辨率的二值或低色调图像的文本和线条绘图,由此保存锐度以及文本的可读性。背景层包括纸张纹理以及通过拷贝Mylar主图文档中绘图再现过程引入的背景颜色。利用IW44以降低的分辨率压缩背景。被前景部件覆盖的背景区域被平滑地添加以最小化前景部件遮蔽的背景区域的编码开销。前景/背景分段器首先检测与它们的背景对比强烈的物体,然后利用诸如它们颜色统一性、它们的几何排列以及它们编码开销的估计之类的若干标准将它们分类为前景或背景平面。这种分为前景层和背景层的智能分离使查看器模块420能够关闭分段背景层的显示,由此移除蓝色背景并留下文档的清晰高分辨率前景图像1208,而没有降低原始绘图保真度令它不易读的恼人的背景颜色。
图12D表示应用程序框架348、349的一个实例的一个实施例的图形用户界面1260。图形用户界面1260表示被裁剪以适合在命令与控制框架354的图像窗1202中的图形图像1262的一个实施例。裁剪是从图形图像1262中去除不想要的区域的方法。裁剪也可用于从图形图像1262中去除不想要的主题或不相关的部分以改进这里说明的合作/谈判过程的可视性。
另一个查看状态指示如何附着上XML头部962的实例是在位于具有文档的第一或第二客户节点110-1、120-1的用户希望仅公布图像1262的子集的情况。在一个实施例中,用户可利用查看器模块420和EEC模块400来裁剪图像1262。根据这个实施例,用户可(1)点击“Start Crop”1254(“Start Crop”变为“Apply Crop”),(2)围绕图像1208的子集拖拽一个矩形,(3)点击“Apply Crop”1254,并且继而(4)点击“Save Changes”1256。一旦“Save Change”被点击,查看器模块420生成被裁剪的查看状态给XML头部962,该查看状态被发送到处理节点140并被存储在数据库190-1-e中。一个或多个处理节点140服务器160、170、182可继而对安全中性格式文件604-1应用新的XML头部962。下一次安全中性格式文件604-1被显示在查看器模块420中的时候,查看器模块420读取XML头部962中的裁剪查看状态指示,并将裁剪应用到原始安全中性格式文件602-1。
图13A是查看器模块420变焦/放大(变焦)功能的一个实施例的示意图1300。查看器模块420显示图形图像1302。用户可调用能够在显示器上的图形图像1302区域上拍摄全景的变焦窗口1304。变焦窗口1304的大小是可变的而且调整大小是锚定的。用十字瞄准线标记变焦窗口1304的中心。变焦窗口1304在图形图像1302上拍摄全景的时候,图形图像1302在变焦窗口1304内的部分看起来被以因子放大。在一个实施例中,放大因子是可变的并且是用户可选的。变焦窗口1304产生最好的外观分辨率并且不在下面的图形图像1302被变焦部分中引入分辨率损失。在一个实施例中,随着用户进行缩小,图形图像1302的当前变焦查看部分中的像素数减少。在一个实施例中,变焦特征可在某些全查看状态下提供像素增强。
随着变焦窗口1304沿着箭头1308a、b、c、d所指示的方向拍摄全景,它最终将分别到达图形图像1302显示区域的角落1310a、b、c、d。一旦变焦窗口1304位于任何一个角落1310a、b、c、d,十字瞄准线1306移动并与对应的角落1310a、b、c、d对齐。变焦窗口1304和十字瞄准线1306现在保持固定。例如,如图所示,变焦窗口1304被放置靠着角落1310a,十字瞄准线1306与角落1310a对齐并被固定。随着用户继续将变焦窗口1304移进角落1310a,变焦窗口1304不会消失在角落1310a中。相反地,图形图像1302以与变焦窗口1304想要拍摄全景方向相反的方向在变焦窗口1304下方拍摄全景。这对用户产生在图形图像1302内部滚动而不是随着变焦窗口1304滚动越过的视觉效果。因此,如果用户希望移动变焦窗口1304进一步到角落1310a,变焦窗口1304保持固定在适当的地方,但是现在图形图像1302在固定变焦窗口1304的下面拍摄全景以使得对应的图形图像1302的角落1310a变为居中有十字瞄准线1306。因此,用户能够放大图形图像1302的对应角落1310a。
图13B表示用于变焦和放大(变焦)图形图像1352的应用程序框架348、349的一个实例的一个实施例的图形用户界面1350。应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。图形图像1352在图像窗1354中显示。用户可调用能够在显示器的图形图像1352区域上方拍摄全景的聚焦窗口1304。变焦窗口1304的大小是可变的而且调整大小是锚定的。变焦窗口1304在图形图像1302上拍摄全景的时候,图形图像1302在变焦窗口1304内的部分看起来被以因子放大。在一个实施例中,放大因子是可变的并且是用户可选的。变焦窗口1304产生最好的外观分辨率并且不在下面的图形图像1352被变焦部分1360中引入分辨率损失。
在一个实施例中,变焦窗口1304可包括可进一步放大包含在变焦窗口1304中的图形图像1352的增强变焦模块1362。根据这个实施例,用户可指示指示器202来激活一旦开始就引起增强变焦模块1362执行的增强变焦栏1360。
图14是利用视觉字符识别(OCR)技术在图形图像1402中定位文本的查看器模块420图形用户界面1400的一个实施例。图形用户界面1400表示包含文本的图形图像的设计图像1402。查看器模块420提供OCR技术来搜寻文本的位置以及图形图像1402上出现的次数。查看器模块420向图形图像1402文件应用多语言OCR技术来识别扫描图像1402文件中所有的文本位置和出现。查看器模块420将文本的图形化图像转换为ASCII字符串或二进制格式,并且将图形图像1402上的文本的相关位置作索引,并在数据库中存储文本和索引。
在说明的实施例中,图形用户界面1400表示包括印刷文本1404图形化图像以及几何图案1406的绘图的扫描图像1402。为了找到文本1404的出现,用户调用“Find”用户对话框1408来搜索想要的文本1404。用户在用户对话框1408的输入栏1410中输入文本。如图所示,用户希望搜索词“THERMAL”并将其输入输入栏1410。查看器模块420从用户对话框1408中得到搜索指示并在扫描图像1402上高亮文本1412“THERMAL”的出现。通过扫描图像1402,对文本1404作索引并在数据库中存储相当的字符或字符串,用户可自动地搜索位于图像1402上的尺度、容限、限制以及注释。此外,一旦文本1404被识别并被转换为ASCII字符串或二进制数据,它可被下载到另一个用于费用估计和制造计划的数据库。
记事簿可被应用于扫描图像1402的一部分,在进行高斯采样来定义图像1402在记事簿被应用的附近处的频谱分布。一旦取得了感兴趣的图像区域的高斯采样,记事簿功能使用户可以擦除图像1402上的文本或几何形状,并且继而运用记事簿,记事簿应用了与擦除部分附近频谱分布一致的像素混合。图像1402被擦除部分的记事簿像素混合以隐藏在图像1402的那个区域发生过擦除。例如,记事簿可被应用于隐藏诸如交易机密和/或开销信息之类的机密信息。
图15A-C分别说明多种图形用户界面1500、1560以及1580的实施例。图形用户界面1500、1560以及1580的每一个代表应用程序框架348、349的一个实例的一个实施例。如前面所讨论的,应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。
图15A是用于启动合作的应用程序框架348、349的一个实例的一个实施例的图形用户界面1500。合作可包括一个或多个诸如例如设计文档之类的媒体信息的一个或多个注释以及一个或多个消息线程。消息线程包括合作的原文主旨。在应用程序框架348、349中提供合作功能以使用户在干任务时通过媒体信息进行合作。在一个实施例中,应用程序框架348、349在图像被查看器模块420显示时,使得直接在图像上能进行注释和标记而不修改转换的安全中性格式文件604-1的结构中数据966部分。合作与图像和一个或多个消息相关联。
导航框架352可包括一个或多个消息线程。消息线程可包括位于第一或第二客户节点110-1、120-1开始该消息的用户间的一个或多个消息节点386,和位于第一或第二客户节点110-1、120-1的回应初始消息的回应者。以讨论的序时顺序组织消息节点386。在说明的实施例中,图形用户界面1500包括图像显示窗1510、合作窗1520以及导航框架352。
为了开始合作会话,用户可点击导航框架352中的消息线程的消息节点386。因此,命令与控制框架354中的图形化环境排顺序以匹配被选择的消息节点386。回应可改变(例如旋转、拆卸、组装等)图形图像1512的图形化内容的初始视图并如前所述地将这个改变的图像1512保存为安全中性格式文件604-1的XML头部962中的附加查看状态。消息的图形化内容可包括包含消息线程文本的对话框1514。对话框1514可淡入淡出和/或表现为透明以使得用户可查看图形图像1512在对话框1514后面的部分。在一个实施例中,对话框1514与其他这里说明的用户界面被例如以动态HTML编码。在其他实施例中,可借助诸如例如CUTESOFT.
提供的文本编辑器之类的丰富文本编辑器来启动合作窗1520。
在合作会话期间,用户可对出现在图形显示窗1510中的图形图像1512做注释。在一个实施例中,当图像1512随着图像结合合作窗1520中的消息环境1522而被显示在图像显示窗1510中时,查看器模块420使得红线标记能覆盖在图像1512上。导航框架352表示包括与程序、工程、过程和/或任务相关的合作消息线程1534的消息树1532。消息环境1522与消息树1532中高亮的用户选择的消息线程1536相关联。可利用基于XML的高亮、注释和/或红线标记直接在图像1512上做注释。注释以用户选择的多种颜色显示在图像1512上。注释的图像1512和消息环境1522可形成合作的主题。注释覆盖图可如前所述地被保存为安全中性格式文件604-1的XML头部962中的XML查看状态指示。虽然图15表示通过一幅图像合作的一个消息线程,在其他的实施例中,与应用程序框架348、349耦合的合作模块430可包括通过一个或多个图像合作的一个或多个消息线程。
命令与控制框架354还可包括图像快照窗1540。在一个实施例中,图像快照窗1540显示原始发送图形图像1512的原始缩略图1542以及注释图像的注释缩略图1544。注释缩略图1544包括指示注释所在处的方框1546。
通过在合作窗1520中选择回复消息标签或发送消息标签,缩略图1544中捕获的图像可通过e-mail被发送到位于第一和第二客户节点110-1、120-1的合作人中的每一个。E-mail接收者还接收注释图像1512并且利用查看器模块420的本地拷贝可对图像1512做附加的注释等。可在导航框架352中保持合作来跟踪涉及工程的通信历史。在一个实施例中,消息线程1534与注释覆盖图被保存在XML中。
图15B是用于启动合作会话的应用程序框架348、349的一个实例的一个实施例的图形用户界面1560。合作会话包括命令与控制框架354的消息环境1522部分中的消息1562。在说明的实施例中,消息1562请求安全中性格式文件604-1-f的图形图像1512的金属片视图。为了生成金属片视图,用户在命令与控制框架354的项目结构窗1206中选择金属片标签1564并且在项目树1218中特定项目1566下方选择平面视图1568。本领域的技术人员应理解物理项目的三维模型的金属片视图是项目的平面化版本并且在冲压应用程序中例如代表具有适当弯曲允许的扁平的冲压金属片平面模式。
图15C是用于显示安全中性格式文件604-1-f的图形图像1512的金属片平面模式的应用程序框架348、349的一个实例的一个实施例的图形用户界面1580。金属片平面模式包括适当的平面尺度,诸如平面长度、平面宽度、厚度、弯曲半径以及K-因子。这些尺度被显示在项目属性窗1204的金属片属性部分1588。
合作模块430
参考上面的图,在多种实施例中,EEC模块400包括合作430模块来使得遍及扩展式企业网络300的位于第一和第二客户节点110-1、120-1进行多种资源的合作。如前所述,EEC模块400可包括转换器模块410来将媒体信息转换为可由遍及扩展式企业网络300的所有授权资源以应用程序框架348、349来查看的安全中性文件格式,以便启动合作。在一个实施例中,可由
提供的VisualC++以及Win32 SDK实现的实时通信服务启动位于第一和第二客户节点110-1和120-1的资源之间的合作通信。在一个实施例中,实时通信服务使得具有诸如展示、即时通信、实时红线标记和语音聊天之类的实时合作能力。
合作模块430可被布置来有效地处理工程模板;以离线模式经模板搜集数据;确保原始文件格式的文件交换;支持项目、部件以及组装件的2-D和3-D设计文件格式;管理在线或离线运行以搜集数据的工作流程XML表格;文档的上传、下载以及打印的系列支持;利用提供数据搜集和文档合作的工作流程包;合作和访问来自标准e-mail客户端的工程消息线程;与多委托人和多文档合作;以及保持贯穿整个产品生命周期的合作日志,日志可包括单独的问题及它们的解决方案。
在多种实施例中,合作模块430可被布置来提供启动在位于第一客户节点110-1与位于第二客户节点120-1之间经扩展式企业网络300的合作的功能。在一个实施例中,由EEC模块400和转换器模块410所提供的合作功能使得组织可以共享包括工程机械图形图像以及机械设计的说明性数据的媒体信息。借助于查看器模块420,用户可显示设计的图形图像以及说明性数据,而不用运行用来生成电子文件的原始CAD软件应用程序。通过合作模块430,EEC模块400可被布置来在线管理整个工程,并保留设计修改的记录以及位于第一和第二客户节点110-1和120-1的合作者之间的决定和协议的日志。
在多种实施例中,包括转换器模块410、查看器模块420以及合作模块430的EEC模块400可被布置来执行位于第一客户节点110-1的资源与位于第二客户节点120-1的资源之间的准实时工程合作。在新产品设计和开发的早期阶段,准实时工程合作使得遍及扩展式企业网络300的资源可以合作和共享它们在产品设计和制造方面的专门知识。通过合作地检查产品设计规范和制造需求,可识别出许多设计和制造错误。在一个实施例中,合作模块430可被布置来以系统和准实时的方式沟通和改正这些错误。
在多种实施例中,合作模块430可被布置来向无纸化基于电子的工程提供在线合作的更改过程,以改进产品精确度和减小实现产品设计更改的周期。利用在线和离线工作流程,位于第一客户节点110-1的资源可利用例如基于XML的电子表格从位于第二客户节点120-1的资源搜集数据。这些基于XML的电子表格是包括所有必需工程文档的文档包,文档包括:绘图、标准规范、过程指令、质量处理计划以及其它。
图16是用户e-mail的一个实施例的图形用户界面1600。在一个实施例中,e-mail客户端从结合主处理节点140的应用程序框架348、349接收合作消息1610。如前面所讨论的,应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。虽然合作被说明为位于第一和第二客户节点110-1、120-1之间资源的通信,但是实施例可使得例如第一或第二客户节点110-1、120-1内多种内部资源之间能进行通信、合作和/或谈判。
在其它的实施例中,合作模块430可被布置来在位于第一和第二客户节点110-1、120-1的资源之间通过e-mail来传送合作消息1610。在一个实施例中,应用程序服务器170-1可包括一个提供email合作消息的可靠异步传送的发送服务模块。根据这个实施例,发送服务模块提供所有要发送的合作email的队列框架。在一个实施例中,email消息可被利用简单邮件传输协议SMTP中继来发送给接收者。在一个实施例中,e-mail可包含一个启动应用程序框架348、349的超链接。一旦资源接收到e-mail,资源可选择超链接1620来启动应用程序框架348、349并访问例如合作/谈判系统100、300。在一个实施例中,资源可响应启动e-mail的合作消息1610并使用这里说明的合作和谈判系统100、300的其他模块。
工程管理模块440
参考上面的示图,在多种实施例中,EEC模块400包括被布置来提供工程管理、通信以及媒体信息共享的工程管理模块440,媒体信息是对第一客户节点110-1(例如OEM买家)内部共享或对第二客户节点120-1(例如战略合作者和/或供应商)内部共享以及在第一客户节点110-1和第二客户节点120-1之间共享。在一个实施例中,工程管理模块440被布置来有助于关于企业相关任务的工程管理相关的动作。在一个实施例中,工程管理模块440提供可在知识库中存储的可再利用的工程计划和/或标准过程。工程管理模块440管理多种过程包括但不局限于:项目采购与谈判准备、产品零件批准、新产品介绍和设备安装。工程管理模块440可被布置来提示虚拟工程团队任务的用户适时来存储和恢复消息线程历史并且对工程相关的媒体信息做标记或红线标记。
在多种实施例中,由工程管理模块440生成的程序、工程、过程、任务和/或子任务被用于遍及企业网络300的合作环境中。工程管理模块440向可再利用的基于任务的工程提供基于任务的工程管理工具。任务可在组织环境中被定义。工程管理模块440的基于任务的功能提供可使用户建立普通工程计划的多用途环境的任务。因为普通的基于任务的工程不依赖特定的资源,所以它们是可再利用的。为了支持合作,一旦被上传到主处理节点140,原始格式文件602-1-f就被工程管理模块440压缩并加密。转换的安全中性格式文件604-1-f对工程可用以进行合作。为了跟踪项目相关或合作相关的通信,工程管理模块440提供合作消息线程。工程相关项目被构成树形格式,其中在树中包括一个或多个相同类型对象的子项目相加生成组节点。
图17A是启动工程管理的应用程序框架348、349的一个实例的一个实施例的图形用户界面1700。如前面所讨论的,应用程序框架348、349可包括一个或多个导航框架352、一个或多个命令与控制框架354以及一个或多个工具栏框架356。控制模块318管理交互处理通信并同步导航框架352、命令与控制框架354以及工具栏框架356之间的事件。导航框架352可包括一个或多个消息线程。消息线程可包括位于第一或第二客户节点110-1、120-1的用户间的一个或多个消息节点386,用户启动消息和位于第一或第二客户节点110-1、120-1的回应启动消息的回应者。以讨论的序时顺序组织消息节点386。
在说明的实施例中,图形用户界面1700包括命令与控制框架354内的工程显示窗1710。在一个实施例中,图像显示窗1710包括任务名称标签1720、任务类型标签1722、原有事物、开始日期标签1724、持续时间标签1726、预期结束日期标签1728、承诺日期标签1730以及状态标签1732,这些标签中的每一个在被选择时,启动模块的执行。承诺日期部分包括多个与每个任务名相关的承诺特定按钮1734。选择承诺特定按钮1734显示与该任务相关的日历框1736并且指示当前日期1738和承诺日期1740。
导航框架352可包括程序、工程、过程、任务和/或子任务。命令与控制框架354可包括任务名称以及功能资源。导航框架352和命令与控制框架354可包括树节点以及分层树节点对象的树形控制。在一个实施例中,每个树节点都是用户可定义的和可扩展的。每个树节点包括图形化展示以及程序行为,诸如放大/最小化子节点、在导航框架352和/或命令与控制框架354中展示树节点内容、启动应用程序框架348、349之间的通信和/或启动/禁止工具栏框架356中的应用程序370、应用程序查看372和/或应用程序部件374。
在一个实施例中,包括EEC模块400、DRM模块500、CN模块600和DCM模块700的功能模块172使位于第一和第二客户节点110-1-a、120-1-b的用户可发布程序、工程、过程、任务、子任务和/或媒体信息。对于遍及扩展式企业300的所有授权功能资源,通过在应用程序框架348、349中选择发布标签可访问发布。在一个实施例中,发布包括向位于第一和第二客户节点110-1-a、120-1-b的一个或多个功能资源发送e-mail通知邀请他们参与到具体的程序、工程、过程、任务和/或子任务中。如果功能资源接受邀请,如果功能资源现在不拥有用户ID和密码,他们被提供用户标识(ID)号与密码。如果功能资源拥有用户ID和密码,用户ID和密码被更新以提供对资源被邀请参与的特定程序、工程、过程、任务和/或子任务的访问权限。对特定程序、工程、过程、任务和/或子任务的访问使功能资源可获得对与特定程序、工程、过程、任务和/或子任务相关的所有媒体信息的访问。在一个实施例中,这可包括对诸如例如安全中性格式文件604-1-f之类的设计文档的访问。在一个实施例中,资源可访问应用程序框架348、349、主处理节点140、主计算平台150资源以及其中所包含的一个或多个功能模块172。
工程管理模块440使位于第一和第二客户节点110-1-a、120-1-b的用户(例如功能资源)具有工程管理能力。工程管理能力可包括,但不局限于:(1)向功能资源指定任务;(2)识别任务作为其他任务的原有事物和/或后续事物;和/或(3)使功能资源可输入给定任务的开始日期、结束日期、任务持续时间、承诺日期以及状态。工程管理模块440还可包括自动地计算开始日期、结束日期和/或任务持续时间的能力以及导入/导出以诸如例如Microsoft
之类的多种文件格式配置的外部工程计划的能力。
图17B是用于显示与特定节目、工程、过程、任务和/或子任务相关的GANNT表1752的工程显示窗1710的一个实例的一个实施例的图形用户界面1750。根据该实施例,用户可将指示装置202定位于GANNT表上,并且应用程序框架348、349会使对话框1755出现。在一个实施例中,该对话框包括诸如例如承诺日期和负责完成任务的人员之类的关于特定任务的信息。
数字版权管理(DRM)模块500
图18是使得在安全合作环境中遍及扩展式企业网络300能进行合作会话的应用程序框架348、349的一个实例的一个实施例的图形用户界面1800。在一个实施例中,可利用包括嵌入的DRM模块500的应用程序框架348、349实现安全合作会话。在一个实施例中,DRM模块500可包括三个部件:(1)文档加密引擎、(2)被设计来查看文档的查看器以及(3)使查看器可以查看文档的密钥。如前面所讨论的,安全合作环境可包括利用DRM模块500来加密、鉴权、授权以及审查合作会话中参与者共享的媒体信息的内容。此外,遍及扩展式企业网络300,DRM模块500可提供媒体信息的安全传输、媒体信息的安全存储、发送者的鉴权、接收者的鉴权、授权、发送者非拒绝、原始媒体信息的防篡改、时间标记;跟踪以及存档参与者之间媒体信息的发送;受限的鉴定访问媒体信息的特权;以及媒体信息发送的审查跟踪。
在说明的实施例中,文档可包含媒体信息。文档安全功能由DRM模块500提供。图形用户界面1800表示安全媒体信息的一个实施例,安全媒体信息是诸如例如包括将要过期的具有512二进制密码安全保护的AEX/FIPS-197的设计文档1802。设计文档1802代表包括可用于原始地发布文档1802的组织(例如第一或第二客户节点110-1-a、120-1-b组织)之外合作的敏感机密和私有信息的任何文档。安全性被应用到这些文档以防止在程序、工程、过程、任务和/或子任务被完成和/或如果功能资源不被允许访问这样内容的时候非授权分发他们的机密和私有内容。对话框窗口1804表示文档1802禁止预定资源查看权限时的绝对过期日期1806。这样在过期日期1806之后,这些未授权用户将不再具有对文档1802的访问。
在一个实施例中,DRM模块500提供对诸如查看、打印和转发之类的所有文档1802权限的控制。在一个实施例中,在用户不再作为工程组的一员或供应商被取消或购买定单过期的情况下,DRM模块500可实时撤销文档1802权限。在一个实施例中,当文档1802的新版本或替代可以利用时,DRM模块500自动地通知和更新用户。在一个实施例中,DRM模块500提供在线和离线保护。在一个实施例中,DRM模块500预先通知用户文档1802接近订阅过期。在一个实施例中,为了突出文档被新版本替换,DRM模块500利用水印临时地撤销这类文档的访问或注释。在一个实施例中,DRM模块500提供对放置在服务器和台式计算机上的文档提供保护,无论它们是否连接到因特网。在一个实施例中,DRM模块500以预定的时间长度使得对文档进行访问和/或控制文档被特定用户查看的次数。
DRM模块500使得在合作与谈判系统100、300内发布媒体信息的功能资源(发布者)可以保护、控制、跟踪和审查被上传到主处理节点140的原始格式文件602-1-f和/或用于在遍及扩展式企业网络300中合作的安全中性格式文件604-1-f中的数字内容。在一个实施例中,DRM模块500对获许可用户限制对敏感文档电子拷贝的查看并防止这些文件被再发布或再分发给非用户。在一个实施例中,DRM模块500还通过为发布者识别所有试图查看非法分布拷贝的未授权用户以及所有非法转发文档的获许可用户来提供对任何非授权分发的粒度控制和跟踪。
在一个实施例中,即使当内容由获许可的用户转售和再分发时,DRM模块500确保发布者有效的一致性。在一个实施例中,DRM模块500管理在基于大量的订阅中和/或单个用户应用程序中可被查看和分发的拷贝数量。因此,DRM模块500使组织可以安全地共享诸如例如工程设计和商业文档之类的媒体信息并且在媒体信息上合作而不中断他们当前的商业过程。例如,经常发布者的文档被与其他文档一起打包,并继而转发给用户(例如被从买家发送到供应商的RFQ包,其中RFQ包包括绘图、材料规范以及过程规范)。利用DRM模块500,转发的用户一旦被授权访问文档就能够在给定的商业应用程序(例如RFQ包)内查看任何加密的文档。
在一个实施例中,DRM模块500捕获文档从发布者到接收者的分发路由,并且可提供对所有试图废除一致性的审查跟踪。在一个实施例中,DRM模块500在文档被查看的或打印的拷贝上加水印。在一个实施例中,DRM模块500利用美国政府高级加密标准(AES FIPS-197)对文档加密。
应用程序框架348、349可访问DRM模块500来提供安全的2-D和3-D工程和办公文档查看、合作以及XML数据输入能力。DRM模块500接受包括文档、图像以及诸如前面参考表1-5中实例讨论的文件格式之类的原始CAD格式的原始格式文件602-1-f。DRM模块500保护在遍及扩展式企业300的合作中使用的广阔范围的工程设计和办公文档格式(例如如表1-5的实例所示)。可利用DRM模块500保护安全中性格式文件604-1-f。安全中性格式文件604-1-f包括XML头部962,XML头部962包括元数据、高速缓存的许可以及文档路由标签,这三者(1)可被使用以遍及扩展式企业网络300跟踪安全中性格式文件604-1-f;以及(2)向位于第一和第二客户节点110-1-a、120-1-b的每个用户分配和/或撤销基于策略的许可。在一个实施例中,基于策略的许可包括例如打印、查看、发送和/或做标记的能力。因为这样的基于策略的许可被嵌入在安全中性格式文件604-1-f中,所以结合处理节点140的应用程序框架348、349能够不允许用户查看例如安全中性格式文件604-1-f,尽管用户具有对应用程序框架348、349的访问。例如,如果位于第一客户节点的供应商向两个不同的购买实体(买家1和买家2)供应项目。在一个实施例中,买家1与买家2是竞争者并且买家2终止供应商对买家2的媒体信息的查看许可,则仍然具有对应用程序框架348、349的访问(经买家1的授权)的供应商尽管其具有对应用程序349的访问,也不能够查看买家2的媒体信息。同样地,如果这样的媒体信息被供应商转发给买家1,买家2也不能够查看买家1的媒体信息,因为包含买家1的媒体信息的安全中性格式文件604-1-f不允许买家2查看买家1的安全中性格式文件604-1-f。
在一个实施例中,DRM模块500在安全中性格式文件604-1-f的XML头部962中插入文档路由标签。这个特征使发布者可精细地跟踪安全中性格式文件604-1-f文档在组织内部和遍及扩展式企业网络300的分发。在一个实施例中,DRM模块500插入嵌入在安全中性格式文件604-1-f的XML头部962中的发布者回指链接,其中每次在扩展式企业网络300中用户试图打开文档时,可成为主计算平台150一部分的发布者订阅服务器可以管理和跟踪文档的查看权限。在一个实施例中,发布者回指链接是与订阅服务器联合操作的并被嵌入在安全中性格式文件604-1-f中通过将非授权用户指向发布者站点以提供给非授权用户获得订阅机会的web链接。一个实施例提供非授权用户和现存的将文档转发给非授权用户的发布者的订阅者的顺从机制。在一个实施例中,DRM模块500提供批量订阅跟踪能力。在一个实施例中,批量订阅跟踪能力被实现为包含在安全中性格式文件604-1-f的加密的XML文件头部962中的订阅者查看器地址块。一个实施例通过分配许多授许可给组织的查看器模块420并随着每个查看器模块420被下载给用户减少号码来提供粒度订阅管理。一旦查看器计数达到零,通知发布者批量订阅已经被耗尽。
DRM模块500还提供通知订阅者关于任何文档改动或文档替代的修订通知。该修订通知特征在单独文档和文档被加入到成套信息包的时候都可起作用。该修订控制方法对在线和离线文档都起作用。在一个实施例中,DRM模块500提供安全中性格式文件604-1-f的修订通知。
在一个实施例中,DRM模块500利用具有512二进制密码的高级加密标准(AES)/FIPS-197来高度安全地保护文档。DRM模块500使得原始格式文件602-1-f以及安全中性格式文件604-1-f遍及扩展式企业网络300进行加密和安全分发。在一个实施例中,DRM模块500功能可利用
提供的.NET技术和Visual C++软件开发工具来实现。在一个实施例中,DRM模块500可利用嵌入在也由
提供的ASP.NET中的web展示框架来实现。在一个实施例中,利用例如Visual C++可将DRM模块500嵌入在查看器模块420中。此外,DRM模块500利用.NET XML Web服务与这里定义的其他功能模块172通信。
合作谈判模块600
在一个实施例中,上面说明的系统100、300以及由主处理节点140提供的诸如EEC模块400、诸如转换器模块410、查看器模块420、合作模块430以及工程管理模块440之类的子模块、DRM模块500、设计费用管理模块700(DCM)之类的功能模块172与应用程序框架348、349可与合作谈判模块600耦合来形成遍及扩展式企业网络100、300实现的合作谈判框架。合作谈判模块600使得由第一和第二客户节点110-1、120-1所代表的组织可使用主处理节点140来实现为总费用谈判处理诸如价格总量所有权、定购频率、交付期以及担保谈判之类的多种因素的总开销谈判技术。例如,在一个实施例中,合作谈判模块600可调节EEC模块400和DRM模块500的功能来向位于第一客户节点110-1的买家提供管理与他们全球分布的位于第二客户节点120-1-b的供应商的项目采购活动的安全合作环境。
利用传统的采购和/或拍卖工具,由于不能安全地遍及扩展式企业网络300分发对买家想要采购的项目说明的媒体信息,许多买家组织(买家)不能够公开地投标他们的总项目费用量。例如,只提供具有潜在节省的价格发现的传统的反拍卖不提供包括对给定花费量的总费用谈判的完整的采购解决方案。传统拍卖例如不说明源自买家/供应商关系的总操作费用。由于当前采购能力中的这些局限,买家只能投标他们年度可收缩小部分花费量。买家组织中的很多花费量不能被竞争报价,因为受限的供应基地、不能有效花费地和安全地分发对花费、竞争设计的私有属性和/或与现有供应商的长期关系进行说明的媒体信息。此外,买家没有充分地开发因特网或广域网技术在他们商业中管理采购功能的优点。因此,在一个实施例中,合作谈判模块600提供递送详细花费分析以及谈判工具的功能,使买家可评估他们更大部分的花费量并且与供应商组织(供应商)寻求高杠杆率机会。
在一个实施例中,合作谈判模块600可利用转换器模块410使买家和供应商设计与规范文档从原始格式(原始格式文件6021-f)转换为中性格式(安全中性格式文件604-1-f)。此外,DRM模块500增加了原始格式文件602-1-f和安全中性格式文件604-1-f电子交易的安全性,并且使买家和供应商可在安全扩展式企业网络100、300上进行合作。这样,支持多种RFQ、RFP和/或RFI(RFx)文档的设计和规范文档可在第一客户节点110-1(买家)与一个或多个第二客户节点120-1-b(供应商)之间安全地交换。一旦设计、规范和RFx文档(合起来由原始格式文件602-1-f代表)被上传到主处理节点140并被转换为带有嵌入的安全性的安全中性格式文件604-1-f,合作谈判模块600可从安全中性格式文件604-1-f中提取出元数据以自动地利用可适用的提取出的信息来组装RFx文档。此外,合作谈判模块600可处理提取出的元数据来自动地将工程项目与合适的该项目的供应基地匹配。例如,合作谈判模块600可提取诸如代表冲压部件的项目的厚度、长度、宽度和高度之类的元数据,并且自动地计算制造该项目所需的压力吨位。合作谈判模块600可继而利用吨位计算来减少投标参与者,只包括能够制造该项目的供应商。
合作谈判框架
在一个实施例中,合作谈判模块600提供框架来实现遍及扩展式企业网络300的合作谈判。合作谈判框架是使采购专员(例如买家)可设计定制合作格式的合作平台。为了提供不同的谈判实现,合作谈判框架的实施例使采购专员可从多种谈判参数以及谈判方法中进行选择。在一个实施例中,合作谈判平台提供获得预投标数据并自动将数据传送到实现系统的能力。在一个实施例中,合作谈判平台提供多变量有效谈判条款,其中供应商可投标,买家可根据价格和非价格相关的谈判条款授予合同。因此,合作谈判平台使供应商可在非价格相关的有效谈判条款以及总价格上区分开来以影响买家授予合同的决定。通常,在买家做出合同授予决定之前,电子竞争谈判需要多轮连续的投标。
图19是使得合作谈判事件进行项目投标的应用程序框架348、349的一个实例的一个实施例的图形用户界面1900。图形用户界面1900包括规范窗1902来显示项目细节1904、附加文档1906以及参与供应商1908。项目细节1904说明投标的项目。在谈判事件之前,可能有若干轮在买家和多种供应商之间的合作预投标数据信息收集以及交换。例如,买家可发布RFI、RFP、RFQ以及拍卖。这些文档以及诸如例如技术工程与制造规范之类的其它媒体信息被列表于附加的文档1906区。如前面所讨论的,这些文档可作为原始格式文件602-1-f被上传到它们被转换为中性文件格式的主处理节点140,并作为安全中性格式文件604-1-f遍及扩展式企业网络300被分发。在RFI阶段,买家可令供应商(投标者)提交信息来确定他们是否有资格提供要谈判的项目。在RFP阶段,买家确定每个潜在供应商的适宜性并定义买家出价。在RFQ阶段,买家具有预购买项目的整理视图,并定义谈判和购买的条件和条款。在价格谈判阶段,中心通常在价格和数量。此外,合作谈判模块600可从安全中性格式文件604-1-f中提取元数据来减少RFQ以及市场制造人力费用。
合作谈判框架的实施例利用价格和非价格有效谈判条款。合作谈判模块600将非价格有效谈判条款的影响货币化到投标出价的总费用值中。非价格有效谈判条款的货币化价值可以是固定或可变的,并且可在合作谈判事件任意时候被锁定。根据特定实施可利用附加的或更少的有效谈判条款。具体实施方式不限于本申请文件。
有效谈判条款指诸如“支付条款”、“交付时间”之类的以及这里其它说明的谈判的单一小单元。有效谈判条款可包括由公式处理随后作为货币因素进入投标价格(基准)来定义最佳出价的值。总费用价值是根据货币化有效谈判条款调整的基准价格。
例如,如果问题是购买的日用品随时间价格变化,买家的一个谈判对象可能是与供应商达成长期固定价格合同。如果问题是及时交付,买家的一个谈判对象可能是选择具有适应的交付时间的供应商。因此,诸如例如“条款”和“交付时间”之类的非价格有效因素条款可对谈判的总费用价格有相当大的影响,而不是仅仅底线投标价格。
有效谈判条款可被分为两个类别。将非价格因素转换为经济影响的条款与具有可被谈判对象优化的结果的条款。可从包含有共同谈判条款和可由买家定义的定制谈判条款的库中选择有效谈判条款。定制有效谈判条款可被供应商在预定义域提交以提出他们的投标。公式将这些定制有效条款转换为他们到总费用值中的经济影响。
图20是位于买家一侧客户节点110-1计算机310上查看的应用程序框架348的一个实例的一个实施例的图形用户界面2000。因此,谈判窗2002被显示在买家一侧客户节点110-1计算机310上。谈判窗2002内提供有市场窗2004。在买家一侧,市场窗2004显示所有参与到谈判事件的供应商的投标地位。在说明的实施例中,市场窗2004显示在被称为“Lot 4 Housings”的项目的谈判事件中投标的四个供应商2006-1-4(从左到右)之间的地位。市场窗2004还显示这里被称为基准投标的当前报价2008-1以及在谈判事件中使用的有效谈判条款2008-2-8(价格与非价格因素)。如图所示,有效谈判条款2008-2-8包括:质量系统资格2008-2、交付时间2008-3、支付条款2008-4、损坏2008-5、加工2008-6、固定2008-7以及塑料成型资格2008-8。根据先前提交的由每个供应商2006-1-4输入的问询,为质量系统资格2008-2和塑料成型资格2008-8提供有分数2010。其它有效谈判条款可以例如美元(USD)指定货币化的值2012。为每个供应商2006-1-4提供总分2014以及总费用2016。当前报价2008-1将历史费用2018与由每个供应商2006-1-4输入的投标价格相比较。在一个实施例中,历史费用可代表例如买家当前为投标项目支付的价格。
如图所示,可关于当前报价2008-1-1基准价格$ 302,389以及有效谈判条款支付条款2008-4($ 1,252)以及$ 30,239的损坏2008-5来分析供应商2006-1投标。当考虑有效谈判条款(2008-4、2008-5)时,由供应商2006-1提交的投标的总费用值2016-1是$331,376,大于当前报价2008-1基准价格$ 302,389。类似的分析应用于供应商2006-3得到当前报价2008-1-3基准价格$ 256,331以及$ 280,904的总费用值2016-3。类似的,供应商2006-4提交当前报价2008-1-4基准价格$ 278,409,转换为总费用值2016-4是$304,402。
可根据$ 309,151的当前报价基准价格2008-1-2以及诸如质量系统资格2008-2得分52、$ 733的交付时间2008-3、($ 1,279)支付条款2008-4、$ 30,915的损坏因素2008-5和塑料成型资格2008-8得分95之类的有效谈判条款来分析供应商2006-2提交的投标。当考虑有效谈判条款(2008-1-5和2008-8)时,由供应商2006-2提交的投标总费用值2016-2为$ 339,519,大于当前报价基准价格$309,151。
在说明的实施例中,买家选择反拍卖2020谈判方法。其它电子便利谈判方法可包括例如,RFQ合作、原始报价、反拍卖、商业分离、前向拍卖、荷兰式拍卖、英格兰拍卖、多属性拍卖、买卖差价、运输、供应商批量、以及其它谈判方法。尽管可利用这些谈判格式来实现费用节约,但是仅仅为组织的少数大宗购买而使用电子谈判方法。一个局限是合同是根据投标基准价格一项来授予,因为这些谈判方法通常不考虑有效谈判条款。
在合作谈判框架的说明的实施例中,供应商可以根据诸如当前报价2008-1;诸如交付时间2008-3、支付2008-4、损坏2008-5、加工2008-6、固定2008-7之类的客观有效谈判条款2008-2;以及诸如质量系统资格2008-2和塑料成型资格2008-8之类的主观有效谈判条款之类的价格区分他们的报价。因此,有效谈判条款2008-2-8依照这里说明的实施例使供应商2006-1-4影响买家对仅高于投标基准价格的决定。这项技术还减少了由用户根据有效谈判条款选择供应商的投标后分析的必要。
这里说明的有效谈判条款2008仅作为实例列出。可不受限制地存在附加的、更少的或不同的有效合作项目。具体实施方式不限于本申请文件。
图21是位于买家一侧客户节点110-1计算机310上查看的应用程序框架348的一个实例的一个实施例的图形用户界面2100,其当前报价2008-1字段被展开。在一个实施例中,当前报价2008-1字段可包括下列子字段:初始投标2102、与初始投标差额(delta)2104、与历史投标差额(delta)2106、根据当前报价2008-1的投标者排名2108以及根据总费用2016报价的投标者排名2110等。如图所示,投标者2006-3建立了关于当前报价2008-3-1基准价格$ 256,331以及$ 280,904的总费用值2016-3的市场领先。投标者2006-4以当前报价2008-1-4基准价格$ 258,921以及$ 283,827的总费用值2016-4排名第二。投标者2006-1以当前报价2008-1-1基准价格$302,389以及$ 331,376的总费用值2016-1排名第三。投标者2006-2以当前报价2008-1-2基准价格$ 309,151以及$ 339,519的总费用值2016-2排名第四。当前报价2008-1子字段仅被作为实例列出。可以有附加的、更少的或不同的子字段而不受限制。具体实施方式不限于本申请文件。
图22是位于买家一侧客户节点110-1计算机310上查看的应用程序框架348的一个实例的一个实施例的图形用户界面2200,其塑料成型资格2008-8字段被展开。塑料成型资格2008-8是影响每个投标者2006-1-4的总费用值2006-1-4的主观有效谈判条款。塑料成型资格2008-8字段包括若干子字段,子字段包括对于每个供应商2006-1-4关于他们提供例如塑料定型的资格的询问。在合作谈判事件之前,每个供应商2006-1-4提交询问的回答。根据给定的回答指定分数。在一个实施例中,例如子字段询问可包括子字段2202询问:“你是否支持热无浇道冲模?”;子字段2204询问:“你是否有仓树脂材料处理?”;子字段2206询问:“你的平均模板尺寸是多少?”;子字段2208询问:“你的压力能力以吨计是多少?”;子字段2210询问:“你能否生产单壁注塑成型?”。一旦供应商2006-1-4提交了对询问的回答,根据回答计算出分数。如图所示,供应商2006-1得到60分的分数2212-1,供应商2006-2得到43分的分数2212-2,供应商2006-3得到41分的分数2212-3,供应商2006-4得到0分的分数2212-4。这些询问仅作为实例被列出。可以有附加的、更少的或不同的询问提交给投标者2006-1-4而不受限制。具体实施方式不限于本申请文件。
图23是位于买家一侧客户节点110-1计算机310上查看的应用程序框架348的一个实例的一个实施例的图形用户界面2200,其支付2008-4字段和固定2008-7字段被展开。支付2008-4字段和固定2008-7字段是对由每个供应商2006-1-4提交的报价的总费用值2016-1-4产生影响的非价格客观有效合作条款。如图所示,支付2008-4包括折扣2302子字段和支付天数2304(例如如果在天数内支付则应用折扣)子字段。对折扣2302的回答是按照百分比而对支付天数2304的回答是按照天。百分比折扣2302具有对总费用值直接的影响,而支付天数2304是根据反映金钱时间费用的金钱的净现值。这个有效谈判条款可以不同的方式影响买家和每个供应商2006-1-4。例如金钱的净现值对于每个买家和供应商2006-1-4是不同的。固定2008-7包括固定费用2306、分期2308、分期优先2310、分期单元2312、固定排列项费用2314、时间周期2316、周期单元2318、保持费用2320、供应商年度资金费用2322以及向供应商支付2324子字段。对支付2008-4子字段2302和2304以及固定2008-7子字段2306-2324的每个询问的回答可由每个供应商2006-1-4在谈判事件之前提供。回答形成有效合作条款的部分并影响每个投标的总费用值2016-1-4。这些询问仅作为实例列出。可存在由买家向供应商提交的附加的、更少的或不同的询问而不受限制。具体实施方式不限于本申请文件。
图24是位于买家一侧客户节点110-1计算机310上查看的应用程序框架348的一个实例的一个实施例的图形用户界面2200,其质量系统资格2008-2字段被展开。质量系统资格2008-2是对由每个供应商2006-1-4提交的投标的总费用值2016-1-4产生影响的非价格主观有效谈判条款。如图所示,质量系统资格2008-2包括若干关于供应商2006-1-4的质量能力的询问。子字段2402包括询问“你是否遵守备有证明文件的质量系统?”子字段2404包括询问“你是否具有材料可跟踪能力?”子字段2406包括询问“你是否保持检查和测试纪录?”子字段2408包括询问“你是否拥有量具校准系统?”子字段2410包括询问“你是否有文档控制系统?”子字段2412包括询问“你是否有管理不合格材料的过程?”对每个询问的回答可由每个供应商2006-1-4在谈判事件前提供,并且每个都影响他们投标的总费用值2016-1-4。这些询问仅作为实例列出。可存在由买家向供应商提交的附加的、更少的或不同的询问而不受限制。具体实施方式不限于本申请文件。
图25是位于供应商(投标者)一侧客户节点120-1计算机320上查看的应用程序框架349的一个实例的一个实施例的图形用户界面2500。在谈判窗2502中提供市场窗2504。在供应商一侧,市场窗2504只表示提交投标的供应商2006-1的投标地位。除了与其他供应商2006-2、2006-3、2006-4相关的参与到谈判事件中的供应商的市场地位以外,其他投标的信息不被显示。供应商一侧的市场窗2504显示供应商2006-1的供应商谈判参数2508。供应商谈判参数2508以关于由其他供应商2006-2、2006-3、2006-4提交的投标从市场领先到市场落后的顺序排列。
市场窗2504还显示反馈组件2510来指示与相对于该谈判事件的市场的供应商2006-1的市场地位。市场领先差距2512提供给供应商2006-1关于他的投标领先或落后市场的真实量的指示。显示根据主观有效谈判条款2008-2-8的加权分数2514。同时还对供应商2006-1显示对投标2516总的影响。在说明的实例中,供应商2006-1关于加工领先市场$ 83.07。关于固定2508-7,供应商2006-1与市场持平。关于支付2508-4,供应商落后市场($ 6,653.00)。关于交付时间2508-3,供应商落后市场($ 733.25)。关于损坏,供应商落后市场($ 25,376.81)。关于基准投标2508-1,供应商落后市场($ 93,877.65)。关于塑料成型资格2508-8,供应商具有70.75分的加权得分2514。最后,关于质量系统资格2508-2,供应商2006-1得到加权得分77.33。关于市场领先差距的总报价2518与总的加权得分2520以及对基准投标的总影响2522一起显示。对于每个供应商谈判参数2508显示对基准投标2516的影响。如果供应商谈判参数2508被修改,则关于供应商谈判参数2508的影响的反馈被提供给供应商2006-1。投标者2006-1还可修改每个供应商谈判参数2508的值,并在通过选择竞投按钮2524来真正将修改提交到市场之前立刻看到它对基准投标的影响。
在一个实施例中,合作谈判模块600根据任何先前由供应商2006-1提供给买家的任何单独供应商谈判参数2508,向供应商2006-1(例如供应商)提供反馈机制。在投标被提交后(投标基准2508-1),合作谈判模块600根据在由供应商2006-1提交的供应商谈判参数2508上操作的有效谈判参数2008来调整投标。供应商2006-1接收相对于最近提交的供应商谈判参数2508的调整的投标的反馈。在一个实施例中,合作谈判框架向供应商2006-1显示它的公式并向供应商2006-1提供根据对供应商2006-1的费用结构以及费用影响来调整供应商谈判参数2508的机会。反馈可以在计算机320上显示的形式显示供应商(投标者)相对于市场领先调整的投标位置的市场地位、价格影响以及市场平衡。
市场位置反馈告知供应商2006-1根据供应商谈判参数2508他相对于其他投标者2006-2、2006-3、2006-4的市场地位。在一个实施例中,反馈机制包括图形用户界面组件2510来向供应商2006-1指示根据供应商谈判参数2005调整的基准投标报价。可用基于颜色、图标、图形、声音和/或其组合的组件2510指示供应商2006-1。在一个实施例中,例如,领先供应商将看到与落后供应商不同的组件2510的表现。例如,领先投标者可看到绿色组件2510,指示投标者具有对供应商谈判参数最大的费用影响而其他供应商根据他们关于供应商谈判参数的相对位置看到多种其他颜色的组件。例如,落后投标者可看到不同颜色(例如红色)的组件2510,指示他们不具有在那个单独因素的最佳报价。可为每个供应商谈判参数2508提供一个组件。具体实施方式不限于本申请文件。
对投标2516的价格影响反馈是查看每个单独的供应商谈判参数2508对他的基准投标的货币化影响的能力。对投标2516的价格影响反馈可辅助供应商2006-1以对基准报价的总费用值2518产生最大影响的方式来修改他们的投标或修改一个或多个供应商谈判参数2508。
在一个实施例中,合作谈判模块600可包括曲线图形式的市场平衡反馈。在一个实施例中,曲线图的一维可包含费用影响,而其他N维可包含供应商谈判参数。绘制出两条线;一条线显示对总报价的费用影响而另一条表示对提供总报价的投标者的费用影响。这向投标者显示了在投标者的和/或买家自己的限制下能够为买家提供最大影响的最佳条款。
在一个实施例中,合作谈判模块600向供应商2006-1-4提供管理遍及扩展式企业300的实时谈判的工具。在一个实施例中,这些工具包括:供应商费用;投标测试;客观中心;以及计算透明度。供应商费用工具向供应商2006-1提供实时查看改变供应商谈判参数2508对提供供应商参数2508的供应商2006-11费用的费用影响的能力。投标者2006-1还可查看从买家角度改变任何一个供应商谈判参数2508的影响。
供应商2006-1可在向市场提交投标之前在客户计算机320上准备本地投标。投标测试工具将本地投标与作市场提交的投标作比较。投标测试工具使供应商2006-1能够在谈判时间期间提交该投标之前修改基准或修改任何一个供应商谈判参数2005来查看修改相对于市场对总费用值2518的影响。供应商2006-1选择竞投按钮2524来向市场提交本地投标。当本地投标被传送到买家时,投标的影响可被例如其他供应商2006-2-4以及买家查看。
合作谈判模块600使供应商2006-1能够自动地根据在供应商2006-1报价与列表上方所示的市场之间具有最大影响差异的那些参数来将所有供应商参数2508分类。这使供应商2006-1能够专注于最有机会缩小市场领先差距2512的谈判参数。
合作谈判模块600使供应商2006-1能够查看用于计算单独供应商谈判参数2508对总费用值2518影响的准确公式。
在一个实施例中,合作谈判模块600可启用多种可互换的谈判方法。可互换谈判方法提供在框架中和框架外改变谈判方法而同时保持所有其他组件不变的能力。在一个实施例中,合作谈判模块600可被布置来提供能够处理任何谈判格式的可互换的体系结构,并且来提供所有谈判格式的标准化输出。在一个实施例中,投标被按照最好到最差的顺序排名,某些投标可被标记为处于“胜利”位置。在反拍卖谈判中,最低价被放置在列表的上方并被标记为胜利者。在商业分离谈判中可能有多个胜利者。合作谈判模块600谈判模板提供给买家创建他们自己的谈判格式并将它们存储在可再利用库中的能力。
图26用于显示位于买家一侧客户节点110-1计算机310以及供应商一侧客户节点计算机320所查看实况拍卖的应用程序框架348的一个实例的一个实施例的图形用户界面2600。显示窗2602表示随着在谈判事件中投标的五个参与供应商2608-1、2608-2、2608-3、2608-4以及2608-5输入投标近似实时地显示投标2604(以美元计)对时间2606的关系。显示窗2602可被所有位于例如各个第二客户节点120-1-5的在谈判事件中投标的所有参与的供应商2608-1、2608-2、2608-3、2608-4以及2608-5查看,也可被位于例如第一客户节点110-1的买家所查看。在说明的实施例中,随着投标2604随时间2606的流逝被提交,投标量具有下降的趋势2610。在拍卖期间的任何时间,在方框2612中可显示汇总信息。在一个实施例中,方框2612确定中标者2606-1、投标量、基准以及诸如例如损坏、支付条款以及交付时间之类的供应商谈判参数。在一个实施例中,合作谈判模块600可被配置为在买家和/或供应商客户节点计算机310、320上重放拍卖事件。
图27是合作谈判框架2700的一个实施例的方框图。在一个实施例中,合作谈判框架2700包括可互换的部件。这些部件包括用户界面(UI)2710、合作引擎2720、市场执行协调器2730以及持续管理器2740。合作谈判框架2700提供实现定制谈判的谈判框架。在一个实施例中,合作谈判框架2700使得有效谈判条款实现,其中对合同授予决定有关的所有的有效谈判条款都可被货币化。这个实现可减少主观分析,提供对供应基地的立即反馈并且在标准化的价格谈判中提供合适的比较。在一个实施例中,合作谈判框架2700提供可扩展的框架来构造定制的参数化的谈判,将包括投标价格与非价格有效谈判条款的谈判的多种方面以实时或异步的方式结合。在一个实施例中,合作谈判框架2700提供运行独立于价格谈判方法、非价格有效谈判条款和用户界面的可再利用的、普通的以及分发的负载平衡的谈判框架。
在一个实施例中,UI 2710包括用于有效谈判条款2722的UI部件2712、用于谈判对象2724的UI部件2714以及UI激活框架2716。UI 2710显示对谈判引擎2720的输入并且显示来自谈判引擎2720的输出。UI 2710向终端用户(例如供应商/投标者、买家)展示谈判的市场状态并且提供操作有效谈判条款2722的资源以及它们是如何与市场相关的。UI 2710与谈判引擎2720和市场执行协调器2730进行交互。UI 2710包括可视化部件来支持谈判引擎2720。在一个实施例中,UI激活框架2716是可以在任何标准web浏览器中运行的丰富客户端应用程序。UI 2710调用对等调度程序来为正在被访问的投标装载谈判引擎2720。
在一个实施例中,谈判引擎2720包括一个或多个有效谈判条款2722以及谈判对象2724并且在给定的谈判事件中,处理一个或多个谈判轮2726以及谈判批次2728。UI 2710包括用于所有有效谈判条款2722和谈判对象2724的可视化部件。谈判引擎2720接收输入数据,对其执行计算并且返回有利的作为目标的市场定位信息。在一个实施例中,谈判引擎2720将投标处理为根据他们当前市场位置的有序的整齐的供应商列表。它接收买家和供应商谈判参数以及投标基准调整并且执行投标特定计算来获得结果。有效谈判条款2722操作在一个或多个谈判条款上,诸如例如如果投标者改变了一个改变可影响其他条款的谈判条款。有效谈判条款2722计算并返回将被优化的结果。谈判对象2724以它们被从投标者接收的预定的顺序执行有效谈判条款2722,并且相对于当前市场位置对所有投标者排序。无论投标事件是在线的和/或离线的事件并可离线重放,谈判引擎2720同样执行并产生相同的结果。
在一个实施例中,有效谈判条款2722产生可再利用的组件,其中包含计算数值的公式以使得买家可以实时地看到谈判的最佳报价。这项技术使买家可以理解与每个投标者相关的总费用值并且同时使投标者看到因素如何影响他们投标的总费用值。要求供应商回答的RFI、RFP或RFQ中的每个项目具有与该类型项目相关的模型化的谈判因素。每个有效谈判条款2722具有定义的买家与供应商谈判因素参数组并计算这些参数输入为对谈判的价格部分的投标基准的货币化的影响。将RFI、RFP和RFQ输入标准化为对价格投标基准的货币化影响为买家做出有效的合同授予决定提供客观的分析。同样,之前投标轮的客观分析可被作为对后续谈判轮的分析的输入。
有效谈判条款2722可被分组为对基准的货币化影响以及关于其他谈判条款的需求。在一个实施例中,在对基准的货币化影响步骤中,货币化计算可被分为定量的和定性的条款。定量的有效谈判条款可被轻易地考虑,因为有与这种类型组件相关的明确的可定量的费用。诸如风险之类的定性有效谈判条款具有系统化的公式来确定每种类型风险的值。这些计算说明被除以其出现概率的风险事件发生的费用。定量的有效谈判条款可包括折扣条款(例如在给定时间内支付所给予的折扣)与质量(例如非标准产品的比例)。这种类型的有效谈判条款具有与了解它们的金钱费用影响相关的一组公式。
有效谈判条款2722建立定量与定性谈判条款与投标基准的联系。这提供了在根据标准化格式的谈判结果做出合同授予决定时考虑到所有谈判条款的灵活性。通过标准化定量和定性的谈判条款,买家可以给供应商关于谈判因素如何影响买家决定的更好和更多的直接反馈。
定量的谈判条款包括:(1)数量折扣;(2)标准条款及条件;(3)质量;(4)担保;(5)最终期限;(6)位置;(7)定价方法;(8)性能规范;(9)与供应商先前的关系;(10)逾期费;(11)损坏;(12)预付款(例如部分的和下降的付款);(13)加工;(14)固定;以及(15)交货详细目录。可有附加的或更少的定量谈判因素。具体实施方式不限于本申请文件。
定性的谈判条款包括:(1)最优地在供应基地之中分配交易;(2)交付时间,要求;(3)配额限制;(4)客户服务;(5)小批量到大批量;(6)单独的供应商分离交易;(7)以及少数/DBE公司。可存在附加的或更少的定性谈判因素。具体实施方式不限于本申请文件。
定性谈判条款更难在费用条款中概念化。然而,定性谈判条款可被根据它们对买家的重要性或对供应商的不便来货币化。定性谈判因素的一个实例是转换供应商的风险。为国内的新供应商与国外的新供应商分配不同的风险谈判因素。一种风险被货币化的方式是将风险与不希望事件发生的费用除以可能发生的百分比机会(或概率)关联。
在一个实施例中,有效谈判条款2722支持可定制的条款以定义定制的谈判参数以及在这些定制参数上操作的公式。这样,任何希望的参数都可对谈判产生影响。合作谈判框架2700灵活的体系结构使买家可以设计具有被合适权重加入谈判过程的特定有效谈判条款的定制的谈判。定性的风险谈判条款包括:(1)金融耐久性;(2)运输延迟;以及(3)与供应商之前的关系。可存在附加的或更少的定性风险谈判因素。具体实施方式不限于本申请文件。
在谈判过程中,有效的谈判条款之间可存在相关性,其中某些有效谈判条款可影响其他有效谈判条款或可需要某些将定义的有效谈判条款的出现。例如,如果确定了供应商未能提供所需的费用,并且存在从这种情况发生的概率增加或减少的其他有效谈判条款,那么这些其他有效谈判条款可彼此影响并且彼此依赖。例如,地理、质量处理以及责任是影响有效谈判因素的全部三个风险。如果地理是存在5%的归因于交付失败机会的有危险的地区,而使用的质量处理是ISO9002(例如-5%归因于交付失败机会)并且供应商不对随后的总体负责(10%归因于交付失败机会),那么总体供应商交付失败的概率是10%。买家输入表示供应商能够交付的费用的数值,并且总的货币化数值被推断出。
谈判对象2724调整有效谈判条款2722的执行并且将投标供应商排序。为每个将产生的新的谈判格式扩展谈判对象2724,例如基于分配的项目、交易分离、反拍卖以及其他。
在位于主处理节点140的服务器上执行有效谈判条款2722或仅被定义为合作服务器的谈判对象2724。
在一个实施例中,市场执行协调器2730包括执行框架2732。市场执行协调器2730在谈判引擎2720实例之间通信以产生市场状态。因为在第一和第二客户节点110-1-a、120-1-b上以及在位于主处理节点140上的投标服务器上可能有许多谈判引擎2720的运行实例,市场执行协调器2730以合适的顺序执行完整的投标并且向所有谈判引擎2720的运行实例通信。市场执行协调器2730确保所有的计算具有完整性并且被执行在最佳可用计算机上。
在一个实施例中,市场执行协调器2730管理谈判对象2724的移动和执行以及有效谈判条款2722参数。当用户准备投标时,它被执行在它的本地客户计算机310、320上。当用户向市场提交投标时,投标数据被发送给任何一个web服务器160-1-c,被提取摘要并被发送到最小负载的投标服务器(即负载平衡)。该投标服务器执行投标并将它提交回到web服务器160-1-c。投标结果从web服务器160-1-c被送回客户计算机310、320以显示谈判市场平衡的变化。
在一个实施例中,持续管理器2740包括关系数据库管理系统(RDBMS)层2742和XML层2744。持续管理器2740是用来遍及合作谈判框架2700系统装载和保存买家和供应商参数与数据的存储提取部件。可存在两种普通持续管理器2740的实现,一种写入SQL服务器数据库,另一种产生被保存在位于每个供应商投标客户端的本地磁盘以及买家投标控制台中的XML数据。持续管理器2740存储执行运行时的所有部分的状态并将它们从这种持续状态中恢复出来。该提取层使市场执行协调器2730能够请求对谈判引擎2720的状态的存储并且继而在晚些时候市场执行协调器2730能够恢复处于该状态内的谈判引擎2720的状态。需要两个持续管理器来确保谈判的状态可被保存在第一和第二客户节点110-1-a、120-1-b以准备离线投标或位于主处理节点的服务器一侧以在线投标。
在操作中,谈判引擎2720接收根据由买家定义的买家谈判参数以及由供应商为创造投标而定义的供应商谈判参数的输入谈判参数。谈判引擎2720继而将该投标与市场中其他竞争的投标比较来返回根据它们投标的供应商排名的有序列表。该列表可按照最具竞争性到最不具竞争性投标的顺序,并且可按照当前在最优或“胜利”设置的投标者被标记。
谈判引擎2720执行有效谈判条款2722并且对市场中展现给它的所有投标进行投标排名逻辑。为了便于投标和有效谈判条款2722的可伸缩的分布式处理,对谈判引擎2720的多种实例进行协调。
图28是根据合作谈判框架2700的合作谈判事件2800的一个实施例的示图。合作谈判事件2800示图说明不同谈判部件的协调。在一个实施例中,谈判部件可包括一个或多个供应商谈判客户端的实例2810、2820、一个或多个买家谈判控制台2820-1-q(q可为任意数字)以及可被要求以支持谈判投标量的一个或多个谈判引擎2720-1-r(r可为任意数字)的实例。部件与市场执行协调器2730通信。在说明的实施例中,市场执行协调器2730同步谈判引擎2720-1-r的不同实例。
在说明的实施例中,在供应商谈判客户端2810的第一实例中,投标者-1输入谈判事件2800的第一投标。供应商谈判客户端2810的投标者-1实例计算有效谈判条款2722对投标基准的影响并确定总费用值。根据总费用值以及根据谈判实践选择的一组谈判规则接受或拒绝投标。如果投标被接受,因为此时没有其他投标,来自投标者-1的投标建立市场领先地位。来自投标者-1的投标以及来自有效谈判条款2722计算的结果被发送2812到市场执行协调器2730。市场执行协调器2730将要执行的工作传给执行框架2732。执行框架2732提供对谈判引擎2720-1实例的关于基准/调整的基准的输入值,并且然后谈判引擎2720-1实例建立初始的市场地位。根据买家/供应商谈判参数,市场谈判地位信息被发送2814给被选择的供应商谈判客户端2810、2820以及买家谈判控制台2830-1-q。执行框架2732通过持续管理器2740记录由投标者-1提交的第一投标的结果。
供应商谈判客户端2810、2820以及买家谈判控制台2830-1-q被更新以包括计算出的迄今由投标者-1提交的投标的总费用值。然后,投标者-2递交2816他的第一投标。谈判引擎2720-1的实例计算总费用值并确定相对于先前投标的新的市场地位。与新市场地位相关的信息被继而发送2818到所有的供应商谈判客户端2810、2820以及买家谈判控制台2830-1-q。
当投标者提交第二投标时,谈判引擎2720-1的实例首先确定是否该投标与之前由同一投标者提交的投标相比产生市场优势。如果为否,该投标被拒绝。如果该投标产生对先前投标的市场优势,那么当前投标被按照先前说明的方法处理。例如,谈判引擎2720-1的实例计算与当前投标相关的总费用值并确定相对于先前头标的新市场地位。与新市场地位相关的信息被继而发送2822到所有供应商谈判客户端2810、2820以及买家谈判控制台2830-1-q等。
图29是有效谈判条款2722-1-s(s可为任意数字)的结构以及它们与总费用值2920关系的一个实施例的示图2900。在一个实施例中,每个有效谈判条款2722-1-s包括基准公式2902、一个或多个谈判参数2922以及一个或多个定量或定性的谈判条款依赖性2908。在一个实施例中,谈判参数2922可包括一个或多个买家谈判参数2904以及一个或多个供应商谈判参数2906。有效谈判条款依赖性2908是特定有效谈判条款2722-1-s所依赖的谈判参数的集合。谈判对象2724处理每个有效谈判条款2722-1-s来获得修改基准投标2912的货币化数值2910-1-s并获得总费用值2920。谈判对象2724实施对有效谈判条款2722-1-s的限制。在操作中,谈判对象2724询问有效谈判条款2722-1-s并确定他们是否具有有效状态,实施与全局对局部参数相关的范围规则,并且在有效谈判条款2722-1-s与谈判参数2922之间跟踪所有权。在一个实施例中,有效谈判条款2722-1-s保持和实施其中存储或操作的谈判参数2922的状态信息。
谈判参数2922支持:可编辑状态、锁定状态、全局对局部状态、因素所有者状态以及限制。可编辑状态性质管理谈判参数2922可被操作的状态。在一个实施例中,可存在建立和运行时供应商与买家状态。如果谈判参数2922可在当前环境中被更新,锁定状态性质被设定。内部地,有效谈判条款2722-1-s可记录谈判参数2922被更改的日期和时间以跟踪操作谈判参数2922的实体的用户-ID。谈判参数2922可被定义以与其他有效谈判条款2722-1-s被共享或者可被明确地保留与特定的有效谈判条款2722-1-s使用。
下列的定量有效谈判条款2722-1实例说明与区分买家和供应商参数以确定货币化费用相关的参数化。例如,与投标相关的有效谈判条款2722的两个谈判参数2922可包括“折扣”和“付款期限”诸如例如,如果买家在货到30天内付款,则供应商给予买家在基准上1%的折扣。这两个供应商参数到货币化费用的转换与买家和供应商有关,因为对于每个实体资金费用可能不同。例如,对买家的资金费用可能是每月0.15%,然而供应商不跟踪取决于其规模的资金费用。从这样的观点来看,买家可实现被授予给供应商的在市场中地位上的优势,而供应商可能看不到在他的投标费用上的影响。
下列是如果买家在30天内付款则有效谈判条款2722打1%折扣给予买家,基准2912投标$ 1,000,000的买家总费用值2920的实例。总费用值2920符合买家的基准2912的净现值减去供应商的1%折扣。在这个实例中,“基准”2912是$ 1,000,000。如果“付款期限”30天,供应商参数2906是1%“折扣”。“付款(折扣后)=基准 x (1-折扣)”并且总费用值2920是“买家的净现值”,其符合“付款(折扣后)/买家30天的现金费用”。
图30是谈判对象2724与有效谈判条款2722、基准3010、谈判反馈滤波器3012以及市场结果3014之间关系的一个实施例的示图3000。谈判对象2724以预定的顺序协调有效谈判条款2722合适的执行并计算市场地位。市场结果3014可以是谈判对象2724的主要输出。在一个实施例中,这可以是以排名顺序的投标输出的集合。在一个实施例中,每个投标输出包括代表供应商投标提交的复合投标(包括投标基准3010以及有效投标条款2722)的投标目标2724、定义相对于其他投标的投标输出的排名顺序的数字、投标者公司名称、投标者全球唯一标识符(GUID)以及定义投标是否是市场领先投标的标志(例如在反拍卖中,仅有一个市场领先投标,但正如在许多其他谈判格式中的,在交易分离中,可存在多个领先投标)。
谈判反馈滤波器3012操作市场结果3014并返回适当地反映什么反馈应该被提供给供应商谈判客户端2810、2820的市场结果3014对象的被处理版本。每个谈判反馈滤波器3012能够根据市场反馈规则将市场结果数据转换为符合所选择的谈判格式。谈判对象2724保持能够被以“雏菊花环”的方式执行的滤波器的集合,逐渐地滤波数据以符合选择的市场反馈规则。
图31是在谈判轮3100中执行框架2732的一个实施例的图。谈判引擎2720计算一组设定的有效谈判条款2722并且定义市场地位。执行框架2732同步谈判引擎2720-1的实例,控制谈判引擎操作什么数值,提供向谈判引擎2720关于基准3010(或根据有效谈判条款调整的基准)的输入值,并且确保在将结果转发给其他供应商谈判客户端2810、2820以及买家谈判控制台2830-1-q之前被谈判引擎2720执行先行计算。
谈判轮3100具有与谈判对象2724一对一的关系。谈判轮3100控制谈判基于时间的方面。根据交易操作的范围,不同地定义基准。基准开始于单独的项目3110。批次基准3120是项目基准3110的集合。事件基准3130是批次基准3120的集合。
下面是谈判事件执行RFI、RFP、RFQ以及相对于合作谈判框架2800的价格谈判的说明。由于希望支持谈判的全部合作步骤,从体系结构上,合作谈判框架2800与传统的采购过程不同。通常,按照鉴别合适的供应商的RFI、理解供应商报价的RFP、RFQ(请求的正式定义)以及价格谈判来建立谈判。在合作谈判框架2800下,从应用程序的观点这些领域是模糊的,但仍然可以被终端用户利用这些术语来定义。
在谈判的RFI部分中,询问关于供应商能力的试探性问题,其中一些可包括或排除供应商而其他供应商证明提供买家寻找的东西的能力。包含的或排除的问题限制了在RFP轮内的适用性,因为不能够满足这些要求的供应商可从RFP轮中排除。那些证明能力的供应商可影响RFP轮。
RFI项目的实例可包括质量过程。如果买家组织严格要求供应商组织必须被保证质量过程,则它可被包括在RFI轮中。一些供应商因为比其他供应商更好的过程而被保证,并且因素同样地影响买家组织在RFP、价格谈判以及谈判的授予部分中的决定。在供应商组织提供回答和提议以将自己的报价与其他报价加以区分的RFP轮中,这个问题被给予较大的权重。因此,谈判执行框架2732在体系结构上感觉不到通常被定义为RFI、RFP、RFQ或价格谈判之间的任何差异。谈判的这些部分的每一个可被视为轮3100。
图32是合作谈判流程的一个实施例的示图3200。谈判轮3100可在谈判事件级别3130和批次级别3120内定义。在谈判事件级别3130,视需要可加入多轮来达到希望的谈判结果。例如诸如RFI、RFP、RFQ之类的谈判方法。在批次级别3120上定义的轮可自动地继承谈判事件级别3130轮的属性以及计算执行。
在分支级别轮结束后,在子分支上可计算排名顺序。例如,可执行包括排名顺序计算前置事件第1轮3210。当前置事件第2轮3212被执行,计算作为前置事件第1轮3210和前置事件第2轮3212的一部分的因素对象2722,但是执行在前置事件第2轮3212中的被选择谈判对象的排名顺序。扩展这个实例,如果事件进行到批次2第2轮3216,执行可如下进行:
1.前置事件第1轮3210仅执行因素2722计算;
2.前置事件第2轮3212仅执行因素2722计算;
3.批次2第1轮3214仅计算因素2722计算;以及
4.批次2第2轮3216计算因素2722计算与谈判对象2724排名顺序。
下列是根据上面说明的多种实施例的采购谈判的实例。为了开始谈判,买家登陆主处理节点140并且运行合作谈判模块600、提出要购买的项目的请求,并且建立新的合作谈判。买家可选择产生新的谈判模板。买家开始第一轮谈判。在第一轮中,买家选择谈判条款、质量以及交付时间作为买家参数2904。为第一轮谈判,买家选择谈判事件的开始和结束日期。
买家可产生第二轮谈判。买家继而选择谈判方法(例如交易分离投标格式)。接下来,买家邀请供应商在谈判事件中投标。随着供应商被邀请,他们被发送一封电子邮件通知他们项目的RFQ被放置在哪里。供应商登陆到主处理节点140并向第1轮输入供应商参数2906。供应商可在递交之前选择测试投标。考虑买家参数2904与供应商参数2906影响投标的有效谈判条款2722可被突出并给予供应商关注。根据反馈,供应商可选择修订投标或修订供应商参数2906。供应商然后递交投标。
在将来的某个时间,实况的交易分离价格/数量谈判事件出现。供应商输入带有竞争资金量的投标并记录相对于市场位置的投标状态。每个价格投标被输入之后,合作谈判框架2800向供应商通报有效谈判参数2722对他的投标价格的影响。供应商可以在谈判事件时间到之前,修订投标或供应商参数2906并提交另一个投标。
设计费用管理700(DCM)
在一个实施例中,上面说明的系统100、300和由主处理节点140提供的诸如EEC模块400、诸如转换器模块410、查看器模块420、合作模块430和工程管理模块440之类的子模块、DRM模块500以及合作谈判模块600之类的功能模块172以及应用程序框架348、349可与设计费用管理模块700(DCM)耦合来形成遍及扩展式企业网络100、300实现的合作谈判框架。在一个实施例中,DCM模块700将多种材料清单(BOM)分解为用于对现有和新零件报价的具有合计的年度使用的成品。在一个实施例中,DCM 700模块利用用于对零件和加工报价的项目属性摘要并且具有允许用户(买家和供应商)为零件和加工增加费用数据的功能。在一个实施例中,DCM 700模块将历史费用和新报价与希望的费用模型比较。
DCM 700模块使OEM可以在新项目介绍阶段以及贯穿项目的生命周期管理利润。项目可包括多种组装件或另一种项目的子组装件。项目可包括由同一OEM制造的通用于多种组装件或子组装件的其他项目。在不同的制造阶段期间,项目可从多供应商或同一供应商购买(采购)。在每个购买事件时,项目以不同价格被报价并被出售。对于给定的产品,OEM通常保持工程材料清单(BOM)和/或制造BOM,其说明:(1)项目;(2)其中使用的组装件;以及(3)每个组装件所需的数量。然而,这些BOM不直接地产生采购关注,其中相同项目从一个或多个供应商以不同的价格被报价和/或出售,因为在多种购买事件中,项目在不同的组装件或在不同的包括项目的产品中被多次报价。在一个实施例中,DCM 700模块使得买家与供应商都可以管理对一个或多个组建通用的项目的单一视图。DCM 700模块提供获取项目费用历史、项目目标费用、和/或项目报价的采购BOM。在一个实施例中,报价可由一个或多个供应商输入。DCM 700模块可为项目建立希望的费用模型并且从项目的引入开始遍及项目的生命周期跟踪项目的真实费用。
在一个实施例中,DCM 700模块将多种项目和/或它们的组装件或子组装件减少为通用和唯一的项目的成品列表,并且将成品列表通过广域网(例如因特网)展示给对总项目量报价的供应商。在一个实施例中,这种从位置遍及扩展式企业网络300的供应商(位于第二客户节点120-1-b)接收报价的能力为买家(位于第一客户节点110-1-a)提供了获得项目和/或具有多于一个项目被集合报价和购买的组装件的市场定价的方法。
在一个实施例中,DCM 700模块可被用于通过影响随时间收集的多供应商角度项目费用数据来开发“应该费用模型”。这提供了对组装件中相同项目随时间过去每个供应商报价的直接比较。以这种方式开发的“应该费用模型”支持来自之前报价项目的统一材料定价。
此外,DCM 700模块可与EEC模块400和DRM500模块集成以使得供应商能够接收报价所需的安全文档和技术规范而不必下载原始软件来查看信息。供应商还将能够与0EM在他们准备他们的报价中可能有的任何商业和/或技术问题上进行合作。DCM 700模块还向供应商和0EM传送所有被管理的项目的最新修订状态并提醒任何未决的修订更改。
在一个实施例中,DCM 700模块为每个项目费用需要提供基于因特网的扩展式企业工程管理方法。该方法可通过e-mail链接被启动,e-mail链接为了将报价的给定的BOM被发送给一个或多个供应商。所有的供应商可以被跟踪到进度表并且当他们指派的报价有过期危险时可以被提醒。这个扩展的企业工程管理能力使买家自由地介入例外基准。例如,当一个或多个供应商有错过到期日的危险时。此外,DCM 700模块包括供应商提供他们对BOM报价需要的信息。在一个实施例中,DCM模块700可包括子模块702来实现合作BOM(CBOM)。在开始CBOM之前,根据一个实施例,用户可使用应用程序框架348、349和一个或多个功能模块172以及主计算平台150来从第一和第二客户节点110-1-a和120-1-b向主处理节点140上传一个或多个BOM。
现在回来参考图3C、3D、3E,在一个实施例中,排列项节点387是根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。用户可在命令与控制框架354中选择这样的项目和/或组装件。排列项节点387是包括项目定价信息的节点。遍及扩展式企业网络300的用户(例如位于第二客户节点120-1-b的外部供应商)提交对每个项目(排列项价格投标)的定价信息。在排列项节点387处汇总排列项价格投标来就项目的集合进行合作和/或谈判。批次节点388是根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。用户可在命令与控制框架354中选择这样的项目和/或组装件。批次节点388是包括排列项节点387的内容和/或行为的节点,包括:(1)从遍及扩展式企业的用户接收在批次级别上的初始单一价格(批次价格投标)的能力,其中批次级别包括两个或更多的排列项;(2)从遍及扩展式企业300的用户随后接收排列项价格投标的能力;以及(3)接收扩展的企业用户调整排列项价格的输入直到批次中包括的所有排列项价格的汇总等于批次价格投标的能力。CBOM节点389是根据用户对他/她希望报价的项目和/或组装件的选择被自动地生成的。在一个实施例中,用户可在命令与控制框架354中选择这样的项目和/或组装件。该CBOM节点389包含两个子节点:(1)第一子节点(上层项目)390包括用户选择的上层项目和/或组装件以及上层项目和/或组装件需求的产品结构部分的项目;以及(2)第二子节点(成品)391包括自动生成的仅有成品报价的列表(省略买家不希望报价的中间产品结构层次);需要这样的成品来构造用户选择的上层项目和/或组装件(例如用户选择的项目和/或组装件所需求的成品)。CBOM节点389还包括批次节点的内容和/或行为,诸如例如成品子节点391可被组织到批次和排列项中并且因此被报价。在遍及扩展式企业网络300的用户在成品子节点391处提交定价后,上层项目子节点390自动地计算并将定价输入累计到达这里包括的上层项目和/或组装件的总价。
命令与控制框架354可显示CBOM。CBOM提供多种视图。在一个实施例中,如下所说明的,CBOM提供如下所述的组装件视图392以及成品视图393。在一个实施例中,CBOM可包括用于组装件视图392和/或成品视图393的价格比较框架394。在一个实施例中,价格比较框架394包括一个或多个供应商396(来自第二客户节点120—1-b)为单一的项目和/或组装件输入的一个或多个报价395。在另一个实施例中,价格比较框架394可包括由与排列项和组装劳动力相关的供应商输入的报价所产生的价格费用累计。利用组装件视图392和/或成品视图393,一个或多个买家(位于第一客户节点110-1-a)能够查看和比较报价信息,其中报价信息被一个或多个供应商(120-1-b)直接输入到应用程序框架349。
图33A是如图3D中所示可在命令与控制框架354中显示的CBOM组装件视图392的一个实施例的图形用户界面3300。图33B是如图3E中所示可在命令与控制框架354中显示的CBOM成品视图393的一个实施例的图形用户界面3500。在一个实施例中,CBOM使用户能够管理关于单位费用以及用于一个或多个上层项目的组装劳动力的定价。在一个实施例中,CBOM一次显示项目和与项目相关的价格并根据每个项目的单位价格计算最终组装件和/或子组装件的最终累计价格或费用,即使它被用于BOM结构中的多种零件实例中。在一个实施例中,BOM可包括其中包括有一个或多个项目的分级的多层项目结构。给定级别的项目可被位于BOM结构内一个或多个级别的一个或多个项目参考。在一个实施例中,BOM可包括包含单一项目的扁平项目结构。在一个实施例中,BOM可包括包含有多种多级别和/或扁平项目结构的多种BOM。CBOM还使多种供应商能够在谈判事件前或谈判事件期间向买家提供项目定价。
关于CBOM,术语“项目”可包括任何制造或购买的实体。可根据对应的项目标号来指示项目或根据绘图标号来指示项目。在一个实施例中,有两种基本项目类型:(1)零件或(2)组装件。因此项目可被称为零件或组装件。在一个实施例中,“零件”可包括单一实体类型的项目,具有被称为单位价格的单一费用。通常,零件不需要BOM,因为它是没有子零件或子部件的单一实体。在一个实施例中,“组装件”可包括包含其他项目的一类项目。因此,在一个实施例中,组装件可包含例如其他零件或组装件。组装件被分类并被以BOM参考。在一个实施例中,BOM可包括组成特定组装件的项目的列表。当花费或累计是组装件的项目时,价格可包括两个部件:(1)所有零件的价格加上(2)将零件构成/组装成最终组装件的费用。在一个实施例中,末端级别组装件被用来指示可被称为最终和/或末端组装件的最高级别的组装件。形成另一个组装件(可以是或不是最终组装件)一部分的组装件被称为子组装件。
如前面所讨论的,CBOM提供多种视图。在一个实施例中,CBOM提供组装件视图392以及成品视图393。在一个实施例中,组装件视图392显示与用于上层组装件TopAssembly1的BOM相关的结构。上层组装件可包括多种项目,包括例如零件和组装件,每个零件和组装件可包括唯一的零件或对两个或更多项目一直到上层组装件通用的零件。因此,组装件视图392可被布置为一个或多个级别3304。在一个实施例中,上层组装件被指示为级别-0项目3306。形成级别-0项目3306一部分的项目被指示为级别-1项目3308。形成级别-1项目一部分的项目被称为级别-2项目3310等上层组装件可包括的许多级别。在说明的实施例中,上层组装件TopAssembly1包括五个子组装件SubAsm1,SubAsm2,SubAsm3,SubAsm4和SubAsm5(SubAsm-1-5)。在说明的实施例中,SubAsm-1-5的每一个包括对于所有子组装件SubAsm-1-5通用的零件CommonPart1。SubAsm-1-5的每一个还分别包括唯一的零件UniquePart-1-5。
在一个实施例中,成品视图393显示组装件视图392中提供的所有项目的单一实例。如前面所谈论的,可存在BOM结构中参考的相同项目的多种事件。在说明的实施例中,例如,上层组装件TopAssembly1包括五个子组装件SubAsm-1-5并且SubAsm-1-5的每一个包含通用零件CommonPart1以及唯一的零件UniquePart-1-5。CommonPart1在组装件视图392中被列出五次而在成品视图393中仅被列出一次。CBOM汇总通用零件CommonPart1在单一上层组装件项目TopAssembly1的所有子组装件SubAsm-1-5中的总量。在说明的实施例中,如在数量部分3316中所示,五个子组装件SubAsm-1-5的每一个包含两个通用零件CommonPart1。因此,上层组装件项目TopAssembly1的每一个包含总量为十个的通用零件CommonPart1。如在扩展数量3318部分所示,总共需要1,000个上层组装件项目TopAssembly1。因此,如在成品视图393中总量部分3320的条目3322处所示,需要总量10,000的通用零件CommonPart1来满足上层组装件项目TopAssembly1的需求。
在一个实施例中,CBOM累加和合计横跨一张或更多BOM的项目,并且它累加和合计横跨多种上层组装件的项目以及它们的数量。因此,如果有另一个需要附加通用零件CommonPart1的上层组装件项目TopAssembly1,需要的总量被合计。
利用CBOM,买家可选择多个项目来从单一供应商采购或定价。CBOM自动地寻找所有诸如例如CommonPart1之类的通用零件并累加通用项目的数量,这样供应商可以输入以产生所有诸如例如TopAssembly1等之类的上层组装件所需数量上的每个通用项目的单一费用。
在一个实施例中,CBOM提供批次。正如这里所定义的,批次指买家从单一供应商处购买不止一种类型零件的情况。批次使买家可以从单一供应商采购CBOM中的所有项目或批次。通过将具有类似属性(意味着供应商可以以批次来提供每个项目,例如冲压、铸造、机械等)的项目分组,用户可以根据项目的总量来谈判项目均价以从供应商赢得更好的价格。供应商可在批次级别彼此谈判或投标。批次价格投标包括每个单独项目价格。
批次可按如下实现。在一个实施例中,如果有太多的项目以至于不能有效地在谈判事件中累计定价(例如拍卖),可使用批次。例如,批次可包含上百或甚至上千种单独的零件类型。因此,在供应商在谈判中做出最终决定之后使得每个供应商压低他们的定价是更为实际的。谈判事件可被操纵以使得每个供应商能够只投标累计批次费用。一旦根据谈判事件的结果选择供应商作为少数潜在供应商之一,供应商可以提供在批次中每个项目的费用下降,这还须与由供应商投标的总批次价格一致。
在一个实施例中,如果买家需要项目下降来做出初始出价,则可使用批次。例如,初始价格可能在谈判事件前下降,但价格还是基于总批次累计批次价格。在谈判事件的总结阶段,供应商可调整他们的最终降价来使其与总批次价格一致。
在一个实施例中,当批次比较小并且可能在谈判事件期间被管理的时候,可以用批次。在一个实施例中,供应商在供应商用户界面3324中输入单独的项目定价,CBOM计算最终提交的累计批次价格。CBOM使用户可以以一定百分比或量来减少最终投标价格。CBOM继而自动地从每个项目的单独价格中减去该百分比以使得所有排列项的总和等于希望的批次累计价格。在一个实施例中,供应商还可单独地减少每个排列项来查看对最终提交的批次累计价格的影响。
排列项可被定义为多种批次,每个批次中有单独的排列项。在一个实施例中,买家可将每个排列项授予不同的供应商。因此每个供应商可不被要求在每个项目上投标。在一个实施例中,包含排列项的每个项目都可被作为单一实体对待。用户可产生具有多种项目的排列项组而不产生每批次具有单一排列项的多种批次。这提供一个用户界面给供应商来回顾和提交他们的投标。
参考下列附图与附加的实例可进一步说明上述系统和子系统的操作。一些附图包括程序逻辑。虽然这里展示的附图包括特定的程序逻辑,应理解程序逻辑只提供这里说明的通用功能可如何被实现。更进一步的说,给定的程序逻辑并不是必须以展示的顺序被执行除非另有说明。此外,给定的程序逻辑可由硬件组件、由处理器执行的软件组件或两者的结合来实现。具体实施方式不限于本申请文件。
图34是合作谈判3400的一个实施例的逻辑流程3400。合作谈判模块600为位于许多第二客户节点120-1-b的许多投标者与主处理节点140之间的工程启动(3402)一轮谈判。合作谈判模块600从位于客户节点120-1-b的许多投标者中的每一个接收(3404)对工程的多种价格投标。合作谈判模块600根据价格投标和针对每个投标者的多个参数确定(3406)投标的总费用值。
工程可包括提供项目或服务。团队可选择谈判技术并且提供向合作谈判模块提供选择。谈判技术可包括下列谈判技术中的任意一个:报价合作请求;初始化报价;反拍卖;业务分离;前向拍卖;荷兰式拍卖;英格兰拍卖;多属性拍卖;买卖差价;运输以及供应商批次。总费用值可根据来自每个投标者的多种参数的多种有效谈判条款确定。有效谈判条款考虑每个参数比例的适当而不是同等地对待每个参数。在主处理节点140,合作谈判模块600从每个投标者接收包括许多参数的信息。多数参数与工程相关。合作谈判模块600给多种参数的每一个分配权重并且根据权重确定有效谈判条款。合作谈判模块600根据至少多个有效谈判条款中的一个来确定得分。在谈判轮期间被合作谈判模块600接收到的信息包括多种谈判变量:质量系统资格、交付时间、支付条款、损坏、加工、固定、以及塑料成型资格。买家根据总费用值授予工程。
在合作谈判轮期间,在第一次事件中,应用程序框架显示每个投标者的总费用值。在一个实施例中,应用程序框架的方面仅对买家是可访问的,对每个投标者不能访问。合作谈判模块600通过包括多个投标价格中的至少一个、参数以及有效谈判条款的应用程序框架提供投标汇总。在轮内随后次的事件中,合作谈判模块600从每个投标者接收补充价格投标和/或包括的至少一个与先前投标变量不同的变量的补充信息。由应用程序框架显示多个投标者的每一个的修订的总费用值。随着补充信息被接收,合作谈判模块600准实时地更新有效谈判条款。合作谈判模块600还显示根据谈判总费用值的多个投标者的层级。应用程序框架显示投标价格以及多个参数;投标价格与市场领先投标的相对差距;以及多个参数对投标价格的影响。应用程序框架的方面提供仅对提交投标价格和多个参数的投标者可访问的视图。
在一个实施例中,合作谈判模块600提供供应商关系管理能力,其使得项目属性能够对供应商过程或生产能力的自动匹配。此外,供应商关系管理能力还提供高级的通知“警报”来管理供应商破产、迟到递送以及低质量的风险。
图35是将供应商能力概况与项目匹配的过程的一个实施例的逻辑流程3500。为了将供应商能力与项目匹配,供应商能力概况被存储和注册在数据库190-1-e中的任意一个。一旦供应商能力被存储在数据库190-1-e中,合作谈判模块600接收(3502)包括与要采购的项目相关的说明性信息的原始格式文件602-1-f。合作谈判模块600继而利用转换器模块340来提取(3504)出项目说明信息。在提取前,转换器模块340确定原始格式文件602-1-f的格式,根据原始格式选择转换器服务模块130-1-j并将原始格式文件602-1转换为安全中性格式文件604-1。从安全中性格式文件604-1中提取出项目说明信息。合作谈判模块600继而将提取出的说明信息映射(3506)到存储在利用说明信息的数据库190-1-e中的能力概况。如果在数据库190-1-e中有一个或多个供应商能力概况匹配,合作谈判模块600根据能力概况选择供应商。
与项目相关的项目说明信息可包括例如定义项目物理特性的属性以及定义项目材料特性的特征。合作谈判模块600根据提取出的说明性信息确定处理规范,说明性信息根据任何一个项目属性与特征定义项目的制造。合作谈判模块600继而将处理规范与供应商能力概况相关联。
图36是将原始格式文件602-1-f转换为安全中性格式文件604-1-f的过程的一个实施例的逻辑流程3600。转换器模块410接收(3602)第一格式下的第一文件。文件审查模块740确定(3604)第一格式并根据第一格式选择(3606)转换器服务模块730。转换器服务模块730将第一文件转换(3608)为至少一个具有第二格式的第二文件。
在一个实施例中,第一文件被位于主处理节点140的处理器接收。为了确定第一格式,将规则引擎应用到第一文件来将第一格式与多个文件格式相比较。规则引擎可将包含在第一文件中的信息字节模式、字符串模式、布尔逻辑或文件内容标识符相匹配。在一个实施例中,规则引擎可包含XML模版。在一个实施例中,文件审查模块740识别第一文件的文件扩展名,并且对第一文件应用根据文件扩展名的一组规则引擎来将它与根据文件扩展名的多个文件格式进行比较。一旦文件格式被识别,通过根据第一格式调用转换器;调用与所述第一相关的应用程序编程接口(API);以及根据所述API提取出与所述第一文件内容相关的信息来转换文件。在一个实施例中,提取与第一文件内容相关的信息包括提取与由内容定义的结构的制造相关的特征。在一个实施例中,提取与第一文件内容相关的信息包括提取与由内容定义的结构相关的属性。第二格式的第二文件可驻留在主处理节点140。
图37是提供根据项目、BOM以及定义项目的文档的投标的过程的一个实施例的逻辑流程3700。DCM模块700和CN模块600协调下面的功能来实现逻辑流程3700。子模块702确定(3702)在至少一个多层材料清单(BOM)中引用的至少一个项目的数量。应用程序框架349从位于第二客户节点120-1的该项目的至少一个供应商接收(3704)至少一个价格投标。子模块702将投标价格与项目相关联(3706)。子模块702根据项目的数量与价格投标确定(3708)多层BOM的第一费用。子模块可把多层BOM分割为组装件结构和单成品结构。在一个实施例中,组装件结构包括单成品结构并且可接收单成品结构的单价格投标。
任何对“一个实施例”或“实施例”的引用都意味着在至少一个实施例中包括连同实施例说明的特定特征、结构或特性。在说明书中多处出现的短语“在一个实施例中”并不必需全部指示相同的实施例。
一些实施例可利用根据任何数目的诸如希望的计算速率、功率级别、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他性能限制之类的因素而有所变化的体系结构来实现。例如,实施例可利用由通用或专用处理器执行的软件来实现。在另一个实施例中,实施里可被作为诸如电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)或数字信号处理器(DSP)等之类的专用硬件来实现。在再一实例中,一个实施例可由编程的通用计算机部件与定制硬件部件的任何组合来实现。具体实施方式不限于本申请文件。
一些实施例被利用表达“耦合”和“连接”与它们引出的内容一起来说明。应理解这些术语并不指彼此同意。例如一些实施例被利用“连接”说明来指示两个或更多的组件彼此之间有直接的物理或电气联系。在另一个实例中,一些实施例被利用术语“耦合”说明以指示两个或更多的组件具有直接的物理或电气联系。然而,术语“耦合”也可意味着两个或更多的组件彼此没有直接的联系,但是仍然与彼此合作或交互。具体实施方式不限于本申请文件。
一些实施例例如利用可存储指令或指令集的机器可读介质或产品来实现,如果指令被机器执行,会使得机器执行根据实施例的方法和/或操作。这样的机器可包括例如任何合适的处理平台、计算平台、计算装置、处理装置、计算系统、处理系统、计算机、处理器等并且可以利用任何合适的硬件和/或软件的组合来实现。计算机可读介质或产品可包括例如任何类型的存储器单元、存储器装置、存储器产品、存储器介质、存储装置、存储产品、存储介质和/或存储单元,例如存储器、可移动或不可移动介质、可擦写或不可擦写介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、致密盘只读存储器(CD-ROM)、可记录致密盘(CD-R)、可重写致密盘(CD-RW)、光盘、磁介质、多种类型的数字通用盘(DVD)、磁带、盒式磁带等。指令可包括任何合适类型的代码,诸如源代码、汇编代码、解释代码、可执行代码、静态代码、动态代码等。指令可由诸如C、C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、汇编语言、机器代码等之类的任何合适的高级、低级、面向对象的、可视化、编译的和/或解释性的编程语言来实现。具体实施方式不限于本申请文件。
除非另外特别声明,应理解诸如“处理”、“计算”、“算术”、“确定”等之类的术语指计算机或计算系统或者类似的电子计算装置的动作和/或处理,这些计算装置对由计算系统的寄存器和/或存储器中的物理量(例如电子)所代表的数据进行操作和/或将其转换为类似地由计算系统的存储器、寄存器或其他类似信息存储、传输或显示装置内的物理量所代表的其他数据。具体实施方式不限于本申请文件。
虽然如这里所说明的阐明了实施例的某些特征,本领域的技术人员现在将想起许多修改、替换、变化和等价物。因此,应理解所附的权利要求意图覆盖所有这些落入本实施例真实精神内的修改和变化。