Embodiments generally relate to apparatuses, methods, devices, and systems for electronic media processing, and more particularly, to providing remote access to virtual objects abstracted from an electronic document.
Contained herein are materials subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever.
The digital age has brought with it an expanding amount of electronic content in a plurality of media forms. Content providers and content receivers are challenged with organizing the content for convenient access.
Accordingly, it would be an advance in the art of electronic media processing to provide solutions that can help facilitate organization and access to electronic content.
In certain embodiments, an article of manufacture includes a program code to provide remote access to virtual objects abstracted from an electronic document. The programmable code includes steps to effect receiving an electronic document having one or more virtual objects such as a text object, an image object, a sound object, a video object, an interactable graphic object, and a null object. The programmable code includes steps to effect identifying one or more virtual objects comprising the electronic document. The programmable code includes steps to effect forming a corresponding computer readable file encoding a respective virtual object. The programmable code includes steps to effect encoding the corresponding computer readable file in a non-transitory computer readable medium. The programmable code includes steps to effect creating an index referencing the corresponding computer readable file and encoding the index in the non-transitory computer readable medium.
In certain embodiments, a method for annotating a virtual object includes receiving an electronic document having one or more virtual objects, such as: a text object, an image object, a sound object, a video object, an interactable graphic object, and a null object. One or more of the virtual objects that comprise the electronic document are identified. Respective computer readable files are encoded in a non-transitory computer readable medium for corresponding virtual objects. Annotations to one or more virtual objects are received, along with their respective annotation metadata, that are each encoded in the non-transitory computer readable medium in association with the respective computer readable file.
In certain embodiments, a computer program product includes computer readable program code which causes a programmable processor to receive an electronic document having one or more virtual objects, such as a text object, an image object, a sound object, a video object, an interactable graphic object, and a null object. The corresponding metadata associated with the respective virtual objects are also received. The computer readable program code causes the programmable processor to identify one or more of the virtual objects that comprise the electronic document, wherein the identifying further comprises identifying the corresponding virtual object using the respective metadata. The computer readable program code causes the programmable processor to form a corresponding computer readable file encoding the respective virtual object and encoding the corresponding computer readable file in a non-transitory computer readable medium. The computer readable program code causes the programmable processor to create an index referencing the corresponding computer readable files and encoding same in the non-transitory computer readable medium.
The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawings in which like reference designators are used to designate like elements, and in which:
The invention is described in preferred embodiments in the following description with reference to the FIGS., in which like numbers represent the same or similar elements. Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” “in certain embodiments,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment. It is noted that, as used in this description, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise.
The described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are recited to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
In certain embodiments, the computing device 102 is a computing device that is owned and/or operated by a client (“client computing device 102”). Clients are content provides that manage a virtual library such the following entities: a professional organization, a publisher, a university, a professor, a school district, a teacher, a governmental entity, an employer, and the like. In certain embodiments, the computing device 150 is a computing device that is owned and/or operated by a publisher (“publisher computing device 150”). Examples of publishers are content providers, such as a publishing company or author. In certain embodiments, the computing device 106 is a computing device that is owned and/or operated by a host (also “host computing device 106”); and the computing device 116 is a computing device that is owned and/or operated by a user (“user computing device 116”) of the system 100. Examples of users include consumers (e.g., book purchasers), individuals, corporations, magazine subscribers, students, employees, content receivers, and the like.
For the sake of clarity,
In certain embodiments, the computing device 102, computing device 150, the computing device 106, and the computing device 116 are each an article of manufacture. Examples of the article of manufacture include: a server, a mainframe computer, a mobile telephone, a multimedia-enabled smartphone, a tablet computer, a personal digital assistant, a personal computer, a laptop, a set-top box, an MP3 player, an email enabled device, a web enabled device, or other special purpose computer each having one or more processors (e.g., a Central Processing Unit, a Graphical Processing Unit, or a microprocessor) that is configured to execute an algorithm (e.g., a computer readable program or software) to receive data, transmit data, store data, or performing methods. Each computing device 102, 106, 116, and 150 includes a non-transitory computer readable medium having a series of instructions, such as computer readable program steps encoded therein. In certain embodiments, the non-transitory computer readable medium includes one or more data repositories.
By way of illustration and not limitation,
In certain embodiments, the processors 142, 162, and 152 access corresponding Application Program Interfaces (APIs) encoded on the corresponding non-transitory computer readable mediums (143, 163, and 153, respectively), and execute instructions (e.g., 146, 166, and 156, respectively) to electronically communicate with computing device 106, for example. Similarly, the processor 110 accesses the computer readable program code 115, encoded on the non-transitory computer readable medium 111, and executes an instruction 118 to electronically communicate with the computing device 102, 116, and/or 150 via the respective communication fabric. A log 134 is maintained of the data communicated or information about the data communicated (e.g., date and time of transmission, frequency of transmission . . . etc.) with any or all of the computing devices 102, 116, and 150. In certain embodiments, the log is analyzed and/or mined
In certain embodiments, the data repositories 145, 112, 165, and 155 each comprises one or more hard disk drives, tape cartridge libraries, optical disks, combinations thereof, and/or any suitable data storage medium, storing one or more databases, or the components thereof, in a single location or in multiple locations, or as an array such as a Direct Access Storage Device (DASD), redundant array of independent disks (RAID), virtualization device, . . . etc. In certain embodiments, one or more of the data repositories 145, 112, 165, and 155 is structured by a database model, such as a relational model, a hierarchical model, a network model, an entity-relationship model, an object-oriented model, or a combination thereof For example, in certain embodiments, the data repository 112 is structured in a relational model that stores a one or more virtual objects comprising an electronic document.
In certain embodiments, the computing devices 102, 106, 116, and 150 include wired and/or wireless communication devices which can employ various communication protocols including near field (e.g., “Blue Tooth”) and/or far field communication capabilities (e.g., satellite communication or communication to cell sites of a cellular network) that support any number of services such as: telephony, Short Message Service (SIMS) for text messaging, Multimedia Messaging Service (MMS) for transfer of photographs and videos, electronic mail (email) access, or Global Positioning System (GPS) service, for example. In certain embodiments, the computing devices employs hardware and/or software that supports accelerometers, gyroscopes, solid state compasses and the like.
The communication fabrics 104 and 114 comprise one or more switches 130 and 132, respectively. In certain embodiments, the communication fabrics 104 and 114 comprise the Internet, an intranet, an extranet, a storage area network (SAN), a wide area network (WAN), a local area network (LAN), a virtual private network, a satellite communications network an interactive television network, or any combination of the foregoing. The communication fabrics 104 and 114 contain either or both wired or wireless connections for the transmission of signals including electrical connections, magnetic connections, or a combination thereof. Examples of these types of connections include: radio frequency connections, optical connections, telephone links, a Digital Subscriber Line, or a cable link. Moreover, communication fabrics 104 and 114 utilize any of a variety of communication protocols, such as Transmission Control Protocol/Internet Protocol (TCP/IP), for example.
In certain embodiments data is received from one or more computing devices 102, 106, 116, and 150 and stored on the “Cloud” such as a data storage library. Each of the data repositories 145, 112, 165, and 155 has corresponding physical storage devices. In certain embodiments, data storage libraries are configured in a Peer To Peer Remote Copy (“PPRC”) storage system, wherein the data in a first data storage library (e.g., a storage library at data repository 112) is automatically backed up in a second data storage library (e.g., a storage library at data repository 165). In certain embodiments, Applicants' PPRC storage system utilizes synchronous copying. In certain embodiments, Applicants' PPRC storage system utilizes asynchronous copying.
By way of example, in certain embodiments, computing devices 102, 106, 116, and 150 are each communicatively connected to their respective communication fabrics 104, such as a WAN or Internet. In certain embodiments, the computing device 106 provides access to the computing devices 102, 116, and 150 to execute the computer readable program code 115 via a Software as a Service (SaaS) means.
One or more portions of the system 100 can be implemented as a web-based software application. Although not shown, in some embodiments, at least one or more portions of the system 100 can be implemented as a software and/or hardware module that can be locally executed on one or more of the computing devices. In such instances, other functionalities of the system 100 can be accessed via the communication fabrics 104 and 114. For example, a software application locally installed at the user computing device 116 can be used to access at least a portion of the system 100.
In certain embodiments, the system 100 can include a hardware-based module (e.g., a digital signal processor (DSP), a field programmable gate array (FPGA)) and/or a software-based module (e.g., a module of computer code, a set of processor-readable instructions that can be executed at a processor). In some embodiments, one or more of the functions associated with, for example, the system 100 can be performed by different modules and/or combined into one or more modules are locally executable on one or more computing devices 102, 106, 116, and/or 150.
Applicants' computer readable program code 115 is encoded in a non-transitory computer readable medium 111 of a host computing device 106. In certain embodiments, processor 110 executes Applicants' computer readable program code 115 to allow a client and/or a publisher to upload an electronic document including virtual objects, such as uploading the electronic document onto a cloud. The host computing device 106 abstracts the virtual objects from the electronic documents and indexes them such that they are searchable without having to search the entirety of the electronic document. Users, in turn, implement Applicant's computer readable program code 164 on a corresponding user computing device 116 to publically and/or through an exclusive membership, access the client library. The user, in turn, accesses the electronic content in the client library and annotates one or more virtual objects. In certain embodiments, the user, shares the electronic document, the virtual object, and/or the annotations with other users in the system 100.
Referring to
In certain embodiments, the electronic document and the virtual objects in the electronic document are each associated with a respective metadata, which provide information about the corresponding virtual object. Metadata provides descriptive, structural, or administrative information about the respective virtual object. Descriptive metadata is the information used to search and locate the respective virtual object such as title, author, subjects, keywords, publisher; structural metadata gives a description of how the components of the virtual object are organized; and administrative metadata includes technical information such as file type.
Examples of metadata includes data about: means of creation of the electronic document, time of creation of the electronic document, location of a computer network where the electronic document was created, a layout of the electronic document, a name of an author of a virtual object, a length of a text object, a font or language of a text object, a short summary of the text object, a time and date when the text object was last updated, an image caption of an image object, size and resolution of an image object, color depth of an image object, time and date when a sound object was created, a topic of a sound object, a transcript of conversations in a video object, a textual description of scenes in frames of a video object, a location of a null object in a page, and the like.
Referring to
Another means for identifying a virtual object include using a context in the proximity of the virtual object to identify the virtual object. To illustrate, if a text object proximate to an image object is about orthopedic surgery, then the image object is identified as being about orthopedic surgery. Similarly, if a text object has a high frequency of occurrence for a particular word or phrase, the text object is identified based on the highly frequent word or phrase (e.g., if a 500 word text object has the word “surgery” 25 times, then the text object is identified as being about “surgery”). Yet another means for identifying the virtual object is by scanning the virtual object. For example, color scale, shapes, lines, and layout of an image object is detected and the topic of the image object is probabilistically determined to identify the image object. Alternatively, or in combination, at least a portion of the image object is converted to text, such as via Optical character recognition, and the corresponding text is used to identify the image object. Yet another means for identifying virtual object, such as a first virtual object, is by analyzing a second virtual objects or metadata of the second virtual objects that are associated with the first virtual object. For example, if a first virtual object that is an image is associated with a second virtual object that is a video of orthopedic surgery, then the first virtual object that is an image is identified as being about orthopedic surgery. Yet another means for identifying the virtual object is by having editors analyze the electronic document and/or corresponding virtual objects and manually input corresponding data about the same. In yet a further means for identifying the virtual object is by analyzing user comments that are manually entered in association with the electronic document and/or corresponding virtual objects.
In certain embodiments, the host computing device 106 forms corresponding computer readable files encoding each respective virtual object. Here, an (i)th computer readable file encoding an (i)th virtual object is formed. To illustrate, in
Further, in certain embodiments, the corresponding metadata is cataloged in the non-transitory computer readable medium 111. The metadata, as data, is storable and/or manageable. For example, a metadata associated with the video object 307 is stored in the data repository 112, such as a metadata registry, in association with the video object 307. In certain embodiments, the metadata is stored internally, in the same file as the corresponding virtual object or electronic document. Alternatively, or in combination, the metadata is stored externally, in a separate file as the corresponding virtual object or electronic document.
In certain embodiments, the host computing device 106 forms a corresponding identifier for each respective computer readable file. For example, the host computing device 106 forms an (i)th identifier associated with the (i)th computer readable file, which (i)th identifier is then encoded in the non-transitory computer readable medium 111. In certain embodiments, the (i)th identifier is also associated with the corresponding (i)th metadata of the (i)th virtual object.
The host computing device 106 indexes each computer readable file. For example, the host computing device 106 creates an index 316 referencing the (i)th computer readable file, such as the computer readable file 306 of the video object 307. To illustrate, the index 316 includes: keywords that describe the video object 307, the name of the videographer that created the video object 307, a date of creation of the video object 307, the electronic document that the video object 307 originated from a category of the video object 307 (e.g., “orthopedic”), and the like. In certain embodiments, the index 316 is based on data in the corresponding metadata associated with the virtual object. The index 316 is, in turn, encoded in the non-transitory computer readable medium 111.
The index 316 is searchable. In certain embodiments, the index 316 allows searches of individual virtual objects without having to search the electronic document from which the virtual object was abstracted. To illustrate, if a first user utilizes a first user computing device 116(a) to request a search for “orthopedic video”; the host computing device 106, searches the index 316 using the search query “orthopedic video” to find the match computer readable file 308. Here, the host computing device 106 need not search the entire electronic document to find the match “orthopedic video.” Similarly, the host computing device 106 need not search an index associated with the entire electronic document, which might not have any keywords or data associated with the orthopedic video embedded in the electronic document that matches the query. Referring to
Access to the matching computer readable file depends on an access right of the user. For example, a client managing a client library dictates which users have access to corresponding computer readable files, virtual objects, electronic documents, and/or indices stored in association with the client library of the client. In the above example, if the first user requesting access to a computer readable file stored in association with a client library does not have access rights given by the client, then the first user will not be provided the corresponding requested computer readable files, virtual objects, electronic documents, and/or indices. Alternatively, if the first user requesting access to a computer readable file stored in association with a client library does have access rights given by the client, then the first user will be provided the corresponding requested computer readable files, virtual objects, electronic documents, and/or indices. To illustrate, if the client is a trade association, and a user that is a nonmember of the trade association requests a trade journal, the user will be denied access to the trade journal or its component virtual objects. In another example, if a corresponding electronic document or virtual object is for sale, the user does not have access rights until the user purchases electronic document or virtual object. the In certain embodiments, the host computing device 106 verifies the user's access rights by accessing a client's database of authorized users.
In certain embodiments, one or more users annotate the electronic document and/or its associated virtual objects with annotations, which are themselves virtual objects. In
For example, the first user requests access to the video object 204 (
In certain embodiments, the user further indicates portions of the virtual object that are to be associated with respective annotations. In the example above, and referring to
Referring back to
In certain embodiments, the first user shares one or more of the electronic documents, corresponding virtual objects, corresponding computer readable files and/or corresponding annotations with a second user. In the above example, the user requests to share, the sound recording of the heart murmur with a second user that has the user computing device 116(b). The host computing device 106, in turn, sends to the second user the associated sound object computer readable file 412, based on the access rights of the second user. For example, the host computing device 106 validates the second user as a member of the professional association of the client prior to sending the computer readable file 412 that was encoded in the client library of the professional association.
In certain embodiments, the first and second users interchange data, either through the host computing device 106 or directly regarding the electronic document, corresponding virtual objects, corresponding computer readable files and/or corresponding annotations. For example, the users exchange annotations, or converse through a “chat” environment, about regarding the electronic document, corresponding virtual objects, corresponding computer readable files and/or corresponding annotations. For example, the non-transitory computer readable mediums 163(a) and 163(b), respectively of the user computing device 116(a) and 116(b) each have encoded Applicants' computer readable program code 164(a) and 164(b). The encoded program code 164(a) and 164(b) allows them to communicate with one another regarding the electronic document, corresponding virtual objects, corresponding computer readable files and/or corresponding annotations.
Referring to
At step 604, the host computing device 106 identifies the virtual objects comprising the PDF. For example, corresponding metadata is used to identify the respective virtual objects comprising the PDF. If the publisher has requested that the PDF file be associated with a client library of a client, the host computing device 106 requests authorization from the client to associate the PDF with the client library. To illustrate, the client accesses an account of the client via a website of the host computing device 106. The website includes an alert that a publisher wishes to associate a PDF document with the client's client library. The client reviews the PDF and determines whether to provide or decline authorization. If the client declines authorization method 600 is terminated for that publisher. Alternatively, if the client provides authorization, or a user is merely uploading a document to a user library which does not require client authorization, method 600 moves from step 604 to step 606.
At step 606, the host computing device 106 forms corresponding computer readable files encoding the respective virtual objects. At steps 608 and 610, corresponding identifiers for the respective computer readable files are each formed and encoded, along with the corresponding computer readable files, in non-transitory computer readable medium 111. At step 612, the host computing device creates an index referencing the corresponding computer readable files and encodes the index in the non-transitory computer readable medium 111.
At step 614, the host computing device 106 searches the index using a search query. For example, a client uses an API stored on the client computing device 102 to access the PDF encoded in association with the client library. The client, in turn, requests a search and inputs the search query. Alternatively, the user utilizes an API stored on the user computing device 116 to access the host computing device 106 and requests the search. At step 616, the host computing device 106, in turn, conducts the requested search using the search query and identifies a matching computer readable file that is then provided to the query maker. In certain embodiments, the matching computer readable file is provided to those with access authority, such as members of a professional organization that manages the corresponding client library.
At step 618, the host computing device 106 receives an annotation to one or more virtual objects of the PDF. For example, a user uses the API on the user computing device 116 to create a sound file commenting on a text object. The sound file annotation is, in turn, sent to the host computing device 106. In certain embodiments, the annotation has a respective metadata which is also sent to the host computing device 106.
At step 6202, the received annotation and corresponding metadata are encoded in the non-transitory computer medium 111 in association with the respective computer readable file (the text object in the above example). At step 622, the user requests to share the electronic file and/or annotation with another user. The host computing device 106 provides the electronic file and/or annotation to the other user based on, for example, the access rights of the other user. To illustrate, if the other user is not a member of the professional association managing the client file the PDF is encoded under, the other user will be denied access.
Referring to
Referring back to
Once logged in, the computing device renders the Logged in UI 1100 of
Referring to
Referring to
In certain embodiments, specialized virtual libraries are created by the client and/or the user. To illustrate, the client the American Society of Aesthetic Plastics Surgery (ASAPS) creates the plastic surgery virtual library 1404 that is, in turn, accessible to users that are members of the American Society of Aesthetic Plastics Surgery via plastic surgery links 1406 rendered on corresponding user computing devices 116.
Referring to
In certain embodiments, Products Used 1514 leads to data about instruments, apparatuses, or pharmaceuticals, that are recommend or used within the field of plastic surgery. For example, manufactures of medical instruments or pharmaceuticals are publishers that provide brochures, product ratings, product alerts, and contact information to the host computing device 106 that is then associated with the corresponding client library. The host computing device 106 implements code to store the data received from the publisher in the data repository 112 in association with the Plastic Surgery virtual library that is accessible to users via the Products Used 1514 link of
In certain embodiments, the data accessible via Products Used 1514 is tailored to the user. For example, if members of the ASAPS that live in a 85028 area code utilize a first manufacturer's instruments more frequently than one made by a second manufacturer, then data about the first manufacture's instruments may appear first in a list of instruments rendered to the user. Other user tailored content is also contemplated, for example, a date range for a future visit from the manufacturer's representative is rendered to a user. Here, the Products Used UI (not shown) allows scheduling of a visit from the representative with the user, interactive Q/A between the user and the representative, or the user may request particular presentations from the representative.
Referring back to
Further data about the Medical Journals 1504 is accessible by selecting slide out drawer 1520, which leads to a Custom View UI 1600 of
Referring to
In the example depicted in
In certain embodiments, the user annotates the electronic documents in a virtual library. Referring back to
Referring to
In
Referring to
In certain embodiments, the user adds notes to the content in a binder. In
Referring to
In certain embodiments, the user views the electronic content in the list even if the electronic content has not been licensed or purchased by the user. To illustrate, in
To illustrate and referring to
In certain embodiments, the user can create her own interactive literature by uploading an electronic document with virtual objects and having the host computing device 106 associated video, audio and photos or slideshows or objects with selected regions or points on a page of the uploaded PDF. The multimedia content, in turn, is accessible via a link associated with a region of the page that activates a function to render the associated multimedia. Consequently, the user is able to make her own interactive documents that are remotely stored (e.g., at the data repository 118 of
In certain embodiments, the electronic content is stored in a relational database that associates relevant electronic content and organizes them into virtual libraries that can include text books, profession specialty manual, journals, magazines, and the like. Custom views allow access to virtual libraries. Clients, publishers, and/or users create categories and/or subcategories in the virtual libraries and associates content, such as multimedia notes or reviews, to the respective electronic content in the virtual libraries. In certain embodiments, the user creates binders that include portions of content, across virtual libraries, in topical files.
In certain embodiments, the user can self publishes electronic content and make the self publication available to other users of the system 100 of
The described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the above description, numerous specific details are recited to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The schematic flow chart diagrams included are generally set forth as a logical flow-chart diagrams (e.g.,
In certain embodiments, individual steps recited in various processes are combined, eliminated, or reordered. In certain embodiments, the computer readable program code described resides in any other computer program product, where that computer readable program code is executed by a computer external to, or internal to, system 100 (
Examples of computer readable program code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments may be implemented using Java, C++, or other programming languages (e.g., object-oriented programming languages) and development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The embodiments described herein can include various combinations and/or sub-combinations of the functions, components and/or features of the different embodiments described. For example, multiple, distributed qualification processing systems can be configured to operate in parallel.
Although the present invention has been described in detail with reference to certain embodiments, one skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which have been presented for purposes of illustration and not of limitation. Therefore, the scope of the appended claims should not be limited to the description of the embodiments contained herein.
This application claims priority to, and the benefit of, U.S. Patent Application Ser. No. 61/481,650, entitled “Electronic Media Rendition,” filed May 2, 2011, the entire contents of which are incorporated herein by reference; and this application also claims priority to and the benefit of U.S. Patent Application Ser. No. 61/507,546, entitled “Access To Annotated Digital File Via A Network,” filed Jul. 13, 2011, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61481650 | May 2011 | US | |
61507546 | Jul 2011 | US |