Home Blog Page 2

Cisco & KDDI Ship Japan’s First Absolutely Managed SASE


The evolution of digital enterprise—pushed by distant work, cloud adoption, and the necessity for safe connectivity—has made safe, seamless entry extra important and extra complicated than ever. Safe Entry Service Edge (SASE) is redefining how organizations shield customers and knowledge throughout distributed environments. Service suppliers play an important position in accelerating SASE adoption by delivering scalable, built-in, and easy-to-manage options that align with at the moment’s fashionable department architectures.

We’re excited to announce a serious milestone in our partnership with KDDI, one in every of Japan’s largest telecom and ICT service suppliers. Not too long ago, KDDI introduced its launch of Japan’s first totally managed, single-vendor SASE resolution, powered by Cisco. This announcement highlights the increasing affect of our collaboration and demonstrates our shared dedication to advancing safe, cloud-delivered networking for enterprises. On this weblog, we’ll discover how partnerships just like the one between Cisco and KDDI are accelerating SASE adoption throughout world enterprises.

Service suppliers convey world attain, deep networking experience, and sturdy managed companies, making them splendid companions for organizations navigating SASE adoption. By leveraging options from main distributors, service suppliers may help companies streamline the transition to SASE, scale back operational complexity, and safe their branches, customers, and cloud functions—all by a single, unified platform.

Cisco is a acknowledged chief in single-vendor SASE, combining industry-leading networking and safety capabilities right into a cohesive cloud-delivered service. Cisco SASE empowers organizations to attach branches, safe distant employees, and shield cloud functions—all with centralized visibility and administration. The end result: branches which might be agile, safe, and future-ready.

  • Unified Administration: One platform for networking and safety, decreasing complexity and operational overhead.
  • Constant Safety: Finish-to-end visibility and safety, regardless of the place customers or functions reside.
  • Scalability: Simply broaden to new branches or distant customers with out infrastructure complications.
  • Optimized Efficiency: Built-in SD-WAN delivers dependable, high-performance connectivity.
  • Sooner Innovation: Speedy deployment of latest options and safety updates throughout the enterprise.

KDDI, a serious Japanese service supplier, in partnership with Cisco, is now delivering Japan’s first totally managed, single-vendor SASE resolution. KDDI makes use of Cisco’s SASE resolution to offer companies with seamless, safe connectivity throughout department places of work, distant customers, and cloud functions. KDDI’s single-vendor strategy with Cisco allows fast deployment, centralized coverage administration, and high-performance networking, making certain sturdy safety whereas decreasing operational complexity for purchasers navigating digital transformation.

“By way of our partnership with Cisco, KDDI is proud to supply Japan’s first totally managed, Cisco single-vendor SASE resolution. By integrating zero belief entry capabilities, corresponding to steady verification and safe, identity-based entry to functions from Cisco Safe Entry with our enterprise community companies utilizing Cisco SD-WAN’s cloud-managed, SASE-ready structure, centralized coverage management, built-in safety and real-time software optimization, we get rid of the complexity of multi-vendor environments and ship a seamless, safe expertise for companies embracing hybrid work. This marks a major step ahead in simplifying safety operations whereas accelerating zero belief adoption throughout the Japanese market.”

Junji Hori, Basic Supervisor Product Division Enterprise Answer Division, KDDI

Be taught extra: KDDI Launches Cisco SASE Answer (Japanese)

TKC Company, a number one Japanese firm supporting over 10,000 tax professionals and entities makes use of Cisco’s Safe Entry to implement a single-vendor SASE resolution, changing its legacy VPN system for two,800+ customers. Going through tight timelines and excessive confidentiality wants, TKC adopted Cisco’s cloud-first, zero-trust strategy. The answer mixed steady person authentication and identity-driven, safe software entry through Cisco Safe Entry with Cisco SD-WAN’s cloud-managed, zero-trust community structure, centralized coverage enforcement, and built-in security measures. A unified shopper and console simplified operations for safety lowered reliance on a number of instruments. This contemporary, cloud-managed structure lowered complexity and delivered cost-efficient, scalable connectivity.

Hiroyo Ichikawa, Director of IT Funding Planning for TKC Company, stated, “Gone are the times of complicated processes like equipment procurement, website planning, and complicated deployments. Having the ability to launch shortly made the advantages of cloud deployment – like utilizing a cloud-based VPNaaS vs. an on-premises VPN – very tangible for us.”

Be taught extra: From Legacy VPN to Cloud-First Safety: How TKC has Strengthened Safety and Decreased Complexity (Case Research)

A number one monetary agency turned to its service supplier and Cisco SASE to help a distant workforce and keep regulatory compliance. The one-vendor resolution supplied safe distant entry, knowledge loss prevention, and real-time menace detection, all whereas making certain a constant person expertise throughout places of work and residential networks.

As organizations redefine their department architectures to fulfill the calls for of a digital-first world, Service Suppliers worldwide are leveraging Cisco networking and safety options and driving SASE adoption. With single-vendor SASE, companies achieve the simplicity, safety, and scalability they should innovate and thrive—at the moment and into the longer term.

Discover Cisco SASE to study extra.


We’d love to listen to what you suppose! Ask a query and keep linked with Cisco Safety on social media.

Cisco Safety Social Media

LinkedIn
Fb
Instagram

Share:



ios – ToolbarItemGroup .bottomBar placement not exhibiting up in FileDocument


I am having bother getting a ToolbarItemGroup positioned on the backside of the display with .bottomBar placement in a FileDocument app.

Instance code under exhibits the problem. Situation seems on iOS 18.6.1 {hardware} and likewise iOS 18.5 simulator.

The toolbar is displayed with different placement values akin to .computerized.
Additionally, the toolbar is positioned accurately utilizing .bottomBar within the ContentView’s preview.

This difficulty is definitely simply the beginning of debugging a bigger mission that has the .bottomBar toolbar disappear (seemingly randomly) after a couple of minutes of the app working. Nevertheless, I doubt I can debug the bigger mission with out understanding the above difficulty.

Any recommendation?

import SwiftUI
import UniformTypeIdentifiers

@foremost
struct toolbar_debugApp: App {
    var physique: some Scene {
        DocumentGroup(newDocument: toolbar_debugDocument()) { file in
            ContentView(doc: file.$doc)
        }
    }
}

struct ContentView: View {
    @Binding var doc: toolbar_debugDocument

    var physique: some View {
            Textual content(doc.textual content)
            .toolbar() {
                ToolbarItemGroup(placement: .computerized) {
                HStack{
                    Button("Open") { print("Open!")}
                    Spacer()
                    Button("Save") { print("Save!")}
                }
            }
        }
    }
}

extension UTType { static var exampleText: UTType { UTType(importedAs: "com.instance.plain-text") } }
struct toolbar_debugDocument: FileDocument {
    var textual content: String
    init(textual content: String = "Good day, world!") { self.textual content = textual content }
    static var readableContentTypes: [UTType] { [.exampleText] }
    init(configuration: ReadConfiguration) throws {
        guard let information = configuration.file.regularFileContents,
              let string = String(information: information, encoding: .utf8)
        else {
            throw CocoaError(.fileReadCorruptFile)
        }
        textual content = string
    }
    func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper {
        let information = textual content.information(utilizing: .utf8)!
        return .init(regularFileWithContents: information)
    }
}

aws – SRS v6 Docker Cluster – WebRTC Fails Whereas FLV/HLS Work


I’m organising an SRS origin-edge cluster utilizing Docker. I need to publish a single RTMP stream to the origin and play it again on the proxy utilizing HTTP-FLV, HLS, and WebRTC. My motivation is that once I stream a number of cameras with WebRTC via my AWS server, the second digicam experiences latency. From my understanding, SRS works on a single thread which may create points. Thus, I made a decision to make use of multi-containers system (Please let me know if there are higher methods to do!). For now, I’m simply attempting two containers:

  1. origin that receives the stream
  2. proxy that pulls the stream from origin and stream on an html web page

I used to be capable of:

  • Setup a single-container setup works completely for all protocols (FLV, HLS, and WebRTC).
  • Create a multi-container setup, HTTP-FLV and HLS playback works accurately, which proves the stream is being pulled from the origin to the proxy.

My drawback:

WebRTC playback is the one factor that fails. The browser makes a profitable connection to the proxy (logs present connection established), however no video ever seems. The proxy log exhibits it connects to the origin to tug the stream, however the connection then instances out or fails with a video parsing error (avc demux annexb : not annexb).

My docker-compose.yml:

model: '3.8'
networks:
  srs-net:
    driver: bridge
companies:
  srs-origin:
    picture: ossrs/srs:6
    container_name: srs-origin
    networks: [srs-net]
    ports: ["1936:1935"]
    expose:
      - "1935"
    volumes: ["./origin.conf:/usr/local/srs/conf/srs.conf:ro"]
    command: ["./objs/srs", "-c", "conf/srs.conf"]
    restart: unless-stopped      
  srs-proxy:
    picture: ossrs/srs:6
    container_name: srs-proxy
    networks: ["srs-net"]
    ports:
      - "1935:1935"
      - "1985:1985"
      - "8000:8000/udp"
      - "8080:8080"
    depends_on:
      - srs-origin
    volumes: 
      - "./proxy.conf:/usr/native/srs/conf/srs.conf:ro"
      - "./html:/usr/native/srs/html"
    command: ["./objs/srs", "-c", "conf/srs.conf"]
    restart: unless-stopped

origin.conf:

hear 1935;
daemon off;
srs_log_tank console;
srs_log_level hint;

vhost __defaultVhost__ {
}

proxy.conf:

hear              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
srs_log_level       hint;

http_server {
    enabled         on;
    hear          8080;
    dir             ./html;
    crossdomain     on;
}

http_api {
    enabled         on;
    hear          1985;
    crossdomain     on;
}

rtc_server {
    enabled         on;
    hear          8000;
    candidate      xxx.xxx.xxx.xxx; # IP tackle
}

vhost __defaultVhost__ {
    enabled         on;

    # Allow cluster mode to tug from the origin server
    cluster {
        mode            distant;
        origin          srs-origin:1935;
    }

    # Low latency settings
    play {
        gop_cache       off;
        queue_length    1;
        mw_latency      50;
    }

    # WebRTC configuration (Not working)
    rtc {
        enabled         on;
        rtmp_to_rtc     on;
        rtc_to_rtmp     off;
        
        # Essential for SRS v6
        bframe          discard;
        keep_bframe     off;
    }

    # HTTP-FLV (working)
    http_remux {
        enabled     on;
        mount       /[app]/[stream].flv;
    }
    
    # HLS (working)
    hls {
        enabled         on;
        hls_path        ./html;
        hls_fragment    3;
        hls_window      9;
    }
}

The ffmpeg pipe I exploit in my python code from my host machine to push video frames to my AWS server:

IP_ADDRESS      = ip_address
        RTMP_SERVER_URL = f"rtmp://{IP_ADDRESS}:1936/reside/Camera_0"
        BITRATE_KBPS    = bitrate # Goal bitrate for the output stream (2 Mbps)
        # Threading and queue for body processing
        ffmpeg_cmd = [
            'ffmpeg',
            '-y',
            '-f', 'rawvideo',
            '-vcodec', 'rawvideo',
            '-pix_fmt', 'bgr24',
            '-s', f'{self.frame_width}x{self.frame_height}',
            '-r', str(self.camera_fps),
            '-i', '-',

            # Add audio source (silent audio if no mic)
            '-f', 'lavfi',
            '-i', 'anullsrc=channel_layout=stereo:sample_rate=44100',

            # Video encoding
            '-c:v', 'libx264',
            '-preset', 'ultrafast',
            '-tune', 'zerolatency',
            '-pix_fmt', 'yuv420p',
            # Keyframe interval: 1 second. Consider 0.5s if still high, but increases bitrate.
            '-g', str(2*self.camera_fps), 
            # Force no B-frames (zerolatency should handle this, but explicit is sometimes better)
            '-bf', '0', 
            '-profile:v', 'baseline',   # Necessary for apple devices 

            # Specific libx264 options for latency (often implied by zerolatency, but can be explicit)
            # Add options to explicitly disable features not in Baseline profile,
            # ensuring maximum compatibility and avoiding implicit enabling by preset.
            '-x264-params', 'cabac=0:ref=1:nal-hrd=cbr:force-cfr=1:no-mbtree=1:slice-max-size=1500', 
            # Force keyframes only if input allows (might not be practical for camera input)
            '-keyint_min', str(self.camera_fps), # Ensure minimum distance is also 1 second
            
            # Rate control and buffering for low latency
            '-b:v', f'{BITRATE_KBPS}k',         # Your target bitrate (e.g., 1000k)
            '-maxrate', f'{BITRATE_KBPS * 1.2}k', # Slightly higher maxrate than bitrate
            '-bufsize', f'{BITRATE_KBPS * 1.5}k', # Buffer size related to maxrate
            
            '-f', 'flv',
            RTMP_SERVER_URL
        ]

self.ffmpeg_process = subprocess.Popen(ffmpeg_cmd, stdin=subprocess.PIPE, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, bufsize=10**5)

ios – Why doesn’t calling serialQueue.sync() end in a impasse?


Whereas finding out DispatchQueue, I got here throughout one thing I don’t fairly perceive.

I created a customized serial queue and executed a synchronous block on it. After I printed the thread that was working the block, it turned out to be the principle thread. This confused me, as a result of the queue wasn’t the principle queue, but the block nonetheless executed on the principle thread.

let serialQueue = DispatchQueue(label: "serial.queue")

serialQueue.sync {
    print("present thread = (Thread.present)") // present thread = _NSMainThread
}

Within the documentation for sync(), I discovered the next assertion:

As a efficiency optimization, this perform executes blocks on the
present thread at any time when attainable, with one exception: Blocks submitted
to the principle dispatch queue all the time run on the principle thread.

Primarily based on this description, I assumed that if the block was certainly executed on the present thread (the principle thread on this case), then a impasse ought to have occurred.

Right here’s the reasoning I had:

  1. The primary thread calls serialQueue.sync(). As a result of it’s synchronous, the principle thread turns into blocked till the block completes.
  2. The block is submitted to the serial queue, which then makes an attempt to execute it on the principle thread (the present thread).
  3. Nevertheless, because the essential thread is already blocked, it wouldn’t be capable to course of the duty, which ought to trigger a impasse.

However opposite to my expectation, no impasse occurred and the code executed simply high-quality. I can’t work out why.

Query.

  1. Why is a block executed on the principle thread though it was submitted to a customized serial queue?
  2. If, because the documentation suggests, sync() executes on the present thread as an optimization, why doesn’t this result in a impasse on this case?
  3. Can the principle thread nonetheless execute different duties whereas it’s blocked? I want to perceive how precisely the principle thread operates.

Chemists rethink plastic recycling – NanoApps Medical – Official web site


What if recycling plastics have been so simple as flicking a change? At TU/e, Assistant Professor Fabian Eisenreich is making that imaginative and prescient a actuality by utilizing LED gentle to each create and break down a brand new class of high-performance plastics. This revolutionary materials allows really round recycling, as this course of might be repeated time and again, with none loss in high quality.

This analysis, revealed within the Rising Stars version of Superior Supplies, marks a breakthrough in  and will reshape how we deal with plastic waste sooner or later.

“In actual fact, we’re molecular designers,” is how Eisenreich describes himself and his fellow scientists from the Polymer Efficiency Supplies analysis group. Of their labs on the Division of Chemical Engineering and Chemistry, that’s what the main target is on.

“Our line of analysis facilities on ‘design for recycling.’ We create new polymers to allow revolutionary recycling methods for plastics. On the identical time, we use natural (bio-based) supplies, keep away from poisonous substances, and reduce waste to maintain all the course of as sustainable as attainable.”

High quality of polymer chains deteriorates

These polymers are developed to allow chemical closed-loop recycling, the last word aim of the analysis group. “Plastics usually include moldable polymer chains. Because of the present method by which plastics are normally recycled—in a nutshell: heating, melting, and reshaping—the standard of these polymer chains deteriorates over time. So you’ll be able to’t hold doing that indefinitely, which signifies that new plastic will ultimately must be made anyway.”

Chemical closed-loop recycling is subsequently the perfect various, in response to Eisenreich. “With the proper chemical response, a polymer chain might be selectively damaged down into its authentic constructing blocks. These can then be reused to make precisely the identical polymer once more, with similar properties and high quality.” Attaining this requires polymers designed to endure that exact response—therefore the main target of the Polymer Efficiency Supplies group’s analysis.

Selectively splitting a polymer with gentle

Inside that context, Eisenreich specifies his personal analysis on photochemical recycling, powered by LED gentle. “Making polymers by the use of gentle is comparatively easy. However breaking and making them once more in the identical method, aka recycling, is far more difficult and subsequently a complete new line of analysis. The problem lies in utilizing gentle to selectively break up steady chemical bonds throughout the polymer, so the unique constructing blocks might be recovered.”

Lately, Eisenreich and Ahsen Sare Yalin, a third-year Ph.D. candidate in his group, turned the primary to efficiently pull off this trick in his lab.

Reshape the best way we cope with plastic waste

“We see it as a breakthrough in sustainable chemistry that may reshape the best way we cope with plastic waste sooner or later,” says Eisenreich. “In the intervening time, our designer polymer continues to be a distinct segment materials and subsequently not appropriate for on a regular basis plastic purposes. As an alternative, it’s geared toward specialised makes use of, for instance, as a recyclable adhesive that binds strongly to glass and different plastics.”

In the end, additional improvement ought to broaden the appliance prospects. Furthermore, Eisenreich sees loads of potential in closed-loop recycling expertise with gentle. “I additionally work on 3D printing recyclable polymers utilizing gentle, which is a really fascinating course of. You begin with a liquid materials that takes on a stable type as quickly as gentle falls on it. You should utilize this course of to print advanced 3D objects.”

His aim is to at some point notice photochemical recycling of conventional plastics with solely daylight. “Then you definitely don’t want another vitality supply, how cool would that be?” Eisenreich’s chemical breakthrough is subsequently not solely shining new gentle on plastic recycling, but in addition on his whole discipline. “This isn’t only a new materials. It’s a brand new method ahead.”

Extra info: Ahsen Sare Yalin et al, A Mild‐Pushed Closed‐Loop Chemical Recycling System for Polypinacols, Superior Supplies (2025). DOI: 10.1002/adma.202506733