U.S. patent application number 13/561129 was filed with the patent office on 2013-01-31 for aggregate crowdsourcing platforms.
The applicant listed for this patent is Wei-Yeh Lee. Invention is credited to Wei-Yeh Lee.
Application Number | 20130029769 13/561129 |
Document ID | / |
Family ID | 47597652 |
Filed Date | 2013-01-31 |
United States Patent
Application |
20130029769 |
Kind Code |
A1 |
Lee; Wei-Yeh |
January 31, 2013 |
Aggregate Crowdsourcing Platforms
Abstract
Systems, methods and computer program products for aggregating
crowdsourcing platforms are disclosed. In an aspect of the present
disclosure, a crowdsourcer (i.e., a sponsor for a particular
contest, competition, or task) can provide the same contest,
competition, or task across several communities that may have
different user interfaces and/or different user devices or
processes. The crowdsourcer can reward the community or community
member that provides the winning solution or valuable answer.
Inventors: |
Lee; Wei-Yeh; (New York,
NY) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Lee; Wei-Yeh |
New York |
NY |
US |
|
|
Family ID: |
47597652 |
Appl. No.: |
13/561129 |
Filed: |
July 30, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61513438 |
Jul 29, 2011 |
|
|
|
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
G06Q 30/0241 20130101;
G06Q 30/02 20130101; G06Q 30/0207 20130101 |
Class at
Publication: |
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A method for aggregating crowdsourcing platforms across one or
more computing devices, comprising the steps of: (a) receiving an
input from a crowdsourcer user, wherein said input is utilized to
configure a contest; (b) presenting said contest to a plurality of
communities, wherein each of said communities comprises a plurality
of community users utilizing a plurality of computing devices; (c)
monitoring said contest across said plurality of communities; (d)
receiving a submission from one of said plurality of communities,
wherein said submission comprises a response to said contest from
one of said plurality of community users utilizing one of said
plurality of computing devices; (e) determining whether said
submission received from said one of said plurality of communities
is a winning solution for said contest; and (f) delivering, via
said one of said plurality of communities, a prize notification to
said one of said plurality of computing devices utilized by said
one of said plurality of community users.
2. The method of claim 1, wherein said input comprises at least one
of: a programming input; and a parameters input.
3. The method of claim 1, wherein said contest presented to said
plurality of communities comprises: at least one constraint; and
one of: a competition; and a task.
4. The method of claim 3, wherein said at least one constraint is
one of: a deadline; a reward; and a non-disclosure agreement.
5. The method of claim 1, further comprising the step of: receiving
a second input from said crowdsourcer user, wherein said second
input comprises a selection of said plurality of communities that
said contest is presented to.
6. The method of claim 5, wherein said contest is customized for
each of said plurality of communities specified by said
crowdsourcing user.
7. The method of claim 1, wherein at least one of said plurality of
communities is an aggregator community system.
8. The method of claim 1, further comprising the step of: sending,
via said one of said plurality of communities, a feedback
communication to one of said plurality of computing devices
utilized by one of said plurality of community users.
9. The method of claim 1, wherein said prize notification comprises
a punch list directed at said one of said plurality of community
users.
10. A system for aggregating crowdsourcing platforms across one or
more computing devices, comprising: (a) a graphical user interface
(GUI) configured to allow a crowdsourcer user to configure a
contest; (b) means for configuring said contest for each of a
plurality of community platforms, wherein each of said plurality of
community platforms comprises a plurality of community users
utilizing a plurality of computing devices; (c) means for
monitoring said contest across said plurality of communities,
wherein any inputs entered by any of plurality of community users
utilizing said plurality of computing devices within said plurality
of community platforms is captured; (d) means for receiving a
submission from one of said plurality of communities, wherein said
submission comprises a response to said contest from one of said
plurality of community users utilizing one of said plurality of
computing devices; (e) means for determining whether said
submission received from said one of said plurality of communities
is a winning solution for said contest; and (f) means for
delivering, via said one of said plurality of communities, a prize
notification to said one of said plurality of computing devices
utilized by said one of said plurality of community users.
11. The system of claim 10, wherein said input comprises at least
one of: a programming input; and a parameters input.
12. The system of claim 10, wherein said contest presented to said
plurality of communities comprises: at least one constraint; and
one of: a competition; and a task.
13. The system of claim 12, wherein said at least one constraint is
one of: a deadline; a reward; and a non-disclosure agreement.
14. The system of claim 10, further comprising: means for receiving
a second input from said crowdsourcer user, wherein said second
input comprises a selection of said plurality of communities that
said contest is presented to.
15. The system of claim 10, further comprising: means for sending,
via said one of said plurality of communities, a feedback
communication to one of said plurality of computing devices
utilized by one of said plurality of community users.
16. A computer program product comprising a computer usable medium
having control logic stored therein for causing a computer to
aggregating crowdsourcing platforms, said control logic comprising:
first computer readable program code means for causing the computer
to receive an input from a crowdsourcer user, wherein said input is
utilized to configure a contest; second computer readable program
code means for causing the computer to present said contest to a
plurality of communities, wherein each of said communities
comprises a plurality of community users utilizing a plurality of
computing devices; third computer readable program code means for
causing the computer to monitor said contest across said plurality
of communities; fourth computer readable program code means for
causing the computer to receive a submission from one of said
plurality of communities, wherein said submission comprises a
response to said contest from one of said plurality of community
users utilizing one of said plurality of computing devices; fifth
computer readable program code means for causing the computer to
determine whether said submission received from said one of said
plurality of communities is a winning solution for said contest;
and sixth computer readable program code means for causing the
computer to deliver a prize notification to said one of said
plurality of computing devices utilized by said one of said
plurality of community users.
17. The computer program product of claim 16, wherein said input
comprises at least one of: a programming input; and a parameters
input.
18. The computer program product of claim 16, wherein said contest
presented to said plurality of communities comprises: at least one
constraint; and one of: a competition; and a task.
19. The computer program product of claim 18, wherein said at least
one constraint is one of: a deadline; a reward; and a
non-disclosure agreement.
20. The computer program product of claim 16, further comprising:
seventh computer readable program code means for causing the
computer to send a feedback communication to one of said plurality
of computing devices utilized by one of said plurality of community
users.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims the benefit of U.S. Provisional
Patent Application No. 61/513,438, titled "Aggregate Crowd Sourcing
Platforms," filed on Jul. 29, 2011 (Atty. Docket No. 2194.01),
which is incorporated by reference herein in its entirety.
BACKGROUND
[0002] 1. Field of the Disclosure
[0003] The present disclosure generally relates to crowdsourcing
systems, and more particularly to systems, methods and computer
program products for aggregating crowdsourcing platforms.
[0004] 2. Related Art
[0005] Systems that use crowdsourcing typically use open calls in
order to request solutions (or answers) to tasks (i.e., contests).
The crowdsourcer will send the open call that will be directed to
one or more communities (i.e., "crowds"). The open calls are
typically made through, for example, web-based technologies such
as, for example, web services. The crowdsourcing systems typically
provide, in the open calls, the information describing the tasks
and any other condition or constraint such as, for example,
deadlines, non-disclosure agreements, rewards and/or other
parameters. These tasks are traditionally performed by employees,
contractors, consultants and/or the like. A task can be, for
example, product design questions, business plan questions,
advertising or marketing questions, or any other suitable question.
Therefore, a crowdsourcing system allows the crowdsourcer to be a
provider of contests, competitions, or tasks for communities, and
the communities can then engage in competition among the
community's individual members for the winning solution or valuable
answer for the contest, competition, or task.
[0006] Crowdsourcing has become popular with businesses,
organizations, schools and universities, authors, journalists and
other entities as a method to leverage the ability of many
individuals to collaborate as a community through wide-area
networks such as, for example, the Internet and web-based
technologies. In crowdsourcing, the crowdsourcer will own the best
solution provided by an individual in a community (or provided by a
community) to a task, and the winning individuals in the crowd are
sometimes rewarded as permitted by the crowdsourcer. A winning
individual (or individuals) can be rewarded by, for example,
monetary compensation, prizes, recognition and/or other forms of
compensation as set by the crowdsourcer.
[0007] However, as various new crowdsourcing platforms emerge and
proliferate, a broad diversity of crowdsourcing specialties are now
available through various communities. These crowdsourcing
specialties can range from, for example, software development to
ideation to product development to marketing and beyond such as,
for example, intellectual property protection and sales
distribution. Each new community platform that emerges may have
particular strengths and/or particular weakness in the platform's
approach as the platform tries to provide services in a specific
specialization. It is difficult for a crowdsourcer to determine
which community platform has the appropriate mix of capabilities
that can successfully deliver a solution that the crowdsourcer is
seeking.
[0008] As new crowdsourcing platforms emerge, two particular
challenges also emerge. First, it is difficult for a crowdsourcer
to determine which communities are to be chosen for a class of
specialization such as, for example, ideation, software
development, product development, or marketing. This difficulty for
the crowdsourcer is also increased because there may be many
communities that serve the same function. That is, there is often a
fragmentation of the population of people interested in a specific
topic distributed among several communities. Further, as an entity
(e.g., a company) seeks to leverage communities that serve the same
tasks (functions), it may be difficult for the entity to identify
the particular communities that are appropriate or optimal for a
given crowdsourced task. Second, the crowdsourcer is manually
required to go to each community that specializes in the
crowdsourced task and to use the solution(s) of one set of
community competitions and then use another community platform to
execute the next step that uses the solutions. In other words,
current technology does not provide any method that effectively
uses the community platforms that enable a business process to be
applied to the solutions from the communities.
[0009] Given the foregoing, systems, methods and computer program
products for aggregating crowdsourcing platforms are needed.
BRIEF DESCRIPTION
[0010] This summary is provided to introduce a selection of
concepts. These concepts are further described below in the
Detailed Description. This summary is not intended to identify key
features or essential features of the claimed subject matter, nor
is this summary intended as an aid in determining the scope of the
claimed subject matter.
[0011] The present disclosure meets the above-identified needs by
providing systems, methods and computer program products for
aggregating crowdsourcing platforms.
[0012] In an aspect of the present disclosure, a crowdsourcer
(i.e., a sponsor for a particular contest, competition, or task)
can provide the same contest, competition, or task across several
communities that may have different user interfaces and/or
different user devices or processes. The crowdsourcer can reward
the community or community member that provides the winning
solution or valuable answer.
[0013] In another aspect, an aggregated community platform (i.e.,
aggregated community system) provides a system and method for
aggregating multiple communities into an aggregated virtual
community and obtains a winning solution or valuable answer from a
community (or community individual) to the crowdsourcer. The
aggregated community platform can further use the winning solution
or valuable answer in a business process of the crowdsourcer.
[0014] In yet another aspect, a system and method permit an
aggregated community platform to receive inputs from at least
another aggregated community that receives solutions (or answers)
from communities and/or to receive inputs from at least one
community, so that the system and method provide to the
crowdsourcer a crowdsourced business process for solutions or
answers from communities.
[0015] Further features and advantages of the present disclosure,
as well as the structure and operation of various aspects of the
present disclosure, are described in detail below with reference to
the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The features and advantages of the present disclosure will
become more apparent from the detailed description set forth below
when taken in conjunction with the drawings in which like reference
numbers indicate identical or functionally similar elements.
Additionally, the left-most digit of a reference number identifies
the drawing in which the reference number first appears.
[0017] FIG. 1 is a block diagram of an exemplary system and method
for aggregating crowdsourcing platforms according to an aspect of
the present disclosure.
[0018] FIG. 2 is a block diagram that shows additional details of
an aggregator community platform according to an aspect of the
present disclosure.
[0019] FIG. 3 is a block diagram of an aggregator community
platform communicatively coupled, via one or more community
participation adapters, to one or more community platforms,
according to an aspect of the present disclosure.
[0020] FIG. 4 is a block diagram of a sender module in a community
participation adapter, according to an aspect of the present
disclosure.
[0021] FIG. 5 is a block diagram of a communication bridge module
in a community participation adapter, according to an aspect of the
present disclosure.
[0022] FIG. 6 is a block diagram of a contest management module in
a community participation adapter, according to an aspect of the
present disclosure.
[0023] FIG. 7 is a block diagram of a results system module in a
community participation adapter, according to an aspect of the
present disclosure.
[0024] FIG. 8 is a block diagram of a processing module in a
community participation adapter, according to an aspect of the
present disclosure.
[0025] FIG. 9 is a block diagram of a platform (system) that
aggregates one or more community platforms and/or one or more
aggregator community platforms, according to an aspect of the
present disclosure.
[0026] FIG. 10 is a block diagram of an aggregator community
platform relating to an aspect of an idea-to-patent process,
according to an aspect of the present disclosure.
[0027] FIG. 11 is a block diagram of an aggregator community
platform relating to another aspect of an idea-to-patent process,
according to an aspect of the present disclosure.
[0028] FIG. 12 is a flow diagram of a method of aggregating
crowdsourcing platforms, according to an aspect of the present
disclosure.
[0029] FIG. 13 is a block diagram of an exemplary computer system
useful for implementing an aspect of the present disclosure.
DETAILED DESCRIPTION
[0030] The present disclosure is directed to systems, methods and
computer program products for aggregating crowdsourcing
platforms.
[0031] In an aspect of the present disclosure, a crowdsourcer
(i.e., a sponsor for a particular contest, competition, or task)
can provide the same contest, competition, or task across several
communities that may have different user interfaces and/or
different user devices or processes. The crowdsourcer can reward
the community or community member that provides the winning
solution or valuable answer.
[0032] In another aspect, an aggregated community platform (i.e.,
aggregated community system) provides a system and method for
aggregating multiple communities into an aggregated virtual
community and obtains a winning solution or valuable answer from a
community (or community individual) to the crowdsourcer. The
aggregated community platform can further use the winning solution
or valuable answer in a business process of the crowdsourcer.
[0033] In another aspect, an aggregated community platform (i.e.,
aggregated community system) provides a system and method for
aggregating multiple communities into an aggregated virtual
community and obtains a winning solution or valuable answer from a
community (or community individual) to the crowdsourcer. The
aggregated community platform can further use the winning solution
or valuable answer in a business process of the crowdsourcer.
[0034] In yet another aspect, a system and method permit an
aggregated community platform to receive inputs from at least
another aggregated community that receives solutions (or answers)
from communities and/or to receive inputs from at least one
community, so that the system and method provide to the
crowdsourcer a crowdsourced business process for solutions or
answers from communities.
[0035] Referring to FIG. 1, a block diagram illustrating an
exemplary communication system 100, according to an aspect of the
present disclosure, is shown. System 100 includes a plurality of
individuals 102 (shown as users 102a-d in FIG. 1) accessing, via a
computing device 104 (shown as respective computing devices 104a-d
in FIG. 1), a communications network 106, such as, for example, the
global, public Internet. Individuals 102 use computing devices 104
to form a community (or community platform) as will be discussed
below. Computing devices 104 communicate via network 106 to a
communication infrastructure 101 that allows the methods or
operations discussed below. The hardware and software components in
infrastructure 101 are typically all communicatively coupled
together. Individuals 102 (when using their respective devices 104)
form a community as described herein. In various aspects, computing
device 104 may be configured as a desktop computer 104a, a laptop
computer 104b, a personal digital assistant (PDA) 104c, a tablet or
mobile computer 104d, any commercially-available intelligent
communications device, or the like. Computing devices 104 can be
other types of devices that are not shown in FIG. 1 such as, for
example, a television with Internet browsing capability or other
suitable types of devices.
[0036] As shown in FIG. 1, in an aspect of the present disclosure,
infrastructure 101 would be connected to one or more
telecommunications networks such as a GSM network 124, a CDMA
network 126, a radio network 128 or the like. Such networks 124-128
would allow communication between infrastructure 101 and one or
more devices 104 which can be, for example, a mobile telephone
device 104e.
[0037] As will also be appreciated by those skilled in the relevant
art(s), in an aspect, various (login, admin, account, information,
resource, logout, payment, registration, communications and/or the
like) screens would be generated by a server 108 (within
infrastructure 101) in response to input from users 102 over
network 106. That is, in such an aspect, server 108 is a typical
Web server running a server application at a Web site which sends
out Web pages in response to Hypertext Transfer Protocol (HTTP) or
Hypertext Transfer Protocol Secured (HTTPS) requests from remote
browsers executing on various devices 104 being used by various
users 102. Thus, server 108 is able to provide a graphical user
interface (GUI) to users 102 of system 100 in the form of Web
pages. These Web pages sent to the user's PC, laptop, mobile
device, PDA, mobile phone, or the like device 104, and would result
in the GUI being displayed.
[0038] Various data such as, for example, login and/or account
information of participants in a community, can be stored in a
database 120 that is accessible by the web server 108. In another
aspect, the various data can be stored in a memory included in (or
coupled to) web server 108.
[0039] In another aspect, infrastructure 101 also includes a text
PBX server 109, an email gateway server 110, an SMS gateway server
112, an instant message (IM) gateway server 114, a paging gateway
server 116 and/or a voice gateway server 118 for allowing other
forms of communication to be supported by systems that function
within infrastructure 101.
[0040] In an aspect of the disclosure, web server 108 is arranged
to store, support, operate and/or execute one or more aggregator
community platforms 130 (shown as platforms A . . . Y and Z in FIG.
1) discussed below. The crowdsourcer will use a platform 130 for
setting the task constraints or task definitions (e.g., task
solution requested, task deadline, reward, non-disclosure
agreement, non-compete agreement and/or other parameters) for each
task to be presented by the crowdsourcer to communities. The
crowdsourcer may be different for each platform 130, or a
crowdsourcer can use multiple platforms 130, or a combination of
both. As will be discussed below, in an aspect of the disclosure,
platform 130 can also aggregate a plurality of communities, can
allow one platform 130 to receive and process inputs from at least
another platform 130, can allow a crowdsourcer to present the same
contest to several communities with different user interfaces or
processes, and/or perform other functions as discussed below.
[0041] As will also be appreciated by those skilled in the relevant
art(s) after reading the description herein, alternate aspects of
the present disclosure may include providing the tool for
facilitating the aggregation of crowdsourcing platforms (e.g.,
installed on one PC) or as an enterprise system wherein all the
components of infrastructure 101 are connected and communicate via
an inter-corporate wide area network (WAN) or local area network
(LAN), rather than as a Web service (i.e., application service
provider (ASP) model) as shown in FIG. 1.
[0042] FIG. 2 is a block diagram that shows additional details of
an aggregator community platform 130 (i.e., system or module 130)
according to an aspect of the present disclosure. The functions or
operations that are performed by platform 130 can be programmed by,
for example, the use of a suitable software programming language as
known to those skilled in the art. In an aspect, platform 130
includes an aggregator community platform (ACP) community
membership system 205, an aggregator community system 210, and one
or more community platforms 215. It is understood that the separate
modules, systems, or subsystems to be discussed below in any of
system 205, system 210, and platforms 215 can be integrated
together in functionalities into a single module or combinations of
modules. However, for purposes of clarity of discussion of aspects
of the disclosure, particular modules or particular
systems/subsystems in the system 205, system 210 and platforms 215
are shown in FIG. 2 as separate block components. Therefore, the
exemplary block components in FIG. 2 can be varied in
functionalities and can be integrated together into one or more
block components. Additionally, system 205 is understood to include
a user interface (e.g., a graphical user interface) that displays
notifications to the user (i.e., crowdsourcer).
[0043] It is also understood that systems 205 and 210, and
platforms 215 can be separate modules. For example, the community
platform 215 can be located in the client-side (e.g., in devices
104 in FIG. 1), while the systems 205 and 210 can be located in the
server-side (e.g., in the server 108 in FIG. 1). Other
configurations of the locations of the systems 205 and 210 and
platforms 215 are also possible. In the example discussions herein,
platform 215 is located in the server-side for purposes of clarity
of discussion.
[0044] In an aspect, a crowdsourcer can start 220 the configuration
of one or more contest (i.e., tasks) for communities by providing
an input 222 (e.g., programming input or parameters input) into a
configure contest module 225 in the ACP community member system 205
in the aggregator community platform 130. As an example, the
viewable data or parameters in the system 205 are displayed and
input through a user interface (e.g., graphical user interface) in
communication with (or displayed in) the aggregator community
platform 130. A contest is configured by specifying the solution or
goal desired for the contest and any contest constraints such as
deadlines, rewards, non-disclosure agreements, and/or the like, if
any. Based on the contest that is configured by the crowdsourcer,
the configure contest module 225 will communicate 230 with a
configure component module 235 in the aggregator community system
210. Configure contest module 225 will configure a contest for each
community as specified by the crowdsourcer in the configure contest
module 225. Based on the contest (or contests) configured in
configure contest module 225, configure component module 235 can
present a different contest for each specified community, can
present the same contest for all specified communities, or can
present the same contest for some specified communities while
presenting a contest that differ among other specified one or more
communities, or a combination of both of the above types of
presented contests. Other variations of possible combinations of
contests presented to communities can be performed by configure
component 235.
[0045] Configure component 235 will communicate 240 with one or
more specified community modules 245. Each module 245 provides
functionality to a corresponding community. Each module 245 can
communicate with its associated community. Therefore, the community
platforms 215 in the aggregator community platform 130 allows the
crowdsourcer to communicate with community members with different
user interfaces and/or different user devices or processes, by
providing an appropriate module 245 that can communicate with the
devices and processes of the various communities. In the example of
FIG. 2, configure component 234 sends communications 240a, 240b,
and 240c to community modules 245a, 245b, and 245c, respectively.
Communications 240 (from configure component module 235) can
transmit the contest from the crowdsourcer and can also allow the
crowdsourcer to configure modules 245 (in community platforms 215)
to communicate with or/and be compatible with the different devices
and different processes of any particular community. Therefore,
configure component module 235 allows the crowdsourcer to configure
community platforms 215 so that the aggregator community platform
130 is compatible with the different devices and different
processes of any particular community. The number of community
modules 245 may vary. Community modules 245 will present the
contest via a webpage, website, or other suitable interactive
interface (e.g., a mobile application) to devices 104. Community
individuals 102, who are members of one or more communities
specified by the crowdsourcer for receiving the contest, can then
participate in the contest via devices 104.
[0046] Configure component 235 can also communicate 250 to a
monitor contest module 252 in ACP community member system 205 and a
monitoring component 254 in aggregator community system 210.
Communication 250 will provide a notification if the configuration
of a configure community contest module 245 was successful and if a
contest was successfully transmitted to the specified communities
via community platforms 215. Monitor contest module 252 will
display to the crowdsourcer that the configuration of the community
contest was successful and/or that the contest was successfully
delivered to the specified communities, in response to the
communication 250. Monitoring component 254 will start monitoring
of the contest from the specified communities, in response to
communication 250.
[0047] Monitor community contest modules 256 will monitor and
capture any input provided by a community individual 102 in
response to the contest. For example, modules 256 will capture any
questions provided by a community individual to a contest presented
to the specified community. Each module 256 will monitor an
associated community. In the example of FIG. 2, platforms 215
include modules 256a, 256b, and 256c, although the number of
modules 256 may vary.
[0048] Modules 256 will send the communications 258 to the
monitoring equipment 254. In the example of FIG. 2, modules 256a,
256b, and 256c, will send the communications 258a, 258b, and 258c,
respectively. Communications 258 contains the input (e.g., a
question) presented by a community individual 102 via a device 104.
The crowdsourcer can view message 262 from the community
individuals via feedback module 264 which can display (or be
communicatively coupled to) a user interface. Monitoring component
254 sends message 262 to feedback module 264.
[0049] Monitoring component 254 can also determine if a contest is
done or completed as determined by a decision block 260. For
example, the crowdsourcer can add the contest constraint of, for
example, having the contest end after a specified period (e.g.,
specifying a day, time, number of months or year of expiration)
and/or having the contest end after a threshold number of solutions
have been provided by the specified community or communities. If
the contest is not yet finished, monitoring component 254 continues
a loop 261 where monitoring continues for inputs from community
individuals 102.
[0050] The crowdsourcer can also use to feedback module 264 to
provide feedback 266 to communities. For example, if the
crowdsourcer receives one or more messages 262 provided by a
community individual in response to a contest, the crowdsourcer can
send feedback 266 from feedback module 264 in order to provide
comments or question answers to the community individual who sent
message 262.
[0051] Feedback component 268 sends feedback 266 as communications
269 to feedback community contest modules 270. In the example of
FIG. 2, feedback component 268 sends communications 268a, 268b and
268c to modules 270a, 270b and 270c, respectively. Feedback
community contest modules 270 will present feedback 266 via a
webpage, website or other suitable user interface to devices
104.
[0052] If monitoring component 254 has determined the contest is
finished, then monitoring component 254 will send a communication
272 to a submissions module 274. Communication 272 allows
submissions module 274 to obtain solutions 276 from submissions
community modules 278 in platforms 215. In the example of FIG. 2,
submissions community modules 278a, 278b and 278c will send
submissions (solutions) 276a, 276b and 276c, respectively, to
submissions module 274. Submissions community modules 278 will
receive and gather the solutions obtained from their respective
communities. Submissions module 274 sends submissions via
communications 280 to a review/decision module 282 in ACP community
member system 205. The crowdsourcer can view the solutions via a
user interface provided in, or coupled to, review/decision module
282 and decide if there are winners, "winners with punchlist," or
if there are no winners such that there is no payout of a specific,
previously-announced reward to any community.
[0053] When the crowdsourcer announces "Winners with punch list",
this means that the crowdsourcer has selected the 1.sup.st,
2.sup.nd, etc. places but none of them are complete, so the
crowdsourcer has the option to request the 1.sup.st place
contestant to add the punch list items (typically the features
defined in the original spec and any implementations from the other
winners who implemented it better than the 1.sup.st place
contestant.)
[0054] If the crowdsourcer is not satisfied with the submissions
(as determined in decision block 283), then decision block 283 will
communicate 284 with the contest decision module 285. In response
to the communications 284, contest decision module 285 will notify
286 the send-decision-to-community contest modules 287 that there
are no winners. In the example of FIG. 2, contest decision module
285 sends notifications 286a, 286b and 286c to modules 287a, 287b
and 287c, respectively. In response to communications 286,
send-decision-to-community-contest modules 287 will present
communications 286 via a webpage, website or other suitable
interactive interface to devices 104, in order to indicate to the
specified competing communities that there are no winners to the
contest.
[0055] Decision block 288 determines if there are winners with
punchlist in notifications 286. If decision block 288 determines
there are winners with punchlist, decision block 288 sends
communication 289 to submissions module 274.
[0056] If there is a declaration of provisional winners with a
punchlist, then the prize will be awarded pending completion of the
punchlist. This is communicated back to the community so the
provisional first place winner has an opportunity to fix the items
on the punch list for a fixed period of time. Once the punch list
is completed as determined by module 288a, the revised submission
is gathered and evaluated (289). If the winner resolves the
punchlist to the ACP Member's satisfaction, the prizes are awarded.
If the winner chooses not to solve the punchlist or misses the
deadline, then the ACP Member has the option to ask the 2.sup.nd
place, 3.sup.rd place, etc. winners to do the patches in exchange
for the 1.sup.st place prize.
[0057] On the other hand, if decision block 283 determines that the
crowdsourcer is satisfied with the submissions, then decision block
283 sends communication 290 to award prizes module 293. In response
to communication 290, module 293 sends communications 294 to the
same send-decision-to-community contest modules 287 discussed
above. In the example of FIG. 2, award prizes module 293 sends
notifications 294a, 294b and 294c to modules 287a, 287b and 287c,
respectively. In response to communications 294,
send-decision-to-community-contest modules 287 will present
communications 294 via a webpage, website or other suitable
interactive interface to devices 104 in order to inform the
specified communities of the winner of the contest.
[0058] Award prizes module 293 also sends communication 295 to a
package results module 296 in aggregator community system 210. In
response to communications 295, package results module 296 sends a
communications 297 to a receive notification module 298 in ACP
community member system 205. In response to communication 297,
receive notification module 297 will inform the crowdsourcer (via a
user interface provided in, or coupled to, module 298) that the
prize has been awarded and sent to the contest winner. The
operation of aggregator community platform 130 is then finished 299
after receive notification module 298 informs the crowdsourcer that
the prize has been awarded and sent to the contest winner. Module
295 can also electronically send the prize to the winner or inform
the crowdsourcer to manually send the prize to the winner.
[0059] The aggregations of community platforms 215 and/or
aggregation of aggregator community platforms 130 will be discussed
below with reference to FIG. 9.
[0060] Referring now to FIG. 3, shown is a block diagram of an
aggregator community system 210 communicatively coupled, via one or
more community participation adapters (CPAs) 305, to one or more
community platforms 215, according to an aspect of the present
disclosure. In an aspect of the disclosure, an aggregator community
platform 130 includes aggregator community system 210, community
platforms 215 and CPAs 305. In an aspect, aggregator community
system 210 includes at least some of the various functions or
features discussed with reference to FIG. 2. In an aspect, a
community platform 215 includes at least some of the various
functions or features discussed with reference to FIG. 2. A
community platform 215 is communicatively coupled to devices 104
being used by individuals who belong to a community that is
associated with community platform 215.
[0061] CPAs 210 and community platforms 215 may each vary in
number. In the example of FIG. 3, CPAs 305a, and 305b through 305N
(where N can be any suitable integer) are communicatively coupled
to the community platforms 215a, and 215b through 215N,
respectively. As will be discussed below, in an aspect, each CPA
includes the following modules: a sender system module (FIG. 4), a
communication bridge module (FIG. 5), a contest management module
(FIG. 6), a results module (FIG. 7), and a processing module (FIG.
8). Aggregator community system 210 aggregates the community
process from one or more community platforms 215 into one virtual
community that allows the crowdsourcer to present contests (or
tasks) to individuals in selected communities, and that allows the
selected community individuals to present submissions or solutions
to the crowdsourcer in response to the contest. The crowdsourcer
uses aggregator community system 210 to present contests (or tasks)
to individuals 102 in one or more communities selected by the
crowdsourcer, and individuals 102 in the selected communities can
provide submissions or solutions to the crowdsourcer in response to
the contest.
[0062] FIG. 4 is a block diagram of a sender system module 405 in a
community participation adapter 305, according to an aspect of the
present disclosure. The sender system module 405 will post tasks
(or contest) to one or more selected communities via one or more
community platforms 215. The sender system module 405 can also post
the definitions (constraints) that are typically applicable for a
task. A definition or constraint for a task includes, for example,
task definition, task solution requested, prize allocation
(reward), non-disclosure agreement (NDA), non-compete agreement,
task deadline, and/or other parameters.
[0063] The sender system module 405 also gathers the results or
solutions from one or more community platforms 215. In an aspect,
the sender system module 405 is a community platform specific
adapter. This community platform specific adapter allows the
aggregator community platform 130 (FIG. 2) to communicate with
different user interfaces and/or different user devices or
processes, as similarly discussed above. The sender system module
405 receives the contest data from the aggregator community system
210 (FIG. 2), translates these contest data into an appropriate
format as needed, and transmits these contest data to the community
platforms 215. In an aspect, sender system module 405 includes
community platform specific sender modules that send contest data
to respective community platforms 215.
[0064] A CPA 305 is communicatively coupled to a community platform
215 which hosts (or associated with) a respective community. The
aggregator community system 210 is communicatively coupled to one
or more CPA 305. Therefore, an aggregator community system 210 can
manage, via multiple CPAs 305, the communications across multiple
communities and therefore support efficient crowdsourcing
functions.
[0065] An aggregator community system 210 (FIG. 3) can be coupled
to one or more community platforms 215, because input 222 (FIG. 2)
provided by the crowdsourcer into the configure contest module 225
(FIG. 2) will determine the communities (and associated community
platforms 215) that will receive the crowdsourced task or contest,
and in many instances, the crowdsourcer will not select some
communities to receive the contest.
[0066] FIG. 5 is a block diagram of a communication bridge module
505 in a community participation adapter 305, according to an
aspect of the present disclosure. In an aspect, module 505 is
communicatively coupled to sender system module 405 discussed
above. In an aspect, module 505 is also communicatively coupled to
contest management module 605 and results gathering system module
705 discussed below.
[0067] Communication bridge module 505 manages the communications,
via multiple community platforms 215, across multiple communities.
In an aspect, module 505 allows one or more individual members of
different communities (and hence, different community platforms) to
communicate with each other, and to also communicate to aggregator
community system 210 that allows communication with the
crowdsourcer. In an aspect, module 505 can also optionally support
communication via instant messaging, email messaging, text
messaging, web message board communications, paging, voice
communications, and/or the like. The various servers in
infrastructure 101 such as, for example, text PBX server 109, email
gateway server 110, SMS gateway server 112, instant messaging
gateway server 114, paging gateway server 116, and/or voice gateway
server 118, allow various forms of communications supported by
module 505.
[0068] FIG. 6 is a block diagram of a contest management module 605
in a community participation adapter 305, according to an aspect of
the present disclosure. Module 605 allocates prizes (rewards) to
each community and also declares (sends notifications) of winners
and prize awards. Module 605 also manages the lifecycle of a
contest across multiple communities. For example, module 605
allocates prizes across multiple communities and/or manages the
payouts of the prizes or rewards. Module 605 can also optionally
transfer the solution (submission) such as, for example, the
winning solution, from the community to sender system module 405
for further processing of the solution or for applying a specified
algorithm on the solution as desired by the crowdsourcer.
[0069] In an aspect, module 605 can also provide leader boards that
identify which communities (and community platforms 215) are best
at specific kinds of tasks or contests. These leader boards, over
time and over a sufficient number of contests, will be able to
identify or suggest which particular community platforms 215 (and
associated communities) are optimal choices for specific task.
[0070] FIG. 7 is a block diagram of a results system module 705 in
a community participation adapter 305, according to an aspect of
the present disclosure. Module 705 gathers results such as, for
example, intellectual property ownership assignments, transferral,
and/or licensing, resulting product in the solutions from the
community individuals, documents, and/or the like, from one or more
communities via community platforms 215. In an aspect, module 705
includes one or more community platform specific adapters that
receive the results or submissions from the communities via
community platforms 215. In an aspect, module 705 translates the
results or submissions (from the communities) into a format that
can be processed (or understood) by the aggregator community system
210, if data format translation is needed.
[0071] FIG. 8 is a block diagram of a processing module (or
processing system module) 805 in a community participation adapter
305, according to an aspect of the present disclosure. In an
aspect, processing module 805 receives the results data from one or
more results gathering module 705 and transmits the results data
(e.g., submitted solution from a community member) to sender module
405.
[0072] In an aspect, module 805 executes a process on the results
data or solutions from the communities so that the crowdsourcer can
create a business process that uses the results data or solutions.
In an aspect, module 805 can additionally or alternatively process
the results data or solution based upon an algorithm.
[0073] In an aspect, processing system module 805 is an extensible
framework that allows developers to write and plug-in their own
automated processing module. These plug-ins can be daisy chained so
multiple logical checks can be executed in succession. Some
examples of plug-ins that a developer may create include: [0074] a.
a processing module plug-in that validates that the required
high-level components are present for a given type of result (e.g.,
in validating that the results of a patent crowdsourcing run,
verification that the abstract, claims, diagrams, background, etc.
are all present); [0075] b. a processing module plug-in that does
spellchecking on a specific component from the results gathered
(e.g., spellchecking a patent specification's "Background"
section); [0076] c. a processing module plug-in that checks to make
sure every reference in a document that makes an entity reference
has a corresponding image; [0077] d. a processing module plug-in
that verifies every entity has a corresponding reference in a
document; [0078] e. a processing module plug-in that ensures there
is a figure name for every image and an image for every figure
name; and [0079] f. a processing module plug-in that checks to call
out exceptions and sends them to a manual process for handling.
[0080] In an aspect, module 806 can additionally or alternatively
feed the results data or solution into a more complex process
workflow. For example, module 806 can feed the results data or
solution into additional aggregator community platforms 130 for
further processing in additional contests, for handling an
exception that may be present in a submitted solution from
community members, or/and for integrating submitted solutions from
different communities specializing in respective expertise.
[0081] Referring now to FIG. 9, shown is a block diagram of a
system 900 (aggregator community platform 900) that aggregates one
or more community platforms 215 and/or one or more aggregator
community systems 210, according to an aspect of the present
disclosure. That is, system (platform) 900 discloses one aggregator
community platform 130 (having system 210a) aggregating at least
one other aggregator community platform 130 (having system
210b).
[0082] In alternate aspects of the present disclosure, an
aggregator community system 210 may: (1) aggregate communities
formed by community platforms 215; (2) aggregate communities formed
by aggregator community systems 210 which aggregate one or more
community platforms 215; and/or (3) aggregate communities formed by
both community platforms 215 and aggregator community systems 210.
In the example of FIG. 9, aggregator community system 210b
aggregates, via CPAs 305a, 305b, 305c, community platforms 215a,
215b, and 215c, respectively. The aggregator community system 210a
aggregates, via CPAs 305d, 305e, and 305f, the community platforms
215d and 215e and the aggregator community system 210b. The
aggregator community system 210a can aggregate one or more
aggregator community systems 210. The number of aggregator
community systems 210 and community platforms 215 in FIG. 9 may
vary. Additionally, downstream aggregator community system 210b may
also aggregate one or more aggregator community systems 215.
[0083] Because an aggregator community system (e.g., system 210a)
can aggregate other aggregator community systems (e.g., system
210b), the crowdsourcer can use a downstream aggregator community
system (e.g., system 210b) to host communities that are focused on
the same class of specialization (e.g., ideation or product
development). Additionally, system 900 of FIG. 9 allows a
crowdsourcer to take the solution of one set of community
competition (e.g., the solution from the competition between
community platforms 215a, 215b, and 215c) for input and use by the
upstream aggregator community system 210a and/or for use in
competition with the upstream community platforms 215d and 215e as
hosted by upstream aggregator community system 210a. Therefore,
system 900 allows the crowdsourcer to link a solution coming from
one set of community competition with another set of community
competition, all without the crowdsourcer having to manually enter
each community platform that specializes in the contest's
domain.
[0084] Because system 900 allows an aggregator community system 210
to aggregate both community platforms 215 and other aggregator
community systems 210, the system can leverage the intellectual
capital of an increased number of communities and/or can leverage a
subset of communities that are aggregated by a downstream
aggregator community system 210b. (FIG. 10 illustrates an example
of how an aggregator community platform can aggregate another
aggregator community platform.)
[0085] In the same way that a specialized community plug-in is
required to aggregate any external community platform, for an
aggregator community to aggregate another aggregator community,
there is a specialized community plug adapter (CPA) that knows how
to communicate and manage the lifecycle of the aggregated
community.
[0086] Referring now to FIG. 10, shown is a block diagram of an
aggregator community platform 1000 relating to an aspect of an
idea-to-patent process, according to an aspect of the present
disclosure. As shown, one aggregator community system (e.g.,
prototype aggregator community system 1010b in one aggregator
community platform) aggregates another aggregator community system
(e.g., idea aggregator community system 1010a in a second
aggregator platform). As shown, system 1010b (in the second
aggregator platform) aggregates another aggregator community system
(e.g., patent aggregator community system 1010c in a third
aggregator platform).
[0087] In an aspect, a crowdsourcer can start 1020 the
configuration of one or more contests (i.e., tasks) by providing an
input 1222 (e.g., programming input or parameters input) into a
manage ideation contests module 1225a in ACP community member
system 1005. The module 1225a allows the crowdsourcer to provide,
via system 1010a to the communities, a contest based on ideation.
Idea aggregator community system 1010a (in aggregator community
system platform 1010) aggregates the multiple ideation community
platforms 1015a. It is also noted that communication bridge modules
1006a-1006c (in platform 1010) perform functions as similarly
discussed above with reference to FIG. 5. Contest module 1225
allows existing intellectual property (IP) to be transmitted 1011
between the communities and the crowdsourcer. In an aspect,
platform 1010 includes a plurality of aggregator community systems
1010a-1010d that will be discussed below. In the example of FIG.
10, ideation community platforms 1015a provide solutions to the
crowdsourcer's contest relating to ideation. Results module 1012a
transmits the community solutions to ideation processor module
1013a and processor module 1013a then transfers the ideations
results to sender module 1014a. Various functions of the results
modules, processor modules, and sender modules in the platform 1010
have been similarly discussed above with reference to FIGS. 7, 8
and 4, respectively.
[0088] In an aspect, manage ideation results module 1225a allows
the crowdsourcer to select a process that will be executed by
ideation processor module 1013a on the ideation contest solutions
as provided by ideations community platforms 1015a, and/or select
the winning solution from the ideation contest among the
communities associated with platforms 1015a.
[0089] The manage prototype contest module 1225c allows the
crowdsourcer to provide, via system 1010b to the communities, a
contest based on prototypes. Prototype aggregator community system
1010b (in aggregator community system platform 1010) aggregates the
multiple prototype community platforms 1015b.
[0090] In an aspect, sender module 1014a sends the process-executed
ideation contest solutions to prototype aggregator community system
1010b. Prototype community platforms 1015b provide solutions to the
crowdsourcer's contest relating to prototype. Results module 1012b
transmits the community solutions to prototype processor module
1013b and processor module 1013b then transfers the prototype
results to sender module 1014b.
[0091] Manage prototype results module 1225d allows the
crowdsourcer to select a process that will be executed by prototype
processor module 1013b on the prototype contest solutions as
provided by prototype community platforms 1015b, and/or to select
the winning solution on the prototype contest among the communities
associated with platforms 1015b.
[0092] Manage patent contest module 1225c allows the crowdsourcer
to provide, via system 1010c to the communities, a contest based on
patents (or patenting). Patent aggregator community system 1010c
(in aggregator community system platform 1010) aggregates the
multiple prototype community platforms 1015c.
[0093] The sender module 1014b sends the process-executed prototype
contest solutions to the patent aggregator community system 1010c.
The patent community platforms 1015c provide solutions to the
crowdsourcer's contest relating to patents or patenting. The
results module 1012c transmits the community solutions to the
patent processor module 1013c and the processor module 1013c
transfers the patent results to manage patent results module 1225f.
The manage patent results module 1225f permits the crowdsourcer to
select the winning solution on the patent/patenting contest among
the communities associated with platforms 1015c. The crowdsourcer
has then finished 1230 the process of transforming an idea to
patent (patenting) as performed by the module 1000 when the
crowdsourcer has determined a winning solution on the
patent/patenting contest.
[0094] Module 1000 also includes a submit-patents-electronically
module 1035 that allows the crowdsourcer to prepare and file patent
applications electronically to one or more governmental patent
offices 1036. The government patent process 1040 is then applied by
the one or more governmental patent offices 1036 to the one or more
filed patent applications.
[0095] Referring to FIG. 11, shown is a block diagram of an
aggregator community platform 1100 relating to another aspect of an
idea-to-patent process, according to an aspect of the present
disclosure. In an aspect, a crowdsourcer can start 1120 the process
when the crowdsourcer receives a patent office notification via ACP
community member system 1105. The notification can be, for example,
a rejection notification 1122 or a patent issuance notification
1122 in which case the patent application process is finished 1126.
It is noted that additional modules can be configured within system
1105 such as the scheduling of maintenance/annuity fee payments or
renewal fee payments.
[0096] In decision block 1128, the crowdsourcer can respond or not
respond to a rejection notification. If the crowdsourcer does not
respond, then the patent application process is finished 1126. If
the crowdsourcer will respond to the rejection notification, then
the crowdsourcer provides input into a manage patent contest module
1230 in the ACP community member system 1105. Module 1230 allows
the crowdsourcer to provide to the communities, via system 1132, a
contest based on the patents or patenting such as, for example, a
contest relating to rejection (i.e., Office action) responses.
Patent aggregator community system 1132 (in aggregator community
system platform 1110) aggregates the multiple patent community
platforms 1134 among the community platforms 1115. It is also noted
that the communication bridge module 1141 (in platform 1110)
performs functions as similarly discussed above with reference to
FIG. 5. In the example of FIG. 11, patent community platforms 1134
provide solutions to the crowdsourcer's contest relating to patents
or patenting.
[0097] The results module 1150 transmits the community solutions to
patent processor module 1135 and processor module 1155. Manage
prototype results module 1136 allows the crowdsourcer to evaluate
and/or edit the winning solution to the patent contest. Based on a
decision block 1138, the crowdsourcer can revise 1140 the patent
contest in which case the revised contest is presented to patent
community platform 1134. For example, a revised patent contest 1140
may involve the crowdsourcer presenting a rejection notification
response draft to the patent communities for further input. In the
alternative, if the winning solution is not revised in community
decision block 1138, then the rejection response 1140 (e.g.,
rejection response/reply, request for reconsideration, or appeal)
is filed electronically in the appropriate governmental patent
office 1036. The patent office 1036 then applies its governmental
patent process 1040 to the filed rejection response 1140. If the
patent office 1036 does not allow the patent application in
decision block 1142, then the handle-patent-rejection-documents
module 1144 will send the rejection notification 1146 to
receive-patent-rejection-notification module 1122 so that the
crowdsourcer is provided a patent rejection. On the other hand, if
the patent office 1036 allows the patent application in decision
block 1142, then the pay-issue-fee module 1148 will pay the issue
fee 1150 which is then collected 1152 by the patent office 1036.
The module 1148 will also send a notification to the receive
notification module 1124 that the issue fee was paid, and the
patent application process is finished 1126.
[0098] Referring to FIG. 12, shown is a flow diagram of a method
1200 of aggregating crowdsourcing platforms, according to an aspect
of the present disclosure. In block 1205, a crowdsourcer uses an
aggregator community platform 130 (e.g., FIGS. 1-2) to send a
contest (task) to one or more aggregated communities in a
crowdsourced system (e.g., FIG. 1), where an aggregated community
includes one or more communities and/or one or more aggregator
community systems (e.g., system 210), where an aggregator community
system is included in an aggregated community platform, and where
an aggregator community system (of an aggregator community
platform) aggregates one or more communities.
[0099] In block 1210, the crowdsourcer determines a winning
solution (for the contest) from the solutions provided by one or
more communities aggregated by an aggregator community system. In
block 1215, the crowdsourcer determines the processing to be
applied on the winning solution from the aggregator community
system. In block 1220, the crowdsourcer determines a winning
solution from among the solutions provided by the one or more
communities not aggregated by the aggregator community system that
provided the winning solution and the winning solution from the
aggregator community system. In block 1225, the crowdsourcer
performs an evaluation or allows processing of the winning solution
from the aggregator community system.
[0100] The method 1200 can finish after performing the steps in
block 1220 and/or in block 1225.
[0101] Referring now to FIG. 13, a block diagram of an exemplary
computer system useful for implementing an aspect of the present
disclosure is shown. In one aspect, system 100 may be directed
toward one or more computer systems capable of carrying out the
functionality (process 1200 or the FIG. 2 functions) described
herein. An example of a computer system 1300 is shown in FIG. 13.
Computer system 1300 includes one or more processors, such as
processor 1304. Processor 1304 may be connected to a communication
infrastructure 1306, such as a communications bus or network, for
example. Various software aspects are described in terms of this
exemplary computer system. After reading this description, it will
become apparent to a person skilled in the relevant art(s) how to
implement the disclosure using other computer systems and/or
architectures.
[0102] Computer system 1300 can include a display interface 1302
that forwards graphics, text and other data from communication
infrastructure 1306, or from a frame buffer (not shown), for
display via display unit 1330. Computer system 1300 may also
include a main memory 1308, preferably a random access memory
(RAM), and may further include a secondary memory 1310. Secondary
memory 1310 may include, for example, a hard disk drive 1312 and/or
a removable storage drive 1314, representing a floppy disk drive, a
magnetic tape drive, or an optical disk drive, for example.
Removable storage drive 1314 reads from and/or writes to a
removable storage unit 1318 in a manner well known in the relevant
art. Removable storage unit 1318 represents a floppy disk, magnetic
tape, or an optical disk, which is read by and written to by
removable storage drive 1314. As can be appreciated, removable
storage unit 1318 includes a computer usable storage medium having
stored therein computer software and/or data.
[0103] In alternative aspects, secondary memory 1310 may include
other similar devices for allowing computer programs or other
instructions to be loaded into computer system 1300. Such devices
may include, for example, a removable storage unit 1322 and an
interface 1320. Examples of such may include a program cartridge
and cartridge interface, such as may be found in video game
devices, a removable memory chip, such as an erasable programmable
read only memory (EPROM), or programmable read only memory (PROM),
and associated socket and other removable storage units 1322 and
interfaces 1320, which allow software and data to be transferred
from the removable storage unit 1322 to computer system 1300.
[0104] Computer system 1300 may also include a communications
interface 1324. Communications interface 1324 allows software and
data to be transferred between computer system 1300 and external
devices. Examples of a communications interface 1324 may include a
modem, a network interface such as an Ethernet card, a
communications port, and a Personal Computer Memory Card
International Association (PCMCIA) slot and card. Software and data
transferred via communications interface 1324 are in the form of
non-transitory signals 1328 which may be electronic,
electromagnetic, optical or other signals capable of being received
by communications interface 1324. Signals 1328 may be provided to
communications interface 1324 via a communications path or channel
1326. Channel 1326 may carry signals 1328 and may be implemented
using wire or cable, fiber optics, a telephone line, a cellular
link, a radio frequency (RF) link, and other communications
channels.
[0105] In this document, the terms "computer program medium" and
"computer usable medium" are used to generally refer to media such
as removable storage drive 1314, a hard disk installed in hard disk
drive 1312, and signals 1328. These computer program products
provide software to computer system 1300, wherein the present
disclosure is directed to such computer program products.
[0106] Computer programs (also referred to as computer control
logic), may be stored in main memory 1308 and/or secondary memory
1310. Computer programs may also be received via communications
interface 1324. Such computer programs, when executed, enable
computer system 1300 to perform the features of the present
disclosure, as discussed herein. In particular, the computer
programs, when executed, enable processor 1304 to perform the
features of the present disclosure. Accordingly, such computer
programs represent controllers of the computer system 1300.
[0107] In an aspect where the disclosure is implemented using
software, the software may be stored in a computer program product
and loaded into computer system 1300 using removable storage drive
1314, hard drive 1312 or communications interface 1324. The control
logic (software), when executed by processor 1304, causes processor
1304 to perform the functions of the disclosure as described
herein.
[0108] In another aspect, the disclosure is implemented primarily
in hardware using, for example, hardware components such as
application specific integrated circuits (ASICs). Implementation of
the hardware state machine so as to perform the functions described
herein will be apparent to persons skilled in the relevant
art(s).
[0109] As will be apparent to one skilled in the relevant art(s)
after reading the description herein, the computer architecture
shown herein in various drawings may be configured as a desktop, a
laptop, a server, a tablet computer, a PDA, a mobile computer, an
intelligent communications device or the like. In yet another
aspect, the disclosure may be implemented using a combination of
both hardware and software.
[0110] While various aspects of the present disclosure have been
described above, it should be understood that they have been
presented by way of example and not limitation. It will be apparent
to persons skilled in the relevant art(s) that various changes in
form and detail can be made therein without departing from the
spirit and scope of the present disclosure. Thus, the present
disclosure should not be limited by any of the above described
exemplary aspects, but should be defined only in accordance with
the following claims and their equivalents.
[0111] In addition, it should be understood that the figures in the
attachments, which highlight the structure, methodology,
functionality and advantages of the present disclosure, are
presented for example purposes only. The present disclosure is
sufficiently flexible and configurable, such that it may be
implemented in ways other than that shown in the accompanying
figures.
[0112] Further, the purpose of the foregoing Abstract is to enable
the U.S. Patent and Trademark Office and the public generally and
especially the scientists, engineers and practitioners in the
relevant art(s) who are not familiar with patent or legal terms or
phraseology, to determine quickly from a cursory inspection the
nature and essence of this technical disclosure. The Abstract is
not intended to be limiting as to the scope of the present
disclosure in any way.
* * * * *