Intelligent document management in computing systems
11263588 · 2022-03-01
Assignee
Inventors
Cpc classification
International classification
G06F16/00
PHYSICS
Abstract
Computer systems, devices, and associated methods of intelligent content management are disclosed herein. In one embodiment, a method includes scanning a document to determine whether one or more words in the document represent a resource in the file management system, the resource being a name of a person or a linked document in the file management system. In response to determining that one or more words in the document represents a resource, the method includes retrieving a resource record corresponding to the resource from a database in the computing system, the resource record having a data field containing data representing a current status of the resource and surfacing, in the document, the retrieved data of the current status of the resource to the user.
Claims
1. A method for content management in a file management system containing multiple documents, the method comprising: scanning a document to determine whether one or more words in the document represent a resource in the file management system based on a machine learning model or one or more user configured rules, the resource having linked data of additional information in the file management system; in response to determining that one or more words in the document represents a resource, creating and storing a resource record corresponding to the resource in a database of the file management system, the resource record having a data field containing data representing a current validity status of the linked data of additional information of the resource; and upon detecting viewing of the document by a reader, retrieving the data in the data fields of the resource record from the database of the file management system corresponding to the resource; and surfacing, in the viewed document, the retrieved data of the current validity status of the resource along with the one or more words to provide to the user, the current validity status of the linked data of additional information of the resource represented by the one or more words.
2. The method of claim 1 wherein creating the resource record includes: outputting an option to create the resource record; and in response to receiving a user input to the option instructing to create the resource record, creating the resource record in the file management system.
3. The method of claim 1 wherein creating the resource record includes: outputting an option to create the resource record; and in response to receiving a user input to the option instructing to create the resource record, prompting a user for a current validity status of the detected resource; and creating the resource record in the file management system, the resource record having the data field containing data representing the current validity status received from the user.
4. The method of claim 1 wherein: the one or more words in the document represents a name of a person; the linked data of additional information includes data representing one or more of a position, location, or title of the person in an organization; and creating the resource record includes creating the resource record having the data field containing data representing a current employment status of the person in the organization.
5. The method of claim 1 wherein: the one or more words in the document represents a name of a person; the linked data of additional information includes data representing one or more of a position, location, or title of the person in an organization; creating the resource record includes creating the resource record having the data field containing data representing a current employment status of the person in the organization; and the method further includes: receiving data from a directory service, the received data indicating an employment status change of the person in the organization; and in response to receiving the data from the directory service, updating the data in the data field of the resource record to reflect the employment status change of the person.
6. The method of claim 1 wherein: the one or more words in the document represents a name of a linked document in the file management system; and creating the resource record includes creating the resource record having a first data field containing data representing a location in the file management system and a second data field containing data representing a current availability status of the linked document at the location in the file management system.
7. The method of claim 1 wherein: the one or more words in the document represents a name of a linked document; creating the resource record includes creating the resource record having a first data field containing data representing a location in the file management system and a second data field containing data representing a current availability status of the linked document at the location in the file management system; and the method further includes: determining whether the linked document is still valid at the location in the file management system; and in response to determining that the linked document is not valid at the location in the file management system, updating the data in the second data filed to indicate that the current availability status of the linked document is invalid.
8. The method of claim 1 wherein: the one or more words in the document represents a name of a linked document; creating the resource record includes creating the resource record having a first data field containing data representing a location in the file management system and a second data field containing data representing a current availability status of the linked document at the location in the file management system; and the method further includes: determining whether the linked document is still valid at the location in the file management system; and in response to determining that the linked document is not valid at the location in the file management system, updating the data in the second data filed to indicate that the current availability status of the linked document is invalid; wherein surfacing the retrieved data includes surfacing the data indicating that the linked document is invalid at the location.
9. The method of claim 1 wherein: the one or more words in the document represents a name of a linked document; creating the resource record includes creating the resource record having a first data field containing data representing a location in the file management system and a second data field containing data representing a current availability status of the linked document at the location in the file management system; surfacing the retrieved data includes surfacing the data indicating that the linked document is invalid at the location; and the method further includes: providing, to the user, one or more suggested documents having content similar to the linked document; and upon receiving a user input selecting one of the suggested documents, updating the first data field in the resource record to contain data representing a location of the selected suggested document.
10. A computing device in a file management system containing multiple documents, the computing device comprising: a processor; and a memory containing instructions executable by the processor to cause the computing device to: scan a document viewed by a user to determine whether one or more words in the document represent a resource in the file management system based on a machine learning model or one or more user configured rules, the resource being a name of a person or a linked document in the file management system; and in response to determining that one or more words in the document represents a resource, retrieve a resource record corresponding to the resource from a database in the computing system, the resource record having a data field containing data representing a current validity status of the resource; determine whether the current validity status of the resource in the retrieved resource record indicates that the resource is valid; and in response to determine that the data representing the current validity status of the resource indicates that the resource is invalid, surface a graphical interface element in the document to the user, the graphical interface element containing an input field for inputting an updated validity status of the resource; and upon receiving an input to the input field, update the data in the data field in the resource record with the received input as the updated validity status of the resource and surfacing, in the document, the data of the updated validity status of the resource along with the one or more words to provide to the user, the updated validity status of the linked data of additional information of the resource represented by the one or more words.
11. The computing device of claim 10 wherein the memory contains additional instructions executable by the processor to cause the computing device to, in response to determine that the data representing the current validity status of the resource indicates that the resource is valid, surface, in the document, the retrieved data of the current validity status of the resource to the user.
12. The computing device of claim 10 wherein the memory contains additional instructions executable by the processor to cause the computing device to: in response to determining that one or more words in the document represents another resource, output an option to create another resource record; and in response to receiving a user input to the option instructing to create the another resource record, creating and storing the another resource record in the file management system.
13. The computing device of claim 10 wherein the memory contains additional instructions executable by the processor to cause the computing device to: in response to determining that one or more words in the document represents a resource, prompt the user for the current validity status of the detected resource; and update the resource record in the file management system with data representing the current validity status received from the user.
14. The computing device of claim 10 wherein: the resource is a name of a person; and the data field in the retrieved resource record contains data representing a current employment status of the person in an organization.
15. The computing device of claim 10 wherein: the resource is a name of a linked document in the file management system; the data field in the retrieved resource record is a first data field; the resource record further includes a second data field containing data representing a location in the file management system; and the first data field contains data representing a current availability status of the linked document at the location in the file management system.
16. The computing device of claim 10 wherein: the resource is a name of a linked document in the file management system; the data field in the retrieved resource record is a first data field; the resource record further includes a second data field containing data representing a location in the file management system; the first data field contains data representing a current availability status of the linked document at the location in the file management system; and the memory contains additional instructions executable by the processor to cause the computing device to: determine whether the linked document is still valid at the location in the file management system; and in response to determining that the linked document is not valid at the location in the file management system, update the data in the second data filed to indicate that the current availability status of the linked document is invalid.
17. A method for intelligent content management in a file management system containing multiple documents, the method comprising: upon detecting viewing of a document in the file management system by a reader, determining whether one or more words in the document represent a resource in the file management system based on a machine learning model or one or more user configured rules, the resource being a name of a person or a linked document in the file management system; and in response to determining that one or more words in the document represents a resource based on a machine learning model or one or more user configured rules, retrieving a resource record corresponding to the resource from a database in the computing system, the resource record having a data field containing data representing a current validity status of the resource; and surfacing, in the document, the retrieved data of the current validity status of the resource along with the one or more words to provide to the user the current validity status of the linked data of additional information of the resource represented by the one or more words.
18. The method of claim 17, further comprising: determining whether the current validity status of the resource in the retrieved resource record indicates that the resource is valid; and in response to determine that the data representing the current validity status of the resource indicates that the resource is invalid, surfacing a graphical interface element in the document to the user, the graphical interface element containing an input field for an updated status of the resource; and upon receiving an input to the input field, updating the data in the data field in the resource record with the updated status of the resource.
19. The method of claim 17 wherein: the resource is a name of a person; and the data field in the resource record contains data representing a current employment status of the person in an organization.
20. The method of claim 17 wherein: the resource is a name of a linked document in the file management system; the data field in the retrieved resource record is a first data field; the resource record further includes a second data field containing data representing a location in the file management system; and the first data field contains data representing a current availability status of the linked document at the location in the file management system.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Certain embodiments of systems, devices, components, modules, routines, data structures, and processes for intelligent document management are described below. In the following description, specific details of components are included to provide a thorough understanding of certain embodiments of the disclosed technology. A person skilled in the relevant art will also understand that the technology can have additional embodiments. The technology can also be practiced without several of the details of the embodiments described below with reference to
(7) As used herein, the term “content item” generally refers to an item of information accessible via a computer network. For example, a content item can include a document file containing text stored in a network repository and accessible via the computer network. The document file can be in plain text format, Word® format, Portable Document Format (“PDF”), Hypertext Markup Language (“HTML”), Extensible Markup Language (“XML”), or other suitable formats. In other examples, a content item can also a file containing images, sounds, videos, or animations in addition to or in lieu of text. In additional examples, a content item can include a website with one or more webpages accessible via the computer network. In further examples, a content item can include a blog site, discussion forum, electronic commerce site, or other suitable types of file.
(8) Also used herein, a “resource” generally refers to a placeholder that has additional linked information in a file management or other suitable types of computing system. In one example, a resource can include a person's name as a placeholder for additional personal information contained in the file management system. In another example, a resource can include a filename corresponding to another document stored in the file management system. In further examples, a resource can include a name of a website/webpage, a name of a team, a name of a team website, a name of an image, or other suitable types of placeholders. In yet further examples, a resource can include other suitable types of Object Linking & Embedding (OLE) objects.
(9) In certain file management systems, current status of information contained in the various documents or content items. The lack of tracking may cause difficulties to readers of the documents for obtaining update-to-date information from the documents. For example, a document regarding a project may contain people's names or filenames of additional documents. As time lapses though, a person referred to by name in the project document may change position, quit, or otherwise no associated with the project document. An additional document referred to by filename in the document may be deleted, moved, or otherwise cannot be located any more. Such change information is typically not tracked. As such, confusions to subsequent readers of the project document may result. The readers may have to spend additional time and effort to clear the confusions, and thus hinder productivity of the readers.
(10) Several embodiments of the disclosed technology can address at least some of the foregoing drawbacks by implementing a resource manager configured to track status of various information or resources contained in or referred to in stored documents, videos, audios, or other types of content items. For example, documents can be scanned for potential resources, and corresponding resource records can be created and stored in a database in the file management system. The resource records can include additional metadata or information regarding the resources such as, for instance, a current status of the resources. Example resources can include “active,” “inactive,” “valid,” “invalid,” “original,” “modified,” “alive,” “dead,” or other suitable types of indicator of state, As such, when a document is surfaced to a reader at a later date, the resource manager can be configured to surface to the reader whether a particular resource (e.g., a linked document or the name of a person) in the document is still valid or available. Thus, the reader no longer must perform due diligence on the status of the resource before utilizing the information associated with the resource. As such, confusions caused by out-of-date information can be reduced to increase productivity of the reader when compared to other file management systems, as described in more detail below with reference to
(11)
(12) As shown in
(13) Even though particular components and associated arrangements of the computing system 100 are shown in
(14) The client devices 102 can individually include a computing device that facilitates access to the resource database 108 via the computer network 104 by members 101 (identified as first, second, and third members 101a-101c). For example, in the illustrative embodiment, the first client device 102a includes a laptop computer. The second client device 102b includes a desktop computer. The third client device 102c includes a tablet computer. In other embodiments, the client devices 102 can also include smartphones or other suitable computing devices. Even though three members 101 are shown in
(15) In certain embodiments, the resource manager 106, the file management server 112, and the web servers 118 can each include one or more interconnected computer servers, as shown in
(16) The web servers 118 can be configured to provide one or more websites or webpages accessible by the members 101 via the computer network 104 to create, retrieve, edit, or perform other suitable operations on the documents 110 in the network storage 114. For example, in one embodiment, the web servers 118 can be configured to provide an enterprise internal website that allows the members 101 to securely exchange information and to cooperate on performing tasks. In other embodiments, the web servers 118 can also be configured to provide a social network website that allows the members 101 to post documents 110, comment on one another's documents 110, share and/or recommend documents 110 with additional members 101, or perform other suitable actions. In certain embodiments, the web servers 118 can also be configured to receive and store the documents 110 in the network storage 114. In other embodiments, the distributed computing system 100 can further include a database server (not shown) or other suitable components configured to perform the foregoing functions.
(17) The file management server 112 can be configured to implement various policies to the documents 110 to facilitate access efficiency, security, or other suitable functions. For example, in one embodiment, the file management server 112 can implement access control policies such that certain class, type, category, or other suitable grouping of the documents 110 can be accessible to the members 101, or access rights of the members 101 to certain document may be granted or revoked by an administrator. In another embodiment, the file management server 112 can also implement file retention policies such that certain class, type, category, or other suitable grouping of the documents 110 can be automatically deleted or purged from the network storage 114. In further embodiments, the file management server 112 can implement other suitable types of policies in order to regulate storing, editing, accessing, purging, or other suitable operations on the documents 110.
(18) The resource manager 106 can be configured to develop resource models 116 useful for identifying resources in the documents 110 in the network storage 114. In certain embodiments, the resource manger 106 can develop the resource models 116 via machine learning, for instance, by utilizing a “neural network,” for recognizing resources of various types in documents. In other embodiments, the resource manager 106 can be configured to recognize resources of various types based on one or more user configured rules or via other suitable techniques. For example, one rule can be configured to identify a linked document by recognizing that a weblink is attached to certain words or phrases in a document. In another example, another rule can be configured to identify a person's name based on character capitalization of successive words in a document, or via look up of an internal member directory. In further implementations, the resource manager 106 can be configured to utilize a combination of the resource models developed using a neural network, user configured rules, and/or other suitable techniques to identify resources of various types in documents.
(19) In certain implementations, the foregoing development of the resource models 116 can be performed by the resource manager 106 via off-peak backend batch processing on the stored documents 110. In other implementations, the foregoing development of the resource models 116 can be performed when the documents 110 are viewed, created, edited, or otherwise in use by the members 101 via real-time or near real-time processing. In further implementations, the development of the resource models 116 can be performed by another component (not shown) of the distributed computing system 100 instead of the resource manager 106. As such, the resource models 116 can be provided to the resource manager 106 for access and utilization in the resource database 108.
(20) The resource manager 106 can also be configured to recognize a resource in a document 110 when a member 101 is viewing the document 110 and provide additional information of the resource to the member 101. For example, in one embodiment, the resource manager 106 can be configured to provide a current status of the resource to the member 101. The current status may indicate that the resource in the document 110 is currently valid, available, accessible, or otherwise up-to-date. The current status may also indicate that the resource in the document 110 is currently invalid, unavailable, inaccessible, or otherwise out-of-date. As such, the member 101 viewing the document 110 can efficiently determine whether information or resources contained in the document 110 is either current or stale. Thus, productivity of utilizing the information in the document 110 may be improved. Certain embodiments of components and functions of the resource manager 106 are described in more detail below with reference to
(21) 2A-2D are schematic diagrams illustrating certain hardware/software components of the distributed computing system 100 of
(22) Components within a system can take different forms within the system. As one example, a system comprising a first component, a second component and a third component can, without limitation, encompass a system that has the first component being a property in source code, the second component being a binary compiled library, and the third component being a thread created at runtime. The computer program, procedure, or process may be compiled into object, intermediate, or machine code and presented for execution by one or more processors of a personal computer, a network server, a laptop computer, a smartphone, and/or other suitable computing devices. Equally, components may include hardware circuitry.
(23) A person of ordinary skill in the art would recognize that hardware may be considered fossilized software, and software may be considered liquefied hardware. As just one example, software instructions in a component may be burned to a Programmable Logic Array circuit or may be designed as a hardware circuit with appropriate integrated circuits. Equally, hardware may be emulated by software. Various implementations of source, intermediate, and/or object code and associated data may be stored in a computer memory that includes read-only memory, random-access memory, magnetic disk storage media, optical storage media, flash memory devices, and/or other suitable computer readable storage media excluding propagated signals.
(24) As shown in
(25) The resource developer 122 can be configured to develop the one or more resource models 116 using various techniques. For example, the resource developer 122 can be configured to utilize machine learning to develop the resource models 106 for recognizing resources of various types in a training set of documents 110′. The training set of documents 110′ includes documents 110′ with previously identified resources. The resource developer 122 can be configured to utilize a “neural network” or “artificial neural network” to “learn” or progressively improve performance of tasks by studying known examples. A neural network can include multiple layers of objects generally refers to as “neurons” or “artificial neurons.” Each neuron can be configured to perform a function, such as a non-linear activation function, based on one or more inputs via corresponding connections. Artificial neurons and connections typically have a contribution value that adjusts as learning proceeds. The contribution value increases or decreases a strength of an input at a connection. The artificial neurons can be organized in layers. Different layers may perform different kinds of transformations on respective inputs. Signals typically travel from an input layer, to an output layer, possibly after traversing one or more intermediate layers. Thus, by using a neural network, the resource developer 122 can provide a set of weights of the corresponding features in the documents 110′ that can be used as one or more resource models 116 for identifying various types of resources in additional documents 110.
(26) In other implementations, the resource developer 122 can be configured to recognize resources of various types based on one or more user configured rules or via other suitable techniques. For example, one rule can be configured to identify a linked document 110 by recognizing that a weblink is attached to certain words or phrases in a document. In another example, another rule can be configured to identify a person's name based on character capitalization of successive words in a document. In further implementations, the resource developer 122 can be configured to utilize a combination of the resource models developed using a neural network, user configured rules, and/or other suitable techniques to identify resources of various types in documents 110. Upon completion of such development, the resource models 116 can then be stored in the network repository for access by other components of the resource manager 106.
(27) As shown in
(28) In the illustrated example, the document 110 includes a project document having multiple words and/or phrases. For example, the document 110 includes a title, i.e., “Project Document” and a sentence in a body section, i.e., “Design specification of project Titan is owned by John Smith.” The resource processor 124 can be configured to scan the words and/or phrases of the document 110 to recognize that one or more of the words and/or phrases correspond to a resource based on the resource models 116. In the illustrated example, a copy of the resource models 116 is transmitted to the client device 102. In other examples, the resource processor 124 can access the resource models 116 via the computer network 104 (
(29) In one embodiment, the resource processor 124 can be configured to detect a resource in the document 110 based on the resource models 116 when, for instance, a member 101 is composing, reading, editing, or perform other suitable actions on the document 110. For instance, in the illustrated example, the resource processor 124 can be configured to identify that the phrase “Design specification of project Titan” and “John Smith” can individually correspond to a resource. Upon detecting one or more words or phrases in the document 110 correspond to a potential resource, the resource processor 124 can be configured to determine whether a resource record 120 corresponding to the detected resource already exists. In one embodiment, the resource processor 124 can query the resource database 108 to determine whether a resource record 120 exists for the identified potential resources. In other embodiments, the resource processor 124 can request the resource manager 106 (or a component thereof) for querying the resource database 108. In further embodiments, a copy of the resource records 120 (or portions thereof) may be stored at the client device 102 to be queried by the resource processor 124.
(30) In response to determining that a resource record 120 does not exist in the resource database 108 for the identified potential resources, the resource processor 124 can be configured to prompt the member 101 for input on whether to create a resource record 120 for the detected resources. For example, as shown in
(31) Did you mean?
(32) John Smith
(33) Engineering Manager
(34) (425)705-8000
(35) and input elements for indicating approval or disapproval, i.e., “Yes” and “No” buttons 138. The second example balloon 136b can include another text output as follows:
(36) Did you mean?
(37) http://document.com/project-titan/design specification.docx
(38) and input elements for indicating approval or disapproval, i.e., “Yes” and “No” buttons 138.
(39) In response to receiving a confirmation from the member 101, for instance, as shown in
(40)
(41) On the other hand, as shown in
(42) Inactive
(43) John has been replaced by Jane Doe
(44) In certain implementations, the resource manager 106 can be configured to obtain such personnel change information by consulting a user directory (not shown) provided by a directory service in the enterprise. In other implementations, the personnel change information may be manually entered or via other suitable techniques. In any of the foregoing implementations, the resource processor 124 can also be configured to provide a history of the resource, for instance, by indicating that another person (e.g., “Jane”) is now a project member in place of the project member who has left, i.e., “John Smith.” The resource processor 124 can also be configured to cause the document editor 103 to output another interface element (illustrated in
(45) Upon receiving the update request 140′, in certain embodiments, the resource updater 128 can be configured to update the resource records 120′ in the resource database 108 to reflect a change in status of the resource, a replacement information, or other suitable types of information. In other embodiments, the resource updater 128 can also be configured to cause changes in the document 110, for example, by substituting “John Smith” with “Jane Doe,” create another resource record 120 corresponding to “Jane,” setting appropriate status values for the created resource record 120, and/or perform other suitable operations. In further embodiments, the resource updater 128 can be configured to make the foregoing changes to all resource records 120 linked to that of “John Smith” and/or documents 110 in the network storage 114 that contains the resource “John Smith.” As such, resources in the document 110 and other documents 110 containing “John Smith” can be updated automatically, as shown in
(46)
(47) The individual record fields can also be linked to additional resource records 120. For example, as shown in
(48) In accordance with embodiments of the disclosed technology, the resource updater 128 (
(49)
(50) As shown in
(51) As shown in
(52)
(53) Depending on the desired configuration, the processor 304 can be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 304 can include one more levels of caching, such as a level-one cache 310 and a level-two cache 312, a processor core 314, and registers 316. An example processor core 314 can include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 318 can also be used with processor 304, or in some implementations memory controller 318 can be an internal part of processor 304.
(54) Depending on the desired configuration, the system memory 306 can be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memory 306 can include an operating system 320, one or more applications 322, and program data 324. This described basic configuration 302 is illustrated by those components within the inner dashed line.
(55) The computing device 300 can have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 302 and any other devices and interfaces. For example, a bus/interface controller 330 can be used to facilitate communications between the basic configuration 302 and one or more data storage devices 332 via a storage interface bus 334. The data storage devices 332 can be removable storage devices 336, non-removable storage devices 338, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. The term “computer readable storage media” or “computer readable storage device” excludes propagated signals and communication media.
(56) The system memory 306, removable storage devices 336, and non-removable storage devices 338 are examples of computer readable storage media. Computer readable storage media include, but not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other media which can be used to store the desired information and which can be accessed by computing device 300. Any such computer readable storage media can be a part of computing device 300. The term “computer readable storage medium” excludes propagated signals and communication media.
(57) The computing device 300 can also include an interface bus 340 for facilitating communication from various interface devices (e.g., output devices 342, peripheral interfaces 344, and communication devices 346) to the basic configuration 302 via bus/interface controller 330. Example output devices 342 include a graphics processing unit 348 and an audio processing unit 350, which can be configured to communicate to various external devices such as a display or speakers via one or more A/V ports 352. Example peripheral interfaces 344 include a serial interface controller 354 or a parallel interface controller 356, which can be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 358. An example communication device 346 includes a network controller 360, which can be arranged to facilitate communications with one or more other computing devices 362 over a network communication link via one or more communication ports 364.
(58) The network communication link can be one example of a communication media. Communication media can typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and can include any information delivery media. A “modulated data signal” can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein can include both storage media and communication media.
(59) The computing device 300 can be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions. The computing device 300 can also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.
(60) Specific embodiments of the technology have been described above for purposes of illustration. However, various modifications can be made without deviating from the foregoing disclosure. In addition, many of the elements of one embodiment can be combined with other embodiments in addition to or in lieu of the elements of the other embodiments. Accordingly, the technology is not limited except as by the appended claims.