The application is the part continuation application of the unsettled U. S. application 09/336,509 of application on June 18th, 1999.
Introduce an exemplary system of the embodiment of the invention below.
Fig. 1 is to use the system block diagram of an embodiment of the information distribution system 10 of equipment of the present invention and method.Providing of information medium is provided in system 10.It comprises the structure of the safety of Internet user and system profile and private storage vault and maintenance, and these are mainly collected from authorization service registration, Internet service registration, system profile, user preference.At first, these information are used for coming the registered user with the manufacturer of the hardware and software product bought and the supplier of online or other services.Along with the past of time, user data is used to generate a user profile file, and notifies the renewal and the upgrading of user's related software, with encouragement on-line purchase Related product, and allows man-to-man order market and other services.
In one embodiment, two software modules are used for realizing each embodiment of the present invention.A software resides in the custom system, with visiting a predetermined network address.For example, in one embodiment, operating system and Basic Input or Output System (BIOS) (BIOS) are installed in the computer system in advance, when computer system starts subsequently first, an application program that is called as first software module (in one embodiment, first software module is the initial start application program (ISUA) that will be described below) for purposes of discussion will allow to start in the environment of one or more executable programs before guiding.In one embodiment, first software module makes the startup of one or more executable programs before loading, guiding, execution or the operation of OS become easy.In one embodiment, the user is encouraged to select to use such a program (that is, the use of first software module), and in another embodiment, program is automatically actuated.The program that is included in first software module can make tool and utility move with the right user mandate at reasonable time, also allows the user to connect by the Internet on the PC and downloads second software module that comprises driver, application program and additional useful load.If OS can not normally start, program can also provide the telemanagement of system.
In case second software module passed over, it will become the program of resident memory, and forbid first software module is transcribed copy.Still the original copy that resides in first software module in the nonvolatile memory of system keeps idle, and till second software module can not be worked, go to pot or be deleted, at this moment, the original copy of first software module was transcribed again as mentioned above.Second software module comprises user and the specific service on the Internet coupled together and and guides the user to seek the application program that authority is downloaded more reservation data on predetermined network address.Second software module also comprises the content identical or close with the content of first software module.
In one embodiment, system can also comprise an initial useful load that is stored among the ROM (read-only memory) BIOS (ROMBIOS).In one embodiment, initial useful load is first software module (for example, part ISUA).In another embodiment, initial useful load, is separated with first software module in ROM BIOS as a module stores.In one embodiment, initial useful load is to start from ROM BIOS, and power-on self-test (POST) afterwards, the OS guiding, be presented on the screen before loading and/or carrying out.This will take place in the given time, for example manufactured in system, assembling and when detecting, perhaps when terminal user's initial activation system.In another embodiment, this initial useful load is copied to precalculated position (in the hard disk such as system) at the fixed time, for example manufactured in system, assembling and when detecting, perhaps when terminal user's initial activation system.In case be replicated, useful load is carried out after POST, before the OS operation, with modes such as data display graphics, message on screen of figure or information material, animation, associating picture experts group (JPEG)/motion picture expert group (MPEG) form.When appendage and/or useful load (by the Internet or other outside connections) when being transmitted, before the OS guiding with bootup process in, display screen will be used to provide the customization screen in the mode of message or figure.In addition, except the program of downloading from the website (for example second software module) subsequently, the executable program that transmits in first software module can be used for detecting all kinds of PC with decision institute installed device, driver and application program.In one embodiment, as be its content of the method and apparatus of configuration software " automatically install on computers and " at exercise question the sequence number of this common unsettled U.S. Patent application as a reference _ _ described in, first software module is used to User Recognition and automatic generation shortcut and/or bookmark.The program of downloading from the website comprises the software of collecting and keep the user profile file based on user preference.These information offer information medium, and information medium offers supplier and other merchant dealers according to information with the part of information and/or institute's editing data subsequently, so that obtain the renewal or the revision of the information that supplier and other businessmans provide.
With reference to figure 1, information distribution system 10 comprises by one or more of communication links 30
1-30
NWith one or more user machine system 40
1-40
NThe service centre 20 that (" 40 ") couple together.Service centre 20 comprises one or more servers 22, one or more database 24 and one or more computing machine 26
1-26
MOne or more computing machines 26
1-26
MCan be by a plurality of user machine systems 40
1-40
NVisit simultaneously.If used a plurality of computing machines, then computing machine 26
1-26
MCan connect by Local Area Network or other similar interconnection techniques.Yet,, also other configurations can be arranged for service centre 20.For example, fewer purpose mainframe computer (such as the main frame of minority, handle PC etc.) has some internal processes and the process moved, can set up communication link with subscriber computer on mainframe computer.
Service centre 20 also can be connected to telecommunication network 50 (for example the Internet) or remote location (satellite that does not for example have demonstration in accompanying drawing 1).Telecommunication network 50 or remote location allow service centre 20 that computer software, the content etc. widely that can be stored in the service centre 20 is provided.With the service centre computing machine, for example the 261 one or more databases 24 that are connected are used to store the database entry that is included in computer software available on the computing machine 26.In one embodiment, each subscriber computer 40
1-40
NWhat oneself was all arranged can not be by the safety database (not shown) of other computer access.Communication link 30
1-30
NAllow one or more user machine systems 40
1-40
NWhile and computing machine 26
1-26
MConnect.Connection is by server 22 management.
After a user machine system 40 and information service computing machine 26 are set up two-way communication, content is sent to user machine system 40 in the following manner.Downloaded contents comprises that hardware that is used for detecting user and/or user machine system and/or software are so that develop the application program of the concise and to the point file of a user profile file and custom system.Be provided for service centre 20 subsequently from the information of user and/or user machine system collection, service centre 20 provides additional content according to user and system profile to subscriber computer 40.The wide area information server inlet that links to each other with service computer 26 comprises the information about operable third party's service of computer software, hardware and user and product.On user and/or system profile basis, content further is transmitted to subscriber computer and shows.This content also comprises informative abstract, for example the brand of the redaction of the availability of the patch of active computer software and error correction, active computer software, new computer software, new help file etc.This content also comprises the availability about hardware and user's interest third-party product and service.The user can make one or more selections from enabled production and service summary, require product is sent to subscriber computer from service computer 26.Perhaps, the user also can buy required product or service from enabled production and service summary.
Fig. 2 has shown an exemplary computer system 100 that realizes embodiments of the invention.Computer system 100 has shown user machine system 40
1-40
NAnd/or computing machine 26
1-26
MAn embodiment (Fig. 1), but also can easily use other embodiment.
With reference to figure 2, computer system 100 comprises processor or CPU (central processing unit) (CPU) 104.Shown CPU 104 comprises that an ALU that calculates (ALU), one are used for the control module of the operation of the set of registers of temporary storaging data and instruction and a control system 100.In one embodiment, CPU 104 comprises Intel
TMX86, Pentium that company sells
TM, PentiumII
TM, PentiumPro
TMMicroprocessor, AMD
TMThe K-6 microprocessor or the Cyrix that sell
TMIn the 6x86MX microprocessor that company sells any one.More example also comprises Digital Equipment Corporation
TMThe Alpha that (Digital Equipment Corporation) sells
TMProcessor, Motorola
TMThe 680X0 processor or the IBM that sell
TMThe Power PC that sells
TMProcessor.In addition, comprise that any in other processor kinds that Sun Microsystems, MIPS, IBM, Motorola, NEC, Cyrix, AMD, Nexgen and other companies sell can both be used to realize CPU 104.CPU 104 not only is confined to microprocessor, and other forms can also be arranged, as microcontroller, digital signal processor, Reduced Instruction Set Computer (RISC), application specific integrated circuit etc.Although only shown a CPU 104, computer system 100 also can comprise a plurality of processing units.
CPU 104 links to each other with bus controller 112 by cpu bus 108.Bus controller 112 comprises integrated Memory Controller 116 within it, but Memory Controller 116 also can be in bus controller 112 outsides.Memory Controller 116 provides a CPU 104 or other equipment interface through memory bus 120 access system memory 124.In one embodiment, system storage 124 comprises Synchronous Dynamic Random Access Memory (SDRAM).System storage 124 can comprise additional or alternative high speed storing equipment or memory circuit alternatively.Bus controller 112 links to each other with system bus 128, and system bus 128 can be Peripheral Component Interconnect (PCI) bus, industrial standard architectures (ISA) bus etc.What homologous ray bus 128 linked to each other is graphics controller, graphics engine or Video Controller 132, mass memory unit 152, Communications Interface Unit 156, one or more I/O (I/O) equipment 168
1-168
N, and expansion bus controller 172.Video Controller 132 with can as numeral 144 indicated single cards or equipment on integrated video memory 136 (for example 8 megabyte) link to each other with video BIOS 140.Video memory 136 is used to be contained in the required video data of display message on the display screen 148, and video BIOS 140 comprises code and the Video service that is used for control of video controller 132.In another embodiment, Video Controller 132 is connected with CPU 104 by advanced graphics port (AGP) bus.
Mass memory unit 152 comprises (but not only being confined to) hard disk, floppy disk, CD-ROM, DVD-ROM, audio tape, high density floppy disk, high power capacity active mediun, low capacity active mediun, solid storage device etc. and combination thereof.Mass memory unit 152 can also comprise any other mass memory medium.Communications Interface Unit 156 comprises network interface card, modem interface etc., is used for by communication link 160 accesses network 164.I/O equipment 168
1-168
NComprise keyboard, mouse, sound card, printer and similar devices.I/O equipment 168
1-168
NCan be disc driver, for example compact disk driver, digital disk driver, tape drive, compressed drive, reinforcement driver, digital video disk (DVD) driver, solid storage device, magneto optical driver, high density floppy drive, high power capacity active mediun driver, low capacity active mediun driver and/or its combination.Expansion bus controller 172 links to each other with the nonvolatile memory 175 that comprises system firmware 176.System firmware 176 comprises and is used for the system bios (shown in the numeral 82 in the accompanying drawing 3) of the hardware device in the control computer system 100.System firmware 176 also comprises ROM 180 and flash memory (or EEPROM) 184.Expansion bus controller 172 also is connected with the extended memory 188 with RAM, ROM and/or flash memory (not shown).System 100 also comprises the memory module 190 that is connected with bus controller 112 in addition.In one embodiment, memory module 190 comprises ROM 192 and flash memory (or EEPROM) 194.
To those skilled in the art very commonly, computer system 100 also comprises an operating system (OS) and at least one application program, in one embodiment, application program is started from massage storage 152 loading system storeies 124 and after POST.OS comprises but does not limit to or be limited in and comprises DOS, Windows
TM(Windows95 for example
TM, Windows98
TM, Windows NT
TMDeng), any OS type among Unix, Linux, OS/2, OS/9, Xenix etc.Operating system is the set of one or more programs of the running of control computer system and resource distribution.Application program is to carry out the set of one or more software programs of the desired task of user.
According to those of ordinary skills' practice, except as otherwise noted, with reference to the symbolic representation of the operation of carrying out by computer system 100 the present invention is described hereinafter.Such operation refers to sometimes to be carried out by computing machine.To recognize like this, comprise by CPU104 his-and-hers watches registration according to the processing of the electric signal of bit and the preservation of the storage unit of data bit in system storage 124 with the operation of symbolic representation, and other signal Processing.The storage unit of preserving data bit is specific electricity, magnetic, light to be arranged or the physical region of the organic trait that is consistent with data bit.
When with software implementation, key element of the present invention comes down to carry out the code segment of necessary task.Program or code segment can be stored in the processor readable media or with the computer data signal that is included in the carrier wave and send on communications media or communication link." processor readable media " comprises any medium that can store or transmit information.The example of processor readable media comprises electronic circuit, semiconductor memory apparatus, ROM, flash memory, can wipe ROM (EROM), flexible plastic disc, CD-ROM, CD, hard disk, optical fiber media, radio frequency (RF) link etc.Computer data signal comprises any signal that can propagate on the transmission medium such as electronic network channels, optical fiber, air, electromagnetism, radio frequency link etc.Code segment can pass through computer networks such as the Internet, Intranet and download.
Fig. 3 has shown the logical diagram of computer system 100.With reference to figure 2 and 3, system firmware 176 is included in during the POST loading system storer 124 and in software module and the data carried out by processor 104 subsequently.In one embodiment, system firmware 176 comprises a system bios module with system bios handling procedure, hardware routine etc. 82, ROM application programming interfaces (RAPI) module 84, initial start application program (ISUA) module 86, initial useful load 88a, key 90, cipher engine 92 and a display engine 94.The above-mentioned module of system firmware 176 and part are contained in ROM180 and/or the flash memory 184.Perhaps, the above-mentioned module of system firmware 176 and part also can be contained in ROM190 and/or the flash memory 194.RAPI 84 provides the safe interface between ROM application program and the system bios 82.Each developed RAPI 84, ISUA 86 and initial useful load 88a individually and was stored in the system firmware before the system 100 that uses a computer at first.In one embodiment, each comprises the Technologies by Phoenix RAPI 84, ISUA 86 and initial useful load 88a, the proprietary software of Ltd exploitation.Transferring Phoenix Technologies, application in 18 days June in 1999 of Ltd, exercise question for the sequence number of the common unsettled U.S. Patent application of " using the system and method for basic input and output (BIOS) service safely " _ _ a middle embodiment who has described RAPI 84, its content is at this as a reference.Transferring Phoenix Technologies, the exercise question of application in 18 days June in 1999 of Ltd for the sequence number of the common unsettled U.S. Patent application of " installing and make up the method and apparatus of software on computers automatically " _ _ a middle embodiment who has described ISUA 86, its content is at this as a reference.
Among the embodiment shown in Fig. 3 and 4A and 4B, after at first a new computer system 100 being powered up, system begins with the POST process.During initial p OST, ISUA 86 is sent to mass memory unit 152, shown in A1.In one embodiment, such transmission make and/or assembling process in carry out when powering up first when system 100 (still be written into operation system before) after operating system installation.In another embodiment, such transmission make and/or assembling process after the user receive with electricity applying system 100 after carry out.Can replace among the embodiment at another, during ISUA86 transmitted, appendage, application program, driver, data, figure and other information also can be transmitted (for example, from ROM) to massage storage 152.For example, transmission comprises the transmission of initial useful load 88a to massage storage 152, passes out initial useful load from massage storage 152 subsequently.On June 18th, 1999 application, transfer Phoenix Technologies, the exercise question of Ltd for the sequence number of the common unsettled U.S. Patent application of " a kind of transmit the system and method for application program to memory device " from system firmware _ _ an embodiment of the system and program that is used for this transmission has been described, its content is at this as a reference.In on March 19th, 1999 application, the sequence number 09/272 of the common unsettled U.S. Patent application of " a kind of method and apparatus that provides based on the device emulation of storer " is provided exercise question, 859, in on June 18th, 1999 application, exercise question for the sequence number of the common unsettled United States Patent (USP) part continuation application of " a kind of method and apparatus that provides based on the device emulation of storer " _, and application on June 18th, 1999, exercise question for the sequence number of the common unsettled U.S. Patent application of " a kind of system and method that in massage storage, inserts one or more file " _ _ middle another embodiment that has described the system and program that is used for this transmission, each application all transfers assignee Phoenix Technologies of the present invention, Ltd, its content at this as a reference.
In one embodiment, ISUA 86 is computer software executable programs that determine whether to reside in the pre-installation procedure in the end-user system.If it will discern those pre-programs of installing, and (under the situation of Windows operating system, on the table) generate shortcut or bookmark, allow user's automatic running program.In this embodiment, executable program as described below also can start and build the two-way communication of one or more application program on fixed and server 22 and/or any one service computer 26 (Fig. 1).In addition, in one embodiment, the graphical content among the initial useful load 88a is being presented on user's the display by display engine 94 during the POST.Perhaps, the graphical content among the initial useful load 88a can show after boot subsequently.For example, as the part of following user profile file, whether the user can he or she be sought out the additional information about one or more products and/or service by inquiry.If the such requirement of user, required product and or the service related content during boot subsequently, be shown.
In case POST finishes, OS is loaded, execution and initialization.The OS driver and the service routine of standard are loaded then.Point out the user to import the log-on message that comprises such as demographic informations such as age, sex, hobbies then.In addition, carry out ISUA 86,, keep idle condition, detect the communication link that the network 164 (for example, the Internet) by Fig. 2 is set up between computer system 100 and remote server (for example server among Fig. 1 22) up to it at running background.In one embodiment, ISUA 86 can search by operating system, to determine whether to load and to be installed in the application program in the system.If have, in case communication link is set up, ISUA 86 can move into predetermined server for application program provides shortcut and/or bookmark automatically.This communication link can be set up with a network protocol stack (such as TCP/IP) or any other two-way communication technology known in the art by road report.In case set up communication link 30, ISUA 86 sends a request signal to server 22 (shown in A2), so that download an initial content routine package 62 from a content module 60.Respond this request, this initial content routine package 62 (shown in A3) of downloaded, in one embodiment, this initial content routine package 62 is stored in the massage storage 152.In one embodiment, initial content 62 and subsequent content 64 can be developed separately, before server 22 is preserved initial content 62 and subsequent content 64, each content are all encrypted and/or numeric characterization with key.When initial content 62 and or/when subsequent content 64 is downloaded in the system 100 subsequently, cipher engine 92 will use 90 pairs of initial content 62 of key and/or subsequent content 64 to be decrypted.
As mentioned above, initial content routine package 62 comprises application program 62a, driver 62b and useful load 62c.In one embodiment, application program 62a comprises that a number refuses to take a passenger into application program and a concise and to the point file manager application program.Data are written into application program to work with ISUA 86 same or analogous modes, in case download, then forbid and alternative ISUA 86.More specifically, to be written into application program be the computer software programs that can also start, set up and finish the two-way communication between server 22 and the computer system 100 to data.Data are written into other functionalities such as content that application program also provides communication control management and the communication between promotion end-user system and the given server between server 22 and the computer system 100 and downloads to end-user system.
Concise and to the point file manager according to user preference, system hardware and on computer system 100 installed software obtain the user of computer system 100 and the concise and to the point file of system.On the user and system profile basis that obtain computer system 100, concise and to the point file manager application program sends the result to data and is written into application program, data are written into application program and subsequently these information are offered server 22, and server 22 mates the preference and the database 24 (Fig. 1) of user's appointment.The result can be transmitted at interval or according to user's needs at preset time.Then, concise and to the point file of server 22 process user or demography data, and content alignment is had the user of similar concise and to the point file.In addition, a plurality of users' user profile file data is compiled in server 22 and set generates a concise and to the point file model of overall user.Then content is sent to based in the user's computer system of user profile file data and/or the concise and to the point file module of overall user (shown in A4).Subsequent content 64 is downloaded and is stored in the system firmware 176, shown in digital 88b.In one embodiment, subsequent content 64 is stored among nonvolatile memory, for example flash memory or the EEPROM, and as well known to those of ordinary skill in the art, being written into by reflection of light ROM again of subsequent content finished.Subsequent content 64 also can be used as one or more file storage in massage storage 152 or be used to revise Windows
TMSystem file is (at Windows
TMUnder the environment).Concise and to the point file collection process continues between 100 active stages in computer system always.In one embodiment, content can just download after server 22 receives and analyzed user's concise and to the point file.
(see Fig. 4 B) when computer system 100 is powered subsequently, system carries out POST once more.Then, be written into and/or executive operating system before, show before downloaded be kept at system firmware 176 in and the content that solved of the theme of relevant copyright problem.At Windows
TMIn the environment, the Windows that during initially being written into operating system, shows
TMLogo is replaced by the screen that one or more demonstrations are kept at the former downloaded contents in the system firmware 176 subsequently.
Relative with the ROM that glimmers again with content as the situation of one or more file storage in massage storage 152 under, the Windows that shows in guiding or when closing
TMLogo can be changed or replace.Utilize an embodiment of this method to comprise that the file (for example, graphic file) with one or more displaying contents replaces corresponding Windows
TMSystem file, as on June 18th, 1999 application, exercise question for " in guiding or close displayed image in the closed procedure ", transfer Phoenix Technologies, the sequence number of the common unsettled U.S. Patent application of Ltd _ _ described in, its content is at this as a reference.To guide Windows display file to be named as LOGO.SYS, be usually located in the windows directory.At first with Windows
TMThe LOGO.SYS file is sent to other catalogues from windows directory.Then, with content graph shape file RNTO LOGO.SYS and be sent under the windows directory.When operating system is moved for the first time, operating system will be recovered this file, and therefore, content shows on display.Windows
TMExpectation LOGO.SYS file is that graphics resolution is a bitmap file of 320 * 400 and 256 looks, although Windows
TMFor the purpose that shows picture resolution was expanded to 640 * 400 afterwards.Therefore, the content graph shape file will become same graphical format (being that extension name is named with " .BMP " usually) before RNTO LOGO.SYS.
Operating system is loaded then, execution and initialization.Standard operation system driver and application program also are loaded.Concise and to the point file manager is performed.When setting up with the linking of predetermined website, additional content can be downloaded and be shown subsequently.Such additional content both can at random be provided, and also can be provided according to the information that obtains from the investigation of user or custom system.In one embodiment, in case bootup process is finished, the part of display screen will be used to show icon and the shortcut that is used to visit about the details of the message that showed with figure or information material in the past.In embodiment further, the message of representing with figure or information material can be shown during closing closed procedure once more, for example, replace message such as " Windows shuts down " or " now can your computing machine of safety shutdown " of screen display with other chosen content.
Fig. 5 is the synoptic diagram of the structure of the image that is used to show of the generation according to one embodiment of the present of invention.This structure comprises storer 124/176/190, attribute generator 530 and picture generator 540.
Storer 124/176/190 comprises a template 510 and Drawing Object 520.Storer 124/176/190 can be the storage medium of any kind, for example random-access memory (ram), ROM (read-only memory) (ROM), erasable read-only memory (EROM), flash memory.In a preferred embodiment, this storer is a flash memory.Drawing Object 520 can be stored on the same storage medium with template 510 or be stored on another storage medium.For example: template 510 and Drawing Object 520 all are stored on the firmware such as flash memory, and perhaps, template 510 is stored in the firmware, and Drawing Object 520 is stored in (as: hard disk) on the mass memory unit.Template 510 and Drawing Object 520 can upgrade.
Template 510 comprises several identifiers, and they have constituted the graphic attribute of describing the Drawing Object characteristic.Drawing Object 520 comprises the information about the object that will show on display screen.Drawing Object 520 can comprise the data structure of storage such as the visual pel of straight line that can be used for producing image and segment of curve.Drawing Object 520 can also comprise or quote other original image data of bitmap level.
Attribute generator 530 comprises scanner 532 and syntax analyzer 534.532 pairs of templates of scanner are carried out the dictionary analysis and are generated mark.Syntax analyzer 534 generates graphic attribute from flag sequence.Graphic attribute comprises several identifiers and/or be used for producing in operation on the Drawing Object graph primitive of the image that will show on display.
Fig. 6 A is the synoptic diagram according to the template 510 of the Drawing Object of one embodiment of the present of invention.Template 510 comprises a beginning code 610, N order CMD1, CMD2......CMDN620
1..., 620
NWith an end code 630.
Beginning code 610 and end code 630 are respectively the codes that predefined representative template begins and finishes.Beginning code 610 and end code 630 be chosen as to make it be unique code in the template 510.In one embodiment, beginning code 610 and end code 630 all are the identifiers of byte.
Each orders CMDN 620
1..., 620
NAll comprise two parts: a command code 622 and a command information 624.Command code 622 shows the type of performed order, and command information 624 provides command code required information.Some order may not need command information.In one embodiment, command code 622 is identifiers of a byte, and command information 624 is multibyte datas.
Command code 622 is regulation identifiers by the performed graphic operation of image controller.Graphic operation can comprise allow/forbid, simple shape is drawn (for example: straight line, circle, square frame, triangle, point, polygon), file include (for example: bitmap, palette, font, animation, sound) and other operation.
Show that opening 631 shows that demonstration is allowed to.It does not need corresponding command information.Show that closing 632 shows that demonstration is under an embargo.It does not need corresponding command information yet.Line 633 usefulness straight line information 634 straight line that draws, straight line information 634 comprise line segment two end points coordinates (x1, y1) and (x2, y2) and the color code of line segment.Circle 635 usefulness circle information 636 circle that draws, justify information 636 comprise central coordinate of circle (x, y), radius, color and filling code.Square frame 637 uses square frame information 638 rectangle of drawing, square frame information 638 comprise four apex coordinates (x1, y1), (x2, y2), (x3, y3), (x4, y4), color and filling code.Triangle 639 utilizes triangle information representing 640 triangle that draws, triangle information representing 64 comprise leg-of-mutton three apex coordinates (x1, y1), (x2, y2), (x3, y3), color and filling code.Point 641 utilizes dot information 642 point that draws, dot information 642 comprise a little coordinate (x, y) and color.Polygon 643 utilizes polygon information 644 polygon that draws, polygon information 644 comprise N apex coordinate (x1, y1) ..., (xN, yN), color and filling code.
Bitmap object 651 adopts the message bit pattern 652 of specified bitmap filename and extension name to provide a bitmap object from bitmap file.Palette object 653 adopts specifies the palette information 654 of palette file name and extension name to provide a palette object from palette file.Font object 655 adopts the filename of specific font and the font information 656 of extension name to provide a font type for text string.Section object 657 adopts the area information 658 that comprises realm identifier to specify an area code.Text string object 659 adopts the text message 660 that comprises the character string that will produce to create the text string with specific font type.Palette index 671 adopts the palette index information 672 that comprises index to point to the palette object.Filling palette index 673 adopts the filling palette index information 674 that comprises index to point to the palette that is used for filled object.Animation 675 adopts and comprises that the animation information 676 of animation file name and extension name provides an animation sequence from animation file.Sound 677 adopts the acoustic information 678 that comprises audio files name and extension name to produce a sound sequence from audio files.
Fig. 6 B is the synoptic diagram according to the display screen 680 of one embodiment of the present of invention.Display screen 680 has shown nine zones illustratively, comprising: zone 1 682, zone 2 683, zone 3 684, zone 4 685, zone 5 686, zone 6 687, zone 7 690, zone 8 691 and zone 9 692.
Be used to produce these regional templates and comprise a series of order, these orders utilize the square frame order to determine the coordinate on four summits in each zone.In addition, corresponding bitmap and text also are cited to be used for each zone.
Zone 1 682, zone 2 683, zone 3 684, zone 4 685, zone 5 686, zone 6 687, zone 7 690, zone 8 691 and zone 9 692 are to produce with the bitmap or the text that are included among reference document text1.bmp, text2.bmp, logo1.bmp, logo2.bmp, logo3.bmp, bitmap1.bmp, bitmap2.bmp, bitmap3.bmp and the bitmap4.bmp respectively.
Fig. 7 is the process flow diagram according to the process 700 of the displayed image of one embodiment of the present of invention.
During beginning, process 700 initialization display engines to be setting up a display environment, as: display resolution and color depth (square frame 710).This display environment can be that the default contexts of display engine also can be the environment of any appointment.Process 700 retrieves template (square frame 720) from storer then.This retrieval can be by finishing at storer presumptive address read memory cell.700 pairs of templates of process scan to produce a series of signs (square frame 730).Then, process 700 is analyzed these signs, produces the graphic attribute (square frame 740) of describing the Drawing Object characteristics.
Process 700 utilizes the location identifier that analysis is come out from template to obtain Drawing Object (square frame 750) from storer.Then, process 700 image (square frame 760) that utilizes graphic attribute from Drawing Object, to produce to show.If in graphic attribute, specified animation and/or sound, then therefore can produce animation and/or sound.At last, process 700 writes image the display buffer (square frame 760) that interrelates with display engine.Then process 700 finishes.
The guiding of BIOS and BIOS load operation system may spend a few times in second.In this time, monitor screen only shows BIOS information, as: test statistics and result.In most of the cases, these results are identical, and can not provide what Useful Information to the user.Therefore, show other figure, the advertisement of for example downloading, poster or during this time to produce sound all be preferable from the internet.These activities can be carried out between guiding in earlier stage in the stage early of BIOS homing sequence.Media device is meant the equipment that can produce figure or sound or other media information.For example, graphics engine or graphics controller have set of diagrams unit usually, make it demonstrate big complex image according to low volume data.The demonstration of gained is retained on the screen always, up to BIOS guiding finish or machine when beginning to do other work till.
Fig. 8 is the synoptic diagram according to media system 800 before the guiding of one embodiment of the present of invention.Media system 800 comes down to a subsystem of the system 100 shown in Fig. 2 before the guiding.Media system 800 comprises processor 104, bus 108/128, BIOS storer 176, massage storage 152, system storage 124, media bank 124/152/184, sound card 168, figure or Video Controller 132 and display 148 before the guiding.
Instruction in the processor 104 operation BIOS storeies 176 and operation system in operating system loading system storer 124 time.In the activity, processor communicates by bus 108/128 and sound card 168 and graphics controller 132 before guiding.When powering up when restarting, processor 104 beginnings begin instruction fetch from a presumptive address, so that begin to guide BIOS from BIOS storer 176.
BIOS storer 176 has comprised the BIOS that comprises the simplest media initialize code 810, conventional bios code 815 and operating system (OS) loader 820.Usually, processor 104 at first moves the simplest media initialize code 810, moves conventional bios code 815 then, is operating system loader 820 at last.
The simplest media initialize code 810 comprises and is used for the simplest code of initialization graphics controller 132 and/or sound card 168, thereby medium produce before can carrying out guiding.Setup code 810 can comprise the instruction of the address of acoustic pattern, figure and/or the sound instruction of the display mode (for example, color depth and display resolution) that disposes graphics controller 132, sound card 168 and graph data and/or voice data.Graphics controller for advanced more can comprise a code sequence completely in the setup code 810, it makes graphics controller can or only use additional patterns information seldom just can produce image.For these graphics controllers, setup code 810 can comprise that generation graph primitive, for example pixel, straight line, simple shape, shade, color and the particular location on display are to show the order of gained image.The simplest media initialize code 810 normally moves in the stage early of BIOS guiding, and medium generate and just can carry out as soon as possible before guiding like this.After processor 104 had moved the simplest media initialize code 810, graphics controller 132 and/or sound card 168 began to break away from processor 104 and work independently.
Conventional bios code 815 is included in the instruction of carrying out conventional BIOS task in the conventional BIOS bootup process.These tasks comprise: POST, initialization and configuration peripherals (if necessary, comprising graphics controller 132 and sound card 168) and other system detect.In this process, graphics controller 132 constantly is created in the image that shows on the display 132, and sound card 168 also constantly produces sound.
OS loader 820 comprises the instruction that is written into OS 830 from massage storage 152 to system storage 124.After OS loading system storer 124, control has just been given OS, and processor 104 operations are from the suitable program of OS.In the process that OS is written into, graphics controller 132 and sound card 168 constantly produce figure and sound.May need finish a few times in second because OS is written into, on display, be shown Useful Information and produce useful sound so effectively utilize during this period of time.After OS took over, figure and sound operation all were to be undertaken by the requirement of corresponding driving program among the OS.At this moment media activity finishes before the guiding, and conventional system operation begins.
Storing OS 830 and other data and information in the massage storage 152.As mentioned above, OS 830 is written in the system storage 124 when the BIOS guiding finishes.Generally, only some OS 830 resides in the system storage 830.Driver, other program and data can exchange between system storage 124 and massage storage 152 as required.Can comprise among the OS 830 and be used for suitably restarting the driver of graphics controller 132 and sound card 168.Generally, media activity just is through with before OS 830 brings into operation, and guides.
System storage 124 comprises random-access memory (ram), has wherein comprised the part operation system 830 that is written into.The storer that also can comprise other type in the system storage 124 is as flash memory.
Storing media information in the media bank 124/152/184, in order to using for media device in case of necessity.Media bank 124/152/184 can be the part of system storage 124, massage storage 152 or flash memory 184.Media information comprises media data 840, media mode 845 and medium order 850.Media data 840 is the data that directly are used for producing medium output for media device.These data can directly be visited in media bank 124/152/184, also can quote by pointer or filename.The example of media data comprises figure bit map data and digitized voice sample sequence.Media mode 845 provides the operational mode of media device.For example, the graphic animations pattern refers to a series of repetitive sequences of graphic frame.Medium order 850 is concrete orders that media device is used for realizing its functionality.The example of medium order 850 comprises that the image with graph data is presented at order on certain particular location of display or the order that produces image in some way.
Sound card 168 utilizes the voice data in the media data 840 to produce sound for loudspeaker.Graphics controller 132 is created in the image that shows on the display 148.Comprise configuration register 860 and command register 865 in the graphics controller 132.Configuration register 860 is used for graphics controller 132 is configured and makes it to move under designated mode.Command register 865 comprises the various command of specifying specific operation, for example figure to fill, draw straight line or the like.Processor 104 is by writing configuration data and ordering sound card 168 and graphics controller 132 are carried out initialization in corresponding media device.It just can move itself in case media device is initialised.Sound card 168 can be obtained voice data and come to produce sound for loudspeaker from media bank 124/152/184.Graphics controller 132 can be obtained graph data and produce image at display from media bank 124/152/184.Can from medium order 850, obtain other order and produce more medium result.
Fig. 9 is the process flow diagram according to process 900 before the media guidance of one embodiment of the present of invention.
During beginning, system begins to power up restarts sequence (square frame 910).Processor guides BIOS (square frame 920) by visit BIOS storer then.Processor comes initial media equipment (as: graphics controller, sound card) (square frame 930) with the minimal configuration as the part of BIOS.Minimal configuration provides enough information for graphics controller and/or sound card begin to break away from the processor independent operating.
Process 900 has been divided into two parallel branches then: BIOS branch is corresponding with the operation of BIOS, and medium branch is corresponding with media device.Medium branch comprises: square frame 940,950 and 960.BIOS branch comprises: square frame 945,955 and 965.
In BIOS branch, processor continues to finish the homing sequence (square frame 945) of BIOS.Remaining BIOS task may spend a few times in second and finish.Graphics controller and/or sound card carry out the task of their initialization and configuration during this period.After the BIOS task was finished, processor was written into operating system (square frame 955) in system storage from massage storage.Usually once only some operating system be written into.After operating system was written into storer, control had been passed to OS from BIOS, and OS comes into effect control and produces other figure and sound (square frame 965).Process 900 finishes then.
After initialization and configuration, media device is obtained media information, for example graph data, voice data, file include, order, pel or the like (square frame 940).Media device begins to carry out their functionality (square frame 950) then.Graphics controller is obtained graph data and with graph primitive displayed image on display.Graph data can be corresponding to the advertisement or the title that are stored in the suitable storer.Animation also can use a series of frame to realize.Sound card produces sound by play the voice data of obtaining from acoustic memory.
Process 900 determines whether that operating system has obtained the control of system (square frame 960) then.If not, then process 900 is got back to square frame 950 continuation media manipulations.Otherwise process 900 finishes.
Another aspect of the present invention comprises the system equipment performance of measuring be in operation (on-the-fly) and with the system and method for graphic form display result.In one embodiment, recording information (for example, device parameter) interrelates with corresponding Drawing Object and shows.
Another aspect of the present invention be a kind of usefulness simply, effectively and flexibly method the method and apparatus of functionality is provided for system bios.It provides an interface module, and it just can be that system bios provides additional functionality with the minimum influence to bios code only that this module can make different people, for example PC system manufacturer and mainboard manufacturer.This method comprises that system bios is inserted an interface module to be reached from system bios reception request to finish a task.With the corresponding system equipment information of task for example the numeric representation of device parameter receive from system bios.Information after the translation is translated and provided to interface module to system equipment information.Information after this translation is sent in the corresponding module and goes then.It should be noted that the enforcement of interface module can provide independently of each other with the technology, the technology of detection system equipment performance and result's the graphical demonstration that produce medium output.
Figure 10 A has represented an embodiment of the information display screen 1000 that foundation principle of the present invention provides.Display screen 1000 has shown one six example that the zone shows: zone 1 1010, zone 2 1020, zone 3 1030, zone 4 1040, zone 5 1050 and zone 6 1060.Each zone 1010,1020,1030,1040,1050 and 1060 all further comprises subregion.For example: zone 1 1010 comprises subregion: 1012,1014,1016, zone 2 1020 comprises subregion: 1022 and 1024, zone 3 comprises subregion: 1032,1034 and 1036, and zone 4 comprises subregion: 1042 and 1044, zone 6 comprises subregion 1062 and 1064.Each subregion may also comprise one or more fields.For example: subregion 1016 comprises: field 1016a and field 1016b, subregion 1064 comprise field 1064a, field 1064b and field 1064c.
In an embodiment shown in Fig. 6 B, be used for producing these regional templates and comprise that the order of a series of use square frame specifies the order of each four apex coordinate in zone.In addition, the corresponding bitmap and the text of each zone use have also all been specified.For example: can use the bitmap or the text that are included in corresponding text file, logo file or the bitmap file to come drawing area 1010,1020,1030,1040,1050 and 1060.
In the embodiment shown in Figure 10 B, zone 1010,1020 and 1060 can be used to show about the capacity of system equipment and/or the information of performance (for example, device parameter).For example, zone 1 1010 texts that can be used at 1012 li explicit identification system equipments of subregion are " processor " in this example.Equally, zone 2 1020 and 6 1060 can be used for respectively the text at subregion 1022 and 1060 li corresponding system equipments of explicit identification " RAM " and " hard disk drive ".In zone 1 1010, can show a corresponding logo at subregion 1014.In addition, the text of two parameters of reflection system equipment may be displayed among the field 1016a and field 1016b of subregion 1016.For example, wherein the system equipment parameter is the travelling speed of processor, and field 1016a shows the processor travelling speed of determining with the first cover standard, and field 1016b shows the processor travelling speed of determining with the second cover standard.The first cover standard can be definite by a dealer (for example company of production system BIOS product), and the second cover standard is definite by a manufacturer (for example processor manufacturer).
In zone 2 1020, the text that is included in the system installed capacity of sign in the subregion 1022 may be displayed in the subregion 1024.Equally, the tabulation of hard disk drive and corresponding capacity or type can be identified among field 1064a, field 1064b and the field 1064c.Other functionality, logo and image can be presented in zone 3 1030, zone 4 1040, the zone 5 1050 similarly.
Figure 11 A is an embodiment according to the system architecture 1100 of the software module of principle enforcement of the present invention.Structure 1100 comprises a storer B 1120 who is comprising the storer A of interface module 1110 and comprising one or more templates 1122, one or more Drawing Object 1124, one or more target voice 1126, one or more text object 1128.In one embodiment, storer A and storer B are implemented as shown in Figure 2 system storage 124, system firmware 176 and/or memory module 190.In another embodiment, storer A and storer B can be the unit of an integral body.Storer A also can be the storage unit of separating with storer B in addition.
Storer 124/176/190 (Fig. 2) can be various types of storage mediums, as: random-access memory (ram), ROM (read-only memory) (ROM), erasable read-only memory (EROM), flash memory.In a preferred embodiment, this storer is a flash memory.Template 1122, Drawing Object 1124, target voice 1126 and text object 1128 can be stored on the same physical storage medium or the storage medium that separates of any combination on.Template 1122, Drawing Object 1124, target voice 1126 and text object 1128 can upgrade.
Interface module 1110 comprises a hook scheduler program 1112 of carrying out multiple functionality.In one embodiment, hook scheduler program 1112:(1) obtain medium and/or system equipment information (for example, device parameter) (perhaps, hook scheduler program 1112 itself obtains medium and/or system equipment information from interface module 1110) from BIOS; (2) the init attributes generator 1130; (3) provide Object Management group; (4) provide other service that comprises memory management, encrypt/decrypt and decompression are provided, but are not limited only to this.
The example of the information (for example, device parameter) that obtains from processor can comprise: processor travelling speed that is recorded by the first cover standard and the processor travelling speed that is recorded by the second cover standard.The first cover standard comprises the processor travelling speed that system bios is in operation and records.The first cover standard is that the code of using the company by predetermined party, for example production product systems BIOS to provide, specify or determine records.For example, the first cover standard may be embodied as the code that is installed in the system bios.An example of this code comprises AwardBIOS4.51, AwardBIOS6.0 and/or PhoenixBIOS4.0 Release6, and they all are the products of the Phoenix Technologies company limited of California Milpitas.The second cover standard comprises by second predetermined party, for example the manufacturer of a processor provides, specifies or definite test code.
The mensuration of the travelling speed of processor can be realized by one or more benchmark programs that contain the predetermined instruction sequence.Clocking value can obtain before or after benchmark run in real time.Can compare the working time of benchmark program with the result of well known processor speed.Just can obtain a relative and/or absolute processor travelling speed of representing with processor clock frequency from this relatively.
The system equipment parameter information about storer that obtains can comprise type existing or mounted memory and capacity.In addition, the information (for example, device parameter) about IDE can comprise the device parameter that is used for hard disk drive, CD-ROM drive, LS 120 drivers, ZIP driver, DVD driver or the like.
When requiring or task of Request System BIOS functionality or performance when (as: showing a processor graphic image), send a request from system bios.This request comprises medium and/or system equipment information (for example, device parameter), and it is that mode with original number is provided by system bios usually.Original number converts the readable form of attribute generator 1130 to by one in a plurality of information translaters 1114.Specifically, information translater 1114 has received original number and has converted it to a character string that is comprising corresponding translation information.For example, if desired device parameter is the travelling speed of processor, then the sign of this processor, for example processor type (as: AMD Athlon, Intel Pentium, Intel Celeron or the like) can obtain by query processor mapping table (Figure 11 B).This sign comprises key word, and key word is translated into an object name by the information translater.Then object name is offered attribute generator 1130.In case receive object name, attribute generator 1130 carries out the dictionary analysis by sending an Object Management group request to one or more templates 1122.The Object Management group request is given one or more templates 1122 by interface module 1110.Attribute generator 1130 also produces corresponding graphic attribute, and they all comprise several identifiers and/or graph primitive, produces the image that shows so that be used at the enterprising line operate of Drawing Object on display.Image with gained is presented in the subregion 1014 then, simultaneously with text display in the field 1016a and 1016b of subregion 1016.
Figure 12 is the process flow diagram according to an embodiment of the information procedure for displaying 1200 of principle of the present invention.After beginning, process 1200 is at first carried out Power-On Self-Test (POST), shown in square frame 1202.POST may comprise a plurality of tasks, as: from task 1 to task (M-1).Process 1200 initialization interface modules 1110 (seeing Figure 11 A) and with in the interface module 1110 loading system storeies then.Subsequently, the audio frequency apparatus in this process detection and the initialization system is shown in square frame 1206.Then video engine is detected and initialization (square frame 1208).
Then, process 1200 is sent an order to interface module 1110 (Figure 11 A) and is come display background figure, image and/or text, shown in square frame 1210.Process 1200 begins the checkout equipment parameter subsequently, from the sign and the travelling speed (square frame 1212) of processor.Two types device parameter is provided in one embodiment.First is the travelling speed that records under running status.This travelling speed determined by software with one group of preset standard, and this software can be provided, specify or be determined by the side such as the company of production product systems BIOS.The example of this software comprises: AwardBIOS4.51, AwardBIOS6.0 and/or PhoenixBIOS4.0 Release6, these all are the products of the Phoenix Technologies company of California Milpitas.Second is a travelling speed of being determined by the processor manufacturer.In one embodiment, this travelling speed of being determined by the manufacturer can be a fixed numeric values that is provided by the manufacturer (reading from a specific processor register), or the numerical value that the software that is provided by the manufacturer is determined.The latter's numerical value can be obtained by the software algorithm that the operation manufacturer provides, and the source code of this algorithm may be stored in the system bios.Perhaps, other place (for example, provide or be stored in another storage medium as firmware) also can be provided source code.
In case the sign and the speed of processor are decided, they just are transmitted to interface module, shown in square frame 1214.Process 1200 proceeds to square frame 1216 then, and here its detection system storer is also determined its size, and subsequent process 1200 sends the information (for example, device parameter) of system storage to interface module 1200, shown in square frame 1218.
Then, this process detects the device parameter that is used for system's mass memory unit, shown in square frame 1220.This information is transmitted to interface module (square frame 1224).Process 1200 is carried out other POST task then, as: task M (square frame 1226).After POST finishes, process 1200 pilot operationp systems (square frame 1228).
The task described in process square frame 1204,1206,1208,1210,1212,1214,1216,1218,1226 and 1224 that should be noted that needn't be carried out in order.For example, one of them task may be carried out after POST task 7, and another task may be carried out after POST task 20.In one embodiment, the task described in the process square frame 1204,1206,1208,1210,1212,1214,1216,1218,1226 and 1224 can be according to any predetermined order or other in sequence.These tasks may be to carry out according to the mode of software developer's regulation in another embodiment.
Figure 13 is the process flow diagram of an embodiment of a functionality scheduler program process 1300 providing according to principle of the present invention.Process 1300 is according to the request of carrying out the corresponding function degree is carried out by the hook scheduler program 1112 of interface module 1110 (Figure 11 A).Functionality scheduler program process may be embodied as any one process among (but being not limited only to) 1210,1214,1218 and/or 1224 (Figure 12).In case receive a request of carrying out a functionality, process 1300 is authentication function degree number at first, as shown in process square frame 1302.If functionality number is invalid (determining in decision block 1304), process 1300 proceeds to process square frame 1312, and an error flag here is set.Process 1300 finishes then.If determining functionality number is effectively, as shown in decision block 1304, then process No. 1300 converts functionality to the address (process square frame 1306) of corresponding handling procedure.Call then and have medium/system equipment information processing program (process square frame 1308).Subsequently, process judges whether wrong generation (decision block 1310).If no, then clear out of mismark (process square frame 1314) and terminal procedure 1300.
Figure 14 is the process flow diagram of an embodiment of the message processing program process 1400 that provides according to principle of the present invention.Behind initial state, process 1400 is obtained the sign (process square frame 1402) of medium/system equipment.Process 1400 obtains the corresponding apparatus parameter then, as: in the travelling speed under the processor situation, memory size (square frame 1404) under the memory device situation.Can be in operation and determine these device parameters, and determine these device parameters by equipment manufacturers.Subsequent process 1400 determines whether to obtain corresponding Drawing Object.If do not need, then proceed to process square frame 1418, here display device parameter information and withdrawing from.Otherwise, obtain corresponding Drawing Object name (process square frame 1408), then process 1400 proceeds to process square frame 1410, and here it sets up corresponding packet for attribute generator.This packet is used to call attribute generator (process square frame 1412).In case be called, attribute generator will send an order to show corresponding image (process square frame 1414) to picture generator.The facility information that obtains previously (for example, device parameter) is revealed, and picture generator demonstrates corresponding image (process square frame 1416), and process 1400 finishes then.
Figure 15 is the process flow diagram of an embodiment of the processor information that provides according to principle of the present invention and image processing program process 1500.After initial state, process 1500 is obtained the identification code (process square frame 1502) of processor dealer from firmware.Obtain the device parameter (process square frame 1504) of the travelling speed of processor then.In one embodiment, wherein comprising the numeric representation of the travelling speed that the manufacturer determines and the numeric representation of the travelling speed that under running status, records.From the processor mapping table, obtain the Drawing Object name (process square frame 1506) of corresponding processor then.Subsequently, process 1500 is created a corresponding packet (process square frame 1508) for attribute generator.Call attribute generator (process square frame 1510) with this packet, attribute generator calls picture generator (process square frame 1512) then.Processor information (device parameter that the manufacturer determines and those device parameters that record in service) shows with corresponding image.Process 1500 finishes then.
Therefore, the present invention is a kind of technology of effective generation medium output.This technology produces the graphic attribute of describing the Drawing Object feature from template.Use this graphic attribute from Drawing Object, to produce image then.In another embodiment, media device, for example graphics controller or a sound card were initialised in the stage morning of BIOS guiding.In the process that the BIOS of routine task is carried out, carry out media manipulation then.The present invention also provides the system equipment information that produces when operation, for example numeric representation of device parameter, but also show these information simply and effectively.
The present invention also provides a kind of technology of effective generation medium output.Medium output comprises the system equipment information (for example, device parameter) of generation in service, and shows these information simply and effectively.This technology produces the graphic attribute of describing the Drawing Object feature from a template.Utilize this graphic attribute from Drawing Object, to generate image then.In another embodiment, media device, for example graphics controller or a sound card were initialised in the stage morning of BIOS guiding.When carrying out, the BIOS of routine task carries out media manipulation then.
The present invention provides also that a kind of to be used to provide with method simply, effectively and flexibly be the method and apparatus that system bios provides functionality.It provides an interface module, and this module makes each side, the manufacturer of for example PC system and board maker or the like to provide the additional function degree for system bios under the situation of the code that influences system bios as few as possible.This method comprises the request of an interface module being received system bios and receive carrying out a task from system bios.The system equipment information relevant with task, for example the numeric representation of device parameter obtains from system bios.Interface module is with system equipment information translation and the information after translation is provided.Information after this translation is sent to subsequently in the corresponding module and goes.
The present invention has been illustrated with some exemplary embodiment, and these descriptions do not limit the present invention.The conspicuous for those of ordinary skills various changes to these exemplary embodiments and other embodiments of the invention all are considered to fall in the spirit and scope of the present invention.