U.S. patent application number 12/742094 was filed with the patent office on 2011-06-09 for apparatuses, methods and systems for hierarchical multidimensional information interfaces.
Invention is credited to David Sidman.
Application Number | 20110138319 12/742094 |
Document ID | / |
Family ID | 40626210 |
Filed Date | 2011-06-09 |
United States Patent
Application |
20110138319 |
Kind Code |
A1 |
Sidman; David |
June 9, 2011 |
Apparatuses, Methods and Systems for Hierarchical Multidimensional
Information Interfaces
Abstract
The disclosure teaches a hierarchical multidimensional
interfaces for navigating information, responsive to user feedback
in the placement and appearance of navigation panes The way a user
views the contents of a menu pane is to move the mouse toward the
particular menu pane. When a cursor is hovering over a pane, it may
be highlighted. When the cursor is subsequently moved toward any
inactive pane, a preview of that pane slides into view, showing
only part of the pane. The closer the cursor gets to the pane, the
larger the preview area becomes and if the user moves the mouse
away from an inactive pane, its preview becomes smaller. Once the
cursor crosses over to a pane different from the currently viewed,
that pane slides into view. A user only need select a menu item
when one wishes to navigate to a URL or application external to a
navigation system.
Inventors: |
Sidman; David; (Brooklyn,
NY) |
Family ID: |
40626210 |
Appl. No.: |
12/742094 |
Filed: |
November 7, 2008 |
PCT Filed: |
November 7, 2008 |
PCT NO: |
PCT/US08/82899 |
371 Date: |
February 14, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61044019 |
Apr 10, 2008 |
|
|
|
61044013 |
Apr 10, 2008 |
|
|
|
60986561 |
Nov 8, 2007 |
|
|
|
Current U.S.
Class: |
715/781 |
Current CPC
Class: |
G06F 3/04842 20130101;
G06F 16/9577 20190101; G06F 3/0482 20130101; G06F 3/04847 20130101;
G06F 3/0481 20130101 |
Class at
Publication: |
715/781 |
International
Class: |
G06F 3/048 20060101
G06F003/048 |
Claims
1. A processor-implemented method to provide a hierarchical
multidimensional information interface, comprising: receiving
interactive display information; providing received interactive
display information to a user in user navigable hierarchical
information panes; monitoring user interactions with the user
navigable hierarchical information panes; updating the appearance
of the user navigable hierarchical information panes based on the
monitored user interactions.
2. A hierarchical multidimensional information interface
processor-implemented method, comprising: receiving interactive
display information from a pointer to a hierarchy of paired menu
item information and associated targets; generating a first menu
pane of menu items from a first hierarchical level of information
from the received interactive display information; providing
received interactive display information to a user in user
navigable hierarchical information panes; monitoring user
interactions with the user navigable hierarchical information
panes; updating the appearance of the user navigable hierarchical
information panes based on the monitored user interactions, wherein
inactive menu panes are generated through user selections of menu
items in active menu panes, and wherein inactive panes become more
visible as a user moves a selection indicator closer to the
inactive pane.
3. The method of claim 2, wherein the active and inactive panes
slide in and out of view within the bounds of a menu handle.
4. The method of claim 2, further comprising inactive panes become
less visible as a user moves a selection indicator further from the
inactive pane.
5. A hierarchical multidimensional information interface
processor-implemented system, comprising: means to receive
interactive display information from a pointer to a hierarchy of
paired menu item information and associated targets; means to
generate a first menu pane of menu items from a first hierarchical
level of information from the received interactive display
information; means to provide received interactive display
information to a user in user navigable hierarchical information
panes; means to monitor user interactions with the user navigable
hierarchical information panes; means to update the appearance of
the user navigable hierarchical information panes based on the
monitored user interactions, wherein inactive menu panes are
generated through user selections of menu items in active menu
panes, and wherein inactive panes become more visible as a user
moves a selection indicator closer to the inactive pane.
6. A hierarchical multidimensional information interface computer
readable medium encoded with processing instructions for
implementing a method, performed by a computer, the medium
comprising processing instruction: means to receive interactive
display information from a pointer to a hierarchy of paired menu
item information and associated targets; means to generate a first
menu pane of menu items from a first hierarchical level of
information from the received interactive display information;
means to provide received interactive display information to a user
in user navigable hierarchical information panes; means to monitor
user interactions with the user navigable hierarchical information
panes; means to update the appearance of the user navigable
hierarchical information panes based on the monitored user
interactions, wherein inactive menu panes are generated through
user selections of menu items in active menu panes, and wherein
inactive panes become more visible as a user moves a selection
indicator closer to the inactive pane.
7. A hierarchical multidimensional information interface apparatus,
comprising: a processor; and a memory in communication with the
processor, the memory for storing a plurality of processing
instructions directing the processor to: receive interactive
display information from a pointer to a hierarchy of paired menu
item information and associated targets; generate a first menu pane
of menu items from a first hierarchical level of information from
the received interactive display information; provide received
interactive display information to a user in user navigable
hierarchical information panes; monitor user interactions with the
user navigable hierarchical information panes; update the
appearance of the user navigable hierarchical information panes
based on the monitored user interactions, wherein inactive menu
panes are generated through user selections of menu items in active
menu panes, and wherein inactive panes become more visible as a
user moves a selection indicator closer to the inactive pane.
Description
RELATED APPLICATIONS
[0001] Applicants hereby expressly incorporate by reference the
entire contents of U.S. patent application Ser. No. 11/813,671,
filed Jul. 10, 2007, titled: "Apparatuses, Methods and Systems for
Integrated, Information-Engineered and Self-Improving Advertising,
E-Commerce and Online Customer Interactions", Attorney Docket No.
17288-014US1.
[0002] Applicants also claim priority under 35 USC .sctn.119 to and
hereby expressly incorporate by reference the entire contents of
U.S. Provisional Patent Application Ser. No. 60/986,561, filed Nov.
8, 2007, titled: "Apparatuses, Methods and Systems for Hierarchical
Multidimensional Information Interfaces", Attorney Docket No.
17288-041PV.
[0003] Applicants also claim priority under 35 USC .sctn.119 to and
hereby expressly incorporate by reference the entire contents of US
Provisional Patent Application Ser. No. 61/044,013, filed Apr. 10,
2008, titled: "Apparatuses, Methods and Systems for Portable
Universal Profile" and U.S. Provisional Patent Application Ser. No.
61/044,019, filed Apr. 10, 2008, titled "Apparatuses, Methods and
Systems for Portable Universal Profile".
[0004] The entire contents of the aforementioned applications are
herein expressly incorporated by reference.
FIELD
[0005] The present invention is directed generally to an
apparatuses, methods, and systems for accessing and interfacing
with information across a communications network, and more
particularly, to APPARATUSES, METHODS AND SYSTEMS FOR HIERARCHICAL
MULTIDIMENSIONAL INFORMATION INTERFACES (hereinafter "HMII").
BACKGROUND
Internet
[0006] As Internet usage increases, the amount of information
available on the Internet also increases. The information that
exists on the Internet is of many different types, including
documents in many formats such as: computer software, databases,
discussion lists, electronic journals, library catalogues, online
information services, mailing lists, news groups, streaming media,
and the like. Fortunately, much of the information on the Internet
can be accessed through the World-Wide Web using a Web browser to
interact with the network in a user-friendly way.
Network
[0007] Networks are commonly thought to consist of the
interconnection and interoperation of clients, servers, and
intermediary nodes in a graph topology. It should be noted that the
term "server" as used herein refers generally to a computer, other
device, software, and/or combination thereof that processes and
responds to the requests of clients, often from across a
communications network. The term "client," in turn, generally
refers to a computer, other device, software, user, and/or
combination thereof that generates requests for service. Generally,
the term "client" and "user" are interchangeable, and are used as
such throughout. As such, servers serve their information to
requesting clients. A computer, other device, software, or
combination thereof that facilitates, processes information and
requests, and/or furthers the passage of information from a source
user to a destination user is commonly referred to as a "node."
Networks are generally thought to facilitate the transfer of
information from source points to destinations.
World Wide Web
[0008] The proliferation and expansion of the Internet, and
particularly the World Wide Web (the Web), have resulted in a vast
and diverse collection of information. Various user interfaces that
facilitate the interaction of users with information technology
systems (i.e., people using computers) are currently in use. An
information navigation interface called WorldWideWeb.app (the Web)
was developed in late 1990. Subsequently, information navigation
interfaces such as Web browsers have become widely available on
almost every computer operating system platform.
[0009] Generally, the Web is the manifestation and result of a
synergetic interoperation between user interfaces (e.g., Web
browsers), servers, distributed information, protocols, and
specifications. Web browsers were designed to facilitate navigation
and access to information, while information servers were designed
to facilitate provision of information. Typically, Web browsers and
information servers are disposed in communication with one another
through a communications network. Information Servers function to
serve information to users that typically access the information by
way of Web browsers. As such, information servers typically provide
information to users employing Web browsers for navigating and
accessing information on the Web. Microsoft's Internet Explorer and
Netscape Navigator are examples of Web browsers. In addition,
navigation user interface devices such as WebTV have also been
implemented to facilitate Internet navigation. Many other
navigation interfaces and devices also exist for navigating the
Internet such as File Transmission Protocol (FTP), email interfaces
(e.g., mailto:), search queries, database queries, scripts, Web
Services (such as Microsoft's .NET or Sun Microsystems' SunONE),
and the like. Some of these interfaces are intended for use by
human beings, and some are intended for use directly by machines,
devices, software programs, and the like. Microsoft's Information
Server and Apache are examples of information servers.
Online Advertising
[0010] Advertising technologies have been developed in an effort to
capitalize on the Internet's ability to track end user behavior in
ways not possible with traditional media: e.g., with television or
print magazine ads, where there is no mechanism by which to measure
the end user's actual interaction, or even to verify that the end
user has seen the ad at all. Companies have created "contextual
ads" (such as Google's AdSense) which "read" the content of a Web
page and then place certain ads on that page in response to the
page's context (e.g., Google "Sponsored Links," which are selected
and placed in a Web page in response to the particular
subject-matter of the page).
SUMMARY
[0011] The described APPARATUSES, METHODS AND SYSTEMS FOR
HIERARCHICAL MULTIDIMENSIONAL INFORMATION INTERFACES (hereinafter
"HMII") provide interactive, responsive and efficient hierarchical
multidimensional interfaces for navigating information. In one
embodiment, the HMII responds to user feedback in the placement and
appearance of navigation panes. For example, in first pane, a user
may be provided with a preview of the next hierarchical level of
panes. As the user moves the cursor (e.g., via a mouse or the like)
towards the preview (e.g., the edge where the preview is shown, the
preview pane or panes may expand, allowing the user to view the
contents of the preview.
[0012] In one embodiment, every level of the menu is a separate
pane that `floats` on top of the other. The way a user views the
contents of any menu pane is to move the mouse toward the
particular menu pane. When a cursor is hovering over an item on one
page, it may be highlighted. When the cursor is subsequently moved
toward any inactive pane (i.e. a pane different than the one in the
main view/active pane), a preview of that pane (submenu for
highlighted selection) slides into view, showing only part of the
pane. The closer the cursor gets to the pane, the larger the
preview area gets. If the user moves the mouse in the opposite
direction of an inactive pane, its preview area retracts (gets
smaller). The HMII may be multidimensional, utilizing different
levels as well as directional navigation elements. Once the cursor
crosses over to the `real estate` of a pane different than the
currently viewed, that pane slides into view. A user may only need
to click on a menu item when he or she wishes to navigate to a
resource (e.g. URL, application) external to this navigation
system/application.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying appendices and/or drawings illustrate
various non-limiting, example, inventive aspects in accordance with
the present disclosure:
[0014] FIG. 1 of the present disclosure illustrates a block diagram
with inventive aspects of a HMII;
[0015] FIG. 2 of the present disclosure illustrates a block diagram
of a second level of a HMII;
[0016] FIG. 3 of the present disclosure illustrates a block diagram
of a third level of a HMII;
[0017] FIGS. 4-5 of the present disclosure illustrates a block
diagram of a various menu composites of a HMII;
[0018] FIGS. 6-7 of the present disclosure illustrates a block
diagram of a various menu composites and output reports of a
HMII;
[0019] FIG. 8 of the present disclosure illustrates a logic flow
diagram of a HMII;
[0020] FIG. 9 is of a block diagram illustrating embodiments of the
present invention of an HIERARCHICAL MULTIDIMENSIONAL INFORMATION
INTERFACE controller;
[0021] APPENDICES 1-4 detail aspects of embodiments to generate
APPARATUSES, METHODS AND SYSTEMS FOR HIERARCHICAL MULTIDIMENSIONAL
INFORMATION INTERFACES.
[0022] The leading number of each reference number within the
drawings indicates the figure in which that reference number is
introduced and/or detailed. As such, a detailed discussion of
reference number 101 would be found and/or introduced in FIG. 1.
Reference number 201 is introduced in FIG. 2, etc.
DETAILED DESCRIPTION
HMII
[0023] In some embodiments of the APPARATUSES, METHODS AND SYSTEMS
FOR HIERARCHICAL MULTIDIMENSIONAL INFORMATION INTERFACES
(hereinafter "HMII"), the HMII uses an at least one computer to
generate a hierarchical multidimensional information interface. In
one embodiment, the HMII may be implemented in the context of the
menus described in pending U.S. patent application Ser. No.
11/813,617, entitled APPARATUSES, METHODS AND SYSTEMS FO
INTEGRATED, INFORMATION-ENGINEERED AND SELF-IMPROVING ADVERTISING,
E-COMMERCE AND ONLINE CUSTOMER INTERACTIONS, filed Jul. 10, 2007.
For example, the menus illustrated in FIGS. 6, 14, 16 and/or 18 of
application Ser. No. 11/813,617 may be configured to utilize the
HMII, increasing ease of user navigation and exploration.
Additional and alternative implementations and/or applications of
the HMII may include advertising, marketing research, encouraging
click-through and/or purchasing behavior, increasing navigation
and/or selection efficiency, and/or the like.
[0024] FIG. 1 of the present disclosure illustrates inventive
aspects of a HMII. In this embodiment, on can see the first level
of the menu hierarchy across three different menu dimensions 110.
It should be noted that the hierarchical information may be
provided by way of a pointer to the menu generation object. In one
embodiment, an XML paired hierarchy may include the names of menu
items with paired target information (e.g., URLs, Digital Object
Identifiers, file system objects, applications, next menu hierarchy
heading, etc.) for each hierarchical level under a menu
hierarchical heading representing each hierarchical level. Also,
tab delineated lists, object hierarchies, file system hierarchies,
and/or the like may be used as a data source from which menu
information may be obtained and used to populate and structure the
hierarchy of menus. In one embodiment, a series of linked lists may
be used to represent the menu populating hierarchical information,
where the links from one list to the other represent various menu
hierarchy levels.
[0025] When moving the mouse pointer 120 over a menu cell, a
preview of the next level of the menu hierarchy appears as the
pointer moves towards the edge, i.e., it is implemented in a way
that the inactive pane slides in; in this example, an arrow icon
guides the user where to point the pointer 115. As can be seen in
FIG. 1, the menu is agnostic as to vertical 125 and/or horizontal
130 orientation. Further, the HMII has the advantage of working
within a fixed space such that all the panes fit under a single
HMMI menu handle see 330 of FIG. 3. In this example, the active
pane is the menu column 135 (when the menu is vertically situated)
or row 140 (when the menu is horizontally situated) where the
pointer is currently actively engaged. The inactive pane shows the
next menu level, the sub-menu level brought about by the pointer
145. In this implementation, every level of the menu is a separate
pane that floats on top of the other. By moving the pointer to the
next hierarchical pane, the user may then get to navigate through
that pane, and again, be able to generate a further sub-pane. In
one embodiment, as a user hovers the pointer over an item on one
pane, the user may thereby highlight a menu item therein.
Thereafter, when a user moves the pointer to a newly presented
inactive pane (i.e., a pane different than the one in the main
view/active pane), a preview a of the sub-pane (i.e., submenu for
highlighted menu item selections) slides into view, showing only
part of the pane. In this way, the closer the pointer gets to the
pane, the larger the preview are becomes. If a user moves the
pointer in the opposite direction of an inactive pane, its preview
area retracts and thereby gets smaller. Once a pointer crosses over
into the real estate of a different pane than the currently active
pane, that newly selected pane slides into view. It should be noted
that the user need not click any of the menu items and/or panes for
such navigation, and the only time a user would want to click on a
menu item is when the user wishes to navigate to a resource (e.g.,
a URL, application, function) external to the navigation
system/application.
[0026] FIG. 2 of the present disclosure illustrates further
inventive aspects of a HMII. In this figure, the 2.sup.nd
hierarchical menu panel level has been made active 110, and another
inactive sub-pane starts to slide into view 145 atop the active
pane 110. The previously active pane, is now inactive, yet a part
remains in view so as to provide navigational context 210. Again,
the next preview pane 145 starts to slide into view as the pointer
120 move towards the edge of the active pane. Should the pointer
move back towards previously active pane (i.e., the first level
preview) 210, it would cause the active level 110 to slightly
retract as the first level preview comes more into view. Should the
pointer move all the way back to the first level preview, it would
cause the first level preview to become the active pane, and thus
cause the active pane to fully retract and become inactive, while
the first level pane would become active.
[0027] FIG. 3 of the present disclosure illustrates further
inventive aspects of a HMII. In this figure, the 3.sup.rd
hierarchical menu panel level has been made active 110. Here we see
that the third active level pane is being selected with the pointer
120. In this example, the third active pane is a terminal pane as
indicated by a blue dot 315, instead of an arrow, indicating no
further sub-panes exist. It should be noted that there is no limit
to the number of hierarchical menu-pane levels that may exist,
i.e., 4, 5, 6 . . . and more. Here, we see a bread crumb trail 320
showing not only previous and now inactive panes 210, 310, but also
the menu items that were navigated. Here, the first level menu pane
310 is tucked under the slightly more visible second level inactive
pane 210, which is tucked under the fully visible active pane 110.
All of which is sheathed under the menu bar handle 330.
[0028] FIGS. 4-5 of the present disclosure illustrate various
composites of the HMMI menu. FIGS. 6-7 of the present disclosure
illustrate various composites of the HMMI menu and output reports
for the banner page.
[0029] FIG. 8 of the present disclosure illustrates a logic flow
diagram of a HMII. Initially a programmatic call may be used to
trigger an HMII menu 805. For example, in one embodiment, the HMII
may be implemented in Javascript and embedded in a webpage such
that when a user hovers their mouse over various targets, the HMII
Javascript is executed (see Appendices 1-4 for an example). It
should be noted, that the HMII may be implemented in a number of
languages and many operating system environments and existing user
interfaces. As such, it may be included as an object library and
called by applications under numerous operating system
environments. For example, it may be employed under Windows, Mac OS
X, and iPhone operating environments. In some embodiments, it may
be implemented through compiled and/or high level program
development environments. In another embodiment, it may be
universally deployed through a web environment deployment. Upon
triggering the HMII 805, interactive display information may be
provided to the HMII by way of a data structure describing a
hierarchy. As has already been discussed, in one embodiment, a
hierarchy may be described as an XML structure where each menu item
is described and coupled with a target. Once the pointer to the
data structure is obtained 810 by way of trigger 805, the HMII may
discern the first level of the hierarchy in the data structure 815.
In one embodiment, the hierarchical levels may be separated by
level delineators such as an XML hierarchy delineator, a tab,
and/or other level marker. Once the first level of information is
discerned 815, the HMII may generate a graphical representation of
the first menu pane level 830. The previous figures illustrated
various visual depictions of the form of menu panes. In one
embodiment, text representing the data structure menu information
may overlay graphical elements in a window taking the form of a
menu pane. In another embodiment, the HMII may employ the object
menu structures of existing user interface environments such as Mac
OS X's menu hierarchy. In another embodiment, a graphical
representation in Javascript may be provided. Upon generating the
first level menu pane 830, the HMII may provide the generated pane
to the render engine of the display environment for display
820.
[0030] Upon displaying the menu pane 820, the HMII may continue to
monitor for user input and/or selection information as the user
interacts with the system 825. If the user does not move their
pointer onto the active pane 840, the HMII may continue to look for
other triggers 805. However, if the user moves their pointer into
an active pane 840, then the HMII may determine if the user has
move the pointer onto a selectable menu item 845. In one
embodiment, the HMII may check the current pointer position and see
if it is within the bounds of the active pane. If not, then the
HMII may continue to look for interactions with the active menu
pane 840. However, if so 845, then the HMII may check to see if the
menu item being selected is terminal 850. If the menu item does not
refer to other sub-menu information 850 (i.e., it is terminal),
then the HMII may check to see if a selection has been made 835,
and if so, it may instantiate the selected target 899. In one
embodiment, where the target is a paired reference such as URL,
DOI, application method, reference, and/or the like, the selection
will trigger the execution of the target (e.g., passing the URL to
the web browser for loading, execution of the program method,
etc.). If no click and/or selection is made 835, the HMII may check
to see if the cursor is remaining in the menu item cell 885.
[0031] If the menu item 845 is not terminal 850, then the HMII may
obtain the next level of hierarchy information from the referenced
data structure 855, where the reference to the next level of
hierarchy information is provided as part of the paired information
for the menu item 845 over which the pointer is hovering. Upon
obtaining the referenced hierarchy menu information 855, the HMII
may generate the next level menu pane 860. The menu pane may then
be displayed as the next level inactive menu pane 865. At this
point the HMII may continue 870 monitoring for user interactions
with menu panes and items 880.
[0032] The HMII may then check to see if the cursor is still on the
same menu item as before 885. If not 885, then the HMII may
determine on which menu item the cursor is hovering 845. However,
if the cursor is still on the same menu item 885, then the HMII may
determine if the cursor has move closer to an inactive pane 890. If
the cursor has moved away from the inactive pane 890, the display
is updated such that the inactive menu pane preview is less visible
relative to the active pane 896, at which point the HMII may
continue to check if the cursor remains on the same menu item 885.
However, if the cursor moves closer to the inactive pane 890, then
the HMII updates the display such that the inactive menu pane
becomes more visible relative to the active pane 893. Also, the
HMII may determine if the cursor has crossed over from the same
menu item 885 onto a menu item and/or area in the inactive pane
894. If the cursor has crossed over 894, then the HMII will make
the inactive pane active 894 by bringing it to be the most visible
menu pane and demoting other panes to become inactive and less
visible 897; and then the HMII will continue to see if the cursor
now remains over the newly tracked menu item 885.
[0033] In one embodiment, HMII may be used to serve ads, even
within Iframes, where this embodiment allows for traversing a
hierarchy within the Iframe without requiring complicated recoding
the Iframe and/or without complicated modifications of the website
hosting the Iframe to escape. In such an embodiment, it allows the
advertiser to present a complex multi-segmented decision tree to be
traversed all within a confined space on a web page. This has great
advantages in compressing down what would otherwise be a long
duration decision making process into something more immediate and
easily convertible for the advertiser.
HMII Controller
[0034] FIG. 9 of the present disclosure illustrates inventive
aspects of a HMII controller 901 in a block diagram. In this
embodiment, the HMII controller 901 may serve to aggregate,
process, store, search, serve, identify, instruct, generate, match,
facilitate, add, edit, provide and/or update interface and/or other
related data.
[0035] Typically, users, which may be people and/or other systems,
engage information technology systems (e.g., commonly computers) to
facilitate information processing. In turn, computers employ
processors to process information; such processors are often
referred to as central processing units (CPU). A common form of
processor is referred to as a microprocessor. CPUs use
communicative signals to enable various operations. Such
communicative signals may be stored and/or transmitted in batches
as program and/or data components facilitate desired operations.
These stored instruction code signals may engage the CPU circuit
components to perform desired operations. A common type of program
is a computer operating system, which, commonly, is executed by CPU
on a computer; the operating system enables and facilitates users
to access and operate computer information technology and
resources. Common resources employed in information technology
systems include: input and output mechanisms through which data may
pass into and out of a computer; memory storage into which data may
be saved; and processors by which information may be processed.
Often information technology systems are used to collect data for
later retrieval, analysis, and manipulation, commonly, which is
facilitated through a database program. Information technology
systems provide interfaces that allow users to access and operate
various system components.
[0036] In one embodiment, the HMII controller 901 may be connected
to and/or communicate with entities such as, but not limited to:
one or more users from user input devices 911; peripheral devices
912; a cryptographic processor device 928; and/or a communications
network 913.
[0037] Networks are commonly thought to comprise the
interconnection and interoperation of clients, servers, and
intermediary nodes in a graph topology. It should be noted that the
term "server" as used throughout this disclosure refers generally
to a computer, other device, program, or combination thereof that
processes and responds to the requests of remote users across a
communications network. Servers serve their information to
requesting "clients." The term "client" as used herein refers
generally to a computer, other device, program, or combination
thereof that is capable of processing and making requests and
obtaining and processing any responses from servers across a
communications network. A computer, other device, program, or
combination thereof that facilitates, processes information and
requests, and/or furthers the passage of information from a source
user to a destination user is commonly referred to as a "node."
Networks are generally thought to facilitate the transfer of
information from source points to destinations. A node specifically
tasked with furthering the passage of information from a source to
a destination is commonly called a "router." There are many forms
of networks such as Local Area Networks (LANs), Pico networks, Wide
Area Networks (WANs), Wireless Networks (WLANs), etc. For example,
the Internet is generally accepted as being an interconnection of a
multitude of networks whereby remote clients and servers may access
and interoperate with one another.
[0038] The HMII controller 901 may be based on common computer
systems that may comprise, but are not limited to, components such
as: a computer systemization 902 connected to memory 929.
[0039] Computer Systemization
[0040] A computer systemization 902 may comprise a clock 930,
central processing unit (CPU) 903, a read only memory (ROM) 906, a
random access memory (RAM) 905, and/or an interface bus 907, and
most frequently, although not necessarily, are all interconnected
and/or communicating through a system bus 904. Optionally, the
computer systemization may be connected to an internal power source
986. Optionally, a cryptographic processor 926 may be connected to
the system bus. The system clock typically has a crystal oscillator
and provides a base signal. The clock is typically coupled to the
system bus and various clock multipliers that will increase or
decrease the base operating frequency for other components
interconnected in the computer systemization. The clock and various
components in a computer systemization drive signals embodying
information throughout the system. Such transmission and reception
of signals embodying information throughout a computer
systemization may be commonly referred to as communications. These
communicative signals may further be transmitted, received, and the
cause of return and/or reply signal communications beyond the
instant computer systemization to: communications networks, input
devices, other computer systemizations, peripheral devices, and/or
the like. Of course, any of the above components may be connected
directly to one another, connected to the CPU, and/or organized in
numerous variations employed as exemplified by various computer
systems.
[0041] The CPU comprises at least one high-speed data processor
adequate to execute program components for executing user and/or
system-generated requests. The CPU may be a microprocessor such as
AMD's Athlon, Duron and/or Opteron; IBM and/or Motorola's PowerPC;
IBM's and Sony's Cell processor; Intel's Celeron, Itanium, Pentium,
Xeon, and/or XScale; and/or the like processor(s). The CPU
interacts with memory through signal passing through conductive
conduits to execute stored signal program code according to
conventional data processing techniques. Such signal passing
facilitates communication within the HMII controller and beyond
through various interfaces. Should processing requirements dictate
a greater amount speed, parallel, mainframe and/or super-computer
architectures may similarly be employed. Alternatively, should
deployment requirements dictate greater portability, smaller
Personal Digital Assistants (PDAs) may be employed.
[0042] Power Source
[0043] The power source 986 may be of any standard form for
powering small electronic circuit board devices such as the
following power cells: alkaline, lithium hydride, lithium ion,
lithium polymer, nickel cadmium, solar cells, and/or the like.
Other types of AC or DC power sources may be used as well. In the
case of solar cells, in one embodiment, the case provides an
aperture through which the solar cell may capture photonic energy.
The power cell 986 is connected to at least one of the
interconnected subsequent components of the HMII thereby providing
an electric current to all subsequent components. In one example,
the power source 986 is connected to the system bus component 904.
In an alternative embodiment, an outside power source 986 is
provided through a connection across the I/O 908 interface. For
example, a USB and/or IEEE 1394 connection carries both data and
power across the connection and is therefore a suitable source of
power.
[0044] Interface Adapters
[0045] Interface bus(ses) 907 may accept, connect, and/or
communicate to a number of interface adapters, conventionally
although not necessarily in the form of adapter cards, such as but
not limited to: input output interfaces (I/O) 908, storage
interfaces 909, network interfaces 910, and/or the like.
Optionally, cryptographic processor interfaces 927 similarly may be
connected to the interface bus. The interface bus provides for the
communications of interface adapters with one another as well as
with other components of the computer systemization. Interface
adapters are adapted for a compatible interface bus. Interface
adapters conventionally connect to the interface bus via a slot
architecture. Conventional slot architectures may be employed, such
as, but not limited to: Accelerated Graphics Port (AGP), Card Bus,
(Extended) Industry Standard Architecture ((E)ISA), Micro Channel
Architecture (MCA), NuBus, Peripheral Component Interconnect
(Extended) (PCI(X)), PCI Express, Personal Computer Memory Card
International Association (PCMCIA), and/or the like.
[0046] Storage interfaces 909 may accept, communicate, and/or
connect to a number of storage devices such as, but not limited to:
storage devices 914, removable disc devices, and/or the like.
Storage interfaces may employ connection protocols such as, but not
limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet
Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive
Electronics ((E)IDE), Institute of Electrical and Electronics
Engineers (IEEE) 1394, fiber channel, Small Computer Systems
Interface (SCSI), Universal Serial Bus (USB), and/or the like.
[0047] Network interfaces 910 may accept, communicate, and/or
connect to a communications network 913. Through a communications
network 113, the HMII controller is accessible through remote
clients 933b (e.g., computers with web browsers) by users 933a.
Network interfaces may employ connection protocols such as, but not
limited to: direct connect, Ethernet (thick, thin, twisted pair
10/100/1000 Base T, and/or the like), Token Ring, wireless
connection such as IEEE 802.11a-x, and/or the like. A
communications network may be any one and/or the combination of the
following: a direct interconnection; the Internet; a Local Area
Network (LAN); a Metropolitan Area Network (MAN); an Operating
Missions as Nodes on the Internet (OMNI); a secured custom
connection; a Wide Area Network (WAN); a wireless network (e.g.,
employing protocols such as, but not limited to a Wireless
Application Protocol (WAP), I-mode, and/or the like); and/or the
like. A network interface may be regarded as a specialized form of
an input output interface. Further, multiple network interfaces 910
may be used to engage with various communications network types
913. For example, multiple network interfaces may be employed to
allow for the communication over broadcast, multicast, and/or
unicast networks.
[0048] Input Output interfaces (I/O) 908 may accept, communicate,
and/or connect to user input devices 911, peripheral devices 912,
cryptographic processor devices 928, and/or the like. I/O may
employ connection protocols such as, but not limited to: Apple
Desktop Bus (ADB); Apple Desktop Connector (ADC); audio: analog,
digital, monaural, RCA, stereo, and/or the like; IEEE 1394a-b;
infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel;
radio; serial; USB; video interface: BNC, coaxial, composite,
digital, Digital Visual Interface (DVI), RCA, RF antennae, S-Video,
VGA, and/or the like; wireless; and/or the like. A common output
device is a television set 145, which accepts signals from a video
interface. Also, a video display, which typically comprises a
Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based
monitor with an interface (e.g., DVI circuitry and cable) that
accepts signals from a video interface, may be used. The video
interface composites information generated by a computer
systemization and generates video signals based on the composited
information in a video memory frame. Typically, the video interface
provides the composited video information through a video
connection interface that accepts a video display interface (e.g.,
an RCA composite video connector accepting an RCA composite video
cable; a DVI connector accepting a DVI display cable, etc.).
[0049] User input devices 911 may be card readers, dongles, finger
print readers, gloves, graphics tablets, joysticks, keyboards,
mouse (mice), remote controls, retina readers, trackballs,
trackpads, and/or the like.
[0050] Peripheral devices 912 may be connected and/or communicate
to I/O and/or other facilities of the like such as network
interfaces, storage interfaces, and/or the like. Peripheral devices
may be audio devices, cameras, dongles (e.g., for copy protection,
ensuring secure transactions with a digital signature, and/or the
like), external processors (for added functionality), goggles,
microphones, monitors, network interfaces, printers, scanners,
storage devices, video devices, video sources, visors, and/or the
like.
[0051] It should be noted that although user input devices and
peripheral devices may be employed, the HMII controller may be
embodied as an embedded, dedicated, and/or monitor-less (i.e.,
headless) device, wherein access would be provided over a network
interface connection.
[0052] Cryptographic units such as, but not limited to,
microcontrollers, processors 926, interfaces 927, and/or devices
928 may be attached, and/or communicate with the HMII controller. A
MC68HC16 microcontroller, commonly manufactured by Motorola Inc.,
may be used for and/or within cryptographic units. Equivalent
microcontrollers and/or processors may also be used. The MC68HC16
microcontroller utilizes a 16-bit multiply-and-accumulate
instruction in the 16 MHz configuration and requires less than one
second to perform a 512-bit RSA private key operation.
Cryptographic units support the authentication of communications
from interacting agents, as well as allowing for anonymous
transactions. Cryptographic units may also be configured as part of
CPU. Other commercially available specialized cryptographic
processors include VLSI Technology's 33 MHz 6868 or Semaphore
Communications' 40 MHz Roadrunner 184.
[0053] Memory
[0054] Generally, any mechanization and/or embodiment allowing a
processor to affect the storage and/or retrieval of information is
regarded as memory 929. However, memory is a fungible technology
and resource, thus, any number of memory embodiments may be
employed in lieu of or in concert with one another. It is to be
understood that the HMII controller and/or a computer systemization
may employ various forms of memory 929. For example, a computer
systemization may be configured wherein the functionality of
on-chip CPU memory (e.g., registers), RAM, ROM, and any other
storage devices are provided by a paper punch tape or paper punch
card mechanism; of course such an embodiment would result in an
extremely slow rate of operation. In a typical configuration,
memory 929 will include ROM 906, RAM 905, and a storage device 914.
A storage device 914 may be any conventional computer system
storage. Storage devices may include a drum; a (fixed and/or
removable) magnetic disk drive; a magneto-optical drive; an optical
drive (i.e., CD ROM/RAM/Recordable (R), ReWritable (RW), DVD R/RW,
etc.); an array of devices (e.g., Redundant Array of Independent
Disks (RAID)); and/or other devices of the like. Thus, a computer
systemization generally requires and makes use of memory.
[0055] Component Collection
[0056] The memory 929 may contain a collection of program and/or
database components and/or data such as, but not limited to:
operating system component(s) 915 (operating system); information
server component(s) 916 (information server); user interface
component(s) 917 (user interface); Web browser component(s) 918
(Web browser); database(s) 919; mail server component(s) 921; mail
client component(s) 922; cryptographic server component(s) 920
(cryptographic server); the HMII component(s) 935; and/or the like
(i.e., collectively a component collection). These components may
be stored and accessed from the storage devices and/or from storage
devices accessible through an interface bus. Although
non-conventional program components such as those in the component
collection, typically, are stored in a local storage device 914,
they may also be loaded and/or stored in memory such as: peripheral
devices, RAM, remote storage facilities through a communications
network, ROM, various forms of memory, and/or the like.
[0057] Operating System
[0058] The operating system component 915 is an executable program
component facilitating the operation of the HMII controller.
Typically, the operating system facilitates access of I/O, network
interfaces, peripheral devices, storage devices, and/or the like.
The operating system may be a highly fault tolerant, scalable, and
secure system such as: Apple Macintosh OS X (Server); AT&T Plan
9; Be OS; Unix and Unix and Unix-like system distributions (such as
AT&T's UNIX; Berkley Software Distribution (BSD) variations
such as FreeBSD, NetBSD, OpenBSD, and/or the like; Linux
distributions such as Red Hat, Ubuntu, and/or the like); and/or the
like operating systems. However, more limited and/or less secure
operating systems also may be employed such as Apple Macintosh OS,
IBM OS/2, Microsoft DOS, Microsoft Windows
2000/2003/3.1/95/98/CE/Millenium/NT/Vista/XP (Server), Palm OS,
and/or the like. An operating system may communicate to and/or with
other components in a component collection, including itself,
and/or the like. Most frequently, the operating system communicates
with other program components, user interfaces, and/or the like.
For example, the operating system may contain, communicate,
generate, obtain, and/or provide program component, system, user,
and/or data communications, requests, and/or responses. The
operating system, once executed by the CPU, may enable the
interaction with communications networks, data, I/O, peripheral
devices, program components, memory, user input devices, and/or the
like. The operating system may provide communications protocols
that allow the HMII controller to communicate with other entities
through a communications network 913. Various communication
protocols may be used by the HMII controller as a subcarrier
transport mechanism for interaction, such as, but not limited to:
multicast, TCP/IP, UDP, unicast, and/or the like.
[0059] Information Server
[0060] An information server component 916 is a stored program
component that is executed by a CPU. The information server may be
a conventional Internet information server such as, but not limited
to Apache Software Foundation's Apache, Microsoft's Internet
Information Server, and/or the. The information server may allow
for the execution of program components through facilities such as
Active Server Page (ASP), ActiveX, (ANSI) (Objective-) C (++), C#
and/or .NET, Common Gateway Interface (CGI) scripts, Java,
JavaScript, Practical Extraction Report Language (PERL), Hypertext
Pre-Processor (PHP), pipes, Python, WebObjects, and/or the like.
The information server may support secure communications protocols
such as, but not limited to, File Transfer Protocol (FTP);
HyperText Transfer Protocol (HTTP); Secure Hypertext Transfer
Protocol (HTTPS), Secure Socket Layer (SSL), messaging protocols
(e.g., America Online (AOL) Instant Messenger (AIM), Application
Exchange (APEX), ICQ, Internet Relay Chat (IRC), Microsoft Network
(MSN) Messenger Service, Presence and Instant Messaging Protocol
(PRIM), Internet Engineering Task Force's (IETF's) Session
Initiation Protocol (SIP), SIP for Instant Messaging and Presence
Leveraging Extensions (SIMPLE), open XML-based Extensible Messaging
and Presence Protocol (XMPP) (i.e., Jabber or Open Mobile
Alliance's (OMA's) Instant Messaging and Presence Service (IMPS)),
Yahoo! Instant Messenger Service, and/or the like. The information
server provides results in the form of Web pages to Web browsers,
and allows for the manipulated generation of the Web pages through
interaction with other program components. After a Domain Name
System (DNS) resolution portion of an HTTP request is resolved to a
particular information server, the information server resolves
requests for information at specified locations on the HMII
controller based on the remainder of the HTTP request. For example,
a request such as http://123.124.125.126/myInformation.html might
have the IP portion of the request "123.124.125.126" resolved by a
DNS server to an information server at that IP address; that
information server might in turn further parse the http request for
the "/myInformation.html" portion of the request and resolve it to
a location in memory containing the information
"myInformation.html." Additionally, other information serving
protocols may be employed across various ports, e.g., FTP
communications across port 21, and/or the like. An information
server may communicate to and/or with other components in a
component collection, including itself, and/or facilities of the
like. Most frequently, the information server communicates with the
HMII database 919, operating systems, other program components,
user interfaces, Web browsers, and/or the like.
[0061] Access to the HMII database may be achieved through a number
of database bridge mechanisms such as through scripting languages
as enumerated below (e.g., CGI) and through inter-application
communication channels as enumerated below (e.g., CORBA,
WebObjects, etc.). Any data requests through a Web browser are
parsed through the bridge mechanism into appropriate grammars as
required by the HMII. In one embodiment, the information server
would provide a Web form accessible by a Web browser. Entries made
into supplied fields in the Web form are tagged as having been
entered into the particular fields, and parsed as such. The entered
terms are then passed along with the field tags, which act to
instruct the parser to generate queries directed to appropriate
tables and/or fields. In one embodiment, the parser may generate
queries in standard SQL by instantiating a search string with the
proper join/select commands based on the tagged text entries,
wherein the resulting command is provided over the bridge mechanism
to the HMII as a query. Upon generating query results from the
query, the results are passed over the bridge mechanism, and may be
parsed for formatting and generation of a new results Web page by
the bridge mechanism. Such a new results Web page is then provided
to the information server, which may supply it to the requesting
Web browser.
[0062] Also, an information server may contain, communicate,
generate, obtain, and/or provide program component, system, user,
and/or data communications, requests, and/or responses.
[0063] User Interface
[0064] The function of computer interfaces in some respects is
similar to automobile operation interfaces. Automobile operation
interface elements such as steering wheels, gearshifts, and
speedometers facilitate the access, operation, and display of
automobile resources, functionality, and status. Computer
interaction interface elements such as check boxes, cursors, menus,
scrollers, and windows (collectively and commonly referred to as
widgets) similarly facilitate the access, operation, and display of
data and computer hardware and operating system resources,
functionality, and status. Operation interfaces are commonly called
user interfaces. Graphical user interfaces (GUIs) such as the Apple
Macintosh Operating System's Aqua, IBM's OS/2, Microsoft's Windows
2000/2003/3.1/95/98/CE/Millenium/NT/Vista (i.e., Aero)/XP, or
Unix's X-Windows (e.g., which may include additional Unix graphic
interface libraries and layers such as K Desktop Environment (KDE),
mythTV and GNU Network Object Model Environment (GNOME)), provide a
baseline and means of accessing and displaying information
graphically to users.
[0065] A user interface component 917 is a stored program component
that is executed by a CPU. The user interface may be a conventional
graphic user interface as provided by, with, and/or atop operating
systems and/or operating environments such as already discussed.
The user interface may allow for the display, execution,
interaction, manipulation, and/or operation of program components
and/or system facilities through textual and/or graphical
facilities. The user interface provides a facility through which
users may affect, interact, and/or operate a computer system. A
user interface may communicate to and/or with other components in a
component collection, including itself, and/or facilities of the
like. Most frequently, the user interface communicates with
operating systems, other program components, and/or the like. The
user interface may contain, communicate, generate, obtain, and/or
provide program component, system, user, and/or data
communications, requests, and/or responses.
[0066] Web Browser
[0067] A Web browser component 918 is a stored program component
that is executed by a CPU. The Web browser may be a conventional
hypertext viewing application such as Microsoft Internet Explorer
or Netscape Navigator. Secure Web browsing may be supplied with 128
bit (or greater) encryption by way of HTTPS, SSL, and/or the like.
Some Web browsers allow for the execution of program components
through facilities such as Java, JavaScript, ActiveX, web browser
plug-in APIs (e.g., FireFox, Safari Plug-in, and/or the like APIs),
and/or the like. Web browsers and like information access tools may
be integrated into PDAs, cellular telephones, and/or other mobile
devices. A Web browser may communicate to and/or with other
components in a component collection, including itself, and/or
facilities of the like. Most frequently, the Web browser
communicates with information servers, operating systems,
integrated program components (e.g., plug-ins), and/or the like;
e.g., it may contain, communicate, generate, obtain, and/or provide
program component, system, user, and/or data communications,
requests, and/or responses. Of course, in place of a Web browser
and information server, a combined application may be developed to
perform similar functions of both. The combined application would
similarly affect the obtaining and the provision of information to
users, user agents, and/or the like from the HMII enabled nodes.
The combined application may be nugatory on systems employing
standard Web browsers.
[0068] Mail Server
[0069] A mail server component 921 is a stored program component
that is executed by a CPU 903. The mail server may be a
conventional Internet mail server such as, but not limited to
sendmail, Microsoft Exchange, and/or the. The mail server may allow
for the execution of program components through facilities such as
ASP, ActiveX, (ANSI) (Objective-) C (++), C# and/or .NET, CGI
scripts, Java, JavaScript, PERL, PHP, pipes, Python, WebObjects,
and/or the like. The mail server may support communications
protocols such as, but not limited to: Internet message access
protocol (IMAP), Messaging Application Programming Interface
(MAPI)/Microsoft Exchange, post office protocol (POP3), simple mail
transfer protocol (SMTP), and/or the like. The mail server can
route, forward, and process incoming and outgoing mail messages
that have been sent, relayed and/or otherwise traversing through
and/or to the HMII.
[0070] Access to the HMII mail may be achieved through a number of
APIs offered by the individual Web server components and/or the
operating system.
[0071] Also, a mail server may contain, communicate, generate,
obtain, and/or provide program component, system, user, and/or data
communications, requests, information, and/or responses.
[0072] Mail Client
[0073] A mail client component 922 is a stored program component
that is executed by a CPU 903. The mail client may be a
conventional mail viewing application such as Apple Mail, Microsoft
Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla,
Thunderbird, and/or the like. Mail clients may support a number of
transfer protocols, such as: IMAP, Microsoft Exchange, POP3, SMTP,
and/or the like. A mail client may communicate to and/or with other
components in a component collection, including itself, and/or
facilities of the like. Most frequently, the mail client
communicates with mail servers, operating systems, other mail
clients, and/or the like; e.g., it may contain, communicate,
generate, obtain, and/or provide program component, system, user,
and/or data communications, requests, information, and/or
responses. Generally, the mail client provides a facility to
compose and transmit electronic mail messages.
[0074] Cryptographic Server
[0075] A cryptographic server component 920 is a stored program
component that is executed by a CPU 903, cryptographic processor
926, cryptographic processor interface 927, cryptographic processor
device 928, and/or the like. Cryptographic processor interfaces
will allow for expedition of encryption and/or decryption requests
by the cryptographic component; however, the cryptographic
component, alternatively, may run on a conventional CPU. The
cryptographic component allows for the encryption and/or decryption
of provided data. The cryptographic component allows for both
symmetric and asymmetric (e.g., Pretty Good Protection (PGP))
encryption and/or decryption. The cryptographic component may
employ cryptographic techniques such as, but not limited to:
digital certificates (e.g., X.509 authentication framework),
digital signatures, dual signatures, enveloping, password access
protection, public key management, and/or the like. The
cryptographic component will facilitate numerous (encryption and/or
decryption) security protocols such as, but not limited to:
checksum, Data Encryption Standard (DES), Elliptical Curve
Encryption (ECC), International Data Encryption Algorithm (IDEA),
Message Digest 5 (MD5, which is a one way hash function),
passwords, Rivest Cipher (RC5), Rijndael, RSA (which is an Internet
encryption and authentication system that uses an algorithm
developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman),
Secure Hash Algorithm (SHA), Secure Socket Layer (SSL), Secure
Hypertext Transfer Protocol (HTTPS), and/or the like. Employing
such encryption security protocols, the HMII may encrypt all
incoming and/or outgoing communications and may serve as node
within a virtual private network (VPN) with a wider communications
network. The cryptographic component facilitates the process of
"security authorization" whereby access to a resource is inhibited
by a security protocol wherein the cryptographic component effects
authorized access to the secured resource. In addition, the
cryptographic component may provide unique identifiers of content,
e.g., employing and MD5 hash to obtain a unique signature for an
digital audio file. A cryptographic component may communicate to
and/or with other components in a component collection, including
itself, and/or facilities of the like. The cryptographic component
supports encryption schemes allowing for the secure transmission of
information across a communications network to enable the HMII
component to engage in secure transactions if so desired. The
cryptographic component facilitates the secure accessing of
resources on the HMII and facilitates the access of secured
resources on remote systems; i.e., it may act as a client and/or
server of secured resources. Most frequently, the cryptographic
component communicates with information servers, operating systems,
other program components, and/or the like. The cryptographic
component may contain, communicate, generate, obtain, and/or
provide program component, system, user, and/or data
communications, requests, and/or responses.
[0076] The HMII Database
[0077] The HMII database component 919 may be embodied in a
database and its stored data. The database is a stored program
component, which is executed by the CPU; the stored program
component portion configuring the CPU to process the stored data.
The database may be a conventional, fault tolerant, relational,
scalable, secure database such as Oracle or Sybase. Relational
databases are an extension of a flat file. Relational databases
consist of a series of related tables. The tables are
interconnected via a key field. Use of the key field allows the
combination of the tables by indexing against the key field; i.e.,
the key fields act as dimensional pivot points for combining
information from various tables. Relationships generally identify
links maintained between tables by matching primary keys. Primary
keys represent fields that uniquely identify the rows of a table in
a relational database. More precisely, they uniquely identify rows
of a table on the "one" side of a one-to-many relationship.
[0078] Alternatively, the HMII database may be implemented using
various standard data-structures, such as an array, hash, (linked)
list, struct, structured text file (e.g., XML), table, and/or the
like. Such data-structures may be stored in memory and/or in
(structured) files. In another alternative, an object-oriented
database may be used, such as Frontier, ObjectStore, Poet, Zope,
and/or the like. Object databases can include a number of object
collections that are grouped and/or linked together by common
attributes; they may be related to other object collections by some
common attributes. Object-oriented databases perform similarly to
relational databases with the exception that objects are not just
pieces of data but may have other types of functionality
encapsulated within a given object. If the HMII database is
implemented as a data-structure, the use of the HMII database 919
may be integrated into another component such as the HMII component
935. Also, the database may be implemented as a mix of data
structures, objects, and relational structures. Databases may be
consolidated and/or distributed in countless variations through
standard data processing techniques. Portions of databases, e.g.,
tables, may be exported and/or imported and thus decentralized
and/or integrated.
[0079] In one embodiment, the database component 919 includes
several tables 919a-i, which are representative of the schema,
tables, structures, keys, entities and relationships of the
described database. A UNI (e.g., Handle, DOI and/or other UNIs)
table 919a includes fields such as, but not limited to: DOI,
creator name, creator contact information, registration agency,
and/or the like. An URL table 919b includes fields such as, but not
limited to: DOI, multiple resolution identifier, URL, and/or the
like. A metadata table 919c includes fields such as, but not
limited to: DOI, multiple resolution identifier, URL, menu
specification, custom field 1, custom field 2, etc., and/or the
like. A multiple resolution table 919d includes fields such as, but
not limited to: DOI, metadata, and/or the like. A RFID table 919e
includes fields such as, but not limited to: RFID number, DOI,
multiple resolution identifier, GPS coordinates, transaction
number, and/or the like. A menu specification table 919f includes
fields such as, but not limited to: DOI, metadata, multiple
resolution identifier, viewable entry, MultiLink menu
specification, menu label, and/or the like. An personal (DOI
information) table 919g includes fields such as, but not limited
to: DOI, multiple resolution identifier, telephone number, Voice
over IP ID (e.g., the ID user name and password), instant messenger
ID (e.g., the ID user name and password), email, metadata, and/or
the like. A access control table 919h includes fields such as, but
not limited to: DOI, metadata, multiple resolution identifier,
owner, users, control setting, and/or the like. An interlink index
table 919i includes fields such as, but not limited to: DOI,
metadata, multiple resolution identifier, sponsored link status,
number of matched links, number of missing links, number of unknown
links, popularity ranking, and/or the like. A tracker table 919j
includes fields such as, but not limited to: IP address, DOI,
multiple resolution identifier, number of times menu item is
selected, amount of time menu item is considered, number of time
menu item is passed over, and/or the like. All the tables may be
related by (enhanced) DOI key field entries as they are unique.
[0080] In one embodiment, the HMII database may interact with other
database systems. For example, employing a distributed database
system, queries and data access by search HMII component may treat
the combination of the HMII database, an integrated data security
layer database as a single database entity.
[0081] In one embodiment, user programs may contain various user
interface primitives, which may serve to update the HMII. Also,
various accounts may require custom database tables depending upon
the environments and the types of clients the HMII may need to
serve. It should be noted that any unique fields may be designated
as a key field throughout. In an alternative embodiment, these
tables have been decentralized into their own databases and their
respective database controllers (i.e., individual database
controllers for each of the above tables). Employing standard data
processing techniques, one may further distribute the databases
over several computer systemizations and/or storage devices.
Similarly, configurations of the decentralized database controllers
may be varied by consolidating and/or distributing the various
database components 919a-e. The HMII may be configured to keep
track of various settings, inputs, and parameters via database
controllers.
[0082] The HMII database may communicate to and/or with other
components in a component collection, including itself, and/or
facilities of the like. Most frequently, the HMII database
communicates with the HMII component, other program components,
and/or the like. The database may contain, retain, and provide
information regarding other nodes and data.
[0083] The HMIIs
[0084] The HMII component 935 is a stored program component that is
executed by a CPU. In one embodiment, the HMII component
incorporates any and/or all combinations of the aspects of the HMII
that was discussed in the previous figures. As such, the HMII
affects accessing, obtaining and the provision of information,
services, transactions, and/or the like across various
communications networks.
[0085] A HMII database may communicate to and/or with other
components in a component collection, including itself, and/or
facilities of the like. Most frequently, the HMII database
communicates with a HMII component, other program components,
and/or the like. The database may contain, retain, and provide
information regarding other nodes and data.
[0086] The HMII component enabling access of information between
nodes may be developed by employing standard development tools and
languages such as, but not limited to: Apache components, Assembly,
ActiveX, binary executables, (ANSI) (Objective-) C (++), C# and/or
.NET, database adapters, CGI scripts, Java, JavaScript, mapping
tools, procedural and object oriented development tools, PERL, PHP,
Python, shell scripts, SQL commands, web application server
extensions, WebObjects, and/or the like. In one embodiment, the
HMII server employs a cryptographic server to encrypt and decrypt
communications. The HMII component may communicate to and/or with
other components in a component collection, including itself,
and/or facilities of the like. Most frequently, the HMII component
communicates with the HMII database, operating systems, other
program components, and/or the like. The HMII may contain,
communicate, generate, obtain, and/or provide program component,
system, user, and/or data communications, requests, and/or
responses.
[0087] Distributed HMIIs
[0088] The structure and/or operation of any of the HMII node
controller components may be combined, consolidated, and/or
distributed in any number of ways to facilitate development and/or
deployment. Similarly, the component collection may be combined in
any number of ways to facilitate deployment and/or development. To
accomplish this, one may integrate the components into a common
code base or in a facility that can dynamically load the components
on demand in an integrated fashion.
[0089] The component collection may be consolidated and/or
distributed in countless variations through standard data
processing and/or development techniques. Multiple instances of any
one of the program components in the program component collection
may be instantiated on a single node, and/or across numerous nodes
to improve performance through load-balancing and/or
data-processing techniques. Furthermore, single instances may also
be distributed across multiple controllers and/or storage devices;
e.g., databases. All program component instances and controllers
working in concert may do so through standard data processing
communication techniques.
[0090] The configuration of the HMII controller will depend on the
context of system deployment. Factors such as, but not limited to,
the budget, capacity, location, and/or use of the underlying
hardware resources may affect deployment requirements and
configuration. Regardless of if the configuration results in more
consolidated and/or integrated program components, results in a
more distributed series of program components, and/or results in
some combination between a consolidated and distributed
configuration, data may be communicated, obtained, and/or provided.
Instances of components consolidated into a common code base from
the program component collection may communicate, obtain, and/or
provide data. This may be accomplished through intra-application
data processing communication techniques such as, but not limited
to: data referencing (e.g., pointers), internal messaging, object
instance variable communication, shared memory space, variable
passing, and/or the like.
[0091] If component collection components are discrete, separate,
and/or external to one another, then communicating, obtaining,
and/or providing data with and/or to other component components may
be accomplished through inter-application data processing
communication techniques such as, but not limited to: Application
Program Interfaces (API) information passage; (distributed)
Component Object Model ((D)COM), (Distributed) Object Linking and
Embedding ((D)OLE), and/or the like), Common Object Request Broker
Architecture (CORBA), local and remote application program
interfaces Jini, Remote Method Invocation (RMI), process pipes,
shared files, and/or the like. Messages sent between discrete
component components for inter-application communication or within
memory spaces of a singular component for intra-application
communication may be facilitated through the creation and parsing
of a grammar. A grammar may be developed by using standard
development tools such as lex, yacc, XML, and/or the like, which
allow for grammar generation and parsing functionality, which in
turn may form the basis of communication messages within and
between components. Again, the configuration will depend upon the
context of system deployment.
[0092] APPENDICES 1-4 detail aspects of embodiments to generate
APPARATUSES, METHODS AND SYSTEMS FOR HIERARCHICAL MULTIDIMENSIONAL
INFORMATION INTERFACES.
[0093] The entirety of this disclosure (including the Cover Page,
Title, Headings, Field, Background, Summary, Brief Description of
the Drawings, Detailed Description, Claims, Abstract, Figures, and
otherwise) shows by way of illustration various embodiments in
which the claimed inventions may be practiced. The advantages and
features of the disclosure are of a representative sample of
embodiments only, and are not exhaustive and/or exclusive. They are
presented only to assist in understanding and teach the claimed
principles. It should be understood that they are not
representative of all claimed inventions. As such, certain aspects
of the disclosure have not been discussed herein. That alternate
embodiments may not have been presented for a specific portion of
the invention or that further undescribed alternate embodiments may
be available for a portion is not to be considered a disclaimer of
those alternate embodiments. It will be appreciated that many of
those undescribed embodiments incorporate the same principles of
the invention and others are equivalent. Thus, it is to be
understood that other embodiments may be utilized and functional,
logical, organizational, structural and/or topological
modifications may be made without departing from the scope and/or
spirit of the disclosure. As such, all examples and/or embodiments
are deemed to be non-limiting throughout this disclosure. Also, no
inference should be drawn regarding those embodiments discussed
herein relative to those not discussed herein other than it is as
such for purposes of reducing space and repetition. For instance,
it is to be understood that the logical and/or topological
structure of any combination of any program components (a component
collection), other components and/or any present feature sets as
described in the figures and/or throughout are not limited to a
fixed operating order and/or arrangement, but rather, any disclosed
order is exemplary and all equivalents, regardless of order, are
contemplated by the disclosure. Furthermore, it is to be understood
that such features are not limited to serial execution, but rather,
any number of threads, processes, services, servers, and/or the
like that may execute asynchronously, concurrently, in parallel,
simultaneously, synchronously, and/or the like are contemplated by
the disclosure. As such, some of these features may be mutually
contradictory, in that they cannot be simultaneously present in a
single embodiment. Similarly, some features are applicable to one
aspect of the invention, and inapplicable to others. In addition,
the disclosure includes other inventions not presently claimed.
Applicant reserves all rights in those presently unclaimed
inventions including the right to claim such inventions, file
additional applications, continuations, continuations in part,
divisions, and/or the like thereof. As such, it should be
understood that advantages, embodiments, examples, functional,
features, logical, organizational, structural, topological, and/or
other aspects of the disclosure are not to be considered
limitations on the disclosure as defined by the claims or
limitations on equivalents to the claims.
* * * * *
References