History.

Creation and early years (1909–1921).

While the Stanley Cup was created in 1893 as the Canadian amateur hockey championship, professional teams were openly competing for the trophy by 1907. Albert Grey, 4th Earl Grey, the Governor General of Canada, planned to donate a new trophy to serve as the senior amateur championship; however, Sir Montague Allan donated the Allan Cup before he could finalize his plans. Grey instead offered an award for the Canadian amateur rugby football championship beginning in 1909. He initially failed to follow through on his offer; the trophy was not ordered until two weeks prior to the first championship game.  The first Grey Cup game was held on December 4, 1909, between two Toronto clubs: the University of Toronto Varsity Blues defeated the Parkdale Canoe Club 26–6 before 3,800 fans. The trophy was not ready for presentation following the game, and the Varsity Blues did not receive

Western participation (1922–1932).

Competition for the Grey Cup was limited to member unions of the CRU, the champions of which petitioned the league body for the right to challenge for the national championship. The Western Canada Rugby Football Union (WCRFU) was formed in 1911, but the CRU did not come to a participation agreement with it until 1921, allowing the Edmonton Eskimos (no lineage to the similarly-named team operating since 1949) of the WCRFU to challenge. Facing the Argonauts in the 9th Grey Cup, the Eskimos became the first western team – and the first from outside Toronto or Hamilton – to compete for the trophy. The Argonauts entered the game with an undefeated record, having outscored their opposition 226 to 55 during the season. They dominated Edmonton, recording the first shutout in Grey Cup history with a 23–0 victory. Multi-sport star Lionel Conacher was

Progress towards professionalism (1933–1956).

As the quality of senior football improved, university teams realized they were no longer able to compete on equal footing and withdrew from competition for the Grey Cup in 1933. By 1938, only three unions continued to compete under the banner of the CRU: the IRFU and the Ontario Rugby Football Union (ORFU) in the east, and the Western Interprovincial Football Union (WIFU) in the west. The CRU experimented with a two-game, total points series to determine the champion in 1940. The Ottawa Rough Riders won both games against Toronto's Balmy Beach, 8–2 and 12–5. The Grey Cup returned to

Canadian Football League kicks off (1957–1969).

In the CFL's initial seasons, the Hamilton Tiger-Cats were the league's dominant team, appearing in nine Grey Cups and winning four titles between 1957 and 1967. The Winnipeg Blue Bombers opposed Hamilton on six of those occasions, winning four titles. The two teams were involved in a series of bizarre incidents, the first occurring during the 1957 Grey Cup. Toronto-based lawyer and fan David Humphrey had talked his way past stadium security and had been allowed to watch the game from the sidelines. Ten minutes into the fourth quarter, Hamilton's Ray Bawel intercepted a pass and it appeared he would return the ball for a touchdown when Humphrey stuck his leg out and tripped Bawel as he ran up the sideline. Unsure how to handle the situation as there was no rule designed to cover it, referee Paul Dojack invented one on the spot. He placed the ball half the distance to the Winnipeg goal line from the point Bawel was tripped. The incident did not affect the final score, as Hamilton won 32–7. The league also created a new rule during the

Eskimos' dynasty (1970–1988).

The Montreal Alouettes' 1970 Grey Cup championship, an upset win over the favoured Calgary Stampeders, served as a morale booster for the city of Montreal, which was reeling in the aftermath of the October Crisis. The 1970s belonged to the Edmonton Eskimos, however, as they ended the decade as one of the most dominant teams in CFL history, reaching the Grey Cup nine times between 1973 and 1982. The team competed in three consecutive finals early in the decade, losing to Ottawa in 1973 and Montreal in 1974, before winning the franchise's fourth championship in 1975. The 1975 championship was held in Calgary and was the first

CFL USA (1989–1995).

The 1989 Grey Cup is considered one of the finest games in Canadian football history: The Saskatchewan Roughriders defeated the Hamilton Tiger-Cats 43–40 in the highest scoring Grey Cup game of all-time. Saskatchewan kicker Dave Ridgway's last-second field goal won the game and made him a legend in the prairie province.  Declining interest in the CFL during the 1990s left the league in financial difficulty. Hoping to restore the league's credibility with fans, a new ownership group featuring Bruce McNall, hockey player Wayne Gretzky and actor John Candy purchased the Toronto Argonauts in 1991 and lured American college standout Rocket Ismail to Canada with a four-year, $26.2 million contract which made him the highest paid player in football history at that time. The Argonauts reached the 1991 Grey Cup and defeated the Calgary Stampeders 36–21. With 261 all-purpose yards on the game, including a then-Grey Cup record 87-yard kickoff return for a touchdown, Ismail was named Grey Cup Most Valuable Player.  The potential for the league to enter the

Renaissance (1996–present).

The league approached the 1996 Grey Cup in dire financial straits: the American expansion had been a failure, the 120-year-old Ottawa Rough Riders franchise ceased operations at the conclusion of the regular season, and out of the eight remaining teams, seven had lost money and two required direct assistance from the league to stay afloat. The Edmonton Eskimos could not afford to bring their players' families to the championship game. The "Toronto Star" echoed fears spoken by fans and media across the country when it asked if the 1996 championship, won by Toronto over Edmonton, would be the final Grey Cup.  While the league struggled, the Grey Cup game itself

Trophy.

The trophy was commissioned in 1909 at a cost of $48. The chalice is made of sterling silver and stands tall. Its original base was made of wood, with silver shields listing each championship year and winning team's name, beginning with the University of Toronto Varsity Blues. The players of the 1915 championship Hamilton team, apparently as revenge for Toronto's refusal to relinquish the trophy in 1912 and 1913, added a shield for the 1908 Tigers team to give the appearance that their organization had won the first Grey Cup.  A 1947 fire destroyed the clubhouse of the Toronto Argonaut Rowing Club and damaged the Grey Cup. Many other trophies and artifacts in the clubhouse melted or were damaged beyond repair but the Grey Cup survived by catching onto a nail attached to a surviving wall when the shelf upon which it sat collapsed. The trophy has been broken on six other occasions: in 1978, when it was dropped by celebrating Edmonton Eskimos players; in 1987, when an Eskimos' player sat on it; in 1993, when Edmonton's Blake Dermott head-butted it; in 2006, when the chalice broke away from its base as the BC Lions celebrated their victory; in 2012 when one of the handles broke off as the Toronto Argonauts celebrated; in 2014 when the chalice broke away from its base again as the Calgary Stampeders celebrated their win. The CFL commissioned a replica of the trophy in

Grey Cup festival.

Each year, the host city organizes numerous events as part of the annual Grey Cup festival. Gala concerts, parties, and fan festivals are held in the days leading up to the championship game. The CFL hands out its annual awards during the festival, and an annual Grey Cup parade is held. Historically, the festival also featured the "Miss Grey Cup" beauty pageant; this was discontinued in 1992. The game itself includes a performance of the Canadian national anthem (usually sung in both English and French, the official languages of the game) and a halftime show, often featuring performances by well-known Canadian musical acts such as Nickelback, who performed at the 2011 game.  Nicknamed Canada's "Grand National Drunk", the Grey Cup party originated in the 1948 championship when hundreds of Calgary Stampeders fans descended on Toronto for their team's first appearance in the game. Bringing chuckwagons and horses, the fans organized a pancake breakfast – a

Champions.

The Toronto Argonauts have won the most Grey Cup championships (17), followed by the Edmonton Eskimos (14) and Winnipeg Blue Bombers (11). The Winnipeg Blue Bombers have made the most Grey Cup appearances (25). Since the Canadian Football League began in 1958, the Eskimos have won the most Grey Cup Championships (11) and have made the most Grey Cup appearances (19). The Saskatchewan Roughriders have the most losses in Grey Cup play (15), including five consecutive losses between 1928 and 1932. The defending champions are the Winnipeg Blue Bombers who won the 107th Grey Cup in 2019, their first win since 1990. Six teams in CFL history have won the Grey Cup at home, the 2013 Saskatchewan Roughriders, the 2012 Toronto Argonauts, the 2011 BC Lions, the 1994 BC Lions, the 1977 Montreal Alouettes, and 1972 Hamilton Tiger-Cats.  Individually,

Venue.

Host cities.

The city of Toronto has hosted the most Grey Cup games with 48, including 30 of the first 45 games played. The first game was held on December 4, 1909, at Rosedale Field. Hamilton and Ottawa hosted several early games while Sarnia and Kingston each hosted one as the game's early years were dominated by teams in southern Ontario. The Grey Cup game and champion first left the province in 1931, when

Stadiums.

22 separate stadiums have hosted the Grey Cup. The following lists stadiums which have hosted Grey Cups.

Broadcasting.

The Grey Cup game was first broadcast on radio in 1928. The Canadian Broadcasting Corporation (CBC) carried radio coverage of the game for 51 years until 1986, when a network of private broadcasters took over.  Canadian television was in its infancy in 1952 when Toronto's CBLT paid $7,500 for the rights to carry the first televised broadcast of a Grey Cup game. Within two years, it was estimated that 80 percent of the nation's 900,000 television sets were tuned into the game, even though the first national telecast did not occur until 1957. The Grey Cup continues to be one of Canada's most-viewed sporting events. The 1962 "Fog Bowl" game was the first Grey Cup to be broadcast on American television.  The CBC carried the first national telecasts exclusively, but the CTV Television Network purchased rights to the 1962 game. The move

References.

Bibliography

The Grey Cup () is the name of both the championship game of the Canadian Football League (CFL) and the trophy awarded to the victorious team playing in the namesake championship of professional Canadian football. It is contested between the winners of the CFL's East and West Divisional playoffs and is one of Canadian television's largest annual sporting events. The Toronto Argonauts have the most Grey Cup wins (17) since its introduction in 1909, while the Edmonton Eskimos have the most Grey Cup wins (11) since the creation of the CFL in 1958. The latest, the 107th Grey Cup, took place in Calgary, Alberta, on November 24, 2019, when the Winnipeg Blue Bombers defeated the Hamilton Tiger-Cats 33–12.

格雷杯(英文:The Grey Cup、法文:La Coupe Grey)是加拿大加式橄榄球联盟的冠军赛,也是该项赛事的冠军奖杯。


History.

It was opened as a railway station called Bromley by the London, Tilbury and Southend Railway (LTSR) in 1858, on its new line to Barking from the terminus at Fenchurch Street, a more direct route than the route hitherto used. On 17 May 1869 a spur opened from Bow railway station on the North London Railway line to Bromley Junction, just to the west of the station. A shuttle service operated between Bow and Plaistow until wartime economies saw the service withdrawn on 1 January 1915. The main reason for building this spur was however for freight use.  Increasing use of the station to catch services provided by the LTSR, the NLR and Great Eastern Railway (GER)—which ran services from Fenchurch Street to North Woolwich—saw plans drawn up in 1892 to construct a new station. A fire on 20 December of that year saw these plans brought forward and work was started early in 1893. Bromley Junction was moved west to accommodate this work and a new 36 lever signal box was opened with the re-sited junction on 1 October 1893. The new station to the west of St. Leonards Street (now Blackwall Tunnel Northern Approach) was opened on 1 March 1894 and the old station on the other side of the bridge was closed.  In 1898 the goods yard was opened on the south side of the line and to the east of the station.  The construction of the Whitechapel and Bow Railway allowed the District Railway (now known as the District line) to start serving the station in 1902, and initially steam services operated through to East Ham with some operating as far as Upminster. The District Line joined the main line at Campbell Road Junction also to the west of the station (and Bromley Junction). Electrification of the system followed in 1905. Delayed by World War I, electrified tracks were extended by the London, Midland and Scottish Railway (LMS) to Upminster and through services fully resumed in 1932. Congestion of the railway through Bromley saw additional tracks provided in 1905. Two new Local Lines (which were the new electrified lines) were added on the north side of the station along with two new platform faces and improved passenger facilities. The new lines, which stretched as far as Abbey Mills Junction (where the North Woolwich trains diverged from the main line), opened on 1 August 1905.  In 1912 the LTSR was taken over by the Midland Railway, although on 1 January 1923 this was grouped into the London Midland & Scottish Railway. In 1927 the local lines were re-signalled with colour light signalling.  The District Railway was incorporated into London Transport in 1933, and became known as the District line. The Hammersmith & City line (then part of the Metropolitan line) started operating services through Bromley on 4 May 1936. The 1947 timetable shows only a few services a day provided by the LMS and a frequent service provided by the District and a peak hours service of the Metropolitan line (now part of the Hammersmith & City line). After nationalisation of the railways in 1948 management of the station passed to British Railways London Midland region although it was then transferred to the Eastern Region on 20 February 1949. The remaining Fenchurch Street–Southend services were withdrawn in 1962 when the main lines were electrified with 25 kV overhead lines.  On 13 September 1959 the spur between Bromley and Bow (NLR) was closed and three years later in 1962, the goods yard closed. The station was renamed to Bromley-by-Bow in 1967, to prevent confusion with Bromley station in the London Borough of Bromley. The continued management of the station by an organisation now providing none of the services became more of an anomaly and in 1969 ownership transferred to the London Underground which came under the authority of the London Transport Executive of the Greater London Council. Another fire in February 1970 led to the demolition of the station buildings (dating from 1894) and a new modern booking office opened on 11 June 1972.

Bomb discovery.

On 2 June 2008, an unexploded bomb from World War II was found near where the line crosses the Prescott Channel, not far from the station, causing disruption to trains.

The station today.

The station entrance is at a higher level than the platforms (being situated on the road bridge crossing the rail tracks) which are accessible by stairs and lifts. There are no escalators. The station has four platforms, of which only two are currently in use; serving the District and Hammersmith & City lines, which share a track at this point, in both directions. The remaining two platforms formerly served the London, Tilbury and Southend Railway (now operated by c2c). Three ticket barriers and a gate control access to all platforms.  In 2018, lifts were installed at the station, the 73rd on the Underground to gain step-free access. All these upgrades were funded by Transport for London in partnership with Tower Hamlets and London Legacy Development Corporation.

Services.

Hammersmith & City line.

The typical off-peak service in trains per hour (tph) is:

District line.

This is the typical off-peak service frequency. During peak times trains also operate to Wimbledon. During off-peak times, 3 trains per hour from Wimbledon terminate at Barking (as of December 2014).

Connections.

London Buses routes 323, 488 and D8 serve the station.

In popular culture.

In the BBC soap opera "EastEnders", the fictional Walford East Underground station takes the place of Bromley-by-Bow.

Bromley-by-Bow is a London Underground station located on the Blackwall Tunnel Northern Approach Road in the Bromley-by-Bow area of London, United Kingdom. The station is below the Blackwall Tunnel Northern Approach Road and lies between Bow Road and West Ham stations on the District and Hammersmith & City lines, and is in both Travelcard Zones 2 and 3.

堡贝门利站(英语:Bromley-by-Bow tube station),是伦敦地铁区域线和汉默史密斯及城市线位於伦敦东部堡贝门利的车站。本站位於伦敦第2及第3收费区交界。


Etymology.

"Mojibake" means "character transformation" in Japanese. The word is composed of (moji, ), "character" and (bake,, pronounced "bah-keh"), "transform".

Causes.

To correctly reproduce the original text that was encoded, the correspondence between the encoded data and the notion of its encoding must be preserved. As mojibake is the instance of non-compliance between these, it can be achieved by manipulating the data itself, or just relabeling it.  Mojibake is often seen with text data that have been tagged with a wrong encoding; it may not even be tagged at all, but moved between computers with different default encodings. A major source of trouble are communication protocols that rely on settings on each computer rather than sending or storing metadata together with the data.  The differing default settings between computers are in part due to differing deployments of Unicode among operating system families, and partly the legacy encodings' specializations for different writing systems of human languages. Whereas Linux distributions mostly switched to UTF-8 in 2004, Microsoft Windows still uses codepages for text files that differ between languages.  For some writing systems, an example being Japanese, several encodings have historically been employed, causing users to see mojibake relatively often. As a Japanese example, the word "mojibake" "文字化け" stored as EUC-JP might be incorrectly displayed as "ハクサ ス、ア", "ハクサ嵂ス、ア" (MS-932), or "ハクサ郾ス、ア" (Shift JIS-2004). The same text stored as UTF-8 is displayed as "譁 蟄怜喧縺 " if interpreted as Shift JIS. This is further exacerbated if other locales are involved: the same UTF-8 text appears as "æ–‡å—åŒ–ã‘" in software that assumes text to be in the Windows-1252 or ISO-8859-1 encodings, usually labelled Western, or (for example) as "鏂囧瓧鍖栥<unk>" if interpreted as being in a GBK (Mainland China) locale.

Underspecification.

If the encoding is not specified, it is up to the software to decide it by other means. Depending on the type of software, the typical solution is either configuration or charset detection heuristics. Both are prone to mis-prediction in not-so-uncommon scenarios.  The encoding of text files is affected by locale setting, which depends on the user's language, brand of operating system and possibly other conditions. Therefore, the assumed encoding is systematically wrong for files that come from a computer with a different setting, or even from a differently localized software within the same system. For Unicode, one solution is to use a byte order mark, but for source code and other machine readable text, many parsers don't tolerate this. Another is storing the encoding as metadata in the file system. File systems that support extended file attributes can store this as codice_1. This also requires support in software that wants to take advantage of it, but does not disturb other software.  While a few encodings are easy to detect, in particular UTF-8, there are many that are hard to distinguish (see charset detection). A web browser may not be able to distinguish a page coded in EUC-JP and another in Shift-JIS if the coding scheme is not assigned explicitly using HTTP headers sent along with the documents, or using the HTML document's meta tags that are used to substitute for missing HTTP headers if the server cannot be configured to send the proper HTTP headers; see character encodings in HTML.

Mis-specification.

Mojibake also occurs when the encoding is wrongly specified. This often happens between encodings that are similar. For example, the Eudora email client for Windows was known to send emails labelled as ISO-8859-1 that were in reality Windows-1252. The Mac OS version of Eudora did not exhibit this behaviour. Windows-1252 contains extra printable characters in the C1 range (the most frequently seen being the typographically correct quotation marks and dashes), that were not displayed properly in software complying with the ISO standard; this especially affected software running under other operating systems such as Unix.

Human ignorance.

Of the encodings still in use, many are partially compatible with each other, with ASCII as the predominant common subset. This sets the stage for human ignorance:

Overspecification.

When there are layers of protocols, each trying to specify the encoding based on different information, the least certain information may be misleading to the recipient. For example, consider a web server serving a static HTML file over HTTP. The character set may be communicated to the client in any number of 3 ways:

Lack of hardware/software support.

Much older hardware is typically designed to support only one character set and the character set typically cannot be altered. The character table contained within the display firmware will be localized to have characters for the country the device is to be sold in, and typically the table differs from country to country. As such, these systems will potentially display mojibake when loading text generated on a system from a different country. Likewise, many early operating systems do not support multiple encoding formats and thus will end up displaying mojibake if made to display non-standard text- early versions of Microsoft Windows and Palm OS for example, are localized on a per-country basis and will only support encoding standards relevant to the country the localized version will be sold in, and will display mojibake if a file containing a text in a different encoding format from the version that the OS is designed to support is opened.

Resolutions.

Applications using UTF-8 as a default encoding may achieve a greater degree of interoperability because of its widespread use and backward compatibility with US-ASCII. UTF-8 also has the ability to be directly recognised by a simple algorithm, so that well written software should be able to avoid mixing UTF-8 up with other encodings.  The difficulty of resolving an instance of mojibake varies depending on the application within which it occurs and the causes of it. Two of the most common applications in which mojibake may occur are web browsers and word processors. Modern browsers and word processors often support a wide array of character encodings. Browsers often allow a user to change their rendering engine's encoding setting on the fly, while word processors allow the user to select the appropriate encoding when opening a file. It may take some trial and error for users to find the correct encoding.  The problem gets more complicated when it occurs in an application that normally does not support a wide range of character encoding, such as in a non-Unicode computer game. In this case, the user must change the operating system's encoding settings to match that of the game. However, changing the system-wide encoding settings can also cause Mojibake in pre-existing applications. In Windows XP or later, a user also has the option to use Microsoft AppLocale, an application that allows the changing of per-application locale settings. Even so, changing the operating system encoding settings is not possible on earlier operating systems such as Windows 98; to resolve this issue on earlier operating systems, a user would have to use third party font rendering applications.

Problems in different writing systems.

English.

Mojibake in English texts generally occurs in punctuation, such as em dashes (—), en dashes (–), and curly quotes (“,”,‘,’), but rarely in character text, since most encodings agree with ASCII on the encoding of the English alphabet. For example, the pound sign "£" will appear as "Â£" if it was encoded by the sender as UTF-8 but interpreted by the recipient as CP1252 or ISO 8859-1. If iterated using CP1252, this can lead to "Ã‚Â£", "Ãƒâ€šÃ‚Â£", "ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â£", etc.  Some computers did, in older eras, have vendor-specific encodings which caused mismatch also for English text. Commodore brand 8-bit computers used PETSCII encoding, particularly notable for inverting the upper and lower case compared to standard ASCII. PETSCII printers worked fine on other computers of the era, but flipped the case of all letters. IBM mainframes use the EBCDIC encoding which does not match ASCII at all.

Other Western European languages.

The alphabets of the North Germanic languages, Catalan, Finnish, German, French, Portuguese and Spanish are all extensions of the Latin alphabet. The additional characters are typically the ones that become corrupted, making texts only mildly unreadable with mojibake:... and their uppercase counterparts, if applicable.  These are languages for which the ISO-8859-1 character set (also known as "Latin 1" or "Western") has been in use. However, ISO-8859-1 has been obsoleted by two competing standards, the backward compatible Windows-1252, and the slightly altered ISO-8859-15. Both add the Euro sign € and the French œ, but otherwise any confusion of these three character sets does not create mojibake in these languages. Furthermore, it is always safe to interpret ISO-8859-1 as Windows-1252, and fairly safe to interpret it as ISO-8859-15, in particular with respect to the Euro sign, which replaces the rarely used currency sign (¤). However, with the advent of UTF-8, mojibake has become more common in certain scenarios, e.g. exchange of text files between UNIX and Windows computers, due to UTF-8's incompatibility with Latin-1 and Windows-1252. But UTF-8 has the ability to be directly recognised by a simple algorithm, so that well written software should be able to avoid mixing UTF-8 up with other encodings, so this was most common when many had software not supporting UTF-8. Most of these languages were supported by MS-DOS default CP437 and other machine default encodings, except ASCII, so problems when buying an operating system version were less common. Windows and MS-DOS are not compatible however.  In Swedish, Norwegian, Danish and German, vowels are rarely repeated, and it is usually obvious when one character gets corrupted, e.g. the second letter in "kÃ¤rlek" (', "love"). This way, even though the reader has to guess between å, ä and ö, almost all texts remain legible. Finnish text, on the other hand, does feature repeating vowels in words like'("wedding night") which can sometimes render text very hard to read (e.g.'appears as "hÃ¤Ã¤yÃ¶"). Icelandic and Faroese have ten and eight possibly confounding characters, respectively, which thus can make it more difficult to guess corrupted characters; Icelandic words like'("outstanding hospitality") become almost entirely unintelligible when rendered as "Ã3⁄4jÃ3Ã°lÃ¶Ã°".  In German,'("letter salad") is a common term for this phenomenon, and in Spanish,'(literally deformation).  Some users transliterate their writing when using a computer, either by omitting the problematic diacritics, or by using digraph replacements (å → aa, ä/æ → ae, ö/ø → oe, ü → ue etc.). Thus, an author might write "ueber" instead of "über", which is standard practice in German when umlauts are not available. The latter practice seems to be better tolerated in the German language sphere than in the Nordic countries. For example, in Norwegian, digraphs are associated with archaic Danish, and may be used jokingly. However, digraphs are useful in communication with other parts of the world. As an example, the Norwegian football player Ole Gunnar Solskjær had his name spelled "SOLSKJAER" on his back when he played for Manchester United.  An artifact of UTF-8 misinterpreted as ISO-8859-1, "Ring meg nÃ¥" (""), was seen in an SMS scam raging in Norway in June 2014.

Central and Eastern European.

Users of Central and Eastern European languages can also be affected. Because most computers were not connected to any network during the mid- to late-1980s, there were different character encodings for every language with diacritical characters (see ISO/IEC 8859 and KOI-8), often also varying by operating system.

Hungarian.

Hungarian is another affected language, which uses the 26 basic English characters, plus the accented forms á, é, í, ó, ú, ö, ü (all present in the Latin-1 character set), plus the two characters ő and ű, which are not in Latin-1. These two characters can be correctly encoded in Latin-2, Windows-1250 and Unicode. Before Unicode became common in e-mail clients, e-mails containing Hungarian text often had the letters ő and ű corrupted, sometimes to the point of unrecognizability. It is common to respond to an e-mail rendered unreadable (see examples below) by character mangling (referred to as "betűszemét", meaning "garbage lettering") with the phrase "Árvíztűrő tükörfúrógép", a nonsense phrase (literally "Flood-resistant mirror-drilling machine") containing all accented characters used in Hungarian.

Polish.

Prior to the creation of ISO 8859-2 in 1987, users of various computing platforms used their own character encodings such as AmigaPL on Amiga, Atari Club on Atari ST and Masovia, IBM CP852, Mazovia and Windows CP1250 on IBM PCs. Polish companies selling early DOS computers created their own mutually-incompatible ways to encode Polish characters and simply reprogrammed the EPROMs of the video cards (typically CGA, EGA, or Hercules) to provide hardware code pages with the needed glyphs for Polish—arbitrarily located without reference to where other computer sellers had placed them.  The situation began to improve when, after pressure from academic and user groups, ISO 8859-2 succeeded as the "Internet standard" with limited support of the dominant vendors' software (today largely replaced by Unicode). With the numerous problems caused by the variety of encodings, even today some users tend to refer to Polish diacritical characters as ([kshach-kih], lit. "little shrubs").

Russian and other Cyrillic alphabets.

Mojibake may be colloquially called ( ) in Russian, which was and remains complicated by several systems for encoding Cyrillic. The Soviet Union and early Russian Federation developed KOI encodings (,, which translates to "Code for Information Exchange"). This began with Cyrillic-only 7-bit KOI7, based on ASCII but with Latin and some other characters replaced with Cyrillic letters. Then came 8-bit KOI8 encoding that is an ASCII extension which encodes Cyrillic letters only with high-bit set octets corresponding to 7-bit codes from KOI7. It is for this reason that KOI8 text, even Russian, remains partially readable after stripping the eighth bit, which was considered as a major advantage in the age of 8BITMIME-unaware email systems. For example, words "", encoded in KOI8 and then passed through the high bit stripping process, end up rendered as "[KOLA RUSSKOGO qZYKA". Eventually KOI8 gained different flavors for Russian/Bulgarian (KOI8-R), Ukrainian (KOI8-U), Belarusian (KOI8-RU) and even Tajik (KOI8-T).  Meanwhile, in the West, Code page 866 supported Ukrainian and Belarusian as well as Russian/Bulgarian in MS-DOS. For Microsoft Windows, Code Page 1251 added support for Serbian and other Slavic variants of Cyrillic.  Most recently, the Unicode encoding includes code points for practically all the characters of all the world's languages, including all Cyrillic characters.  Before Unicode, it was necessary to match text encoding with a font using the same encoding system. Failure to do this produced unreadable gibberish whose specific appearance varied depending on the exact combination of text encoding and font encoding. For example, attempting to view non-Unicode Cyrillic text using a font that is limited to the Latin alphabet, or using the default ("Western") encoding, typically results in text that consists almost entirely of vowels with diacritical marks. (KOI8 "" (, library) becomes "âÉÂÌÉÏÔÅËÁ".) Using Windows codepage 1251 to view text in KOI8 or vice versa results in garbled text that consists mostly of capital letters (KOI8 and codepage 1251 share the same ASCII region, but KOI8 has uppercase letters in the region where codepage 1251 has lowercase, and vice versa). In general, Cyrillic gibberish is symptomatic of using the wrong Cyrillic font. During the early years of the Russian sector of the World Wide Web, both KOI8 and codepage 1251 were common. As of 2017, one can still encounter HTML pages in codepage 1251 and, rarely, KOI8 encodings, as well as Unicode. (An estimated 1.7% of all web pages worldwide – all languages included – are encoded in codepage 1251.) Though the HTML standard includes the ability to specify the encoding for any given web page in its source, this is sometimes neglected, forcing the user to switch encodings in the browser manually.  In Bulgarian, mojibake is often called (), meaning "monkey's [alphabet]". In Serbian, it is called (), meaning "trash". Unlike the former USSR, South Slavs never used something like KOI8, and Code Page 1251 was the dominant Cyrillic encoding there before Unicode. Therefore, these languages experienced fewer encoding incompatibility troubles than Russian. In the 1980s, Bulgarian computers used their own MIK encoding, which is superficially similar to (although incompatible with) CP866.

Yugoslav languages.

Croatian, Bosnian, Serbian (the variants of the Yugoslav Serbo-Croatian language) and Slovenian add to the basic Latin alphabet the letters š, đ, č, ć, ž, and their capital counterparts Š, Đ, Č, Ć, Ž (only č/Č, š/Š and ž/Ž in Slovenian; officially, although others are used when needed, mostly in foreign names, as well). All of these letters are defined in Latin-2 and Windows-1250, while only some (š, Š, ž, Ž, Đ) exist in the usual OS-default Windows-1252, and are there because of some other languages.  Although Mojibake can occur with any of these characters, the letters that are not included in Windows-1252 are much more prone to errors. Thus, even nowadays, "šđčćž ŠĐČĆŽ" is often displayed as "šðèæž ŠÐÈÆŽ", although ð, è, æ, È, Æ are never used in Slavic languages.  When confined to basic ASCII (most user names, for example), common replacements are: š→s, đ→dj, č→c, ć→c, ž→z (capital forms analogously, with Đ→Dj or Đ→DJ depending on word case). All of these replacements introduce ambiguities, so reconstructing the original from such a form is usually done manually if required.  The Windows-1252 encoding is important because the English versions of the Windows operating system are most widespread, not localized ones. The reasons for this include a relatively small and fragmented market, increasing the price of high quality localization, a high degree of software piracy (in turn caused by high price of software compared to income), which discourages localization efforts, and people preferring English versions of Windows and other software.  The drive to differentiate Croatian from Serbian, Bosnian from Croatian and Serbian, and now even Montenegrin from the other three creates many problems. There are many different localizations, using different standards and of different quality. There are no common translations for the vast amount of computer terminology originating in English. In the end, people use adopted English words ("kompjuter" for "computer", "kompajlirati" for "compile," etc.), and if they are unaccustomed to the translated terms may not understand what some option in a menu is supposed to do based on the translated phrase. Therefore, people who understand English, as well as those who are accustomed to English terminology (who are most, because English terminology is also mostly taught in schools because of these problems) regularly choose the original English versions of non-specialist software.  When Cyrillic script is used (for Macedonian and partially Serbian), the problem is similar to other Cyrillic-based scripts.  Newer versions of English Windows allow the code page to be changed (older versions require special English versions with this support), but this setting can be and often was incorrectly set. For example, Windows 98/Me can be set to most non-right-to-left single-byte code pages including 1250, but only at install time.

Caucasian languages.

The writing systems of certain languages of the Caucasus region, including the scripts of Georgian and Armenian, may produce mojibake. This problem is particularly acute in the case of ArmSCII or ARMSCII, a set of obsolete character encodings for the Armenian alphabet which have been superseded by Unicode standards. ArmSCII is not widely used because of a lack of support in the computer industry. For example, Microsoft Windows does not support it.

Asian encodings.

Another type of mojibake occurs when text is erroneously parsed in a multi-byte encoding, such as one of the encodings for East Asian languages. With this kind of mojibake more than one (typically two) characters are corrupted at once, e.g. "k舐lek" () in Swedish, where "" is parsed as "舐". Compared to the above mojibake, this is harder to read, since letters unrelated to the problematic å, ä or ö are missing, and is especially problematic for short words starting with å, ä or ö such as "än" (which becomes "舅"). Since two letters are combined, the mojibake also seems more random (over 50 variants compared to the normal three, not counting the rarer capitals). In some rare cases, an entire text string which happens to include a pattern of particular word lengths, such as the sentence "Bush hid the facts", may be misinterpreted.

Japanese.

In Japanese, the phenomenon is, as mentioned, called. It is a particular problem in Japan due to the numerous different encodings that exist for Japanese text. Alongside Unicode encodings like UTF-8 and UTF-16, there are other standard encodings, such as Shift-JIS (Windows machines) and EUC-JP (UNIX systems). Mojibake, as well as being encountered by Japanese users, is also often encountered by non-Japanese when attempting to run software written for the Japanese market.

Chinese.

In Chinese, the same phenomenon is called "Luàn mǎ" (Pinyin, Simplified Chinese, Traditional Chinese, meaning 'chaotic code'), and can occur when computerised text is encoded in one Chinese character encoding but is displayed using the wrong encoding. When this occurs, it is often possible to fix the issue by switching the character encoding without loss of data. The situation is complicated because of the existence of several Chinese character encoding systems in use, the most common ones being: Unicode, Big5, and Guobiao (with several backward compatible versions), and the possibility of Chinese characters being encoded using Japanese encoding.  It is easy to identify the original encoding when "luanma" occurs in Guobiao encodings: An additional problem is caused when encodings are missing characters, which is common with rare or antiquated characters that are still used in personal or place names. Examples of this are Taiwanese politicians Wang Chien-shien ()'s "煊", Yu Shyi-kun ()'s "堃" and singer David Tao ()'s "喆" missing in Big5, ex-PRC Premier Zhu Rongji ()'s "镕" missing in GB2312, copyright symbol "©" missing in GBK.  Newspapers have dealt with this problem in various ways, including using software to combine two existing, similar characters; using a picture of the personality; or simply substituting a homophone for the rare character in the hope that the reader would be able to make the correct inference.

Indic text.

A similar effect can occur in Brahmic or Indic scripts of South Asia, used in such Indo-Aryan or Indic languages as Hindustani (Hindi-Urdu), Bengali, Punjabi, Marathi, and others, even if the character set employed is properly recognized by the application. This is because, in many Indic scripts, the rules by which individual letter symbols combine to create symbols for syllables may not be properly understood by a computer missing the appropriate software, even if the glyphs for the individual letter forms are available.  A particularly notable example of this is the old Wikipedia logo, which attempts to show the character analogous to "wi" (the first syllable of "Wikipedia") on each of many puzzle pieces. The puzzle piece meant to bear the Devanagari character for "wi" instead used to display the "wa" character followed by an unpaired "i" modifier vowel, easily recognizable as mojibake generated by a computer not configured to display Indic text. The logo as redesigned has fixed these errors.  The idea of Plain Text requires the operating system to provide a font to display Unicode codes. This font is different from OS to OS for Singhala and it makes orthographically incorrect glyphs for some letters (syllables) across all operating systems. For instance, the'reph', the short form for 'r' is a diacritic that normally goes on top of a plain letter. However, it is wrong to go on top of some letters like 'ya' or 'la' but it happens in all operating systems. This appears to be a fault of internal programming of the fonts. In Macintosh / iPhone, the muurdhaja l (dark l) and 'u' combination and its long form both yield wrong shapes.  Some Indic and Indic-derived scripts, most notably Lao, were not officially supported by Windows XP until the release of Vista. However, various sites have made free-to-download fonts.

Myanmar / Burmese.

Due to Western sanctions and the late arrival of Burmese language support in computers, much of the early Burmese localization were homegrown without international cooperation. The prevailing popular means of Burmese support is via Zawgyi font, a font that was created as Unicode font but only partially Unicode compliant. In Zawgyi font, some codepoints for Burmese script were implemented as specified in Unicode but others were not. The Unicode Consortium refers to this as "ad hoc font encodings". With the advent of mobile phones, mobile vendors such as Samsung and Huawei simply replace the Unicode compliant system fonts with Zawgyi versions.  This ad hoc font encodings basically introduced mojibake into Unicode text corpus. Communications between users of Zawgyi and Unicode would see each other's message as garbled text. To get around this issue, content producers would make posts in both Zawgyi and Unicode. Myanmar government has designated Oct 1 2019 as "U-Day" to officially switch to Unicode. The full transition is estimated to take two years.

African languages.

In certain writing systems of Africa, unencoded text is unreadable. Texts that may produce mojibake include those from the Horn of Africa such as the Ge'ez script in Ethiopia and Eritrea, used for Amharic, Tigre, and other languages, and the Somali language, which employs the Osmanya alphabet. In Southern Africa, the Mwangwego alphabet is used to write languages of Malawi and the Mandombe alphabet was created for the Democratic Republic of the Congo, but these are not generally supported. Various other writing systems native to West Africa present similar problems, such as the N'Ko alphabet, used for Manding languages in Guinea, and the Vai syllabary, used in Liberia.

Arabic.

Another affected language is Arabic (see below). The text becomes unreadable when the encodings do not match.

Examples.

The examples in this article do not have UTF-8 as browser setting, because UTF-8 is easily recognisable, so if a browser supports UTF-8 it should recognise it automatically, and not try to interpret something else as UTF-8.

Mojibake (;, ) is the garbled text that is the result of text being decoded using an unintended character encoding. The result is a systematic replacement of symbols with completely unrelated ones, often from a different writing system.

乱码指的是电脑系统不能显示正确的字符,而显示其他无意义的字符或空白,如一堆ASCII代码。这样所显示出来的文字统称为乱码。


Early life.

Imperioli was born in Mount Vernon, New York on March 26, 1966. His grandparents were from Lazio and Calabria. He is the son of Dan Imperioli, a bus driver and amateur actor, and Claire Imperioli, an amateur actress.

Career.

Imperioli has been nominated for two Golden Globe Awards as well as for five Emmy Awards for his work as Christopher Moltisanti on "The Sopranos"; he won one Emmy, for the show's fifth season in 2004.  In addition to his role on "The Sopranos", Imperioli has appeared in a number of films, including "Goodfellas", "Jungle Fever", "Bad Boys", "Malcolm X", "The Basketball Diaries", "Clockers", "Dead Presidents", "Girl 6", "My Baby's Daddy", "Lean on Me", "I Shot Andy Warhol", "Last Man Standing", "Shark Tale", "", and "Summer of Sam", which he also co-wrote and co-produced. He also wrote a number of episodes for "The Sopranos".  He served as artistic director of Studio Dante, an Off-Broadway theater he formed with his wife. He is also the lead singer/guitarist for a rock band named La Dolce Vita. He makes a brief appearance in the video for the 1983 hit 'Shiny Shiny' by British performance group Haysi Fantayzee.  Imperioli is an active member of The Jazz Foundation of America and co-hosted their May 2009 annual benefit concert, "A Great Night in Harlem", at the Apollo Theater, which celebrated the foundation's 20th anniversary.  He was a guest on episode MB2E08 ("San Giuseppe") of Mario Batali's Food Network television show "Molto Mario".  In 2010, Imperioli was signed on to play the lead in the ABC TV show "Detroit 1-8-7".  Working with the writer Gabriele Tinti, he wrote the text "Pride" for Tinti's book "New York Shots", and participated in a reading of "The Way of the Cross" at the Queens Museum of Art in 2011.  He won the "Tournament of Stars" competition on the cooking show "Chopped" in 2014, sending $50,000 to his designated charity the "Pureland Project", an organization which builds and maintains schools in rural Tibet. In 2016, he guest starred as the angel Uriel on the Fox show "Lucifer".  On March 13, 2019, Imperioli was cast in the lead role of Rick Sellitto in NBC drama series "".  Imperioli began hosting a podcast alongside Steve Schirripa called "Talking Sopranos", which began on April 6, 2020, where the two provide inside info as they follow "The Sopranos" series episode by episode.

Personal life.

Imperioli has been married to Victoria Chlebowski since 1995, lives in Santa Barbara, California, and has three children. He and his family are avid practitioners of Tae Kwon Do.

Michael Imperioli (; born March 26, 1966) is an American actor, writer and director best known for his role as Christopher Moltisanti on "The Sopranos", for which he won the Primetime Emmy Award for Outstanding Supporting Actor in a Drama Series in 2004. He also appeared in the TV drama series "Law & Order" as NYPD Detective Nick Falco. Imperioli spent the 2008-09 television season as Detective Ray Carling in the US version of "Life on Mars". He starred as Detective Louis Fitch in the ABC police drama "Detroit 1-8-7" in 2010-11.

米高·伊派里奥里(Michael Imperioli,1966年-3月26日)是一名美国演员、编剧和导演,他最出名是在电视剧《人在江湖》中饰演Christopher Moltisanti,为他在2004年赢得了黄金时段艾美奖剧情类最佳男配角。他也在电视剧《律政风云》中饰演纽约市警察局探员Nick Falco。他在2009年编剧和执导他第一部电影《The Hungry Ghosts》。


Description.

They are mostly long, with the exception of "Leptodora", which can be up to long. The body is not obviously segmented and bears a folded carapace which covers the thorax and abdomen.  The head is angled downwards, and may be separated from the rest of the body by a "cervical sinus" or notch. It bears a single black compound eye, located on the animal's midline, in all but two genera, and often, a single ocellus is present. The head also bears two pairs of antennae – the first antennae are small, unsegmented appendages, while the second antennae are large, segmented, and branched, with powerful muscles. The first antennae bear olfactory setae, while the second are used for swimming by most species. The pattern of setae on the second antennae is useful for identification. The part of the head which projects in front of the first antennae is known as the rostrum or "beak".  The mouthparts are small, and consist of an unpaired labrum, a pair of mandibles, a pair of maxillae, and an unpaired labium. They are used to eat "organic detritus of all kinds" and bacteria.  The thorax bears five or six pairs of lobed, leaf-like appendages, each with numerous hairs or setae. Carbon dioxide is lost, and oxygen taken up, through the body surface.

Lifecycle.

With the exception of a few purely asexual species, the lifecycle of cladocerans is dominated by asexual reproduction, with occasional periods of sexual reproduction; this is known as cyclical parthenogenesis. The system evolved in the Permian, when the Cladocera arose. When conditions are favourable, reproduction occurs by parthenogenesis for several generations, producing only female clones. As the conditions deteriorate, males are produced, and sexual reproduction occurs. This results in the production of long-lasting dormant eggs. These ephippial eggs can be transported over land by wind, and hatch when they reach favourable conditions, allowing many species to have very wide – even cosmopolitan – distributions.

Ecology.

Most cladoceran species live in fresh water and other inland water bodies, with only eight species being truly oceanic. The marine species are all in the family Podonidae, except for the genus "Penilia". Some cladocerans inhabit leaf litter.

Taxonomy.

The order Cladocera is included in the class Branchiopoda, and forms a monophyletic group, which is currently divided into four suborders. Around 620 species have been described, but many more species remain undescribed. The genus "Daphnia" alone contains around 150 species.  These families are recognised:  Order Cladocera

Etymology.

The word "Cladocera" derives via New Latin from the Ancient Greek (', "branch") and (', "horn").

The Cladocera are an order of small crustaceans commonly called water fleas. Over 650 species have been recognised so far, with many more undescribed. They first appeared before the Permian period, and have since invaded most freshwater habitats. Some have also adapted to a life in the ocean, the only members of Branchiopoda to do so, even if several anostracans live in hypersaline lakes. Most are long, with a down-turned head with a single median compound eye, and a carapace covering the apparently unsegmented thorax and abdomen. Most species show cyclical parthenogenesis, where asexual reproduction is occasionally supplemented by sexual reproduction, which produces resting eggs that allow the species to survive harsh conditions and disperse to distant habitats.

枝角目(学名:)是甲壳亚门之下的一个目,由细小的水蚤生物,合共约620个已辨识的物种。本目原为鳃足纲叶足亚纲双甲目()之下的一个亚目,随着双甲目获提升成为双甲下纲,枝角亚目亦提升成为枝角目。


Early life and education.

Ban was born on 13 June 1944 in the small farming village of Haengchi, Wonnam Township ("-myeon"), in Eumseong County (Insei), North Chungcheong Province in what was then Japanese Korea. His family then moved to the nearby town of Chungju, where he grew up. During Ban's childhood, his father had a warehouse business, but the warehouse went bankrupt and the family lost its middle-class standard of living. When Ban was six, his family fled to a remote mountainside for much of the Korean War. After the war ended, his family returned to Chungju. Ban has said that, during this time, he met American soldiers.  In secondary school (Chungju High School), Ban became a star student, particularly in his studies of the English language. In 1962, Ban won an essay contest sponsored by the Red Cross and earned a trip to the United States where he lived in San Francisco with a host family for several months. As part of the trip, Ban met U.S. President John F. Kennedy. When a journalist

Career.

Diplomatic career.

After graduating from university, Ban received the top score on Korea's foreign service exam. He joined the Ministry of Foreign Affairs in May 1970 and worked his way up the career ladder during the years of the Yusin Constitution.  Ban's first overseas posting was to New Delhi, India, where he served as vice consul and impressed many of his superiors in the foreign ministry with his competence. Ban reportedly accepted a posting to India rather than the United States, because in India he would be able to save more money to send to his family. In 1974 he received his first posting to the United Nations, as First Secretary of the South Permanent Observer Mission (South Korea became a full UN member-state on 17 September 1991). After Park Chung-hee's 1979 assassination, Ban assumed the post of Director of the United Nations Division.  In 1980 Ban became director of the United Nations' International Organizations and Treaties Bureau, headquartered in Seoul. He has been posted twice to the South Korean embassy in Washington, D.C. Between these two assignments he served

United Nations career.

Campaign for Secretary-General: 2007.

In February 2006, Ban declared his candidacy to replace Kofi Annan as UN Secretary-General at the end of 2006, becoming the first South Korean to run for the office. Though Ban was the first to announce a candidacy, he was not originally considered a serious contender.  Over the next eight months, Ban made ministerial visits to each of the 15 countries with a seat on the Security Council. Of the seven candidates, he topped each of the four straw polls conducted by the United Nations Security Council: on 24 July, 14 September, 28 September, and 2 October.  During the period in which these polls took place, Ban made major speeches to

First term as Secretary-General.

When Ban became Secretary-General, "The Economist" listed the major challenges facing him in 2007: "rising nuclear demons in Iran and North Korea, a haemorrhaging wound in Darfur, unending violence in the Middle East, looming environmental disaster, escalating international terrorism, the proliferation of weapons of mass destruction, the spread of HIV/AIDS. And then the more parochial concerns, such as the largely unfinished business of the most sweeping attempt at reform in the UN's history". Before starting, Kofi Annan shared the story that when the first Secretary-General Trygve Lie left office, he told his successor, Dag Hammarskjöld, "You are about to take over the most impossible job on earth".  On 23 January 2007 Ban took office as the eighth Secretary-General of the United Nations. Ban's term as Secretary-General opened with a flap. At his first encounter with the press as Secretary-General on 2 January 2007, he refused to condemn the death penalty imposed on Saddam Hussein by

Campaign for second term as Secretary-General: 2011.

On 6 June 2011, Ban Ki-moon formally announced his candidacy for a second consecutive term as Secretary-General of the United Nations. He announced his candidacy at a press conference, following

Second term as Secretary-General.

On 17 June 2011, he received the recommendation of the Security Council by a unanimous vote, and, on 21 June, his nomination was confirmed by a unanimous acclamation vote at the United Nations General Assembly. His new five-year term as Secretary-General commenced on 1 January 2012 and ended on 31 December 2016.

Criticism as UN Secretary-General.

According to "The Washington Post", "some UN employees and delegates" expressed resentment at Ban's perceived favoritism in the appointment of South Korean nationals in key posts. Previous UN chiefs such as Kurt Waldheim (Austria), Javier Pérez de Cuéllar (Peru), and Boutros Boutros-Ghali (Egypt) brought small teams of trusted aides or clerical workers from their country's Foreign Ministry, and South Korean nationals have been historically underrepresented at the United Nations. Nonetheless, according to "some officials" in the "Post" story, Ban had allegedly gone further, boosting South Korea's presence in UN ranks by more than 20 percent during his first year in office. In response, Ban and his aides stated that the allegations of favoritism are wrong, and that some of the harshest criticisms against him have undercurrents of racism. He said that the South Korean nationals he had appointed—including Choi Young-jin, who had already served as a high-ranking official in the United Nations' peacekeeping department—are highly qualified for their positions. Others such as Donald P. Gregg, a former U.S. ambassador to South Korea, said that the complaints were driven by envy: "I think being from South Korea, and people have growing respect for South Korea, that's a great enhancement for the secretary general. If he brings along talented people who he knows very well, I think that's also a plus." UN records show that South Korea, the organization's eleventh-largest financial contributor, had only 54 South Korean nationals assigned to its mission six months before Ban took over the top UN post. By contrast, the Philippines, a significantly poorer country, had 759 nationals in its mission.  Former UN Under Secretary General for Oversight Services Inga-Britt Ahlenius denounced Ban Ki-moon after resigning her post in 2010, calling him "reprehensible". Ahlenius claimed that the Secretary-General made efforts to undermine the Office of Internal Oversight Services (OIOS) mandate and challenge its operational independence. In particular, the two disputed Ahlenius's plans to hire a former

2017 presidential candidacy speculation.

Until the outbreak of the 2016 South Korean political scandal, Ban was the leading potential candidate for President of South Korea in 2017. However, recent polls showed Moon Jae-in of the main opposition Minjoo Party of Korea in the lead with a support rating of 32.8 percent, while Ban trailed in distant second with 15.4 percent. Moon was eventually elected president on 10 May. Although Ban repeatedly expressed his desires for running, a UN resolution in 1946 says "a Secretary-General should refrain from accepting" any Governmental position

Post-U.N. work.

In 2017, Ban and Heinz Fischer, former president of Austria, founded, and are co-chairs of, the Ban Ki-moon Centre for Global Citizens in Vienna, Austria. The nonprofit group's mission is to support youth and

Personal life.

Family.

Ban Ki-moon met Yoo Soon-taek in 1962 when they were both in high school. Ban was 18 years old, and Yoo Soon-taek was his secondary school's student council president. Ban Ki-moon married Yoo Soon-taek in 1971.  They have three adult children: two daughters and a son. His elder daughter, Seon-yong, was born in 1972 and now works for the Korea Foundation in Seoul. Her spouse is a native of India. His son Woo-hyun was born in 1974 in India. He received an MBA from Anderson School of Management at University of California, Los Angeles, and works for an investment firm in New York. His younger daughter, Hyun-hee (born 1976), is a field officer for UNICEF in Nairobi.

Personality.

During his tenure at the South Korean Foreign Ministry, Ban's nickname was "jusa" (주사), meaning "the administrative clerk". The name was used as both positive and negative: complimenting Ban's attention to detail and administrative skill while deriding what was seen as a lack of charisma and subservience to

Ban Ki-moon (; ; born 13 June 1944) is a South Korean politician and diplomat who served as the eighth Secretary-General of the United Nations from January 2007 to December 2016. Before becoming the Secretary-General, Ban was a career diplomat in South Korea's Ministry of Foreign Affairs and in the United Nations. He entered diplomatic service the year he graduated from university, accepting his first post in New Delhi, India.

潘基文(,1944年-6月13日),前外交通商部长,第8任联合国秘书长,现任国际奥林匹克委员会道德委员会主席,博鳌亚洲论坛理事长。


Possibility, necessity, and contingency.

Those theorists who use the concept of possible worlds consider the "actual" world in which we live to be one of the many possible worlds. For each distinct way the world could have been, there is said to be a distinct possible world. Among such theorists there is disagreement about the nature of possible worlds; their precise ontological status is disputed, and especially the difference, if any, in ontological status between the actual world and all the other possible worlds. One position on these matters is set forth in David Lewis's modal realism (see below). There is a close relation between propositions and possible worlds. We note that every proposition is either true or false at any given possible world; then the "modal status" of a proposition is understood in terms of the "worlds in which it is true" and "worlds in which it is false". The following are among the assertions we may now usefully make:  The idea of possible worlds is most commonly attributed to Gottfried Leibniz, who spoke of possible worlds as ideas in the mind of God and used the notion to argue that our actually created world must be "the best of all possible worlds". Arthur Schopenhauer argued that on the contrary our world must be the worst of all possible worlds, because if it were only a little worse it could not continue to exist.  Scholars have found implicit earlier traces of the idea of possible worlds in the works of René Descartes, a major influence on Leibniz, Al-Ghazali ("The Incoherence of the Philosophers"), Averroes ("The Incoherence of the Incoherence"), Fakhr al-Din al-Razi ("Matalib al-'Aliya") and John Duns Scotus. The modern philosophical use of the notion was pioneered by David Lewis and Saul Kripke.

Formal semantics of modal logics.

A semantics for modal logic was first introduced in the late-1950s work of Saul Kripke and his colleagues. A statement in modal logic that is "possible" is said to be true in at least one possible world; a statement that is "necessary" is said to be true in all possible worlds.

From modal logic to philosophical tool.

From this groundwork, the theory of possible worlds became a central part of many philosophical developments, from the 1960s onwards – including, most famously, the analysis of counterfactual conditionals in terms of "nearby possible worlds" developed by David Lewis and Robert Stalnaker. On this analysis, when we discuss what "would" happen "if" some set of conditions "were" the case, the truth of our claims is determined by what is true at the nearest possible world (or the "set" of nearest possible worlds) where the conditions obtain. (A possible world W is said to be near to another possible world W in respect of R to the degree that the same things happen in W and W in respect of R; the more different something happens in two possible worlds in a certain respect, the "further" they are from one another in that respect.) Consider this conditional sentence: "If George W. Bush hadn't become president of the U.S. in 2001, Al Gore would have." The sentence would be taken to express a claim that could be reformulated as follows: "In all nearest worlds to our actual world (nearest in relevant respects) where George W. Bush didn't become president of the U.S. in 2001, Al Gore became president of the U.S. then instead." And on this interpretation of the sentence, if there is or are some nearest worlds to the actual world (nearest in relevant respects) where George W. Bush didn't become president but Al Gore didn't either, then the claim expressed by this counterfactual would be false.  Today, possible worlds play a central role in many debates in philosophy, including especially debates over the Zombie Argument, and physicalism and supervenience in the philosophy of mind. Many debates in the philosophy of religion have been reawakened by the use of possible worlds. Intense debate has also emerged over the ontological status of possible worlds, provoked especially by David Lewis's defense of modal realism, the doctrine that talk about "possible worlds" is best explained in terms of innumerable, "really existing" worlds beyond the one we live in. The fundamental question here is: "given" that modal logic works, and that some possible-worlds semantics for modal logic is correct, "what has to be true" of the world, and just what "are" these possible worlds that we range over in our interpretation of modal statements? Lewis argued that what we range over are real, concrete "worlds" that exist just as unequivocally as our actual world exists, but that are distinguished from the actual world simply by standing in no spatial, temporal, or causal relations with the actual world. (On Lewis's account, the only "special" property that the "actual" world has is a relational one: that "we" are in it. This doctrine is called "the indexicality of actuality": "actual" is a merely indexical term, like "now" and "here".) Others, such as Robert Adams and William Lycan, reject Lewis's picture as metaphysically extravagant, and suggest in its place an interpretation of possible worlds as consistent, maximally complete sets of descriptions of or propositions about the world, so that a "possible world" is conceived of as a complete "description" of "a way the world could be" – rather than a "world that is that way". (Lewis describes their position, and similar positions such as those advocated by Alvin Plantinga and Peter Forrest, as ""ersatz" modal realism", arguing that such theories try to get the benefits of possible worlds semantics for modal logic "on the cheap", but that they ultimately fail to provide an adequate explanation.) Saul Kripke, in "Naming and Necessity", took explicit issue with Lewis's use of possible worlds semantics, and defended a "stipulative" account of possible worlds as purely "formal" (logical) entities rather than either really existent worlds or as some set of propositions or descriptions.

In philosophy and logic, the concept of a possible world is used to express modal claims. The concept of possible worlds is common in contemporary philosophical discourse but has been disputed.

可能世界(英语:Possible world)的概念被用来在哲学和逻辑中,表达模态断言。在哲学中,术语“模态”覆盖了如“可能性”“必然性”“偶然性”这类观念。谈论可能世界在当代哲学讨论中是非常普遍的(特别是在英语世界中),尽管有着巨大的争议。


Problem Overview.

A load balancing algorithm always tries to answer a specific problem. Among other things, the nature of the tasks, the algorithmic complexity, the hardware architecture on which the algorithms will run as well as required error tolerance, must be taken into account. Therefore compromise must be found to best meet application-specific requirements.

Nature of tasks.

The efficiency of load balancing algorithms critically depends on the nature of the tasks. Therefore, the more information about the tasks is available at the time of decision making, the greater the potential for optimization.

Size of tasks.

A perfect knowledge of the execution time of each of the tasks allows to reach an optimal load distribution (see algorithm of prefix sum). Unfortunately, this is in fact an idealized case. Knowing the exact execution time of each task is an extremely rare situation.  For this reason, there are several techniques to get an idea of the different execution times. First of all, in the fortunate scenario of having tasks of relatively homogeneous size, it is possible to consider that each of them will require approximately the average execution time. If, on the other hand, the execution time is very irregular, more sophisticated techniques must be used. One technique is to add some metadata to each task. Depending on the previous execution time for similar metadata, it is possible to make inferences for a future task based on statistics.

Dependencies.

In some cases, tasks depend on each other. These interdependencies can be illustrated by a directed acyclic graph. Intuitively, some tasks cannot begin until others are not completed.  Assuming that the required time for each of the tasks is known in advance, an optimal execution order must lead to the minimization of the total execution time. Although this is an NP-hard problem and therefore can be difficult to be solved exactly. There are algorithms, like job scheduler, that calculate optimal task distributions using metaheuristic methods.

Segregation of tasks.

Another feature of the tasks critical for the design of a load balancing algorithm is their ability to be broken down into subtasks during execution. The "Tree-Shaped Computation" algorithm presented later takes great advantage of this specificity.

Static and dynamic algorithms.

Static.

A load balancing algorithm is "static" when it does not take into account the state of the system for the distribution of tasks. There by, the system state includes measures such as the load level (and sometimes even overload) of certain processors. Instead, assumptions on the overall system are made beforehand, such as the arrival times and resource requirements of incoming tasks. In addition, the number of processors, their respective power and communication speeds are known. Therefore, static load balancing aims to associate a known set of tasks with the available processors in order to minimize a certain performance function. The trick lies in the concept of this performance function.  Static load balancing techniques are commonly centralized around a router, or Master, which distributes the loads and optimizes the performance function. This minimization can take into account information related to the tasks to be distributed, and derive an expected execution time.  The advantage of static algorithms is that they are easy to set up and extremely efficient in the case of fairly regular tasks (such as processing HTTP requests from a website). However, there is still some statistical variance in the assignment of tasks which can lead to overloading of some computing units.

Dynamic.

Unlike static load distribution algorithms, dynamic algorithms take into account the current load of each of the computing units (also called nodes) in the system. In this approach, tasks can be moved dynamically from an overloaded node to an underloaded node in order to receive faster processing. While these algorithms are much more complicated to design, they can produce excellent results, in particular, when the execution time varies greatly from one task to another.  In dynamic load balancing the architecture can be more modular since it is not mandatory to have a specific node dedicated to the distribution of work. When tasks are uniquely assigned to a processor according to its state at a given moment, it is unique assignment. If, on the other hand, the tasks can be permanently redistributed according to the state of the system and its evolution, this is called dynamic assignment. Obviously, a load balancing algorithm that requires too much communication in order to reach its decisions is not desirable at the risk of slowing down the resolution of the overall problem.

Hardware architecture.

Heterogenous machines.

Parallel computing infrastructures are often composed of units of different computing power, which should be taken into account for the load distribution.  For example, lower-powered units may receive requests that require a smaller amount of computation, or, in the case of homogeneous or unknown request sizes, receive fewer requests than larger units.

Shared and distributed memory.

Parallel computers are often divided into two broad categories: those where all processors share a single common memory on which they read and write in parallel (PRAM model), and those where each computing unit has its own memory (distributed memory model), and where information is exchanged by messages.  For shared-memory computers, managing write conflicts greatly slows down the speed of individual execution of each computing unit. However, they can work perfectly well in parallel. Conversely, in the case of message exchange, each of the processors can work at full speed. On the other hand, when it comes to collective message exchange, all processors are forced to wait for the slowest processors to start the communication phase. In reality, few systems fall into exactly one of the categories. In general, the processors each have an internal memory to store the data needed for the next calculations, and are organized in successive clusters. Often, these processing elements are then coordinated through distributed memory and message passing. Therefore, the load balancing algorithm should be uniquely adapted to a parallel architecture. Otherwise, there is a risk that the efficiency of parallel problem solving will be greatly reduced.

Hierarchy.

Adapting to the hardware structures seen above, there are two main categories of load balancing algorithms. On the one hand, the one where tasks are assigned by “master” and executed by “workers” who keep the master informed of the progress of their work, and the master can then take charge of assigning or reassigning the workload in case of dynamic algorithm. The literature refers to this as "Master-Worker" architecture. On the other hand, the control can be distributed between the different nodes. The load balancing algorithm is then executed on each of them and the responsibility for assigning tasks (as well as re-assigning and splitting as appropriate) is shared. The last category assumes a dynamic load balancing algorithm.  Since the design of each load balancing algorithm is unique, the previous distinction must be qualified. Thus, it is also possible to have an intermediate strategy, with, for example, "master" nodes for each sub-cluster, which are themselves subject to a global "master". There are also multi-level organizations, with an alternation between master-slave and distributed control strategies. The latter strategies quickly become complex and are rarely encountered. Designers prefer algorithms that are easier to control.

Adaptation to larger architectures (scalability).

In the context of algorithms that run over the very long term (servers, cloud...), the computer architecture evolves over time. However, it is preferable not to have to design a new algorithm each time.  An extremely important parameter of a load balancing algorithm is therefore its ability to adapt to a scalable hardware architecture. This is called the scalability of the algorithm. An algorithm is called scalable for an input parameter when its performance remains relatively independent of the size of that parameter.  When the algorithm is capable of adapting to a varying number of computing units, but the number of computing units must be fixed before execution, it is called moldable. If, on the other hand, the algorithm is capable of dealing with a fluctuating amount of processors during its execution, the algorithm is said to be malleable. Most load balancing algorithms are at least moldable.

Fault tolerance.

Especially in large-scale computing clusters, it is not tolerable to execute a parallel algorithm which cannot withstand failure of one single component. Therefore, fault tolerant algorithms are being developed which can detect outages of processors and recover the computation.

Approaches.

Static distribution with full knowledge of the tasks: prefix sum.

If the tasks are independent of each other, and if their respective execution time and the tasks can be subdivided, there is a simple and optimal algorithm.  By dividing the tasks in such a way as to give the same amount of computation to each processor, all that remains to be done is to group the results together. Using a prefix sum algorithm, this division can be calculated in logarithmic time with respect to the number of processors.  If, however, the tasks cannot be subdivided (i.e. they are atomic), although optimizing task assignment is a difficult problem, it is still possible to approximate a relatively fair distribution of tasks, provided that the size of each of them is much smaller than the total amount of computation performed by each of the nodes.  Most of the time, the execution time of a task is unknown and only rough approximation are available. This algorithm, although particularly efficient, is not viable for these scenarios.

Static load distribution without prior knowledge.

Even if the execution time is not known in advance at all, static load distribution is always possible.

Round-Robin.

In this simple algorithm, the first request is sent to the first server, then the next to the second, and so on down to the last. Then it is started again, assigning the next request to the first server, and so on.  This algorithm can be weighted such that the most powerful units receive the largest number of requests and receive them first.

Randomized static.

Randomized static load balancing is simply a matter of randomly assigning tasks to the different servers. This method works quite well. If, on the other hand, the number of tasks is known in advance, it is even more efficient to calculate a random permutation in advance. This avoids communication costs for each assignment. There is no longer a need for a distribution master because everyone knows what task is assigned to him. Even if the number of tasks is unknown, it is still possible to avoid communication with a pseudo-random assignment generation known to all processors.  The performance of this strategy (measured in total execution time for a given fixed set of tasks) decreases with the maximum size of the tasks.

Others.

Of course, there are other methods of assignment as well:

Master-Worker Scheme.

Master-Worker schemes are among the simplest dynamic load balancing algorithms. A master distributes the workload to all workers (also sometimes referred to as "slaves"). Initially, all workers are idle and report this to the master. The master answers worker requests and distributes the tasks to them. When he has no more tasks to give, he informs the workers so that they stop asking for tasks.  The advantage of this system is that it distributes the burden very fairly. In fact, if one does not take into account the time needed for the assignment, the execution time would be comparable to the prefix sum seen above.  The problem of this algorithm is that it has difficulty to adapt to a large number of processors because of the high amount of necessary communications. This lack of scalability makes it quickly inoperable in very large servers or very large parallel computers. The master acts as a bottleneck.  However, the quality of the algorithm can be greatly improved by replacing the master by a task list which can be used by different processors. Although this algorithm is a little more difficult to implement, it promises much better scalability, although still insufficient for very large computing centers.

Non-hierarchical architecture, without knowledge of the system: work stealing.

Another technique to overcome scalability problems when the time needed for task completion is unknown is work stealing. The approach consists of assigning to each processor a certain number of tasks in a random or predefined manner, then allowing inactive processors to "steal" work from active or overloaded processors. Several implementations of this concept exist, defined by a task division model and by the rules determining the exchange between processors. While this technique can be particularly effective, it is difficult to implement because it is necessary to ensure that communication does not become the primary occupation of the processors instead of solving the problem.  In the case of atomic tasks, two main strategies can be distinguished, those where the processors with low load offer their computing capacity to those with the highest load, and those where the most loaded units wish to lighten the workload assigned to them. It has been shown that when the network is heavily loaded, it is more efficient for the least loaded units to offer their availability and when the network is lightly loaded, it is the overloaded processors that require support from the most inactive ones. This rule of thumb limits the number of exchanged messages.  In the case where one starts from a single large task that cannot be divided beyond an atomic level, there is a very efficient algorithm "Tree-Shaped computation", where the parent task is distributed in a work tree.

Principle.

Initially, all processors have an empty task, except one that works sequentially on it. Idle processors issue requests randomly to other processors (not necessarily active). If the latter is able to subdivide the task it is working on, it does so by sending part of its work to the node making the request. Otherwise, it returns an empty task. This induces a tree structure. It is then necessary to send a termination signal to the parent processor when the subtask is completed, so that it in turn sends the message to its parent until it reaches the root of the tree. When the first processor, i.e. the root, has finished, a global termination message can be broadcast. At the end, it is necessary to assemble the results by going back up the tree.

Efficiency.

The efficiency of such an algorithm is close to the prefix sum when the job cutting and communication time is not too high compared to the work to be done. To avoid too high communication costs, it is possible to imagine a list of jobs on shared memory. Therefore, a request is simply reading from a certain position on this shared memory at the request of the master processor.

Application.

In addition to efficient problem solving through parallel computations, load balancing algorithms are widely used in HTTP request management where a site with a large audience must be able to handle requests per second.

Internet-based services.

One of the most commonly used applications of load balancing is to provide a single Internet service from multiple servers, sometimes known as a server farm. Commonly load-balanced systems include popular web sites, large Internet Relay Chat networks, high-bandwidth File Transfer Protocol sites, Network News Transfer Protocol (NNTP) servers, Domain Name System (DNS) servers, and databases.

Round-robin DNS.

An alternate method of load balancing, which does not require a dedicated software or hardware node, is called "round-robin DNS". In this technique, multiple IP addresses are associated with a single domain name; clients are given IP in a round-robin fashion. IP is assigned to clients with a short expiration so the client is more likely to use a different IP the next time they access the Internet service being requested.

DNS delegation.

Another more effective technique for load-balancing using DNS is to delegate www.example.org as a sub-domain whose zone is served by each of the same servers that are serving the web site. This technique works particularly well where individual servers are spread geographically on the Internet. For example:  However, the zone file for www.example.org on each server is different such that each server resolves its own IP Address as the A-record. On server "one" the zone file for www.example.org reports:  On server "two" the same zone file contains:  This way, when a server is down, its DNS will not respond and the web service does not receive any traffic. If the line to one server is congested, the unreliability of DNS ensures less HTTP traffic reaches that server. Furthermore, the quickest DNS response to the resolver is nearly always the one from the network's closest server, ensuring geo-sensitive load-balancing. A short TTL on the A-record helps to ensure traffic is quickly diverted when a server goes down. Consideration must be given the possibility that this technique may cause individual clients to switch between individual servers in mid-session.

Client-side random load balancing.

Another approach to load balancing is to deliver a list of server IPs to the client, and then to have client randomly select the IP from the list on each connection. This essentially relies on all clients generating similar loads, and the Law of Large Numbers to achieve a reasonably flat load distribution across servers. It has been claimed that client-side random load balancing tends to provide better load distribution than round-robin DNS; this has been attributed to caching issues with round-robin DNS, that in case of large DNS caching servers, tend to skew the distribution for round-robin DNS, while client-side random selection remains unaffected regardless of DNS caching.  With this approach, the method of delivery of list of IPs to the client can vary, and may be implemented as a DNS list (delivered to all the clients without any round-robin), or via hardcoding it to the list. If a "smart client" is used, detecting that randomly selected server is down and connecting randomly again, it also provides fault tolerance.

Server-side load balancers.

For Internet services, a server-side load balancer is usually a software program that is listening on the port where external clients connect to access services. The load balancer forwards requests to one of the "backend" servers, which usually replies to the load balancer. This allows the load balancer to reply to the client without the client ever knowing about the internal separation of functions. It also prevents clients from contacting back-end servers directly, which may have security benefits by hiding the structure of the internal network and preventing attacks on the kernel's network stack or unrelated services running on other ports.  Some load balancers provide a mechanism for doing something special in the event that all backend servers are unavailable. This might include forwarding to a backup load balancer or displaying a message regarding the outage.  It is also important that the load balancer itself does not become a single point of failure. Usually, load balancers are implemented in high-availability pairs which may also replicate session persistence data if required by the specific application. Certain applications are programmed with immunity to this problem, by offsetting the load balancing point over differential sharing platforms beyond the defined network. The sequential algorithms paired to these functions are defined by flexible parameters unique to the specific database.

Scheduling algorithms.

Numerous scheduling algorithms, also called load-balancing methods, are used by load balancers to determine which back-end server to send a request to. Simple algorithms include random choice, round robin, or least connections. More sophisticated load balancers may take additional factors into account, such as a server's reported load, least response times, up/down status (determined by a monitoring poll of some kind), number of active connections, geographic location, capabilities, or how much traffic it has recently been assigned.

Persistence.

An important issue when operating a load-balanced service is how to handle information that must be kept across the multiple requests in a user's session. If this information is stored locally on one backend server, then subsequent requests going to different backend servers would not be able to find it. This might be cached information that can be recomputed, in which case load-balancing a request to a different backend server just introduces a performance issue.  Ideally, the cluster of servers behind the load balancer should not be session-aware, so that if a client connects to any backend server at any time the user experience is unaffected. This is usually achieved with a shared database or an in-memory session database, for example Memcached.  One basic solution to the session data issue is to send all requests in a user session consistently to the same backend server. This is known as "persistence" or "stickiness". A significant downside to this technique is its lack of automatic failover: if a backend server goes down, its per-session information becomes inaccessible, and any sessions depending on it are lost. The same problem is usually relevant to central database servers; even if web servers are "stateless" and not "sticky", the central database is (see below).  Assignment to a particular server might be based on a username, client IP address, or be random. Because of changes of the client's perceived address resulting from DHCP, network address translation, and web proxies this method may be unreliable. Random assignments must be remembered by the load balancer, which creates a burden on storage. If the load balancer is replaced or fails, this information may be lost, and assignments may need to be deleted after a timeout period or during periods of high load to avoid exceeding the space available for the assignment table. The random assignment method also requires that clients maintain some state, which can be a problem, for example when a web browser has disabled storage of cookies. Sophisticated load balancers use multiple persistence techniques to avoid some of the shortcomings of any one method.  Another solution is to keep the per-session data in a database. Generally, this is bad for performance because it increases the load on the database: the database is best used to store information less transient than per-session data. To prevent a database from becoming a single point of failure, and to improve scalability, the database is often replicated across multiple machines, and load balancing is used to spread the query load across those replicas. Microsoft's ASP.net State Server technology is an example of a session database. All servers in a web farm store their session data on State Server and any server in the farm can retrieve the data.  In the very common case where the client is a web browser, a simple but efficient approach is to store the per-session data in the browser itself. One way to achieve this is to use a browser cookie, suitably time-stamped and encrypted. Another is URL rewriting. Storing session data on the client is generally the preferred solution: then the load balancer is free to pick any backend server to handle a request. However, this method of state-data handling is poorly suited to some complex business logic scenarios, where session state payload is big and recomputing it with every request on a server is not feasible. URL rewriting has major security issues, because the end-user can easily alter the submitted URL and thus change session streams.  Yet another solution to storing persistent data is to associate a name with each block of data, and use a distributed hash table to pseudo-randomly assign that name to one of the available servers, and then store that block of data in the assigned server.

Load balancer features.

Hardware and software load balancers may have a variety of special features. The fundamental feature of a load balancer is to be able to distribute incoming requests over a number of backend servers in the cluster according to a scheduling algorithm. Most of the following features are vendor specific:

Use in telecommunications.

Load balancing can be useful in applications with redundant communications links. For example, a company may have multiple Internet connections ensuring network access if one of the connections fails. A failover arrangement would mean that one link is designated for normal use, while the second link is used only if the primary link fails.  Using load balancing, both links can be in use all the time. A device or program monitors the availability of all links and selects the path for sending packets. The use of multiple links simultaneously increases the available bandwidth.

Shortest Path Bridging.

The IEEE approved the IEEE 802.1aq standard May 2012, also known and documented in most books as Shortest Path Bridging (SPB). SPB allows all links to be active through multiple equal cost paths, provides faster convergence times to reduce down time, and simplifies the use of load balancing in mesh network topologies (partially connected and/or fully connected) by allowing traffic to load share across all paths of a network. SPB is designed to virtually eliminate human error during configuration and preserves the plug-and-play nature that established Ethernet as the de facto protocol at Layer 2.

Routing 1.

Many telecommunications companies have multiple routes through their networks or to external networks. They use sophisticated load balancing to shift traffic from one path to another to avoid network congestion on any particular link, and sometimes to minimize the cost of transit across external networks or improve network reliability.  Another way of using load balancing is in network monitoring activities. Load balancers can be used to split huge data flows into several sub-flows and use several network analyzers, each reading a part of the original data. This is very useful for monitoring fast networks like 10GbE or STM64, where complex processing of the data may not be possible at wire speed.

Use in datacenter networks.

Load balancing is widely used in datacenter networks to distribute traffic across many existing paths between any two servers. It allows more efficient use of network bandwidth and reduces provisioning costs. In general, load balancing in datacenter networks can be classified as either static or dynamic. Static load balancing distributes traffic by computing a hash of the source and destination addresses and port numbers of traffic flows and using it to determine how flows are assigned to one of the existing paths. Dynamic load balancing assigns traffic flows to paths by monitoring bandwidth utilization of different paths. Dynamic assignment can also be proactive or reactive. In the former case, the assignment is fixed once made, while in the latter the network logic keeps monitoring available paths and shifts flows across them as network utilization changes (with arrival of new flows or completion of existing ones). A comprehensive overview of load balancing in datacenter networks has been made available.

Relationship to failovers.

Load balancing is often used to implement failover—the continuation of a service after the failure of one or more of its components. The components are monitored continually (e.g., web servers may be monitored by fetching known pages), and when one becomes non-responsive, the load balancer is informed and no longer sends traffic to it. When a component comes back online, the load balancer begins to route traffic to it again. For this to work, there must be at least one component in excess of the service's capacity (N+1 redundancy). This can be much less expensive and more flexible than failover approaches where each single live component is paired with a single backup component that takes over in the event of a failure (dual modular redundancy). Some types of RAID systems can also utilize hot spare for a similar effect.

In computing, load balancing refers to the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient. Load balancing techniques can optimise the response time for each task, avoiding unevenly overloading compute nodes while other compute nodes are left idle.

负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用的问题。