Traditional textbooks used in a college or a university setting are typically expensive. As a result, students attempt to save money by purchasing digital editions of their textbooks, which are referred to as e-textbooks, online. Several online merchants are available that enable students to purchase traditional textbooks, e-books, and e-textbooks online. Some of these online merchants may permit students to copy and print specific e-textbooks, up to a specific limit, when purchasing their e-textbooks. Another specific online merchant also sells e-books and e-textbooks, online magazines, and online newspapers through their app.
All these online merchants require an individual to purchase an e-book individually. This means that a student must purchase each and every e-textbook he or she needs separately from one another. The costs associated with purchasing multiple e-textbooks may become cost-prohibitive for a student, especially if he or she is taking a full course load or additional classes.
Other drawbacks when purchasing e-books online are that e-books sold by some online merchants currently do not offer a virtual or animated two-page flip feature, which provides a realistic page-flipping feature that mimics both the look and sound of turning pages of a traditional book. Further, no online merchants allow users to mark or annotate the e-book online. As a result some students may become frustrated when viewing their study materials online because they cannot make notes or highlight pages within their e-textbook as they would using a traditional textbook while studying.
A solution that provides access to e-books in a more cost-effective manner is thus needed.
In one embodiment, an online streaming platform is disclosed. The online streaming platform includes a plurality of cloud servers storing subscriber information and a plurality of storage servers in communication with the plurality of cloud servers. At least one of the storage servers stores a e-textbook library containing the contents of a plurality of e-books. The online streaming platform allows for subscribers to access a fixed number of e-books within the e-textbook library for a fee that is paid on a periodic basis.
In another embodiment, a system for preventing a subscriber from reproducing text displayed upon a screen of a client device is disclosed. The system comprises at least one processor and a memory coupled to the processors. The memory stores data comprising program code that, when executed by the one or more processors, causes the system to monitor an area of the screen of the client device that is located outside of a window's margins. The window is a separate viewing area on the screen of the client device. The window contains a plurality of characters oriented along an axis. The system is further caused to determine if a subscriber has selected text on the area of the screen located outside of the window's margins using a selector. In response to determining that the subscriber has selected text outside of the window's margin, the system is caused to invert the plurality of characters oriented along the axis.
In another embodiment, a system for preventing a subscriber from reproducing text displayed upon a screen of a client device is disclosed. The system comprises at least one processor and a memory coupled to the processors. The memory stores data comprising program code that, when executed by the one or more processors, causes the system to monitor an area of the screen of the client device that is located outside of a window's margins. The window is a separate viewing area on the screen of the client device. The window contains a plurality of characters. The system is further caused to determine if a subscriber has selected text on the area of the screen located outside of the window's margins using a selector. In response to determining that the subscriber has selected text outside of the window's margin, the system is caused to remove the characters from the window so that the window appears blank.
In another embodiment, a system for preventing a subscriber from photographing a display of a client device by another electronic device is disclosed. The system includes at least one processor and a memory coupled to the processors. The memory stores data comprising program code that, when executed by the one or more processors, causes the system to send data to the client device to refresh the display at a predetermined rate, where the predetermined rate is higher than about 60 Hz.
The inventive systems and methods effect improvement in online systems for electronic publications by providing an online platform where publishers stream the electronic publications, such as e-books, to users for a subscription fee. The e-books are not saved or downloaded to the subscriber's electronic device. Instead, the e-books are stored using a cloud-based approach, and the subscriber's device acts as a thin client that has continual access to the cloud. The online platform also includes a copyright protection feature that prevents the subscriber from printing, taking screen shots, copying and pasting text, or taking photographs of the pages of an e-textbook using a camera. The screen may be, e.g., a light emitting diode (LED) display or a liquid crystal display (LCD). Where exemplary embodiments reference purchasing e-textbooks for university use, it will be appreciated that the invention is not limited to an academic environment or to e-textbooks, and also encompasses e-books, online magazines, periodicals, newspapers, etc.
The online streaming platform allows subscribers to access a fixed number of e-textbooks within an e-textbook library for a fee paid on a periodic basis. The library stores numerous e-books that may be presented based on title, author, publishing company, or International Standard Book Number (ISBN). The fixed number of books may depend on the specific fee paid by a subscriber, where a higher fee enables a user to access more e-textbooks. For example, in one approach the subscriber may be able to purchase access to either four, six, or ten e-textbooks as part of the subscription to the online streaming platform. However, it should be appreciated that a subscriber may choose to access a different number of e-textbooks.
The online streaming platform allows a user to access to multiple e-textbooks, without needing to actually purchase each e-book individually. Thus, subscribers may save money by only accessing the e-textbooks when needed, instead of purchasing multiple e-textbooks or traditional textbooks. Where exemplary embodiments may reference a periodic amount of time expressed on a monthly basis, it should be appreciated that the invention is not so limited and may be based on other periodic amounts of time such as, e.g., hourly, weekly, quarterly, or a semester basis.
In one approach, the subscription that allows access to the e-textbook library begins on the day the subscriber submits payment for the subscription service. In another approach, the subscription may allow for access to the e-textbook library on the first day of registration for an academic year granted that the subscriber has made payment. In one embodiment, the subscription may be reset on a periodic basis. For example, the subscription service may be reset every month or on a semester basis. Once the subscription is reset, a different set of e-textbooks may be selected for user access. Thus, a student is able to select different e-textbooks based on the classes that are taken per semester.
In one approach, a subscriber may purchase limited access to the library. The limited access may allow the subscriber to only view selected portions of an e-book. For example, the subscriber may only be able to view selected chapters from the e-book. Alternatively or in addition to the ability to view only a portion of the e-book, the limited access may also allow the subscriber to only access the e-book for a certain amount of time such as, e.g., a few hours or a day. For example, the subscriber may be only able to view the book for six hours.
The online streaming platform may also display the e-textbooks using an animated two-page flip feature that mimics both the look and sound of turning pages of a traditional paper-bound book. The animated two-page flip feature may enable a user to view more than one page at a time on a Graphical User Interface (GUI). The online streaming platform may also allow subscribers to modify the appearance or annotate the pages of the e-textbook. Specifically, a subscriber may highlight text or pictures (in different colors), mark or tab pages, or make text notes on the pages of the e-textbook. The changes to the e-book will be saved so if the subscriber logs off the online streaming platform, the annotations made to the e-textbook will still be available once the subscriber logs back into the online streaming platform.
A database management system 112 may be installed on one or more of the cloud servers 110. The database management system 112 may be a relational database management system (RDBMS) such as, for example, a Structured Query Language (SQL) server. The database management system 112 may be accessed through command line inputs by a developer, and hold specific information pertaining to the online streaming platform 100. Specifically, the database management system 112 may store information pertaining to users who have subscribed to the online streaming platform 100. For example, the database management system 112 may store information such as, but not limited to, the subscriber username and associated password, the subscriber email address, the e-books that the subscriber has selected for access, and subscriber payment status. The database management system 112 may also store account data associated with the e-book publishers.
The online streaming platform 100 may include storage servers (“Amazon S3 servers”) 120 in communication with one or more of the cloud servers 110 through an encrypted connection 122. Specifically, in one approach a Secure Shell (SSH) link may be used to provide secure communication between the storage servers 120 and the cloud servers 110. Those of ordinary skill in the art will appreciate that in one approach PuTTY, which is open-source terminal emulator, serial console and network file transfer application, creates a command line based interface that may be used by a developer to gain access to the cloud servers 110. Files and codes saved on the cloud servers 110 may be viewed, relocated, deleted, and changed, along with permission and ownership of selected files. Alternatively, in another approach WinSCP (Windows Secure Copy) may be used to provide secure communication between the storage servers 120 and the cloud servers 110 based a graphical user interface. Further, files and code saved on the cloud servers 110 may be viewed, relocated, deleted, and changed more easily than with PuTTY, as long as the developer has permission to make these changes. However, permission and ownership of some files saved on the cloud servers 110 may not be changed using this interface.
The storage servers 120 may be used as an e-textbook library to store the electronic data associated with all the e-books that are available for access through the online streaming platform 100. In one embodiment, the online streaming platform 100 may be viewed upon a GUI 130 of a subscriber's device 102. The device 102 may be, but is not limited to, a smartphone, laptop computer, e-reader, or tablet. The e-books stored within the e-textbook library may be previewed upon the GUI 130 of a subscriber's device 102.
Those of ordinary skill in the art will appreciate that hypertext markup language (HTML) and cascading style sheet (CSS) may be used to create the appearance of the preview upon the GUI 130 of the subscriber's client device 102. In one embodiment, all the e-books stored within the e-textbook library may be viewed in rows, where a user may mouse or hover over a particular e-book in order to preview the contents of a book, such as the book cover, title, author, and ISBN. Those of ordinary skill in the art will appreciate that structured query language (SQL), and/or hypertext preprocessor (PHP) may be used to generate the preview. A user may scroll left and right, and may be able to select buttons such as “more” or “all” to view various books. In one embodiment, the e-books may be arranged by subject matter (e.g., chemistry, physics, etc.), however it is to be appreciated that the e-books may be arranged by other features as well, e.g., title, author, or ISBN. Those of ordinary skill in the art will appreciate that JavaScript may be used to enable a subscriber to scroll through the preview and hover over particular books to obtain a preview. JavaScript may also be used to allow a subscriber to add one or more of the e-books from the e-book library to the subscriber's list of selected materials, which may be saved on a desk feature, which is explained in greater detail below. The user may be able to access the e-books saved on the desk feature.
The desk feature may be a webpage that displays a list of the e-books that the subscriber has selected within the e-textbook library. It is to be appreciated that the subscriber is allowed access a fixed number of e-books within the e-textbook library based on the fees paid. The number of e-books that a subscriber may access and place on the desk feature depend on the specific fee paid by a subscriber, where a higher fee enables a user to access and list more e-books on the desk feature. The subscriber may also modify, change, or swap various e-books that are listed on the desk feature. In one embodiment, the desk feature may track metadata associated with each e-book in order to determine information such as how long the e-book was accessed by the subscriber for reading. Those of ordinary skill in the art will appreciate that Java may be used to track the metadata associated with the e-book.
The online streaming platform 100 allows access to multiple e-books stored within the e-textbook library. However, the e-books remain stored on the storage servers 120, and are not downloadable or otherwise able to be saved to memory of the client devices 102. Further, as subsequently disclosed, the online streaming platform 100 also includes a copyright protection feature that prevents the subscriber from printing, taking screen shots, copying and pasting text, or taking photographs of the GUI 130 using a camera. This is because the subscriber is merely being granted access to an e-book at a lower price than actually purchasing the e-book outright. The fees for accessing the e-books may be paid on periodic basis to maintain access to the e-textbook library. Payment of the fees may be made in the form of an online transaction, where a subscriber's credit card or payment information may be sent over the encrypted connection 122 of the online streaming platform 100. Once payment information is accepted, access to the e-textbook library is granted. Functions, e.g., highlighting, taking notes and bookmarking are all stored on the server with a user's account. The user might be able to view some resources such as saved notes without a paid account, but would be limited to viewing a previously saved note. None of these functions are saved on the user's local device.
In
A line 4 is shown in phantom line, and is substantially perpendicular to a line A, which connects points 3 and 4 together. A circle C is drawn, where a midpoint of the circle C is located at point 2, and a circumference of the circle C intersects points 1 and 3. A radius of the circle C is equal to a length L of one of the pages 150, 151, 152. The pages 150, 151, 152 may rotate as they are being turned, where rotation begins at: (isUp)*90+(offset), and ends at: −(isUp)*90+(offset). The offset is determined by the specific corner of one of the pages 150, 151, 152, where the offset is equal to about 180° if point 3 is located along one of the upper corners of the page 151, and is equal to about 0° if the point 3 is located along one of the bottom corners of the page 151. The term (isUp) is equal to 1 if point 3 is located along one of the upper corners of the page 151, and is equal to −1 if the point 3 is located along one of the bottom corners of the page 141. The circle C indicates the maximum radius that point 1 may move or travel between the pages 151, 152, and 153. It is to be appreciated that only the text and images located within the circle C will be animated by the two-page flip feature and visible as a user turns the pages 151, 152, and 153.
As seen in
Referring to both
In addition to bookmarks, the online streaming platform 100 may also highlight the text or illustrations within any of the e-textbooks the subscriber has selected for access as part of his or her subscription. The highlight may be made in various colors, e.g. yellow, red, or blue. Specifically, a highlight button (not shown) may be visible upon the GUI 130 of the client device 102. The subscriber may select the highlight button and may then select text or an illustration that requires highlighting. An unhighlight button (not shown) may also be visible upon the GUI 130 of the client device 102. The subscriber may select the unhighlight button and may then select text or an illustration that requires highlighting. The highlight and unhighlight buttons are positioned along the GUI 130 of the client device 102 such that the user is able to locate and easily select these buttons.
In one embodiment, a CSS code may be provided for changing the color of a text selector. The text selector is the box that is generated as a user drags the mouse over the text or illustrations on the pages 150, 151, 152 of the e-textbook 152. A JavaScript function instructs the highlight and unhighlight buttons (not illustrated) what functions need to be performed with the selected text. In one embodiment, the text selector includes a default color of blue, where the CSS code may be used to change the color of the text selector from blue to a lighter shade of blue. The CSS may be used to ensure that the color of the text selector remains light blue, regardless of the font of the selected text (i.e., regardless of whether the font is italicized, bolded, etc.).
A function may be created that instructs JavaScript to identify the selected text, and to also put mark tags around the selected text. The mark tags will generate a yellow box around the selected text when the highlight button is selected, which gives the appearance of highlighted text. It is to be appreciated that yellow is merely the default highlight color, and that CSS code may be used to modify the color of the highlight. Furthermore, the CSS code may also be used to create a second set of mark tags, which include generates a white box around the selected text when the highlight button is selected and gives the appearance of unselected text. The second mark tags may be used when the unhighlight button is selected. When a user selects the unhighlight button, the second mark tags activate and place the white box along the highlighted text. Another function may also be created which instructs JavaScript to identify the selected text, and to put the second mark tags around the selected text. However, this action may only be used if the selected text is currently highlighted.
In addition to bookmarks and highlighting, the online streaming platform 100 may further include note taking features. In one embodiment, a user may be able to place text boxes anywhere upon a page of the e-textbook. The text box may include any type of available character or icon. The text boxes may be organized based on any parameter such as, e.g., date, or by alphabet. The purpose of the note taking features are to enable a user to write down any piece of information they may believe is important and quickly access the information as well. Specifically, a text box or note taking button (not shown) may be visible upon the GUI 130 of the client device 102. The subscriber may select the note taking button. A document may then open, which allows for the user to type notes, which may include text or other characters. The notes may then be saved in a folder located on the storage servers 120 (
Those of ordinary skill in the art will appreciate that JavaScript may be used to generate the copyright protection features. The C++ code will be run from server side and placed as an add-on if needed. This will not be installed on the user's device but rather the user will grant it permission to monitor the PRTSC key prior to having access to the books.
The online streaming platform 100 (
In one approach, the e-textbook may be saved as an ePub file. Those of ordinary skill in the art will readily appreciate that the term ePub stands for an electronic publication. Turning back to
The computer system 200 includes a processor 205, such as any commercially available central processing units offered by Intel, A M D, and Motorola, coupled to a communications channel 210. Communications channel 210 may include any of several types of bus structure such as a system bus, a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures designed to effect communication between various components of the computer system. Dual microprocessors and other multi-processor architectures may also be employed as the processor 205. The computer system 200 further includes an input device 215 such as a keyboard or mouse, an output device 220 such as a LCD, plasma, or LED display, a communications interface 225, a data storage device 230 such as a magnetic or optical (read-only or rewritable) disk, or solid state drive, and memory 235 such as Random Access Memory (RAM), each coupled to the communications channel 210. One skilled in the art recognizes that, although the data storage device 230 and memory 235 are shown as different units, the data storage device 230 and memory 235 may be parts of the same unit, distributed units, virtual memory, etc., and that the term “memory” as used herein is intended to cover all data storage media, including ROM and RAM or any memory known by one skilled in the art, whether permanent or temporary. The communications interface 225 may be coupled by wired 258 or wireless 259 interfaces to a cellular telephone network 260, a wireless access point 265, a wide area public network, for example, the Internet 270, and or a local area private network 275, for example an Ethernet LAN. One skilled in the art will readily recognize that data may be transmitted in both wired 258 and wireless 259 interfaces in any number of available protocols. One skilled in the art will recognize that for the purposes of this disclosure, fiber optic transmission of data is a form of wired data transmission, and that wireless data transmission can occur in a wide variety of suitable forms such as acoustic, RF, infrared, and other wireless transmission media.
A basic input/output system (BIOS), containing the basic routines used to transfer information between elements within the computer system 200, such as during start-up, is stored in the data storage device 230 or in memory 235. The data storage device 230 or the memory 235 may also store an operating system 240 such as Microsoft Windows, Linux, Unix, MAC OS, etc. The operating system 240 in the computer system 200 can be any commercially available operating system and/or web client system, and/or open source operating system, covering the spectrum of consumer electronics devices including but not limited to cameras, video recorders, personal media players, televisions, remote controls, etc., as well as all web client systems including commercial and open source platforms providing thin-client access to the cloud. The data storage device 230 or the memory 235 may store a number of other items, including one or more application programs, other program modules, and program data. Embodiments of the invention may also be implemented on platforms and operating systems other than those mentioned. Embodiments of the invention may be written using Java, C++, C, C#, Perl, PHP or any commonly available programing languages.
Computer system 200 may intercommunicate with a wide variety of other devices over networks by way of communications interface 225. Computer system 200 may also include additional components such as additional network connections, additional wireless network connections, additional memory, additional processors, and additional communications interfaces. Programs and data may be received by and stored in computer system 200 in alternative ways. For example, a computer readable storage medium reader 245 for removable media, such as a magnetic disk drive dock, a flash media reader, an optical disk drive, or an interface bus device such as USB, Firewire, or eSATA-linked external drive (for, for example, a flash or so-called ‘thumb drive’), may be coupled to the communications channel 210 for reading a computer readable storage medium 255, such as a magnetic disk drive, a flash card, an optical disk, a flash drive, a portable storage device, or other devices. The communications interface 225 coupled to communications channel 210 can access data stored on the Internet 270. Thus, the computer system 200 may receive programs or data by the computer readable storage medium 250 or by the communications interface 225 for storage on the data storage device 230 of the system itself.
The embodiments shown and described in the specification are only specific embodiments of inventors who are skilled in the art and are not limiting in any way. Therefore, various changes, modifications, or alterations to those embodiments may be made without departing from the spirit of the invention in the scope of the following claims. The references cited are expressly incorporated by reference herein in their entirety.
This application claims priority to U.S. Ser. No. 62/279,299 filed Jan. 15, 2016, which is expressly incorporated by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US17/13276 | 1/13/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62279299 | Jan 2016 | US |