text:
[excerpt from Steve Clay and Rodney Phillips' A SECRET LOCATION ON THE LOWER EAST SIDE. Granary Books, 1998]
The San Francisco Renaissance, a timeline of events
The Jargon Society founded by Jonathan Williams in San Francisco
City Lights Bookstore opens in North Beach
Six Gallery reading, the first public reading of Allen Ginsberg's Howl
Semina, edited by Wallace Berman
Allen Ginsberg's Howl published by City Lights
Howl confiscated by customs; Lawrence Ferlinghetti and Shigeyoshi Murao arrested
Jack Spicer's Poetry as Magic Workshop, San Francisco Public Library
Charles Olson reads and lectures in San Francisco
First book from White Rabbit Press, Steve Jonas's Love, the Poem, the Sea & Other Pieces Examined
First book from Auerhahn Press, John Wieners's The Hotel Wentley Poems
Richard Brautigan's The Galilee Hitchhiker published by White Rabbit Press
George Stanley's The Love Root published by White Rabbit Press
Philip Lamantia's Ekstasis published by Auerhahn Press
Bob Kaufman's The Abomunist Manifesto published by City Lights
J, edited by Jack Spicer
Cid Corman's Origin Press publishes Gary Snyder's first book, Riprap
Gary Snyder's Myths and Texts published by Corinth Books
Lew Welch's Wobbly Rock published by Auerhahn Press
William S. Burroughs and Brion Gysin's The Exterminator published by Auerhahn Press
White Rabbit Press revived by Graham Mackintosh with Spicer's LAMENT FOR THE MAKERS, which was published in a small edition of less than 100 copies and illustrated by Mackintosh
Vancouver Poetry Conference
Open Space publishes Robin Blaser's first book, The Moth Poem
Berkeley Poetry Conference
Joanne Kyger's The Tapestry and the Webpublished by the Four Seasons Foundation
Lew Welch's Hermit Poems published by the Four Seasons Foundation
Jack Spicer's Language published by White Rabbit Press
Jack Spicer dies
Lenore Kandel's The Love Book published by Stolen Paper Editions
Philip Lamantia's Touch of the Marvelous published by Oyez Press
John Martin's Black Sparrow Press begins in Los Angeles
The Pacific Nation, edited by Robin Blaser in Vancouver
Janine Pommy-Vega's Poems to Fernando published by City Lights
Gary Snyder's book of essays Earth House Hold published by New Directions
Jack Spicer's Collected Books published by Black Sparrow
In San Francisco, the commingling of several activities helped to prepare the ground for the remarkable literary explosion that was soon to take place. The Libertarian Circle held regular literary events; poet members included Kenneth Rexroth, Muriel Rukeyser, William Everson, Robert Duncan, Jack Spicer, and Thomas Parkinson. Rexroth also ran a literary program on KPFA, the country's first listener-sponsored radio station. Madeline Gleason (assisted by Rexroth and Duncan) founded the San Francisco Poetry Center, housed at San Francisco State College and managed by Ruth Witt-Diamant. The magazines Circle, Ark, City Lights, Goad, Inferno, and Golden Goose helped to consolidate the growing literary underground.
The famous reading at Six Gallery on Fillmore Street was publicized by Allen Ginsberg (via a hundred mailed postcards and a few flyers) thus:
On October 7, 1955, in a room measuring 20 x 25 feet with a dirt floor, Ginsberg "read Howl and started an epoch."(1) Gary Snyder, Philip Lamantia, Michael McClure, and Philip Whalen shared the bill and, by all reports, also read brilliantly. Aside from Rexroth and Whalen, all the readers were in their twenties. Again, in the words of Kenneth Rexroth, "What started in SF and spread from there across the world was public poetry, the return of a tribal, preliterate relationship between poet and audience."(1)
These events, along with the flourishing of Lawrence Ferlinghetti's City Lights Bookshop and publishing house, helped to inaugurate and consolidate what has become known as the San Francisco Renaissance. City Lights published Howl in 1956 (Ferlinghetti asked Ginsberg for the manuscript the same night it was read at the Six Gallery) as Number Four in the Pocket Poets Series. (It had been preceded by an extremely rare mimeographed edition, typed by Martha Rexroth and mimeographed by none other than Robert Creeley. Ginsberg's Siesta in Xbalba had been mimeographed by the man himself on a freighter in the Alaskan Ocean.) Among the audience members that night was one who added his own chant, the young novelist Jack Kerouac, whose On the Road, published in 1957, was to make this reading and its readers legendary. It was also in 1957 that Charles Olson, rector of the experimental Black Mountain College, visited San Francisco and gave a series of lectures on Alfred North Whitehead at the Portrero Hill home of Robert Duncan and his companion, the painter Jess Collins. Among the attendees at the lectures were, of course, Duncan himself, but also Michael McClure, Gary Snyder's Reed College friend Philip Whalen, Jack Spicer, and Richard Duerden. The same year saw the "San Francisco Scene" issue of Evergreen Review. Poet Helen Adam's flamboyant 1961 ballad opera, entitled San Francisco's Burning, epitomized the time, outrageous both aesthetically and socially. Other writers associated with the San Francisco Renaissance included James Broughton, Lew Welch, Ron Loewinsohn, Madeline Gleason, David Meltzer, Kirby Doyle, and Lenore Kandel.
Experimentation with forms of literature and lifestyle had long been an attractive characteristic of life in San Francisco. But the tolerance felt in Northern California was not as evident in Los Angeles. In 1957, an exhibit of work by assemblage artist Wallace Berman at the Ferus Gallery was closed by the Los Angeles Police Department, and Berman was jailed on charges of exhibiting "lewd and lascivious pornographic art." Found guilty (by the same judge who ruled against Henry Miller), Berman and family left L.A. for San Francisco that year. Berman edited and published a fascinating assemblage magazine called Semina. After the raid of his exhibit at Ferus, he announced in Semina 2 that "I will continue to print Semina from locations other than this city of degen-erate angels." Berman's friend, artist George Herms, designed his own books and provided the artwork for others, including Diane di Prima. Herms had likewise found the political climate in L.A. intolerable and had preceded the Bermans to Northern California.
In the mid-1960s, John Martin's Black Sparrow Press began publishing broadsides and booklets and has, over the years, published a wide variety of experimental and alternative poetry and prose, including work by Duncan, Olson, Spicer, and Creeley among very many others.
Because of the previous associations of house printer/designer Graham Mackintosh, Black Sparrow is linked to earlier literary small presses of Northern California, particularly White Rabbit Press (at the urging of Jack Spicer, Mackintosh resurrected the press in 1962, printing Spicer's own Lament for the Makers); Robert Hawley's Oyez Press (Mackintosh had printed its first book in 1963); and Dave Haselwood's Auerhahn Press, which flourished during the 1960s and early 70s in San Francisco. Auerhahn published a wide variety of well-designed books, including The Exterminator, an early example of William S. Burroughs and Brion Gysin's cut-up technique, in 1960. Auerhahn also published John Wieners's first book, The Hotel Wentley Poems. Oyez published many memorable volumes including Philip Lamantia's Touch of the Marvelous. Joe Dunn's White Rabbit Press, which had begun publishing in 1957 with Steve Jonas's rough work Love, the Poem, the Sea & Other Pieces Examined, produced books somewhat less elegant than Auerhahn's or Oyez's but with a beauty all their own.
The editorial genius behind White Rabbit was the irrepressible Jack Spicer, who published his own remarkable mimeographed magazine, J. Spicer emphasized the inclusion of writers who were not well published elsewhere, and accepted contributions for consideration in a box that was kept in one of three bars in the North Beach area of San Francisco. J is representative of the best of the mimeograph revolution: an uncompromising editorial stance combined with a playful, even colorful, formal character thanks to Fran Herndon, who edited the artwork for the magazine. Spicer's model for J was Beatitude, which had begun publication in San Francisco slightly before J. And a recalcitrant model it was, since Spicer was not a fan of the Beats and carried on a running war against Ferlinghetti in particular. He imagined Ferlinghetti had become commercial and financially successful, thereby, in Spicer's mind, "selling out" to the establishment. Magnificently consistent with his principles, Spicer never copyrighted his own work, anticipating the "no copyright, no nuthin" statements of Tom Clark's London-based Once Series. The performative aspects of Spicer's poetics as well as his personality also prefigured the rise of poetry readings in the 1950s, particularly those sponsored by the Poetry Center at San Francisco State, which featured mimeographed programs and booklets printing selections from the poets who were reading, among them, Charles Olson, Denise Levertov, and Louis Zukofsky.
Although Spicer's J didn't publish the works of "established" poets, Spicer did include the work of Robert Duncan in four issues of his magazine. Duncan and Jess Collins (whose work adorned the cover of many magazines and books of the period, including Open Space, Caterpillar, and The Floating Bear) were important influences on the literary and artistic scene in San Francisco in the 60s. Duncan's early work was published in Berkeley or North Carolina (his Song of the Border-Guard was published by the Black Mountain College Press with a cover by Cy Twombly in 1952). Other earlier works were multilithed (Fragments of a Disordered Devotionin San Francisco in 1952) or mimeographed (the first hundred copies of Faust Foutu were mimeographed by Duncan himself, and the next 150 or so of one act of the play were multilithed by Joe Dunn of White Rabbit Press at his place of employment, the Greyhound Bus offices in San Francisco). The multilithed third edition of Faust Foutu, although also produced by Dunn, was published under Duncan's own imprint, Enkidu Surrogate, of Stinson Beach. Duncan's work was published by an amazing variety and number of publishers, including Oyez, Auerhahn, White Rabbit, Black Sparrow, Divers Press, Jargon, Perishable Press, City Lights, Grove Press, New Directions, and Scribners.
Slightly outside the Spicer circle (although some of his own poems were published in J) was Donald Allen, who, after the publication of The New American Poetry, 1945-1960 and before his removal to New York, established the Four Seasons Foundation in San Francisco, which published the work of a number of the writers from the anthology, including Charles Olson, Ed Dorn, Ron Loewinsohn, Philip Lamantia, Michael McClure, Joanne Kyger, Robin Blaser, and Robert Creeley. Among the early Four Seasons publications were two important works by poet Gary Snyder (the Reed College roommate of Lew Welch and Philip Whalen and the "Japhy Ryder" of Kerouac's The Dharma Bums): Six Sections from Rivers and Mountains Without End and Riprap and Cold Mountain Poems, both published in 1965. Riprap, it should be noted, was originally published in 1959 as a booklet by Cid Corman's Origin Press. Snyder's Myths and Textswas published in 1960 by Corinth Books. Snyder was out of the country on an extended stay in Japan, and the text used for the Corinth publication was probably from a manuscript that LeRoi Jones had hand-copied from one that Robert Creeley had received from Snyder in 1955 or 1956. Snyder's poetry was extremely popular in the 60s and was often used as text for broadsides by small presses, particularly those whose owners were ecologically minded. For instance, Snyder's poem "Four Changes" was published in 1969 by Earth Read Out, a Berkeley environmental protection group, as four mimeographed pages, as well as in a folded, printed version in 200,000 copies by environmentalist Alan Shapiro for free distribution to schools and citizens' groups.
Literary scenes with strong affiliations to the New American Poetry were in evidence elsewhere in California — most notably Bolinas in the 1970s, when that somewhat remote hippie village north of San Francisco became home to many poets. In particular, the transplanted easterner and Poetry Project veteran Bill Berkson and his press Big Sky flourished there in the decade, publishing both a magazine and a series of books. Bolinas residents of the period also included Robert Creeley, Bobbie Louise Hawkins, David Meltzer, Lewis Warsh, Tom Clark, Lewis MacAdams, Philip Whalen, Aram Saroyan, Joanne Kyger, Jim Carroll, and Duncan McNaughton, among others. Ted Berrigan, Alice Notley, and Joe Brainard were among many occasional visitors, with Joe Brainard's Bolinas Journal providing an interesting record of one such extended stay.
(1) Kenneth Rexroth. AMERICAN POETRY IN THE TWENTIETH CENTURY (New York: Herder and Herder, 1971), p. 141.


In addition to pooling we also offer short and long term rental solutions with additional services such as pooling and cleaning where needed. The big advantage of renting is that you invest in your core business and keep your CAPEX for the projects that add value to your product.
Usually rent is chosen for assets that are used in a closed loop or within a factory and by companies that prefer opex over capex when it comes to these type of assets.
Interested in temporary use of pallets or containers?
Invest in your core business and keep your CAPEX for the projects that add value to your product.
Our rental terms are 3,5 and 7 years for any pallet or container. We will even find it and buy it for you specifically if needed.
Short term rental (-3yrs) is also possible, but only for load carriers of which we have stock available.
We can offer additional services such as pooling and cleaning where needed.
Convinced that renting is the right solution for you?
The type of packaging can vary according to your needs Do you need help to determine which packaging solution suits you more? Ask us for more information.
IS RENTING THE RIGHT SOLUTION FOR YOU?
We do not only offer renting as a solution. Have you ever heard of pooling ? Have a look. If you want to buy load carriers, we can also support your needs.


text:
Polák Ede József (Alsópél, Bars vármegye, 1816. március 12. – Budapest, 1892. március 18.) bölcseleti doktor, piarista áldozópap és tanár, igazgató és a rend kormánysegéde.

Élete

Szülei korán átköltöztek Nyitrára és a gimnáziumot is ott végezte. Ugyanitt 1832. szeptember 25-én lépett a rendbe; a két próba-évet Trencsénben töltötte, ahol tanárnak is alkalmazták. 1835 és 36-ban Debrecenben volt próbaéves tanár és Vácon folytatta bölcseleti tanulmányait. Az 1838-1839. évet Nyitrán töltötte és tanulta a teológiát, készülve a bölcseletdoktori szigorlatra, melyet 1839-ben le is tett. 1839-40-ben Nyitrán, 1840-41-ben Szentgyörgyön kizárólag teológiai tanulmányokkal foglalkozott. 1841. augusztus 5-én pappá szenteltetett Nyitrán.

Gimnáziumi tanár volt 1842-43-ban Selmecen, 1844-től 1850-ig Temesvárt, különösen szaktárgyának a természettannak szentelve idejét. 1850-ben Selmecre helyezték át, ahol a természettant és latin nyelvet tanította, 1860-tól 1864-ig Pesten latin nyelvet, fizikát, matézist és filozófiát tanított. 1863-ban a kecskeméti főgimnázium igazgatója és a rendi növendékek vezetője lett. 1868-ban tiszteleti kormánytanácsossá, 1877-ben pedig tiszteleti kormánysegéddé választották. Midőn mint az 1882. évi nagygyűlés által megválasztott valóságos kormánysegéd Budapestre volt menendő, május 31-én Kecskeméten tartózkodásának húsz évét megünnepelte az ottani tanulóifjuság és a város előkelősége.

1883-tól állandóan Budapesten lakott, levéltári és tanügyi biztosi teendőket végezve, majd mint a rend pénztárnoka és vagyonának gondozója működött. 1891. augusztus 5-én tartotta aranymiséjét.

Újságcikkei

Cikkei a selmeci gimnázium Értesítójében (1857. Wurf und Centralbewegung, 1859. Chronologisch-historische Derstellung der physikalischen Erfindungen); a kecskeméti főgymnasium Értesítőjében (1866. Az állat- és növényország viszonya a légkörhöz, 1867. A hő nagy szerepe a természet gazdászatában, 1868. A szelek a nagy világban s befolyásuk az időre, 1869. A légnedvesség tüneményei, 1872. A légsúlymérő ingadozásai, 1875. A légkör villámtüneteiről, 1877. Középiskolai rendtartás, A fénytani lencsék képletének egyszerű levezetése, 1880. Nézetek a jégeső tüneményéről és Archimed elvének bebizonyítása, 1883. A légkör fénytüneteiről); a Természetben (1869. Időjósok a természet három országában, Jegyzetek a hallásról, 1870. A tiszta látás föltételei, Csalódások a látott tárgyak távolai-, nagyságai-, helyei-, mozgásai- és idomairúl hozott ítéleteinkben, 1871. A víz sajátságos magatartása 0 és +4 hőfok között, 1874. A sugárzó hő tüneményeiről, 1875. A hő fejlesztéséről); írt még ezeken kívül sok tanügyi és természettani cikket a Tanodai Lapokba, a Reformba s a Kecskeméti Lapokba.

Források

 Magyar katolikus lexikon

Magyar piarista szerzetesek
Magyar pedagógusok
1816-ban született személyek
1892-ben elhunyt személyek

redpajama_set_name: RedPajamaWikipedia


Com is owned by Global Clearing Group LTD, an offshore company which is not regulated. Do not open an account with it before reading full review.
Understanding the change in value helps traders to enter, or edit orders to manage their trading. Online forex broker 2PIPSFOREX Review · 2 Pips Forex ( Global Clearing Group Ltd), St.
For Crypto Traders starters. Global Clearing Group reviews - www.
George Dominica, W. What real traders say about 2pipsforex broker?
2pipsforex broker. 2 Pips Forex reviews and ratings, a forex trading broker rated and reviewed by forex traders.
White Label, or Auto Dealer, or Complete broker- dealer Trading platform. Story 2: A friend open an account at 2pipsforex he right now 60+ pip profit he click close can' t. Reviews for 2PipsForex. Forex Brokers in Other Offshore Entities.
George, Dominica ( None). Global Clearing Group Ltd 8 Copthall, Roseau Valley, St.
Read/ submit Global Clearing Group reviews. Your clients will get: 1- 2 pips Forex trading platform with Margin: 500: 1 or $ 200 per.
A pip is the price move in a given exchange rate. 2 scam brokers around Broker Discussion.
Analysts everywhere are predicting that will be the year institutional investors buy big into crypto. By traders, for traders.


One of the issues encountered when debugging libvirt guest problems with Nova, is that it isn't always entirely obvious why the guest XML is configured the way it is. For a while now, libvirt has had the ability to record arbitrary application specific metadata in the guest XML. Each application simply declares the XML namespace it wishes to use and can then record whatever it wants. Libvirt will treat this metadata as a black box, never attempting to interpret or modify it. In the Juno release I worked on a blueprint to make use of this feature to record some interesting information about Nova.
Version – the Nova version number, and any vendor specific package suffiix (eg RPM release number). This is useful as the user reporting a bug is often not entirely clear what particular RPM version was installed when the guest was first booted.
Name – the Nova instance display name. While you can correlated Nova instances to libvirt guests using the UUID, users reporting bugs often only tell you the display name. So recording this in the XML is handy to correlate which XML config corresponds to which Nova guest they're talking about.
Creation time – the time at which Nova booted the guest. Sometimes useful when trying to understand the sequence in which things happened.
Flavour – the Nova flavour name, memory, disk, swap, ephemeral and vcpus settings. Flavours can be changed by the admin after a guest is booted, so having the original values recorded against the guest XML is again handy.
The Nova version number information in particular has already proved very useful in a couple of support tickets, showing that the VM instance was not booted under the software version that was initially claimed. There is still scope for augmenting this information further though. When working on another support issues it would have been handy to know the image properties and flavour extra specs that were set, as the user's bug report also gave misleading / incorrect information in this area. Information about cinder block devices would also be useful to have access to, for cases where the guest isn't booting from an image.
While all this info is technically available from the Nova database, it is far easier (and less dangerous) to ask the user to provide the libvirt XML configuration than to have them run random SQL queries. Standard OS trouble shooting tools such as sosreport from RHEL/Fedora already collect the libvirt guest XML when run. As a result, the bug report is more likely to contain this useful data in the initial filing, avoiding the need to ask the user to collect further data after the fact.
The intention is that as long as the XML namespace URI (http://openstack.org/xmlns/libvirt/nova/1.0) isn't changed, the data reported here will not change in a backwards incompatible manner. IOW, we will add further elements or attributes to the Nova metadata, but not change or remove existing elements or attributes. So if OpenStack related troubleshooting / debugging tools want to extract this data from the libvirt XML they can be reasonably well assured of compatibility across future Nova releases.
This blogs describes a error reporting / troubleshooting feature added to Nova a while back which people are probably not generally aware of.
One of the early things I worked on in the Nova libvirt driver was integration of support for the libvirt event notification system. This allowed Nova to get notified when instances are shutdown by the guest OS administrator, instead of having to wait for the background power state sync task to run. Supporting libvirt events was a theoretically simple concept, but in practice there was a nasty surprise. The key issue was that we needed to have a native thread running the libvirt event loop, while the rest of Nova uses green threads. The code kept getting bizarre deadlocks, which were eventually traced to use of the python logging APIs in the native thread. Since eventlet had monkeypatched the thread mutex primitives, the logging APIs couldn't be safely called from the native thread as they'd try to obtain a green mutex from a native thread context.
After this debugging experience I decided to propose something that I've had on previous complex systems, a facility that allows an admin to trigger a live error report. Crucially this facility must not require any kind of deployment setup tasks and thus be guaranteed available at all times, especially on production systems where debugging options are limited by the need to maintain service to users. I called the proposal the "Guru Meditation Report" in reference to old Amiga crash reports. I did a quick proof of concept to test the idea, but Solly Ross turned the idea into a complete feature for OpenStack, adding it to the Oslo Incubator in the openstack.common.reports namespace and integrating with Nova. This shipped with the Icehouse release of Nova.
The setup_autorun method installs a signal handler connected to SIGUSR1 which will dump an error report to stderr when triggered.
Config – dump of all configuration settings loaded by oslo.config – useful because the config settings loaded in memory don't necessarily match what is currently stored in /etc/nova/nova.conf on disk – eg admin may have modified the config and forgotten to reload the services.
Package – information about the software package, as passed into the setup_autorun method previously. This lets you know the openstack release version number, the vendor who packaged it and any vendor specific version info such as the RPM release number. This is again key, because what's installed on the host currently may not match the version that's actually running. You can't always trust the admins to give you correct info when reporting bugs, so having software report itself is more reliable.
Process – information about the running process including the process ID, parent process ID, user ID, group ID and scheduler state.
The report framework is modular, so it is possible to register new generator functions which add further data to the error report. This is useful if there is application specific data that is useful to include, that would not otherwise be suitable for inclusion in oslo-incubator directly. The data model is separated from the output formatting code, so it is possible to output the report in a number of different data formats. The reports which get sent to stderr are using a crude plain text format, but it is possible to have reports generated in XML, JSON, or another completely custom format.
Triggering from a UNIX signal and printing to stderr, is a very simple and reliable approach that we can guarantee will almost always work no matter what operational state the OpenStack deployment as a whole is in. It should not be considered the only possible approach though. I can see that it may be desirable to also wire this up to RPC messaging bus, so a cloud admin can remotely generate an error report for a service and get the response back over the message bus in an XML or JSON format. This wouldn't replace the SIGUSR1 based stderr dumps, but rather augment them, as we want to retain the ability to trigger reports even if rabbitmq bus connection is dead/broken for some reason.
AFAIK, this error report system is only wired up into the Nova project at this time. It is desirable to bring this feature over to projects like Neutron, Cinder, Glance, Keystone too, so it can be a considered an openstack wide standard system for admins to collect data for troubleshooting. As explained above, this is no more difficult that adding the modules to openstack-common.conf and then adding a single method call to the service startup main method. Those projects might like to register extra error report sections to provide further data, but that's by no means required for initial integration.
Having error reports triggered on demand by the admin is nice, but I think there is also value in having error reports triggered automatically in response to unexpected error conditions. For example if a RPC request to boot a new VM instance fails, it could be desirable to save a detailed error report, rather than just having an exception hit the logs with no context around it. In such a scenario you would extend the error report generator so that the report included the exception information & stack trace, and also include the headers and/or payload of the RPC request that failed. The error report would probably be written to a file instead of stderr, using JSON or XML. Tools could then be written to analyse error reports and identify commonly recurring problems.
Even with the current level of features for the error report system, it has proved its worth in facilitating the debugging of a number of problems in Nova, where things like the eventlet backdoor or python debugger were impractical to use. I look forward to its continued development and broader usage across openstack.
What follows below is an example error report from the nova-compute service running in one of my development hosts. Notice that oslo.conf configuration parameters that were declared with the 'secret' flag have their value masked. This is primarily aiming to prevent passwords making their way into the error report, since the expectation is the users may attach these reports to public bugs.


AirPods 2 are finally here. What changed?
Read more for a breakdown on AirPods vs AirPods 2 - price, colours, wireless charging and more.
Is This Upgrade Worth it, Should I Wait for Airpods 2?
Apple is dropping products left and right. First releasing a new version of the iPad, then a new iMac and now AirPods 2 all in the same week. You might look at the new earphones and think, "They look exactly like the ones I spent a lot of money on, what is the difference?" Well, there are a number of changes so let's dive in.
The two models are different in price, chip and Qi wireless charging compatibility.
The new product is not yet in stores at the moment. AirPods generation 2, will be available in Apple stores by the end of March. Online pre-orders however, are available and customers are receiving a delivery estimate between the 27th and 30th of March.
This new launch from Apple offers customers three options with different prices. You can purchase the upgraded AirPods bundled with the wireless charging case at the price of $199.
You can also purchase AirPods 2 at $159 without the wireless charging feature. Or you can spend $79 to buy the new case separately and use it with gen 1.
To start off, all the features unique to the first generation of AirPods are still in the new one. For example, they are still the same comfortable fit, they automatically connect to your device, they still sync to iCloud which means they sync to your iPad, Apple Watch, iPhone and iMac.
What has changed is the chip inside that powers it all. Apple used a W1 chip in the first gen. This chip is also used to power other devices like the Apple Watch. Gen 2 are now powered by a custom made chip, called H1. This chip has a custom build specific to headphones. So, using it leads to a few benefits from the jump.
H1 gives a more stable sound quality and overall optimizes the use time for the product. For example, the new generation will give you three more hours of listening time in comparison to the first one. You should also be able to get 50% more talk time, which is significant if you're one to enjoy calling your loved ones. They charge more quickly and efficiently and have a wider more stable range to connect to your devices.
Another feature enabled by the H1 chip is hands free Siri. This release allows you to just say Hey Siri and connect to your phone without having to use your hands. This is really tapping into that futuristic vision of connecting to technology all around hands free.
If you enjoy playing on your console from your couch, without having to purchase a special wireless headset, then you're in luck. You can now use the AirPods practically all the time, as they are gaming compatible as well. The new generation gives you a real-time gaming experience as they provide at least 30% less latency.
But the biggest difference between the old AirPods and the new ones is the fact that they can now charge wirelessly. Yes, the AirPods have finally joined the wireless charging family. This product release comes with a wireless charging case that works on any Qi enabled charging pad. And what's even better, is that you don't need the new AirPods to use this. The Qi enabled cases are sold separately and are compatible with the first gen of AirPods. You can use any of our LXORY wireless charging products to charge the case. Just lay it down with your phone or Apple watch and pick it up in a few hours fully charged.
Let's lay these rumours to rest. AirPods 2 come in exactly the same colour and design as its predecessor. They don't have the matt non-slip coating many were hoping for and they are not offered in black yet. At this point, we can only hope to find these features in a future AirPods 3 upgrade sometime down the line.
Should I Wait for AirPods 2?
On the outside, these new AirPods might look just like the first one but on the inside, they have a lot of features that set them apart. There is an overall number of changes that make them a clear winner over the first generation. But the best thing about this new launch, is that the choice is really up to you. If you already own gen 1 that work well and you don't find the new voice-active Siri all that enticing, you can still join the wireless charging club, by purchasing the case alone. Overall, this launch might not be the most extravagant in terms of looks or colour options, but the upgrade was necessary.


text:
WoRMS taxon details
Geminigera cryophila (D.L.Taylor & C.C.Lee) D.R.A.Hill, 1991
Hacrobia (Subkingdom)
Cryptophyta (Phylum)
Cryptophyceae (Class)
Pyrenomonadales (Order)
Geminigeraceae (Family)
Geminigera (Genus)
Geminigera cryophila (Species)
Geminigera D.R.A.Hill, 1991
Cryptomonas cryophila D.L.Taylor & C.C.Lee, 1971
Descriptive notes
LSID urn:lsid:algaebase.org:taxname:50475
LSID urn:lsid:algaebase.org:taxname:50475 [details]
Guiry, M.D. & Guiry, G.M. (2022). AlgaeBase. World-wide electronic publication, National University of Ireland, Galway (taxonomic information republished from AlgaeBase with permission of M.D. Guiry). Geminigera cryophila (D.L.Taylor & C.C.Lee) D.R.A.Hill, 1991. Accessed through: World Register of Marine Species at: https://www.marinespecies.org/aphia.php?p=taxdetails&id=341616 on 2022-01-20
Scott, Fiona
Guiry, Michael D.
Copyright notice: the information originating from AlgaeBase may not be downloaded or replicated by any means, without the written permission of the copyright owner (generally AlgaeBase). Fair usage of data in scientific publications is permitted.
basis of record Scott, F.J.; Marchant, H.J. (Ed.). (2005). Antarctic marine protists. Australian Biological Resources Study: Canberra. ISBN 0-642-56835-9. 563 pp., available online at http://its-db.aad.gov.au/proms/pubn/pubshow.asp?pub_id=12140 [details]
additional source Guiry, M.D. & Guiry, G.M. (2020). AlgaeBase. World-wide electronic publication, National University of Ireland, Galway. , available online at http://www.algaebase.org [details]
additional source Tomas, C.R. (Ed.). (1997). Identifying marine phytoplankton. Academic Press: San Diego, CA [etc.] (USA). ISBN 0-12-693018-X. XV, 858 pp., available online at http://www.sciencedirect.com/science/book/9780126930184 [details]
ecology source Leles, S. G.; Mitra, A.; Flynn, K. J.; Tillmann, U.; Stoecker, D.; Jeong, H. J.; Burkholder, J.; Hansen, P. J.; Caron, D. A.; Glibert, P. M.; Hallegraeff, G.; Raven, J. A.; Sanders, R. W.; Zubkov, M. (2019). Sampling bias misrepresents the biogeographical significance of constitutive mixotrophs across global oceans. Global Ecology and Biogeography. 28(4): 418-428., available online at https://doi.org/10.1111/geb.12853 [details] Available for editors [request]
From editor or global species database
Published in AlgaeBase
Published in AlgaeBase (from synonym Cryptomonas cryophila D.L.Taylor & C.C.Lee, 1971)
To Barcode of Life
To GenBank (44167 nucleotides; 6 proteins)

redpajama_set_name: RedPajamaCommonCrawl


Today's staffing organization is growing at a rapid pace and needs to have a team of financial services professionals that responds quickly to change. The average staffing company has outgrown the typical accountant and developed the need for a CPA firm with a deep industry focus. With change, managing risk and realizing tax savings opportunities become a more important focus as staffing organizations decide how they will adapt and evolve their business models for long-term survival. Regulatory issues require skill set that integrates financial and business expertise to keep your business risk at a minimum.
Having a knowledgeable team who understands the competitive forces shaping your industry is critical to managing a successful business. As leaders in the industry, we are quick to identify and address new trends, accounting requirements and regulations to ensure our clients' future success. Our firm's National Staffing Practice has the skill set to anticipate and respond to the needs of your business by providing solutions that give you a competitive advantage.
We often hear from companies that they are not being properly or effectively served by their current accounting firm. This is why we have made a strong commitment to ensure that quality is built into every engagement. We have been successful in meeting and exceeding client expectations, including the transition from their previous advisors.


Includes Detailed Manual with color pictures, 6 piece tool Set and DVD with audio instructions. This chair massage attracts attention at outdoor events and is fun. The course is an instructive study of bamboo chair massage good for 8 CE's for FL, TN, AL, and NCBTMB. Free shipping in the USA only.
Bamboo2Go® Chair Home Study comes with 8CE approved by the NCBTMB. Our course is a routine designed specifically for chair massage. Finally, an easy way to do chair massage without killing yourself. Plus, the client will benefit from the deep pressure application of the tools. Also, the pieces glide effortlessly over the client clothes.
Feel like you are in live class with the audio instructions from the DVD. Easy step-by-step instructions in our color manual. Then take the test online to receive immediate certification. Also, the Bamboo2Go® home study course comes with an 8 piece tool set.
1- 6 Piece Bamboo2Go® Tool Set 1- Color Manual 1-DVD Shipped Free in USA only. Email us for shipping rates outside the USA.
Fall back in love with your chair and set yourself apart. The tools market themselves for outdoor events. Furthermore, use the Bamboo2Go® tool sets at room temperature or heat them in a heating pad.
Our tools come in different sets. The Bamboossage® toolset for the table massage consists of eight-pieces. The toolset for the Bamboo2Go® Chair massage is a six-piece toolset. And our new Bamboossage® Facial sticks have 7-pieces. The Deluxe tool set comes with ten pieces for the table and chair. And then the entire Premium set that includes the facial sticks has 17-pieces.
We make our Bamboossage® sticks from solid rattan with a few pieces just a few from real bamboo that is hollow. Bamboo contracts and expands which leads to splitting when heating. Since our sets are mostly solid rattan, this is not a problem. Beware of the sticks that claim to be 100 % solid bamboo. These sets are made of 50% bamboo pulp and 50% glue. They are poured into a mold and come out like closet dowels. The glue breaks down over time when heated. Our sets are handmade by us in the USA. Like us, each piece has its own personality and imperfections that make them both special and unique.


text:
\section{Introduction}
In wireless networks, resource allocation could take place at multiple layers of the protocol stack. Examples of these include transmit power control, channel allocation, and link scheduling at the PHY/MAC layer and buffer management at the transport layer. While network layering aims to reduce inter-layer dependency and brings noticeable benefits for interconnection, it is recognized that network performance can be optimized if network resources at different layers can be jointly taken into consideration for the design of network information flow. Specifically, the PHY and MAC layer resources, which tend to be isolated from upper layer functionalities, can be designed to support performance requirements at routing and transport layers \cite{tan-pc}. The resource allocation problem has been extensively studied for different types of wireless networks (see \cite{geo-realloc,xia-realloc-suv,mung-realloc-suv}), such as cellular networks and wireless ad hoc networks. Nevertheless, the methodologies adopted in these works, for instance, maximum network utility, were built upon the premise that networks leverage traditional routing and forwarding. Therefore, when a different transport paradigm, such as random network coding (RNC), is employed, the traditional approaches fail to take full advantage of the distinct properties of RNC, and thus become less effective or even invalid.

RNC allows the nodes in the network to perform coding of packets at the network layer. It has received a large amount of attention since its inception \cite{netflow} and  has been demonstrated to yield benefits in achieving the optimal network throughput \cite{netflow}, improving network security \cite{han-sec}, and supporting distributed storage \cite{dima-dist-stor} and content delivery \cite{gkan-cont-dist}. Compared with the active progress in researching the benefits and application of RNC, there have been far less efforts looking into resource allocation for RNC. Existing ones include \cite{yal-cros,dan-rand,zha-reallocisit}. In fact, due to the cooperative nature of RNC, varied allocation of resources at different nodes lead to complex interactions and unpredictable performance. We will elaborate on this complex interaction using two motivating examples: (i) power control in a wireless network with RNC, and (ii) CSMA backoff control in a wireless network with RNC.

Let us first consider the effects of transmit powers on the performance of random network coding in the wireless network shown in Figure \ref{fig:concept_topo}. The source node, node $1$, is trying to multicast to a set of sink nodes, node $\{4,5,6\}$. In this network, every node is transmitting and is also able to receive from others. We further assume the network is interference limited, i.e., each transmission is interfered by simultaneous transmissions from other nodes. Therefore, increasing transmit power at a node improves SINR value of its own transmission but raises interference to others. The throughput of the destination nodes thus depend on the power levels at all nodes. To observe this effect, we set the transmit power $P_{i}^{\mt{Tx}}$ of each node $i$ to $13$dBm at $t=0\text{ms}$. Subsequently, at $t=500\text{ms}, t=1000\text{ms}$ and $t=1500\text{ms}$, the transmit powers of node $1, 3, 4$, i.e., $P_{1}^{\text{Tx}}, P_{3}^{\mt{Tx}}$ and $P_{4}^{\mt{Tx}}$ are increased to $14$dBm, respectively. As seen in Figure \ref{fig:moti-p}, the power increment of node $1$ at $500\mt{ms}$ improves the throughput of all the sink nodes, whereas node $3$'s increment at $1000\mt{ms}$  leads to the decrease of throughput of node $4$ and $6$. Therefore, increasing power at one node does not necessarily improve the throughput at all the destination nodes; on the contrary, it may possibly hurt the throughput at some node.

\begin{figure}[h]
\begin{center}
\includegraphics[height=4cm,width=11cm]{concept_topo.eps}
\end{center}
\caption{Hypergraph model of a wireless network of six nodes with $s=1$ and $\mathcal{D}=\{4,5,6\}$.}
\label{fig:concept_topo}
\end{figure}

Now consider the case of adjusting the backoff time in a CSMA network employing RNC. We consider a network with the same topology as in Figure \ref{fig:concept_topo} that is  utilizing CSMA as the MAC layer protocol. In this network, each node contends for transmission with an exponentially distributed delay value. We manipulate the mean of the backoff delay to control the transmission aggressiveness of each node and see its impacts on RNC throughput.
At $t=0\mt{ms}$, the mean backoff delay of each node is set such that all the destination nodes, node $4, 5, 6$, are transmitting at about $0.12\text{pkt/ms}$. Subsequently, at $t=1000\text{ms}, t=2000\text{ms}$ and $t=3000\text{ms}$, the mean backoff delay of nodes $1, 4, 6$ are reduced, i.e., transmission aggressiveness increased, respectively as follows. The mean backoff delay of node $1$ is reduced from $3.70$ms to $2.24$ms, node $4$ from $2.74$ms to $1.66$ms, and node $6$ from $1.66$ms to $0.83$ms. Figure \ref{fig:moti-c} shows that, for example, at $t=2000\mt{ms}$, when node $4$ starts to contend more aggressively, it improves the throughput of node $6$. However, this simultaneously leads to the drop of the throughput of node $4$ itself and node $5$. An apparent reason is that it leads to reduced channel availability for these two nodes. Similar effects can also be seen for the subsequent window size change when node $6$ becomes more aggressive.

\begin{figure}[h]
\begin{center}
\includegraphics[height=8cm]{moti-p.eps}
\end{center}
\caption{Effect of transmit power on network coding throughput.}
\label{fig:moti-p}
\end{figure}

\begin{figure}[h]
\begin{center}
\includegraphics[height=8cm]{moti-c.eps}
\end{center}
\caption{Effect of CSMA backoff delay on network coding throughput.}
\label{fig:moti-c}
\end{figure}

Both of the above two examples, one at the PHY layer, and the other at the MAC layer, show that due to the network dynamics and the complexity of the problem, it would be cumbersome or unsuccessful to employ some static, or heuristic resource allocation mechanism in a network employing RNC. Rather, a deliberately designed, and more importantly, dynamic resource allocation algorithm is required to support the optimal RNC performance.
Since RNC is fundamentally different from routing and forwarding in terms of packet delivery  as there are no specific routes being computed and followed \cite{bene}, analyzing it with traditional methods designed for uncoded networks will be problematic.
To illustrate this, note that in a network where information is delivered based on some proactively determined route, network resources should be arranged such that certain network throughput can be achieved with certain reliability. However because of the nature of RNC, reliability is not a separate issue to be taken care of; resource allocation to improve network coding performance mainly is about improving throughput. Therefore, adopting an inappropriate model will not take full advantage of the benefits that RNC offers. In light of this, a differential equation based framework in \cite{dedi-it} and \cite{dedi-isit} is of particular interest for deriving resource allocation algorithms for RNC. This framework leverages a system of differential equations to elegantly model the rank evolution process which shapes the RNC performance. The presence of PHY and MAC layer parameters in this model makes it natural to analyze lower layer resource allocation for RNC.

In this paper, we address the problem of resource allocation for random network coding in wireless networks.  In what follows, we first discuss the system model considered in this article and analyze RNC throughput with the differential equation framework in section \ref{sec:sys-mod}. Then in section \ref{sec:algo}, we formulate the resource allocation problem to maximize the minimum network throughput among the destination nodes. While this problem falls into the category of optimal control, which is usually solved by the method of calculus of variations, we present a gradient based algorithm specifically designed for this resource allocation problem here. Two use cases of this algorithm, i.e., power control and CSMA mean backoff delay control, are presented to improve network coding throughput in section \ref{sec:pc} and \ref{sec:csma}, respectively. Specifically, we derive both centralized and online algorithms for the above two use cases. The main contribution of this work is to present a novel methodology to analyze cross-layer resource allocation in the context of RNC from a dynamical system view provided by the differential equation model. The framework utilized in this methodology is sufficiently general such that it can be used to analyze all kinds of PHY/MAC layer resources and derive effective resource allocation algorithms.

\section{Preliminaries} \label{sec:sys-mod}

\subsection{Differential Equation Framework for RNC} \label{inter-mod}
We adopt the directed hypergraph, introduced in \cite{oncoding}, to model a wireless network: $G=(\mathcal{N}, \mathcal{E})$ which has $N$ nodes $ \mathcal N= \{ 1,2, \ldots , N \} $ and hyperarcs $\mathcal{E}=\{ (i,\mathcal{K} )|i \in \mathcal{N}, \mathcal{K} \subset \mathcal{N}\}$. By introducing the hyperarc $(i,\mathcal{K})$, this model naturally captures the fact that in a wireless environment, a packet transmitted by node $i$ can be received by a subset of nodes from $\mathcal{K}$.
To illustrate this, we note from Figure \ref{fig:concept_topo} that each node has a point to point link to every other node, but a transmitted packet can only be received by a subset of these nodes. This subset could be determined explicitly by the received signal and interference levels (adopted in section \ref{sec:pc} for the case of power control), or implicitly by a thresholding distance for reception (adopted in section \ref{sec:csma} for the case of CSMA).

Consider that each node in the wireless network $G$ is performing random network coding \cite{bene}, i.e., a source node sends out random linear combinations of the original packets (coded packets), and other nodes merely receive packets from the network and they in turn send out random linear combinations of the packets received. We assume each coded packet is a row vector of length $l$ from $\mathbb{F}_q^l$, where $q$ is the field size. No routing operations are performed in the network and destination nodes can recover the original packets after collecting sufficient coded packets.  Assuming packet loss is only due to bit errors, we can then define the probability that a packet transmitted by node $i$ can be received by at least one node in $\mc{K}$, $P_{i,\mc{K}}$ as
\begin{equation} \label{eq:pik}
P_{i,\mathcal{K}} = 1- \prod_{j \in \mathcal{K}} \left(1-P_{i,j}\right),
\end{equation}
where $P_{i,j}$ is the reception probability of link $(i,j)$. We can see that $P_{i,\mc{K}}$ is a function of the PHY layer parameters, e.g., transmit powers and interference. Assuming there exists certain MAC protocol running in its stable state such that  node $i$ is sending out coded packets at the average rate of $\lambda_i$ packets per second, then the successful transmission rate from node $i$ to node $j$ can be defined as
\begin{equation} \label{eq:zik}
z_{i,\mathcal{K}} = \lambda_i P_{i,\mathcal{K}}.
\end{equation}
$z_{i,\mathcal{K}}$ can also be regarded as the capacity of hyperarc $(i,\mc{K})$. Note that the capacity of a cut, $\mc T$ for $(\mc S, \mc K), \ \mc S, \mc K \subset \mc N$ where $\mc K \subset \mc T \subset \mc S^c$ is given as $c(\mathcal{T})=\sum_{i\in \mathcal{T}^c} z_{i,\mathcal{T}}$. Then, the min cut for $(\mathcal{S}, \mathcal{K})$ is the cut with the minimum size.
We call the number of linearly independent coded packets the rank, and use $V_{\{i\}}$ to denote the rank at node $i$. We define an \textit{innovative} packet of node $i$ as the received packet which increases the rank $V_{\{i\}}$. For a RNC multicast session, if there are $m$ original packets to be delivered, each destination node $i$ can decode only if $V_{\{i\}} = m$. The notion of rank can be naturally extended to a set of nodes, $\mc{K}$, and thus $V_{\mc K}$ is the joint rank of all the nodes from $\mc K$. We call the stochastic process $V_{\mathcal{K}}(t)$ that grows from $0$ to $m$ the rank evolution process. In \cite{dedi-it}, it has been established that under the fluid approximation, we have a concentration result for the rank evolution process, i.e., the stochastic process $V_{\mathcal{K}}(t)$ is well represented by its mean, $E[V_{\mathcal{K}}(t)]$. Also, the following system of differential equations have been derived to model the rank evolution process $V_{\mc K}(t)$:
\begin{equation} \label{eq:dotv}
\dot{V}_{\mathcal{K}} = \sum_{i\notin \mathcal{K}} z_{i,\mathcal{K}}(1-q^{V_{\mc{K}}-V_{\{i\}\cup \mc{K}}}), \  \ \  \forall \mathcal{K} \subset \mathcal{N} \ \text{and}\ \mc{K}\ne \emptyset.
\end{equation}
It is worth noting that $\dot{V}_{\mathcal{K}}$ is the rate at which $\mc{K}$ is receiving innovative packets, i.e., $\dot{V}_{\mathcal{K}}$ denotes the throughput of $\mc{K}$. Apparently, with $z_{i,\mathcal{K}}$ being an abstraction of the outcome of all the PHY/MAC operations in the system of differential equations (\ref{eq:dotv}), the throughput of a set of nodes can be elegantly analyzed with respect to PHY/MAC parameters.  To illustrate this, we present two numerical examples. First consider a wireless network shown in Figure \ref{fig:re1-t} (also discussed in \cite{dedi-it}) where the source node, node $1$ intends to multicast $1000$ packets to destination nodes $2, 3, 4$. Let each node perform RNC operations and transmit at $1$pkt/ms. Suppose that packets from node $1$ can only be successfully received by node $2$ and $3$, with probability of $0.2$ and $0.4$, respectively, and node $2$ and node $3$'s packets can only be successfully received by node $4$ with probability of $0.6$ and $0.7$, respectively. Based on the above parameters, we can compute the successful transmission rate $z_{i,\mc K}$ for each hyperarc $(i, \mc K)$ for this topology. Then all the $z_{i,\mc K}$ are plugged in the system of differential equations (\ref{eq:dotv}) and solving them yields the result shown in Figure \ref{fig:re1-r}, the plot of rank evolution process for this RNC multicast. It can be easily verified that the throughputs of the destinations, i.e., the rates at which ranks increase, match the min cuts of every source and destination pair. For instance, it is trivial to see the min cut between node $1$ and $2$ is $0.2$, which is equal to the slope of the straight line for $V_2$ in Figure \ref{fig:re1-r}. Next, we  present an example with a larger topology. Consider the eight-node wireless network shown in Figure \ref{fig:re2-t}. Each line connecting two nodes denotes a bidirectional communication link with the packets reception probability next to the line. This time node $1$ has $1000$ packets to deliver to node $3, 5$ and $8$. We still let each node transmit at $1$pkt/ms. The result of solving equations (\ref{eq:dotv}) for rank evolution is shown in Figure \ref{fig:re2-r}. Again, the system of DEs serve as an accurate analytical model of RNC throughput. The throughputs implied by Figure \ref{fig:re2-r}, i.e., throughputs of nodes $3, 5$ and $8$ being $0.4$pkt/ms, $0.2$pkt/ms, and $0.4$pkt/ms, respectively, match the values of min cuts highlighted by the dashed curves in Figure \ref{fig:re2-t}. Thus the DE framework in \cite{dedi-it} is versatile and can be used to study the dynamics of RNC in any arbitrary network. In this paper, we will develop a dynamic radio resource management methodology using this framework.

\begin{figure}[t]
\label{fig:re1}
\begin{center}

	\subfigure[4-node network topology] {
		\label{fig:re1-t}
		 \includegraphics[height=4.5cm]{re1-t.eps}
	}
	\subfigure[Rank evolution] {
		\label{fig:re1-r}
		 \includegraphics[width=7.5cm]{rank-4node.eps}
	}
\caption{Rank evolution modeled by DE, example 1.}
\end{center}
 \vspace{-0.3cm}
\end{figure}

\begin{figure}[t]
\label{fig:re2}
\begin{center}

	\subfigure[8-node network topology] {
		\label{fig:re2-t}
		 \includegraphics[height=4.5cm]{re2-t.eps}
	}
	\subfigure[Rank evolution] {
		\label{fig:re2-r}
		 \includegraphics[width=7.5cm]{rank-8node.eps}
	}
\caption{Rank evolution modeled by DE, example 2.}
\end{center}
 \vspace{-0.3cm}
\end{figure}

\section{Resource Allocation Algorithm \\for Wireless Network Coding} \label{sec:algo}

\subsection{Problem Formulation}
Consider a wireless network $G = (\mc N, \mc E)$ which is performing random network coding. The source node $s$ tries to multicast $m$ packets to a set of sink nodes. We proceed to consider some PHY or MAC layer resource at every node $i$ and denote it as $r_i$. Note that $r_i$ can be any PHY/MAC layer parameter which contributes to the transmission rate $\lambda_i$ or the packet reception probability $P_{i,\mc K}$. Letting the vector $\mb r$ denote $[r_1, r_2,..., r_N]^{\top}$, we have
\eq{
z_{i,\mc K}  = z_{i,\mc K}(\mb{r}),
}
i.e., the reception rate $z_{i,\mc K}$ for each hyperarc $(i,\mc K)$ is an explicit function of allocated resource $\mb r$. To formulate the resource allocation as an optimization problem for improving the RNC performance, we consider maximizing the minimum throughput among all the sink nodes as the objective function. We let $\mc R$ be the set of destination nodes which have not reached full rank, $m$. With a little abuse of notation, we let $\dot V_{\{i\}}$ denote $\dot V_i$. Then letting $k = \arg \min_{j\in \mathcal{R}} \dot{V}_j$, we construct an optimization problem to maximize $\dot V_k$ as follows:
\eq{
 \label{eq:max-min}
\begin{aligned}
& \underset{}{\text{maximize}}
&& \dot V_k \\
& \text{subject to}
& & \dot{V}_{\mathcal{K}} = \sum_{i\notin \mathcal{K}} z_{i,\mathcal{K}} \cdot  (1-q^{V_{\mc{K}}-V_{\{i\}\cup \mc{K}}}), \ \forall \mathcal{K} \subset \mathcal{N}.\\
& & & z_{i,\mathcal{K}} = z_{i,\mathcal{K}}(\mb r).\\
& & & k = \arg \min_{j\in \mathcal{R}} \dot{V}_j \\
& \text{variables}
& & \mb r.
\end{aligned}
}

\subsection{Gradient-based Resource Allocation Algorithm}
Note that in general, the optimization problem given by (\ref{eq:max-min}) is not convex, and thus it is difficult to find the optimal solution efficiently. Additionally, this type of problem which is constrained by a set of first-order differential equations can be categorized into an optimal control problem. Existing approaches to optimal control involve calculus of variations, which can be computationally expensive and intractable in wireless networks. In this paper, we aim to find a local optimum of this problem which can provide significant throughput gains with less computational complexity. We take an approach based on the steepest ascent (its counterpart for minimization problems is called steepest descent, see \cite{rus-opt}), i.e. adjust the resource $\mb r$ towards the direction of the gradient. Essentially, our optimization objective, $\dot V_k$ is a function of the resource $\mb r$, i.e., $\dot V_k = \dot V_k (\mb r)$. This allows us to establish the gradient of throughput as the direction of the dynamic adjustment of the resource, i.e.,
\eq{ \label{eq:rdot}
\dot{\mb r}= a^{\prime} \cdot \nabla \dot V_k,
}
where $a^{\prime}$ is a positive constant tuning the gain. In this way, the allocation of resource will be iterative, as well as dynamic. We consider a discrete approximation to compute the derivative in equation (\ref{eq:rdot}) as follows. Let $\Delta v$ be the step size, and $\mb e_i$ be a column vector with $1$ being the $i$th component and $0$ elsewhere. Writing in component-wise form, we have
\eq{
\dot{r}_i = a^{\prime} \cdot \frac{\dot V_k(\mb r + \Delta v\mb e_i) - \dot V_k(\mb r)}
{\Delta v}.
}
Replacing $a^{\prime}/ \Delta v$ with $a$, we have:
\eq{ \label{eq:gen-algo}
\dot{r}_i = a \cdot \left( \dot V_k(\mb r + \Delta v\mb e_i) - \dot V_k(\mb r) \right).
}
Equation (\ref{eq:gen-algo}) serves as the basis of the resource allocation algorithm and works in an iterative manner to adapt the resource allocation towards the direction of the gradient of the minimum throughput. In the above, $\dot V_k$ is given by equation (\ref{eq:dotv}) and thus the allocation of resources takes into consideration the latest network throughput information and therefore also works in a dynamic fashion.

Note that until now, we have not imposed any specific models for the PHY/MAC layers. In fact, the resource allocation approach presented here is flexible enough that it can work with any specific lower layer models/mechanisms. For a better elucidation of this approach, we illustrate its applicability by solving two practical allocation problems for RNC: (i) power control for maximizing the minimum throughput, and (ii) CSMA mean backoff delay control for maximizing the minimum throughput.
In what follows, we present the particular PHY/MAC layer models considered for the exemplary problems and derive the corresponding algorithms.

\section{Dynamic Power Control in RNC} \label{sec:pc}
There exists a rich history of transmit power control for cellular networks (see \cite{mun-pc}) where the goal was to minimize the total power levels \cite{fos-dpc,yates-pc,zand-pc}, or to maximize network utilities \cite{chiang-uti-pc,hand-utit-pc,mand-pc}. In this section, however, we consider performing power control in a coded wireless network to improve RNC throughput.

\subsection{Interference Model} \label{inter-mod}
While the gradient based resource allocation framework in section \ref{sec:algo} is applicable for any wireless network with RNC, in this section we will specifically illustrate its use for power control in a network where we model the interference as Gaussian. In this section, we assume the wireless network $G$ to be interference limited, and model each point-to-point link gain $h_{ji}$ for $(i,j)$ with a path loss model. We use $P_{i}^{\mt{Tx}}$ to denote the transmit power at node $i$. The received signal level is given by $P_{i}^{\mt{Tx}}h_{ji}$. Each node $i$ is assumed to implement a certain processing gain $g_i$. Therefore, when node $j$ intends to receive the signal transmitted by $i$, the aggregated interference power is
\begin{equation}
J_{ji} = \sum_{m\ne j,i}(P_{m}^{\mt{Tx}}\cdot h_{jm}/g_i).
\end{equation}
Let $\sigma^2$ denote the noise power. The signal-to-noise-and-interference ratio (SINR) for the point-to-point link $(i,j)$ can be written as
\begin{equation}
\text{\textit{SINR}}_{(i,j)} = \frac{P_{i}^{\mt{Tx}} \cdot h_{ji}}{J_{ji} +\sigma^2}.
\end{equation}

Assuming BPSK signaling and Gaussian interference, the bit error rate for sender-receiver pair $(i,j)$ is given as
\eq{ \label{ber}
p_{i,j}^{\text{bit}}=Q \left( \sqrt{ \mt{\textit{SINR}}_{(i,j)} }  \right).
}

Further, assuming each packet is of $l$ bits, the probability that node $j$ can receive a packet without error is
\begin{equation}
P_{i,\{j\}} = (1-p_{i,j}^{\text{bit}})^l.
\end{equation}

Note that the differential equation framework requires the computation of $P_{i,\mc K}$ given in equation (\ref{eq:pik}). Under the above interference model, we assume that there is a MAC protocol running in steady state such that each node $i$ has an average transmission rate $\lambda_i$. Therefore, $z_{i,\mc K}$ in equation (\ref{eq:zik}) can be now written as:
\eq{
\begin{array}{ll}
z_{i,\mc K} & = \lambda_i P_{i, \mc K} \\% \cdot (1- \prod_{j \in \mathcal{K}} \left(1- (1-p_{i,j}^{\text{bit}})^l \right))
&=\lambda_i \cdot \left(1- \prod_{j \in \mathcal{K}} \left(1- \left(1-Q\left(\sqrt{\frac{P_{i}^{\mt{Tx}} \cdot h_{ji}}{\sum_{m\ne j,i}(P_{m}^{\mt{Tx}}\cdot h_{jm}/g_i) +\sigma^2}
}
\right)\right)^l \right)\right).
\end{array}
}
\subsection{Centralized Power Control} \label{subsec:pcc}
Let $\mb P^{\mt {Tx}} = \left[P_{1}^{\mt{Tx}},P_{2}^{\mt{Tx}},...,P_{N}^{\mt{Tx}}\right]^\top$ be the transmit power vector and the resource $r_i = P_{i}^{\mt{Tx}}$. The centralized power control algorithm follows directly from equation (\ref{eq:gen-algo})  (see also \cite{ciss} and \cite{zha-reallocisit}):
\eq{ \label{eq:cpc}
\dot P_{i}^{\mt{Tx}} = a \cdot \left( \dot V_k(\mb P^{\mt{Tx}} + \Delta v\mb e_i) - \dot V_k(\mb P^{\mt{Tx}}) \right),
}
where
\eq{
\dot V_k = \sum_{i\ne k}
\lambda_i \cdot  \left(1-Q\left(\sqrt{\frac{P_{i}^{\mt{Tx}} \cdot h_{ki}}{\sum_{m\ne k,i}(P_{m}^{\mt{Tx}}\cdot h_{km}/g_i) +\sigma^2}}
\right)\right)^l
\cdot \left( 1-q^{V_k - V_{\{i,k\}}} \right),
}
based on the interference model above.

We assume there is a certain power budget at each node $i$, i.e., $0 \le P_{i}^{\mt{Tx}} \le P_{i}^{\mt{max}}$. Considering this, the algorithm can be summarized as:
\eq{
\boxed{
\left.
\begin{array}{l}
k = \arg \min_{j\in \mathcal{R}} \dot{V}_j\\
\dot P_{i}^{\mt{Tx}} = \left \{ \begin{array}{ll}
0,
&  \text{if} \ (P_{i}^{\mt{Tx}}=P_{i}^{\mt{max}}\ \text{and}\ \dot V_k(\mb P^{\mt{Tx}} + \Delta v\mb e_i) > \dot V_k(\mb P^{\mt{Tx}}))\  \\
& \text{or }  (P_{i}^{\mt{Tx}}=0\ \text{and}\ \dot V_k(\mb P^{\mt{Tx}} + \Delta v\mb e_i) < \dot V_k(\mb P^{\mt{Tx}})); \\
a \cdot [\dot V_k(\mb P^{\mt{Tx}} + \Delta v\mb e_i) - \dot V_k(\mb P^{\mt{Tx}})], & \mt{otherwise.}
\end{array} \right. \end{array} \right.
}
}
To compute the throughput gradient for node $i$, the above algorithm requires the knowledge of $\dot V_k(\mb P^{\mt{Tx}} + \Delta v\mb e_i)$, the throughput of node $k$ when only node $i$'s power is incremented and other nodes' powers remain unchanged. This is only possible when there is a central controller which has the global knowledge of the whole network, especially the PHY layer specifics, such that $z_{i,k}$ can be obtained for all $i$, and further, the central controller needs to compute the power adjustment for each node. Therefore, we call it a \textit{centralized} resource allocation algorithm. This algorithm serves as a theoretical basis for the gradient algorithm considered here, but is difficult to be practically implemented to operate online, as it assumes the knowledge of PHY layer specifics all the time.

\subsection{Online Power Control}
While the algorithm in section \ref{subsec:pcc} is effective in achieving the objective to improve network coding throughput \cite{zha-reallocisit}, it can be further improved for the purpose of implementation. Specifically, it would be more desirable if the algorithm can operate online, i.e., each node computes the gradient for itself and adjusts its power without any noticeable delay.

We begin by discretizing the algorithm from \ref{subsec:pcc}, i.e., we divide the time into equal-length intervals, and seek an online algorithm which estimates the gradient at each interval, and adjusts powers at the end of each interval based on the most recent estimates. Let $T$ denote the objective function in equation (\ref{eq:max-min}), i.e., $T=\min_{j \in \mc R} \dot V_j$ and $\nabla_{\mathbf{P}^{\mt Tx}}T$ denote the gradient of $T$. The online algorithm is now given as:
\eq{
\mb{P}^{\mt {Tx}}(n) = \mb{P}^{\mt {Tx}}(n-1) + a \cdot \nabla_{\mathbf{P}^{\mt{Tx}}}T(n-1), \ \ n=2,3,4,...
}
where $a$ is the gain parameter for power control, and $\mb{P}^{\mt{Tx}}(n)$ and $T(n)$ are $\mb P^{\mt{Tx}}$ and $T$ in the $n$th interval, respectively. Note that the gist of the online algorithm lies in the estimation of $\nabla_{\mathbf{P}^{\mt{Tx}}}T(n-1)$ at each node based on the network information available to it, which is described in the following.
We first introduce the following notations:
\begin{itemize}
\item Let $\dot{\mb{V}}$ denote the size-$(2^N-1)$ throughput vector, consisting of $\dot{V}_{\mathcal{K}}, \forall \mc{K}\subset \mc{N}, \mc K \ne \emptyset$. More precisely, $\dot{\mb{V}}$ is given by
\eq{\dot{\mb{V}}=\left[ \dot V_{\{1\}} \ \dot V_{\{2\}} \ \dot V_{\{1,2\}} \ \dot V_{\{3\}}\ ... \ \dot V_{\{1,2,...,N\}}\right]
}
\item Let $\mb{z}$ denote the size-$\left(N\cdot(2^N-1)\right)$ packet reception rate vector, consisting of $z_{i,\mc{K}}, \forall i \in \mc{N}, \mc{K} \subset{N}, \mc K \ne \emptyset$. For each $i$, $z_{i, \mc K}, \forall \mc K \subset \mc N$ is arranged similarly with $\dot{\mb V}$. Then $\mb{z}$ is given by concatenating $z_{i, \mc K}, \forall \mc K \subset \mc N, \mc K \ne \emptyset$ from $i=1$ to $i=N$:
\eq{ \label{eq:z}
\mb{z} = \left[ z_{1,\{1\}} \ z_{1,\{2\}} \ z_{1,\{1,2\}}\ ...\ z_{1,\{1,2,...,N\}}\ ... \ z_{N,\{1,2,...,N\}}\right]
}
\item Let $z^\prime_{i,\mc{K}}$  denote the innovative packet reception rate of hyperarc $(i,\mc K)$.
\item Let $\mb{z}^\prime$ denote the size-$\left( N\cdot(2^N-1) \right)$ innovative packet reception rate vector, consisting of $z^\prime_{i,\mc{K}}, \forall (i, \mc K) \in \mc E$. By replacing every $z_{i,\mc K}$ of $\mb z$ with $z^\prime_{i,\mc K}$, we get $\mb z^\prime$.
\end{itemize}

Note that $T$ is a function of $\dot{\mb{V}}$, i.e., $T = T(\dot{\mathbf{V}})$. We remark that the online algorithm we are deriving can accommodate any optimization objective as long as $T$ remains a differentiable function of $\dot{\mb{V}}$ \cite{zha-reallocisit}. Here we use the minimum destination throughput as an example to derive the algorithm, i.e., $T=\dot V_k$, where $k = \arg \min_{j\in \mathcal{R}} \dot{V}_j $. Since we have $\dot {\mb V} = \dot {\mb V}(\mb z)$ and $\mb z = \mb z(\mb P^{\mt{Tx}})$, then based on the chain rule, gradient of $T$ with respect to transmit powers $\mb{P}^{\mt{Tx}}$ can be derived as:
\begin{equation} \label{grad-orig}
\nabla_{\mathbf{P}^{\mt{Tx}}}T =
\nabla_{\dot{\mathbf{V}}}T
J_{\mathbf{z}}\dot{\mathbf{V}}
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z},
\end{equation}
where $\nabla_{\dot{\mathbf{V}}}T$, $J_{\mathbf{z}}\dot{\mathbf{V}}$, and $J_{\mathbf{P}_{\mt T}}\mathbf{z}$ are the gradient of $T$ with respect to $\dot{\mb{V}}$, the Jacobian of $\dot{\mb{V}}$ with respect to $\mb{z}$, and the Jacobian of $\mb{z}$ with respect to $\mb{P}^{\mt{Tx}}$, respectively. Equation (\ref{grad-orig}) provides the exact formula for computing the gradient of $T$. To derive the online algorithm, we shall first investigate the first two terms together and then the last term on the right hand side.
Since we have $T=\dot V_k$, we can get
\eq{
\nabla_{\dot{\mathbf{V}}}T
J_{\mathbf{z}}\dot{\mathbf{V}} =
\nabla_{\mb z} T =
\nabla_{\mb z} \dot V_k.
}

 Referring to equation (\ref{eq:z}), and noting $\dot{V}_{k} = \sum_{i\notin k} z_{i,k} \cdot  (1-q^{V_{k}-V_{\{i,k\}}})$, we have
 \eq{
 \nabla_{\mb z} \dot V_k = \left[
 0, 1-q^{V_{k}-V_{\{1,k\}}}, 1-q^{V_{k}-V_{\{2,k\}}}, 0, ... , 0, 1-q^{V_{k}-V_{\{k-1,k\}}}, 0, ..., 0,
 1-q^{V_{k}-V_{\{k+1,k\}}}, ...
 \right].
 }

Noting $\nabla_{\mb z} \dot V_k$ has $(N-1)$ non-zero components: $1-q^{V_{k}-V_{\{i,k\}}}, \forall i \in \mc N, i \ne k$, we would like to avoid evaluating $\nabla_{\mb z} \dot V_k$ since it requires the knowledge of $V_{\{i,k\}}$, the joint rank of node $i$ and $k$. Instead, note that $z_{i,\mathcal{K}}$ is defined as the packet reception rate, and $(1-q^{V_{\mc{K}}-V_{\{i\}\cup \mc{K}}})$ is the probability that the received packet is an innovative packet. Then the innovative packet reception rate $z^{\prime}_{i, \mathcal{K}}$ is given by $z^{\prime}_{i, \mathcal{K}} = z_{i,\mathcal{K}}\cdot  (1-q^{V_{\mc{K}}-V_{\{i\}\cup \mc{K}}})$. Therefore, we take an alternative approach to consider the derivative with respect to the innovative packet reception rate $\mb{z}^\prime$ instead of $\mb{z}$. With $\mb{z}^\prime$, we can rewrite equation (\ref{eq:dotv}) in a more compact form:
\begin{equation}
\dot{V}_{\mathcal{K}} = \sum_{i\notin \mathcal{K}} z_{i,\mathcal{K}}^\prime,  \ \forall \mathcal{K} \subset \mathcal{N},
\end{equation}
and $\nabla_{\mb z ^\prime} \dot V_k$ can be derived accordingly as:
\eq{
\nabla_{\mb z ^\prime} \dot V_k =
\nabla_{\dot{\mathbf{V}}}T \cdot
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}} =
\left[
0,\ 1,\ 1,\ 0, \ ...,\  0, \ 1, \ 0,\  ..., \ 0, \ 1, \ 0, \ ... \ 0
\right].
}

Then the gradient of $T$ can be calculated by
\begin{equation} \label{grad}
\nabla_{\mathbf{P}^{\mt {Tx}}}T =
\nabla_{\dot{\mathbf{V}}}T
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}.
\end{equation}

Thus the evaluation of equation (\ref{grad}) boils down to the evaluation of $J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^\prime$. Note we would avoid the approach of directly evaluating it as this would again require that the underlying PHY layer specifics of all the nodes be known universally. Furthermore, computing the Jacobian, i.e., $J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^\prime$ can be computationally prohibitive. Rather, we numerically estimate this Jacobian at each iteration by following a similar approach that is adopted in Broyden's method \cite{broyden}. For that purpose, we need to discretize the current algorithm which uses a continuous time model for network coding. We thus consider the time divided into equal-length time intervals (corresponding to the time between successive power updates) and assume that each interval is of $\tau$ seconds. Then according to \cite{broyden}, we have
\eq{ \label{broyden}
J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime} (n) = J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime}(n-1) +
\frac{\Delta\mathbf{z}^\prime(n) - J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime}(n-1) \Delta \mathbf{P}^{\text{Tx}}(n)}{\| \Delta \mathbf{P}^{\text{Tx}}(n)\|^2}
\Delta \mathbf{P}^{\text{Tx}\top}(n),
}
where $\Delta\mathbf{z}^\prime(n)=\mathbf{z}^\prime(n) - \mathbf{z}^\prime(n-1)$ and $\Delta \mathbf{P}^{\text{Tx}}(n) = \mathbf{P}^{\text{Tx}}(n) - \mathbf{P}^{\text{Tx}}(n-1)$.

We can estimate the average innovative packets reception rate in each time interval which is of length $\tau$, i.e.,
\eq{
z^\prime_{i,j}(n) = c_{i,j}(n)/\tau,
}
where $c_{i,j}(n)$ is the number of innovative packets sent by node $i$ that node $j$ has received in the $n$th time interval.
Note that the granularity of power updates are based on this time interval. Now with the time being discretized, we can rewrite equation (\ref{grad}) to give the gradient in the $n$th interval:
\begin{equation} \label{grad-disc}
\nabla_{\mathbf{P}^{\mt{Tx}}}T(n) =
\nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}(n)
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}(n).
\end{equation}

Note to initiate the algorithm, we need to provide an initial estimate of $J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}$, i.e., $J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime} (0)$ and randomly generate the first power update. To detect the convergence of the online algorithm, a threshold value, which can be an achievable and satisfactory throughput value, should be set. In any interval $i$, the numerical value of $T(i)$ is monitored and if it grows larger than the threshold, the algorithm will maintain the previous allocation; otherwise, the gradient will be estimated and power at each node will be adjusted. Moreover, to refrain from unduly large gradient update which might lead the algorithm to an unstable state, we observe the results given by (\ref{grad-disc}) and if the gradient is larger than a threshold $\mb{s}$, we normalize the gradient, i.e.,
\begin{equation}
\nabla_{\mathbf{P}^{\mt{Tx}}}T(n) = \left \{ \begin{array}{ll}
				\frac{\nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}(n)
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}(n)}
				{\|\nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}(n)
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}(n)\|}, &
				 \hfill \text{if}\ \nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}(n)
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}(n) \ge \mb{s}\\
				\nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}}(n)
J_{\mathbf{P}^{\mt{Tx}}}\mathbf{z}^{\prime}(n), & \text{otherwise.}
				\end{array} \right.
\end{equation}

Finally, the transmit powers are adapted according to the following equation
\begin{equation} \label{cont}
\mb{P}^{\mt{Tx}}(n) = \mb{P}^{\mt{Tx}}(n-1) + a \cdot \nabla_{\mathbf{P}^{\mt{Tx}}}T(n-1),
\end{equation}
where $a$ is the gain parameter for power control.
We summarize this algorithm in Algorithm \ref{algo}.
\begin{algorithm}
\caption{Online network coding aware power control algorithm}
\begin{algorithmic} \label{algo}
\STATE  $\tau\gets$ Power update granularity
\STATE $\tau_0\gets$ Time interval to make gradient computation
\STATE rand(N,1) $\gets$ length-$N$ random vector with each element larger than $-0.5$ and less than $0.5$
\STATE $\mb{c}(0) \gets \mb{0}$: counters for number of innovative packets.
\STATE $\mb{P}^{\mt{Tx}}(0)\gets\mb{P}^{\mt{init}}$
\STATE $J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime} (0) \gets {J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime}} ^{\mt{init}}$
\WHILE {$t \le \tau$}
	\STATE update $\mb{c}(0)$
\ENDWHILE
\STATE compute $\mb{z}^\prime(0)$
\STATE $\mb{P}^{\mt{Tx}}(1) = \mb{P}^{\mt{Tx}}(0) + \text{rand}(N,1)$
\STATE $n \gets 1$
\WHILE{$ n\tau\le t \le (n+1)\tau$}
	\STATE update $\mb{c}(n)$
	\IF{$t > (n+1)\tau-\tau_0$}

		\WHILE{$\nabla_{\mathbf{P}^{\mt{Tx}}}T(n)$ has not been computed}
		\STATE compute $\mb{z}^\prime(n)$
		\STATE $\Delta \mb{P}^{\mt{Tx}}(n) = \mb{P}^{\mt{Tx}}(n) - \mb{P}^{\mt{Tx}}(n-1)$
		\STATE $\Delta\mathbf{z}^\prime(n)=\mathbf{z}^\prime(n) - \mathbf{z}^\prime(n-1)$
		\STATE Compute $J_{\mathbf{P}^{\text{Tx}}}\mathbf{z}^{\prime} (n)$ as in (\ref{broyden})
		\STATE Compute gradient $\nabla_{\mathbf{P}^{\mt{Tx}}}T(n)$
		\STATE Set power $\mb P^{\mt{Tx}}(n+1) = \mb P^{\mt{Tx}}(n) + a \cdot \nabla_{\mathbf{P}^{\mt{Tx}}}T(n)$
		\STATE $n\gets n+1$
		\ENDWHILE
	\ENDIF
\ENDWHILE
\end{algorithmic}
\end{algorithm}

\subsection{Numerical Results}
We use two ways to evaluate the power control algorithm for random network coding: for the centralized algorithm, we use a numerical differential equation solver to compute the throughput; and for the online algorithm, we implement the algorithm with an event-driven simulation.

For the evaluations, we consider the topology of a 6-node network as shown in Figure \ref{fig:concept_topo}. This network is assumed to be running random network coding, i.e., original packets are being coded at each node, and the intended destination nodes decode to recover them. Therefore, the original packets are not ``routed" towards the destination nodes. The goal is for a sender node, node 1, to multicast $2000$ packets to a set of sink nodes, node $4, 5, 6$. We assume there is a path loss model for each point to point link in this network. We use the ITU model for indoor propagation \cite{itu}, where the path loss of the transmission from node $i$ to node $j$, $\text{PL}_{ji}$ is given by:
\eq{
\text{PL}_{ji} = 20\log f +10n \log d_{ji} + P_f(n) - 28.
}
In this evaluation, the transmitted signal frequency $f$ is set to be $2.4$GHz, path loss exponent $n$ to be 3,  and floor penetration factor $P_f(n)$ to be 11. Thus the link gain for $(i,j)$ can be computed as $h_{ji} = 10^{\text{PL}_{ji}/10}$.

\subsubsection{Centralized algorithm}
Figure \ref{fig:pcc} shows the results of throughput and power adjustment of the centralized power control algorithm. In Figure \ref{fig:pcc-t}, we can see that without power control, the throughputs of the three destination nodes, node $4, 5, 6$ are all less than $0.5$pkt/ms, and the minimum of them is less than $0.25$pkt/ms. With dynamic power control, the throughput of all the nodes is improved. From around $t=400$ms, the throughputs begin to converge to the same value, $1$pkt/ms. Since each node, including the source node, has a transmission rate of $1$pkt/ms, the optimal multicast throughput is also $1$pkt/ms and the centralized algorithm achieves this optimum, thereby showing that this network coding aware power control regains the broadcast advantage. From Figure \ref{fig:pcc-p} we can see that the transmit power at each node is continuously adjusted by the power control algorithm. When the algorithm is started, i.e., $t=0$ms, powers of node $1, 2, 5$ are increased, on the other hand, other nodes' power are suppressed. When approaching throughput convergence, the algorithm sets the powers of nodes $1,2,5$ to about $15$dBm, and all the other nodes' powers to less than $12$dBm.
\begin{figure}[t]
\label{fig:pcc}
\begin{center}
	\subfigure[Effect of power control on throughput] {
		\label{fig:pcc-t}
		 \includegraphics[width=7.5cm]{pcc-t.eps}
	}
	\subfigure[Power adjustment] {
		\label{fig:pcc-p}
		 \includegraphics[width=7.5cm]{pcc-p.eps}
	}
\caption{Centralized power control (a) Throughput, (b) power adjustment.}
\label{fig:pcc}
\end{center}
 \vspace{-0.3cm}
\end{figure}

We also compare the dynamic power control algorithm with a benchmark algorithm. In the benchmark algorithm, we formulate the max-min throughput problem for RNC based on the model of network flows \cite{dim-data}. For each destination $d \in \mc R$, there is a flow $f^d$ associated with it. To make the interference tractable with the network flow model, we consider specifically that this network uses TDMA for media access control and assume unicast communication. We further assume that each node $i$ uses the same power for transmissions on all its outgoing links. Let $t_{i,j}$ denote the time fraction that node $i$ allocates to link $(i,j)$ and $E$ denote the set of all the point-to-point links.
Let $W_i$ be the throughput of node $i$, $N_i$ be the neighbor nodes of node $i$ which can transmit to or receive from node $i$. $\lambda_i=1$ is the rate that node $i$ is transmitting. Then an equivalent formulation of the max-min throughput problem described in equation (\ref{eq:max-min}) with respect to power control is given for the network flow model as follows:
\begin{align}
 \label{eq:max-min-flow}
& \underset{}{\text{maximize}}
&& W \\
\label{eq:opt-c1} & \text{subject to}
& & W < W_d, d\in \mc R\\
\label{eq:opt-c2} & & & W_d = \sum_{j \in N_1} f^d_{j,1} - \sum_{j \in N_1} f^d_{1,j}.\\
& & & \sum_{j \in N_i} f^d_{j,i} - \sum_{j \in N_i} f^d_{i,j} = 0, i \ne 1, d\\
\label{eq:opt-c4}& & & 0\le f^d_{i,j} \le t_{i,j}z_{i,j} \\
& & & \sum_{j\in N_i} t_{i,j} < 1\\
& & & t_{i,j} > 0\\
\label{eq:maxmin-zij}
& & & z_{i,j} = \lambda_i \cdot  \left(1-Q\left(\sqrt{\frac{P_{i}^{\mt{Tx}} \cdot h_{ji}}{\sum_{m\ne j,i}(P_{m}^{\mt{Tx}}\cdot h_{jm}/g_i) +\sigma^2}
}
\right)\right)^l \\
& \text{variables}
& & f_{i,j}^d, t_{i,j}, W_d, (i,j) \in E, d\in \mc R \notag\\
& && \mb P^{\text{Tx}}, W. \notag
\end{align}
In equation (\ref{eq:maxmin-zij}), $h_{ji}$ is the link gain and $g_i$ is the processing gain. Note that the above (benchmark) formulation is a straightforward extension of the linear programming formulation of network coding (see \cite{chr-fund}) since the objective function, i.e., equation (\ref{eq:max-min-flow}), and the constraints (\ref{eq:opt-c1})-(\ref{eq:opt-c4}) are equivalent to it. Feeding this formulation with the same topology and initial conditions as that are used in the dynamic power control simulation, a numerical nonlinear program solver yields the optimal value of $1$pkt/ms with Sequential Quadratic Programming (SQP) method \cite{jor-opt}. However, note that this algorithm can only be applied in a static fashion, i.e., it does not retain the dynamic characteristics of the power control in equation (\ref{eq:cpc}). Without taking into account the dynamic growth of ranks in RNC, any changes in the network would render a previously optimal allocation unsatisfactory and to make it work, a new allocation has to be computed.

\subsubsection{Online algorithm}
In the simulation for online power control, the power is adjusted in every discrete time interval. Here, the interval is set to $150\mt{ms}$. The power levels of all the nodes are set to $13\mt{dBm}$ in the first interval, and a random update is applied in the second interval. After this initialization, in any interval $n$, we attempt to maintain a fixed step size $\gamma$ with the following rule:
\begin{equation}
P_i^{\mt{Tx}}(n) = \left \{ \begin{array}{ll}
					P_i^{\mt{Tx}}(n-1) + \gamma, & \text{if } a \cdot \frac{\partial T(n)}{ \partial P_i^{\mt{Tx}}}\ge\gamma
				  \\
				P_i^{\mt{Tx}}(n-1) - \gamma, &\hfill \text{if } a \cdot \frac{\partial T(n)}{ \partial P_i^{\mt{Tx}}}\le-\gamma
				\\
				P_i^{\mt{Tx}}(n-1), & \text{otherwise.}
				\end{array} \right.
\end{equation}
In this simulation, we set $\gamma$ as $0.2\mt{dBm}$. From Figure \ref{fig:pcd-t}, we can see in the first interval of this experiment, the destination nodes' largest throughput is about $0.5$pkt/ms, and the throughputs of node $4$ and $5$ are both less than $0.3$pkt/ms. As the algorithm progresses, the minimum throughput increases from about $0.1$pkt/ms to about $1$pkt/ms, and approaches convergence of about $1$pkt/ms around $t=1500$ms. Figure \ref{fig:pcd-p} shows how the transmit powers at each node are adjusted by the online power control algorithm.
\begin{figure}[t]
\begin{center}
	\subfigure[Effect of power control on throughput] {
		\label{fig:pcd-t}
		 \includegraphics[width=7.5cm]{pcd-t.eps}
	}
	\subfigure[Power adjustment] {
		\label{fig:pcd-p}
		 \includegraphics[width=7.5cm]{pcd-p.eps}
	}

\caption{Online power control (a) Throughput, (b) power adjustment.}
\label{fig:pcd}
\end{center}
 \vspace{-0.3cm}
\end{figure}

\section{Dynamic CSMA Mean Backoff Delay Control in RNC} \label{sec:csma}
We now consider another resource allocation problem for RNC at the MAC layer, namely, CSMA mean backoff delay control. There exist a number of algorithms for maximizing CSMA throughput by link scheduling in a multihop network, as can be found in \cite{lib-csma,lib-csma2,jia-csma}. However, these algorithms do not consider or make use of the broadcast effect of wireless transmissions as RNC does. When CSMA is the underlying wireless media access control mechanism of a coded packet network, we perform dynamic CSMA backoff time control to optimize network coding performance, taking into account that each transmission is intrinsically a broadcast and neighbors will receive the transmitted packet. Although the general algorithm presented in section \ref{sec:algo} is sufficiently flexible such that it does not need to assume any particular model for $\lambda_i$, we now introduce a CSMA model for the purpose of illustration. We then apply the resource allocation algorithm in this setting to dynamically adjust the mean of backoff delay at each node to maximize the minimum throughput among the sink nodes. Note that the differential equation framework in equation (\ref{eq:dotv}) described earlier requires the knowledge of $z_{i, \mc K}$, the rate at which the packets from $i$ are successfully received by at least one node in $\mc K$. We will now derive $z_{i,\mc K}$ for this CSMA model.

\subsection{CSMA Model} \label{subsec:csmamodel}
The CSMA model considered here was first introduced in \cite{boo-csma} and is illustrative of a multihop network as is the case for RNC. We consider the wireless network $G=(\mc N, \mc E)$ and let $N_i$ denote the neighbors of node $i$, i.e., all the nodes that are within the range to be able to communicate with node $i$ and $N_i^* = N_i \cup \{i\}$. It should be noted that we assume here that the layer of network coding operation sits above the MAC layer on the protocol stack, and in this section, we refer to \textit{packet} as the coded packet with the MAC header attached. We describe next the assumptions for the CSMA model from \cite{boo-csma}:
\begin{itemize}
\item When a packet is scheduled to be transmitted at node $i$, the node senses the channel first. If the channel is idle, i.e., no ongoing transmissions from $N_i$, node $i$ transmits the packet immediately. We assume that the packet length is exponentially distributed with instantaneous transmission (zero propagation delay). We use $1/\mu_i$ to denote the mean of node $i$'s packet length.
\item After sensing the channel, if the channel is busy, node $i$ defers its transmission according to a random delay. The scheduling of packets, including the deferred ones, together with the newly scheduled after a successful transmission, is a Poisson process with rate $\alpha_i$.
\item Any node from $N_i$, which are not currently receiving, can receive the packet from node $i$ without error immediately after the transmission. Subsequent transmissions heard by node $i$ while it is receiving will fail.
\end{itemize}

Let $x^i, i =0,1,...,M$ be a length-$N$ vector denoting the valid transmission status of the whole network where the $j$th component of $x^i$, $x^i_j$, is $1$ if node $j$ is transmitting, and $0$ otherwise. For instance, $[1\ 0\ 0\ 1\ 0\ 0]$ implies node $1$ and node $4$ are transmitting and other nodes are idle, and it is only valid when node $1$ and $4$ are not neighbors of each other. Let $G(x^i)$ denote the set of transmitting nodes in state $x^i$ and $H(x^i)$ denote the set of nodes that are not neighbors of any node in $G(x^i)$. The state transitions among all the states $x^i$ constitute a finite-state continuous Markov chain. Let $Q(x^i)$ be the stationary probability of state $x^i$, we have the following global balance equations:
\eq{
\begin{array}{ll}
& \sum_{j \in G(x^i)} Q(x^i) \mu_j + \sum_{j \in H(x^i)} Q(x^i) \alpha_j \\
&= \sum_{j \in G(x^i)} Q(x^i - \mb e_j) \alpha_j + \sum_{j \in H(x^i)} Q(x^i + \mb e_j) \mu_j,\ i=1, ..., M,
\end{array}
}
where $\mb e_j$ is a length-$N$ vector where the $j$th component is $1$ and $0$'s elsewhere. It can be verified that the following detailed balance equations hold:
\eq{
Q(x^i+\mb e_j) \mu_j = Q(x^i) \alpha_j, \ \ i=0,1,...,M, j \in H(x^i).
}

Let $x^0$ denote the state that no nodes are transmitting, and define $v_j = \alpha_j/\mu_j$. Then
\eq{
Q(x^i) = Q(x^0)\prod_{j \in G(x^i)} v_j,\ \ i=1,...,M,
}
and
\eq{
Q(x^0) = 1/(\sum_i \prod_{j \in G(x^i)} v_j).
}

Note that for a packet scheduled by node $i$ to be received by one of its neighbor nodes, $j$, the following requirements must be satisfied:
\begin{itemize}
\item $i$ must be idle.
\item All the neighbors of $i$, including $j$, must be idle.
\item All the neighbors of $j$ must be idle.
\end{itemize}
Based on the above results from \cite{boo-csma}, we can now proceed to derive the probability that a packet scheduled by node $i$ can be received by a neighbor node $j$ and let $P^{\prime}_{i,j}$ denote this probability. One should distinguish $P^{\prime}_{i,j}$ from $P_{i,j}$, since $P_{i,j}$ is the conditional probability that a packet \textit{transmitted} by node $i$ can be received by node $j$. Let $I(X)$ denote the event that all the nodes from the set $X$ are idle. Then
\eq{
P^{\prime}_{i,j} = \text{Prob}[I(N_i^* \cup N_j^*)] = \sum_{G(x^m) \subset \mc N \setminus (N_i^* \cup N_j^*)} Q(x^m).
}
Further, we continue to derive $P^{\prime}_{i,\mc K}$, the probability that a \textit{scheduled} packet from $i$ can be received by at least one node in $\mc K$. Let $\mc K^\prime = \mc K \cap N_i$, then
\eq{ \label{eq:csma-pik}
P^{\prime}_{i, \mc K} = P^{\prime}_{i, \mc K^\prime} =   \sum_{\exists \mc A \subset \mc K^{\prime}, \ \text{s.t.} \ G(x^m)\subset \mc N \setminus (N_i^* \cup N_{\mc A}^*) } Q(x^m),
}
where $N_{\mc A}^* = \cup_{i \in \mc A} N_i^* $.
Then, the rate at which node $i$'s packets are successfully received by at least one node from set $\mc K$ is given by:
\eq{ \label{eq:csma-zik}
z_{i,\mc K} = \alpha_i P^{\prime}_{i, \mc K}.
}

While the above developments assumed that packet length is exponentially distributed, it turns out that this assumption can be relaxed. For instance, it has been shown in \cite{sou-csma} that the results derived using the above model are more sensitive to the mean $\mu_i$, rather than the distribution itself. Therefore, the expressions in equations (\ref{eq:csma-pik}) and (\ref{eq:csma-zik}) are suitable for analyzing CSMA in a RNC network where transmitted data packets at the network layer are assumed to be of the same length.

\subsection{Centralized Gradient Algorithm for CSMA Mean Backoff Delay Control}
In a CSMA network, we consider the network resource $\mb r$ to be the rate of the Poisson scheduling process, $\bs \alpha$, i.e., $\mb r = \bs \alpha$. Since a Poisson process has exponentially distributed arrival times,  the backoff delay of node $i$ will be exponential with mean $1/\alpha_i$. Our goal is to adjust $\bs{\alpha}$ to maximize the minimum throughput.
Thus, as long as we have the formulation of the CSMA model above, we know that the reception rate $z_{i,\mc K}$ is a function of $\bs{\alpha}$, i.e.,
\eq{
z_{i,\mc K} = z_{i,\mc K} (\bs{\alpha}).
}
Let node $k$ be the node with the minimum throughput among all the destination nodes, i.e., $k = \arg \min_{j\in \mathcal{R}} \dot{V}_j$. Then based on the system of equations (\ref{eq:dotv}), we have:
\eq{
\begin{array}{ll}
\dot{V}_{k} &= \sum_{i\in N_k} z_{i,k}(1-q^{V_{k}-V_{\{i,k\}}}) \\
& = \sum_{i\in N_k} \alpha_i \cdot \left( \sum_{G(x^m) \subset \mc N \setminus (N_i^* \cup N_k^*)} Q(x^m) \right) \cdot
(1-q^{V_{k}-V_{\{i,k\}}})\\
& = \sum_{i\in N_k} \alpha_i \cdot \left( \sum_{G(x^m) \subset \mc N \setminus (N_i^* \cup N_k^*)} Q(x^0) \prod_{j\in G(x^m)} \alpha_j/\mu_j \right) \cdot
(1-q^{V_{k}-V_{\{i,k\}}}).
\end{array}
}
The versatility of the aforementioned dynamic resource allocation algorithm allows us to derive an algorithm customized for the CSMA backoff delay control problem. To this end, we follow equation (\ref{eq:gen-algo}) and get
\eq{ \label{eq:ccc}
\begin{array}{lll}
\dot \alpha_{i} & = a \cdot \left( \dot V_k(\bs \alpha + \Delta v\mb e_i) - \dot V_k(\bs \alpha) \right), \\
\end{array}
}
where $a$ is the control gain value, $\Delta v$ is the step size, and $\mb e_i$ is a vector whose $i$th component is $1$ with $0$ elsewhere.

\subsection{Online Gradient Algorithm for CSMA Mean Backoff Delay Control}
We can also derive an online version of the resource allocation algorithm for CSMA mean backoff delay control based on the centralized gradient algorithm. As in the case of dynamic power control, the online algorithm for CSMA backoff control at each node makes the estimation of the gradient without any knowledge of the underlying PHY/MAC layer specifics at other nodes, and iteratively adjusts the value of the mean backoff delay $\bs \alpha$:
\begin{equation} \label{disc-c}
\bs{\alpha}(n) = \bs{\alpha}(n-1) + a \cdot \nabla_{\bs{\alpha}}T(n-1),
\end{equation}
where $\bs{\alpha}(n)$ is $\bs \alpha$ at the $n$th time interval.
Note that the gradient to be approximated is $\nabla_{\bs{\alpha}}T{(n)}$. We can utilize a similar derivation as for the case of power control which results in:
\eq{ \label{grad-disc-c}
\nabla_{\bs{\alpha}}T(n) =
\nabla_{\dot{\mathbf{V}}}T(n)
J_{\mathbf{z}^{\prime}}\dot{\mathbf{V}} (n)
J_{\bs{\alpha}}\mathbf{z}^{\prime}(n),
}
where $J_{\bs{\alpha}}\mathbf{z}^{\prime}$ is the Jacobian of $\mathbf{z}^{\prime}$ with respect to $\bs{\alpha}$.

To reduce the computational overhead, we can still follow Broyden's method \cite{broyden} to estimate $J_{\bs{\alpha}}\mathbf{z}^{\prime}(n)$
\eq{ \label{broyden-c}
J_{\bs{\alpha}}\mathbf{z}^{\prime} (n) = J_{\bs{\alpha}}\mathbf{z}^{\prime}(n-1) +
\frac{\Delta\mathbf{z}^\prime(n) - J_{\bs{\alpha}}\mathbf{z}^{\prime}(n-1) \Delta \bs{\alpha}(n)}{\| \Delta \bs{\alpha}(n)\|^2}
\Delta \bs{\alpha}^\top(n).
}

\subsection{Numerical Results}
We perform two kinds of evaluations: (i) a differential equation solver based evaluation for centralized CSMA mean backoff delay control and (ii) an event-driven simulation for the online algorithm. We use the $6$-node network shown in Figure \ref{fig:concept_topo} and consider that each node has a set of neighbor nodes, as summarized in Table \ref{tab:node}. The neighbors are determined based on a thresholding distance between nodes.
\begin{table}[h]
\centering
\begin{tabular}{|c|c|}
\hline
Node & Neighbors\\
\hline
$1$ & $\{3, 5\}$ \\
\hline
$2$ & $\{5, 6\}$ \\
\hline
$3$ & $\{1, 4, 5\}$ \\
\hline
$4$ & $\{3, 5, 6\}$ \\
\hline
$5$ & $\{1, 2, 3, 4, 6\}$ \\
\hline
$6$ & $\{2, 4, 5\}$ \\
\hline
\end{tabular}
\caption{Nodes and their neighbors.} \label{tab:node}
\end{table}
Recall that $\alpha_i$ is the scheduling rate of node $i$. We measure this rate in packets per millisecond (pkt/ms).
In both evaluations, we introduce a scalar parameter $\beta_i$ taking the value of $\log \alpha_i$. We call $\beta_i$ the transmission aggressiveness of node $i$ and set $3\le \beta_i \le 6.5, i=1,2,...,N$. Initially, $\beta_i$ of every node $i$ is set to $4$ and therefore the average scheduling rate $\alpha_i$ is about $0.06$pkt/ms. We assume the packets are of fixed length and set $1/\mu_i$ of any node $i$ to be $1/1000$ms.
\subsubsection{Centralized algorithm}
The results of DE solver based evaluation for centralized CSMA mean backoff delay control is shown in Figure \ref{fig:ccc}. The dashed lines in Figure \ref{fig:ccc-t} indicate that without dynamic backoff control, the throughput of nodes $4, 5, 6$ remain at about $0.06$pkt/ms. The resource allocation algorithm increases all the three destination nodes' performance and their throughputs converge to about $0.22$pkt/ms, making it a gain of greater than $200\%$ from the initial throughputs. Figure \ref{fig:ccc-b} shows how the transmission aggressiveness $\beta$ is continuously adjusted at each node.
\begin{figure}[t]
\begin{center}
	\subfigure[Effect of contention window size control on throughput] {
		\label{fig:ccc-t}
		 \includegraphics[width=7.5cm]{ccc-t.eps}
	}
	\subfigure[Contention window size adjustment] {
		\label{fig:ccc-b}
		 \includegraphics[width=7.5cm]{ccc-b.eps}
	}

\caption{Centralized contention window size control (a) Throughput, (b) contention window size adjustment.}
\label{fig:ccc}
\end{center}
 \vspace{-0.3cm}
\end{figure}

\subsubsection{Online algorithm}
From Figure \ref{fig:ccd-t}, we can see that all the three destinations' original throughputs are less than $0.075$pkt/ms at $t=0$ms. Starting from $t=1$ms, the online resource allocation algorithm gradually improves the throughputs of all the destination nodes. Around $t=7000$ms, the throughputs begin to converge around $0.20$pkt/ms. Figure \ref{fig:ccd-b} shows how the transmission aggressiveness is adjusted by the online algorithm.

\begin{figure}[t]
\begin{center}
	\subfigure[Effect of contention window size control on throughput] {
		\label{fig:ccd-t}
		 \includegraphics[width=7.5cm]{ccd-t.eps}
	}
	\subfigure[Contention window size adjustment] {
		\label{fig:ccd-b}
		 \includegraphics[width=7.5cm]{ccd-b.eps}
	}

\caption{Online contention window size control (a) Throughput, (b) contention window size adjustment.}
\label{fig:ccd}
\end{center}
 \vspace{-0.3cm}
\end{figure}

\section{Conclusion}
We investigated integrated resource allocation for wireless networks which employ random network coding as the transport scheme. We used a differential equation based framework that models RNC throughput, thereby enabling the analysis of RNC performance in terms of PHY and MAC layer parameters. Using this framework, we designed dynamic power control and CSMA mean backoff delay control algorithms to improve the performance of RNC. Specifically, we used gradient based resource allocation algorithms and evaluated both centralized and online versions of them, via the use of differential equation solvers and event driven simulations. Our results revealed that such network coding aware resource allocation significantly improves the throughput of destination nodes in RNC. We also observed that such integrated power control can regain the broadcast advantage. Beyond the use cases of power control and CSMA backoff control, the framework and approach presented in this paper can be generally applied to a variety of resource allocation problems for RNC.

\bibliographystyle{IEEEtran}

redpajama_set_name: RedPajamaArXiv


"The best of the best". Those words aren't from the hotel brochure, they're just one of the quotes on TripAdvisor, from a traveller who stayed at the Empress.
The Empress is rightly named – it has a stately presence that reigns over the Victoria's Inner Harbour with regal authority. Make it part of your luxury, tailor-made holiday to Canada and you'll soon discover it offers you a genuinely warm welcome, combined with classic levels of service and world class refinements. You'll also appreciate why the Fairmont Empress has won award after award – including Condé Nast Readers' Choice and Gold List hotel, and Travel + Leisure distinctions – alongside the accolades and recommendations of an array of world travellers.
And then there is the setting. At the Empress you'll be perfectly placed to revel in the glittering harbourside, the local attractions, nightlife, shopping, year-round gardens, tours and sightseeing of wonderful Victoria – one of Vancouver Island's most vivacious cities.


Anybody been on this yet? Don't know whether it's open to public yet but just looked at video of it Liverpool Echo ( sorry can't put it up) and it looks great but very high and abit scary. I've been on Liverpool one no bother but you are enclosed in a nice little pod this is pretty open. Maybe I'll pluck up the courage as views are fantastic , it costs �4.
<meep> You wouldn't want to be up there in the rain! Great on a nice day though.
I would rather spend a �1 on a box of ducolax, and get the same sensation.