Nick Ryan Hoot Works. Chris Seeger Comcast Corporation. James Tauber Eldarion. Simon Thompson British Broadcasting Corporation. Craig Todd Dolby Laboratories, Inc. Mark Watson Netflix Inc. Kevin Wheatley Framestore. Get involved Learn more about how to join a group. Join this group Log in to nominate chairs 66 Non-Chair participant s found. Murkahovsky in November was promoted to his current post after treating Navalny, an activist currently jailed in Moscow, who fell suddenly ill amid a flight on Aug.
He denied the opposition leader was poisoned with a novichok nerve agent, suggesting instead in media interviews that Navalny may have lost consciousness due to a metabolic disease resulting in low blood sugar. He also initially refused to give permission for the year-old to be transferred to Berlin for further testing and treatment, though President Vladimir Putin eventually granted the request.
After five months in recovery, Navalny returned to Russia in January and was immediately arrested. He is currently serving a two-year sentence at a prison outside of Moscow. Year of fee payment : A method for allowing a software vendor to notify a user of a software update is disclosed. At the time of installing an application, the user is prompted to subscribe to a software update channel. A shortcut. The channel is updated periodically based on the schedule suggested by the channel.
When a new update is detected, the software channel delivers the software update to the user's computer and sends notifications such as email or gleaming the icon to indicate that a new software update is now available. Also, the next time the user launches the application through the shortcut. Historically, the primary medium for software distribution has been either the traditional floppy disk or the more recent compact disc CD-ROM.
However, more and more individuals are acquiring software by downloading it from remote server computers connected to the client computers through the Internet. Additionally, companies and organizations are distributing software to their users across their local area networks. The physical medium is a network cable and the supporting communication hardware are the fixed cost associated with the establishment of the network.
Therefore, distributing and installing software over an existing network bypasses the costly overhead of producing CDs or floppy disks. In addition, using the network as the distribution medium profoundly reduces the software's total cost of ownership to an extent that cannot be achieved by CDs or floppies even when the media cost almost nothing to manufacture. Second, the software can easily and timely be upgraded from a designated location because the burden of upgrading is borne by the software itself Third, because different types of computer hardware and operating systems can connect to a common network, software distributed over the network can be made to work across platforms or intelligent so that only the correct version of platform-specific software is pushed down to the user.
However, current methods of software distribution over a network do not fully exploit the benefits. Although most current software is written in modules, there is no current mechanism that handles the situation where one component in a software program requires the presence of another to operate. If a user downloads software from a Web page, the user may discover that the program requires an external library which necessitates another network session to download, assuming the user can find the right location, and then the user must manually install the library before installing the software.
Furthermore, software vendors today do not have a good infrastructure to notify users of their application about updates to their software, critical bug fixes, etc. If at the time of registering the software, the user can provide the vendor with an email address which the vendor can use to communicate information about upgrades to the user.
Even if the software vendor has a web page that describes the updates, there is no compelling infrastructure that will make the user aware that the web page has changed or let the user know automatically at the time the application is used that an update is available. The above-described shortcomings, disadvantages and problems are addressed by the invention by providing methods for allowing software vendors to automatically notify users of updates preferably when the application is being used by the user.
The invention described herein leverages channel architecture and Open Software Description OSD vocabulary to provide a way for the application vendor to subscribe the user to a software update channel that the vendor can use to notify users of software updates as they become available. At the time of installing the application, the user is prompted to subscribe to the software update channel.
When a new update is detected, the software channel delivers the software update to the user's computer and sends notifications by, for example, email or gleaming the icon to indicate that a new software update is now available.
The invention will now be described with reference to the following drawings in which like reference numerals refer to like elements and wherein:. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
With reference to FIG. The system bus 23 may be any of several types of bus structures including a memory bus or a memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
The personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from and writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from and writing to a removable optical disk 31 such as a CD ROM or other optical media.
The hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive interface 33 , and an optical disk drive interface 34 , respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 29 and a removable optical disk 31 , it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories RAMs , read only memories ROMs , and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk, magnetic disk 29 , optical disk 31 , ROM 24 or RAM 25 , including an operating system 35 , one or more application programs 36 , other program modules 37 , and program data A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device Other input devices not Shown may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus USB.
A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter In addition to the monitor, personal computers typically include other peripheral output devices not shown , such as speakers and printers.
The personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20 , although only a memory storage device 50 has been illustrated in FIG.
The logical connections depicted in FIG. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 through a network interface or adapter When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the wide area network 52 , such as the Internet.
The modem 54 , which may be internal or external, is connected to the system bus 23 via the serial port interface In a networked environment, program modules depicted relative to the personal computer 20 , or portions thereof may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
As is familiar to those skilled in the art, the computer system 20 further includes an operating system and at least one application program. The operating system is a set of software which controls the computer system's operation and the allocation of resources. The application program is a set of software that performs a task desired by the user, making use of computer resources made available through the operating system.
Both are resident in the illustrated memory In accordance with the practices of persons skilled in the art of computer programming, the invention is described below with reference to acts and symbolic representations of operations that are performed by the computer system 20 , unless indicated otherwise.
Such acts and operations are sometimes referred to as being computer-executed. It will be appreciated that the acts and symbolically represented operations include the manipulation by the CPU 21 of electrical signals representing data bits which causes a resulting transformation or reduction of the electrical signal representation, and the maintenance of data bits at memory locations in the memory system 22 to thereby reconfigure or otherwise alter the computer system's operation, as well as other processing of signals.
The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits. In an illustrative embodiment of the invention, the computer system 20 preferably uses the Windows 95 or Windows 98 client server operating system.
Data structures, also referred to as records or formats, are organization schemes applied to data so that it can be interpreted, and so that specific operations can be performed on that data. Such data structures impose a physical organization on the collection of data stored within the computer memory 22 and represent specific electrical, magnetic or organic elements.
An object typically has two components: a function table, containing a pointer to each object member function i. An application has some reference to an object through the object pointer. An application obtains this object reference by using some type of function call direct or implied in which that function allocates an object block in computer memory, initializes the function table, and reruns the reference to the computer memory to an application.
The computer memory may be local or distributed on a remote computer. In an illustrative embodiment of the invention, processes are implemented as objects. A process object comprises the following elements: an executable program; a private address space; system resources e.
Display techniques using virtual surface allocation. These techniques include support of initialization and batching of updates, use of updates and lookaside lists, the use of gutters, the use of blending and BLT operations, surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and occlusion management techniques. Filed: May 31, Date of Patent: March 15, Composing stereo 3D windowed content. Abstract: A technique for generating content for a stereo 3D display buffer having both stereo 3D graphic objects and non-stereo 3D graphic objects that may be utilized to render stereo 3D content onto one or more windows of a display.
The technique incorporates content from stereo 3D application frame buffers into a composition tree that represents the graphic objects in each window displayed on a computing device.
At each refresh cycle, the composition tree is traversed to generate content for a stereo 3D display buffer that is then used to draw one or more windows onto a display. Filed: August 3, Date of Patent: February 2, Virtual surface rendering. Date of Patent: January 12, Date of Patent: January 5, Date of Patent: November 3, Publication date: December 11, Shared Compositional Resources.
Publication date: November 13, Applicant: Microsoft Corporation. Blanco, Reiner Fink. Virtual Surface Lookaside Lists and Gutters. Publication date: December 5,
0コメント