U.S. patent application number 17/647206 was filed with the patent office on 2022-07-07 for digital build package for manufacturing a product design.
The applicant listed for this patent is Fast Radius Inc.. Invention is credited to Aaron Vincent Brenzel, Timothy Gossett, William Paul King, John William Nanry, Gustavo Pinto, Louis William Rassey, Charles D. Wood.
Application Number | 20220215133 17/647206 |
Document ID | / |
Family ID | 1000006122651 |
Filed Date | 2022-07-07 |
United States Patent
Application |
20220215133 |
Kind Code |
A1 |
King; William Paul ; et
al. |
July 7, 2022 |
DIGITAL BUILD PACKAGE FOR MANUFACTURING A PRODUCT DESIGN
Abstract
Techniques regarding manufacturing a desired product from a
digital product design are provided. For example, one or more
embodiments described herein can regard a system, which can
comprise a memory that stores computer executable components. The
system can also comprise a processor, operably coupled to the
memory, and that executes the computer executable components stored
in the memory. The computer executable components can comprise a
build package component that canonicalizes manufacturing inputs
regarding a product design into a digital build package that
enables portability of manufacturing the product design within a
network of manufacturing facilities, wherein the digital build
package delineates how the product design is to be manufactured and
references a computer-aided design file that characterizes the
product design.
Inventors: |
King; William Paul;
(Champaign, IL) ; Gossett; Timothy; (Marietta,
GA) ; Pinto; Gustavo; (Parkland, FL) ;
Brenzel; Aaron Vincent; (Oak Park, IL) ; Rassey;
Louis William; (Chicago, IL) ; Wood; Charles D.;
(Highland Park, IL) ; Nanry; John William;
(Chicago, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Fast Radius Inc. |
Chicago |
IL |
US |
|
|
Family ID: |
1000006122651 |
Appl. No.: |
17/647206 |
Filed: |
January 6, 2022 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
63134661 |
Jan 7, 2021 |
|
|
|
63197683 |
Jun 7, 2021 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 30/10 20200101;
G06F 2119/18 20200101; G06F 2111/20 20200101 |
International
Class: |
G06F 30/10 20060101
G06F030/10 |
Claims
1. A system, comprising: a memory that stores computer executable
components; and a processor, operably coupled to the memory, and
that executes the computer executable components stored in the
memory, wherein the computer executable components comprise: a
build package component that canonicalizes manufacturing inputs
regarding a product design into a digital build package that
enables portability of manufacturing the product design within a
network of manufacturing facilities, wherein the digital build
package delineates how the product design is to be manufactured and
references a computer-aided design file that characterizes the
product design.
2. The system of claim 1, further comprising: an attribute
component that generates a simplified summary that characterizes
the product design by extracting a plurality of design attribute
values from the computer-aided design file; and a standardization
component that structures the simplified summary into an
intermediate data form.
3. The system of claim 2, wherein the plurality of design attribute
values include a size and shape of a geometric feature of the
product design.
4. The system of claim 2, further comprising: a packaging component
that executes a packaging algorithm to generate the digital build
package based on the simplified summary of the product design and a
plurality of manufacturing attribute values extracted from the
manufacturing inputs.
5. The system of claim 4, wherein the plurality of manufacturing
attribute values delineate how the product design is to be
manufactured.
6. The system of claim 4, further comprising: a distribution
component that distributes the digital build package within the
network of manufacturing facilities based on a manufacturing
attribute delineated by the digital build package, wherein a
manufacturing facility from the network of manufacturing facilities
manufactures the product design in accordance with the digital
build package.
7. The system of claim 5, further comprising: a version component
that tracks changes to the digital build package, wherein the
changes are made during a development or manufacturing of the
product design, and wherein the version component generates a
design history associated with the product design that comprises
multiple versions of the digital build package.
8. The system of claim 5, further comprising: an insight component
performs a comparison of the digital build package to historical
data regarding a previously generated digital product design and
generates a recommended alteration to the manufacturing inputs
based on the comparison.
9. A computer-implemented method, comprising: canonicalizing, by a
system operatively coupled to a processor, manufacturing inputs
regarding a product design into a digital build package that
enables portability of manufacturing the product design within a
network of manufacturing facilities, wherein the digital build
package delineates how the product design is to be manufactured and
references a computer-aided design file that characterizes the
product design.
10. The computer-implemented method of claim 9, further comprising:
generating, by the system, a simplified summary that characterizes
the product design by extracting a plurality of design attribute
values from the computer-aided design file; and structuring, by the
system, the simplified summary into an intermediate data form.
11. The computer-implemented method of claim 10, further
comprising: executing, by the system, a packaging algorithm to
generate the digital build package based on the simplified summary
of the product design and a plurality of manufacturing attribute
values extracted from the manufacturing inputs.
12. The computer-implemented method of claim 11, further
comprising: distributing, by the system, the digital build package
within the network of manufacturing facilities based on a
manufacturing attribute delineated by the digital build package,
wherein a manufacturing facility from the network of manufacturing
facilities manufactures the product design in accordance with the
digital build package.
13. The computer-implemented method of claim 11, further
comprising: tracking, by the system, changes to the digital build
package, wherein the changes are made during a development or
manufacturing of the product design; and generating, by the system,
a design history associated with the product design that comprises
multiple versions of the digital build package.
14. The computer-implemented method of claim 11, further
comprising: performing, by the system, a comparison of the digital
build package to historical data regarding a previously generated
digital product design; and generating, by the system, a
recommended alteration to the manufacturing inputs based on the
comparison.
15. A computer program product for assembling a build package, the
computer program product comprising a computer readable storage
medium having program instructions embodied therewith, the program
instructions executable by a processor to cause the processor to:
canonicalize, by the processor, manufacturing inputs regarding a
product design into a digital build package that enables
portability of manufacturing the product design within a network of
manufacturing facilities, wherein the digital build package
delineates how the product design is to be manufactured and
references a computer-aided design file that characterizes the
product design.
16. The computer program product of claim 15, wherein the program
instructions further cause the processor to: generate, by the
system, a simplified summary that characterizes the product design
by extracting a plurality of design attribute values from the
product design; and structure, by the system, the simplified
summary into an intermediate data form.
17. The computer program product of claim 16, wherein the program
instructions further cause the processor to: execute, by the
system, a packaging algorithm to generate the digital build package
based on the simplified summary of the product design and a
plurality of manufacturing attribute values extracted from the
manufacturing inputs.
18. The computer program product of claim 16, wherein the program
instructions further cause the processor to: distribute, by the
system, the digital build package within the network of
manufacturing facilities based on a manufacturing attribute
delineated by the digital build package, wherein a manufacturing
facility from the network of manufacturing facilities manufactures
the product design in accordance with the digital build
package.
19. The computer program product of claim 16, wherein the program
instructions further cause the processor to: track, by the system,
changes to the digital build package, wherein the changes are made
during a development or manufacturing of the product design; and
generate, by the system, a design history associated with the
product design that comprises multiple versions of the digital
build package.
20. The computer program product of claim 16, wherein the program
instructions further cause the processor to: perform, by the
system, a comparison of the digital build package to historical
data regarding a previously generated digital build package; and
generate, by the system, a recommended alteration to the
manufacturing inputs based on the comparison.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional
Application No. 63/134,661, entitled, "MANUFACTURING AND
DEVELOPMENT PLATFORM," which was filed on Jan. 7, 2021, and U.S.
Provisional Application No. 63/197,683 entitled, "MANUFACTURING A
PRODUCT DESIGN," which was filed on Jun. 7, 2021. The entirety of
the aforementioned applications is hereby incorporated herein by
reference.
BACKGROUND
[0002] The subject disclosure relates to manufacturing a product
design, and more specifically, to canonicalizing manufacturing
inputs and/or computer-aided design ("CAD") data into a digital
build package that can delineate how to manufacture one or more
product designs within a network of manufacturing facilities.
SUMMARY
[0003] The following presents a summary to provide a basic
understanding of one or more embodiments of the invention. This
summary is not intended to identify key or critical elements, or
delineate any scope of the particular embodiments or any scope of
the claims. Its sole purpose is to present concepts in a simplified
form as a prelude to the more detailed description that is
presented later. In one or more embodiments described herein,
systems, computer-implemented methods, apparatuses and/or computer
program products that can generate, optimize, and/or manufacture
one or more digital build packages are described.
[0004] According to an embodiment, a system is provided. The system
can comprise a memory that stores computer executable components.
The system can also comprise a processor, operably coupled to the
memory, and that executes the computer executable components stored
in the memory. The computer executable components can comprise a
build package component that canonicalizes manufacturing inputs
regarding a product design into a digital build package that
enables portability of manufacturing the product design within a
network of manufacturing facilities, wherein the digital build
package delineates how the product design is to be manufactured and
references a computer-aided design file that characterizes the
product design.
[0005] According to an embodiment, a computer-implemented method is
provided. The computer-implemented method can comprise
canonicalizing, by a system operatively coupled to a processor,
manufacturing inputs regarding a product design into a digital
build package that enables portability of manufacturing the product
design within a network of manufacturing facilities. The digital
build package can delineate how the product design is to be
manufactured and references a computer-aided design file that
characterizes the product design.
[0006] According to an embodiment, a computer program product for
assembling a build package is provided. The computer program
product can comprise a computer readable storage medium having
program instructions embodied therewith. The program instructions
can be executable by a processor to cause the processor to
canonicalize, by the processor, manufacturing inputs regarding a
product design into a digital build package that enables
portability of manufacturing the product design within a network of
manufacturing facilities. The digital build package can delineate
how the product design is to be manufactured and references a
computer-aided design file that characterizes the product
design.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] FIG. 1 illustrates a block diagram of an example,
non-limiting system that can extract design attributes from one or
more product designs that characterize a product to be manufactured
in accordance with one or more embodiments described herein.
[0008] FIG. 2 illustrates a block diagram of an example,
non-limiting system that can structure design attributes extracted
from a product design into an intermediate data form that can
facilitate standardization operations and/or comparison operations
in accordance with one or more embodiments described herein.
[0009] FIG. 3 illustrates a block diagram of an example,
non-limiting system that can generate one or more digital build
packages that can include design and/or manufacturing attributes
that delineate how to manufacture a desired product in accordance
with one or more embodiments described herein.
[0010] FIG. 4 illustrates a block diagram of an example,
non-limiting system that can manage the distribution of one or more
digital build packages across a network of manufacturing facilities
in accordance with one or more embodiments described herein.
[0011] FIG. 5 illustrates a block diagram of an example,
non-limiting system that can track the evolution of one or more
digital build packages in optimizing the manufacturing of a desired
product in accordance with one or more embodiments described
herein.
[0012] FIG. 6 illustrates a block diagram of an example,
non-limiting system that can generate one or more recommendations
regarding adjustments to one or more manufacturing inputs to meet
one or more manufacturing objectives in accordance with one or more
embodiments described herein.
[0013] FIG. 7 illustrates a block diagram of an example,
non-limiting system that can compare one or more digital build
packages to one or more historic digital build packages that were
previously generated and/or manufactured in accordance with one or
more embodiments described herein.
[0014] FIG. 8 illustrates a diagram of an example, non-limiting
communication scheme that can be employed by one or more systems to
optimize the manufacturing of one or more desired products in
accordance with one or more embodiments described herein.
[0015] FIG. 9 illustrates a flow diagram of an example,
non-limiting computer-implemented method that can be employed to
generate and/or optimize one or more digital build packages in
accordance with one or more embodiments described herein.
[0016] FIG. 10 illustrates a block diagram of an example,
non-limiting operating environment in which one or more embodiments
described herein can be facilitated.
DETAILED DESCRIPTION
[0017] The following detailed description is merely illustrative
and is not intended to limit embodiments and/or application or uses
of embodiments. Furthermore, there is no intention to be bound by
any expressed or implied information presented in the preceding
Background or Summary sections, or in the Detailed Description
section.
[0018] One or more embodiments are now described with reference to
the drawings, wherein like referenced numerals are used to refer to
like elements throughout. In the following description, for
purposes of explanation, numerous specific details are set forth in
order to provide a more thorough understanding of the one or more
embodiments. It is evident, however, in various cases, that the one
or more embodiments can be practiced without these specific
details.
[0019] Manufacturing of mechanical components and systems requires
several types of manufacturing inputs. A first type of
manufacturing input can be a product design, such as: a
computer-aided design ("CAD") model; a drawing; a written
description; and/or other digital representations or software file
types. For instance, the product design can describe the geometry
of one or more parts to be manufactured, as well as requirements on
one or more product features, such as: product tolerance (e.g.,
dimensional tolerance), tolerance of specific features within the
product design, surface finish, a combination thereof, and/or the
like. A second type of manufacturing input can be a selection of
one or more materials that comprise the one or more parts
characterized by the product design, classes of materials, the
properties of suitable materials, and/or criteria or methodology
for material selection. A third type of manufacturing input can
include information about the manufacturing process employed to
manufacture the product design. Information regarding the
manufacturing process can include, for example: process type (e.g.,
injection molding, stereolithography, 3D printing, additive
processes, subtractive processes, and/or the like), type of
manufacturing equipment to be employed, tooling designs to be
employed, process parameters (e.g., temperature, pressure, time, a
combination thereof, and/or the like), process settings, process
constraints, manufacturing instructions for workers and/or
manufacturing equipment, a combination thereof, and/or the like.
Moreover, the one or more manufacturing inputs can delineate
certification and/or standards requirements for a produced part
and/or manufacturing facility.
[0020] Conventional manufacturing systems are configured such that
a single mechanical component or system is repeatedly produced in a
single manufacturing facility. In some instances, other
manufacturing facilities can be re-configured to produce different
components at different times. A manufacturing facility may
repeatedly cycle between two or more different components or
systems (e.g., associated with one or more product designs) that
are produced at different times on the same equipment. When
multiple parts are produced, it is important that the parts be
identical or nearly identical. Specific features or aspects of the
parts should be repeatable according to a repeatability criteria
that can be defined for the part. When a product design is to be
manufactured in multiple batches, it is desirable to configure the
manufacturing processes to be near identical for all manufacturing
executions of the product design. The process repeatability can
help to ensure that the part repeatability criteria is met.
Further, the storage, movement, and/or processing of the
manufacturing information may need to be done in a manner that
interfaces with and/or supports the execution of the manufacturing
process.
[0021] However, it can be challenging to move production of a
product design from one manufacturing facility to another. Small
differences between two manufacturing facilities can have a
profound impact on the repeatability and/or quality control of
manufactured parts, even when the parts share the same product
design. For instance, difference between manufacturing facilities
that can affect the manufacturing of a product design can include,
but are not limited to, differences in: the manufacturing
equipment, the relative locations of manufacturing equipment,
personnel, work structure and/or practices, material flow, factory
layout, environmental factors (e.g., temperature, humidity,
lighting, and/or the like), a combination thereof, and/or the like.
When production of a product design is moved between manufacturing
facilities, the parts or systems made in the different factories
can experience variances in repeatability. Differences between
parts and/or systems can result in different quality factors, such
as: yield, production rate, material and energy consumption,
tolerances, defects, failures, a combination thereof, and/or the
like.
[0022] Further, additional challenges can arise in optimizing the
manufacturing of a product design. Conventionally, product designs
will be manufactured with different sizes, tolerances, and/or
process settings to explore a parameter space and evaluate an
optimal configuration. For instance, a design of experiments
("DoE") can be employed, where the specific variations to be tested
are organized in a manner that allows for statistical analysis of
the resulting parts. However, the DoE process can be time and
resource intensive, and is often only performed for select parts in
the design process.
[0023] Moreover, manufacturing a new part (e.g., that has never
been manufactured previously) can face multiple challenges.
Specific interactions between the product design, material
selection, and/or manufacturing process can result in, for example:
manufacturing failures, unacceptably large tolerances, unacceptable
surface finish, excess material consumption, low production rates,
a combination thereof, and/or the like. Manufacturers typically
rely on experience and knowledge of subject matter experts to
address these issues. This knowledge and experience can guide
design refinements, materials selection, manufacturing process
settings, and/or other manufacturing inputs.
[0024] Various embodiments described herein can regard systems,
computer-implemented methods, and/or computer program products that
can generate one or more digital build packages, which can
characterize the manufacturing of one or more product designs.
Further, the one or more digital build packages can comprise
canonicalized manufacturing inputs that can be portable distributed
throughout a network of manufacturing facilities. In various
embodiments, the one or more digital build packages can reduce,
and/or eliminate, differences in production of the same product
design between respective manufacturing facilities; thereby,
resulting in improved consistency of product quality, despite
changes in manufacturing locations.
[0025] In addition, one or more embodiments described herein can
capture and/or record information regarding previously generated
digital build packages. For instance, said information can include
evaluation metrics regarding the performance of previous digital
build packages. The evaluation metrics can include information
collected about, for example: the digital build package, operation
of the digital build package, factory data associated with the
digital build package, parts data associated with the digital build
package, a combination thereof, and/or the like. The collected
information can be utilized to refine and/or optimize future
digital build packages (e.g., subsequent product designs, design
revisions, associate material selections, and/or associate
manufacturing processes). For instance, the collected information,
and/or historic information characterizing the content of previous
digital build packages, can be leveraged to: increase
repeatability, manufacture better performing parts, reduce costs,
increase production rates, and/or increase product yields. The
collected information and/or historic information can also be used
to make changes to part designs, manufacturing inputs, and/or
process settings.
[0026] For example, one or more embodiments described herein can
compare a given digital build package with historical digital build
package to identify one or more similarities that can form the
basis of one or more insights regarding optimization. For one or
more given manufacturing inputs characterized by a digital build
package (e.g., including product design, material selection, and/or
manufacturing process selection), one or more embodiments described
herein can generate one or more insights (e.g., recommendations)
based on results attributed to past digital product designs having
similar characteristics. For instance, the one or more insights can
regard: refine the product design, alternate materials, and/or
manufacturing process parameter configurations, a combination
thereof, and/or the like. Typical manufacturing systems cannot
readily and/or efficiently search a database to find similar
combinations of product designs, materials, and processes. For
example, this information is not typically collected in a common,
searchable database. Furthermore, CAD models are not easily
searchable (e.g., the specific geometric features that are
difficult to manufacture are not easily found in a search).
Similarly, manufacturing process data and/or manufacturability data
(e.g., machine data, process data, factory data, and/or measures of
manufacturing success with regards to yield, rate, tolerances,
failures, and/or the like) are typically not recorded in a common
database, nor efficiently searchable. Advantageously, various
embodiments described herein can utilize the standardization
embodied by the digital build packages to facilitate historical
comparisons and/or to learn lessons (e.g., via one or more machine
learning techniques and/or models).
[0027] The computer processing systems, computer-implemented
methods, apparatus and/or computer program products employ hardware
and/or software to solve problems that are highly technical in
nature (e.g., controlling manufacturing inputs to minimize
manufacturing deviations and/or enable the identification of one or
more manufacturing insights), that are not abstract and cannot be
performed as a set of mental acts by a human. Also, one or more
embodiments described herein can constitute a technical improvement
over conventional design of experiment techniques by leveraging
standardized data from historic manufacturing executions to
generate insights regarding the optimization of manufacturing a
product design. Additionally, various embodiments described herein
can demonstrate a technical improvement over conventional
manufacturing techniques by canonicalizing manufacturing input data
into a build package that can minimize manufacturing deviations
between manufacturing facilities. For example, various embodiments
described herein can generate build packages that standardize
manufacturing information across various product designs,
manufacturing processes, manufacturing requirements, manufacturing
equipment, manufacturing preferences, and/or manufacturing
facilities.
[0028] Further, one or more embodiments described herein can have a
practical application by facilitating comparisons between newly
generated digital build packages and historic digital build
package. For instance, various embodiments described herein can
employ said comparisons to generate one or more insights regarding
how to optimize manufacturing of a given product design and/or
analyzing results associated with previously executed versions of
the digital build package.
[0029] FIG. 1 illustrates a block diagram of an example,
non-limiting system 100 that can generate one or more digital build
packages regarding manufacturing of product design. Repetitive
description of like elements employed in other embodiments
described herein is omitted for the sake of brevity. Aspects of
systems (e.g., system 100 and the like), apparatuses or processes
in various embodiments of the present invention can constitute one
or more machine-executable components embodied within one or more
machines, e.g., embodied in one or more computer readable mediums
(or media) associated with one or more machines. Such components,
when executed by the one or more machines (e.g., computers,
computing devices, virtual machines, a combination thereof, and/or
the like) can cause the machines to perform the operations
described.
[0030] As shown in FIG. 1, the system 100 can comprise one or more
servers 102, one or more networks 104, input devices 106, and/or
data repositories 108. The server 102 can comprise build package
component 110. The build package component 110 can further comprise
communications component 112 and/or attribute component 114. Also,
the server 102 can comprise or otherwise be associated with at
least one memory 116. The server 102 can further comprise a system
bus 118 that can couple to various components such as, but not
limited to, the build package component 110 and associated
components, memory 116 and/or a processor 120. While a server 102
is illustrated in FIG. 1, in other embodiments, multiple devices of
various types can be associated with or comprise the features shown
in FIG. 1. Further, the server 102 can communicate with one or more
cloud computing environments.
[0031] The one or more networks 104 can comprise wired and wireless
networks, including, but not limited to, a cellular network, a wide
area network (WAN) (e.g., the Internet) or a local area network
(LAN). For example, the server 102 can communicate with the one or
more input devices 106 (and vice versa) using virtually any desired
wired or wireless technology including for example, but not limited
to: cellular, WAN, wireless fidelity (Wi-Fi), Wi-Max, WLAN,
Bluetooth technology, a combination thereof, and/or the like.
Further, although in the embodiment shown the build package
component 110 can be provided on the one or more servers 102, it
should be appreciated that the architecture of system 100 is not so
limited. For example, the build package component 110, or one or
more components of the build package component 110, can be located
at another computer device, such as another server device, a client
device, and/or the like.
[0032] The one or more input devices 106 can comprise one or more
computerized devices, which can include, but are not limited to:
personal computers, desktop computers, laptop computers, cellular
telephones (e.g., smart phones), computerized tablets (e.g.,
comprising a processor), smart watches, keyboards, touch screens,
mice, haptic devices, cameras, machine vision devices, a
combination thereof, and/or the like. The one or more input devices
106 can be employed to enter one or more commands and/or inputs
into the system 100, thereby sharing (e.g., via a direct connection
and/or via the one or more networks 104) said data with the server
102. For example, the one or more input devices 106 can send data
to the build package component 110 (e.g., via a direct connection
and/or via the one or more networks 104). Additionally, the one or
more input devices 106 can comprise one or more displays that can
present one or more outputs generated by the system 100 to a user.
For example, the one or more displays can include, but are not
limited to: cathode tube display ("CRT"), light-emitting diode
display ("LED"), electroluminescent display ("ELD"), plasma display
panel ("PDP"), liquid crystal display ("LCD"), organic
light-emitting diode display ("OLED"), a combination thereof,
and/or the like.
[0033] For example, one or more entities (e.g., users of the system
100) can employ the one or more input devices 106 to enter the
example first, second, and/or third type of manufacturing inputs
122 described herein. For instance, exemplary manufacturing inputs
122 can include digital product designs (e.g., CAD files,
three-dimensional models, two-dimensional graphs, point clouds,
drawings, a combination thereof, and/or the like). In another
instance, the exemplary manufacturing inputs 122 can include
material type, color, or associations with other types of
information related to the design and manufacturing of the product
design. In a further instance, the exemplary manufacturing inputs
122 can include details regarding one or more selected
manufacturing processes, such as: process type, manufacturing
instructions, permissible tolerances, desired finishes, a
combination thereof, and/or the like. In a still further instance,
the exemplary manufacturing inputs 122 can include: a desired
manufacturing location, an order quantity (e.g., batch size), a
cost budget, a shipment destination, a combination thereof, and/or
the like.
[0034] In various embodiments, the one or more input devices 106
and/or the one or more networks 104 can be employed to input one or
more settings and/or commands into the system 100. For example, in
the various embodiments described herein, the one or more input
devices 106 can be employed to operate and/or manipulate the server
102 and/or associate components. Additionally, the one or more
input devices 106 can be employed to display one or more outputs
(e.g., displays, data, visualizations, and/or the like) generated
by the server 102 and/or associate components. Further, in one or
more embodiments, the one or more input devices 106 can be
comprised within, and/or operably coupled to, a cloud computing
environment.
[0035] The one or more data repositories 108 can store data
regarding one or more: manufactured products, manufacturing
techniques, manufacturing processes, manufacturing locations,
manufacturing equipment, manufacturing instructions, manufacturing
environments, manufacturing costs, manufacturing features,
manufacturing constraints, manufacturing requirements,
manufacturing facilities, manufacturing outcomes, quality
assessments of manufactured products, factories, factory
operations, materials, a combination thereof, and/or the like. In
various embodiments, the one or more manufacturing inputs 122 can
also be stored in the one or more data repositories 108.
Additionally, one or more outputs of the build package component
110 can be stored in the one or more data repositories 108.
[0036] Additionally, in one or more embodiments, auxiliary data can
be stored in the one or more data repositories 108. For example,
auxiliary data can be sourced from: information systems from
venders, information systems from supplier partners, information
systems that can be access over the internet, manufacturing
equipment, cameras, microphones, video recording equipment, a
combination thereof, and/or the like. Example types of auxiliary
data that can be stored in the one or more data repositories 108
can include, but are not limited to: weather data, environmental
data, geometric data regarding parts (e.g., manufacturing material)
in service and/or sourced from one or more vendors, commodities
pricing and/or availability, competitor capabilities and/or
benchmarking, supplier data, process requirements, information
and/or data about the entities associated with the given product,
information that indicates one or more relationships between
different parts and/or orders, a combination thereof, and/or the
like.
[0037] Moreover, data included in the one or more data repositories
108 can include past costs associated with: one or more
manufacturing materials, manufacturing facility operations, labor,
and/or shipping. In another example, the data included in the one
or more data repositories 108 can include one or more references
tables regarding manufacturing conditions (e.g., lead times, energy
requirements, machining employed, tolerance values achieved)
associated with one or more manufacturing processes and/or
techniques. In a further example, one or more reference tables of
the data repositories 108 can include chemical and/or physical
properties of various manufacturing materials that can be employed
by one or more manufacturing processes and/or can be processed by
one or more manufacturing facilities. In a further example, one or
more compatibility reference databases of the data repositories 108
can define compatible combinations of manufacturing techniques and
manufacturing materials. In a further example, the one or more
compatibility reference databases of the data repositories 108 can
define compatible combinations of manufacturing materials and
surface finishing techniques. In a further example, the one or more
reference tables of the data repositories 108 can include one or
more operational capacities of respective manufacturing techniques
and/or manufacturing machines. For instance, the one or more
reference tables can define limits on the size, location, and/or
dimensions of one or more product features in association with
respective manufacturing techniques and/or manufacturing materials.
In a further example, the one or more reference tables of the data
repositories 108 can define compatible combinations of geometric
features that can be manufactured together, and/or combinations of
geometric features and materials that are manufacturable, and/or
combinations of manufacturing processes that are mutually
compatible, and/or combinations of manufacturing processes and
materials that are compatible. In a further example, the one or
more reference tables of the data repositories 108 can include
attributes related to the cost of a product such as labor cost,
machine cost, material usage, material waste, and the like. In a
further example, one or more reference tables of the data
repositories 108 can define methods to transport manufactured
goods, the speed of those methods, and methods for storing parts in
warehouses. In a further example, one or more reference tables of
the data repositories 108 can define methods to measure the
dimensions, surface finish, color, or porosity of a material or
manufactured good. In a further example, one or more reference
tables of the data repositories 108 can define environmental impact
such as emissions, carbon generated, water consumption, or other
measures of environmental impact.
[0038] In various embodiments, the attribute component 114 can
extract a simplified summary 126 of the product to be manufactured
based on the product design included in the one or more
manufacturing inputs 122. The attribute component 114 can extract
the one or more design attributes directly from the one or more
product designs. For instance, the attribute component 114 can
extract design attributes (e.g., overall envelope size, the size
and shape of specific geometric features, the orientation of
features, the number of features, the surface area, the volume, the
location of the center of mass, descriptors of hardness,
processability, temperature stability, and/or the like) from one or
more CAD files comprised within the one or more manufacturing
inputs 122. In one or more embodiments, the one or more simplified
summaries 126 can include results from one or more statistical
analyses and/or other mathematical calculations about the design
attributes.
[0039] Further, the attribute component 114 can identify the
occurrence of missing manufacturing attribute values and generate
one or more notifications 128 to query the one or more input
devices 106 for the missing information. For example, the attribute
component 114 can analyze one or more product designs to determine
whether the dimensions for all the parts, components, and/or
features of the product are defined. Where a part, component,
and/or feature is missing one or more dimensional values (e.g., a
height value, width value, depth value, length value, arch angle,
circumference value, diameter, radius, and/or the like), the
attribute component 114 can generate one or more notifications 128
to query the missing information from the one or more input devices
106. In response to the one or more notifications 128 generated by
the attribute component 114, the one or more input devices 106 can
be employed to enter additional manufacturing inputs 122 into the
system 100 (e.g., which can be utilized by the attribute component
114 to complete the simplified summary 126).
[0040] FIG. 2 illustrates a diagram of the example, non-limiting
system 100 further comprising standardization component 202 in
accordance with one or more embodiments described herein.
Repetitive description of like elements employed in other
embodiments described herein is omitted for the sake of brevity. In
various embodiments, the standardization component 202 can
structure the simplified summary 126 into an intermediate data form
("IDF"). The IDF can be a standardized data format utilized with
the manufacturing of all, or nearly all, products within by the
system 100.
[0041] In various embodiments, the standardization component 202
can alter the data of the simplified summary 126 to generate the
IDF. For example, the standardization component 202 can covert one
or more values comprised in the simplified summary 126 to one or
more defined units of measure (e.g., by referencing one or more
unit conversion tables stored in the one or more data repositories
108). For instance, the standardization component 202 can convert
imperial measurements to metric measurements, or vice versa. In
another example, the standardization component 202 can translate
names and/or titles extracted from the one or more manufacturing
inputs 122 into one or more pre-defined names and/or titles (e.g.,
by referencing one or more synonym stales stored in the one or more
data repositories 108). In another example, the standardization
component 202 can articulate the geometric features of a design
into a standard form that can include information such as
dimension, location, orientation, and/or feature type.
Additionally, the standardization component 202 can organize the
simplified summary 126 into a predefined layout and/or order.
[0042] FIG. 3 illustrates a diagram of the example, no-limiting
system 100 further comprising packaging component 302 in accordance
with one or more embodiments described herein. Repetitive
description of like elements employed in other embodiments
described herein is omitted for the sake of brevity. In various
embodiments, the packaging component 302 can employ a packaging
algorithm to generate a digital build package 304 for a given
product based on the simplified summary 126 (e.g., standardized
into the IDF) and additional manufacturing details extracted from
the one or more manufacturing inputs 122 and/or data collected from
elsewhere in the system 100, such as data included in the one or
more data repositories 108 (e.g., such as the historic and/or
auxiliary data described herein)
[0043] The digital build package 304 can serve as a product profile
that delineates various details for manufacturing the given
product. In addition to the standardized simplified summary 126,
the digital build package 304 can comprise a plurality of
manufacturing attributes extracted from the manufacturing inputs
122. The manufacturing attributes can be manufacturing details
required to fulfill manufacturing of the given product. In various
embodiments, the manufacturing attributes can be defined by the one
or more manufacturing inputs 122, where the packaging component 302
can extract the manufacturing attribute values and compile the
values into the digital build package 304. In one or more
embodiments, one or more of the manufacturing attributes can be
defined by the packaging component 302 (e.g., rather than the one
or more manufacturing inputs 122).
[0044] For example, the packaging component 302 can extract
manufacturing attribute values regarding material selection,
manufacturing process details, and/or manufacturing objectives from
one or more text descriptions and/or data forms comprised within
the one or more manufacturing inputs 122 and/or from data (e.g.,
auxiliary data, manufacturing facility 404 data, and/or the like)
stored in the one or more data repositories 108. For instance, the
one or more manufacturing inputs 122 can comprise one or more
textual descriptions of various manufacturing details, such as:
materials comprised withing the product to be manufactured, the
type of manufacturing processes to be employed, color selection,
type of surface finish, permissible tolerances, budget constraints,
order quantity, shipping destination, a combination thereof, and/or
the like. The packaging component 302 can employ one or more
natural language processing algorithms to identify and/or extract
the manufacturing attribute values from the textual
descriptions.
[0045] In another instance, the one or more manufacturing inputs
122 can comprise data entered into one or more forms, such as:
fill-in-the-blank documents, check-box forms, drop down menus,
diagrams, tables, charts, a combination thereof, and/or the like.
In one or more embodiments, the packaging component 302 can employ
one or more natural language processing algorithms to identify
and/or extract the manufacturing attributes from the data forms.
Also, in one or more embodiments, the packaging component 302 can
identify the type of data form via one or more form identification
codes. Once the packaging component 302 identifies the type of data
form (e.g., by referencing the identification code from one or more
references tables that can be stored, for example, in the one or
more memories 116 and/or data repositories 108), the packaging
component 302 can extract manufacturing attribute values from the
data forms and correlate the values to the associate manufacturing
attributes based on the value's position within the data form. In a
further instance, packaging component 302 can extract manufacturing
attribute values from the one or more data repositories 108. For
example, manufacturing attribute values can be extracted from data
regarding historic data, current environmental conditions, current
supply status, current cost status, any of the auxiliary data
described herein, any of the manufacturing facility 404 described
herein, a combination thereof, and/or the like.
[0046] Further, the packaging component 302 can identify the
occurrence of missing manufacturing attribute values in the
manufacturing inputs 122 and generate one or more notifications 128
to query the one or more input devices 106 for the missing
information. In another example, the packaging component 302 can
analyze one or more data forms of the one or more manufacturing
inputs 122 to determine whether one or more data entry options have
been left blank (e.g., left unpopulated). Where there are
unpopulated portions of the one or more data forms, the packaging
component 302 can generate one or more notifications 128 to query
the missing information from the one or more input devices 106. In
response to the one or more notifications 128 generated by the
packaging component 302, the one or more input devices 106 can be
employed to enter additional manufacturing inputs 122 into the
system 100 (e.g., which can be utilized by the packaging component
302 to complete the digital build package 304).
[0047] In various embodiments, the identification of a first
manufacturing attribute value within the manufacturing inputs 122
can initialize a search by the packaging component 302 for details
and/or values regarding an associate, second manufacturing
attribute. For example, some manufacturing attributes can be
required in association with each other. Additionally, in various
embodiments, the packaging component 302 can check for
compatibility between manufacturing attribute values and/or design
attribute values. For instance, the packaging component 302 can
determine whether one or more selected manufacturing processes are
compatible with one or more permissible tolerance thresholds
defined in the one or more manufacturing inputs 122. In another
instance, the packaging component 302 can determine whether one or
more selected manufacturing materials are compatible with one or
more selected manufacturing processes. In a further instance, the
packaging component 302 can determine whether the size envelope of
one or more parts and/or features of a given product design are
compatible with a selected manufacturing material and/or
manufacturing process.
[0048] As described herein, one or more compatibility reference
databases can be stored in the one or more data repositories 108
and/or referenced by the packaging component 302. For instance, the
compatibility reference databases can include one or more charts,
graphs, tables, and/or the like delineating compatibility
relationships between possible manufacturing attributes. The
compatibility relationships can define permissible value ranges for
a first manufacturing attribute given the value for a second,
associate manufacturing attribute. For example, for each possible
manufacturing process, the one or more compatibility reference
databases can delineate compatible: manufacturing materials,
product design size constraints, manufacturing equipment, surface
finishes, tolerance thresholds, colors, physical properties of the
resulting product (e.g., rigidity, strength, malleability, weight,
and/or the like), a combination thereof, and/or the like. In
another example, for each possible material selection, the one or
more compatibility reference databases can delineate compatible:
manufacturing processes, product design size constraints,
manufacturing equipment, surface finishes, tolerance thresholds,
colors, physical properties of the resulting product (e.g.,
rigidity, strength, malleability, weight, and/or the like), a
combination thereof, and/or the like.
[0049] In one or more embodiments, where a combination of
manufacturing attribute values is outside the compatibility
relationships defined by the one or more compatibility reference
databases, the packaging component 302 can identify the one or more
of the manufacturing attribute values as incompatible. Further, the
packaging component 302 can generate one or more notifications 128
regarding incompatible manufacturing attributes and share the one
or more notifications 128 with the one or more input devices 106.
In response to the one or more notifications 128, the one or more
input devices 106 can be employed to revise one or more of the
incompatible attributes. In various embodiments, the one or more
notifications 128 can include one or more compatible relationships
from the one or more compatible reference databases with regards to
the identified manufacturing attributes; thereby, providing
guidance for the revisions.
[0050] In one or more embodiments, the packaging component 302 can
automatically define one or more manufacturing attributes based on
one or more default settings, user settings, and/or historical
data. For example, where the value of a manufacturing attribute is
absent from the one or more manufacturing inputs 122, the packaging
component 302 can provide a default value based on one or more
associate manufacturing attribute values. For example, the
packaging component 302 can select the default value from one or
more of the compatibility relationships defined within the
compatibility reference database for the given manufacturing
attribute. For instance, where a manufacturing process (e.g., a
first manufacturing attribute) is defined by the one or more input
devices 106, but a material selection (e.g., a second manufacturing
attribute) is absent from the one or more manufacturing inputs 122;
the packaging component 302 can select a material used in
manufacturing that is compatible with the defined manufacturing
process from the compatibility reference database.
[0051] Thus, the packaging component 302 can compile the
manufacturing attributes included in the one or more manufacturing
inputs 122 and/or the design attributes included in the one or more
simplified summaries 126 (e.g., standardized to an IDF) to generate
the digital build package 304. Thereby, the build package component
110 can canonicalize the one or more manufacturing inputs 122 into
a digital build package 304 that standardizes product design
features and/or manufacturing features to be employed in
manufacturing a given product.
[0052] FIG. 4 illustrates a diagram of the system 100 further
comprising distribution component 402 in accordance with one or
more embodiments described herein. Repetitive description of like
elements employed in other embodiments described herein is omitted
for the sake of brevity. In various embodiments, the distribution
component 402 can distribute the digital build package 304 within a
network of manufacturing facilities 404 based on one or more design
and/or manufacturing attributes included in the digital build
package 304, where a manufacturing facility 404 from the network of
manufacturing facilities 404 can manufacture the given product in
accordance with the digital build package 304. Additionally, the
distribution component 402 can distribute the associate product
design file (e.g., CAD file) to the manufacturing facilities
404.
[0053] Due to the standardization and/or processing techniques
employed by the build package component 110 (e.g., via the
attribute component 114, standardization component 202, and/or
packaging component 302), the digital build package 304 can serve
as portable manufacturing instructions that can be executed in
various manufacturing facilities 404 with minimal deviation.
Thereby, a more consistent product quality can be achieved when a
product order is serviced across multiple manufacturing facilities
404 and/or when multiple parts of a product are manufactured in
respective manufacturing facilities 404.
[0054] For instance, the distribution component 402 can distribute
copies of the digital build package 304 to multiple manufacturing
facilities 404 to manufacture the given product. In another
instance, the distribution component 402 can distribute a first
portion of the digital build package 304 to a first manufacturing
facility 404, and a second portion of the digital build package 304
to a second manufacturing facility; thereby the first manufacturing
facility 404 can manufacture one part of the product, while the
second manufacturing facility can manufacture another part of the
part.
[0055] Further, the one or more data repositories 108 can store
data collected by one or more manufacturing facilities 130 employed
by the system 100 to fulfill one or more manufacturing orders. In
various embodiments, one or more manufacturing facilities 404
employed by the system 100 can utilize one or more sensors to
collect operation data regarding the execution of one or more
digital build packages 304. Example types of collected data can
include, but is not limited to: manufacturing machine settings,
temperature measurements, humidity measurements, pressure
measurements, material data (e.g., characterizing one or more raw
materials used in the given manufacturing process and/or
characterizing materials after processing), electricity
consumption, power levels of machines and/or components of those
machines, sound recordings, video recordings, photographs,
measurements from light detection and ranging ("LIDAR"),
measurements from displacement sensors, measurements from
three-dimensional scanners, the location of a given product in a
given time, a combination thereof, and/or the like.
[0056] In one or more embodiments, the distribution component 402
can distribute the digital build package 304 amongst the network of
manufacturing facilities 404 based on one or more capabilities of
the manufacturing facilities 404 in relation to one or more design
and/or manufacturing attributes defined in the digital build
package 304. For example, the data stored in the one or more data
repositories 108 can delineate what manufacturing equipment and/or
materials are available in each manufacturing facility 404.
Thereby, the distribution component 402 can determine whether the
one or more define manufacturing attributes can be employed with
the available equipment. In another example, the data stored in the
one or more data repositories 108 can delineate which manufacturing
facilities 404 have the capacity to begin executing new orders.
Further, the data stored in the one or more data repositories 108
can delineate which available manufacturing facilities 404 have the
capacity to manufacturing in accordance with one or more of the
design and/or manufacturing attributes of the digital build package
304. For instance, the data stored in the one or more data
repositories 108 can delineate the types of manufacturing process
that can be employed at each manufacturing facility 404, the types
and/or amount of materials that can be utilized at each
manufacturing facility 404, and/or the like. Thereby, the
distribution component 404 can identify one or more manufacturing
facilities 404 that can begin execution of the digital build
package 304 the soonest.
[0057] In one or more embodiments, the one or more manufacturing
inputs 122 can include one or more user preferences regarding
selection of the manufacturing facilities 404. For example, said
preferences can include: a selection of specific manufacturing
facilities 404 to employ, a preferred geographical location for
manufacturing, a target carbon footprint, target water and/or
energy consumption, a combination thereof, and/or the like. These
preferences can be incorporated into the digital build package 304
as manufacturing attributes extracted from the manufacturing inputs
122. In various embodiments, the distribution component 402 can
distribute the digital build package 304 based on said
manufacturing attributes. For example, the data repository 108 can
store data regarding the carbon emissions, water consumption,
and/or energy consumption of the manufacturing facilities 404. The
distribution component 402 can reference the data repositories 108
to select manufacturing facilities 404 that meet one or more of the
manufacturing attributes delineated in the digital build package
304.
[0058] In various embodiments, the design and/or manufacturing
attributes of the digital build package 304 can be refined at one
or more of the manufacturing facilities 404. For example, the one
or more manufacturing facilities 404 can collect evaluation data
regarding products manufactured in accordance with the digital
build package 304. The evaluation data can be stored in the one or
more data repositories 108 and/or shared with the packaging
component 302 and/or other various components of the system 100
described herein. In one or more embodiments, the packaging
component 302 can update the digital build package 304 to include
the evaluation data. The evaluation data can include, for example:
photographs, metrology data, dimension measurements, test results,
a combination thereof, and/or the like.
[0059] In one or more embodiments, one or more of the design and/or
manufacturing attributes can be adjusted to analyze the effects on
the resulting evaluation data. For example, one or more design
and/or manufacturing attributes can be altered to achieve a quality
control metric. For instance, the settings of manufacturing
equipment can be adjusted to explore the settings' effect on the
evaluation data. Where a design and/or manufacturing attribute
adjustment results in improved evaluation data, the packaging
component 302 can update the digital build package 304 with the
updated attribute adjustment. Further, the update can be
experienced across all distributions of the digital build package
304 amongst the network of manufacturing facilities 404. Thereby, a
digital build package 304 can be refined at a first manufacturing
facility 404, and the refinement can be executed within one or more
other manufacturing facilities 404 to maintain manufacturing
consistency.
[0060] FIG. 5 illustrates a diagram of the example, non-limiting
system 100 further comprising version component 502 in accordance
with one or more embodiments described herein. Repetitive
description of like elements employed in other embodiments
described herein is omitted for the sake of brevity. In various
embodiments, the version component 502 can track changes made to
the digital build package 304 wherein the changes are made during a
development or manufacturing of the product design. For example,
the version component 502 can generate a design history 504
associated with the product design that comprises multiple versions
of the digital build package 304. In various embodiments, the
version component 502 can store the design histories 504 in the one
or more data repositories 108 (e.g., as shown in FIG. 5).
[0061] In one or more embodiments, the version component 502 can
generate a design history for each digital build package 304
generated by the build package component 110 and/or executed in the
one or more manufacturing facilities 404. The design history 504
can include respective versions of the digital build package 304
(e.g., in sequential order), time stamps, evaluation data
associated with each version of the digital build package 304,
location data delineating where (e.g., which manufacturing facility
404) each version of the digital build package 304 was executed
and/or refined, a combination thereof, and/or the like. Further,
the design history 504 can comprise one or more version chains
comprising sequential versions of the digital build package 304.
Moreover, the version component 502 can be employed to copy version
chains, implement one or more forks in the version chains, and/or
merge version chains.
[0062] For example, the version component 502 can implement one or
more forks in a version chain to explore multiple design and/or
manufacturing attribute configurations simultaneously. For
instance, the version component 502 can copy a version of the
digital build package 304; the version of the digital build package
304 can then be revised via adjustments to one or more first design
and/or manufacturing attributes, while the copy can experience
alternate revisions via adjustment of the same or different
attributes. Thereby, in one or more embodiments, the version
component 502 can facilitate one or more A/B testing techniques in
refining the digital build package 502.
[0063] In another example, the version component 502 can implement
one or more mergers of version chains associated with the digital
build package 304. For instance, each respective version chain
segment can comprise a history of optimizing a respective design
and/or manufacturing attribute. By merging the version chains, the
version component 502 can achieve a version in of the digital build
package 304 in which multiple attributes are optimized.
[0064] FIG. 6 illustrates a diagram of the example, non-limiting
system 100 further comprising insight component 602 in accordance
with one or more embodiments described herein. Repetitive
description of like elements employed in other embodiments
described herein is omitted for the sake of brevity. In various
embodiments, the insight component 602 can perform one or more
comparisons of the digital build package 304 to historical data of
the one or more data repositories 108 to generate one or more
insights regarding the manufacturing inputs 122.
[0065] In one or more embodiments, the insight component 602 can
compare product designs and/or digital build packages 304 (e.g.,
comprising design and/or manufacturing attributes) to historical
data stored in the one or more data repositories 108. For example,
the insight component 602 can reference the one or more data
repositories 108 for information regarding previously generated
and/or manufactured product designs and/or digital build packages
304. For instance, the insight component 602 can compare the design
attributes comprised within the standardized, simplified summary
126 of a given digital build package 304 with historic design
attributes previously employed in historic digital build packages
304. In a further instance, the insight component 602 can compare
the manufacturing attributes extracted from the one or
manufacturing inputs 122 of a given digital build package 304 with
historic manufacturing attributes previously employed in historic
digital build packages 304.
[0066] In various embodiments, the insight component 602 can
identify one or more past digital build packages 304 that are
similar to a given digital build package 304 based on one or more
shared design attributes and/or manufacturing attributes. For
instance, the insight component 602 can search the one or more data
repositories 108 for similar design attributes based on, for
example: product geometry, product operation and/or application,
product dimensions, physical properties of the product (e.g.,
rigidity, malleability, durability, and/or the like), thermal
stability of the product, strength of the product, a combination
thereof, and/or the like. In another instance, the insight
component 602 can search the one or more data repositories 108 for
similar manufacturing attributes based on, for example:
manufacturing process, material selection, color selection, surface
finish, order quantity, tolerance requirements, fulfillment/lead
time requirements, a combination thereof, and/or the like. By
identifying similar design and/or manufacturing attributes, the
insight component 602 can predict the given digital build package
304 can exhibit similar evaluation data.
[0067] In various embodiments, the insight component 602 (and/or
associate components thereof) can employ one or more machine
learning models to analyze a given digital build package in
relation to historic digital build packages 304 (e.g., previously
generated, manufactured, and/or refined). As used herein, the term
"machine learning model" can refer to a computer model that can be
used to facilitate one or more machine learning tasks. For example,
the computer model can simulate a number of interconnected
processing units that can resemble abstract versions of neurons.
The processing units can be arranged in a plurality of layers
(e.g., one or more input layers, one or more hidden layers, and/or
one or more output layers) connected with by varying connection
strengths (e.g., which can be commonly referred to within the art
as "weights"). For instance, neural network models can learn
through training, wherein data with known outcomes is inputted into
the computer model, outputs regarding the data are compared to the
known outcomes, and/or the weights of the computer model are
autonomous adjusted based on the comparison to replicate the known
outcomes. As used herein, the term "training data" can refer to
data and/or data sets used to train one or more neural network
models. As a machine learning model trains (e.g., utilizes more
training data), the computer model can become increasingly
accurate; thus, trained neural network models can accurately
analyze data with unknown outcomes, based on lessons learning from
training data, to facilitate one or more machine learning tasks.
Example machine learning models can include, but are not limited
to: perceptron ("P"), feed forward ("FF"), radial basis network
("RBF"), deep feed forward ("DFF"), recurrent neural network
("RNN"), long/short term memory ("LSTM"), gated recurrent unit
("GRU"), auto encoder ("AE"), variational AE ("VAE"), denoising AE
("DAE"), sparse AE ("SAE"), markov chain ("MC"), Hopfield network
("HN"), Boltzmann machine ("BM"), deep belief network ("DBN"), deep
convolutional network ("DCN"), deconvolutional network ("DN"), deep
convolutional inverse graphics network ("DCIGN"), generative
adversarial network ("GAN"), liquid state machine ("LSM"), extreme
learning machine ("ELM"), echo state network ("ESN"), deep residual
network ("DRN"), kohonen network ("KN"), support vector machine
("SVM"), and/or neural turing machine ("NTM"). Many other types of
machine learning models and methods are known to those skilled in
the art and could be readily integrated into the system 100.
[0068] As described herein, structuring extracted design attributes
into an IDF can enable varying product designs (e.g., product
designs originally varying in content, structure, and/or format) to
be standardized into a digital build package 304. Thereby,
rendering the manufacturing of the product design more portable
and/or consistent across a network of manufacturing facilities 404.
Additionally, the generating the digital build package 304 can
serve as a pre-processing step to structure the manufacturing
inputs 122 into a data format that facilitates one or more machine
learning model comparisons.
[0069] As shown in FIG. 7, in various embodiments the insight
component 602 can comprise a similarity component 702, which can
generate a similarity score characterizing an amount similarity
between a given digital build package and a historic digital build
package. In one or more embodiments, the similarity component 702
can employ one or more statistical analyses and/or machine learning
models (e.g., similarity models) to generate the similarity score
and/or facilitate the comparison by the insight component 602.
[0070] For example, the similarity component 702 can embed the
design and/or manufacturing attributes into the embedding space of
a similarity model, where the embeddings can be mathematical
representations of the various attributes. Within the embedding
space, a distance between similar attributes can be larger than a
distance between unsimilar attributes. Thus, as the distance
between embedded attributes increases, the similarity score (e.g.,
an inverse of the distance value) can decrease. In various
embodiments, the similarity component 702 can further employ one or
more cluster algorithms to cluster digital build packages 304 based
on similarity. For example, similar digital build packages 304
(e.g., having a similarity score greater than a defined threshold)
can be clustered together; thereby, digital build packages of 304
of the same cluster can have similar design and/or manufacturing
attributes. Where a given digital build package 304 is determined
to have a high similarity score (e.g., be very similar) with a
historic digital build package 304, the insight component 602 can
predict that given digital build package 304 will achieve similar
evaluation data as the historic digital build package 304. Further,
the insight component 602 can identify one or more design and/or
manufacturing attributes common to the cluster of the similar
historic digital build package 304 as possible recommendations 704
for adjusting the given digital build package 304. In various
embodiments, cluster characteristics identified by the insight
component 602 can inform a compatibility analysis performed by the
attribute component 114 and/or the packaging component 302.
[0071] In one or more embodiments, the similarity score with
regards to a given digital build package 304 and a historic build
package 304 can be a function of multiple distance values (e.g., a
weighted average), where each distance value can characterize the
distance, in the embedding space, between an attribute value of the
given digital build package 304 and the corresponding attribute
value of the historic build package 304. Additionally, different
design and/or manufacturing attributes can have a greater effect on
the evaluation data resulting from executing the digital build
package 304. For example, a product quality control metric can
define a narrow tolerance for product size deviations, while
providing a larger tolerance for product color deviations;
therefore, a design attribute that defines the geometry of a
subcomponent can have a greater effect on the evaluation data than
a manufacturing attribute that defines a color shading of the
product. Within the similarity score function, design and/or
manufacturing attributes associated with a greater effect on the
evaluation data can be given weighted values, such that their
distance values can have a greater impact on the overall similarity
score between the given digital build package 304 and a historic
build package 304. In one or more embodiments, the one or more
input devices 106 can be employed to prioritize design and/or
manufacturing attributes, and/or thereby establish which attributes
are afforded weighted distance values. For example, the one or more
input devices 106 can prioritize design and/or manufacturing
attributes based on the attributes' effect on one or more defined
objectives regarding, for instance: manufacturing time,
environmental impact, manufacturing costs, shipping costs, weight,
one or more quality control metrics, a combination thereof, and/or
the like.
[0072] In various embodiments, the similarity score can be
presented as a scalar, vector quantity, and/or series of vector
quantities that can incorporate one or more design attributes
and/or manufacturing attributes accounted for in the search of the
one or more data repositories 108 or found in the search results.
Also, the similarity score can also be represented using a graph
and/or a map. For instance, the graph and/or map can indicate one
or more design and/or manufacturing attributes in the search,
and/or can show a representation of the data space that can include
one or more design and/or manufacturing attributes. Further, the
similarity score can also be represented as a qualitative
representation (e.g., with colors, or descriptive words). The
insight component 602 can also indicate whether the presence of
additional data or information would improve the comparison to
historic data. The additional data could take the form of a DoE in
which the user creates designs and/or orders that could be produced
in the manufacturing facilities to acquire evaluation data employed
to train the similarity component 702. In one or more embodiments,
the similarity score and/or search results from the data repository
108 can be shared with the one or more input devices 106.
[0073] In various embodiments, the insight component 602 can
further identify one or more trends associated with design and/or
manufacturing attributes. For example, for a given digital build
package 304, the similarity component 702 can identify one or more
most similar historic digital build packages 304 from the data
repositories 108 (e.g., having the highest similarity score).
Further, the insight component 602 can employ one or more pattern
recognition algorithms (e.g., a statistical pattern recognition
algorithm, a syntactic pattern recognition algorithm, and/or a
neural pattern recognition algorithm) to identify one or more
trends the design history of the one or more identified most
similar historic digital build packages 304.
[0074] Further, in various embodiments, the insight component 602
can generate one or more recommendations 704 regarding a given
digital build package 304. The one or more recommendations 704 can
comprise one or more recommended alterations to the given design
and/or manufacturing attributes. The recommendations 704 can be
based on, for example: a similarity score generated by the
similarity component 702, characteristics of clusters of similar
historic digital build packages 304, identified trends (e.g.,
trends identified from the design history of one or more similar
historic digital build packages 304), a combination thereof, and/or
the like.
[0075] In various embodiments, the insight component 602 can
generate one or more recommendations 704 to modify a given digital
build package 304 to more closely resemble one or more historic
digital build packages 304 that achieved favorable evaluation data.
For example, the insight component 602 can generate a
recommendation to alter one or more design and/or manufacturing
attributes of a given digital build package 304 so as to be more
similar to a historic digital design package that (1) has a high
similarity score (e.g., greater than a defined threshold), and/or
(2) has previously exhibited evaluation data that is aligned with
one or more objectives of manufacturing (e.g., which can be defined
in the manufacturing inputs 122, and/or processed as one or more
manufacturing attributes). In another example, the insight
component 602 can: cluster (e.g., via one or more clustering
algorithms and/or clustering machine learning tasks that can be
employed in conjunction with one or more machine learning models,
such as a similarity model with an embedding space) historic
digital build packages 304 based on similar design and/or
manufacturing attributes; identify a cluster most similar to a
given digital build package 304; identify one or more common
characteristics embodied by the members of the identified cluster;
and/or generate one or more recommendations 704 to alter one or
more design and/or manufacturing attributes of the given digital
build package 304 so as to be more similar to identified
characteristics. In a further example, the insight component 602
can: identify a similar historic digital build package 304; employ
one or more pattern recognition algorithms to the design history of
the historic digital build package 304 to identify one or more
correlations between design and/or manufacturing attribute
adjustments and the associate evaluation data; and generate one or
more recommendations 704 to adjust the design and/or manufacturing
attributes of the given digital build package 304 based on the
identified correlations to optimize the given digital build package
304 for one or more manufacturing objectives (e.g., which can be
defined in the manufacturing inputs 122, and/or processed as one or
more manufacturing attributes). In another example, the insight
component 602 can: identify an intermediate version (e.g., a
version of the historic digital build package 304 that is not
latest in the version chain of the design history) of a historic
digital build package 304 to be most similar to a given digital
build package 304; identify one or more design and/or manufacturing
attribute changes in subsequent versions of the digital build
package 304 that resulted in improved evaluation data; and/or
generate one or more recommendations 704 to adjust the design
and/or manufacturing attributes of the given digital build package
304 in a similar manner as the identified changes.
[0076] Additionally, or alternatively, the insight component 602
can generate one or more recommendations 704 to modify a given
digital build package 304 to increase differentiation with one or
more historic digital build packages 304 that achieved unfavorable
evaluation data. For example, the insight component 602 can
generate a recommendation to alter one or more design and/or
manufacturing attributes of a given digital build package 304 so as
to render the given digital build package 304 less similar to a
historic digital design package that (1) currently has a high
similarity score (e.g., greater than a defined threshold), and/or
(2) has previously exhibited evaluation data that is poorly aligned
with one or more objectives of manufacturing (e.g., which can be
defined in the manufacturing inputs 122, and/or processed as one or
more manufacturing attributes). In another example, the insight
component 602 can: cluster (e.g., via one or more clustering
algorithms and/or clustering machine learning tasks that can be
employed in conjunction with one or more machine learning models,
such as a similarity model with an embedding space) historic
digital build packages 304 based on similar design and/or
manufacturing attributes; identify a cluster most similar to a
given digital build package 304 and associated with undesirable
evaluation data (e.g., associated with poor quality control,
multiple failures, high cost, long manufacturing time, a
combination thereof, and/or the like); identify one or more common
characteristics embodied by the members of the identified cluster;
and/or generate one or more recommendations 704 to alter one or
more design and/or manufacturing attributes of the given digital
build package 304 so as to differentiate from identified
characteristics. In a further example, the insight component 602
can: identify a similar historic digital build package 304 having
achieved undesirable evaluation data; employ one or more pattern
recognition algorithms to the design history of the historic
digital build package 304 to identify one or more correlations
between design and/or manufacturing attribute adjustments and the
associate evaluation data; and generate one or more recommendations
704 to adjust the design and/or manufacturing attributes of the
given digital build package 304 based on the identified
correlations to optimize the given digital build package 304 for
one or more manufacturing objectives (e.g., which can be defined in
the manufacturing inputs 122, and/or processed as one or more
manufacturing attributes). In another example, the insight
component 602 can: identify an intermediate version (e.g., a
version of the historic digital build package 304 that is not
latest in the version chain of the design history) of a historic
digital build package 304 that is most similar to a given digital
build package 304 while being associated with undesirable
evaluation data; identify one or more design and/or manufacturing
attribute changes in subsequent versions of the digital build
package 304 that resulted in improved evaluation data; and/or
generate one or more recommendations 704 to adjust the design
and/or manufacturing attributes of the given digital build package
304 in a similar manner as the identified changes.
[0077] In various embodiments, the one or more input devices 106
can be employed to enact the one or more recommendations 704. For
example, enacting the one or more recommendations 704 can result in
a new version of the digital build package 304. For instance, the
version component 502 can track the new version as a part of one or
more version chains included in the design history of the associate
product (e.g., incorporated into the design history as a mere link
in the version chain or implemented as a fork in the version
chain). In another example, enacting the one or more
recommendations 704 can result in new, distinct digital build
package (e.g., which can have a respective design history).
Additionally, revised and/or new digital build packages 304 can be
re-analyzed multiple times (e.g., through multiple iterations of
enacted recommendations) to further optimize the manufacturing of
the product.
[0078] FIG. 8 illustrates a diagram of an example, non-limiting
communication scheme 800 that can be employed by the system 100
and/or various components thereof in accordance with one or more
embodiments described herein. Repetitive description of like
elements employed in other embodiments described herein is omitted
for the sake of brevity.
[0079] At 802, the one or more input devices 106 can be employed to
share manufacturing inputs 122 with the build package component 110
and/or the one or more data repositories 108. For example,
manufacturing inputs 122 regarding and/or including a product
design can be processed by the attribute component 114 and/or
standardization component 202 in accordance with various
embodiments described herein. Additionally, manufacturing inputs
122 regarding additional manufacturing details can be directly
processed by the packaging component 302 in accordance with various
embodiments described herein. Further, copies of the manufacturing
inputs 122 can be stored in the one or more data repositories
108.
[0080] At 804, the attribute component 114 and/or standardization
component 202 can share one or more standardized, simplified
summaries 126 with the packaging component 302. In accordance with
one or more embodiments described herein, the standardized,
simplified summaries can include design attribute values extracted
from the manufacturing inputs 122 and/or structured into an IDF.
Further, at 806, the copies of the one or more standardized,
simplified summaries 126 can be stored in the one or more data
repositories 108.
[0081] At 808, the distribution component 402 can share one or more
digital build packages 304 and/or product designs (e.g., from the
one or more manufacturing inputs 122) with one or more
manufacturing facilities 404. For example, the packaging component
302 can generate the one or more digital build packages 304 based
on the standardized, simplified summary 126 and/or manufacturing
attribute values extracted from the manufacturing inputs 122 in
accordance with one or more embodiments described herein. Also, the
packaging component 302 can extract one or more manufacturing
attribute values from data (e.g., auxiliary data) stored in the one
or more data repositories 108 and/or shared with the packaging
component 302 at 810. Further, distribution component 402 can
distribute the one or more digital build packages 304 to the
manufacturing facilities 404 based on one or more design and/or
manufacturing attributes defined by the digital build packages 304.
Additionally, the distribution component 404 can distribute the one
or more digital build packages 304 to the manufacturing facilities
404 based on one or more characteristics of the manufacturing
facilities 404 retrieved from the one or more data repositories 108
at 810 in accordance with one or more embodiments described
herein.
[0082] At 812, the one or more manufacturing facilities 404 can
share evaluation data with the packaging component 302. Further, at
814, the one or more manufacturing facilities 404 can share the
evaluation data with the one or more data repositories 108. In
accordance with various embodiments described herein, the packaging
component 302 can update the one or more digital build packages 304
to include the evaluation data and/or any refinements made to one
or more of the design and/or manufacturing attributes. Further, the
version component 502 can generate and/or update one or more design
histories associated with the digital build package 304 to track
the evolution of the digital build package 304 through multiple
configurations. At 816, the digital build package 304, evaluation
data, and/or design history can be stored in the one or more data
repositories 108.
[0083] In accordance with one or more embodiments, the digital
build package 304 (e.g., including the standardized, simplified
summary 126 and/or manufacturing attributes) can be shared with the
insight component 602 at 818. The insight component 602 can compare
the digital build package to one or more historic digital build
packages 304 (e.g., retrieved from the one or more data
repositories at 820) that were previously generated and/or
manufactured. In accordance with various embodiments described
herein, the insight component 602 can generate one or more
recommendations 704 regarding possible alterations to the one or
more manufacturing inputs 122 based on the comparison. Further, the
insight component 602 can share the one or more recommendations 704
with the one or more input devices 106 (e.g., at 822) and/or data
repositories 108. Additionally, one or more features of the system
100 and/or communications of the communication scheme 800 can be
repeated to optimize the manufacturing of a product.
[0084] In various embodiments, the one or more input devices 106
utilized to enter the one or more manufacturing inputs into the
system 100 can be different than the one or more input devices 106
that receive the one or more recommendations 704 at 822. For
instance, a plurality of system 100 users can be associated with
the product characterized by the manufacturing inputs 122, where
each user can employ a respective input device 106. For example, a
development of the one or more digital build packages 304 can
managed by a collaboration of users supplying the manufacturing
inputs 122, reviewing recommendations 704, and/or altering
manufacturing inputs 122 (e.g., based on the recommendations
704).
[0085] FIG. 9 illustrates a flow diagram of an example,
non-limiting computer-implemented method 900 that can be employed
by the system 100 to generate, distribute, and/or optimize one or
more digital build packages 304 in accordance with one or more
embodiments described herein. Repetitive description of like
elements employed in other embodiments described herein is omitted
for the sake of brevity.
[0086] At 902, the computer-implemented method 900 can comprise
receiving (e.g., via communications component 112), by a system 100
operatively coupled to a processor 120, one or more manufacturing
inputs 122 regarding a product design and/or manufacturing details.
At 904, the computer-implemented method 900 can comprise generating
(e.g., via attribute component 114), by the system 100, one or more
simplified summaries 126 that can characterize the product design
by extracting a plurality of design attribute values from the
manufacturing inputs 122 (e.g., the one or more design attribute
values can be extracted from one or more CAD files of the product
design). At 906, the computer-implemented method 900 can comprise
structuring (e.g., via standardization component 202), by the
system 100, the one or more simplified summaries 126 into an IDF in
accordance with various embodiments described herein.
[0087] At 908, the computer-implemented method 900 can comprise
executing (e.g., via packaging component 302), by the system 100,
one or more packing algorithms to generate one or more digital
build packages 304 based on the one or more simplified summaries
126 and/or a plurality of manufacturing attributes extracted from
the manufacturing inputs 122. In accordance with various
embodiments described herein, the plurality of manufacturing
attributes can delineate further manufacturing details and/or
objectives in addition to the product design.
[0088] At 910, the computer-implemented method 900 can comprise
performing (e.g., via similarity component 702), by the system 100,
one or more comparisons of the one or more digital build packages
304 to historic data regarding one or more previously generated
and/or manufactured digital build packages 304. For example, the
comparison at 910 can be performed via one or more machine learning
models (e.g., a similarity model) in accordance with various
embodiments described herein. At 912, the computer-implemented
method 900 can comprise generating (e.g., via insight component
602), by the system 100, one or more recommended alterations to the
manufacturing inputs 122 based on the one or more comparisons at
910. At 914, the computer-implemented method 900 can comprise
tracking (e.g., via version component 502), by the system 100, one
or more changes made to the one or more digital build package 304.
For example, the changes can be made throughout the development
process of the digital build package 304. For instance, changes can
be made due to refinements at the manufacturing facilities 404
(e.g., based on evaluation data) and/or due to recommendations 704
generated by the insight component 602 (e.g., based on historic
data) and/or employed via the one or more input devices. At 916,
the computer-implemented method 900 can comprise distributing
(e.g., via distribution component 402), by the system 100, the one
or more digital build packages 304 within a network of one or more
manufacturing facilities 404 based on a manufacturing attribute
delineated by the one or more digital build packages 304. Also, the
distribution at 916 can be further based on one or more
manufacturing objectives defined by the one or more manufacturing
inputs 122.
[0089] In order to provide additional context for various
embodiments described herein, FIG. 10 and the following discussion
are intended to provide a general description of a suitable
computing environment 1000 in which the various embodiments of the
embodiment described herein can be implemented. While the
embodiments have been described above in the general context of
computer-executable instructions that can run on one or more
computers, those skilled in the art will recognize that the
embodiments can be also implemented in combination with other
program modules and/or as a combination of hardware and
software.
[0090] Generally, program modules include routines, programs,
components, data structures, and/or the like, that perform
particular tasks or implement particular abstract data types.
Moreover, those skilled in the art will appreciate that the
inventive methods can be practiced with other computer system
configurations, including single-processor or multiprocessor
computer systems, minicomputers, mainframe computers, Internet of
Things ("IoT") devices, distributed computing systems, as well as
personal computers, hand-held computing devices,
microprocessor-based or programmable consumer electronics, and the
like, each of which can be operatively coupled to one or more
associated devices.
[0091] The illustrated embodiments of the embodiments herein can be
also practiced in distributed computing environments where certain
tasks are performed by remote processing devices that are linked
through a communications network. In a distributed computing
environment, program modules can be located in both local and
remote memory storage devices. For example, in one or more
embodiments, computer executable components can be executed from
memory that can include or be comprised of one or more distributed
memory units. As used herein, the term "memory" and "memory unit"
are interchangeable. Further, one or more embodiments described
herein can execute code of the computer executable components in a
distributed manner, e.g., multiple processors combining or working
cooperatively to execute code from one or more distributed memory
units. As used herein, the term "memory" can encompass a single
memory or memory unit at one location or multiple memories or
memory units at one or more locations.
[0092] Computing devices typically include a variety of media,
which can include computer-readable storage media, machine-readable
storage media, and/or communications media, which two terms are
used herein differently from one another as follows.
Computer-readable storage media or machine-readable storage media
can be any available storage media that can be accessed by the
computer and includes both volatile and nonvolatile media,
removable and non-removable media. By way of example, and not
limitation, computer-readable storage media or machine-readable
storage media can be implemented in connection with any method or
technology for storage of information such as computer-readable or
machine-readable instructions, program modules, structured data or
unstructured data.
[0093] Computer-readable storage media can include, but are not
limited to, random access memory ("RAM"), read only memory ("ROM"),
electrically erasable programmable read only memory ("EEPROM"),
flash memory or other memory technology, compact disk read only
memory ("CD-ROM"), digital versatile disk ("DVD"), Blu-ray disc
("BD") or other optical disk storage, magnetic cassettes, magnetic
tape, magnetic disk storage or other magnetic storage devices,
solid state drives or other solid state storage devices, or other
tangible and/or non-transitory media which can be used to store
desired information. In this regard, the terms "tangible" or
"non-transitory" herein as applied to storage, memory or
computer-readable media, are to be understood to exclude only
propagating transitory signals per se as modifiers and do not
relinquish rights to all standard storage, memory or
computer-readable media that are not only propagating transitory
signals per se.
[0094] Computer-readable storage media can be accessed by one or
more local or remote computing devices, e.g., via access requests,
queries or other data retrieval protocols, for a variety of
operations with respect to the information stored by the
medium.
[0095] Communications media typically embody computer-readable
instructions, data structures, program modules or other structured
or unstructured data in a data signal such as a modulated data
signal, e.g., a carrier wave or other transport mechanism, and
includes any information delivery or transport media. The term
"modulated data signal" or signals refers to a signal that has one
or more of its characteristics set or changed in such a manner as
to encode information in one or more signals. By way of example,
and not limitation, communication media include wired media, such
as a wired network or direct-wired connection, and wireless media
such as acoustic, RF, infrared and other wireless media.
[0096] With reference again to FIG. 10, the example environment
1000 for implementing various embodiments of the aspects described
herein includes a computer 1002, the computer 1002 including a
processing unit 1004, a system memory 1006 and a system bus 1008.
The system bus 1008 couples system components including, but not
limited to, the system memory 1006 to the processing unit 1004. The
processing unit 1004 can be any of various commercially available
processors. Dual microprocessors and other multi-processor
architectures can also be employed as the processing unit 1004.
[0097] The system bus 1008 can be any of several types of bus
structure that can further interconnect to a memory bus (with or
without a memory controller), a peripheral bus, and a local bus
using any of a variety of commercially available bus architectures.
The system memory 1006 includes ROM 1010 and RAM 1012. A basic
input/output system ("BIOS") can be stored in a non-volatile memory
such as ROM, erasable programmable read only memory ("EPROM"),
EEPROM, which BIOS contains the basic routines that help to
transfer information between elements within the computer 1002,
such as during startup. The RAM 1012 can also include a high-speed
RAM such as static RAM for caching data.
[0098] The computer 1002 further includes an internal hard disk
drive ("HDD") 1014 (e.g., EIDE, SATA), one or more external storage
devices 1016 (e.g., a magnetic floppy disk drive ("FDD") 1016, a
memory stick or flash drive reader, a memory card reader, a
combination thereof, and/or the like) and an optical disk drive
1020 (e.g., which can read or write from a CD-ROM disc, a DVD, a
BD, and/or the like). While the internal HDD 1014 is illustrated as
located within the computer 1002, the internal HDD 1014 can also be
configured for external use in a suitable chassis (not shown).
Additionally, while not shown in environment 1000, a solid state
drive ("SSD") could be used in addition to, or in place of, an HDD
1014. The HDD 1014, external storage device(s) 1016 and optical
disk drive 1020 can be connected to the system bus 1008 by an HDD
interface 1024, an external storage interface 1026 and an optical
drive interface 1028, respectively. The interface 1024 for external
drive implementations can include at least one or both of Universal
Serial Bus ("USB") and Institute of Electrical and Electronics
Engineers ("IEEE") 1394 interface technologies. Other external
drive connection technologies are within contemplation of the
embodiments described herein.
[0099] The drives and their associated computer-readable storage
media provide nonvolatile storage of data, data structures,
computer-executable instructions, and so forth. For the computer
1002, the drives and storage media accommodate the storage of any
data in a suitable digital format. Although the description of
computer-readable storage media above refers to respective types of
storage devices, it should be appreciated by those skilled in the
art that other types of storage media which are readable by a
computer, whether presently existing or developed in the future,
could also be used in the example operating environment, and
further, that any such storage media can contain
computer-executable instructions for performing the methods
described herein.
[0100] A number of program modules can be stored in the drives and
RAM 1012, including an operating system 1030, one or more
application programs 1032, other program modules 1034 and program
data 1036. All or portions of the operating system, applications,
modules, and/or data can also be cached in the RAM 1012. The
systems and methods described herein can be implemented utilizing
various commercially available operating systems or combinations of
operating systems.
[0101] Computer 1002 can optionally comprise emulation
technologies. For example, a hypervisor (not shown) or other
intermediary can emulate a hardware environment for operating
system 1030, and the emulated hardware can optionally be different
from the hardware illustrated in FIG. 10. In such an embodiment,
operating system 1030 can comprise one virtual machine ("VM") of
multiple VMs hosted at computer 1002. Furthermore, operating system
1030 can provide runtime environments, such as the Java runtime
environment or the .NET framework, for applications 1032. Runtime
environments are consistent execution environments that allow
applications 1032 to run on any operating system that includes the
runtime environment. Similarly, operating system 1030 can support
containers, and applications 1032 can be in the form of containers,
which are lightweight, standalone, executable packages of software
that include, e.g., code, runtime, system tools, system libraries
and settings for an application.
[0102] Further, computer 1002 can be enable with a security module,
such as a trusted processing module ("TPM"). For instance with a
TPM, boot components hash next in time boot components, and wait
for a match of results to secured values, before loading a next
boot component. This process can take place at any layer in the
code execution stack of computer 1002, e.g., applied at the
application execution level or at the operating system ("OS")
kernel level, thereby enabling security at any level of code
execution.
[0103] A user can enter commands and information into the computer
1002 through one or more wired/wireless input devices, e.g., a
keyboard 1038, a touch screen 1040, and a pointing device, such as
a mouse 1042. Other input devices (not shown) can include a
microphone, an infrared ("IR") remote control, a radio frequency
("RF") remote control, or other remote control, a joystick, a
virtual reality controller and/or virtual reality headset, a game
pad, a stylus pen, an image input device, e.g., camera(s), a
gesture sensor input device, a vision movement sensor input device,
an emotion or facial detection device, a biometric input device,
e.g., fingerprint or iris scanner, or the like. These and other
input devices are often connected to the processing unit 1004
through an input device interface 1044 that can be coupled to the
system bus 1008, but can be connected by other interfaces, such as
a parallel port, an IEEE 1394 serial port, a game port, a USB port,
an IR interface, a BLUETOOTH.RTM. interface, and/or the like.
[0104] A monitor 1046 or other type of display device can be also
connected to the system bus 1008 via an interface, such as a video
adapter 1048. In addition to the monitor 1046, a computer typically
includes other peripheral output devices (not shown), such as
speakers, printers, a combination thereof, and/or the like.
[0105] The computer 1002 can operate in a networked environment
using logical connections via wired and/or wireless communications
to one or more remote computers, such as a remote computer(s) 1050.
The remote computer(s) 1050 can be a workstation, a server
computer, a router, a personal computer, portable computer,
microprocessor-based entertainment appliance, a peer device or
other common network node, and typically includes many or all of
the elements described relative to the computer 1002, although, for
purposes of brevity, only a memory/storage device 1052 is
illustrated. The logical connections depicted include
wired/wireless connectivity to a local area network ("LAN") 1054
and/or larger networks, e.g., a wide area network ("WAN") 1056.
Such LAN and WAN networking environments are commonplace in offices
and companies, and facilitate enterprise-wide computer networks,
such as intranets, all of which can connect to a global
communications network, e.g., the Internet.
[0106] When used in a LAN networking environment, the computer 1002
can be connected to the local network 1054 through a wired and/or
wireless communication network interface or adapter 1058. The
adapter 1058 can facilitate wired or wireless communication to the
LAN 1054, which can also include a wireless access point ("AP")
disposed thereon for communicating with the adapter 1058 in a
wireless mode.
[0107] When used in a WAN networking environment, the computer 1002
can include a modem 1060 or can be connected to a communications
server on the WAN 1056 via other means for establishing
communications over the WAN 1056, such as by way of the Internet.
The modem 1060, which can be internal or external and a wired or
wireless device, can be connected to the system bus 1008 via the
input device interface 1044. In a networked environment, program
modules depicted relative to the computer 1002 or portions thereof,
can be stored in the remote memory/storage device 1052. It will be
appreciated that the network connections shown are example and
other means of establishing a communications link between the
computers can be used.
[0108] When used in either a LAN or WAN networking environment, the
computer 1002 can access cloud storage systems or other
network-based storage systems in addition to, or in place of,
external storage devices 1016 as described above. Generally, a
connection between the computer 1002 and a cloud storage system can
be established over a LAN 1054 or WAN 1056 e.g., by the adapter
1058 or modem 1060, respectively. Upon connecting the computer 1002
to an associated cloud storage system, the external storage
interface 1026 can, with the aid of the adapter 1058 and/or modem
1060, manage storage provided by the cloud storage system as it
would other types of external storage. For instance, the external
storage interface 1026 can be configured to provide access to cloud
storage sources as if those sources were physically connected to
the computer 1002.
[0109] The computer 1002 can be operable to communicate with any
wireless devices or entities operatively disposed in wireless
communication, e.g., a printer, scanner, desktop and/or portable
computer, portable data assistant, communications satellite, any
piece of equipment or location associated with a wirelessly
detectable tag (e.g., a kiosk, news stand, store shelf, and/or the
like), and telephone. This can include Wireless Fidelity ("Wi-Fi")
and BLUETOOTH.RTM. wireless technologies. Thus, the communication
can be a predefined structure as with a conventional network or
simply an ad hoc communication between at least two devices.
[0110] What has been described above include mere examples of
systems, computer program products and computer-implemented
methods. It is, of course, not possible to describe every
conceivable combination of components, products and/or
computer-implemented methods for purposes of describing this
disclosure, but one of ordinary skill in the art can recognize that
many further combinations and permutations of this disclosure are
possible. Furthermore, to the extent that the terms "includes,"
"has," "possesses," and the like are used in the detailed
description, claims, appendices and drawings such terms are
intended to be inclusive in a manner similar to the term
"comprising" as "comprising" is interpreted when employed as a
transitional word in a claim. The descriptions of the various
embodiments have been presented for purposes of illustration, but
are not intended to be exhaustive or limited to the embodiments
disclosed. Many modifications and variations will be apparent to
those of ordinary skill in the art without departing from the scope
and spirit of the described embodiments. The terminology used
herein was chosen to best explain the principles of the
embodiments, the practical application or technical improvement
over technologies found in the marketplace, or to enable others of
ordinary skill in the art to understand the embodiments disclosed
herein.
* * * * *