掌桥专利:专业的专利平台
掌桥专利
首页

与实时设计者和代理协作生成定制产品

文献发布时间:2024-04-18 19:58:21


与实时设计者和代理协作生成定制产品

技术领域

本公开的一个技术领域是经由与协作计算机平台的交互,与实时设计者和代理协作生成定制产品。另一个技术领域是对协作计算机平台的设计者和用户之间的角色和交互进行管理。

背景技术

如今,基于计算机的协作应用的普及和可扩展性在很大程度上受到了计算机技术的许多最新进展的刺激。协作应用的早期示例包括工具,这些工具提供对协作文本的编辑、对文本消息的传递和对多用户任务的调度。其他协作应用提供共享电子表格(spreadsheet)、视频会议和视频共享应用。

信息技术的最新创新激发了多用户协作工具的发展。由于最近的技术进步,已经开发了许多工具来促进例如在线产品定制和用户交互能力。产品的协作定制可以包括允许多个用户协作进行数字设计,交换与设计相关的想法,以及在定制产品外观方面提供支持和帮助。

然而,随着协作应用增长并包括供应商和第三方服务提供商,确保协作会话满足例如用户之间的协作协议中规定的要求变得越来越困难。

因此,需要提供用于管理在基于角色的协作系统的用户之间建立的通信信道的机制,特别是用于管理在使用基于角色的协作系统生成定制产品的过程中的协作。

发明内容

所附权利要求可以作为本公开的发明内容。

附图说明

在附图中:

图1是示出用于设计和制造定制产品的示例环境的框图。

图2是示出基于角色的协作平台示例的框图。

图3是示出在产品协作平台中实现的协作示例的框图。

图4是示出使用产品协作平台请求协作帮助的示例的框图。

图5A是示出基于在产品协作平台中实现的请求和设计者简档的设计者选择过程的示例的框图。

图5B是示出在产品协作平台中实现的动作参数的示例的框图。

图6是示出客户和设计者之间建立的通信信道的示例的框图。

图7A是示出与产品协作平台的实时设计者和代理协作生成定制产品的示例过程的流程图。

图7B是示出使用产品协作平台与实时设计者协作的示例过程的流程图。

图8是示出产品协作平台中的角色示例的框图。

图9是可以在其上实现方法的实施例的计算机系统的框图。

具体实施方式

在下面的描述中,为了解释的目的,阐述了许多具体细节,以便提供对本文所述的方法的透彻理解。然而,显而易见的是,本方法可以在没有这些具体细节的情况下实践。在一些实例中,公知的结构和设备以框图的形式示出,以避免不必要地模糊本方法。实施例根据以下大纲分节公开:

1.概述

2.示例性计算机环境

2.1.用户设备

2.2.客户端应用

2.3.前端服务器

2.4.核心服务

2.4.1.生成产品描述数据

2.4.2.生成密钥值对

2.4.3.生成图形用户界面

2.5.示例性制造系统

2.6.示例性制造过程

2.7.示例性产品协作平台

3.与实时设计者和代理协作生成定制产品的示例

4.密钥值对

5.协作示例

5.1客户—设计者协作

5.2.共享产品描述数据

5.3.请求设计者提供帮助

5.3.1.直接请求

5.3.2.经由搜索请求

5.3.3.经由广告请求

5.3.4.经由探索请求

6.设计者简档

6.1.示例简档

6.2.参数化请求

6.3.选择特定设计者

7.示例性通信信道

8.与实时设计者协作的示例过程

8.1.选择特定设计者

8.2.处理从实时设计者接收到的设计修改

8.3.处理从客户接收到的设计修改

9.评级和评分

9.1.基于技能和资格

9.2.基于表现

9.3.基于可用性

9.4.其他因素

10.基于角色的协作平台

10.1.基于角色的协作

10.2.用户角色

10.3.用户简档

10.4.设计者简档

10.5.设计者设计

10.6.产品定义

10.7.属性表示

10.8.全局密钥值

10.9.协作组件

10.9.1.用户界面元素

10.9.2针对设计区域的用户界面元素

10.10.产品选项框架

10.11.属性引擎

10.12.用户计算机

10.13.协作服务器

10.14.监视系统

10.15.处理器

11.日志列表和协作

12.定制产品的制造

13.实施机制

1.概述

在一些实施例中,呈现了一种用于与产品协作平台的实时设计者和代理协作生成定制产品的方法。所呈现的与实时设计者协作的方法是由产品协作平台支持的自动化礼宾系统(automated concierge system),其中实时设计者帮助客户生成定制产品的交互式数字设计。在一些实施例中,自动生成和处理帮助请求。选择能够响应请求的设计者和指定选定的设计者参加协作会话也是自动管理的。

产品协作平台可以在计算机服务器、分布式计算机系统、基于云的系统等中实现。该平台可以被配置为允许用户、设计者、代理、客户和支持工程师设计、创建、协作和修改诸如贺卡、婚礼邀请、水瓶、相框等产品的数字设计。

数字设计可以从产品协作平台传输到制造服务器或制造实体,制造服务器或制造实体可以使用接收到的数字设计,从而以数字或实体的方式制造产品。制造的产品可以依次交付给接收者。图1-2描述了用于协作和创建数字设计、基于设计制造产品以及将产品交付给接收者的示例性计算机环境。

在一些实施例中,产品协作平台用于设计、创建和订购各种产品。产品的示例可以包括数字产品,即以数字方式设计和交付的产品,例如数字礼品卡、数字形式的聚会邀请、数字贺卡、数字形式的公告等。产品还可以包括实体产品,即以数字方式设计但作为实体事物交付的产品,例如实体T恤、实体杯子、实体水瓶、实体相框等。

产品协作平台可以用于提供各种服务。由产品协作平台提供的服务的示例可以包括支持对交互式产品设计的创建和协作、处理对创建交互式产品设计的帮助的请求、处理对诸如发送感谢卡之类的服务的请求、加入使用该平台的设计者和客户的社区、以及重新订购产品。此外,服务可以包括创建和设计聚会邀请、贺卡、礼物等。服务还可以包括安排和计划周期性发生的事件,例如生日、周年纪念日、到期日等。服务还可以包括计划诸如订婚聚会、婚礼、婴儿沐浴聚会、欢迎回家聚会、毕业聚会、宗教活动聚会等的活动。此外,服务可以包括与朋友、家人、熟人和同事分享图片和评论。

产品协作平台的用户可能已经分配了角色。分配给用户的角色是由参与为创建交互式数字设计而建立的协作会话的用户承担或扮演的角色的功能。角色的示例可以包括客户角色、图形设计者角色、客户对等角色、代理角色、编辑者角色等。基于所分配的角色,用户可以被准许对交互式数字设计的产品描述进行不同类型的访问。

客户角色可以被分配给正在使用产品协作平台来定制由该平台提供的一个或多个交互式数字设计的客户。例如,客户可以编辑/修改交互式对象的属性,查看定制设计的呈现,发布定制设计,请求来自另一用户(设计者或客户支持代理)的帮助以创建或修改交互式数字设计,请求用户为交互式数字设计提出的修改列表,和/或删除或恢复数字设计的一些修改。

设计者角色可以被分配给使用产品协作平台来帮助其他人设计交互式产品设计的设计者。这可以包括帮助定义交互式数字设计的属性、定义属性的默认值和/或定制设计。图形设计者可以执行的附加功能将在后面描述。

设计者通常是技术高超、训练有素的图形专家。设计者可以利用他们的技能和经验来帮助其他人使用产品协作平台设计和定制产品。帮助设计和定制产品的设计者可以基于他们的专业、艺术风格、设计偏好等进行分组。设计者可以专注于不同的设计风格、不同的流派、不同的审美风格等等。例如,一些设计者可能专注于特定的风格,例如装饰艺术,而其他设计者可能专注于新艺术、前卫、现代或抽象表现主义。

设计者也可以专注于不同的调色板。例如,一些设计者可能专注于暖色、橙色、金色或柔和的调色板,而其他设计者可能专注于冷色、钴蓝色、灰色等调色板。根据另一个示例,一些设计者可能专注于诸如蓝色、蓝绿色、绿色或灰色的调色板,而其他设计者可能专注于诸如粉色、红色、紫色等的调色板。

设计者可以进一步专注于不同类型的产品。例如,一些设计者可能专注于婚礼用具、婴儿送礼会礼物/邀请、结婚周年纪念礼物/邀请,而其他设计者可能专注于生日聚会礼物/邀请等。此外,一些设计者可能专注于家居装饰、卧室装饰、厨房装饰等,而其他设计者可能专注于个人物品,例如珠宝、个人礼品、个人服装、鞋子等。其他专业和偏好将在后面描述。

可以将代理角色分配给正在使用产品协作平台以帮助其他人定制由该平台提供的一个或多个交互式数字设计的用户。例如,代理可以查看由其他人设计的交互式数字设计,并且对该设计提供评论或反馈。代理可以被准许访问定制设计的产品描述,并且在一些实施例中,可以修改与设计相关联的属性。图8提供了有关角色的详细信息。

在一些实施例中,所呈现的方法允许在产品协作平台处接收来自设计者的帮助请求,其中所述请求指定一个或多个帮助标准或参数。该方法允许自动选择能够提供所需类型的帮助的设计者,并且指定所选择的设计者向客户提供帮助。

可以使用许多方法来选择能够提供所请求的帮助的设计者。其中一种方法包括执行对数据库的搜索,该数据库包括附属于该平台的设计者的简档。可以使用例如基于人工智能的方法(稍后描述)并利用包括在请求中的一个或多个辅助标准(或参数)作为搜索关键字来执行搜索。

另一种方法可以包括:使用一个或多个帮助标准来确定设计者的一个或多个类别和/或子类别,计算指示包括在所确定的类别/子类别中的设计者满足一个或多个帮助标准的程度的分数,以及基于所计算的分数从所确定的类别或子类别中选择一个或多个设计者。后面将描述其他方法。

在一些实施例中,用于与实时设计者和代理协作生成定制产品的方法包括使用产品协作平台来管理彼此协作的用户的用户角色。具体而言,该方法可以包括管理在对定制产品的交互式数字设计进行定制中协作的客户和设计者之间的交互。该方法还包括管理对产品描述数据的访问,当客户和设计者在设计上协作时,该产品描述数据捕获描述交互式数字设计的参数和特征的密钥值对。密钥值对将在后面描述。

2.示例性计算机环境

在一些实施例中,在产品协作平台中实现了用于与实时设计者和代理协作生成定制产品的方法。该平台允许用户、设计者、代理、客户和支持工程师协作设计和创建定制产品的数字设计。定制产品可以是数字产品,例如数字礼品卡,或者可以是实体产品,例如实体T恤。图1描述了示例性计算机环境。

图1是示出用于设计和制造产品的示例性环境的框图。图1、其他附图以及本公开中的所有描述和权利要求旨在呈现、公开和要求一种技术系统和技术方法,其中使用专用分布式计算机系统设计的专门编程的计算机执行以前不可用的功能,以提供计算技术对机器学习模型开发、验证和部署问题的实际应用。通过这种方式,本公开呈现了一个技术问题的技术解决方案,任何将本公开或权利要求解释为涵盖专利资格的任何司法例外,如抽象概念、心智过程、组织人类活动的方法或数学算法,在本公开中都得不到支持,并且都是错误的。

在图1中,用户10是创建和设计产品的数字设计的个体;客户端9对应于被配置为促进用户10和前端服务器14之间的通信的软件应用;核心服务16对应于软件应用和工具,该软件应用和工具被配置为促进数字设计的创建和设计,并且生成用于基于数字设计制造最终产品的制造指令;制造18对应于制造服务器和应用,其被配置为制造或导致制造最终产品,生成允许最终产品的接收者请求服务和访问核心服务16的令牌,并且将令牌附加到最终产品或在最终产品上描绘令牌。

2.1.用户设备

图1描绘了用户10的若干示例。每个用户10可以使用其自身的或共享的计算机设备。稍后在图2中描述用户设备的示例(参见设备140A-G)。

在一些实施例中,基于可分配给用户的角色来确定用户10的示例。角色的示例10A可以包括客户、设计者、客户对等者、客户支持工程师、接收者等。图8详细描述了用户角色的示例。

2.2.客户端应用

图1中的客户端10指的是在客户端服务器中实现的并且被配置为支持从用户10A接收的请求的客户端应用。客户端12的非限制性示例可以包括iOS应用12A、Android应用12B、Web应用12C等。

2.3.前端服务器

前端服务器14指的是被配置为处理从客户端12和从核心服务16接收的请求的基于计算机的服务器。前端服务器14的示例包括一个或多个WWW服务器14A、一个或多个应用服务器14B、一个或多个加密服务器14C。加密服务器14C可以被配置为提供加密服务,以用于在图1所示的实体之间进行加密/解密、传输或以其他方式传送数据。

2.4.核心服务

图1中的核心服务16指的是在基于角色的协作平台中实现的服务器和服务,该协作平台被配置为提供用于创建和设计数字设计、处理协作请求以及促进从用户10接收的定制请求的功能。图2详细描述了基于角色的协作平台。

2.4.1.生成产品描述数据

再次参考图1,在所谓的产品描述数据中捕获由用户10的用户执行的并且旨在生成定制产品的数字设计的定制过程,然后该数据可以被转换成包括产品和制造指令的制造描述。

产品和制造指令可以包括制造定制产品所需的数字设计规范、数据和代码。这可以包括用于生成例如数字最终产品的3D几何图形的指令。这还可以包括生成用于生成2D和/或3D图案的指令,该2D和/或3D图案可以用于切割、铸造或形成实体最终产品的实体组件。图案可以是参数化的,即,它们可以具有参数,这些参数通过编码的关系来调整图案的形式以满足特定的需要。

例如,一组基于尺寸分级的T恤2D图案可以通过内插等级曲率成为参数图案。单个参数值可以设置这种自动分级。单个参数值通常被称为“尺寸”。

产品指令还可以包括模型,包括2D和3D模型,这些模型用于通过增材制造或减材制造形成产品的一部分。模型可以是参数化的,即,它们可以具有通过编码关系调整模型形式以满足特定需要的参数。例如,一组3D模型可以代表自行车头盔。每个模型可以适合特定年龄的统计标准化人头。模型之间的编码关系可以允许对特定年龄的模型组进行插值。单个参数值可以设置自动插值。在这种情况下,单个参数值通常被称为“年龄”。

产品指令还可以包括材料属性,例如用于从图案形成产品的实体材料。一些材料属性可以是参数化的,即它们可以在制造期间被选择或改变。

属性还可以包括主体颜色。例如,可以选择织物的颜色来制造T恤。根据另一个示例,可以选择塑料的颜色来制造自行车头盔。

属性还可以包括主体纹理,例如T恤衫的织物织纹可以被指定为光滑的或粗纺的。例如,塑料自行车头盔的表面可以是抛光的或缎面的。每种属性必然是每类材料所特有的。材料和属性的示例可以包括织物(例如,编织或针织类型、纤维类型(棉、羊毛、亚麻、聚酯、聚丙烯)、线尺寸、线支数、颜色、整体设计(扎染织物、针织、挂毯)、幅宽、边距类型、表面(手感)等。

属性还可以包括塑料,塑料可以包括诸如颜色、表面质量(双向亮度函数)、熔点、抗冲击性、成型方法(热塑性、铸造)、类型(丙烯酸、ABS、聚丙烯等)等子属性。

属性还可以包括金属,金属可以包括诸如类型(铝、钢、铜、黄铜等)、颜色、表面质量(例如,双向亮度函数)、熔点、拉伸强度、剪切强度、毒性等子属性。

属性还可以包括无纺布,无纺布由类型(纸、毛毡、特卫强(Tyvek)等)、颜色、表面质量(例如,双向亮度函数)、表面类型(热压、自然、纹理等)、每平方米重量、酸含量、兼容介质、涂层等指定。

属性还可以包括超材料,超材料可以被描述为在制造过程期间产生的多种材料的组合。例如,在熔融沉积制造期间,可以将具有多种属性的塑料混合在一起,以提供具有各种等级的柔韧性、硬度等的实体产品。根据另一个示例,在激光烧结金属期间,可以将具有各种特性的金属合金混合沉积,从而得到具有各种等级的金属特性的产品。根据又一个示例,在高分辨率紫外线打印过程中,可以沉积具有不同折射率的紫外线固化材料层,从而产生多种光学效果。

属性还可以包括装饰,例如饰边颜色、设计和应用装饰。饰边颜色可以表示T恤衫袖子周围饰边的颜色、自行车头盔底部周围饰边的颜色等。

设计可以指示T恤的定制印刷正面、自行车头盔侧面的定制热印刷设计等。

所应用的装饰可以指示T恤上的水钻、自行车头盔上的全息饰片等。

一些属性可以应用于一大类产品,并可以允许将一组有限的属性从一种产品转移到另一种产品。其他属性可以特定于特定的产品或制造方法。

可以理解的是,该系统和方法的大部分新技术在于列举制造特定定制产品所施加的约束,并且将这些约束制作成一组产品选项密钥值对。这些制造约束在整个系统和方法中传播,通过使用这些产品选项密钥值,可以制造出一系列满足这些实体约束的定制产品。

再次参考图1,在一些实施例中,核心服务16是指在基于角色的协作平台中实现的服务。在所描述的示例中,核心服务16可以由一个或多个实景(RLV)服务器16A和产品选项框架16AA提供。RLV服务器16A和产品选项框架16AA两者都可以使用一个或多个数据层数据库16B,包括RLV数据16C、产品选项数据库16D、事务数据库16E等。例如,RLV方法的示例在美国专利号8,856,160、9,436,963、8,654,120、8,712,566、8,958,633B2和9,436,963;以及美国专利申请号17/193,512、17/143,955、17/038,659和16/867,898中均有描述。

在一些实施例中,核心服务16还可以利用内部工具16F,例如“Phlow”计算照相工具16E、客户支持工具16G、发射台工具16H等。

产品选项框架16AA也被称为持久设计数据框架。框架数据可以包括产品选项集,该产品选项集可以包括与特定产品类型相关的产品选项集。在图2所示的一些实施例中,产品选项集包含例如由图2所示的产品选项框架110和协作组件106生成的产品指令,以用于制造或生产产品。产品选项框架的示例在例如美国专利号8,856,160、9,436,963、8,654,120、8,712,566、8,958,633B2和9,436,963;以及美国专利申请号17/193,512、17/143,955、17/038,659和16/867,898中均有描述。

再次参考图1,产品选项框架16AA被配置为提供用于将产品选项密钥值对(即,制造约束)从一个产品转换到另一个产品的服务。例如,将产品选项密钥值对从一个产品转换到另一个产品可能需要进行用于适应的以下操作:转换颜色空间(即,sRGB转换到CMYK USWeb Coated(SWOP)v2)、将图像从光栅转换为矢量、和/或调整图像大小。图2详细描述了产品选项框架的示例用例。

在一些实施例中,存在两种基本类型的产品指令:(1)固定指令(包括固定且非定制的产品指令)、以及(2)定制指令(包含将用户界面参数转换为产品指令的逻辑)。

在一些实施例中,产品选项集包含逻辑,该逻辑可以枚举每个可定制的选项,以提供完整的用户界面来更改参数化的产品指令。

制造定制产品的指令通常是参数化的。这些参数包括定制产品的尺寸(可以是多维的,并且包括宽度、高度、深度)。这些参数也可能与人的体型或年龄有关。参数也可以是定制的并且基于生物信息。

参数还可以包括部件主体颜色、组件主体纹理、修整主体颜色、修整主体纹理、设计区域等。

2.4.2.生成密钥值对

在一些实施例中,产品选项可以表示为密钥值对。密钥值对是可以跨越个体产品并代表一类产品的标签。成对的密钥可以包括材料类型、颜色、尺寸等。

密钥值对中的值是设置制造指令的特定离散值或连续值。离散(枚举)值的示例可以包括离散类型的织物,例如棉、棉-聚酯共混物、丝织物等。离散值还可以包括特定颜色,例如白色、深蓝色、黑色等。

密钥值对的连续值的示例可以包括单个元素,例如,长度或色带、向量,例如,印刷品的边框尺寸(宽度(英寸))或高度(英寸))、或欧洲国家的盒子尺寸,例如欧盟的盒子尺寸(宽度(毫米)、高度(毫米)、深度(毫米)))。

这些值还可以参考已知的文件类型,例如T恤上的设计的图像、例如夹克背面的刺绣文件、例如手镯的雕刻设计等。

在一些实施例中,密钥值对中的值可以包括设计的图形基元集合,例如,图像、线、圆、矩形、文本、组等。

产品选项密钥值可以具有默认值。默认值是预设值,可以通过定制,在不改变任何密钥值对的情况下生成产品。当密钥值被改变时,它们可能会产生产品选项框架事件链。产品选项框架事件链是按时间排序的每个密钥值变化的日志。

产品类型本身可以由产品选项密钥值表示。使用该选项类型,一个产品类型可以通过众所周知的关系与另一个产品类型相关联。

在一些实施例中,产品选项框架事件链包括一个或多个产品,并且该链可以表示或记录事件。产品可以表示或记录事件。事件的示例可包括邀请、保存日期卡、生日卡、生日礼品、周年纪念卡、出生卡、RSVP卡、假日卡、假日礼品、感谢卡、康复卡等。

许多产品适合事件链。例如,适合婚礼活动的产品可以包括以下产品:保存日期产品、邀请、RSVP、单身汉聚会邀请产品、单身女子聚会邀请产品、聚会优惠产品、礼品注册卡、展位卡、餐巾、婚礼节目、婚礼礼品、感谢卡、婚礼纪念照片等。

适合生日活动的产品示例可以包括以下产品:邀请、RSVP、聚会包、聚会纪念照片等。

在一些实施例中,在产品选项集事件链中,密钥值对对该链中的下一个产品进行编码。例如,邀请可以被链接到RSVP卡。密钥值还可以对链接事件的角色进行编码。例如,链接RSVP卡密钥值还可以包括作为RSVP卡的发送者角色的邀请的接收者。

密钥值对还可以对用于设置链接产品特性的共享特性进行编码。例如,邀请的设计可以与RSVP卡共享。密钥值还可以对链接产品的定时进行编码。通常,事件链特性是定制的(参数化的),并且它们可以由产品设计者改变以适合特定的产品集。

2.4.3.生成图形用户界面

在一些实施例中,产品选项框架被配置为生成产品选项框架用户界面。相应地,每个产品选项集与针对每个参数产品选项构建用户界面元素的逻辑和代码相关联。此外,每个产品选项集包含样式提示,使得每个用户界面元素可以以艺术化的方式放置以产生高质量的用户体验。

通常,用户界面元素被设计成与在由产品选项框架覆盖的所有产品中发现的每一类值匹配。当产品类别扩展时,可以添加新的用户界面元素。用户界面元素可以包括设计视图、颜色编辑器、字体编辑器、尺寸选择器、纹理选择器、文本编辑器、面料色板选择器、产品实景等。

在一些实施例中,产品选项框架与可以在例如实景服务器16A中实现的用户产品呈现器协作。用户产品呈现器可以被配置为呈现定制产品的视图,就像产品已经生产出来一样。通常情况下,它使用产品选项密钥值集作为输入。它使用所制造产品的计算摄影来创建一个或多个运行时资产。

2.5.示例性制造系统

再次参考图1,制造指令可以从核心服务16传送到制造16,该制造16可以包括一个或多个制造服务器16AAA。服务器16AAA可以接收制造指令,处理指令,并且与供应商制造应用18A通信以生成例如制造数据、操作员指示、工具/机器代码等。该应用还可以生成关于订单状态、装箱单、生产表单等的信息。这些信息中的一些信息可以被传送到为将最终产品递送到接收者而选择的承运人(运输)服务。

为了创建实景资产,可以使用标记来制造最终产品。例如,产品主体颜色的标记可以通过为主体颜色密钥值指定完全不同的和单独的颜色来制作。产品装饰颜色的标记可以通过为例如饰边颜色密钥值对指定完全不同的和单独的颜色来制作。产品设计区域的标记可以通过为设计区域图像指定特定标记类型(例如,可移动线性标记、数字标记或数字字段标记)来制作。

可以使用计算摄影技术来执行所谓的产品实景几何结构的构造。例如,表面的主体颜色区域可以被识别并且被分层,作为用于呈现光、颜色和纹理的定制计算机图形着色器。每个饰边颜色区域的表面可以被识别并且被分层,作为用于呈现光、颜色和纹理的定制计算机图形着色器。产品实景的呈现可以通过设置其产品选项密钥值,并且对其构造层中的每一层进行着色来执行。

2.6.示例性制造过程

制造过程可以涉及制造数字产品和制造实体产品。因为用于生成产品的制造指令是基于产品数字设计的多个密钥值对而生成的,所以在某些情况下,同一制造指令可以用于制造数字产品以及制造实体产品。

在一些实施例中,产品选项框架(在图2中详细描述)为被称为输出样式的密钥构建界面。输出样式密钥的界面可以允许设计者(或任何其它协作者)选择用于展示交互式设计的媒体的值。选择可以包括JPEG图像、GIFF图像和H264视频。

如果设计者选择GIFF图像选项,则产品选项框架可以向制造系统发送指令,以遍历密钥值日志中的每个密钥值,并且针对每个密钥,使用用户产品渲染将具有该修改的定制实体产品的状态渲染为sRGB 32位RGBA格式的图像。随后,制造系统可以将该渲染存储在本地图像缓存中。

然后,制造系统可以遍历被存储在本地图像缓存中的图像,并且为该图像集合确定最佳调色板。

随后,制造系统可以将本地图像缓存中的图像从32位RGBA格式转换成8位索引颜色。

然后,制造系统可以在8位索引彩色图像缓存中嵌入对所输入的密钥值日志的UUID进行编码的数字水印。

接下来,制造系统可以开始对图像文件进行编码。例如,制造系统可以写入报头字节、写入逻辑屏幕描述符字节、写入所发现的调色板作为GIF全局颜色表、写入GIF 8位字符应用名称、以及嵌入元数据作为对所输入的密钥值日志的UUID进行编码的注释(或水印)。

接下来,制造系统将帧数设置为1,并且继续处理图像文件中的每一帧。该处理包括:检查8位索引彩色图像缓存中是否有图像;如果8位索引彩色图像缓存中有图像,则制造系统继续;如果8位索引彩色图像缓存中没有图像,则制造系统继续拍摄下一图像。

继续,制造系统为帧数写入GIF图形控制描述,然后将第一个8位索引彩色图像缓存处理成255个LZW压缩字节块。

接下来,制造系统写入压缩字节,并且从8位索引彩色图像缓存中移除第一图像。然后,制造系统增加帧数,并对下一帧重复该过程。

一旦制造系统处理了所有的帧,制造系统就将文件终止符(例如,用于零的ASCII码)写入到图像文件并且输出所制造的GIF产品。

此时,出于制造产品的目的而执行制造指令的结束,并且产品的制造完成。

2.7.示例性产品协作平台

在一些实施例中,用于生成和使用令牌来请求服务和对产品协作平台的访问的方法可以在托管产品协作平台的一个或多个计算机系统中实现。替代地,该方法可以在与协作平台通信但实际上不托管平台本身的一个或多个计算机系统中实现。为了描述的清楚,假设支持本文展示的方法的计算机环境在产品协作平台中实现。

图2是示出基于角色的协作平台1的示例的框图。在图2所示的示例中,计算机协作系统100包括用户简档数据库102、全局密钥值数据库103、产品数据定义数据库104、属性树数据库105、协作组件106、产品选项框架110、属性引擎108、一个或多个处理器120、一个或多个存储单元122以及一个或多个框架129至框架136。

此外,计算机协作系统100包括协作服务器155、一个或多个设计者数据库562、一个或多个设计数据库564、协议处理器152、通信处理器153和代码嵌入器158。计算机协作系统100可以直接或经由一个或多个通信网络130与一个或多个用户计算机140a至用户计算机140g通信,所有这些都将在后面详细描述。

在一些实施例中,协作服务器155包括监视系统156、请求分析器159、交互性模块577和设计者选择器566。协作服务器155中还可以包括附加模块。关于协作服务器155的细节将在后面描述。

本文提供图2中示出的计算机协作系统100是为了清楚地说明示例,而不应被视为以任何方式进行限制。其他计算机协作系统可以包括诸如计算机服务器、各种输入/输出设备之类的附加组件,以及图2中未描绘的附加软件和/或硬件组件。其他计算机协作系统可以在基于云的系统、分布式计算机网络等中实现。其他计算机协作系统可以包括比图2中示出的示例计算机协作系统100所包括的组件更少的组件。后面详细描述计算机协作系统100。

3.与实时设计者和代理协作生成定制产品的示例

为了提供清晰的示例,设计人员是隶属于计算机协作系统支持团队的高技能和训练有素的个人,而支持代理是支持团队的任何成员。有些设计者也可能是支持代理或支持工程师。然而,为了简化示例,这里提到的设计者是指可以为协作平台客户提供帮助的一组个人。

图3是示出在产品协作平台中实现的协作示例的框图。在所描述的示例中,客户202与设计者212和/或客户支持代理216协作。个体202、212和216的角色以及协作的不同方式在图8中详细描述。在其他示例中,客户202可以同时与若干对等体、若干支持代理和/或若干设计者协作。

在图3中,客户202经由沿链路256建立的通信会话与设计者212通信,并且经由沿链路252建立的通信会话与客户支持代理216通信。由设计者212传送的数据经由链路204A传送到协作服务器155;由客户202传送的数据经由链路202A被传送到协作服务器155;并且由代理216传送的数据经由链路216A被传送到协作服务器155。

在一些实施例中,协作服务器155的监视系统156截取沿链路256交换的数据流和/或截取沿链路252交换的数据流。协作服务器155可以与产品选项框架110协作,并向产品选项框架110传输(20E1)数据。协作服务器155还可以与属性引擎108协作,并向协作服务器155发送(20E3)数据。

此外,协作服务器155可以与请求分析器159合作,并向请求分析器159发送(20E2)由客户202做出的请求,例如来自设计者212(或代理216)的帮助。

在一些实施例中,请求分析器159可以从产品选项框架110请求和接收(20E4)数据。此外,请求分析器159可以从属性引擎108请求和接收(20E5)数据。请求分析器159还可以从设计者数据库562、设计数据库564等请求信息。稍后将详细描述请求的处理。

协作服务器155、产品选项框架110、属性引擎108和请求分析器159可以彼此协作。这可以包括记录在交互式会话期间生成的多个密钥值对,在交互会话期间,设计者212、客户202和客户支持代理216创建了交互式数字设计。这还可能包括将协作会话期间记录的多个密钥值对中嵌入的所有权和许可协议转化为例如图网络,然后转化为所有权协议树。这还可包括就客户202、设计者212和客户支持代理216之间分别建立的通信信道256和252评估所有权协议树,以确定任何用户202、204和216之间的任何通信是否违反了所有权协议树中包括的任何约束。

协作服务器155、产品选项框架110、属性引擎108和请求分析器159还可以在接收到订购例如对应于交互式数字设计的实体产品的请求时彼此协作。响应于接收到请求,协作服务器155、产品选项框架110、属性引擎108和请求分析器159可以协作来生成、确定或取回代表交互式设计的多个密钥值对的令牌330。

在一些实施例中,捕获产品的多个密钥值对的数字令牌330可以存储在存储单元中的位置。可以使用超链接或UUID来识别位置,如前所述。令牌的生成和令牌的存储可以由例如图2所示的代码嵌入器158来执行。

在一些实施例中,指向存储多个密钥值对的位置的超链接或UUID与制造服务器335通信。制造服务器335可以基于超链接或UUID取回多个密钥值对,并将这些密钥值对转换成例如用于制造实际产品的制造指令。然后,制造服务器335可以基于密钥值对使用制造指令来制造实际产品。根据制造指令,实际产品可以是数字产品332或实体产品334。

数字产品332可以是数字贺卡、数字邀请等。实体产品334可以是实体水瓶、实体马克杯等。

在一些实施例中,制造服务器335生成令牌,该令牌捕获令牌数据并描述用户可以如何请求与制造的产品相关的服务,以及如何访问产品定制平台。令牌,即令牌数字数据,可以被编码在令牌标签中。

在一些实施例中,如果实际产品是数字产品332,则令牌标签是粘贴到数字产品332的图像中的令牌数字标签。然而,如果实际产品是实体产品334,则令牌标签是附着到实体产品334的令牌实体标签。

4.密钥值对

在一些实施例中,用于与实时设计者或代理协作生成定制产品的方法包括管理为产品的交互式设计而创建和维护的产品描述数据。用于交互式设计的产品描述数据可以包括以数字方式捕获交互式设计的特征和参数的数据。产品描述数据可用于制造对应于交互式设计的定制产品。产品描述数据还可用于生成交互式设计的图形可视化表示,该交互式设计可通过多个可变产品属性进行定制生产。产品描述数据可由协作服务器进行解析,以识别多个全局密钥值对,这些全局密钥值对在产品描述数据中记录了多个贡献者。

全局密钥值对通常包括一个密钥和与该密钥相关联的值。全局密钥值对被称为全局的,因为它对当前协作会话是全局的。虽然该密钥在所有事务中都具有持久的含义,但该值的作用域仅限于特定的协作会话。此外,在特定协作会话期间创建和修改的所有全局密钥值对都被记录下来,并为该特定协作会话而保存。

至少部分地基于多个全局密钥值对,构造所有权属性树。至少部分地基于所有权—属性树,根据多个可变产品属性生成用于定制实体产品的生产指令。制造指令可被传输到产品定制服务器,以促使制造实体根据制造指令生成定制产品。

全局密钥值对的示例可以包括:年龄限制密钥值,包括年龄限制密钥和年龄值;内容锁定密钥值,包括内容锁定密钥和内容锁定密钥值;黑名单密钥值,包括黑名单密钥和黑名单;白名单密钥值,包括白名单密钥和白名单;所有权密钥值,包括所有权密钥和用户通用唯一标识符(用户ID);版权密钥值,包括版权密钥和用户ID;许可证密钥值,包括所有者或主要设计者和计算机协作服务器之间持有的特定许可证协议的许可证密钥和通用唯一标识符;客户支持密钥值,包括支持密钥和支持代理合同标识符;以及属性密钥值,包括属性密钥和通用唯一标识符,该标识符引用用于制造的一组软件指令,以按照版权或许可协议的指示在产品上应用标记。也可以实现其他全局密钥值,例如特定于实现或产品线的密钥值。

在一些实施例中,当从一个或多个用户界面接收到对交互式设计的一个或多个修改并用于更新交互式设计时,生成用于交互式设计的产品描述数据。

在产品描述数据中记录的多个全局密钥值对可以在用于定制交互式设计的定制会话被发起时产生。每次当获得有效许可并参与定制会话的贡献者对交互式设计进行修改时,多个全局密钥值对会被更新。多个全局密钥值对可以携带特定于定制会话和交互式设计的许可协议信息和限制信息。

在一些实施例中,在检测到没有提供交互式设计的进一步修改时,将记录在产品描述数据中的多个全局密钥值对存储在全局密钥值数据库中。

5.协作示例

图2所示的计算机协作系统100可以支持各种协作会话。协作会话可以在两个或多个用户之间建立。协作会话的类型可能取决于分配给参与会话的用户的角色。例如,客户可以与客户支持代理协作,与图形设计者一起从事创造性工作,请求代理或设计者帮助修改定制产品模板,与客户的同行协作,观看设计者实时创建设计,观看设计者演示如何离线创建设计,观看如何创建特定定制产品的预览,和/或观看图形艺术家执行的一组编辑过的日志动作,以了解如何解决特定的设计问题。

5.1.客户代理协作

客户可以与设计者协作,设计者也称为实时设计者或代理。例如,客户可以请求设计者的帮助,以帮助客户定制交互式设计,并向客户展示设计者将如何修改交互式设计以实现客户希望看到的设计。

客户和设计者之间的协作会话的示例可以包括当客户正在市场站点中探索产品网页并且需要帮助调整设计时的情况,例如聚会邀请、马克杯设计等。另一个示例可以包括当客户正在探索描绘马克杯图片的市场站点中的产品网页并且想要调整设计时的情况。其他示例可以包括当客户发现婚礼邀请、节日贺卡、定制毛毯等的有趣设计,但不知道如何修改该设计时的情况。在其他一些情况下,客户希望联系客户服务或致电帮助台,请求使用协作工具方面的帮助。

5.2.共享对产品描述数据的访问

在客户和实时设计者之间协作的交互式设计的定制可以包括由客户和设计者创建设计和修改设计。为了能够定制设计,客户和设计者可以共享对与设计相关联的产品描述数据的访问。

在一些实施例中,为了能够与图形设计者在交互式设计上协作,客户可以请求客户与设计者之间的协作会话,并且由协作平台支持。一旦建立了会话,客户和设计者可以共享对与交互式设计相关联并且包括相应的密钥值对的产品描述数据的访问。

协作会话可以支持客户和设计者之间的通信会话,用于由客户修改交互式设计的修改会话,用于由设计者修改交互式设计的修改会话等。这些会话可以合并成一个协作会话。图6描述了不同会话的示例。

可以为每个客户或设计者或两者建立用于修改交互式设计的修改会话。

为了发起客户的修改会话,计算机协作系统可以为客户生成用户界面。可以至少部分地基于存储在客户简档中的信息来生成该界面。该信息可以包括指示客户角色的信息。用户界面可以包括特定于客户的功能,并且允许客户与其他人协作,修改交互式设计的属性,将修改存储在与交互式设计相关联的产品描述中,将修改存储在交互式设计的修改的日志列表中,对日志列表进行修剪和重新排序,以及发布修改后的交互式设计的呈现。

在一些实施例中,计算机协作系统可以在客户的用户设备中执行的用户界面中显示交互式设计以及代表属性、属性组和属性适用的设计内位置的注释。属性、属性的默认值和属性值的默认范围可以由属性引擎提供,该引擎可以是计算机协作系统的一部分。属性引擎可以根据制造商、设计者或系统管理员提供的约束来定义和/或过滤属性。

响应于在用户界面中接收带有注释的交互式设计的呈现,用户可以使用用户界面的功能在交互式设计的描述中的特定位置选择特定属性或特定属性组,并选择或调整与属性相关联的值。例如,用户可以选择宽度属性,并使用用户界面提供的滑块对象为宽度参数设定一个新值。参数的新值可以作为序列化的密钥值对传送到产品选项框架。

响应于用户界面的接收,客户还可以请求设计者提供帮助。图4中描述了请求设计者协助的各种方式的示例。

如果客户请求设计者提供帮助,协作平台可以允许客户和设计者共享对与交互式设计相关且包括相应密钥值对的产品描述数据的访问。例如,在接收到请求后,平台可为设计者启动修改会话,并可为设计者生成用户界面。界面的生成至少可以部分地基于设计者简档中存储的信息。该信息可包括指示设计者角色的信息。用户界面可以包括设计者特有的功能,这些功能允许设计者与他人协作、修改交互式设计的属性、将修改存储在与交互式设计相关联的产品描述中、将修改存储在交互式设计的修改日志列表中、对日志列表进行修剪和重新排序,以及发布修改后的交互式设计的呈现。

协作平台可以允许客户或设计者访问产品描述数据,或者可以允许两者都访问。然而,每次客户或设计者请求访问产品描述数据时,都可以实现访问之间的切换。

访问之间的切换可以执行多次,通常直到客户和设计者对产生的交互式设计感到满意,或者直到他们决定终止协作会话。此时,在服务器上或云系统中的位置存储用于交互式设计的序列化密钥值对,并且创建到存储对的位置的超链接。当接收到序列化的密钥值对时,产品选项框架可以将序列化的密钥值对存储在交互式设计的修改的日志列表中。

当从用户接收到查看日志列表的请求时,属性引擎可以向在用户设备上执行的用户界面提供日志列表,并使用户界面显示日志列表。此时,用户可以查看日志列表中包含的修改,对列表中包含的修改重新排序,从列表中移除某些修改和/或要求将列表中包含的修改应用到交互对象中。用户还可以要求生成当前交互式设计的呈现图。如果当前交互式设计的呈现完成,用户可以在多个可用视图中的任一视图中查看呈现。

在一些实施例中,用户可以接受修改设计的呈现描述,并要求将定制设计发送给制造商或经销商。然后,用户可以根据提供给制造商或经销商的定制设计下单购买实际产品。

5.3.请求设计者的帮助

假设用户想要设计一张以特定花卉图案作为背景的贺卡。假设用户喜欢现代花卉图案;然而,用户无法获得此类图案,也不知道此类图案的名称。此外,假设用户希望使用柔和的调色板表现的现代花卉图案。此外,假设用户希望在花卉图案前叠加文字编排,而文字编排是以PDF格式提供的。此外,假设用户希望在贺卡上添加一张他孩子的照片,而照片是以JPEG格式提供的。最后,假设用户在设计贺卡方面缺乏经验。

解决这个问题的一种方法是邀请用户访问本文所描述的产品协作平台,然后允许用户请求经验丰富的设计者提供帮助,与用户合作制作上述定制贺卡。图4中描述了与可供协作的设计者取得联系的不同方式的示例。

图4是显示与设计者和代理协作的示例的框图。所描绘的示例说明了用户与设计者联系的不同方式。然而,所描述的示例仅用于说明一些选项,不应被视为以任何方式进行限制。其他选项也可以实现,用于提供和呈现选项的其他类型的图形界面也可以实现。

图4中描绘的示例示出了可以在用户计算机上生成的GUI 400,例如图2中所示的设备140A、140B、140C和140D。一旦用户计算机的用户设备与图2所示的计算机协作系统100建立了通信连接,就可以启动在用户计算机上生成GUI 400。

在一些实施方式中,一旦建立通信连接,作为图2所示计算机协作系统100的一部分的协作服务器155就会生成用户计算机用于生成GUI 400的数据。在一些实施方式中,数据可以由协作服务器155本身生成;在其他实施方式中,数据可以由协作服务器155的一个或多个模块生成。例如,数据可以由交互模块577生成。

一旦生成了用于生成GUI 400的数据,协作服务器155就经由在用户设备和计算机协作系统100之间已经建立的通信连接将该数据传送到用户设备。

一旦接收到数据,用户设备启动浏览器,使用数据生成GUI 400,并在用户设备上运行的浏览器中显示GUI 400。

在一些实施方式中,GUI 400包括一组交互式按钮,包括例如实时按钮411、搜索按钮421、趋势按钮431和探索按钮441。也可以实现其他交互式按钮。在其他实施方式中,可以提供不同的按钮或按钮的不同布置。GUI和交互式按钮的类型和布置取决于实施方式,不应被视为任何形式的限制。

5.3.1.直接请求

在图4的示例中,实时按钮411被实现,以允许用户直接向一个或多个设计者请求帮助。

在一些实施方式中,实时按钮411可用于发起与任何设计者或与特定设计者的协作。通过选择(例如选择实时按钮411),协作平台提供了用于直接联系一个或多个设计者的机制。在图4所示的示例中,使用活动选项411来指示该选项。

在选择实时选项411时,客户可以被重定向到网页或子菜单,包括诸如专家设计帮助或允许客户指定客户需要的帮助类型的任何其他网页的选项。例如,客户可以被重定向到显示专家设计帮助410的网页或子菜单,客户可以从中访问帮助选择器412的类型。

帮助选择器412可以允许客户选择客户需要的帮助或协助的类型。在图4所示的示例中,客户可以在设计中的帮助413、创建邀请的帮助414等之间进行选择。图4中显示的示例不应被视为以任何方式受到限制。

一旦客户选择了他/她所需要的帮助类型,客户可以被重定向到网页或子菜单,其将提供GUI,允许客户描述(416)他的项目,支付并与特定设计者匹配(417),开始(418)与设计者的实时聊天,等等。图4中显示的示例不应被视为以任何方式受到限制。

假设客户在创建带有嵌入图像的花卉邀请时需要一些帮助。假设客户已经访问了产品协作平台,并且能够使用实时选项411向设计者请求帮助。在选择选项416,即用于描述客户需要帮助的项目的选项时,客户可以指定,例如,所请求的设计者必须是熟悉现代花卉图案的有经验的插画师。顾客也可以指定设计者必须熟悉用柔和的调色板表达的现代花卉图案。此外,客户可以指定设计者必须知道如何编辑图案、图像、图像的像素数据向量、调整图像大小和重新缩放图像、叠加图像、创建图案、图像和文本数据的拼贴、重新定位拼贴图像的组件等。

然而,上述标准可能不是唯一的标准,也不是设计者应考虑的唯一特征。附加特征可以包括,例如,设计者的可用性、设计者的评级、设计者的工作量、允许设计者接受工作分配的设计者许可证、设计者的偏好等等。例如,设计者1可能在东部时间周二至周三上午8点到11点有空,而设计者2可能在太平洋时间周三至周五中午12点到下午5点有空。因此,在东部时间周二上午有紧急项目的客户可能会考虑从设计者那里获得帮助1。图5A描述了设计者特征的示例。

可以使用各种方法来确定拥有上述资格的一个或多个设计者。图5A-5B描述了这些方法的示例。

5.3.2.经由搜索请求

在一些实施例中,当客户正在执行产品或产品类别的搜索时,客户可以请求设计者的帮助。例如,客户可以从显示在用户设备或客户的显示设备上的GUI 400中选择搜索按钮421。

在选择搜索按钮421时,客户可以被重定向到允许客户浏览例如各种产品和/或产品类别的网页420或子菜单。产品类别的非限制性示例包括贺卡422、邀请423等。所描述的示例不应被视为以任何方式受到限制。

当客户浏览网页420中的产品类别时,可以向客户展示“帮助”按钮(图4中未示出)、“聊天”按钮(图4中未示出)或允许客户向设计者请求帮助或协助的任何其他元素。

5.3.3.经由广告请求

在一些实施例中,客户可以通过选择显示在GUI中并且以特定设计者为特征的广告来请求设计者的帮助。例如,客户可以从显示在用户设备或客户的显示设备上的GUI 400中选择趋势按钮431。

在选择趋势按钮431时,可以向客户展示各种选项,包括菜单430,该菜单430包括以特定艺术家(例如,特定设计者)为特征的广告432、即将到来的节日(例如,母亲节)的公告433等。

在一些实施例中,在选择以特定艺术家为特征的广告432时,客户可以被重定向到网页434或子菜单,其特征是艺术家专门从事的产品435、由艺术家设计和/或创建的产品的集合436、艺术家资格的“关于”摘要437等。

假设客户选择“关于”摘要437来询问艺术家的资格。响应于该选择,可以向客户展示网页438或子菜单,该网页或子菜单可以允许客户给艺术家留下(438A)消息,查看(438B)艺术家的资格、评级、可用性等。

5.3.4.经由浏览请求

在一些实施例中,当客户选择例如GUI 400中的探索按钮441时,客户可以请求设计者的帮助。

在选择探索按钮441时,客户可以被重定向到网页440或子菜单,经由该网页440或子菜单,客户可以浏览协作平台的各种类型的特征。不同特征的非限制性示例可以包括乐趣和灵感选项442、有用的工具选项444等。

当客户浏览网页440中的不同特征时,可以向客户展示“帮助”按钮(图4中未示出)、“聊天”按钮(图4中未示出)或允许客户从设计者请求帮助或协助的任何其他元素。

6.设计者简档

对于可用于与产品协作平台的用户协作的每个设计者,该平台可以维护设计者简档。设计者的设计者简档是描述设计者提供的服务特征的信息体。

6.1.示例简档

图5A是一个框图,显示了在产品协作平台中实现的基于请求和设计者档案的设计者选择过程的一个示例。设计者简介500A、500B、500C等的集合可以存储在简介数据库562中,该数据库可以是协作系统100的一部分,也可以存储在协作系统100可用的单独存储系统中。

设计者的简档500A的内容可以变化并且可以取决于实施方式。提供图5A中描述的内容的示例仅仅是为了说明一些示例。这些示例不应被视为具有任何局限性。

在一些实施例中,设计者的简档500A包括设计者的联系信息502,该联系信息可以包括设计者的姓名、电子邮件地址等。

设计者的简档500A还可以包括关于设计者的偏好、风格、流派504等的信息。

设计者的简档500A还可以包括关于设计者的调色板和颜色偏好506的信息。

设计者的简档500A还可以包括关于设计者的媒体508、设计者的样本510、设计者的专长512、设计者的可用性514的信息(例如,它可以包括设计者可用的日期、设计者可用的时间、设计者的响应时间、设计者的及时性等的指示)、设计者的评级、分数516等。

设计者的简档还可以包括用于提供和显示从其他人接收的并且与设计者相关的反馈和评论的界面、用于使用协作平台与设计者交互的个人客户的反馈等。简档还可以包括关于设计者的受欢迎程度、他的评级、他的分数等信息。

设计者的简档还可以包括关于设计者的流行设计、设计者喜爱的主题等的信息。

设计者的简档可以被视为度量,或者可以被用于生成度量,用于对设计者进行排名和评估。更具体地说,度量可用于确定设计者所做工作的广泛类别集合,确定量化和限定设计者技能的具体方式,确定设计者技能和度量的应用如何影响设计过程,以及确定所设计的艺术品对用户(即,产品协作平台的客户)的可用性和可访问性。

6.2.参数请求

在一些实施例中,客户请求设计者的帮助以创建定制产品的交互式设计。有些设计者可能只在特定时间有空;一些设计者可能只支持某些风格的设计,或者可能非常擅长某些风格的设计。此外,一些设计者只支持和协助他们擅长的某些产品。

假设客户有一组他/她在假期与家人一起庆祝假期时拍摄的照片。假设这组照片包括15张照片,但顾客对其中任何一张照片都不满意,因为没有一张照片能很好地描绘所有客人:一些客人在一些集体照中“看起来不错”,但其他客人在其他一些照片中“看起来不错”。但是没有一张照片包括每个小组中每个客人的最佳照片。此外,客户希望在一周内准备好节日贺卡。

要解决这个问题,客户可能有几种选择。其中一种选择是请求设计者的帮助,该设计者擅长从不同的照片中创建拼贴照片,并且可以从不同的照片中挑选最佳照片,并将最佳照片组合在一张拼贴照片中。这样的设计者必须熟练地知道如何选择、裁剪和组合单个镜头,以便它们具有相似的大小、照明和曝光,并且当组合成一张最终照片时,照片看起来自然而真实。设计者应该能够将不同的照片组合成一张连贯的照片,该照片真实地描绘出小组中几个人的最佳镜头。

然而,让客户知道哪个设计者拥有这种专业技能、在特定时刻有空、并且有设计和定制照片的经验是不现实的。

为了帮助提供来自设计者的具体援助请求,协作计算机系统可以生成GUI并在客户的显示设备上显示GUI,该GUI可以允许客户选择客户正在寻找的设计者的某些参数和特征。GUI可以以许多不同的方式组织,包括可选选项、可选子菜单、可选参数等。

再次参考图5A,客户可以在来自设计者的援助请求中包括一个或多个参数。在所描述的示例中,请求550A包括参数1、参数2、参数3等等。参数的数量通常是特定于请求的,并且取决于请求的特殊性和客户提出的要求。

参考上面的示例,在请求550A中,客户可以指定例如被请求的设计者应该专门从事拼贴照相(参数1),应该专门从事插图(参数2),并且应该在接下来的七天内可用(参数3)。当然,根据实施方式的不同,可以以许多不同的方式提供参数。例如,用户可以选择对应于上面列出的参数1-3并且由显示在客户的用户设备上的GUI提供的选项。

6.3.特定设计者的选择

存在从与协作计算机系统相关联的设计者组中选择特定设计者并指定该设计者来帮助请求帮助的客户的许多方式。例如,在接收到来自设计者的帮助请求时,协作计算机系统可以通过从一组设计者中随机选择第一可用设计者来选择可用设计者。

选择特定设计者的另一种方式是使用类似循环的算法,该算法,按顺序选择设计者,从而让每个设计者都有机会被选中并接受工作分配。

其他方法包括基于请求中陈述的具体信息与设计者简档中包含的信息之间的最佳匹配来分配可用的设计者。基于匹配选择特定设计人员来帮助客户的一个示例是使用从客户接收到的请求中包含的参数和设计人员简档中包含的特征。

当客户经由允许客户请求帮助的菜单和子菜单导航时,一些参数可以自动包括在请求中。当客户请求帮助时,客户可以显式地输入其他参数。还假设在接收到对帮助的请求之前,设计者的简档被创建并且可用于搜索。下面描述该方法的许多实施方式之一。

在一些实施例中,当接收到请求550A、550B、550C中的任何一个时,协作计算机系统解析该请求以识别包括在该请求中的参数。

在图5A所示的示例中,解析由设计者选择器566执行,设计者选择器566可以是协作系统100的协作服务器155的组件。

在一些实施例中,设计者选择器566包括解析器566A、过滤器566B、搜索器566C、机器学习模型566D和人工智能模块566E。附加元素也可以包括在设计者选择器566中。在其他实施方式中,设计者选择器可以包括更少的组件。所提供的示例不应被视为以任何方式受到限制。

在一些实施例中,人工智能模块566E可以使用机器学习模型566D来从多个可用设计者中确定例如一个或多个设计者,其简档满足从客户接收的用于帮助创建交互式设计的请求中所述的要求。例如,人工智能模块566E可以实现神经网络(稍后解释),使用从请求中包含的参数获得的搜索关键字对设计者的简档正文进行搜索,并确定每个相应简档与搜索关键字匹配的概率。图5B描述了一个示例。

在一些实施例中,人工智能模块566E可以使用机器学习模型566D来确定设计者的分数和评级。例如,人工智能模块566E可以使用由各种来源(例如,客户、设计者、代理、系统管理员等)提供的输入,应用被设计为确定设计者的分数的机器学习模型566D,并确定设计者的结果分数。

在一些实施例中,请求550A包括一个或多个动作参数。动作参数是指示客户需要帮助的动作的参数。动作参数的示例如图5B所示。

图5B是示出在产品协作平台中实现的动作参数的示例的框图。在所描述的示例中,请求550A包括一个或多个参数(包括参数1、参数2和参数3)和一个或多个动作。在元素552中描述了动作的非限制性示例,并且包括以下内容:创建、修改、建议、改变风格、添加图像、移除一些细节、添加一些细节、查找图像、生成元素的拼贴、请求另一个设计者、设置/改变/取消与特定设计者的预约、对设计者进行评级等等。动作示例取决于实现,上面的示例不应被视为以任何方式受到限制。

再次参考图5A,在接收到请求550A时,解析器566A可以解析请求以识别请求中的一个或多个参数和一个或多个动作。

在一些实施例中,在请求中标识了一个或多个参数和一个或多个动作中的一个,过滤器566B可以过滤参数和动作以确定用于搜索存储设计者简档的数据库的一个或多个搜索关键字。

一旦基于从客户接收的请求中识别的参数和动作确定了一个或多个搜索关键字,搜索器566C可以使用搜索关键字来搜索存储设计者简档的数据库,以选择其简档与搜索关键字匹配的一个或多个设计者。

在一些实施例中,搜索器566C可以利用机器学习模型566D和人工智能模块566E来执行对设计者简档的搜索,以识别其简档与搜索关键字匹配的一个或多个设计者。模块556D和566E可以实现任何类型的神经网络。在深度学习中的不同类型的神经网络可以包括卷积神经网络(CNN)、递归神经网络(RNN)和人工神经网络(ANN)。这些网络可以被认为是深度学习方法的核心,用于与实时设计者和代理协作生成定制设计。本方法可以利用任何类型的神经网络和任何类型的机器学习模型。

一旦模块566C-566E确定其简档满足由搜索关键字指定的搜索标准的一个或多个设计者,设计者选择器566可以生成一个或多个推荐570A-B以向客户推荐一个或多个设计者。推荐可以包括设计者的姓名、设计者的联系信息、设计者简档的摘要、设计者的可用性等等。

在接收到一个或多个推荐570A-B时,客户可以选择特定设计者并开始与该设计者通信。

可以使用许多方法来实现与特定设计者的发起通信。这些方法的示例包括在客户和特定设计者之间建立一个或多个通信信道。图6描述了通信信道的示例。

7.0.示例性通信信道

一旦从一组可用设计者中选择了特定设计者并被指定其帮助客户创建交互式数字设计,特定设计者和客户就可以使用跨协作计算机系统在设计者和客户之间建立的一个或多个通信信道彼此通信。通道的示例包括视频会话。视频、文本和语音会话可以嵌入协作web或移动界面中,或者可以使用外部应用(例如,缩放会议、WebEx会议等)、电话会议、文本聊天、注释等。在一些实施例中,可以在特定设计者和客户之间建立一个或多个同步通信信道。图6描述了各种通信信道的示例。

图6是显示客户和设计者之间建立的通信信道示例的框图。假设客户602和设计者604使用协作平台在交互式设计上彼此协作。

假设客户602从其用户设备发起与设计者604的用户设备的通信会话。通信会话的示例可以包括基于实时视频的会话、实时音频会话以及与设计者和/或支持工程师的实时聊天。

如果用户602、604的设备建立了视频会话,则相应的通信信道在用户602、604之间传送视频流610。如果使用音频会话连接设备,则相应的通信信道在用户602、604之间传送音频流612。如果使用聊天会话连接设备,则相应的通信信道传送聊天流614。如果使用电话线连接设备,则相应的通信信道传送音频2流616。在一些实施例中,用户602、604的设备可以建立两个或多个并发会话。

在一些实施例中,在用户602、604之间通信的每个数据流可以被监视系统156或被配置为截取数据流的任何其他组件或设备截取。参考图6中描述的示例,截取的数据包括:截取的视频流610A、截取的音频流612A、截取的聊天流614A或截取的音频流616A中的一个或多个。在一些实施例中,可以截取额外的流。

在一些实施例中,所截取的数据由监视系统156和/或协作服务器155处理。该处理可以包括生成截取的数据流的转录本,并处理转录本以确定用户602、604之间的交互的各种特征。例如,基于截获的数据流,监视系统156可以确定抄本是否包括触发违反协作平台使用条款的特征。违规可能包括不响应、不恰当的语言、不回答问题、违反所有权—许可协议等。

如果确定转录本中包括的特征触发了对例如捕获协作平台的使用条款的所有权—许可树中包括的约束的违反,则协作服务器155或与协作服务器155协作的组件确定一个或多个动作620。动作可以包括,例如,生成可以发送(元素634)到用户602和/或发送(元素632)到用户604的消息或通知。替代地或附加地,消息可以被发送到协作平台的经理和/或监督使用协作平台工作的设计者的经理。

8.与实时设计者协作的示例过程

8.1.选择特定的设计者

在接收到来自实时设计者的协助请求时,协作系统可以选择能够向客户提供协助的一个或多个设计者。选择设计者的不同方法包括随机方法、启发式方法、人工智能方法,其中一些已经在上面描述过。图7A中描述的方法是基于将从客户接收的请求中包含的参数与设计者的简档进行匹配。该方法可以使用基于人工智能的模型以及基于搜索的功能来实现。

图7A是示出与产品协作平台的实时设计者和代理协作生成定制产品的示例过程的流程图。图7A中描述的步骤可以由图2所示的计算机协作系统100来执行。这些步骤也可以由与计算机协作系统100协作的计算机服务器来执行。或者,这些步骤可以由通信耦合到计算机协作系统100的分布式计算机系统来执行。为了描述的简单性,图7A中描述的步骤由计算机协作计算机执行。

在步骤702中,计算机协作计算机从在与客户相关联的用户设备上执行的用户界面接收电子数字请求,用于帮助对交互式数字设计进行协作。在一些实施例中,电子数字请求包括一个或多个协作参数和/或动作。图5A-B描述了参数和动作的示例。

在步骤704中,响应于接收到电子数字请求,协作计算机从多个设计者简档中选择一个或多个设计者简档,每个设计者简档满足一个或多个协作参数中的一个或多个。

在步骤706中,协作计算机确定是否已经从一个或多个选择的简档中选择了特定的设计者。特定设计者的选择可以由客户或协作系统做出。

在一些实施例中,在客户选择或以其他方式指示客户希望与特定设计者一起工作之后,由客户从多个设计者中选择特定设计者。例如,客户可能明确要求特定的设计者。

根据另一示例,客户可以从可用列表中选择特定设计者。例如,协作计算机可以生成GUI,该GUI包括所有选定设计者的列表,这些设计者的简档与基于包括在由客户提交的请求中的参数而生成的一个或多个搜索关键字相匹配。例如,如果客户请求一个专门从事装饰艺术设计的设计者,并且协作系统找到了三个具有该专长的设计者,则协作计算机可以生成GUI,该GUI可以显示关于这三个设计者的信息,并且在这三个设计者中的每一个旁边,可以显示允许客户选择这三个设计者中的一个的选择器。一旦客户对特定设计者做出特定选择,该选择可以被传送到协作计算机以指示客户选择的设计者。

然而,如果协作计算机不允许客户选择特定设计者,则协作计算机自己选择特定设计者。在一些实施例中,协作平台实现设计者选择算法,以从一组设计者中选择特定的设计者。上面描述了不同算法的示例。他们中的大多数通过给每个设计者一个与客户协作的机会,为设计者的选择过程提供了一些客观性。

例如,协作系统可以基于例如在图5A所示的设计者选择器566中实现的机器学习模型来确定每个匹配设计者的分数,并且基于最高分数从匹配设计者中选择特定设计者。

用于通过协作系统选择特定设计者的另一种方法可以基于设计者的可用性、设计者的评级或设计者的工作量。其他方法可以包括分配第一可用设计者等。选择特定设计者的方法不应被视为仅限于上述示例。

如果在步骤706中已经做出了特定设计者的选择,则协作计算机前进到步骤708;否则,协作计算机继续再次执行步骤704,或者修改可用设计者的列表并重复步骤704。

在步骤708中,响应于从一个或多个设计者简档中选择具有特定简档的特定设计者,协作计算机启用客户和特定设计者之间的关于交互式数字设计的协作。客户和设计者之间的协作包括生成和更新与交互式数字设计相关联的产品描述数据,该产品描述数据包括多个密钥值对,并且能够定制制造。创建和更新产品描述数据的过程将在后面描述。

8.2.处理从实时设计者接收的设计修改

图7B是示出使用产品协作平台与实时设计者协作的示例过程的流程图。图7B中描述的步骤可以由图2所示的计算机协作系统100来执行。这些步骤也可以由与计算机协作系统100协作的计算机服务器来执行。或者,这些步骤可以由通信耦合到计算机协作系统100的分布式计算机系统来执行。为了描述的简单性,图7B中描述的步骤由计算机协作系统执行。

在步骤712中,响应于从一个或多个设计者简档中选择特定设计者简档,协作计算机生成电子数字协作邀请,并将该邀请发送到在与具有特定设计者简档的特定设计者相关联的在特定用户设备上执行的特定用户界面。这可以包括向特定设计者发送文本消息或电子邮件,以通知特定设计者客户需要他的帮助。

在步骤714中,协作计算机等待接受来自特定设计者的协作邀请。如果接收到接受,则协作计算机执行步骤716。否则,协作计算机或者生成另一个邀请并将其发送给相同的特定设计者(如图7B所示),或者选择另一个设计者,生成新的协作邀请并将新的邀请发送给另一个设计者(图7B中未示出)。

在步骤716中,响应于接收到来自特定设计者的电子数字协作邀请的接受,协作计算机允许特定设计者作为编辑者访问产品描述数据。产品描述数据包括与客户试图创建的交互式设计相关联的数据,并且包括如上所述的密钥值对。

同样在步骤716中,协作计算机向与特定设计者相关联的特定用户设备发送用于呈现交互式数字设计的产品描述数据。在这一点上,特定的设计者可以访问交互式数字设计,修改它,或者更新它以帮助客户进行交互式设计。

在步骤718中,响应于从特定设计者接收到对交互式数字设计的修改,协作计算机通过基于从特定设计者接收到的修改的更新产品描述数据来自动生成更新的产品描述数据。

此外,协作计算机将更新的产品描述数据传播到客户的用户界面和特定设计者的特定用户界面,以使这些界面基于更新的产品描述数据更新它们的交互式数字设计的显示。

在客户和设计者之间的协作会话期间修改产品描述数据的过程可以重复几次。在一些实施例中,协作服务器可以根据客户和设计者之间的协议,以几种方式处理在交互时间内修改相同密钥值对的相同用户界面的编辑。在一种方法中,总是选择设计者的修改。在另一种方法中,客户的编辑显示给设计者接受或拒绝。在另一种方法中,设计者的编辑显示给客户接受或拒绝。在另一种方法中,应用客户的编辑,然后应用设计者的编辑。在其他实施例中,存在按照编辑到达协作服务器的顺序应用所有编辑的方法。

8.3.处理从客户处收到的设计修改

在一些实施例中,客户和设计者都可以提供对定制产品的交互式数字设计的修改。这些改变的应用可以由协作服务器在上述方法中应用。

在下面的描述中,假设已经执行了图7B中描述的步骤,并且通过使用从特定设计者接收的修改来更新产品描述数据,已经生成了更新的产品描述数据。然而,客户在特定设计者之前修改产品描述数据是可能的。然而,为了解释的简单性,假设特定设计者已经提供了他对产品描述数据的修改,并且这些修改已经被用于生成更新的产品描述数据。

在一些实施例中,响应于从在客户设备上生成的客户界面接收编辑请求,以编辑交互式数字设计,协作计算机允许客户作为编辑者访问更新的产品描述数据。

此外,协作计算机向与客户相关联的客户设备发送更新的产品描述数据,用于在客户的用户设备上执行的用户界面中呈现交互式数字设计。

当客户修改交互式设计时,生成新的修改,并且修改、编辑和保存对应于更新的产品描述数据的密钥值对。

从客户的用户界面接收到对更新的产品描述数据的新修改后,协作计算机根据新修改更新更新的产品描述数据,自动生成第二更新的产品描述数据,并将第二更新的产品描述数据传播到客户的用户界面和特定设计者的特定用户界面,以使这些界面根据第二更新的产品描述数据更新它们对交互式数字设计的显示。

9.评级和评分

在一些实施例中,对协助客户创建和定制其交互式数字设计的设计者进行评级和评分。例如,在完成与设计者的协作会话时,可以提示客户对设计者进行评级,提供关于设计者的反馈,和/或提供与设计者相关的偏好。替代地或附加地,协作计算机系统的管理员可以监视设计者和客户之间的交互,并对设计者的表现进行评级。例如,如果管理员通过监视由图6中描述的监视系统156生成的消息注意到设计者没有响应或未能解决客户的问题,那么管理员可以在设计者的简档中对此进行记录。然而,如果管理员通过监视由图6中描述的监视系统156生成的消息注意到客户称赞了设计者的表现,那么管理员可以在设计者的简档中对此进行记录。此外,管理员可以审查从客户收到的关于审查员表现的评论和/或电子邮件,并将这些评论包括在设计者的简档中。不同类型的评级类别描述如下。

9.1.基于技能和资格

在一些实施例中,可以基于设计者的技能和资格对设计者进行评级。这可能包括根据设计者对设计过程的了解、对特定项目的了解、对客户需求和期望的理解等方面对设计者进行评级。

9.2.基于表现

在一些实施例中,可以基于设计者的表现对设计者进行评级。这可以包括根据所创建的设计的质量、他对特定项目的关注度、与客户的互动、帮助客户完成他的项目等来对设计者进行评级。

9.3.基于可用性

在一些实施例中,可以基于设计者的可用性对设计者进行评级。这可以包括根据设计者开始、执行和完成项目的可用性、他在特定项目中协助的灵活性、他对来自客户的评论和愿望的开放程度、他在帮助客户完成项目中的结果等来对设计者进行评级。例如,比其他设计者更有空的设计者的评分可能会高于其他设计者。

9.4.其他因素

在一些实施例中,可以基于其他因素来评定设计者,例如对协作平台的功能和能力、工具和艺术设计的熟悉程度。例如,客户可以基于设计者高效和有效地使用协作平台的工具和GUI的能力来对设计者进行评级。此外,客户可以基于设计者向客户解释工具并在导航平台菜单时提供有效指导的能力来对设计者进行评级。

此外,可以基于设计者的设计有多成功来对设计者进行评级。例如,如果一个特定的设计已经与多个用户共享,并且已经被许多用户购买,那么创建该设计的设计者可能会得到相当高的评价,因为他的设计变得流行并且有需求。

10.基于角色的协作平台

10.1.基于角色的协作

再次参考图2,本文提供的计算机协作系统100是为了对示例进行清晰地说明,不应被视为以任何方式进行限制。其他计算机协作系统可包括附加组件,例如计算机服务器、各种输入/输出设备以及图2中未描述的附加软件和/或硬件组件。其他计算机协作系统可以在基于云的系统、分布式计算机网络等中实现。与图2所示的示例计算机协作系统100相比,其他计算机协作系统可包括更少的组件。

10.2.用户角色

可以将各种角色分配给经由用户设备140A-140G与计算机协作系统100交互的用户。角色的示例可以包括客户角色、客户支持代理角色、图形设计者角色、客户对等角色和客户产品艺术家角色。基于所分配的角色,用户可以被允许作为编辑者、查看者、管理者等访问交互式设计的产品描述。

客户角色可以被分配给如下用户,该用户是客户,并且该用户希望将平台100提供的一个或多个交互式设计定制化。例如,客户可以编辑/修改交互式对象的属性、查看定制设计的呈现、发布定制设计、请求其他用户(设计者或客户支持代理)根据用户的描述修改交互式设计、请求用户为交互式设计提出的修改列表,和/或删除或恢复列表中的某些修改。

客户支持代理角色可以被分配给可以帮助其他用户定制交互式设计的用户。例如,客户支持代理可以帮助修改交互式设计,提供所呈现设计的各种视图,代表用户发布所呈现的设计,等等。

图形设计者角色可以被分配给可以帮助定义交互式设计的属性、定义设计的属性的默认值、定义设计的属性的值的范围和/或定制交互式设计的用户。例如,图形设计者可以定义一组属性—默认值对,并将这些对存储在产品数据定义104中。图形设计者还可以定义可以分配给用户的一组角色,并将该组角色存储在用户简档102中。

客户对等角色可以被分配给可以查看由其他人定制的交互式设计的用户。例如,客户对等体可以查看交互式设计,并向客户提供关于该设计的评论或反馈。客户对等体可以被允许访问定制设计的产品描述,并且在一些实施例中,可以修改与设计相关联的属性。

客户产品艺术家角色可以被分配给可以在定制交互式设计中提供教程和在线帮助的用户。客户产品艺术家可以定义设计的属性,确定属性的默认值,确定属性的值范围,确定可以被允许定制交互式设计的用户的角色,和/或演示如何使用定制功能。

图8是显示产品协作平台中角色示例的框图。在图8中,客户—代理协作会话的示例包括客户202和客户支持代理216之间的会话252、客户208和客户支持代理210之间的会话254、客户214和设计者212之间的会话264、客户208和设计者212之间的会话266、客户214和设计者212之间的会话268、客户214和客户支持代理216之间的会话270以及客户202和设计者212之间的会话272。

在一些实施例中,客户可以使用电子邮件、文本、电话和任何其他类型的通信来向客户支持代理描述客户想要实现的设计。一旦客户向代理解释了期望的设计,客户可以从他的用户界面中选择用户界面元素,该用户界面元素将允许为代理设置编辑者角色,使得代理可以为客户编辑交互式数字设计。这将包括允许代理作为编辑者访问与交互式数字设计相关联的产品描述。

响应于此,可以向代理提供更新的用户界面或新的用户界面,该界面将允许代理修改交互式数字设计。例如,代理可以从他的用户界面中选择一个基于位置的属性(或一组属性)并修改与该属性相关联的值,选择另一个属性并修改它,等等。每个修改可以自动保存为序列化的密钥值对,这解决了在无数属性集中导航和处理例如无数点击以完成传统定制平台中所需的定制的技术问题。这些对可以被传送到产品选项框架,该框架将更新交互式数字设计的产品描述。然后,产品选项框架可以呈现交互式数字设计的修改描述,并将该呈现传播到用户计算机以在相应的用户界面中呈现。

10.3.用户简档

计算机协作系统100可以包括用于存储用户简档数据库102的一个或多个存储设备。用户简档数据库102可用于存储指示分配给单个用户的角色、分配给用户的访问代码或密钥、分配给用户的标识符和密码等的信息。

10.4.设计者简档

根据实施方式,设计者简档可以作为用户简档存储在用户简档数据库102中。或者,设计者简档与用户简档分开存储;在这种情况下,设计者简档可以存储在设计者数据库562中。

在一些实施例中,设计者简档存储在设计者数据库562中。在设计者数据库562中为每个设计者存储的信息类型取决于实施方式。根据一个示例,设计者数据库562存储关于设计者的姓名、风格、流派、调色板、媒体、样品、库存图片、专业、可用性、评级、分数等的信息。图5A中描述了不同类型信息的示例(元素500A)。

10.5.设计者设计

在一些实施例中,计算机协作系统100为设计者存储设计者的设计、样品、库存图片等。可以存储在设计者数据库562和/或设计者数据库564中。

10.6.产品定义

计算机协作系统100还可以包括用于存储产品数据定义数据库104的一个或多个存储设备。产品数据定义数据库104可以包括由计算机协作系统100提供的一个或多个交互式设计的产品描述。交互式设计的产品描述可以包括例如全局密钥值集、与设计相关联的属性集以及可以分配给设计属性的默认值。

10.7.属性表示

协作组件106可以包括一个用于存储交互式设计的属性表示的组件。这些属性可以与产品的特征相对应,并且可以由产品制造商选择或提供。如前所述,属性可以具有指定的默认值,默认值可以由制造商、管理计算机协作系统100或平台10的系统管理员或艺术设计者指定。

每个交互式设计或设计组的属性的描述可以存储为协作组件106的一部分,或者存储在单独的数据结构中,该数据结构可以被组织为协作组件106可访问的数据表或存储空间。与产品相关联的属性的描述和属性的值可以由计算机协作系统100的其他组件提供和/或请求,例如稍后描述的产品选项框架120。

对于可用于使用平台100进行定制的每个交互式设计,与产品相关联的属性的默认值可以由用户根据分配给用户的角色和根据制造商提供的制造约束来修改。例如,如果定制产品是T恤,其默认颜色可以是红色,但是用户可以通过选择T恤的三种颜色(例如,红色、绿色或蓝色)中的任何一种来修改颜色。修改可以存储在例如产品数据定义104中。

交互式设计可以定义为定制产品属性的子集,该子集可以为定制产品制造的目的而被改变、添加、制造或修饰。虽然产品属性是产品特定的,但它们可以包括产品区域的基底颜色或材料选择、产品的装饰材料或颜色、印刷、雕刻或刺绣装饰和/或应用于设计的调色板。

交互式设计的属性定义和类型以及属性的默认值可以由设计的制造商或设计者提供。用户可以根据例如分配给用户的角色来改变属性和默认值。例如,被分配了艺术设计者角色的用户可以被允许编辑/修改与设计相关联的属性,编辑属性的默认值,以及编辑可以被分配给属性的值的范围。

假设交互式设计是一个杯子。那么艺术设计者可以为马克杯定义几个属性,并为这些属性定义默认值。属性可以包括颜色、尺寸、标签和印在杯子上的装饰性设计。属性的默认值可能包括红色代表颜色,大号代表尺寸,hello代表标签,白色条纹代表装饰性设计。艺术设计者还可以定义顾客可以通过选择红色或蓝色来修改马克杯的颜色,并且可以通过选择大或小来修改马克杯的尺寸。

在一些实施例中,产品描述可以包括或与用户为交互式设计提交的修改的日志列表相关联。该列表还可以包括其他信息,例如提供修改的用户的标识符、当协作者在定制产品上协作时生成的全局密钥值、已经被接受、恢复或删除的修改的历史日志、已经由用户提供的评论等。例如,存储在列表中的一个或多个修改可以通过使用几次点击来撤消或重做,而不是像在传统定制平台中那样通过执行无数次点击来撤消或重做定制。

包含全局密钥值的日志列表将在下一节中描述。

10.8.全局密钥值

计算机协作系统100可以包括用于存储全局密钥值数据库103的一个或多个存储设备。全局密钥值数据库103可以存储全局密钥值集,该全局密钥值集用于跟踪协作会话中每个协作者的贡献,并公正地为协作会话期间开发的定制产品建立版权和所有权。

在特定协作会话期间创建和修改的所有全局密钥值对在该特定协作会话的范围内都是全局的。全局键值可对应于具有密钥和值的元组或对。键密钥的含义在所有事务中都是持久的,而值的范围则是特定的协作会话。密钥可以表示属性标识符/密钥,而值可以表示密钥的特定值。例如,名为“所有者”的属性的全局密钥值可包括作为密钥的“所有者”和作为值的特定“用户标识符”。全局密钥值的详细示例将在后面介绍。

对于每个定制项目,至少生成一个全局密钥值集。例如,当定制项目启动且项目所有者启动协作定制会话时,协作系统100可启动全局密钥值以指示例如所有者的标识、其许可证的标识等。因此,初始全局密钥值集可包括以下配对:{所有者、用户ID1}、{许可证、用户ID1}。例如,当所有者邀请设计者协助所有者进行定制时,协作系统100就会通过添加额外的全局关密钥值对来更新全局关密钥值集,以指示设计者的标识等。因此,附加的全局关密钥值对可以包括{设计者、用户ID2}。当所有者决定结束协作定制会话时,协作系统100例如可以合并相关的全局密钥值对,并启动对这些全局密钥值对的处理,这将在后面进行描述。

全局关密钥值的示例可包括指定规则和规则对产品定制流程的适用性的约束,以及指定定制产品的实体和定制指令的事务。约束全局密钥值的示例可包括年龄限制约束,该约束禁止12岁以下的个人定制产品。事务全局密钥值的一个示例可包括一个密钥值对,该密钥值对包含产品定制的定制指令。

在一些实施例中,约束全局密钥值可由所有者、设计者等在产品定制会话期间指定,并可用于指定应用于产品定制过程的一个或多个约束。约束全局密钥值的示例可包括年龄限制约束,该约束可表示为密钥值对{年龄,12}。例如,年龄限制约束可表示可购买定制产品的客户的最低年龄。由于某些产品可能不适合儿童,因此使用全局密钥值对{Age,12}可以表示只有年满12岁的客户才能购买该产品。

全局密钥值约束的另一个示例是内容锁约束,它可以规定不得修改密钥值或密钥值集。内容锁可以是完全锁、部分锁或特定锁。例如,用户可以指定第一个设计被完全锁定,而第二个设计只有在试图修改设计的特定部分时才会被锁定(部分锁或特定锁)。

全局密钥值约束的示例还可以包括黑名单内容限制约束。该约束可涉及内容列表,例如图像、文本、颜色或材料构成。黑名单约束可包括黑名单密钥“黑名单”和一个或多个名称、单词等,形成{黑名单,名称1,单词1,....}。

约束全局密钥值的其他示例可包括白名单内容限制约束。该约束可涉及内容列表,例如图像、文本、颜色或材料构成,可用于修改产品描述保存数据中的密钥值或密钥值集(稍后描述),或当密钥值日志应用于自定义产品时。白名单约束可包括一个白名单密钥“白名单”和一个或多个名称、单词等,组成:{白名单,名称1,单词1,....}。有关全局关密钥字值的其他细节将在下文描述。

10.9.协作组件

再次参考图2,计算机协作系统100可以包括被配置为实现协作组件106的一个或多个软件应用。协作组件106可以包括用于实现用户之间基于角色的协作的模块。协作组件106中包括的模块的类型可以变化,并且可以取决于平台100的实施方式。在图1所示的示例中,协作组件106包括被配置为生成多个表示的组件。图2中没有显示这些表示的示例,但是在下面进行了描述。

10.9.1.用户界面元素

协作组件106可包括一个组件,用于存储用户界面元素(未显示)的表示,用户可使用该表示进行相互协作并定制交互式设计。

用户可以通过使用在用户界面中用于用户呈现和显示的用户界面元素来修改为交互式设计定义的属性值。用户界面的示例可包括图形用户界面、命令行界面等。用户可以使用用户界面元素来定制/修改交互式设计的样式、颜色、尺寸、标签、装饰设计、表面质量、材料类型等。此外,用户还可以定制可定制产品的单个部分或可定制产品的多个部分。

提供给用户的用户界面元素的类型和选择可能取决于分配给用户的角色。例如,如果用户是客户,那么用户可以编辑自己的交互式设计,因此可以向他提供一个用户界面,其中包括允许用户编辑和查看设计、邀请他人帮助用户编辑设计、邀请他人查看设计等的界面元素。

用户界面元素不仅可以针对分配给用户的角色,还可以针对交互式设计本身。例如,如果平台10提供可定制的领带和可定制的围巾,而用户的用户简档包括表明该用户是男性的信息,那么可以假定该用户可能想要定制领带,而不是围巾。此外,还可以假设用户想要定制领带的颜色、材质和形状。根据这些信息,协作组件106可以选择特定于领带和领带属性选择的用户界面元素。

10.9.2.设计区域的用户界面元素

协作组件106可包括一个组件,用于存储与可定制产品的设计区域相关联的图形用户界面元素(未显示)的表示。设计区域可包括用户可定制和/或修改的定制产品中定义的一个或多个区域。例如,如果平台100提供可定制的马克杯,那么设计区域可包括显示马克杯外表面的区域、显示马克杯内表面的区域和显示马克杯手柄表面的区域。设计的产品描述可以说明用户可以分别修改每个表面的外观,也可以将表面分组并修改分组。

10.10.产品选项框架

在一些实施例中,产品选项框架120包括多个模块和应用程序,这些模块和应用当被一个或多个处理器120执行时,使处理器实现基于角色和归属跟踪的定制产品协同设计方法。产品选项框架120可配置为与属性框架129、呈现框架130、附件框架132、捆绑框架134和默认框架136通信。

例如,属性框架129可被配置为根据在定制会话期间收集的全局密钥值生成属性树。属性框架129还可以配置为使用属性树来确定和验证参与定制会话的用户/合作者的相应许可和版权特权。此外,属性框架129还可配置为跟踪合作者的贡献,并从会话期间收集的全局密钥值推导出生产指令。

产品选项框架120可配置为接收来自呈现框架130的输入,以至少部分地基于存储在协作组件106中的当前表示生成交互式设计的呈现。产品选项框架120还可以配置为接收来自附件框架132的输入,以确定交互式设计的一个或多个附件,并将确定的附件包括在产品的定制中。

此外,产品选项框架120可以配置为接收来自构建框架134的输入,以确定用于定制交互式设计的约束条件。这可能包括确定一个或多个与设计相关且可由用户定制的属性。这还可包括为确定的属性分配默认值、确定属性的值范围和/或确定可分配给属性的值集。

产品选项框架120还可以配置为接收来自默认框架126的输入,以确定交互式设计的默认设计,确定可分配给用户的默认角色,并确定与设计和协作会话相关联的各种参数和属性的初始值。

10.11.属性引擎

属性引擎108可配置为根据分配给用户的角色和为产品设定的制造约束,促进可定制产品的基于角色的协作。

例如,属性引擎108可配置为与协作组件106、产品选项框架120、框架130-136和用户设备140A-140D进行交互,以允许使用设备140A-140G的用户协作定制平台10提供的交互式设计。

在一些实施例中,属性引擎108可以配置为直接与用户设备140A-140G的用户交互。在其他实施例中,属性引擎108可被配置为通过计算机网络130与用户设备140A-140G的用户交互,如图2所示。

计算机网络130可以实现为任何类型的通信网络,包括局域网(LAN)、广域网(WAN)、无线网络、安全虚拟LAN(vLAN)、安全虚拟WAN(vWAN)等。

10.12.用户计算机

用户设备140A-140G可以包括被配置为促进用户和计算机协作系统100之间的通信的任何类型的通信设备。在图2所示的示例中,用户设备140A是笔记本电脑,用户设备140B是个人计算机,用户设备140C是个人助理设备,用户设备140D是诸如智能手机的移动设备,用户设备140E是照相机,用户设备140F是数码相机,用户设备140G是麦克风,其被配置为捕获音频数据并将音频数据传送到计算机协作系统100。

用户设备140A-140G的类型和数量不限于图2所示的示例。例如,即使图2仅描绘了一台笔记本电脑140A、一台个人电脑140B、一台个人助理140C、一台智能手机140D、一台照相机140E、一台数码相机140F和一个麦克风140G,平台10也可以包括多台笔记本电脑140A、多台个人电脑140B、多台个人助理140C、多台智能手机140D、多台照相机140E、多台数码相机140F和多个麦克风140G。在其他示例中,用户设备可能包括比图2中所描述的更少的设备。在其他示例中,用户设备可以包括图2中未描述的设备。

10.13.协作服务器

协作服务器155可以在软件、硬件或在两者中实现,并且可以被配置为与监视系统156合作,以向平台的操作者和/或第三方监视服务提供监视能力。这些能力可以包括拦截协作平台的用户之间交换的通信内容的能力,确定通信是否符合协作协议的条款,以及当通信不符合协议中规定的规则时采取行动解决违规的能力。

协作服务器155可以是计算机协作系统100的一部分,如图2所示。可选地,协作服务器可以是在独立于计算机协作系统100的计算机服务器(未示出)中实现的系统。

在一些实施例中,协作服务器155可以包括监视系统156,如图2所示。在其他实施例中,协作服务器155可以与监视系统156分开。

在一些实施例中,协作服务器155被配置为将嵌入在协作者之间协作会话期间记录的多个密钥值对中的所有权和许可协议转换为图网络,然后转换为所有权协议树。所有权协议树可用来表示参与协作会话的协作者之间的所有权和许可协议。

协作服务器155还可配置为针对协作者中每个协作者的多个约束条件中的每个约束条件,就协作者之间建立的多个基于角色的通信信道评估所有权协议树。

这些约束可以从所有权协议树中确定,并且可以包括规则、指导、条件、规范和规定,这些规则、指导、条件、规范和规定规定了协作者在协作会话期间可以相互通信的方式。约束的示例可包括协议约束(例如,所有权协议、许可协议等)、使用约束(对编辑和修改合作者制作的设计元素施加限制)、通信约束(对会话持续时间、会话期间不活动等施加限制)、交互约束(例如,合同约束和职业行为约束)以及内容约束(对通信施加黑名单和白名单)。其中一些约束可能是全系统范围的约束,适用于协作平台支持的一个或多个协作,或所有协作。

10.14.监视系统

在一些实施例中,监视系统156作为协作服务器155的组件实现,如图2所示。在其他实施例中,监视系统156作为独立于协作服务器155的服务器(未显示)实现。

监视系统156可配置为与协作服务器155在以下方面进行合作:跟踪和监视协作者之间交换的通信、生成通信的转录以及解析转录以确定相应数据流的特征。

监视系统156还可配置为协助协作服务器155评估与协作者之间建立的基于角色的通信信道有关的所有权协议树,以确定协作者之间交换的任何通信是否违反了多个约束条件中的任何约束条件。

10.15.处理器

在一些实施例中,计算机协作系统100包括协议处理器152、通信处理器153、处理器120和/或监视系统156。其中,组件152-153、120和156被配置为支持协作服务器155记录捕获所有权和许可协议的密钥值对。它们还可配置为支持将密钥值对转换为图网络,然后转换为所有权协议树。

组件152-153、120和156还可配置为支持协作服务器155评估所有权协议树,该树与协作者之间建立的多个基于角色的通信信道有关,用于每个协作者的每个约束。

此外,组件152-153、120和156可支持协作服务器155确定在多个基于角色的通信信道中监视的一个或多个通信是否违反了多个约束中的一个或多个约束。

除其他外,该确定可包括生成从支持协作者之间建立的通信会话的数据通信信道截获的数据转录。例如,组件152-153、156和120可以生成视频聊天的视频转录,并将转录与相应的协作会话关联。组件152-153、120和156可向监视系统156和/或协作服务器155提供转录内容,包括视频帧、音频片段和聊天文本。

组件152-153、120和156还可配置为收集有关为支持用户之间的协作而建立的通信会话的统计和诊断信息。对于通信会话,信息可包括会话持续时间、会话期间执行的重传次数、会话是否突然结束的指示等。

11.日志列表和协作

用户可以与其他用户协作来修改日志列表。例如,用户可以选择一组用户界面元素,这些元素被配置为在用户修改交互式设计时将密钥值对从用户界面传输到产品选项框架。在接收到配对后,产品选项框架可以将配对存储在日志列表中,并允许用户及其对等方对列表执行编辑或转换操作。

可在日志列表上执行的编辑或转换操作类型可包括修改存储在列表中的特定密钥值对中的值,以及修改与交互式设计相关联的产品描述中的单个产品属性。这些操作还可以包括从列表中移除特定密钥值对;移除对交互式设计的最终形式没有直接贡献的所有密钥值对和相关数据;对密钥值对和相关数据重新排序,以保留交互式设计的最终形式,并依次执行适用于特定属性组的编辑;以及扩展编辑操作和重新排序操作,然后将与特定属性组、设计区域或基于位置的属性相关的某些密钥值对分组,使得可以将它们作为一个组进行编辑。这些操作还可以包括扩展上述编辑操作,以将密钥值对分组存储在存储器中,用于以后使用。

12.定制产品制造

假设定制数字产品是定制贺卡。此外,假设在一个或多个协作会话过程中,协作者开发了定制贺卡的交互式数字设计。可以采用上述流程对定制贺卡进行数字印刷。

在一些实施例中,提供了各种方法来处理以数字形式提供的定制产品的制造。在这种情况下,数字产品是指可以通过软件和数字媒体完全实现的产品。这类产品可能具有与实体产品类似的功能。例如,使用本文所述的方法可以制作实体定制贺卡,也可以使用非常类似的方法制作数字贺卡。数字贺卡的制作不需要使用印刷工艺,而是以数字形式发布,可以通过特定的数字服务查看。

生成数字贺卡和实体贺卡的约束条件可能类似。这些约束条件可由上述产品选项框架进行管理。此外,生成数字贺卡和实体贺卡可能有分辨率限制。这意味着,为了实现贺卡视觉呈现的最佳质量,每个贺卡生成过程都可能对所需的每英寸像素数有限制。

此外,生成数字贺卡和实体贺卡可能会有尺寸和比例方面的约束。根据实体情况下的纸张尺寸和数字情况下的屏幕尺寸,贺卡设计元素的格式和位置都会受到约束。

此外,两者都有颜色约束。每种产品都可能有一个目标ICC颜色简档,该简档规定了用于制造产品的特定色域。对于实体产品,它可能是CMYK简档,例如U.S.Web Coated(SWOP)v2;对于数字版本,它可能是sRGB IEC61966-2.1。发布每个产品都需要呈现每个设计元素以适应约束条件。

此外,这两种产品的发布都要使用符合特定数字标准的制造指令。每种产品都必须表达为满足约束条件的特定制造指令集。最后,两者的定制和协作通常是相同的。

在一些实施例中,支持数字产品可以包括但不限于贺卡、邀请、商业徽章(例如,徽标、电子邮件和社交媒体标签)、出生公告、个人身份、企业通信和虚拟产品,以及作为实物产品的令牌或代表。

13.实施机制

虽然本申请的流程图以特定的顺序描绘了特定的步骤集合,但是其他实施方式可以以与图中描绘的相同或不同的顺序使用更少或更多的步骤。

根据一个实施例,本文描述的技术由一个或多个专用计算设备来实现。专用计算设备可以硬连线以执行该技术、或可以包括数字电子设备(例如,一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),其被持续地编程以执行该技术)、或可以包括一个或多个通用硬件处理器(其被编程以根据固件、存储器、其它存储装置或其组合中的程序指令来执行该技术)。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程结合以实现该技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或结合硬连线和/或程序逻辑来实现该技术的任何其他设备。

图9是描绘可以在其上实现各实施例的示例计算机系统900的框图。计算机系统900包括用于传送信息的总线902或其它通信机制、以及与总线902耦合用于处理信息的处理器904。计算机系统900还包括主存储器906(例如,随机存取存储器(RAM)或其它动态存储设备),该主存储器906被耦合到总线902,用于存储由处理器904执行的信息和指令。主存储器906还可以用于在将由处理器904执行的指令的执行期间存储临时变量或其它中间信息。计算机系统900还包括只读存储器(ROM)908或其它静态存储设备,该静态存储设备被耦合到总线902用于为处理器904存储静态信息和指令。存储设备910(例如,磁盘或光盘)被提供并且被耦合到总线902,以用于存储信息和指令。

计算机系统900可以经由总线902被耦合到显示器912(例如,阴极射线管(CRT)),用于向计算机用户显示信息。虽然总线902被示出为单个总线,但是总线902可以包括一个或多个总线。例如,总线902可以包括但不限于控制总线(处理器904通过该控制总线控制计算机系统900内的其它设备)、地址总线(处理器904通过该地址总线指定用于执行的指令的存储器位置)、或用于在计算机系统900的组件之间传递数据或信号的任何其它类型的总线。

输入设备914(包括字母数字键和其它键)被耦合到总线902,用于将信息和命令选择传送到处理器904。另一种类型的用户输入设备是光标控制器916(例如,鼠标、轨迹球或光标方向键),用于将方向信息和命令选择传送到处理器904以及用于控制显示器912上的光标移动。该输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))上具有两个自由度,这允许设备指定平面中的位置。

计算机系统900可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑或计算机软件来实现本文所描述的技术,一个或多个ASIC或FPGA、固件和/或程序逻辑或计算机软件与计算机系统结合,使计算机系统900成为专用机器或对计算机系统900进行编程使其成为专用机器。根据一个实施例,这些技术由计算机系统900响应于处理器904执行被包含在主存储器906中的一个或多个指令的一个或多个序列而执行。这样的指令可以从另一计算机可读介质(例如,存储设备910)读入到主存储器906中。被包含在主存储器906中的指令序列的执行使处理器904执行本文描述的处理步骤。在替代实施例中,硬连线电路可以代替软件指令或与软件指令结合使用以实现实施例。因此,实施例不限于硬件电路和软件的任何特定组合。

本文使用的术语“计算机可读介质”是指参与提供使计算机以特定方式操作的数据的任何介质。在使用计算机系统900实现的实施例中,例如在向处理器904提供指令以供执行时包括各种计算机可读介质。这种介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括例如光盘或磁盘,例如,存储设备910。易失性介质包括动态存储器,例如,主存储器906。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或任何其它磁性介质、CD-ROM、任何其它光学介质、RAM、PROM和EPROM、FLASH-EPROM、任何其它存储芯片或存储盒、或计算机可以从其读取的任何其它介质。

各种形式的计算机可读介质可以包括将一个或多个指令的一个或多个序列携带到处理器904以供执行。例如,指令最初可以在远程计算机的磁盘上被携带。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器通过电话线发送指令。计算机系统900的本地调制解调器可以接收电话线上的数据,并且使用红外发射器将数据转换为红外信号。红外检测器可以接收红外信号中被携带的数据,并且适当的电路可以将数据置于总线902上。总线902将数据携带到主存储器906,处理器904从主存储器906取回并且执行指令。由主存储器906接收的指令可以可选地在由处理器904执行之前或之后被存储在存储设备910上。

计算机系统900还包括被耦合到总线902的通信接口918。通信接口918提供耦合到被连接到本地网络922的网络链路920的双向数据通信。例如,通信接口918可以是综合业务数字网络(ISDN)卡或调制解调器,用于提供到相应类型电话线的数据通信连接。作为另一个示例,通信接口918可以是局域网(LAN)卡,用于提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这样的实施方式中,通信接口918发送和接收电、电磁或光信号,其携带表示各种类型的信息的数字数据流。

网络链路920通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路920可以提供通过本地网络922到主机924或到由互联网服务提供商(ISP)926操作的数据设备的连接。ISP 926进而通过现在通常被称为“互联网”928的全球分组数据通信网络提供数据通信服务。本地网络922和互联网928都使用携带数字数据流的电、电磁或光信号。

计算机系统900可以通过(一个或多个)网络、网络链路920和通信接口918发送消息和接收数据(包括程序代码)。在互联网示例中,服务器930可以通过互联网928、ISP 926、本地网络922和通信接口918传输对应用程序的请求代码。在被接收时,所接收的代码可以由处理器904执行、和/或被存储在存储设备910或其它非易失性存储装置中以供以后执行。

在前述说明书中,已参照许多具体细节对实施例进行了描述,这些细节可能因实施方式而异。因此,唯一且排他性的指标是本申请的一组权利要求书,这些权利要求书的具体形式,包括任何后续更正。因此,未在权利要求中明确叙述的任何限制、元素、特性、特征、优点或属性都不得以任何方式限制该权利要求的范围。因此,说明书和附图应被视为说明性的而非限制性的。

相关技术
  • 针对产品协作设计过程中核心设计者与团队识别的算法
  • 辅助概念设计者进行定制产品概念设计的系统
技术分类

06120116484196