text:
US7730155B1 - Method and apparatus for dynamically locating resources - Google Patents
Method and apparatus for dynamically locating resources Download PDF
processing system
Gordon Ross Meyer
Jessica Kahn
2002-10-01 Application filed by Apple Inc filed Critical Apple Inc
2002-10-01 Assigned to APPLE COMPUTER INC. reassignment APPLE COMPUTER INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAHN, JESSICA, MEYER, GORDON ROSS
2007-04-23 Assigned to APPLE INC. reassignment APPLE INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: APPLE COMPUTER, INC.
230000004044 response Effects 0 abstract claims description 8
238000004590 computer program Methods 0 claims 1
239000003138 indicator Substances 0 description 2
230000014509 gene expression Effects 0 description 1
230000004807 localization Effects 0 description 1
H04L67/34—Network-specific arrangements or communication protocols supporting networked applications involving the movement of software or configuration parameters
H04L67/02—Network-specific arrangements or communication protocols supporting networked applications involving the use of web-based technology, e.g. hyper text transfer protocol [HTTP]
H04L67/18—Network-specific arrangements or communication protocols supporting networked applications in which the network application is adapted for the location of the user terminal
H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
H04W4/02—Services making use of location information
Methods and apparatuses for dynamically locating resources. In one aspect of the invention, a method to retrieve a resource for a digital processing system includes: receiving a request for a resource; downloading a first version of the resource from a server through a network connection to satisfy the request if the first version of the resource is retrievable through the network connection; and loading a second version of the resource from a storage device of the digital processing system if the first version of the resource is not retrievable through a network connection. In one example, downloading the first version is performed in response to a determination that the first version of the resource is different from a second version of the resource on a storage device of the digital processing system.
The invention relates to digital processing systems, and more particularly to dynamically locating resources using network connections when available.
On a computer system, a resource is typically specified using a file name with a path (or directory) or a Universal Resource Locator (URL). HyperText Markup Language (HTML) documents use URL addresses to specify the locations of the resources that are required by these documents or linked to these documents through hyperlinks.
A complete URL address includes the network protocol for accessing the resource, the host address of the computer on which the resource resides, the directory in which the resource resides, and the file name of the resource. For example, URL address http://www.uspto.gov/main/patents.htm specifies that HTML document patents.htm is retrievable using Hypertext Transfer Protocol (HTTP) from directory /main of host www.uspto.gov. To retrieve patents.htm, a client computer contacts host www.uspto.gov using HTTP protocol to transfer file /main/patents.html from the HTTP server at www.uspto.gov. After receiving a request from the client for an HTML document, the HTTP server at the remote host (e.g., www.uspto.gov) typically maps the directory (e.g., /main) in the URL to a directory in the file system of the server computer to locate the corresponding HTML document specified in the URL address.
Relative URL addresses are typically used in an HTML document for specifying the locations of the resources relative to the location of the HTML document. For example, HTML document at http://www.uspto.gov/main/patents.htm may contain a hyperlink to relative URL address ./search.htm. From the base address of HTML document patents.htm, it can be determined that the complete address of document search.htm is http://www.uspto.gov/main/search.htm.
URL addresses can also be used to specify resources which reside locally on a computer system. For example, URL address file: ///C:/main/patents.htm specifies an HTML document on a local hard drive C. A file on a computer is typically specified as a file name with a path. For example, file name C:/main/patents.htm contains path C: /main/. A file name with a path can also be considered as a relative URL address with a default base address (e.g., file:///)
URL addresses specify the exact locations of the corresponding resources so that a web browser can retrieve the resources from the locations as specified in the URL addresses. When the storage locations of the resources are moved (e.g., from a remote server to a local file system), the corresponding URL addresses for accessing these resources are changed accordingly in order to access the resources from the new locations. When relative URL addresses are used, only the base addresses are changed accordingly. The complete addresses for the relative URL addresses are changed automatically to reflect the changes in the base addresses, since the complete addresses for the relative URL addresses are computed from the base addresses and the relative URL addresses.
A web browser typically maintains a cache that stores some of the files retrieved from remote servers through a network connection. Such a web browser may use the resource stored in the cache to display a document when it assumes or determines that the resource on the remote server has not changed since the resource was downloaded and cached. For example, when the forward (or back) button on a web browser is pressed, the previous downloaded and cached version of the resource is used, assuming that there has been no change in the resource. When no network connection to the server is available, a web browser typically displays an error message, even when a version of the resource is previously downloaded and cached. A user may manually switch the web browser (e.g., Internet Explorer) from an online mode to an offline mode (e.g., work offline). When the web browser is in an offline mode, it can display, without a network connection, the web pages that have already been down loaded in the cache. If the user clicks on a link for a document that is not in the cache when the web browser is in the offline mode, the web browser informs the user that the document is not available in the offline mode; and the user has the option to keep the web browser in the offline mode or switch the web browser back to the online mode.
SUMMARY OF THE DESCRIPTION
Methods and apparatuses for dynamically locating resources are described here.
In one aspect of the invention, a method to retrieve a resource for a digital processing system includes: receiving a request for a resource; downloading a first version of the resource from a server through a network connection to satisfy the request if the first version of the resource is retrievable through the network connection; and loading a second version of the resource from a storage device of the digital processing system if the first version of the resource is not retrievable through a network connection. In one example according to this aspect, the network connection is automatically established before downloading the first version of the resource from the server, if the network connection is not already established. For example, a modem is instructed to initiate a connection to establish the network connection.
In one example, downloading the first version is performed in response to a determination that the first version of the resource is different from the second version of the resource on the storage device of the digital processing system. Thus, when the server has an updated version of the resource, the updated version of the resource is downloaded to satisfy the request. If no network connection to the server is available or downloading from the server is not successful, the second version of the resource from the storage device on the digital processing system is loaded to satisfy the request.
In one example, downloading from the server is performed if it is determined that a version of the resource on the server is preferred. The first version of the resource downloaded from the server is stored on the storage device of the digital processing system if downloading is successful. If it is determined that a version of the resource on the server is not preferred, the second version of the resource is loaded from the storage device on the digital processing system to satisfy the request. If a previously downloaded version of the resource exists on the storage device, the previously downloaded version of the resource is used to satisfy the request. Thus, the second version of the resource is different from the resource, if the second version of the resource is a previously downloaded version of the resource.
In one example, whether or not a version of the resource on a server is preferred is determined from a configuration file associated with the resource. An address of the server is also determined from the configuration file. In other examples, whether or not a version of the resource on a server is preferred is determined according to system conditions, and/or a file on a remote server. The address of the server may be hardwired, or determined from a search at a remote server, or determined from a file at a remote server.
The present invention includes methods and apparatuses which perform these methods, including data processing systems which perform these methods, and computer readable media which when executed on data processing systems cause the systems to perform these methods.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follow.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
FIG. 1 shows a block diagram example of a data processing system which may be used with the present invention.
FIG. 2 shows a schematic diagram of a system for updating files through a network according to one embodiment of the present invention.
FIG. 3 shows a flow chart of a method to locate a resource according to one embodiment of the present invention.
FIG. 4 shows a detailed flow chart of a method to locate a file according to one embodiment of the present invention.
FIG. 5 illustrates an example flow diagram of a method to determine whether or not an updated version of a resource is retrievable through a network connection according to one embodiment of the present invention.
FIG. 6 illustrates a configuration file for specifying parameters for dynamically locating resources according to one embodiment of the present invention.
FIG. 7 illustrates a scheme to specify parameters for dynamically locating resources according to one embodiment of the present invention.
The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of the present invention. However, in certain instances, well known or conventional details are not described in order to avoid obscuring the description of the present invention.
FIG. 1 shows one example of a typical computer system which may be used with the present invention. Note that while FIG. 1 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components as such details are not germane to the present invention. It will also be appreciated that network computers and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. The computer system of FIG. 1 may, for example, be an Apple Macintosh computer.
As shown in FIG. 1, the computer system 101, which is a form of a data processing system, includes a bus 102 which is coupled to a microprocessor 103 and a ROM 107 and volatile RAM 105 and a non-volatile memory 106. The microprocessor 103, which may be, for example, a G3 or G4 microprocessor from Motorola, Inc. or IBM is coupled to cache memory 104 as shown in the example of FIG. 1. The bus 102 interconnects these various components together and also interconnects these components 103, 107, 105, and 106 to a display controller and display device 108 and to peripheral devices such as input/output (I/O) devices which may be mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices which are well known in the art. Typically, the input/output devices 110 are coupled to the system through input/output controllers 109. The volatile RAM 105 is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. The non-volatile memory 106 is typically a magnetic hard drive or a magnetic optical drive or an optical drive or a DVD RAM or other type of memory systems which maintain data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory although this is not required. While FIG. 1 shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, it will be appreciated that the present invention may utilize a non-volatile memory which is remote from the system, such as a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface. The bus 102 may include one or more buses connected to each other through various bridges, controllers and/or adapters as is well known in the art. In one embodiment the I/O controller 109 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.
It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM 107, volatile RAM 105, non-volatile memory 106, cache 104 or a remote storage device. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as the microprocessor 103.
A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods of the present invention. This executable software and data may be stored in various places including for example ROM 107, volatile RAM 105, non-volatile memory 106 and/or cache 104 as shown in FIG. 1. Portions of this software and/or data may be stored in any one of these storage devices.
Thus, a machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine readable medium includes recordable/non-recordable media (e.g., read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; etc.), as well as electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
At least one embodiment of the present invention seeks to dynamically locate resources so that an updated version of a resource on a remote server is used when the updated version of the resource is accessible. When the updated version of the resource is not accessible (or does not exist), a local version of the resource (e.g., a locally installed default version, a local version in a storage medium, such as a CD-ROM, a previously downloaded updated version, which may or may not have already been installed, or others) is used.
For example, in an HTML-based Help system, elements that appear on a page (e.g., images, audio clips, video clips, etc.) and hyperlinks to other pages are typically specified using URL addresses. Since the URL addresses specify the exact predetermined locations of the resources, a resource is normally either on the local file system or on a remote server. If the location is at the remote server, the resource can be easily updated; and the updated version of the resource is used after the resource is updated at the remote server. However, when the client computer cannot access the server (e.g., through the network), the client computer cannot retrieve the required resource from the remote server to provide the corresponding help document. If the location of the item is locally at the client computer, the resource can always be accessed regardless of the status of the network connectivity. However, a special procedure is required to update the resource (e.g., downloading and installing a software patch).
FIG. 2 shows a schematic diagram of a system for updating files through a network according to one embodiment of the present invention. Client computer 203 contains resource manager 211, which dynamically locates a resource according to configuration file 217. Local installation 215 contains a default version of the resources on a local storage device (e.g., a hard drive, or a CD-ROM), which can always be accessed by client computer 203, regardless of the status of the network connection. When client computer 203 is connected to network 201 (e.g., Internet, intranet, Local Area Network (LAN), etc.) through communication link 231 (e.g., a modem attached to a telephone line, a network interface card attached to a network cable, a cable modem attached to a cable television network, a transceiver for a wireless communication network, etc), an updated version of the resource can be retrieved from servers, such as server 205 or 207. When downloaded, the updated version of the resource is stored as cached updates 213 on client computer 203 so that the updated version of the resource can be used later without resorting to the servers. Configuration file 217 specifies the addresses of the remote servers for updated versions of resources. Configuration file 217 can also store additional information, such as whether or not a version of the resource on the remote server is preferred. When a version of the resource on the remote server is preferred, the remote server is always checked for an updated version when network connection 231 is available; otherwise, either the cached update or the local installation is used. Thus, depending on the configuration parameters in configuration file 217, resource manager 211 either retrieves updated versions of the resources for the local installation from one or more servers or loads cache updates or the local installation from a local storage device. It will be understood that various different types of protocols (e.g., HTTP, FTP (File Transfer Protocol)), servers, and network connection media (e.g., ethernet network interface cards, modems for telephone lines, cable television networks, or Digital Subscriber Lines (DSL), transceivers for wireless networks) can be used with various embodiments of the present invention in retrieving updated versions of resources through network connections. Methods to dynamically locate the resources are described bellow.
FIG. 3 shows a flow chart of a method to locate a resource according to one embodiment of the present invention. Operation 301 receives a request for a resource (e.g., a help document, an image, a video clip, a device driver, etc). From a configuration file operation 303 determines whether or not a remote version of the resource is the preferred version. If a remote version of the resource is the preferred version, operation 305 determines whether or not a remote version of the resource is retrievable through a network connection. When a remote version of the resource is retrievable through a network connection, operation 315 satisfies the request with the remote version of the resource. If operation 305 determines that a remote version of the resource is not retrievable through a network connection, or operation 303 determines that a remote version of the resource is not the preferred version, operation 309 is performed to determine whether or not a local version of the resource is available. When a local version of the resource is available, operation 311 satisfies the request with the local version of the resource; otherwise, if operation 307 determines that a remote version of the resource is retrievable through a network connection, operation 315 satisfies the request with the remote version of the resource. If operation 307 determines that a remote version of the resource is not retrievable through a network connection, operation 313 displays a message to indicate that the resource is not available.
FIG. 4 shows a detailed flow chart of a method to locate a file according to one embodiment of the present invention. After operation 401 receives an input of clicking on a link for a file (e.g., by positioning a mouse controlled cursor on an item, representing a file, displayed on a display screen which is coupled to the mouse and by selecting the item by pressing and releasing a button while the cursor is on the item), operation 403 determines whether or not a remote updated version of the file is preferred. If a remote updated version of the file is preferred, operation 411 is performed to determine whether or not a network connection is available; and operation 413 determines whether or not an updated version of the file is successfully downloaded if a network connection is available. If downloading an updated version of the file is successful, operation 415 stores the downloaded updated version of the file on a local storage device; and operation 405 displays the updated version of the file. When no network connection is available, or downloading an updated version of the file is not successful, it is concluded that no remote version is retrievable in operation 417; and operation 419 is performed to determine whether or not it is already determined that no local version is available. If it is already determined that no local version is available, operation 409 displays an error message to indicate the error condition "resource unavailable"; otherwise, operation 421 is performed. If operation 403 determines that a remote updated version of the file is not preferred, operation 421 is performed to determine whether or not an updated version of the file is already cached in a local storage device; and operation 423 determines whether or not a default local version is present if no updated version of the file is cached. If an updated version of the file is already stored locally, operation 405 displays the updated version of the file. If a default local version is present, operation 407 displays the default version of the file. When no updated version of the file is stored locally and no default local version is present, it is concluded that no local version is available in operation 425; and operation 427 is performed to determine whether or not it is already determined that no remote version is retrievable. If it is already determined that no local version is retrievable, operation 409 displays an error message; otherwise, operation 411 is performed.
FIG. 5 illustrates an example flow diagram of a method to determine whether or not an updated version of a resource is retrievable through a network connection according to one embodiment of the present invention. Operation 501 determines whether or not a network connection is alive. If no network connection is alive and operation 511 determines that there is a method to establish a network connection, operation 513 attempts to establish a network connection (e.g., instruct a modem to call an Internet service provider, etc.). If operation 515 determines that the attempt to establish a network connection is successful, operation 503 is performed. If there is no method to establish a network connection, or the attempt to establish a network connection failed, it is concluded that an updated version of the resource is not retrievable through a network connection in operation 517. If operation 501 determines that a network connection is alive and operation 503 determines that there is an updated version of the resource on a remote server, operation 505 attempts to download the updated version of the resource from the remote server. If operation 507 determines that downloading the updated version of the resource is successful, it is concluded that an updated version of the resource is retrievable through a network connection in operation 509. If operation 503 determines that there is no updated version of the resource at a remote server, or operation 507 determines that downloading the updated version of the resource is not successful, it is concluded that an updated version of the resource is not retrievable through a network connection in operation 517.
FIGS. 4 and 5 show example sequences of checking for an updated version of resources from a remote server, cached updates, and local installation. From this description, it will be apparent to one skilled in the art that various different sequences can be used or configured using configuration parameters. For example, it may be configured that the cached updates are searched first for an updated version of the resource before attempting to contact the remote server for an updated version. Further, some resources are frequently used. Thus, it is not desirable to check the remote server for an update version every time these resources are used. Thus, control parameters can be used to limit the frequency to check the remote server for the updated version. For example, an HTML document can have a tag to specify when a cached document expires; or the resource manager can maintain a default frequency for checking the remote server; or such a frequency related configuration parameter for checking the remote server can be specified in the configuration file.
Further various methods can be used to determine whether or not the updated version of the resource on the server is different from (or more recent than) a version on the local storage device. For example, "HTTP conditional get" can be used to download a resource that is modified. An HTTP server that meets the HTTP 1.1 specification returns "304 File Not Modified" to indicate that the resource on the server is the same as that in the cached updates. In another embodiment of the invention, a version number is used to determine whether the server contains an update version for the resource.
FIG. 6 illustrates a configuration file for specifying parameters for dynamically locating resources according to one embodiment of the present invention. Configuration file 601 contains entry 603 which specifies whether or not the resource controlled by the configuration file is "internet primary". If it is "internet primary", a remote updated version is preferred; otherwise, a remote updated version is not preferred. Typically, when the resource is newly released, it can be set to "internet primary" so that updates can be delivered to the users as soon as the updates are available on the server; when the final version of the resource is released or the product is no longer supported, the configuration parameter can be updated to turn off "internet primary" (e.g., when an update version of the configuration file is downloaded as a resource used for determining configuration parameters), and thus the local version is the preferred (and current) version.
Configuration file 601 also contains entry 605 which specifies the remote content base address. In one embodiment of the present invention, the remote content base address is in the URL format. Thus, the address of the remote server and the protocol to contact the remote server for retrieval are included in the remote content base address. A resource controlled by the configuration file can be accessed from a location relative to the remote content base address. In one embodiment of the present invention, the updated version of a resource having a URL address relative to the configuration file is located at the same relative address with respect to the remote content base address. For example, if: i) the configuration file is MacHelp/configuration, ii) the resource controlled by the configuration file is MacHelp/Mail/index.htm, and iii) the remote content base address is http ://help.apple.com/machelp, then the complete URL for the updated version of the resource is http://help.apple.com/machelp/Mail/index.htm. From this description, it will be apparent to one skilled in the art that various configuration file formats and options can be used to map an address for a local resource to a remote address for retrieving an updated version of the resource. Furthermore, these configurations can be dynamically changed over time, such that at one point in time, the address for the resource is a remote server and another, later point in time, it is a first local file address and at yet another point in time, it is a second local file address. A configuration file can specify a number of alternative remote or local content base addresses so that the updated version of the resource may be obtained from a number of different alternative locations. Different protocols (e.g., HTTP, FTP, etc) and server addresses may be specified. In other embodiments of the present invention, a configuration file can also explicitly specify the remote addresses of the updated version of the resources. The configuration information can be embedded in certain resource files (e.g., index HTML files), or be stored in separate configuration files.
FIG. 7 illustrates a scheme to specify parameters for dynamically locating resources according to one embodiment of the present invention. The locally installed resources are organized in a typical file tree in the local file system. For example, folder 701 contains help documents on a system. Folders 711-715 located inside folder 701 contain help documents for programs Finder, Sherlock, and Mail respectively. Folders 711, 713 and 715 correspond to folders 721, 731 and 741 respectively. Configuration file 717 controls (specifies the configuration parameters for) the resource files in folder 701. A configuration file in a folder also recursively controls the resource files in its child folders of various levels that do not have configuration files in the their own folders and that do not have configuration files in the corresponding parent folders except the folder itself. For example, folder 741 contains no configuration file. Its closest parent folder that has a configuration file contains the configuration file that controls the resources in it. Thus, configuration file 717 controls the resources in folder 741. Since folders 721 and 731 contain configuration files 727 and 737 respectively, configuration file 717 will not control any of the files in folders 721 and 731 and their child folders. When such a scheme is used, existing help systems can be used without modification; and new configurations can be easily added to dynamically locate the resources according to the configuration files. The configuration files can also have corresponding remote updated versions. Thus, updated configuration files can be accessed from a server to control whether or not the remote version is preferred and to specify new locations for updated resources.
A configuration file is illustrated in the above examples to store the indicator of whether or not a version of the resource on a server is preferred. Whether or not a version of the resource on a server is preferred can also be determined according to system conditions, and/or a file on a remote server. For example, it may be determined that within a time period (e.g., one year) from a release date of the resource, the version of the resource on the server is preferred; after a time period (e.g., two years) from the release date, the version of the resource on the server is not preferred. Alternatively, a determination of whether or not a remote version of the resource is preferred can be made from other indicators, such as the release date and the version number of the operating system, the current date, options previously selected by a user, and others. Further, the address of the server may be hardwired, or determined from a search at a remote server, or determined from a file at a remote server or other locations.
When methods to dynamically locate resources according to various embodiments of the present invention are used in a Help system, such as a Help system which displays user help information for operating a computer through a web browser such as Internet Explorer, the latest version is always used when the client computer is connected to the server through a network connection (e.g., Internet). When a Help page is requested, references to the HTML resources are examined to determine if they can be substituted with newer versions on the server. However, if the client computer is not connected to the network, either copies of recently retrieved pages are used, or as a last resort, the locally installed files are displayed.
Thus, authors of the Help system don't need to know, or define, which part of the Help system will be remotely retrieved. They are free to concentrate on creating the information without the overhead of deciding which topics will be remotely or locally stored. With certain embodiments of the invention, different sections of the Help system can be designated as being local-only or remote-version-preferred. These designations can be changed at any time in the life cycle of the help documents, even after the system is installed on the client computer and even after the user has used the computer for some time. The various embodiments discussed herein typically use a help viewer program which may be a web browser, such as Internet Explorer or Netscape's Internet Navigator. These help viewer programs will typically read the help information files which include addresses which may be modified by the configuration files in the manner described herein.
The client computer transparently gets the latest "help" information, when connected to the network; yet the client computer still has full help information available, from the local file system when off the network. When new features are added, or new information about a product is available, the Help system can be silently updated (by, e.g., updating later versions from a server) and made available to the users without the necessity of publicizing and installing updated files and without requiring a software or operating system update or upgrade.
Although methods of various embodiments of the present invention are illustrated with URL addresses and HTTP protocol, it will apparent to one skilled in the art from this description that the present invention can be used with various different types of schemes for addressing and various different types protocols for retrieving resources. Further, the resources that can be dynamically located are not limited to those for displaying a document. It will be understood that various types of resources (e.g., device drivers, program components, packages for localization and translation, etc) can be dynamically located (or updated) using methods of various embodiments of the present invention.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
1. A method to retrieve a resource for a digital processing system, the method comprising:
receiving a request for a resource;
determining whether a first version of the resource on a remote server is preferred based on a first resource configuration parameter in a resource configuration file, wherein the resource configuration file that controls the resource contains the first resource configuration parameter indicating whether or not the first version of the resource on the remote server is preferred over any version of the resource stored locally on the digital processing system and a second resource configuration parameter indicating an address of the first version of the resource on the remote server;
determining whether the first version of the resource is retrievable through a network connection at the address indicated by the second resource configuration parameter if the first resource configuration parameter indicates that the first version of the resource is preferred;
downloading the first version of the resource from the remote server through the network connection to satisfy the request if the first version of the resource is retrievable through the network connection and the first version of the resource is preferred; and
loading a second version of the resource from a storage device of the digital processing system if the first version of the resource is not retrievable through the network connection or the first version of the resource is not preferred, wherein said downloading is in response to a determination that the first version of the resource is different from the second version of the resource.
2. A method as in claim 1 further comprising:
establishing automatically the network connection before said downloading if the network connection is not already established.
3. A method as in claim 2 wherein said establishing the network connection comprises:
instructing a modem to initiate a connection.
4. A method as in claim 1 wherein the first version of the resource is not retrievable through the network connection if no network connection to the remote server is available.
5. A method as in claim 4 wherein the first version of the resource is not retrievable through the network connection if said downloading is not successful.
6. A method as in claim 1 wherein the second version of the resource is different from the first version of the resource.
storing the first version of the resource on the storage device of the digital processing system if said downloading is successful.
determining an address of the remote server from the resource configuration file.
9. A machine readable storage medium storing executable computer program instructions which when executed by a digital processing system cause said system to perform a method to retrieve a resource for the digital processing system, the method comprising:
receiving a request for the resource;
loading a second version of the resource from a storage device of the digital processing system if the first version of the resource is not retrievable through the network connection or the first version of the resource is not preferred, wherein said downloading is in response to a determination that the first version of the resources is different from the second version of the resource.
10. A medium as in claim 9 wherein the method further comprises:
11. A medium as in claim 10 wherein said establishing the network connection comprises:
12. A medium as in claim 9 wherein the first version of the resource is not retrievable through the network connection if no network connection to the server is available.
13. A medium as in claim 12 wherein the first version of the resource is not retrievable through the network connection if said downloading is not successful.
14. A medium as in claim 9 wherein the second version of the resource is different from the first version of the resource.
17. A digital processing system to retrieve a resource, the digital processing system comprising:
a memory,
means for receiving, through a hardware input device, a request for the resource;
means for determining, through a processor, whether a first version of the resource on a remote server is preferred based on a first resource configuration parameter in a resource configuration file stored in the memory, wherein the resource configuration file that controls the resource contains the first resource configuration parameter indicating whether or not the first version of the resource on the remote server is preferred over any version of the resource stored locally on the digital processing system and a second resource configuration parameter indicating an address of the first version of the resource on the remote server;
means for determining whether the first version of the resource is retrievable through a network connection at the address indicated by the second resource configuration parameter if the first resource configuration parameter indicates that the first version of the resource is preferred;
means for downloading the first version of the resource from the remote server through a network connection to satisfy the request if the first version of the resource is retrievable through the network connection and the first version of the resource is preferred; and
means for loading a second version of the resource from a storage device of the digital processing system if the first version of the resource is not retrievable through the network connection or the first version of the resource is not preferred, wherein said downloading is in response to a determination that the first version of the resource is different from the second version of the resource.
18. A digital processing system as in claim 17 further comprising:
means for establishing automatically the network connection before downloading the first version of the resource if the network connection is not already established.
19. A digital processing system as in claim 18 wherein means for said establishing the network connection comprises:
means for instructing a modem to initiate a connection.
20. A digital processing system as in claim 17 wherein downloading the first version of the resource is in response to a determination that the first version of the resource is different from the second version of the resource.
21. A digital processing system as in claim 20 wherein the first version of the resource is not retrievable through the network connection if no network connection to the remote server is available.
22. A digital processing system as in claim 21 wherein the first version of the resource is not retrievable through the network connection if said downloading is not successful.
23. A digital processing system as in claim 17 wherein the second version of the resource is different from the first version of the resource.
means for storing the first version of the resource on the storage device of the digital processing system if downloading the first version of the resource is successful.
means for determining an address of the remote server from the resource configuration file.
26. A data processing system to retrieve a resource, the data processing system comprising:
memory storing a resource configuration file, and a second version of a resource;
a processor coupled to the memory, the processor configured to determine whether a first version of the resource on a remote server is preferred based on a first resource configuration parameter in the resource configuration file, wherein the resource configuration file that controls the resource contains the first resource configuration parameter indicating whether or not the first version of the resource on the remote server is preferred over any version of the resource stored locally in the memory of the data processing system and a second resource configuration parameter indicating an address of the first version of the resource on the remote server;
and wherein the processor is configured to determine whether the first version of the resource is retrievable through a network connection at the address indicated by the second resource configuration parameter if the first resource configuration parameter indicates that the first version of the resource is preferred;
and wherein the processor is configured to download the first version of the resource from the remote server through the network connection to satisfy a request for the resource if the first version of the resource is retrievable through the network connection and the first version of the resource on the remote server is preferred, and the processor loading the second version of the resource from the memory to satisfy the request if the first version of the resource is not retrievable through the network connection or the first version of the resource is not preferred.
27. A data processing system as in claim 26 wherein the processor establishes automatically the network connection before downloading the first version of the resource if the network connection is not already established.
28. A data processing system as in claim 27 wherein the processor instructs a modem to initiate a connection to establish the network connection.
29. A data processing system as in claim 26 wherein the processor downloads the first version of the resource in response to a determination that the first version of the resource is different from the second version of the resource.
30. A data processing system as in claim 29 wherein the first version of the resource is not retrievable through the network connection if no network connection to the remote server is available.
31. A data processing system as in claim 30 wherein the first version of the resource is not retrievable through the network connection if downloading the first version of the resource is not successful.
32. A data processing system as in claim 26 wherein the second version of the resource is different from the first version of the resource.
33. A data processing system as in claim 26 wherein the memory stores the first version of the resource if the processor downloads the first version of the resource successfully.
34. A data processing system as in claim 26 wherein the processor determines an address of the remote server from the resource configuration file.
US10/263,008 2002-10-01 2002-10-01 Method and apparatus for dynamically locating resources Active 2025-09-07 US7730155B1 (en)
US10/263,008 US7730155B1 (en) 2002-10-01 2002-10-01 Method and apparatus for dynamically locating resources
US15/214,268 US10367917B2 (en) 2002-10-01 2016-07-19 Method and apparatus for dynamically locating resources
US11/647,058 Continuation US7765277B1 (en) 2002-10-01 2006-12-27 Method and apparatus for dynamically locating resources
US11/647,057 Division US7730159B1 (en) 2002-10-01 2006-12-27 Method and apparatus for dynamically locating resources
US10/263,008 Active 2025-09-07 US7730155B1 (en) 2002-10-01 2002-10-01 Method and apparatus for dynamically locating resources
US11/647,058 Active US7765277B1 (en) 2002-10-01 2006-12-27 Method and apparatus for dynamically locating resources
US15/214,268 Active US10367917B2 (en) 2002-10-01 2016-07-19 Method and apparatus for dynamically locating resources
US20070260809A1 (en) * 2004-09-16 2007-11-08 Kenichiroh Hara Communication Between Image-Related Apparatus and Information Apparatus
US20110179040A1 (en) * 2010-01-15 2011-07-21 Microsoft Corporation Name hierarchies for mapping public names to resources
US20110265080A1 (en) * 2010-04-27 2011-10-27 Jack Matthew Dynamic retrieval of installation packages when installing software
US20130151996A1 (en) * 2011-12-13 2013-06-13 Jorge Nario Dynamically Generating a Mobile Application
US20140095666A1 (en) * 2012-10-02 2014-04-03 At&T Intellectual Property I, L.P. Managing Resource Access in Distributed Computing Environments
US20150296005A1 (en) * 2012-11-29 2015-10-15 Sony Corporation Receiving device, receiving method, transmission device, transmission method, and program
US20160147944A1 (en) * 2014-11-24 2016-05-26 Practice Fusion, Inc. Offline electronic health record management
US9542172B2 (en) 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US10013497B1 (en) * 2013-12-20 2018-07-03 Google Llc Background reloading of currently displayed content
US8839417B1 (en) * 2003-11-17 2014-09-16 Mcafee, Inc. Device, system and method for defending a computer network
US7975030B2 (en) * 2006-05-09 2011-07-05 Cisco Technology, Inc. Remote configuration of devices using a secure connection
US7966384B2 (en) * 2008-08-04 2011-06-21 Flat Hill Ideas, Llc Real-time interactive system and method for making and updating changes to infrastructure data
US20100198947A1 (en) * 2009-02-04 2010-08-05 Raytheon Company System and Method for Dynamically Processing Electronic Data Between Multiple Data Sources
US8843505B2 (en) * 2009-04-03 2014-09-23 Epic Systems Corporation Healthcare record system and method for providing improved portable data
US9100385B1 (en) * 2010-10-01 2015-08-04 Google Inc. Management and synchronization of electronic media content information
JP5798503B2 (en) * 2012-01-31 2015-10-21 株式会社日立ソリューションズ File list generation method and system, file list generation device, and program
JP5759915B2 (en) * 2012-02-15 2015-08-05 株式会社日立ソリューションズ File list generation method and system, program, and file list generation device
CN104423839A (en) * 2013-08-30 2015-03-18 中兴通讯股份有限公司 Browser resource display method and device
US9413682B2 (en) * 2014-02-07 2016-08-09 International Business Machines Corporation Provisioning legacy systems network architecture resource communications through a group of servers in a data center
JP2016177445A (en) * 2015-03-19 2016-10-06 株式会社リコー Information processing apparatus, program, and information processing system
US20170201599A1 (en) * 2016-01-08 2017-07-13 Elo Touch Solutions, Inc. Device controller and viewer
US5754774A (en) * 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6505243B1 (en) 1999-06-02 2003-01-07 Intel Corporation Automatic web-based detection and display of product installation help information
US20030088716A1 (en) * 2001-11-07 2003-05-08 Sanders Scott D. Client version advertisement service for overriding default client version properties
US6735741B1 (en) 1999-07-30 2004-05-11 International Business Machines Corporation Method system, and program for dynamic resource linking when copies are maintained at different storage locations
US6757706B1 (en) * 1999-01-28 2004-06-29 International Business Machines Corporation Method and apparatus for providing responses for requests of off-line clients
US6976057B2 (en) * 1999-12-27 2005-12-13 Nec Corporation Content acquiring device, method, and system using valid terms to keep a cache up-to-date
US20060206450A1 (en) * 2001-04-03 2006-09-14 Fletcher Thomas O Computer file management system
US20080209410A1 (en) * 2002-03-21 2008-08-28 International Business Machines Corporation Method and system for updating attachment files
Family Cites Families (154)
US4454098A (en) 1983-12-01 1984-06-12 Gte Products Corporation Process for reclaiming tungsten from a hazardous waste
US4747040A (en) 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
US4787026A (en) 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
KR910007027B1 (en) 1987-03-28 1991-09-16 Toshiba Corp Memory access control apparatus
US5040110A (en) 1987-10-30 1991-08-13 Matsushita Electric Industrial Co., Ltd. Write once read many optical disc storage system having directory for storing virtual address and corresponding up-to-date sector address
US5146568A (en) 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US5131089A (en) 1989-06-12 1992-07-14 Grid Systems Corporation Solid state disk drive emulation
EP0419064A3 (en) 1989-09-22 1992-08-05 International Business Machines Corporation Computer system having apparatus for providing pointing device independent support in an operating environment
JPH0727505B2 (en) 1990-02-12 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Interface method and interface system
US5325529A (en) 1990-05-18 1994-06-28 Compaq Computer Corporation External boot information loading of a personal computer
EP0476195A1 (en) 1990-09-19 1992-03-25 International Business Machines Corporation Initial program load for computer workstation
US5291584A (en) 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5452454A (en) 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
BR9204660A (en) 1991-12-20 1993-06-22 Ibm System computer network that includes an interface for small computer systems (SCSI) to SCSI devices not local
JPH05289854A (en) 1992-04-08 1993-11-05 Olympus Optical Co Ltd Access device for external storage device
US5339430A (en) 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US6438683B1 (en) 1992-07-28 2002-08-20 Eastman Kodak Company Technique using FIFO memory for booting a programmable microprocessor from a host computer
US5454098A (en) 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
US5603011A (en) 1992-12-11 1997-02-11 International Business Machines Corporation Selective shadowing and paging in computer memory systems
US5483647A (en) 1992-12-17 1996-01-09 Bull Hn Information Systems Inc. System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US6006029A (en) 1993-09-28 1999-12-21 Bull Hn Information Systems Inc. Emulating disk drives of a first system on a second system
US5548783A (en) 1993-10-28 1996-08-20 Dell Usa, L.P. Composite drive controller including composite disk driver for supporting composite drive accesses and a pass-through driver for supporting accesses to stand-alone SCSI peripherals
US5666293A (en) 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5724530A (en) 1994-07-25 1998-03-03 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides remote launching of files
US6130668A (en) 1994-07-25 2000-10-10 Apple Computer, Inc. Supervisory control system for networked multimedia workstations that provides simultaneous observation of multiple remote workstations
US6314438B1 (en) 1994-07-25 2001-11-06 Apple Computer, Inc. Displaying workstations requests in differentiating manner according to their respective priorities
US5694583A (en) 1994-09-27 1997-12-02 International Business Machines Corporation BIOS emulation parameter preservation across computer bootstrapping
US5742829A (en) 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5764992A (en) 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US6807558B1 (en) 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information "push" technology
US5802297A (en) 1995-07-03 1998-09-01 Sun Microsystems, Inc. Client-server computer system and method utilizing a local client disk drive as a data cache
US5758165A (en) 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
US5692129B1 (en) 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
US6204847B1 (en) 1995-07-17 2001-03-20 Daniel W. Wright Shared virtual desktop collaborative application system
JP2710594B2 (en) 1995-09-20 1998-02-10 日本コーリン株式会社 Blood pressure measurement device
US5946469A (en) 1995-11-15 1999-08-31 Dell Computer Corporation Computer system having a controller which emulates a peripheral device during initialization
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
GB2309104B (en) 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
US6292941B1 (en) 1996-04-30 2001-09-18 Sun Microsystems, Inc. Operating system installation
US5784581A (en) 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
US6016402A (en) 1996-05-21 2000-01-18 Iomega Corporation Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US5890014A (en) 1996-08-05 1999-03-30 Micronet Technology, Inc. System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US6006034A (en) 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5892909A (en) * 1996-09-27 1999-04-06 Diffusion, Inc. Intranet-based system with methods for co-active delivery of information to multiple users
EP0838950A1 (en) 1996-10-23 1998-04-29 Alcatel Alsthom Compagnie Generale D'electricite Terminal for video communication
US5948101A (en) 1996-12-02 1999-09-07 The Foxboro Company Methods and systems for booting a computer in a distributed computing system
US6009274A (en) 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6128734A (en) 1997-01-17 2000-10-03 Advanced Micro Devices, Inc. Installing operating systems changes on a computer system
US5918048A (en) 1997-03-17 1999-06-29 International Business Machines Corporation Booting an operating system using soft read-only storage (ROS) for firmware emulation
US5915106A (en) 1997-03-20 1999-06-22 Ricoh Company, Ltd. Method and system for operating a scanner which emulates a disk drive
US6535976B1 (en) 1997-03-27 2003-03-18 International Business Machines Corporation Initial program load in data processing network
US5968170A (en) 1997-04-23 1999-10-19 Advanced Micro Devices, Inc. Primary swap size increase on a UNIX based computer system
US6023585A (en) 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6134614A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6012103A (en) 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US6073205A (en) 1997-07-10 2000-06-06 National Instruments Corporation System and method of write posting in a universal serial bus system
JPH1165996A (en) 1997-08-11 1999-03-09 Toshiba Corp Network computer and initializing processing method therefor
US6266809B1 (en) 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US5926631A (en) 1997-08-15 1999-07-20 International Business Machines Corporation Network computer emulator systems, methods and computer program products for personal computers
US6009480A (en) 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
JP3342650B2 (en) 1997-09-19 2002-11-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Peripheral device for a computer of the external-internal shared
US6185678B1 (en) 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6205473B1 (en) 1997-10-03 2001-03-20 Helius Development Corporation Method and system for asymmetric satellite communications for local area networks
JPH11110324A (en) 1997-10-07 1999-04-23 Hitachi Ltd Substitutive server selector and substitutive server
US6181713B1 (en) 1997-10-27 2001-01-30 Sun Microsystems, Inc. Selectable depacketizer architecture
US5958020A (en) 1997-10-29 1999-09-28 Vlsi Technology, Inc. Real time event determination in a universal serial bus system
US6202091B1 (en) 1997-12-08 2001-03-13 Nortel Networks Limited Process and apparatus for initializing a computer from power up
AU1820599A (en) 1997-12-12 1999-06-28 Alcatel Usa Sourcing, L.P. Telecom platform system and method
US5928020A (en) * 1998-01-27 1999-07-27 Mattel, Inc. Power connector system for a ride-on vehicle
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
JP4343282B2 (en) 1998-02-10 2009-10-14 富士通株式会社 Composite communication terminal device management system and composite communication terminal device
GB2334354B (en) 1998-02-13 2003-04-16 Ibm Booting a computer system from a network
US6374363B1 (en) 1998-02-24 2002-04-16 Adaptec, Inc. Method for generating a footprint image file for an intelligent backup and restoring system
US5974547A (en) 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6067618A (en) 1998-03-26 2000-05-23 Innova Patent Trust Multiple operating system and disparate user mass storage resource separation for a computer system
US6198558B1 (en) 1998-04-07 2001-03-06 Nortel Networks Limited Architecture repartitioning to simplify outside-plant component of fiber-based access system
US6211856B1 (en) 1998-04-17 2001-04-03 Sung M. Choi Graphical user interface touch screen with an auto zoom feature
US6175917B1 (en) 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6173417B1 (en) 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6330653B1 (en) 1998-05-01 2001-12-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
US6330715B1 (en) 1998-05-19 2001-12-11 Nortel Networks Limited Method and apparatus for managing software in a network system
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6253209B1 (en) 1998-07-07 2001-06-26 International Business Machines Corporation Method for parallel, remote administration of mirrored and alternate volume groups in a distributed data processing system
US6209031B1 (en) 1998-07-17 2001-03-27 International Business Machines Corporation Configuring computer network operations based upon a sequence of interactive user entries into a network server computer with a one time entry of data commonly required by multiple clients
US6209089B1 (en) 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6178503B1 (en) 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6357040B1 (en) 1998-10-21 2002-03-12 Wildseed Limited Usage characteristic based software customization
US6066182A (en) 1998-11-05 2000-05-23 Platinum Technology Ip, Inc. Method and apparatus for operating system personalization during installation
US6279030B1 (en) 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
US6161176A (en) 1998-11-20 2000-12-12 Microsoft Corporation System and method for storing configuration settings for transfer from a first system to a second system
US6275851B1 (en) 1998-12-07 2001-08-14 International Business Machines Corporation Data processing system and method for remotely controlling modification of a client's initialization settings
US6170008B1 (en) 1998-12-07 2001-01-02 Mediaone Group, Inc. On-the-fly trivial file transfer protocol
US6334149B1 (en) 1998-12-22 2001-12-25 International Business Machines Corporation Generic operating system usage in a remote initial program load environment
US6434695B1 (en) 1998-12-23 2002-08-13 Apple Computer, Inc. Computer operating system using compressed ROM image in RAM
US6597658B1 (en) * 1998-12-28 2003-07-22 At&T Corp. Hierarchical telecommunications network with fault recovery
US6279109B1 (en) 1999-01-07 2001-08-21 Dell U.S.A., L.P. Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US6466972B1 (en) 1999-03-31 2002-10-15 International Business Machines Corporation Server based configuration of network computers via machine classes
US6401093B1 (en) 1999-03-31 2002-06-04 International Business Machines Corporation Cross file system caching and synchronization
US6578078B1 (en) * 1999-04-02 2003-06-10 Microsoft Corporation Method for preserving referential integrity within web sites
US6345294B1 (en) 1999-04-19 2002-02-05 Cisco Technology, Inc. Methods and apparatus for remote configuration of an appliance on a network
US6421777B1 (en) 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6718549B1 (en) 1999-05-05 2004-04-06 Microsoft Corporation Methods for managing the distribution of client bits to client computers
US6519633B1 (en) 1999-05-27 2003-02-11 International Business Machines Corporation Installable file system for client in a computer network
US6611915B1 (en) 1999-05-27 2003-08-26 International Business Machines Corporation Selective loading of client operating system in a computer network
US6477642B1 (en) 1999-06-18 2002-11-05 Phoenix Technologies Ltd. Method and apparatus for extending BIOS control of screen display beyond operating system boot process
US6631442B1 (en) 1999-06-29 2003-10-07 Emc Corp Methods and apparatus for interfacing to a data storage system
US6564232B1 (en) 1999-06-30 2003-05-13 International Business Machines Corporation Method and apparatus for managing distribution of change-controlled data items in a distributed data processing system
US6543004B1 (en) 1999-07-29 2003-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for archiving and restoring data
US6529948B1 (en) 1999-08-31 2003-03-04 Accenture Llp Multi-object fetch component
US6490677B1 (en) 1999-09-16 2002-12-03 International Business Machines Corporation Method and system for automatically configuring the boot process of a computer having multiple bootstrap programs within a network computer system
US6487601B1 (en) 1999-09-30 2002-11-26 International Business Machines Corporation Dynamic mac allocation and configuration
US6578069B1 (en) 1999-10-04 2003-06-10 Microsoft Corporation Method, data structure, and computer program product for identifying a network resource
US6751658B1 (en) 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
TW539982B (en) 1999-10-25 2003-07-01 Sony Corp Content providing system, content distribution method, and memory medium
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US6625754B1 (en) 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US7577754B2 (en) 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
US7552233B2 (en) 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
US7162539B2 (en) 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US7565450B2 (en) 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
US6728787B1 (en) 2000-03-31 2004-04-27 Mitsubishi Electric Research Labs, Inc System and method for locating and installing device drivers for peripheral devices
US7725596B2 (en) 2000-04-28 2010-05-25 Adara Networks, Inc. System and method for resolving network layer anycast addresses to network layer unicast addresses
US7908337B2 (en) 2000-04-28 2011-03-15 Adara Networks, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7343422B2 (en) 2000-04-28 2008-03-11 Adara Networks, Inc. System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
US7089553B1 (en) 2000-10-12 2006-08-08 International Business Machines Corporation Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration
US6944857B1 (en) 2000-10-12 2005-09-13 International Business Machines Corporation Method, system, computer program product, and article of manufacture for updating a computer program according to a stored configuration
US6725401B1 (en) * 2000-10-26 2004-04-20 Nortel Networks Limited Optimized fault notification in an overlay mesh network via network knowledge correlation
US6785885B2 (en) 2000-12-28 2004-08-31 Intel Corporation Mechanism for automatically securing licensing for unlicenced codec
US7281047B2 (en) * 2001-01-16 2007-10-09 Cognos Incorporated System and method for automatic provision of an application
US7089551B2 (en) 2001-02-06 2006-08-08 Hewlett-Packard Development Company, L.P. System for installing peripheral software during peripheral installation
US20040015953A1 (en) * 2001-03-19 2004-01-22 Vincent Jonathan M. Automatically updating software components across network as needed
US6996076B1 (en) 2001-03-29 2006-02-07 Sonus Networks, Inc. System and method to internetwork wireless telecommunication networks
US6671748B1 (en) 2001-07-11 2003-12-30 Advanced Micro Devices, Inc. Method and apparatus for passing device configuration information to a shared controller
US20030041125A1 (en) * 2001-08-16 2003-02-27 Salomon Kirk C. Internet-deployed wireless system
US6854112B2 (en) 2001-08-29 2005-02-08 International Business Machines Corporation System and method for the automatic installation and configuration of an operating system
US7180858B1 (en) 2001-09-10 2007-02-20 Adara Networks, Inc. Tool for measuring available bandwidth in computer networks
US7529225B2 (en) * 2001-11-16 2009-05-05 Ibasis, Inc. System and method for voice over internet protocol (VoIP) and facsimile over internet protocol (FoIP) calling over the internet
US6976252B2 (en) 2002-05-17 2005-12-13 Hewlett-Packard Development Company, L.P. Systems and methods for driver installation
US7076774B2 (en) 2002-09-10 2006-07-11 Microsoft Corporation Infrastructure for generating a downloadable, secure runtime binary image for a secondary processor
US7797353B1 (en) * 2002-09-13 2010-09-14 Cadence Design Systems, Inc. Method and system for enhancing software documentation and help systems
US7249354B2 (en) 2003-10-14 2007-07-24 Microsoft Corporation System and method for deploying a software build from a plurality of software builds to a target computer
US8219697B2 (en) * 2006-05-17 2012-07-10 Oracle International Corporation Diameter protocol and SH interface support for SIP server architecture
US8223658B2 (en) * 2007-04-10 2012-07-17 Siemens Enterprise Communications Gmbh & Co. Kg Method for operating a mesh-type network, particularly as defined in an IEEE 802.11S standard, formed by a plurality of network nodes
WO2009070179A1 (en) * 2007-12-01 2009-06-04 Lucent Technologies, Inc. Ims diameter router with load balancing
US8359015B2 (en) * 2007-12-27 2013-01-22 Alcatel Lucent Method of providing a call completion service to a not registered or not available user in a telecommunication network
CN102845026B (en) * 2010-02-12 2016-06-29 泰克莱克股份有限公司 For providing the method for initial route, system and computer-readable medium at DIAMETER node place
US9860390B2 (en) * 2011-08-10 2018-01-02 Tekelec, Inc. Methods, systems, and computer readable media for policy event record generation
US8280975B2 (en) * 2004-09-16 2012-10-02 Canon Kabushiki Kaisha Image supply apparatus and imaging apparatus, an information processing apparatus and control method thereof, and communication system
US10275538B2 (en) * 2010-01-15 2019-04-30 Microsoft Technology Licensing, Llc Name hierarchies for mapping public names to resources
US9904733B2 (en) * 2010-01-15 2018-02-27 Microsoft Technology Licensing, Llc Name hierarchies for mapping public names to resources
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US9465600B2 (en) 2010-04-27 2016-10-11 Apple Inc. Dynamic retrieval of installation packages when installing software
US10379831B2 (en) 2010-04-27 2019-08-13 Apple Inc. Dynamic retrieval of installation packages when installing software
US8918712B2 (en) * 2011-12-13 2014-12-23 Fmr Llc Dynamically generating a mobile application
US9646021B2 (en) * 2012-10-02 2017-05-09 At&T Intellectual Property I, L.P. Managing resource access in distributed computing environments
US9979781B2 (en) * 2012-11-29 2018-05-22 Saturn Licensing Llc Receiving device, receiving method, transmission device, transmission method, and program
US9760681B2 (en) * 2014-11-24 2017-09-12 Practice Fusion, Inc. Offline electronic health record management
US5978828A (en) 1999-11-02 URL bookmark update notification of page content or location changes
US6256668B1 (en) 2001-07-03 Method for identifying and obtaining computer software from a network computer using a tag
US6892381B2 (en) 2005-05-10 Updating a device driver with mechanism employing two files one containing changes (variable file) and a file containing unchanged code (invariable file) downloading both to update
ES2250872T3 (en) 2006-04-16 Method and appliance to provide contents to a mobile terminal.
US6453342B1 (en) 2002-09-17 Method and apparatus for selective caching and cleaning of history pages for web browsers
US6785865B1 (en) 2004-08-31 Discoverability and navigation of hyperlinks via tabs
CN1129083C (en) 2003-11-26 System and method for updating remote database in network
US5974460A (en) 1999-10-26 Apparatus and method for selecting an optimum telecommunications link
US6751777B2 (en) 2004-06-15 Multi-target links for navigating between hypertext documents and the like
EP0811939B1 (en) 2005-08-31 Method and apparatus for providing proxying and transcoding of documents in a distributed metwork
US7600226B2 (en) 2009-10-06 Device driver updating method and program, information processing apparatus and server apparatus using the same, and storage for storing device driver updating program
US8103742B1 (en) 2012-01-24 Deferred and off-loaded rendering of selected portions of web pages to incorporate late-arriving service data
JP4335559B2 (en) 2009-09-30 Method and apparatus for peer-to-peer file sharing
US5845084A (en) 1998-12-01 Automatic data display formatting with a networking application
KR101433981B1 (en) 2014-08-26 Offline execution of web based applications
DE69709959T2 (en) 2009-09-24 Use of polymorphic file packages to upgrade software components
KR100246071B1 (en) 2000-03-15 Web server mechanism for processing function calls for dynamic data queries in a web page
JP3967806B2 (en) 2007-08-29 Computerized method and resource nomination mechanism for nominating a resource location
US6408316B1 (en) 2002-06-18 Bookmark set creation according to user selection of selected pages satisfying a search condition
US7853943B2 (en) 2010-12-14 Intelligent patch checker
US6163779A (en) 2000-12-19 Method of saving a web page to a local hard drive to enable client-side browsing
CN100440208C (en) 2008-12-03 A method and system for improving presentation of html pages in web devices
US6810410B1 (en) 2004-10-26 Customizing a client application using an options page stored on a server computer
US20100107150A1 (en) 2010-04-29 Terminal having application update managing function, and application update managing program and system
EP1503303A2 (en) 2005-02-02 System and method for managing objects stored in a cache
Owner name: APPLE COMPUTER INC.,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MEYER, GORDON ROSS;KAHN, JESSICA;REEL/FRAME:013366/0650
Owner name: APPLE INC.,CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:APPLE COMPUTER, INC.;REEL/FRAME:019214/0039
Owner name: APPLE INC., CALIFORNIA
2011-11-15 CC Certificate of correction
2017-11-16 MAFP Maintenance fee payment
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)


If you have sustained injuries as a result of a car or motorbike accident or have been injured in a "slip and fall" accident, do not hesitate to contact us. We have handled almost two thousand personal injury claims since the opening of our firm in 2009. We will help you to obtain a compensation for the damages to your car or motorbike, we will assist you with your medical treatment and we will present a claim against the person who caused your damages to obtain a monetary compensation you deserve for your pain and sufferings.
If you do not have health insurance, we will assist you in finding qualified medical providers such as chiropractors, pain management specialists, orthopedic surgeons, acupuncturists, dentists, psychologists and medical specialists who will treat your injuries on a lien basis, waiting until the settlement of your case to be paid. We will assist you with your car repairs or in obtaining a just compensation for your car or motorcycle if your vehicle is deemed a total loss. We will represent you on a contingency agreement, which means that we will not charge attorney's fees unless we win your case.


The Agenda show has come to represent everything hip, happening and viable in the action sports, streetwear and lifestyle sector. And, this week, hot on the heels of the show's flagship Long Beach event came Agenda New York. Located conveniently in the heart of Manhattan, this season's show hosted 250 brands over nearly 100,000 square feet. Mirroring Long Beach but on a more intimate, edited scale, Agenda New York is the perfect juxtaposition to the East Coast menswear market and is ideally located for buyers in the Eastern and Southern United States as well as brands and retailers from Europe.
With an overall 30% increase in attendees, Agenda New York welcomed notable, repeat names such as Shopbob, Val Surf, Tilly's, TopMan, Amazon and Finish Line as well as new folks like BrandBlack, Ransom, Zanerobe, Maui & Sons and Barney Cools.
Only the second stop on the Agenda world tour, New York proved a worthwhile buying and selling expedition. Surf's up again at Agenda Las Vegas in August at the Sands Hotel.


text:
With Open-Source Hardware, Adafruit Helps Businesses Share and Make Products for Cheap
Learn how Open Source Hardware is helping small businesses share ideas and manufacture products at a low cost.
by Rich Thomas
Manufacturing - Sep 8 2014 - 3 min read
Adafruit CEO Limor Fried
As the maker movement presses onward, and the proliferation of digital labs brings engineers and users closer together, the open-source hardware culture is democratizing technology one widget at a time.
"Open-source hardware gives people the freedom to control their technology while sharing knowledge and encouraging commerce through the open exchange of designs."
Inside the Adafruit factory
That sentence was taken directly from Open Source Hardware Statement of Principles 1.0, a preamble of sorts located in the Definition section of the Open Source Hardware Association (OSHWA) website. Part blog, part doctrine, the site serves as a hub for this ever-growing community of creators. Knowledge is power, resources are communal, and the ecosystem stays in harmony through a modest yet well-policed set of rules and best practices (which can be found here, if you're interested).
Some might argue that this DIY culture originated—or at least came to a well-publicized head—back in the mid-'70s with the Homebrew Computer Club, a group of Silicon Valley hobbyists who jumpstarted the PC. So why, nearly 40 years later, has the simple concept of sharing ideas become such a pivotal practice for the small businesses of today?
"Apple and Commodore computers used to come with schematics and repair instructions because they often needed tweaking," says Limor Fried, founder and CEO of Adafruit Technologies, who we name-checked in a previous article on Manufacturing Trends. "Now we're heading towards having more of our consumer electronics 'glued shut.' Open-source hardware is the best way for the engineers of the future—and other engineer-curious people—to understand what's going on under the hood of the devices that surround them."
Simply put, companies like Adafruit, Arduino, and Bug Labs sell hardware that anyone can access or modify. (Think RadioShack on steroids.) Those components are then used by impassioned creators to build anything from laptops to children's toys.
As demand increases for unique, customizable products, innovation follows suit. Take Andrew "bunnie" Huang's Novena laptop, a product Fried describes as one of the most impactful open-source breakthroughs of the past five years. Built using components that have a "reasonably complete set of NDA-free documentation," the laptop reached 287 percent of its funding goal this past May via CrowdSupply.com. But open-source hardware innovations aren't limited to complex tech. From LED-infused, 3D-printed "Fire Horns" to Christmas tree toppers, there's a little something for everyone.
"We have enough low-cost sensors and low-power technology to be able to design small wearable devices," says Fried of the kits her company offers. "Wearables are also a great way to get all sorts of people interested in electronics, from fashion to jewelry to medical to sports. Our new FLORA and GEMMA platforms for maker-wearables are the largest-growing market segments we see."
In addition to keeping costs down by circumventing expensive licenses, open-source practices can increase a company's efficiency and mitigate risk through a "hive-mind" approach to problem solving. For small businesses, that's a win-win scenario, especially if you're dealing with manufactured goods with a potentially high overhead.
Champions of Autodesk's free 123D Design software, Adafruit find themselves at the leading edge of this movement, and they've got the revenue numbers to show for it: $4.5 million in 2011 and the potential to crest the $20 million mark once 2014 is in the books. Not only has Fried been a Wired cover star, but she was also named Entrepreneur of 2012 by Entrepreneur Magazine. She attributes her company's success to a simple phenomenon.
One of Adafruit's machines
"It takes longer to do something simple and elegant than hard and unusable," says Fried. "Our customers and community often say how easy something is to make and build when it comes to Adafruit, and it's because we found all the mistakes and the challenges and distilled it to the simplest possible steps to an often-challenging category: engineering."
Open-source hardware significantly shortens the gap between the concepts of "project" and "product," and in conjunction with the boom in Additive Manufacturing, is creating fertile ground for growth in the small-business world.
#Additive Manufacturing
Rich Thomas is an internationally published, award-winning journalist whose writing has been featured in over 30 magazines, newspapers and websites, including the Los Angeles Times, Ray Gun, RollingStone.com, and Flaunt.
5 Digital Trends That Will Define Manufacturing's Future
The Built World's Backbone: Working With Steel Fabricators, From Mill to Model
The Digital Factory and Connected Data Are the Future of Manufacturing
What Is Generative Design, and How Can It Be Used in Manufacturing?
by Dan Miles
History of 3D Printing: It's Older Than You Think
by Drew Turney
At Ego, a UK Artist Rebuilds the Tattoo Machine to Save the Hand That Inks

redpajama_set_name: RedPajamaCommonCrawl


GO Fest celebrates what Whistler is all about, the great outdoors! Go Fest returns to Whistler Victoria Day Long weekend, which is the time of year when you can ski, snowboard, bike, fish, run, paddle board, canoe and kayak all in one day. Go Fest 's activities include sports, arts and culture, music and more.
The concert schedule is still being finalized.
Visit Whistler's Great Outdoors Festival for a full schedule of events.


A woman in Long Island has filed a lawsuit against Samsung after she Samsung Galaxy Note 9 caught fire inside her purse after getting extremely hot, a device that comes with a price tag of roughly 72,535 rupees and has a massive 4000mAh battery.
A New York real estate agent Diane Chung said in her claim that she was utilizing the Samsung Galaxy Note 9 on September 3, 2018 when it all of a sudden turned out to become extremely hot. She quit utilizing it and put it inside her handbag yet before long heard a shrieking and shrieking sound just to see a thick smoke leaving her satchel.
The suit expresses that she burnt her fingers endeavoring to lift the telephone up. The fire originating from the Samsung Galaxy Note 9 proceeded to the point when an onlooker lifted the telephone up with a material and dunked it into a basin of water.
Diane Chung recorded charges in Queens Supreme Court looking for unspecified harms in addition to a limiting requests to prevent Samsung from offering the handset.
"Samsung takes customer safety very seriously and we stand behind the quality of the millions of Galaxy devices in use in the United States. We have not received any reports of similar incidents involving a Galaxy Note 9 device and we are investigating the matter." a spokesperson for Samsung told the New York Post.
This report brings back recollections of Samsung's most exceedingly terrible bad dreams from 2016, where it needed to review the Samsung Galaxy Note 7 after numerous reports of blasts. The blame was then reassigned to be in the battery, and the organization has from that point forward needed to make different affirmations of a protected battery in the successor Galaxy Note 8, and now with the Galaxy Note 9 also.


We know people have been killed by climate change. That's true both in the broader sense that every single weather event we experience is different from a parallel Earth that didn't go through decades of human GHG emissions, and more specifically that some killer weather has been made worse in general (e.g., heat waves). What's been difficult to say is whether a specific killer event is randomly-caused as opposed to being exacerbated by climate change (although maybe not always impossible). And even when you can definitively say a specific killer heat wave was made worse, it would be hard to say who was killed by the "natural" level of the heat and who was killed by the anthropogenic increase in severity.
SLR is the one thing that's different from weather - if an effect can be traced to sea level rise, it can be traced to climate change. In the case of mass casualties from tropical storms, this should be possible to figure out.
Haiyan/Yolanda's effects on the Philippines is the best example so far, although there doubtless will be more. Six thousand people were killed, with the storm surge considered the deadliest effect. Worst-hit areas had storm surges of 13 to 17 feet, with many people drowning in an evacuation center where the lower floors were submerged.
In most of the world, the present SLR is only a few inches, making it harder to attribute damage from sea level rise as opposed to the natural level of storm surge. Philippines is different, with three to four times the amount of sea level rise as the global average, making the surge about a foot higher than it would have been.
My assumption is that deaths attributable to Yolanda storm surge decreases with elevation, and that above a certain level, the amount of surge wasn't enough to collapse structures (people would have died above that elevation, but from other causes). The storm surge deaths in the foot of elevation below that certain level were caused by sea level rise and by climate change, and that foot of elevation change can be a pretty wide swath of flat land. Maybe someone can go and find who those people were.
Not all the storm deaths within that band would've been caused by the surge, but deaths from collapsing structures seem to be pretty likely candidates. Many people lower down would've also been killed by sea level rise, or others higher up killed by other climate change effects on the storm, but they're hard to identify. What I'm trying to show here is the faces of people we could say with a fair degree of certainty were killed by climate change.
And if no one gets to figure this out with respect to what happened in the Philippines, then there's always next time.
I wrote about Carteret Island because it's really endangered. Here's a link to a study about a Philippine island you may wish to discuss. I picked a basket case.
I presume that if you asked Steve Koonin, he would point out that the ocean in the Philippine trench is roughly 10 km deep, so a 6 meter storm surge is only a 0.06 percent effect.
Russell: "nobody seems interested in funding the identification od specific victims of continental drift"
Yeah! Stop continental drift now!


text:
Latest revision as of 17:33, 13 March 2017 (edit) (undo)
m (→References: Added a recent publication)
{{Stub-water}}
The page treats the models for [[water]] proposed over the years by Arieh Ben-Naim and co-workers.
==BNS model==
The '''BNS''' model was proposed by Ben-Naim and Stillinger (Ref. 1).
The '''BNS''' model was proposed by Ben-Naim and Stillinger <ref name="multiple1">A. Ben-Naim and F.H. Stillinger "Aspects of the Statistical-Mechanical Theory of Water", in "Structure and Transport of Processes in Water and Aqueous Solutions", Wiley-Interscience, New York pp. 295-330 (1972)</ref>.
====References====
#A. Ben-Naim and F.H. Stillinger "Aspects of the Statistical-Mechanical Theory of Water", in "Structure and Transport of Processes in Water and Aqueous Solutions", Wiley-Interscience, New York pp. 295-330 (1972)
==Mercedes-Benz model==
The so called '''Mercedes-Benz''' model of water is a two dimensional model proposed in 1971 (Refs. 1 and 2).
The so called '''Mercedes-Benz''' model of water is a two dimensional model proposed in 1971 <ref>[http://dx.doi.org/10.1063/1.1675414 A. Ben-Naim "Statistical Mechanics of "Waterlike" Particles in Two Dimensions. I. Physical Model and Application of the Percus–Yevick Equation", Journal of Chemical Physics '''54''' pp. 3682-3695 (1971)]</ref><ref>[http://dx.doi.org/10.1080/00268977200101851 A. Ben-Naim "Statistical mechanics of water-like particles in two-dimensions II. One component system", Molecular Physics '''24''' pp. 705-721 (1972)]</ref>. The three dimensional version of the model <ref name="multiple1"> </ref> has been studied in <ref>[http://dx.doi.org/10.1063/1.3183935 Cristiano L. Dias, Tapio Ala-Nissila, Martin Grant, and Mikko Karttunen "Three-dimensional "Mercedes-Benz" model for water", Journal of Chemical Physics '''131''' 054505 (2009)]</ref><ref>[http://dx.doi.org/10.1063/1.3259970 Alan Bizjak, Tomaz Urbic, Vojko Vlachy, and Ken A. Dill "Theory for the three-dimensional Mercedes-Benz model of water", Journal of Chemical Physics '''131''' 194504 (2009)]</ref>.
#[http://dx.doi.org/10.1063/1.1675414 A. Ben-Naim "Statistical Mechanics of "Waterlike" Particles in Two Dimensions. I. Physical Model and Application of the Percus–Yevick Equation", Journal of Chemical Physics '''54''' pp. 3682-3695 (1971)]
#[http://dx.doi.org/10.1080/00268977200101851 A. Ben-Naim "Statistical mechanics of water-like particles in two-dimensions II. One component system", Molecular Physics '''24''' pp. 705-721 (1972)]
==Primitive model==
<ref>Ben-Naim "Statistical Thermodynamics for Chemists and Biochemists", Plenum, New York (1992)</ref>
#Ben-Naim "Statistical Thermodynamics for Chemists and Biochemists", Plenum, New York (1992)
<ref name="multiple2" >[http://dx.doi.org/10.1063/1.2818051 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. I. Pure liquid water", Journal of Chemical Physics '''128''' 024505 (2008)]</ref>
#[http://dx.doi.org/10.1063/1.2818051 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. I. Pure liquid water", Journal of Chemical Physics '''128''' 024505 (2008)]
<ref name="multiple3">[http://dx.doi.org/10.1063/1.2818067 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. II. Solvation of inert solutes in water", Journal of Chemical Physics '''128''' 024506 (2008)]</ref>
#[http://dx.doi.org/10.1063/1.2818067 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. II. Solvation of inert solutes in water", Journal of Chemical Physics '''128''' 024506 (2008)]
<ref>[http://dx.doi.org/10.1063/1.2899730 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. III. Solvation of hard rods in aqueous mixtures", Journal of Chemical Physics '''128''' 164507 (2008)]</ref>
<ref>[http://dx.doi.org/10.1063/1.2976442 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. IV. A study of "hydrophobic interactions"", Journal of Chemical Physics '''129''' 104506 (2008)]</ref>
==Primitive cluster model==
<ref>[http://dx.doi.org/10.1063/1.1672463 Ronald A. Lovett and A. Ben-Naim "One-Dimensional Model for Aqueous Solutions of Inert Gases", Journal of Chemical Physics '''51''' pp. 3108-3119 (1969)]</ref>
#[http://dx.doi.org/10.1063/1.1672463 Ronald A. Lovett and A. Ben-Naim "One-Dimensional Model for Aqueous Solutions of Inert Gases", Journal of Chemical Physics '''51''' pp. 3108-3119 (1969)]
<ref name="multiple2" > </ref>
;Related reading
*[http://dx.doi.org/10.1063/1.4977214 T. Urbic and T. Mohoric "Effects of translational and rotational degrees of freedom on properties of the Mercedes–Benz water model", Journal of Chemical Physics '''146''' 094505 (2017)]
BNS model[edit]
The BNS model was proposed by Ben-Naim and Stillinger [1].
Mercedes-Benz model[edit]
The so called Mercedes-Benz model of water is a two dimensional model proposed in 1971 [2][3]. The three dimensional version of the model [1] has been studied in [4][5].
Primitive model[edit]
[6] [7] [8] [9] [10]
Primitive cluster model[edit]
[11] [7] [8]
↑ 1.0 1.1 A. Ben-Naim and F.H. Stillinger "Aspects of the Statistical-Mechanical Theory of Water", in "Structure and Transport of Processes in Water and Aqueous Solutions", Wiley-Interscience, New York pp. 295-330 (1972) Cite error: Invalid <ref> tag; name "multiple1" defined multiple times with different content
↑ A. Ben-Naim "Statistical Mechanics of "Waterlike" Particles in Two Dimensions. I. Physical Model and Application of the Percus–Yevick Equation", Journal of Chemical Physics 54 pp. 3682-3695 (1971)
↑ A. Ben-Naim "Statistical mechanics of water-like particles in two-dimensions II. One component system", Molecular Physics 24 pp. 705-721 (1972)
↑ Cristiano L. Dias, Tapio Ala-Nissila, Martin Grant, and Mikko Karttunen "Three-dimensional "Mercedes-Benz" model for water", Journal of Chemical Physics 131 054505 (2009)
↑ Alan Bizjak, Tomaz Urbic, Vojko Vlachy, and Ken A. Dill "Theory for the three-dimensional Mercedes-Benz model of water", Journal of Chemical Physics 131 194504 (2009)
↑ Ben-Naim "Statistical Thermodynamics for Chemists and Biochemists", Plenum, New York (1992)
↑ 7.0 7.1 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. I. Pure liquid water", Journal of Chemical Physics 128 024505 (2008) Cite error: Invalid <ref> tag; name "multiple2" defined multiple times with different content
↑ 8.0 8.1 Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. II. Solvation of inert solutes in water", Journal of Chemical Physics 128 024506 (2008) Cite error: Invalid <ref> tag; name "multiple3" defined multiple times with different content
↑ Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. III. Solvation of hard rods in aqueous mixtures", Journal of Chemical Physics 128 164507 (2008)
↑ Arieh Ben-Naim "One-dimensional model for water and aqueous solutions. IV. A study of "hydrophobic interactions"", Journal of Chemical Physics 129 104506 (2008)
↑ Ronald A. Lovett and A. Ben-Naim "One-Dimensional Model for Aqueous Solutions of Inert Gases", Journal of Chemical Physics 51 pp. 3108-3119 (1969)
T. Urbic and T. Mohoric "Effects of translational and rotational degrees of freedom on properties of the Mercedes–Benz water model", Journal of Chemical Physics 146 094505 (2017)