US20170139719A1 - Web browser data communication in system booting - Google Patents

Web browser data communication in system booting Download PDF

Info

Publication number
US20170139719A1
US20170139719A1 US15/416,949 US201715416949A US2017139719A1 US 20170139719 A1 US20170139719 A1 US 20170139719A1 US 201715416949 A US201715416949 A US 201715416949A US 2017139719 A1 US2017139719 A1 US 2017139719A1
Authority
US
United States
Prior art keywords
file
host
web browser
operating system
volatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/416,949
Inventor
James Dean Morris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Priority to US15/416,949 priority Critical patent/US20170139719A1/en
Publication of US20170139719A1 publication Critical patent/US20170139719A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • Computer systems typically employ some form of a non-volatile data storage device such as a disk drive, or a solid state drive comprising a non-volatile semiconductor memory such as flash memory.
  • a solid state drive typically emulates a disk drive so that the same communication protocol may be employed. That is, a host typically interfaces with a solid state drive using a standard disk drive communication protocol, such as the Advanced Technology Attachment (ATA) protocol.
  • ATA Advanced Technology Attachment
  • Web browsers store information in configuration files that help facilitate browsing sessions.
  • a website may store a cookie in a browser cookie file, wherein the cookie may include information for authentication and session tracking (state maintenance), or specific information about a user, such as site preferences or the contents of their shopping cart.
  • state maintenance information about a user
  • FIG. 1A shows a data storage device according to an embodiment of the present invention comprising a non-volatile memory and control circuitry.
  • FIG. 1B shows an embodiment wherein the non-volatile memory stores a device operating system and a device application in a protected area inaccessible by the host, and stores a host operating system and browser application in an unprotected area accessible by the host.
  • FIG. 1C is a flow diagram executed by the control circuitry according to an embodiment of the present invention wherein when the host requests the host operating system, the storage device returns the device operating system which loads and executes the device application in order to transmit a web browser file over the Internet.
  • FIG. 2A is a flow diagram according to an embodiment of the present invention wherein the device application scans the file system in the host operating system to find and transmit the web browser file over the Internet.
  • FIG. 2B is a flow diagram according to an embodiment of the present invention wherein the device operating system copies the device application into the unprotected area of the non-volatile memory and modifies the host operating system so that the device application is executed during the boot process.
  • FIG. 3A is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies file.
  • FIG. 3B is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a history file.
  • FIG. 3C is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cache file.
  • FIG. 3D is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a bookmarks file.
  • FIG. 3E is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a security file.
  • FIG. 3F is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a preference file.
  • FIG. 3G shows a web browser window for configuring a list of websites that are blocked from storing cookies on the host system.
  • FIG. 3H is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies configuration file.
  • FIG. 4 shows an embodiment wherein the data storage device comprises a disk drive.
  • FIG. 5 shows an embodiment wherein the data storage device comprises a solid state drive.
  • FIG. 1A shows a data storage device 2 according to an embodiment of the present invention comprising a non-volatile memory 4 having a host operating system stored in an unprotected area of the non-volatile memory, a device operating system stored in a protected area of the non-volatile memory, and a device application operable to transmit a web browser file over the Internet, the device application stored in the protected area of the non-volatile memory ( FIG. 1B ).
  • the data storage device 2 further comprises control circuitry 6 for executing the flow diagram of FIG. 1C .
  • the protected area of the non-volatile memory is inaccessible by the host that boots the host operating system. In this manner, the device operating system and the device application are protected from being modified or disabled by the host. Any suitable technique may be employed to reserve the protected area in the non-volatile memory, such as by reserving a number of data locations and corresponding block addresses for internal use only.
  • Any suitable technique may be employed to return the device operating system instead of the host operating system during the initial boot operation of the data storage device.
  • Suitable techniques are disclosed in U.S. Pat. No. 6,948,165 entitled “METHOD FOR INSTALLING AN APPLICATION PROGRAM TO BE EXECUTED DURING EACH BOOTLOAD OF A COMPUTER SYSTEM FOR PRESENTING A USER WITH CONTENT OPTIONS PRIOR TO CONVENTIONAL SYSTEM STARTUP PRESENTATION WITHOUT REQUIRING A USER'S PARTICIPATION TO INSTALL THE PROGRAM” the disclosure of which is incorporated herein by reference.
  • FIG. 2A is a flow diagram according to an embodiment of the present invention which extends on the flow diagram of FIG. 1C .
  • the device application scans the file system of the host operating system (step 16 ) in order to locate the target web browser file to be transmitted over the Internet (step 14 ).
  • the device application After transmitting the web browser file, the device application generates a reboot command to reboot the host so that the host resends a request to load the host operating system (step 18 ) wherein the data storage device returns the host operating system (step 20 ).
  • the host operating system is loaded, the host operates normally including to execute the web browser application.
  • FIG. 2B is a flow diagram according to an embodiment of the present invention wherein while executing the device operating system (step 10 ) the device application is copied from the protected area of the non-volatile memory to the unprotected area (step 22 ).
  • the host operating system is then modified (step 24 ) so that the device application is executed automatically when the host operating system is loaded and executed.
  • the device application (or alias) may be copied into a startup folder of the host operating system.
  • the device operating system then generates a reboot command to reboot the host so that the host resends a request to load the host operating system (step 26 ).
  • the data storage device returns the host operating system (step 28 ) which then executes the device application (step 30 ) which scans the file system (step 16 ) and transmits the target web browser file over the Internet (step 14 ).
  • any suitable web browser file may be transmitted over the Internet for any suitable web browser (Internet Explorer, Netscape, Safari, Firefox, etc.).
  • FIG. 3A shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies file (step 14 ).
  • the cookies file stores cookies generated by various Internet websites, wherein the cookies may include information for authentication and session tracking (state maintenance), or specific information about a user, such as site preferences or the contents of their shopping cart. Each time the user visits a particular website, or browses through different pages of a website, the corresponding cookie information may be transmitted to the website to facilitate the browsing session.
  • FIG. 3B shows an embodiment of the present invention wherein the browser file transmitted over the Internet comprises a history file (step 14 ).
  • the history file stores information related to the history of the web browser, such as a history of websites visited by the user.
  • FIG. 3C shows an embodiment of the present invention wherein the browser file transmitted over the Internet comprises a cache file (step 14 ).
  • the cache file stores content related to websites visited by the user, such as the content of various web pages visited by the user.
  • FIG. 3D shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a bookmarks file (step 14 ).
  • the bookmarks file stores a list of website addresses for quick access by the user during Internet browsing sessions.
  • the bookmarks may be displayed in any suitable manner, such as in a drop-down menu or in a toolbar of the web browser.
  • FIG. 3E shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a security file (step 14 ).
  • the security file may store configuration information for enabling/disabling certain security features of a web browser, such as enabling/disabling various program components (e.g., Java, .NET, ActiveX, etc.) that a website may attempt to download and run on the host computer together with the standard HTML scripts.
  • the security file may store security certificates which enable secure communication between a website and the web browser over the Internet.
  • the security file comprises a list of websites having a particular security configuration.
  • FIG. 3F shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a preference file (step 14 ).
  • the preference file may store configuration information, such as the address of a website displayed initially (the homepage) when the web browser is first launched.
  • FIG. 3G shows a dialog window displayed from a web browser for enabling/disabling cookies for selected websites. For example, if a user wants to block all cookies generated by a particular website, the user enters the address of the website and selects the “Block” button which adds the website address to the list of blocked websites.
  • the list of website addresses and access setting is typically stored in a cookies exclusion file (a configuration file) for the web browser.
  • FIG. 3H is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies configuration file such as the cookies exclusion file (step 14 ).
  • FIG. 4 shows a data storage device comprising a disk drive including a head 34 actuated over a disk 36 and control circuitry 38 for executing the flow diagrams described herein.
  • FIG. 5 shows a solid state drive comprising a plurality of non-volatile semiconductor memories 40 A, 40 B, etc., such as flash memories, and control circuitry 42 for executing the flow diagrams described herein.
  • a hybrid data storage device may also be employed comprising components of a disk drive shown in FIG. 4 combined with the non-volatile semiconductor memories shown in FIG. 5 .
  • control circuitry may be employed to implement the flow diagrams in the embodiments of the present invention, such as any suitable integrated circuit or circuits.
  • the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein.
  • the instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a system on a chip (SOC). In another embodiment, the instructions are read into a volatile semiconductor memory when the data storage device is powered on.
  • the control circuitry comprises suitable logic circuitry, such as state machine circuitry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

A device includes a non-volatile memory storing a host operating system, a web browser application, a device operating system, and a device application, and control circuitry operable to receive a first request from a host to load the host operating system, provide the device operating system to the host in response to the first request, and receive a second request from the host to load the device application. The device application is configured to transmit a web browser file for the web browser application over the Internet, and generate a host reboot command after transmitting the web browser file.

Description

    RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 12/534,076, filed on Jul. 31, 2009, entitled AUTOMATICALLY TRANSMITTING A WEB BROWSER FILE OVER THE INTERNET WHEN BOOTING AN OPERATING SYSTEM FROM A DATA STORAGE DEVICE, the disclosure of which is hereby incorporated by reference in its entirety.
  • BACKGROUND Description of Related Art
  • Computer systems (e.g., desktops, laptops, portables, etc) typically employ some form of a non-volatile data storage device such as a disk drive, or a solid state drive comprising a non-volatile semiconductor memory such as flash memory. A solid state drive typically emulates a disk drive so that the same communication protocol may be employed. That is, a host typically interfaces with a solid state drive using a standard disk drive communication protocol, such as the Advanced Technology Attachment (ATA) protocol.
  • Computer systems typically allow access to the Internet using a standard web browser (Internet Explorer, Safari, Firefox, etc.) and therefore have become significant platforms for consumer transactions and advertising. Web browsers store information in configuration files that help facilitate browsing sessions. For example, a website may store a cookie in a browser cookie file, wherein the cookie may include information for authentication and session tracking (state maintenance), or specific information about a user, such as site preferences or the contents of their shopping cart. Each time the user visits a particular website, or browses through different pages of a website, the corresponding cookie information may be transmitted to the website to facilitate the browsing session.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1A shows a data storage device according to an embodiment of the present invention comprising a non-volatile memory and control circuitry.
  • FIG. 1B shows an embodiment wherein the non-volatile memory stores a device operating system and a device application in a protected area inaccessible by the host, and stores a host operating system and browser application in an unprotected area accessible by the host.
  • FIG. 1C is a flow diagram executed by the control circuitry according to an embodiment of the present invention wherein when the host requests the host operating system, the storage device returns the device operating system which loads and executes the device application in order to transmit a web browser file over the Internet.
  • FIG. 2A is a flow diagram according to an embodiment of the present invention wherein the device application scans the file system in the host operating system to find and transmit the web browser file over the Internet.
  • FIG. 2B is a flow diagram according to an embodiment of the present invention wherein the device operating system copies the device application into the unprotected area of the non-volatile memory and modifies the host operating system so that the device application is executed during the boot process.
  • FIG. 3A is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies file.
  • FIG. 3B is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a history file.
  • FIG. 3C is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cache file.
  • FIG. 3D is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a bookmarks file.
  • FIG. 3E is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a security file.
  • FIG. 3F is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a preference file.
  • FIG. 3G shows a web browser window for configuring a list of websites that are blocked from storing cookies on the host system.
  • FIG. 3H is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies configuration file.
  • FIG. 4 shows an embodiment wherein the data storage device comprises a disk drive.
  • FIG. 5 shows an embodiment wherein the data storage device comprises a solid state drive.
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • FIG. 1A shows a data storage device 2 according to an embodiment of the present invention comprising a non-volatile memory 4 having a host operating system stored in an unprotected area of the non-volatile memory, a device operating system stored in a protected area of the non-volatile memory, and a device application operable to transmit a web browser file over the Internet, the device application stored in the protected area of the non-volatile memory (FIG. 1B). The data storage device 2 further comprises control circuitry 6 for executing the flow diagram of FIG. 1C. When a first read command is received from a host to load the host operating system (step 8), the device operating system is returned in response to the first read command (step 10). A second read command is then received from the host to load the device application (step 12), wherein the device application transmits the web browser file over the Internet (step 14).
  • In the embodiment of FIG. 1B, the protected area of the non-volatile memory is inaccessible by the host that boots the host operating system. In this manner, the device operating system and the device application are protected from being modified or disabled by the host. Any suitable technique may be employed to reserve the protected area in the non-volatile memory, such as by reserving a number of data locations and corresponding block addresses for internal use only.
  • Any suitable technique may be employed to return the device operating system instead of the host operating system during the initial boot operation of the data storage device. Suitable techniques are disclosed in U.S. Pat. No. 6,948,165 entitled “METHOD FOR INSTALLING AN APPLICATION PROGRAM TO BE EXECUTED DURING EACH BOOTLOAD OF A COMPUTER SYSTEM FOR PRESENTING A USER WITH CONTENT OPTIONS PRIOR TO CONVENTIONAL SYSTEM STARTUP PRESENTATION WITHOUT REQUIRING A USER'S PARTICIPATION TO INSTALL THE PROGRAM” the disclosure of which is incorporated herein by reference.
  • FIG. 2A is a flow diagram according to an embodiment of the present invention which extends on the flow diagram of FIG. 1C. When the device operating system executes the device application, the device application scans the file system of the host operating system (step 16) in order to locate the target web browser file to be transmitted over the Internet (step 14). After transmitting the web browser file, the device application generates a reboot command to reboot the host so that the host resends a request to load the host operating system (step 18) wherein the data storage device returns the host operating system (step 20). After the host operating system is loaded, the host operates normally including to execute the web browser application.
  • The device application may be executed in any suitable manner during the boot of the host. FIG. 2B is a flow diagram according to an embodiment of the present invention wherein while executing the device operating system (step 10) the device application is copied from the protected area of the non-volatile memory to the unprotected area (step 22). The host operating system is then modified (step 24) so that the device application is executed automatically when the host operating system is loaded and executed. For example, the device application (or alias) may be copied into a startup folder of the host operating system. The device operating system then generates a reboot command to reboot the host so that the host resends a request to load the host operating system (step 26). The data storage device returns the host operating system (step 28) which then executes the device application (step 30) which scans the file system (step 16) and transmits the target web browser file over the Internet (step 14).
  • In the embodiments of the present invention, any suitable web browser file may be transmitted over the Internet for any suitable web browser (Internet Explorer, Netscape, Safari, Firefox, etc.). FIG. 3A shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies file (step 14). In one embodiment, the cookies file stores cookies generated by various Internet websites, wherein the cookies may include information for authentication and session tracking (state maintenance), or specific information about a user, such as site preferences or the contents of their shopping cart. Each time the user visits a particular website, or browses through different pages of a website, the corresponding cookie information may be transmitted to the website to facilitate the browsing session.
  • FIG. 3B shows an embodiment of the present invention wherein the browser file transmitted over the Internet comprises a history file (step 14). The history file stores information related to the history of the web browser, such as a history of websites visited by the user. FIG. 3C shows an embodiment of the present invention wherein the browser file transmitted over the Internet comprises a cache file (step 14). The cache file stores content related to websites visited by the user, such as the content of various web pages visited by the user.
  • FIG. 3D shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a bookmarks file (step 14). The bookmarks file stores a list of website addresses for quick access by the user during Internet browsing sessions. The bookmarks may be displayed in any suitable manner, such as in a drop-down menu or in a toolbar of the web browser.
  • FIG. 3E shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a security file (step 14). The security file may store configuration information for enabling/disabling certain security features of a web browser, such as enabling/disabling various program components (e.g., Java, .NET, ActiveX, etc.) that a website may attempt to download and run on the host computer together with the standard HTML scripts. Alternatively, the security file may store security certificates which enable secure communication between a website and the web browser over the Internet. In one embodiment, the security file comprises a list of websites having a particular security configuration.
  • FIG. 3F shows an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a preference file (step 14). The preference file may store configuration information, such as the address of a website displayed initially (the homepage) when the web browser is first launched.
  • FIG. 3G shows a dialog window displayed from a web browser for enabling/disabling cookies for selected websites. For example, if a user wants to block all cookies generated by a particular website, the user enters the address of the website and selects the “Block” button which adds the website address to the list of blocked websites. The list of website addresses and access setting is typically stored in a cookies exclusion file (a configuration file) for the web browser. FIG. 3H is a flow diagram according to an embodiment of the present invention wherein the web browser file transmitted over the Internet comprises a cookies configuration file such as the cookies exclusion file (step 14).
  • The embodiments of the present invention may be employed in any suitable data storage device. FIG. 4 shows a data storage device comprising a disk drive including a head 34 actuated over a disk 36 and control circuitry 38 for executing the flow diagrams described herein. FIG. 5 shows a solid state drive comprising a plurality of non-volatile semiconductor memories 40A, 40B, etc., such as flash memories, and control circuitry 42 for executing the flow diagrams described herein. A hybrid data storage device may also be employed comprising components of a disk drive shown in FIG. 4 combined with the non-volatile semiconductor memories shown in FIG. 5.
  • Any suitable control circuitry may be employed to implement the flow diagrams in the embodiments of the present invention, such as any suitable integrated circuit or circuits. In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a system on a chip (SOC). In another embodiment, the instructions are read into a volatile semiconductor memory when the data storage device is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.

Claims (22)

What is claimed is:
1. A device comprising:
a non-volatile memory storing a host operating system, a web browser application, a device operating system, and a device application; and
control circuitry operable to:
receive a first request from a host to load the host operating system;
provide the device operating system to the host in response to the first request; and
receive a second request from the host to load the device application, wherein the device application is configured to:
transmit a web browser file for the web browser application over the Internet; and
generate a host reboot command after transmitting the web browser file.
2. The device of claim 1, wherein the control circuitry is further operable to provide the device application to the host in response to the second request.
3. The device of claim 1, wherein the device application is further configured to scan a file system associated with the host operating system to locate the web browser file.
4. The device of claim 1, wherein the device operating system is stored in a protected area of the non-volatile memory that is inaccessible by the host and the host operating system is stored in an unprotected area of the non-volatile memory.
5. The device of claim 4, wherein the device application is stored in the protected area of the non-volatile memory.
6. The device of claim 5, wherein the web browser file is stored in the unprotected area of the non-volatile memory.
7. The device of claim 1, wherein the web browser file comprises one or more of the group consisting of a cookies file, a history file, a cache file, a bookmarks file, a security file, a preference file, and a cookies configuration file.
8. A method of servicing a boot request, the method comprising:
receiving a first request from a host system to load a host operating system stored in a non-volatile memory;
providing a device operating system stored in the non-volatile memory to the host system using a communication interface in response to the first request;
receiving a second request from the host system to load a device application stored in the non-volatile memory; and
providing the device application to the host system using the communication interface in response to the second request;
wherein the device application comprises instructions that, when executed by one or more processors, cause the one or more processors to:
transmit a web browser file over the Internet; and
generate a reboot command after transmitting the web browser file.
9. The method of claim 8, wherein the instructions of the device application further cause the one or more processors to scan a file system associated with the host operating system to locate the web browser file.
10. The method of claim 8, wherein the web browser file is associated with a web browser application stored in the non-volatile memory.
11. The method of claim 8, wherein the web browser file comprises one or more of the group consisting of a cookies file, a history file, a cache file, a bookmarks file, a security file, a preference file, and a cookies configuration file.
12. The method of claim 8, wherein the device application is stored in a protected area of the non-volatile memory.
13. The method of claim 12, wherein the device operating system is stored in the protected area of the non-volatile memory.
14. The method of claim 12, wherein the device operating system is configured to copy the device application from the protected area to an unprotected area of the non-volatile memory.
15. The method of claim 14, wherein the device operating system is further configured to modify the host operating system so that the device application is executed automatically when the host operating system is executed.
16. A device comprising:
a non-volatile memory storing a host operating system, a web browser application, a device operating system, and a device application; and
means for:
receiving a first request from a host to load the host operating system;
providing the device operating system to the host in response to the first request; and
receiving a second request from the host to load the device application;
wherein the device application is configured to:
transmit a web browser file for the web browser application over the Internet; and
generate a host reboot command after transmitting the web browser file.
17. The device of claim 16, further comprising means for providing the device application to the host in response to receiving the second request.
18. The device of claim 16, wherein the device application is further configured to scan a file system associated with the host operating system to locate the web browser file.
19. The device of claim 16, wherein the device operating system is stored in a protected area of the non-volatile memory that is inaccessible by the host and the host operating system is stored in an unprotected area of the non-volatile memory.
20. The device of claim 19, wherein the device application is stored in the protected area of the non-volatile memory.
21. The device of claim 20, wherein the web browser file is stored in the unprotected area of the non-volatile memory.
22. The device of claim 16, wherein the web browser file comprises one or more of the group consisting of a cookies file, a history file, a cache file, a bookmarks file, a security file, a preference file, and a cookies configuration file.
US15/416,949 2009-07-31 2017-01-26 Web browser data communication in system booting Abandoned US20170139719A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/416,949 US20170139719A1 (en) 2009-07-31 2017-01-26 Web browser data communication in system booting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/534,076 US9588936B1 (en) 2009-07-31 2009-07-31 Automatically transmitting a web browser file over the internet when booting an operating system from a data storage device
US15/416,949 US20170139719A1 (en) 2009-07-31 2017-01-26 Web browser data communication in system booting

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/534,076 Continuation US9588936B1 (en) 2009-07-31 2009-07-31 Automatically transmitting a web browser file over the internet when booting an operating system from a data storage device

Publications (1)

Publication Number Publication Date
US20170139719A1 true US20170139719A1 (en) 2017-05-18

Family

ID=58162248

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/534,076 Active 2034-08-22 US9588936B1 (en) 2009-07-31 2009-07-31 Automatically transmitting a web browser file over the internet when booting an operating system from a data storage device
US15/416,949 Abandoned US20170139719A1 (en) 2009-07-31 2017-01-26 Web browser data communication in system booting

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/534,076 Active 2034-08-22 US9588936B1 (en) 2009-07-31 2009-07-31 Automatically transmitting a web browser file over the internet when booting an operating system from a data storage device

Country Status (1)

Country Link
US (2) US9588936B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112016006178T5 (en) * 2016-01-08 2018-09-20 Hewlett-Packard Development Company, L.P. Startup modification

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2247706C (en) 1998-06-23 2010-11-23 Nielsen Media Research, Inc. Use of browser history file to determine web site reach
US7526762B1 (en) * 2000-06-30 2009-04-28 Nokia Corporation Network with mobile terminals as browsers having wireless access to the internet and method for using same
US6963901B1 (en) * 2000-07-24 2005-11-08 International Business Machines Corporation Cooperative browsers using browser information contained in an e-mail message for re-configuring
EP1178409A1 (en) 2000-08-01 2002-02-06 DR. Riccardo Genghini Studio Notarile Genghini Cookiemanager to control the exchange of cookies in an Internet client-server computersystem
US6691113B1 (en) 2000-09-28 2004-02-10 Curl Corporation Persistent data storage for client computer software programs
US20040015580A1 (en) 2000-11-02 2004-01-22 Victor Lu System and method for generating and reporting cookie values at a client node
US7603356B2 (en) * 2001-01-26 2009-10-13 Ascentive Llc System and method for network administration and local administration of privacy protection criteria
US6948165B1 (en) 2001-02-28 2005-09-20 Western Digital Ventures, Inc. Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
US7111055B2 (en) * 2001-08-30 2006-09-19 Sun Microsystems, Inc. Method and apparatus to facilitate automated software installation on remote computers over a network
US6999913B2 (en) 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
US7506335B1 (en) * 2003-11-29 2009-03-17 Cisco Technology, Inc. Method and apparatus for software loading and initialization in a distributed network
JP2005346564A (en) 2004-06-04 2005-12-15 Hitachi Global Storage Technologies Netherlands Bv Disk device, control method for disk device and tampering detection method
US7506143B2 (en) 2005-11-15 2009-03-17 Microsoft Corporation Distributed monitoring of desired configurations using rules
JP5018520B2 (en) 2008-02-01 2012-09-05 富士通株式会社 Information processing apparatus, information processing method, and computer program
US8533227B2 (en) 2008-05-14 2013-09-10 Red Hat, Inc. Managing website blacklists

Also Published As

Publication number Publication date
US9588936B1 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
US6594757B1 (en) Remote BIOS upgrade of an appliance server by rebooting from updated BIOS that has been downloaded into service partition before flashing programmable ROM
US9934386B2 (en) Method and apparatus for managing the privacy and disclosure of location information
US7631173B2 (en) Method and system for performing pre-boot operations from an external memory including memory address and geometry
CN101650660B (en) Booting a computer system from central storage
CN102939583B (en) Creation task session
CN102934080B (en) Network application home button
US9747117B2 (en) System and methods for loading an application and its modules in a client device
US10885143B2 (en) Determining whether an authenticated user session is active for a domain
CN103765419A (en) System and method for providing offline access in hosted document service
CN108108219B (en) Application program running method and device, computer equipment and storage medium
US20150058713A1 (en) Method and apparatus for sharing media content and method and apparatus for displaying media content
JP2018533128A (en) Smart card read / write method and apparatus
EP2580678A2 (en) Web application navigation domains
CN101091161B (en) An apparatus and method for cooperative guest firmware
CN102664874B (en) A kind of method and system for secure logging in
US10643004B2 (en) Techniques for enabling a software application to access files at a computing device while enforcing privacy measures
US20090254641A1 (en) Network card capable of remote boot and method thereof
US20100064079A1 (en) USB Devices Pre-Configuration For KVM Switch
JP2011509486A (en) BIOS graphic engine that provides a unified look and feel
US20170139719A1 (en) Web browser data communication in system booting
CN111045789B (en) Virtual machine starting method and device, electronic equipment and storage medium
US8914625B1 (en) Automatically configuring a web browser file when booting an operating system from a data storage device
WO2005086013A1 (en) Removable external storage device, automatic activation program, and relay server
US20150271029A1 (en) Activation management system and activation management method
TWI588661B (en) Hardware bus redirection

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION