U.S. patent application number 15/045828 was filed with the patent office on 2016-06-09 for alerting system based on newly disambiguated features.
The applicant listed for this patent is QBASE, LLC. Invention is credited to Scott LIGHTNER, Franz WECKESSER.
Application Number | 20160162572 15/045828 |
Document ID | / |
Family ID | 53265487 |
Filed Date | 2016-06-09 |
United States Patent
Application |
20160162572 |
Kind Code |
A1 |
LIGHTNER; Scott ; et
al. |
June 9, 2016 |
ALERTING SYSTEM BASED ON NEWLY DISAMBIGUATED FEATURES
Abstract
The present disclosure relates to a method of alerting users
regarding newly disambiguated features. More specifically, a newly
disambiguated feature may pass through different
filters/restrictions, such as, the known knowledge base. The
disclosed known knowledge base may filter the newly disambiguated
feature, comparing the newly disambiguated features to the existing
features to discover a new feature of interest. Particularly, the
disclosed new feature of interest may include a new person, a new
phone number, a new place, a new company, among others. Finally, if
there is a new feature that did not match with the existing
disambiguated features in the known knowledge base, then an alert
may be emitted to a user.
Inventors: |
LIGHTNER; Scott; (Leesburg,
VA) ; WECKESSER; Franz; (Spring Valley, OH) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
QBASE, LLC |
Reston |
VA |
US |
|
|
Family ID: |
53265487 |
Appl. No.: |
15/045828 |
Filed: |
February 17, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14558179 |
Dec 2, 2014 |
9317565 |
|
|
15045828 |
|
|
|
|
61910789 |
Dec 2, 2013 |
|
|
|
Current U.S.
Class: |
707/737 ;
707/750; 707/758 |
Current CPC
Class: |
G06F 16/9024 20190101;
G06F 16/285 20190101; G06F 16/24 20190101; G06F 16/24578
20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A method comprising: accessing, by a processor, a first
document, wherein the processor is coupled to a memory, wherein the
memory stores a first database containing a plurality of
co-occurring document features; extracting, by the processor, based
on the accessing, a feature from the first document; linking, by
the processor, based on the extracting, the feature to a set of
document features stored in a second database, wherein the set of
document features comprises a primary feature and a secondary
feature, wherein the set of document features is obtained from a
second document, wherein the secondary feature includes a proximity
cluster of co-occurring features in the second document;
disambiguating, by the processor, based on the linking, the feature
from the first document; adding, by the processor, based on the
disambiguating, the feature to the first database based on the
feature matching a document feature of interest in a third database
based on the set of document features including the proximity
cluster; and in response to generating, by the processor, an alert
informative of the matching, sending, by the processor, the
alert.
2. The method of claim 1, further comprising: assigning, by the
processor, based on the disambiguating, a score to the feature,
wherein the score is indicative of a level of confidence associated
with a degree of disambiguation of the feature, wherein the feature
matches the document feature of interest in the third database
based on the score.
3. The method of claim 1, wherein the processor matches the feature
with the document feature of interest in the third database based
on a distance parameter associated with the proximity cluster.
4. The method of claim 1, wherein the processor matches the feature
with the document feature of interest in the third database based
on graph clustering of the secondary feature.
5. The method of claim 1, wherein the feature is selected from a
group consisting of a person identifier, a phone number, a
location, and a company name.
6. The method of claim 1, wherein the feature and the set of
document features are linked temporarily.
7. A system comprising: a server comprising a processor and a
memory, wherein the processor is coupled to the memory, wherein the
memory stores a first database containing a plurality of
co-occurring document features, wherein the processor is instructed
to: access a first document; extract, based on the accessing, a
feature from the first document; link, based on the extracting, the
feature to a set of document features stored in a second database,
wherein the set of document features comprises a primary feature
and a secondary feature, wherein the set of document features is
obtained from a second document, wherein the secondary feature
includes a proximity cluster of co-occurring features in the second
document; disambiguate, based on the linking, the feature from the
first document; add, based on the disambiguating, the feature to
the first database based on the feature matching a document feature
of interest in a third database based on the set of document
features including the proximity cluster; and send an alert to a
client in response to the processor generating the alert, wherein
the alert is informative of the matching.
8. The system of claim 7, wherein the processor is instructed to:
assign, based on the disambiguating, a score to the feature,
wherein the score is indicative of a level of confidence associated
with a degree of disambiguation of the feature, wherein the feature
matches the document feature of interest in the third database
based on the score.
9. The system of claim 7, wherein the processor matches the feature
with the document feature of interest in the third database based
on a distance parameter associated with the proximity cluster.
10. The system of claim 7, wherein the processor matches the
feature with the document feature of interest in the third database
based on graph clustering of the secondary feature.
11. The system of claim 7, wherein the feature is selected from a
group consisting of a person identifier, a phone number, a
location, and a company name.
12. The system of claim 7, wherein the feature and the set of
document features are linked temporarily.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application is a continuation of U.S.
Non-Provisional application Ser. No. 14/558,179, filed on Dec. 2,
2014, which claims a benefit of priority to U.S. Provisional
Application 61/910,789, filed on Dec. 2, 2013, which are hereby
fully incorporated by reference in their entirety.
[0002] This application is related to U.S. patent application Ser.
No. 14/558,254, entitled "DESIGN AND IMPLEMENTATION OF CLUSTERED
IN-MEMORY DATABASE," filed Dec. 2, 2014; U.S. patent application
Ser. No. 14/558,121, entitled "METHOD FOR ENTITY-DRIVEN ALERTS
BASED ON DISAMBIGUATED FEATURES," filed Dec. 2, 2014; and U.S.
patent application Ser. No. 14/558,300, entitled "EVENT DETECTION
THROUGH TEXT ANALYSIS USING TRAINED EVENT TEMPLATE MODELS," filed
Dec. 2, 2014; each of which are hereby incorporated by reference in
their entirety.
TECHNICAL FIELD
[0003] The present disclosure relates in general to databases, and
more particularly, to a method for feature-driven alerts based on
disambiguated features.
BACKGROUND
[0004] The internet provides several sources of information which
may be exploited. Internet news feeds and websites that allow users
to interact with one another have exploded in popularity in the
last few years. News feed channels such as CNN, social networking
websites, such as Facebook or LinkedIn, and micro-blogging websites
such as Twitter enjoy widespread use. Millions of users post
messages, images, and videos on such websites on a daily, even
hourly basis. Often, information gathered from these sources may
refer to events taking place in real time.
[0005] Currently, there are personalized notification services that
instantly may inform users about a new information matched with
respect to a knowledge base and which may be related to an entity
of interest. Said new information considered important and relevant
may be notified via email, instant message, pager, or cell phone.
The matching between the new information (where entities may be
extracted and disambiguated) and the knowledge base may be based on
a keywords alerts resource.
[0006] However, the conventional approach in the art related to
alerts or notifications based on keywords may be problematic
because references to named entities may be ambiguous and may
result in many alerts that may not be on topic. Therefore, users
may not want to get alerted on every entity of a given name, but
just for new entities of the same name.
[0007] For the aforementioned reasons, there is a need for an
improved method that allows users to be alerted regarding new
knowledge of a disambiguated feature.
SUMMARY
[0008] An aspect of the present disclosure is a system and method
for alerting user(s) of a newly disambiguated feature. More
specifically, the disclosed feature could be a new feature with a
new name or person, a new place, a new company, or a new instance
of an entity based on an existing name. According to an embodiment,
the feature disambiguation documents may be accurately determined
to be associated with the feature of potential interest (for
instance, discover a new person with the same name of an existing
person in the knowledge base database or it can be discover a new
organization with, same domain and associated entities, of an
existing organization in the knowledge base database).
[0009] Another aspect of the present disclosure may be an alerting
system based on a newly disambiguated feature which may be
discovered according to a predetermined feature of interest.
Specifically, the system may alert a user(s) about a newly
disambiguated feature that was never before disambiguated.
[0010] Subsequently, the system may alert to users about when a
newly feature is disambiguated. According to various embodiments, a
feature of interest may include a person, a phone number, a place,
a company name, among others.
[0011] According to another embodiment, the alerts may be emitted
regarding to newly disambiguated feature coming from new documents,
the types of alert the user may select from may include alerts by
e-mail, phone number, or other type of feature to which the system
may reach the user. The disambiguated features may be sent to an
alert database (AD).
[0012] According to various embodiments, the AD may have a user
identifier to which the alerts may be going to be sent; a
collection of disambiguated features from which the user may select
which feature he wants to monitor; an alert specification
describing the type of alert the user wants to receive; and a
known-knowledge base database in which known knowledge about the
feature of interest may be stored. Any suitable methods may be
employed for the user to communicate to the system regarding the
feature of interest.
[0013] Particularly, the newly disambiguated feature may pass
through different filters/restrictions, such as known knowledge
base, where the disclosed known knowledge may filter the new
information or new features by associating and/or matching the new
features with an existing feature in the known knowledge base
database.
[0014] By using entity disambiguation for the alert systems,
documents may be accurately determined to be associated with the
entity of interest, allowing the systems to alert users when new
information about a feature is available, but only when it is about
the correct feature of interest; i.e. the disclosed method
eliminates alerts on documents that mention a different feature
with the same name.
[0015] According to various embodiments, method for entity-driven
alerts based on disambiguated features may reduce the number of
false positives resulting from a state of the art search queries.
This in turn, may increase the efficiency of monitoring, allowing
for a broadened universe of alerts.
[0016] In one embodiment, a method comprises disambiguating, by a
disambiguation computer, a document feature from an electronic
document by way of: extracting, via a feature extraction computer,
the document feature from the electronic document, and linking, by
the linking computer, the extracted document feature, to a set of
document features having a primary document feature and a secondary
document feature stored in a knowledge database of document
features of a plurality of electronic documents, the secondary
document feature including a proximity cluster of co-occurring
features in the plurality of electronic documents; adding, by an
in-memory database computer, the disambiguated document feature to
the knowledge database of co-occurring document features when the
disambiguated document feature matches a document feature of
interest in an alert database based at least in part on the linked
set of document features including the proximity cluster; and
generating an electronic user alert regarding the matching.
[0017] In another embodiment, a system comprises a disambiguation
computer configured to disambiguate a document feature from an
electronic document by being further configured to extract the
document feature from the electronic document, and link the
extracted document feature to a set of document features having a
primary document feature and a secondary document feature stored in
a knowledge database of document features of a plurality of
electronic documents, the secondary document feature including a
proximity cluster of co-occurring features in the plurality of
electronic documents; and an in-memory database computer configured
to add the disambiguated document feature to the knowledge database
of co-occurring document features when the disambiguated document
feature matches a document feature of interest in an alert database
based at least in part on the linked set of document features
including the proximity cluster, wherein the in-memory database
computer is further configured to generate an electronic user alert
regarding the matching.
[0018] In yet another embodiment, a non-transitory computer
readable medium having stored thereon computer executable
instructions to be executed by a processor comprises
disambiguating, by a processor executing a disambiguation computer
module, a document feature from an electronic document by way of:
extracting, by the processor executing a feature extraction
computer module, the document feature from the electronic document,
and linking, by the processor executing a linking computer module,
the extracted document feature to a set of document features having
a primary document feature and a secondary document feature stored
in a knowledge database of document features of a plurality of
electronic documents, the secondary document feature including a
proximity cluster of co-occurring features in the plurality of
electronic documents; adding, by the processor executing an
in-memory database computer module, the disambiguated document
feature to the knowledge database of co-occurring document features
when the disambiguated document feature matches a document feature
of interest in an alert database based at least in part on the
linked set of document features including the proximity cluster;
and generating, by the processor, an electronic user alert
regarding the matching.
[0019] Numerous other aspects, features of the present disclosure
may be made apparent from the following detailed description.
BRIEF DESCRIPTION OF DRAWINGS
[0020] The present disclosure can be better understood by referring
to the following figures. The components in the figures are not
necessarily to scale, emphasis instead being placed upon
illustrating the principles of the disclosure. In the figures,
reference numerals designate corresponding parts throughout the
different views.
[0021] FIG. 1 is a block diagram for a system for disambiguating
features, according to an exemplary embodiment.
[0022] FIG. 2 is a flowchart diagram for an alerting method,
according to an exemplary embodiment.
DEFINITIONS
[0023] As used here, the following terms may have the following
definitions:
[0024] "Document" refers to a discrete electronic representation of
information having a start and end.
[0025] "Knowledge Base" refers to a database containing
features/entities.
[0026] "Feature extraction" refers to information processing
methods for extracting information such as names, places, and
organizations.
[0027] "Corpus" refers to a collection of one or more
documents.
[0028] "Live corpus" or "Document Stream", refers to a corpus that
is constantly fed as new documents are uploaded into a network.
[0029] "Link on-the-fly module" refers to any linking module that
performs data linkage as data is requested from the system rather
than as data is added to the system.
[0030] "Feature" refers to any information which is at least
partially derived from a document.
[0031] "Feature attribute" refers to metadata associated with a
feature; for example, location of a feature in a document,
confidence score, among others.
[0032] "Event" refers to one or more features characterized by at
least its occurrence in time.
[0033] "Module" refers to a computer or software components
suitable for carrying out at least one or more tasks.
[0034] "Topic" refers to a set of thematic information which is at
least partially derived from a corpus.
DETAILED DESCRIPTION
[0035] The present disclosure is here described in detail with
reference to embodiments, which form a part here. Other embodiments
may be used and/or other changes may be made without departing from
the spirit or scope of the present disclosure. The illustrative
embodiments described in the detailed description are not meant to
be limiting of the subject matter presented here.
[0036] The present disclosure describes a system and method for
alerting user to a newly disambiguated feature in one or more
electronic documents.
[0037] The feature may be a new entity with a new name, a person, a
phone number, a place, a company, or a new instance, among others,
of a feature based on an existing name. By using entity
disambiguation documents may be accurately determined to be
associated with the entity of interest. This allows the system to
alert users when a newly disambiguated feature is discovered.
[0038] According to various embodiments, disambiguated features, on
which the present method for entity-driven alerts is based, may be
disambiguated by any suitable methods. According to one embodiment,
a system for disambiguating features may include multiple computer
hardware and/or software modules, such as one or more feature
extraction computer modules, one or more disambiguation computer
modules, one or more scoring computer modules, and one or more
linking computer modules. The disclosed system and method for
disambiguating features may improve the accuracy of entity
disambiguation beyond what may be achieved by considering no
document linking Taking account of document linkage may allow
better disambiguation by considering document and entity
relationships implied by links.
[0039] An alert mechanism can be based on disambiguated features
that a user can specify around an already existing and
disambiguated feature of interest (can be any feature such as
entities, topics, etc.) in the knowledge base. This differs from
conventional alert systems that are based on keyword search alert
mechanisms, wherein a "disambiguated feature" guides the alert,
providing better relevance and precision. Also, the alert system
described herein can provide user an ability to a build alert
specification around the secondary features of already existing
disambiguated features, towards getting alerted on the discovery of
newly discovered disambiguated features having closely related
secondary feature characteristics specified in the alert.
[0040] The alert mechanism can detect and communicate emerging new
disambiguated features related to a feature of interest, new
associations to the feature of interest, and new knowledge
discovered to the feature of interest, besides just a group of
documents that mention the feature of interest. The embodiments
also describe a system-wide knowledge base update process by
support of dynamic on-the-fly-linking mechanism in an in-memory
database (MEMDB) based on an individual user's alert query. Thus,
the embodiments can provide a framework to support collaborative
knowledge sharing among different users in a given system
establishment.
[0041] System for Disambiguating Features
[0042] FIG. 1 is a block diagram for a system 100 for
disambiguating features, according to an embodiment. In the
illustrated embodiment, a system 100 for disambiguating features
may include a new document input module 102 for receiving input of
new documents into an existing knowledge base. The feature
extraction module 104 performs feature extraction from the inputted
document. The disclosed new document input module 102 may be fed
from a massive corpus or live corpus that, in turn, may be fed
every second, such as the internet or network connection (NC).
[0043] Particularly, one or more feature recognition and extraction
algorithms may be employed by the feature extraction module 104 to
analyze new document(s) input via the module 102. A score may be
assigned to each extracted feature. The score may indicate the
level of certainty of the feature being correctly extracted with
the correct attributes. Additionally, during feature extraction by
the module 104, one or more primary features may be identified from
new document input. Each primary feature may have been associated
with a set of feature attributes and one or more secondary features
(like proximity cluster of co-occurring features, such as entities,
co-occurring topics, co-occurring events and facts).
[0044] During the process of disambiguation, a plurality of sources
(internet based sources or live corpus of documents) may be
constantly getting new knowledge, updated by users 106, that is not
pre-linked in some static way; thus, the number of documents to be
evaluated may be infinitely increasing. This may be achieved
because of the use of MEMDB 108. In one embodiment, after feature
disambiguation of the new document is performed, the extracted new
features may be included in the MEMDB 108 to pass through a link
on-the-fly (OTF) module 110; where the features may be compared and
linked, and a feature ID of disambiguated feature may be returned
to the user as a result from a query. In addition to the feature
ID, the resulting feature cluster defining the disambiguated
feature may optionally be returned. The link OTF module 110 may be
capable of constantly evaluating, scoring, linking, and clustering
a feed of information.
[0045] MEMDB 108 can be a database storing data in records
controlled by a database management system (DBMS) (not shown)
configured to store data records in a device's main memory, as
opposed to conventional databases and DBMS modules that store data
in "disk" memory. Conventional disk storage requires processors
(CPUs) to execute read and write commands to a device's hard disk,
thus requiring CPUs to execute instructions to locate (i.e., seek)
and retrieve the memory location for the data, before performing
some type of operation with the data at that memory location.
In-memory database systems access data that is placed into main
memory, and then addressed accordingly, thereby mitigating the
number of instructions performed by the CPUs and eliminating the
seek time associated with CPUs seeking data on hard disk.
[0046] In-memory databases may be implemented in a distributed
computing architecture, which may be a computing system comprising
one or more nodes configured to aggregate the nodes' respective
resources (e.g., memory, disks, processors). As disclosed herein,
embodiments of a computing system hosting an in-memory database may
distribute and store data records of the database among one or more
nodes. In some embodiments, these nodes are formed into "clusters"
of nodes. In some embodiments, these clusters of nodes store
portions, or "collections," of database information.
[0047] Various methods for linking the features may be employed,
which, in embodiments, may essentially use a weighted model for
determining which feature types are most important, which have more
weight, and, based on confidence scores, determine the degree of
confidence that feature extraction by the module 104 and feature
disambiguation by the disambiguation module 112 were performed with
respect to the correct feature(s). Consequently, the correct
feature(s) may go into the resulting cluster of features. As more
nodes are working in parallel, the process may be more efficient.
The result of the aforementioned processing by the above computer
modules may be one or more newly disambiguated features 114.
[0048] The newly disambiguated feature 114 may be compared with the
existing knowledge base database in order to determine the
relationship between features and determine if there is a match
between the new features and the previously extracted features. In
various embodiments, the matching process mentioned here can vary
from simple conceptual distance measure to sophisticated graph
clustering approaches based on the dimensions of the involved
secondary features that aid in discovering newly disambiguated
features.
[0049] Once features are disambiguated the number of alerts to be
sent to a user 106 may be reduced by letting the user 106 specify
alert restrictions.
[0050] The disclosed newly disambiguated features 114 may then be
included in an Alert Database (AD). The AD may have at least the
following components.
TABLE-US-00001 TABLE 1 Alert database. ##STR00001##
[0051] According to various embodiments, the AD may have a user
identifier to which the alerts may be going to be sent; a
collection of disambiguated features from which the user may select
which feature he wants to monitor; an alert specification
describing the type of alert the user wants to receive; and a
known-knowledge base database in which known knowledge about the
feature of interest may be stored. Any suitable methods may be
employed for the user to communicate to the system which is the
feature of interest.
[0052] According to various embodiments, a feature of interest may
include a person, a phone number, a place, a company name, among
others.
[0053] The types of alert the user may select from may include
alerts by e-mail, phone number, or another communication medium by
which the system may reach the user.
[0054] According to one embodiment, known-knowledge base database
may be stored in another MEMDB. Known-knowledge base database may
have any suitable structure, which may be processed by one or more
suitable algorithms. Such algorithms include associated topics,
proximity cluster of other features (such as entities or events,
among others), derived prominence factor (e.g., based on simple
frequency counts or a weighted association with global events and
importance automatically captured via a large time bound corpus),
and temporally linked events, among others. Additionally,
known-knowledge base may include restrictions from which the alerts
may be going to be based, according to the user specifications.
Informational knowledge within known-knowledge base database may
have any suitable representation, such as incremental graphs, among
others.
[0055] Method for Alerting Users Based on Newly Disambiguated
Features
[0056] FIG. 2 is a flowchart diagram of an alerting method 200 to
be performed by the system described herein, according to an
embodiment. More specifically, in an embodiment of the alerting
method 200, a user may previously indicate a feature or event of
interest, and, therefore, in step 202, different newly
disambiguated features may be associated with the existing features
in the known knowledge base. Particularly, the disclosed newly
disambiguated feature may include a person, a phone number, a
place, a company, among others, which may be related to an existing
feature of interest in the knowledge base.
[0057] In step 204, the disclosed newly disambiguated document
feature (coming from a network connection-NC) is sent to the alert
database to be accurately compared, in step 206, with the existing
knowledge included within the known knowledge base. Afterwards, in
step 208, alerting method 200 may detect whether a new feature has
been identified during the knowledge identification process, where
the new feature may be based on newly disambiguated feature
202.
[0058] If, in step 210, the alerting method 200 identifies a new
feature according to known knowledge base, then a unique
identification (ID) is assigned to the newly disambiguated feature
202, and the ID is associated with the cluster of defining features
and stored within the knowledge base of the MEMDB. Additionally, in
step 212, the disclosed new information (i.e., the newly
disambiguated feature 202) may be updated within knowledge base.
Subsequently, in step 214, the alerting method 200 may send the
alert to user by e-mail, phone number, or other type of
communication medium.
[0059] However, if the knowledge identification 208 does not
identify or associate a new feature with an existing feature in the
known knowledge base, then the process may end, step 216.
[0060] The foregoing method descriptions and the process flow
diagrams are provided merely as illustrative examples and are not
intended to require or imply that the steps of the various
embodiments must be performed in the order presented. As will be
appreciated by one of skill in the art the steps in the foregoing
embodiments may be performed in any order. Words such as "then,"
"next," etc. are not intended to limit the order of the steps;
these words are simply used to guide the reader through the
description of the methods. Although process flow diagrams may
describe the operations as a sequential process, many of the
operations can be performed in parallel or concurrently. In
addition, the order of the operations may be rearranged. A process
may correspond to a method, a function, a procedure, a subroutine,
a subprogram, etc. When a process corresponds to a function, its
termination may correspond to a return of the function to the
calling function or the main function.
[0061] The various illustrative logical blocks, modules, circuits,
and algorithm steps described in connection with the embodiments
disclosed here may be implemented as electronic hardware, computer
software, or combinations of both. To clearly illustrate this
interchangeability of hardware and software, various illustrative
components, blocks, modules, circuits, and steps have been
described above generally in terms of their functionality. Whether
such functionality is implemented as hardware or software depends
upon the particular application and design constraints imposed on
the overall system. Skilled artisans may implement the described
functionality in varying ways for each particular application, but
such implementation decisions should not be interpreted as causing
a departure from the scope of the present invention.
[0062] Embodiments implemented in computer software may be
implemented in software, firmware, middleware, microcode, hardware
description languages, or any combination thereof. A code segment
or machine-executable instructions may represent a procedure, a
function, a subprogram, a program, a routine, a subroutine, a
module, a software package, a class, or any combination of
instructions, data structures, or program statements. A code
segment may be coupled to another code segment or a hardware
circuit by passing and/or receiving information, data, arguments,
parameters, or memory contents. Information, arguments, parameters,
data, etc. may be passed, forwarded, or transmitted via any
suitable means including memory sharing, message passing, token
passing, network transmission, etc.
[0063] The actual software code or specialized control hardware
used to implement these systems and methods is not limiting of the
invention. Thus, the operation and behavior of the systems and
methods were described without reference to the specific software
code being understood that software and control hardware can be
designed to implement the systems and methods based on the
description here.
[0064] When implemented in software, the functions may be stored as
one or more instructions or code on a non-transitory
computer-readable or processor-readable storage medium. The steps
of a method or algorithm disclosed here may be embodied in a
processor-executable software module which may reside on a
computer-readable or processor-readable storage medium. A
non-transitory computer-readable or processor-readable media
includes both computer storage media and tangible storage media
that facilitate transfer of a computer program from one place to
another. A non-transitory processor-readable storage media may be
any available media that may be accessed by a computer. By way of
example, and not limitation, such non-transitory processor-readable
media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk
storage, magnetic disk storage or other magnetic storage devices,
or any other tangible storage medium that may be used to store
desired program code in the form of instructions or data structures
and that may be accessed by a computer or processor. Disk and disc,
as used here, include compact disc (CD), laser disc, optical disc,
digital versatile disc (DVD), floppy disk, and Blu-ray disc where
disks usually reproduce data magnetically, while discs reproduce
data optically with lasers. Combinations of the above should also
be included within the scope of computer-readable media.
Additionally, the operations of a method or algorithm may reside as
one or any combination or set of codes and/or instructions on a
non-transitory processor-readable medium and/or computer-readable
medium, which may be incorporated into a computer program
product.
[0065] The preceding description of the disclosed embodiments is
provided to enable any person skilled in the art to make or use the
present invention. Various modifications to these embodiments will
be readily apparent to those skilled in the art, and the generic
principles defined here may be applied to other embodiments without
departing from the spirit or scope of the invention. Thus, the
present invention is not intended to be limited to the embodiments
shown here but is to be accorded the widest scope consistent with
the following claims and the principles and novel features
disclosed here.
[0066] While various aspects and embodiments have been disclosed,
other aspects and embodiments are contemplated. The various aspects
and embodiments disclosed are for purposes of illustration and are
not intended to be limiting, with the true scope and spirit being
indicated by the following claims.
* * * * *